This is a template for creating a TypeScript package.
- TypeScript
- Eslint
- Prettier
- Semantic Release to NPM and GitHub Releases with auto-generated changelog
- Testing with Vitest
- GitHub Actions for test, build and release on main branch
- Commit message hook for linting staged files
- Conventional Commits
- Code Coverage Report and PR Comments
- Create a new repo using this as template repo
- Clone the new repository
- Run ./scripts/setup-repo-name.sh to configure the package name in all files
- For private repos: set NPM_TOKEN in repository secrets (For public repos, it is already set via organization secrets)
- Run
pnpm install
to install the dependencies - Run
pnpm run build
to build the project - Run
pnpm run dev
to develop the project - Run
pnpm run test
to test the project - Checkout into a new branch (main is protected)
- Change code and commit it using conventional commit. Staged code will get checked
- Push and create a PR (against main or beta) to run CI
- Merge to main or beta to create a release or pre-release
This project is licensed under the MIT License. See the LICENSE file for details.