Yet another TypeScript library starter with conventional goodies and automatic semantic releases.
Create your own repo using this one as a template, clone it, make necessary changes, install dependencies and you are set.
What's inside:
- TypeScript with tsup for bundling (CJS/ESM) and tsx (for executing
.ts
files). - Vitest: for testing and generating coverage report, by default it runs in watch mode (behaves properly in CI).
- ESLint: with TypeScript and Prettier plugins, extends only built-in recommended configs.
- Prettier: very basic config, feel free to adjust as you want.
- commitlint: for linting commits, by default it uses Angular preset.
- semantic-release: for generating
CHANGELOG.md
and handling the whole releasing process based on conventional commits. - husky + lint-staged: for fixing and formatting your code before committing.
- EditorConfig: handy little thing to make things a bit more consistent.
Also:
- .vscode: some handy settings for Visual Studio Code.
- .scripts/release: custom script to help semantic-release produce flat and tidy tarballs.
- .github/workflows: basic configs for:
- Testing and building on node@20;
- Releasing to npm with semantic-release.
You'll have to make some changes right after generating your own repository using this template.
- README.md: change as you want, you may want to check this site and this awesome-readme list for examples of good readmes.
- LICENSE: change as you want and don't forget to mention it in README.
- package.json: change
name
,description
,repository.url
,keywords
,author
,bugs.url
,homepage
. - .github/workflows: either remove these, replace with your own CI configuration or change as you need.
- semantic-release has recipes and instructions for popular CI services.
MIT by default, but you may want to consider using something else.