A boilerplate project and structure for a Node.js with TypesScript and all the trimming such as EsLint, Jest, Cypress, Prettier, etc.
Get a clone of this project named correctly using Degit (or just git clone it)
npx degit jordan112/foot#main my-new-node-app
Install all the dependencies
yarn
Build and start the project
yarn start
Or if you want one big super command line that does it all
npx degit jordan112/foot#main my-new-node-app && cd $_ && yarn && yarn start
- Node.js
- TypeScript
- EsLint (with AirBnb defaults) - linting
- Yarn
- Yarn Workspaces (https://classic.yarnpkg.com/blog/2017/08/02/introducing-workspaces/)
- Jest - Unit Testing framework
- Cypress - Automated E2E testing
- TypeDoc.org - for auto documentating
- Prettier - consistent formatting
- Husky - hooks for pre-commiting code to ensure linting and unit tests pass
yarn
- install (and update minor versions) of all packagesyarn start
- Build and Start the projectyarn build
- build TypeScript projectyarn test
- run unit testsyarn test:watch
- run unit tests while developingyarn test:coverage
- run unit tests but also with code coverageyarn test:cypress
- open cypress automated testsyarn test:cypress:run
- run cypress automated tests (command line only)yarn lint
- run esLint to lint projectyarn lint:fix
- run esLint and fix any issuesyarn format:prettier
- run Prettier to format projectyarn format:prettier:fix
- run Prettier to format project and auto correctyarn docs
- generate docs using TypeDocyarn release
- Release a semantic version of the project
yarn upgrade