A backend boilerplate for MongoDB ExpressJs Typscript NodeJs App
We are actively maintaining this boilerplate, please report any issues or suggestion for improvement at https://github.com/mistaguy/ment/issues
Prerequisite: Install git, node package manager, webpack CLI, grunt CLI
To contribute, fork and clone.
> git clone https://github.com/mistaguy/ment.git
The code is in typescript. Use a typescript IDE of your choice, like Visual Studio Code or WebStorm.
To set up the development environment, run:
> npm install
To automatically compile, bundle and push code changes to the running test project, run:
> npm start
To run the project unit tests with code coverage, results can be found at dist/testresults/coverage/index.html
, run:
> npm run test:unit
Run the unit test continuously during development:
> npm run test:dev
Run the end to end test during development:
> npm run test:e2e:dev
While developing, you will probably rely mostly on npm start
; however, there are additional scripts at your disposal:
npm run <script> |
Description |
---|---|
start |
Build the project and monitor source and config for changes and rebuild. Start the dev server |
watch |
Build the project and monitor source and config for changes and rebuild. |
prod:server:start |
starts the application in production as daemon and restart it in case of crashes |
prod:server:stop |
stop an instance of the application running |
emit |
Output javascript code |
test |
Runs lint, build, unit tests with mocha and generates a coverage report |
test:dev |
Runs mocha and watches for changes to re-run tests; does not generate coverage reports. |
test:unit |
Runs unit tests with mocha and generates a coverage report. |
build:prod |
Build app optimized for production |
build:dev |
Build app optimized for debugging. |
lint |
Lint all .js files. |
lint:fix |
Lint and fix all .ts files. |