Skip to content

Latest commit

 

History

History
113 lines (89 loc) · 5.11 KB

README.md

File metadata and controls

113 lines (89 loc) · 5.11 KB

Universal-Express-Apollo

Build Status Build status codecov Known Vulnerabilities Open Source Love Codacy Badge Dependency Status

Open Source Love svg3 Github all releases Maintenance made-with-Markdown PRs Welcome

Install

git clone https://github.com/React-Boilerplates/Universal-Express-Apollo.git
npm install

Development

npm start

Production

npm run build
npm run start:prod

WHAT?!?! a Boilerplate, isn't that like totally 2015

I was trying to use other cli/generators and was coming up against some blockers... many of them try to extract away too much. Next.js makes it hard to create an initializer so that they have a better page building experience. As a result things like redux are VERY hacky to implement by using wrappers. Things like create-react-app are not SSR by default. Also getting styling implemented in these are a serious pain in the tuckus. I wanted to build an app that allows for production quality build with modern standards like graphql by default.

Technology

  • Server
  • Client
    • JWT
    • ServiceWorker
    • React
      • React-hot-loader
      • React-Helmet
      • React-Router
    • Redux
      • Redux-Form
    • Apollo-Client
    • Styled-Components
  • Testing
    • Casual
    • Jest
    • Enzyme
  • Pre-processors
    • Webpack
    • Babel
    • Styling
    • Linting
      • ESLint
      • StyleLint
    • Prettier
    • PostCSS
      • PreCSS
      • CSSNano
      • CSS-Next
    • Code-Splitting
      • Loadable-Components
  • Server-Side-Render
  • Production-Ready

Windows Issues

If you are running into something like the following

C:\projects\universal-express-apollo\node_modules\readdirp\readdirp.js:55
    var api          =  require('./stream-api')();

TypeError: require(...) is not a function
    at readdir (C:\projects\universal-express-apollo\node_modules\readdirp\readdirp.js:55:48)

This is because Chokidar does not seem to work well with Windows Machines. Possible Solutions when reading this GitHub issue Chokidar #312

  • Watch specific files instead of directories (I am not going to do this as I do not have a windows machine and testing this using Appveyor is taking ages)
  • Take this the Chokidar part of the code and trash it

Contributing

Take a look and contribute if you would like. The goal of this is to use modern standards.