Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jpoehnelt/semantic-release-npm-deprecate
Mark NPM releases as deprecated with this semantic release plugin.
https://github.com/jpoehnelt/semantic-release-npm-deprecate
deprecate npm semantic-release semantic-release-plugin
Last synced: about 1 month ago
JSON representation
Mark NPM releases as deprecated with this semantic release plugin.
- Host: GitHub
- URL: https://github.com/jpoehnelt/semantic-release-npm-deprecate
- Owner: jpoehnelt
- License: apache-2.0
- Created: 2021-10-26T19:23:05.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-06T20:24:37.000Z (over 1 year ago)
- Last Synced: 2024-10-05T10:34:18.267Z (about 2 months ago)
- Topics: deprecate, npm, semantic-release, semantic-release-plugin
- Language: TypeScript
- Homepage:
- Size: 1.38 MB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Semantic Release NPM Deprecate Plugin
[![npm](https://img.shields.io/npm/v/semantic-release-npm-deprecate)](https://www.npmjs.com/package/semantic-release-npm-deprecate)
![Build](https://github.com/jpoehnelt/semantic-release-npm-deprecate/workflows/Build/badge.svg)
![Release](https://github.com/jpoehnelt/semantic-release-npm-deprecate/workflows/Release/badge.svg)
[![codecov](https://codecov.io/gh/jpoehnelt/semantic-release-npm-deprecate/branch/master/graph/badge.svg)](https://codecov.io/gh/jpoehnelt/semantic-release-npm-deprecate)
![GitHub contributors](https://img.shields.io/github/contributors/jpoehnelt/semantic-release-npm-deprecate?color=green)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](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.