Need help with npm-publish-action?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

pascalgn
184 Stars 29 Forks MIT License 38 Commits 6 Opened issues

Description

GitHub action to automatically publish packages to npm

Services available

!
?

Need anything else?

Contributors list

# 21,248
github-...
web-ser...
Go
SQL
34 commits
# 375,906
crdt
eventua...
npm
github-...
1 commit
# 528,763
JavaScr...
upm
Unity
github-...
1 commit
# 33,673
Markdow...
TypeScr...
tagsinp...
Svelte
1 commit
# 174,291
google-...
google-...
Google
Python
1 commit
# 13,990
C#
HTML
ddd-sam...
softwar...
1 commit

npm-publish-action

GitHub action to automatically publish packages to npm.

Usage

Create a new

.github/workflows/npm-publish.yml
file:
name: npm-publish
on:
  push:
    branches:
      - main # Change this to your default branch
jobs:
  npm-publish:
    name: npm-publish
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/[email protected]
    - name: Publish if version has been updated
      uses: pascalgn/[email protected]
      with: # All of theses inputs are optional
        tag_name: "v%s"
        tag_message: "v%s"
        create_tag: "true"
        commit_pattern: "^Release (\\S+)"
        workspace: "."
        publish_command: "yarn"
        publish_args: "--non-interactive"
      env: # More info about the environment variables in the README
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this as is, it's automatically generated
        NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} # You need to set this in your repo settings

Now, when someone changes the version in

package.json
to 1.2.3 and pushes a commit with the message
Release 1.2.3
, the
npm-publish
action will create a new tag
v1.2.3
and publish the package to the npm registry.

Inputs

These inputs are optional: that means that if you don't enter them, default values will be used and it'll work just fine.

  • tag_name
    : the name pattern of the new tag
  • tag_message
    : the message pattern of the new tag
  • create_tag
    : whether to create a git tag or not (defaults to
    "true"
    )
  • commit_pattern
    : pattern that the commit message needs to follow
  • workspace
    : custom workspace directory that contains the
    package.json
    file
  • publish_command
    : custom publish command (defaults to
    yarn
    )
  • publish_args
    : publish command arguments (for example
    --prod --verbose
    , defaults to empty)

Environment variables

  • GITHUB_TOKEN
    : this is a token that GitHub generates automatically, you only need to pass it to the action as in the example
  • NPM_AUTH_TOKEN
    : this is the token the action will use to authenticate to npm. You need to generate one in npm, then you can add it to your secrets (settings -> secrets) so that it can be passed to the action. DO NOT put the token directly in your workflow file.

Related projects

License

MIT

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.