This monorepo included libraries, tools, and helpers that will make my life easier.
- Support Pnpm monorepo
- Move
@kc*topackages/@kc*to simplify number of directories - Support run dts test using vitest
- Support test junit output (reports/test-results)
- Support test coverage output (reports/coverage)
- Support TypeDocs
- Support Biome
- Support commitlint && commitizen
- Support Git hooks via lefthook
- Support Superlinter and configured linters
- Support Megalinter and configured linters
- Support SonarQube Cloud
- Support new package generator
- Automatically update dependencies via dependabot
- Automatically merge PRs via mergify
- Automatically increase version using release-please
- Set GitHub release to immutable
- tsconfig.json typeRoots didn't works when extends with package name
- Workaround: using relative path (e.g. ./node_modules/xx/yy/zz.json)
- typedoc didn't works with @kcconfigs/tsdown; when dts resolve is true, no custom function is export; when it's false, only custom function is exported
- release-please repository status (googleapis/release-please#2545)
- right now you cannot convert prerelease to stable version easily (googleapis/release-please#2515)
- Workaround 1: use release-as commit to force which version to deploy
- Workaround 2: use multiple config (release-please-example)
- Workaround 3: manually update manifest.json file to previous version
- Clone or Fork repository from GitHub:
git clone [email protected]/kc-workspace/kcws - Install Node.js using mise (or manual install based on mise.toml version)
- Install Pnpm:
corepack enable - Install dependencies:
pnpm install - Build package:
pnpm build:all(required for some internal commands)
## Build all packages
pnpm build:all
## Test all packages
pnpm test:all
## Fix lint and format on all packages
pnpm fix:all
## Generate document html at ./docs folder
pnpm docs:all
## Clean built folders
pnpm clean
Shared configuration for KC's projects (personal)
Example project for testing and Proof of concept
Internal packages specifically for @kc*/* packages
Command-line tools for KC's projects (personal)
TypeScript type definition utilities helper
Generic packages for full-stack development (including both Frontend and Backend).