semantic-release-npm-deprecate
Version:
Semantic Release NPM Deprecate Plugin
68 lines (50 loc) • 2.68 kB
Markdown
# Semantic Release NPM Deprecate Plugin
[](https://www.npmjs.com/package/semantic-release-npm-deprecate)


[](https://codecov.io/gh/jpoehnelt/semantic-release-npm-deprecate)

[](https://github.com/semantic-release/semantic-release)
The `semantic-release-npm-deprecate` plugin provides functionality to mark NPM releases as deprecated.
Read more about [Semantic Release](https://semantic-release.gitbook.io/).
## Install
```bash
$ npm install -D semantic-release-npm-deprecate
```
## Basic Usage
The following example will mark all previous major versions as deprecated. That is, if the next release is `2.3.4`, all versions `< 2` will be marked as deprecated.
```json
{
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/npm",
[
"semantic-release-npm-deprecate",
{
"deprecations": [
{
"version": "< ${nextRelease.version.split('.')[0]}",
"message": "Please use ^${nextRelease.version.split('.')[0]}.0.0."
}
]
}
]
]
}
```
This plugin runs in the `publish` lifecycle.
## Configuration Options
- `deprecations`: An array containing objects with the following properties:
- `version`: A version range that will be deprecated.
- `message`: A message that will be added to the release notes.
This plugin will also check for configuration in the `package.json` file under the `deprecations` field. This is experimental and the field name may change in the future.
### NPM
Configuration for NPM registry, token, etc matches that of [@semantic-release/npm](https://www.npmjs.com/package/@semantic-release/npm).
### Templates
The `version` and `message` fields support Lodash templates and are passed the [Context](https://semantic-release.gitbook.io/semantic-release/developer-guide/plugin#context) object. The following example uses the `nextRelease` object to get the next release version and split off the major version.
```js
{
version: "< ${nextRelease.version.split('.')[0]}";
}
```
See https://semver.npmjs.com/ for all supported version ranges.