Modern Project
- Version control
- Automated CI / CD
- Code quality
- Tooling
- Module support
- Documented API
- Demos
Build Process
The automated sequence of tasks which runs on each push, tag, and/or release
Stages
- Install
- Lint
- Test
- build
- Push
- Deploy
Jobs
- Install
- clean install -
npm ci
- security audit -
npm audit
- clean install -
- Lint
- linter -
eslint
/stylelint
- formatter
prettier
- linter -
- Test
- test suite -
jest
/mocha
/ava
- code coverage -
nyc
/codecov
/coveralls
- test suite -
- Build
- transpile -
babel
/typescript
/flow
- pre-process (compile, auto-prefix, etc.) -
sass
/less
/postcss
- uglify (minify, mingle, optimize, etc.) -
uglify-js
/terser
- bundle (
concat
,tree-shake
, etc.) -webpack
/rollup
/parcel
- compress (gzip, etc.)
- other
- copy / delete / move files
- check bundle size
- strip unused code (ts/flow/proptypes)
- transpile -
- Push
- release -
GitHub
/bitbucket
/Gitlab
- publish -
npm
/other registries
- release -
- Deploy
- host -
heroku
/surge
/github-pages
/ etc.
- host -
- Documentation
Task execution
- CLI (
npm
) or - task runner
-
grunt
,gulp
,brunch
-
Top comments (2)
Nice article!
Perhaps you can elaborate a bit more per step in a future article, like in depth per fase?
yes. I will definitely try to do this. Thanks, Chris 🙂