Typescript starter kit for monorepo
This project uses
- ESM - EcmaScript Modules
- pnpm - Performant NPM
- ESLint - TypeScript ESLint
- Prettier - Code formatter
- Jest - Testing Framework
Pkg is used for creating executables for Linux, macOS, Windows of the above generated code.
esm
as module typepnpm
as package manager and workspace features for monorepoeslint
with strict typescript rules andstandard
code style for lintingprettier
for code formattingjest
for writing test cases.nvmrc
file for setting node version for project
apps/ -> End facing applications
packages/ -> Libraires to be used by apps
scripts/ -> Scripts that may help in CI/CD and for dev purposes
... -> other config files
apps
directory has user facing applications. Each app has it's dist
directory where js compiled code relies.
packages
directory has libraries which can be used in apps
directory app without copy pasting code.
This monorepo contains has 3 apps as example. dist/
as output dir is common for all apps. src/
is where TS code exists.
api/
- It's hello world api usingkoa.js
cli/
- It's hello world cli using plain TS. It also has executable generation support thanks to Vercel'spkg
package. Executables are generated inbin/
directory.web/
- It's hello worldnext.js
app with linting support.
This monorepo contains 1 library as example. dist
as output dir common for all libraries. lib/
is where TS code exists.
core/
- It contains agreet
function which imported byapi
,cli
,web
apps for making hello world possible.
- If you found this repo useful then please ⭐ this repo
- If you found any error then please file an issue
- PRs are welcome.
Thank you :)