A template to create npm packages with TypeScript
MIT License
A template to publish a TypeScript package to npm.
Included tools:
package.json
to your own package name, description, etc. !important: change repository.url
and other repository links to your own repository urlyarn
(other package managers are not supported)src/
directorynpm run release
to build and publish your package to npmUse release
script to publish the package:
npm run release
– release a new patch version to npmnpm run release minor
– release a new minor version to npmnpm run release major
– release a new major version to npmnpm run release minor -- --stage alpha
– release a new minor alpha version to npm (for example, 1.1.0-alpha.0
)Note that release script will always publish public packages to npm. If you want to publish a private package, change release script in scripts/release.ts
.
Create npm authentication token and add it as NPM_TOKEN
to your repository secrets (Settings -> Secrets and variables -> Actions -> New repository secret).
Create .github/workflows/publish.yml
with the following content. Note that if your default branch is main, you should change it in the publish action.
on:
push:
branches: master
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
cache: 'yarn'
cache-dependency-path: '**/yarn.lock'
- run: yarn
- run: npm test
- uses: JS-DevTools/npm-publish@v3
with:
token: ${{ secrets.NPM_TOKEN }}
--no-publish
flag, for example: npm run release minor -- --no-publish
.MIT