- No Sprockets. Using webpacker for overall asset management.
- Both React client app and normal Rails MVC.
- Full npm support for sprinkles including
import
statement. - CSRF protection for API call.
- Add hash suffix to static asset filenames for production(cache-buster).
- Apply bootstrap CSS both server and client side.
- TypeScript support for sprinkles and client app.
- Flux for client architecture using React Redux with static type checking.
- Using CSS Modules for client compoents styling.
- Faster UI development using Storybook.
- Simple API and comprehensive message for assertion by power-assert.
- Component testing written by TypeScript using mocha and enzyme.
- Automatic code formatting using pretteir
- Static code analysis using TSLint
- Code size analysis using webpack-bundle-analyzer.
- Using lodash and just actually imported functions are bundled by webpack's tree-shaking.
- Using Babel to transpile esnext.
- Hot Module Replacement for development.
- Server side rendering
- Client side routing
yarn install
bundle install
bin/rails db:setup
bin/rails db:migrate
foreman start
Then open http://localhost:3000/
Run webpacker to build.
RAILS_ENV=production bin/rails webpacker:compile
Then compiled assets will be generated to public/packs/
.
Copy these files to public directory and run server.
yarn test
yarn storybook
yarn prettier
yarn lint
public/packs/report.html
is generated after build finished.