@akashrajpurohit/ts-npm-template
is a opinionated bootstrap template to create NPM packages.
Click on the "Use this template" button from the options to create a new repository using this template.
That is pretty much it, follow the steps for creating a new repository and its done ๐
Refer to Sample README file to setup docs and instructions for your package.
Few configurations are required for making the publishing and releasing to NPM automated.
First thing is to generate a NPM token. Automation tokens are recommended since they can be used for an automated workflow, even when your account is configured to use the auth-and-writes level of 2FA.
Save this token as NPM_TOKEN
.
If you want to generate a code coverage badge for your package, you need to follow the steps and configure the gist mentioned by dynamic-badges-action.
Once you have followed the steps above and created a gist, uncomment these lines in the workflow file
- name: Get Coverage for badge ๐ข
run: |
COVERAGE="$(cat coverage/coverage-summary.json | jq -r '.total.lines.pct')"
echo "COVERAGE=$(echo ${COVERAGE})" >> $GITHUB_ENV
- name: Create coverage badge โ๐ฝ
uses: schneegans/dynamic-badges-action@v1.6.0
with:
auth: ${{ secrets.GIST_SECRET }}
gistID: 275fdb9d0c3b23cafa916535c807ce6a
filename: ts-npm-template-coverage.json
label: Code Coverage
message: ${{ env.COVERAGE }}
color: green
namedLogo: vitest
- ๐๐พ Typescript with tsup build tool.
- โก๏ธ Vitest - Unit Test Framework
- ๐ฆ Semantic Release - Fully automated version management and package publishing.
- ๐ Github Actions - CI pipelines
- ๐ช PNPM - Package manager
If you encounter any problems feel free to open an issue. If you feel the project is missing a feature, please raise a ticket on GitHub and I'll look into it. Pull requests are also welcome.