NPM 安装添加自定义警告消息

NPM Install add custom warning message

当用户尝试安装给定版本的库时,我应该如何添加警告消息?

例如,当您安装 babel-preset-es2015 时,您会收到以下警告:

Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!

通过检查他们的代码,我看到他们在 package.json 中添加了一个 deprecated 条目,如下所示:

"deprecated": "  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update! ",

我可以很容易地补充这一点,但我实际上并没有贬低任何东西。我只是想警告用户他们正在安装 alpha 版本并且 API.

中可能会有变化

问题

是否有与 deprecated 类似的条目可以完成这项工作?

不一定有方法可以做到这一点,或者不能使用 "deprecated"

这样的给定字段

您可以做的是添加一个 post-install script,如果您将某个版本标记为 alpha,它会向控制台输出一个字符串,这有点变通。

// package.json
{
  "version": "1.2.3-alpha.2",
  "scripts": {
    "postinstall": "node postinstall.js"
  }
}

// postinstall.js
const package = require('./package.json')

if (package.version.includes('alpha')) {
  console.log('You are using an alpha version. Beware!')
}

请查看以下内容:

$ npm deprecate <pkg>[@<version>] <message>

示例:

$ npm deprecate some-lib@"< 1.0.0" " Thanks for using it. we recommend using new version, 1.x.x. Please check out https://example.com"

然后,

$ yarn
yarn install v1.16.0
info No lockfile found.
[1/4]   Resolving packages...
warning some-lib@0.1.5:  Thanks for using it. we recommend using new version, 1.x.x. Please check out https://example.com
[2/4]   Fetching packages...
[3/4]   Linking dependencies...
[4/4]   Building fresh packages...
success Saved lockfile.
✨  Done in 5.25s.
Time: 0h:00m:06s