Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ericcornelissen/depreman
Manage npm deprecations
https://github.com/ericcornelissen/depreman
cli deprecations npm
Last synced: about 4 hours ago
JSON representation
Manage npm deprecations
- Host: GitHub
- URL: https://github.com/ericcornelissen/depreman
- Owner: ericcornelissen
- License: agpl-3.0
- Created: 2024-10-28T21:26:45.000Z (19 days ago)
- Default Branch: main
- Last Pushed: 2024-11-16T17:46:58.000Z (about 9 hours ago)
- Last Synced: 2024-11-16T18:27:36.768Z (about 8 hours ago)
- Topics: cli, deprecations, npm
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/depreman
- Size: 120 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# npm Deprecation Manager
A manager for npm deprecations.
Turn:
```shell
$ npm clean-install
npm warn deprecated [email protected]: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated @humanwhocodes/[email protected]: Use @eslint/config-array instead
npm warn deprecated [email protected]: Rimraf versions prior to v4 are no longer supported
npm warn deprecated @humanwhocodes/[email protected]: Use @eslint/config-array instead
npm warn deprecated [email protected]: Glob versions prior to v9 are no longer supported
npm warn deprecated [email protected]: Glob versions prior to v9 are no longer supported
npm warn deprecated [email protected]: Glob versions prior to v9 are no longer supported
npm warn deprecated @humanwhocodes/[email protected]: Use @eslint/object-schema instead
npm warn deprecated @humanwhocodes/[email protected]: Use @eslint/object-schema instead
npm warn deprecated [email protected]: This version is no longer supported. Please see https://eslint.org/version-support for other options.
```Into:
```shell
$ depreman
[email protected] ("Glob versions prior to v9 are no longer supported"):
[email protected] > [email protected]
[email protected] > [email protected] > [email protected]
```## Usage
1. Install:
```shell
npm install depreman
```1. Create an `.ndmrc` file in the root of your project.
1. Run:
```shell
npx depreman
```1. Configure.
### Configuration
An `.ndmrc` file is just a JSON file with rules for deprecated dependencies to
ignore. The object hierarchy should reflect the dependency hierarchy with keys
representing `@` pairs ([semver] version ranges supported).The `*` wildcard can be used to match 0-or-more dependencies in a hierarchy and
the `+` wildcard can be used to match 1-or-more dependencies in a hierarchy.Use the `"#ignore"` directive when a deprecation for a given dependency should
be ignored and assign it a reason as a string (or a boolean if you prefer).
Optionally, use the `"#expire"` directive to set a date (`YYYY-MM-DD`) on which
the rule expires.For example:
```json
{
"ignore@v0": {
"#ignore": "ignore deprecations for ignore@v0 but not its (grand)children"
},"not-ignored@v1": {
"package-a@v2": {
"#ignore": "ignore deprecations for not-ignored@v1 > package-a@v2"
},
"package-b@v3": {
"#ignore": "and for package-b@v3 only until December 31, 2024",
"#expire": "2024-12-31"
}
},"ignore-it@v4": {
"*": {
"#ignore": "ignore deprecations in ignore-it@v4 and dependencies with '*'"
}
},
"also-not-ignored@v5": {
"+": {
"#ignore": "ignore deprecations *under* also-not-ignored@v5 with '+'"
}
},"*": {
"ignored@v6": {
"#ignore": "ignore deprecations in ignored@v6 anywhere in the tree"
}
},"no-reason@v7": {
"#ignore": true
}
}
```[semver]: https://www.npmjs.com/package/semver
## License
This software is available under the `AGPL-3.0-only` license, see [LICENSE] for
the full license text. Documentation is available under the `GFDL-1.3-or-later`
license, see [GNU Free Documentation License v1.3] for the full license text.[LICENSE]: ./LICENSE
[gnu free documentation license v1.3]: https://www.gnu.org/licenses/fdl-1.3.en.html