Add .editorconfig file for vscode
Initialise node project
yarn init
app.ts file is entry point of the application
Linting is important as it ensures that code is standardized
Run the command to install linting dependencies
yarn add --dev typescript eslint prettier tslint @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier eslint-plugin-prettier
Create .eslintrc, .prettierrc .eslintignore tsconfig.json files
Add typings
Run
yarn add --dev @types/node @types/mongoose @types/agenda @types/express @types/jest @types/lodash
Add ts-jest jest for test environment
Run
yarn add --dev ts-jest jest
Add the following devtools
Run
yarn add --dev husky lint-staged ts-node
Add jest.config.js, .lintstagedrc, nodemon.json files
Make changes to package.json scripts and hooks
Add .env file
Add ecosystem.config.js file (Read more from PM2 documentation)
exports.apps = [
{
name: ?, // name of the process
script: './build/app.js',
instances: 'max',
exec_mode: 'cluster',
max_memory_restart: '4G',
node_args: '--max_old_space_size=4096',
},
];
To start
yarn serve
To stop
yarn stop
docker stop server && docker rm server
docker build -t server .
docker run -d --name server -p 8080:8080 server
docker logs -f server