/ts-npm-template

๐Ÿ“ฆ A project template to bootstrap NPM package with Typescript

Primary LanguageTypeScriptMIT LicenseMIT

๐Ÿซก @akashrajpurohit/ts-npm-template

A project template to bootstrap NPM package with Typescript


Build states npm latest version npm bundle size Visitors count Coverage NPM license follow on twitter

Bug report ยท Feature request



@akashrajpurohit/ts-npm-template is a opinionated bootstrap template to create NPM packages.

Usage ๐Ÿ’ป

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.

Configurations โš™๏ธ

Release to NPM

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.

Code coverage badge

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

Technology Stack ๐Ÿš€

Bugs or Requests ๐Ÿ›

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.

Where to find me? ๐Ÿ‘€

Website Badge Twitter Badge Linkedin Badge Instagram Badge Telegram Badge