esbuild-quickstart
Quickstart for esbuild library projects. Depends on yarn
.
- 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.
-
yarn d
watch and build -
yarn t:watch
watch and test yarn lint
yarn build
Build targets are set in esbuild.js
.
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
scope
key in./github/workflows/publish.yml
to your GitHub (organisation) name -
Configure GitHub Pages
https://github.com/gyng/esbuild-quickstart/settings/pages
- Source:
gh-pages
branch - Directory:
/ (root)
- Source:
Run
-
Bump your version number in
package.json
before this. Publishing will fail if the version already exists. -
Create a new release.
https://github.com/$YOUR_USERNAME/$YOUR_REPO_NAME/releases
The workflow at
./github/workflows/publish.yml
should run and publish your packages to both NPM and GitHub Packages.Also, API documentation will be published to your GitHub pages via the
gh-pages
branch. It will be viewable athttps://$YOUR_NAME.github.io/$YOUR_REPO/
.