This template is intended for OSS (NPM published) Typescript based projects and is centered around a few tools:
- yarn for dependency management and running other tools like
lerna
orchangeset
- lerna for running package level commands (like
build
orlint
) - changeset for managing changelog generation, release creation and auto publication to NPM
- codecov for code coverage reporting
- prettier for code formatting (it runs a prettier action that will fix any issue for you ✨)
- jest to test your code
- typescript as the name would have suggested
It's a template that I tend to use for my own projects like
- EAPI: a suite of middleware & utility to build scalable cloudflare workers backend/proxy
- GeocodeJSON: a suite of adapter & utility for geocoding API that maps to GeocodeJSON resutls
AKA: "Note to self"
- Get started by clicking Use this template
- Update the required files as described below
- Use
yarn
for dependencies as this template make use of Yarn Workspaces - Browse the scripts to understand how
lerna
changeset
andyarn
play together tobuild
test
andpublish
releases. - Setup integration with Changeset
- Setup integration with CodeCov
- Add the necessary
SECRETS
(NPM_TOKEN
&CODECOV_TOKEN
)
package.json
: change project name, author etc...LICENSE
: change the copyright holderCODE_OF_CONDUCT.md
: change the contact address in theEnforcement
paragraph.github/workflows/release.yml
: change the guard to your repository name.changeset/config.json
: change the repository name
- Investigate NPM 7.6 vs Yarn v2
- Investigate esbuild