The perfect typescript monorepo.
- TypeScript project references
- incremental builds for faster rebuilds during development
- tsc-watch
- pnpm
- ttypescript
- typescript-eslint
- automatic build of dependencies defined as TS project references when running dev, etc
- automatic import suggestions in vscode for symbols within the current project or a referenced one (does not require building dependencies for intellisense to reflect current changes!)
- base tsconfig.json, jest.config.js, .eslintrc.js, .prettierrc
- non-relative paths for all imports
- path alias replacement during compilation based on configured tsconfig paths using ttypescript, and typescript-transform-paths
- Integration tests per SUT (system under test) each with its own docker-compose definition for dependencies (external or internal)
- Includes CI/CD pipelines for Github Actions (currently deploying to Heroku)
- Docker images built using multi-stage
- Docker images built for integration tests are also used for production
- clone the repo
- install pnpm globally
- run
pnpm installin the workspace root - run any of the scripts defined in the root package.json (dev, lint, etc)
You can review all the needed changes from the initial to final commit here.