Skip to content

eclass/semantic-release-npm-github-config

Repository files navigation

@eclass/semantic-release-npm-github-config

npm version npm downloads Node.js CI Maintainability Libraries.io dependency status for latest release

Semantic-release shareable config for NPM with GitHub.

Usage

Local installation

npm i -D semantic-release @eclass/semantic-release-npm-github-config @semantic-release/{changelog,git}

In package.json:

{
  "release": {
    "extends": "@eclass/semantic-release-npm-github-config"
  }
}

Global installation

$ npm i -g semantic-release @eclass/semantic-release-npm-github-config @semantic-release/{changelog,git}
$ semantic-release -e @eclass/semantic-release-npm-github-config

Configuration

GitHub authentication

The GitHub authentication configuration is required and can be set via environment variables.

See GitHub authentication.

Npm registry authentication

The npm authentication configuration is required and can be set via environment variables.

See Npm registry authentication

Environment variables

Variable Description
GH_TOKEN or GITHUB_TOKEN Required. The token used to authenticate with GitLab repository.
NPM_TOKEN Required. Npm token created via npm token create

Additional options

This shareable config uses the @semantic-release/changelog, @semantic-release/git, @semantic-release/github and @semantic-release/npm plugins. See the documentation of each plugins for additional options. Options can be set in the Semantic-release configuration.

For example to set a custom GitHub URL:

{
  "release": {
    "extends": "@eclass/semantic-release-npm-github-config",
    "githubUrl": "https://custom.github.com"
  }
}

License

MIT