A starter template for a monorepo using NPM workspaces.
- Quick start: Efficient starting point for Web and Node.js projects
- Lightweight: Only native NPM workspaces, for speed and simplicity
- Multilingual support: Supports multiple programming languages in a single repository
- Modern syntax: Supports the latest language features
- Flexible output: Output in any format
- Automatic updates: Keeps your dependencies up to date. See recipes for more info
- Automated releases: Automatically handles GitHub releases, NPM publishing, and changelog updates. Check out recipes for details
- Live Playground: Includes a live environment for testing code
To start a new project with this template, use one of the following methods:
Click the "Use this template" button above or clone the repository. Then, install dependencies:
npm iClone the template and install dependencies:
npx degit "bent10/monorepo-starter" my-project
cd my-project
npm inpm run dev -w pkgName: Starts the dev server for a specific packagenpm run build: Builds the project and checks typesnpm test: Runs tests with Vitestnpm run coverage: Generates test coverage reportsnpm run types: Generates TypeScript declaration filesnpm run lint: Checks types and lints the projectnpm run format: Formats code using Prettier
Use these commands to manage your development workflow. Add -w or --workspace to target specific packages:
npm run build -w pkg1 -w pkg2 ...| Package | Description | Version |
|---|---|---|
| js-lib | JavaScript library | v0.0.0-development |
| theme | Bootstrap-powered theme | v0.0.0-development |
| vite-plugin | Vite plugin | v0.0.0-development |
To add a new package:
-
Run the following command with your desired template:
# For npm 6.x npm create vite@latest packages/new-package --template react # For npm 7+ npm create vite@latest packages/new-package -- --template react
Check available templates
-
Open
packages/new-package/package.jsonand remove dependencies already included indoogu(e.g.,vite,vitest,typescript,prettier,eslint).
Your new package is now ready for development with Vite features.
- Automated dependency updates โ Set up automated updates with Renovate
- Release automation โ Automate your project's release process
- module-starter โ A minimalist template for modern web development
- doogu โ A wrapper around modern JavaScript tools
We ๐ย issues.
When committing, please conform to the semantic-release commit standards. Please install commitizen and the adapter globally, if you have not already.
npm i -g commitizen cz-conventional-changelogNow you can use git cz or just cz instead of git commit when committing. You can also use git-cz, which is an alias for cz.
git add . && git czA project by Stilearning ยฉ 2021-2024.