My Yeoman generator to create project scaffolding for JS Web application build with React, Redux, Redux-Saga, Flow, Ramda, Jest.
It includes configure JS linting, formatting, deploy using gh-pages, etc.
(Recommended) Without globally installed packages
npx -p yo -p generator-ivan-js -c "yo ivan-js"
With globally installed packages
npm install -g yo
npm install -g generator-ivh-react-component
yo ivan-js
Implement Conventional Commits via commitlint
, to adhere to commit convention, and auto run on every commit.
Check out the config in .commitlintrc.json
.
Integrated ESLint as the JS linter. And added the following plugins: 'eslint-config-prettier',
eslint-plugin-flowtype
eslint-plugin-import
eslint-plugin-jest
eslint-plugin-prettier
eslint-plugin-ramda
eslint-plugin-react-redux
eslint-plugin-react
eslint-plugin-redux-saga
Check out the config in .eslintrc.yml
.
Support deploy static to GitHub project page via gh-pages.
To deploy
yarn deploy
Note that default settings:
- static are built with
yarn build
- build files are located in
{projectRoot}/build
Please config the pre-deploy
hook and deploy
command if that's not your case.
yarn bump-version
Implemented via standard-version
, which commit messages are required to align with Conventional Commits.
Implemented via import-sort
, and configured to the import-sort-style-module
.
Automatically run on commit hook.