nano-nodegen
This package contains a yeoman generator for scaffolding node apps with typescript support.
Usage
npm i -g yo
npm i -g @nanogiants/generator-nano-nodegen
yo @nanogiants/nano-nodegen
These commands will prompt you with some questions from which your project gets bootstrapped.
Features
Filetree when selecting all options
├── .eslintrc.js
├── .gitignore
├── .prettierrc.js
├── LICENSE.md
├── CHANGELOG.md
├── README.md
├── docker-compose.yml
├── jest.config.js
├── nodemon.json
├── package-lock.json
├── package.json
├── scripts
│ └── report_sonarqube.sh
├── sonar-project.properties
├── src
│ ├── index.ts
│ └── lib
│ ├── hello.spec.ts
│ └── hello.ts
└── tsconfig.json
Eslint
Enables linting with predefined config.
See more at eslint.
Husky and Lint-Staged
If eslint gets selected you will also be asked if you want to install commit hooks with husky and lint your files while staging with lint-staged.
Prettier
Enables codeformatting with prettier.
Jest
Enables testing your code with jest.
To test your files run
npm run test
or
npm run test:cov # also creates coverage file to report to sonarqube
Sonarqube
If jest gets selected you will also be asked if you want to configure sonarqube. If yes
your project will setup a docker-compose.yml
file and a few scripts to get started.
To start sonarqube run
npm run sonarqube:start
To stop sonarqube run
npm run sonarqube:stop
To report your testcoverage just run
npm run sonarqube:report YOUR_KEY
or
sh ./scripts/report_sonarqube.sh -k YOUR_KEY
Changelog
If Changelog gets selected you can create a changelog with angular commit guidelines when you update your npm version.
Initially you need to call
npm run init-changelog
once, to create the initial changelog file.
It then gets updated everytime you update your version.
Contributing
To contribute please fork the repository, create a new branch to make changes on and create a pull request into the develop branch of this repository.
Remember to write tests (if needed) to get the features approved.
Feature Requests
For feature requests please use the issuetracker and specify your exact needs.
License
MIT
Changelog
CHANGELOG
Test Coverage
On Github Pages