Skip to content

kc-workspace/kcws

Repository files navigation

Kamontat's Workspace ecosystem TypeScript icon Node.js icon CSS icon HTML icon

This monorepo included libraries, tools, and helpers that will make my life easier.

Conventional commits Commitizen friendly

Todo list

  • Support Pnpm monorepo
  • Move @kc* to packages/@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

Known issues

  • 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

Get start

  • 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)

Command cheat sheet

## 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

Packages

@kcconfigs/*

Shared configuration for KC's projects (personal)

@kcexamples/*

Example project for testing and Proof of concept

@kcinternals/*

Internal packages specifically for @kc*/* packages

@kctools/*

Command-line tools for KC's projects (personal)

@kctypes/*

TypeScript type definition utilities helper

@kcws/*

Generic packages for full-stack development (including both Frontend and Backend).

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •