@gyng/ts-library-quickstart v1.6.4
ts-library-quickstart
Quickstart for esbuild library projects.
- Typescript
- Testing with jest
- Linting with prettier, eslint
- CI and skeleton CD with GitHub Actions
- Dockerfiles for build and test
- Publish to NPM and GitHub Packages by creating releases
Usage
See scripts in package.json for more scripts.
npm run dwatch and buildnpm run t:watchwatch and testnpm run lintnpm run build
Build targets are set in esbuild.mjs.
Publish
Setup
Get an automation token from npm under settings
https://www.npmjs.com/settings/$YOUR_USERNAME/tokens/Add the token to your repository secrets.
https://github.com/$YOUR_USERNAME/$YOUR_REPO_NAME/settings/secrets/actions/new- Name:
NPM_TOKEN - Value: The automation token you got from the previous step
- Name:
Update the
scopekey in./github/workflows/publish.ymlto your GitHub (organisation) nameConfigure GitHub Pages
https://github.com/gyng/esbuild-quickstart/settings/pages- Source:
gh-pagesbranch - Directory:
/ (root)
- Source:
Run
Bump your version number in
package.jsonbefore this. Runnpm ito updatepackage-lock.json. Publishing will fail if the version already exists.Create a new release.
https://github.com/$YOUR_USERNAME/$YOUR_REPO_NAME/releasesThe workflow at
./github/workflows/publish.ymlshould run and publish your packages to both NPM and GitHub Packages.Also, API documentation will be published to your GitHub pages via the
gh-pagesbranch. It will be viewable athttps://$YOUR_NAME.github.io/$YOUR_REPO/.