This is a template file that you can extend to create your own NPM package!
Clone this repository on any folder
cd ~/my-folder/some-folder
git clone git@github.com:penseapp/npm-package-template.git
Open the package.json
file and edit these props:
Prop name | Description | Example |
---|---|---|
name | The same package name registered on NPM | @penseapp/my-package-name |
version | The first version of package (It will increment automatically later | 1.0.0 |
description | It'll appear on NPM/Github | This package to A,B,C |
Open the README.MD
and update your package instructions
Create an account or login on NPM
Go to the packages
section. (Here you need to choose to create on a personal account or organization)
For example:
https://www.npmjs.com/settings/penseapp/packages
Follow the tutorial: https://jamescalmus.medium.com/how-to-publish-a-scoped-npm-package-for-your-organization-767af1c99b9f
The package uses https://github.com/mikeal/merge-release to deploy to NPM
We need to configure the NPM_AUTH_TOKEN
on github secrets because the .github/workflows/deploy.yml
has the call of the token
Generate a new token: https://docs.npmjs.com/creating-and-viewing-access-tokens
Copy and add to your github secrets with the NPM_TOKEN
key
Create a new repository on github
Create a manual tag and release (Only the first time) on the same version of the packge.json and publish the release
On this example, the version is 1.0.0
Delete this "default GIT" folder
rm -rf .git
and add the files to your repo
git add .
git commit -m 'chore: first version'
git branch -M master
git remote add origin git@github.com:penseapp/npm-package-template.git
git push -u origin master
If everything is ok, the github should start the pipeline deploy
TODO:
-[] Replace the @penseapp/npm-package-template
to your package name
yarn add @penseapp/npm-package-template
or
npm i @penseapp/npm-package-template
This package uses the workflows/pipelines on the .github
folder to trigger
github actions pipelines to automatize deploy on NPM and chore things.
- Deploy automatically on NPM
- Bump
package.json
version automatically - Bump
github version
automatically - Bump
npm version
automatically - Label the PR's automatically.
-[] Enforce the commitlint
This package has a custom integration to Discord server. If you want to receive notifications on your preferred channel, follow the steps bellow.
If not, delete or comment the Discord notification
pipelines on .github/workflows/deploy.yml
github action file.
Open Discord -> select the channel -> Click on configuration -> Integrations -> View webhooks -> New webhook
Create a new webhook called Discord notification
and add on Github secrets with a name of DISCORD_CHANNEL_WEBHOOK
, like the GIF bellow:
Now, you will receive the notifications on the desired discord channel.