create-ts-starter
v5.1.0
Published
Production ready starter for typescript node project
Downloads
184
Maintainers
Readme
node typescript starter
Production ready starter for typescript-node projects
Quick Start
npx create-ts-starter PROJECT_NAME Vscode
Functionalities
- create ESM and CommonJS modules and publish to npm registry.
- configured to support top-level-await (look at Caveat section).
- scan for vulnerabilities via HCL AppScan CodeSweep in vscode IDE.
- auto tag the git commit at publish time.
- generate changelog.md file after each publishes.
- run tests with jest.
- load environment variables from .env file.
- load credentials from host operation system's credential manger.
- ready to run in a docker environment.
- write logs in .log file in the logs directory with customizable log rotation policy.
- generate API documentation in docs folder of the root project directory.
- compile the app to an executable single file.
- restart the process after modifying ts files.
- dies at unhandled errors (this is a very good strategy for production - docker will take care of restart the program after exit).
- type-def for process.env variables.
- recommends useful vscode extensions.
Notice:
- If you don't want to open the project folder in VSCode, You can ignore the 'VSCode' parameter.
- minimap is disabled by default.
- workbench sidebar is in right side of screen.
Commands
npm start
to start the development environmentnpm run compile
to compile to single executable filenpm run prod
to run in productionnpm run test
to run testsnpm run test:watch
to run tests in watch modenpm run format
to format with prettiernpm run lint
to lint with eslintnpm run gen-docs
to generate documentations websitenpm run docker:build
to create docker image with data from.env
file and version # frompackage.json
docker-compose up
to run in docker environment
Powered By (Credit):
- [x] typescript
- [x] fast-node-logger
- [x] jest
- [x] eslint
- [x] pkg
- [x] keytar
- [x] prettier
- [x] TypeDoc
- [x] auto-changelog
- [x] npm-run-all
- [x] nodemon
- [x] colors
- [x] Docker
- [x] wait-on
TODO:
- [ ] improve error handling best practices
- [ ] docker best practices
- [ ] add entry for other builds (e.g. esm, browser, ...)
- [ ] fix failures when git is not installed on the host system.
- [ ] add templates to based on type of project that user wants to create, generate different projects (esbuild for projects without decorators, tsc compiler, ...)
- [ ] add please wait... in initial of the process
Caveat
- top level await is not supported when compiling the single executable file.