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

时间:2017-10-25 21:04:19

标签: node.js npm warnings npm-install

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

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

  

感谢您使用Babel:我们建议您现在使用babel-preset-env:请阅读babeljs.io/env进行更新!

通过检查他们的代码,我看到他们在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是否有类似的条目可以完成这项工作?

2 个答案:

答案 0 :(得分:6)

您不一定能够这样做,或者不能使用"deprecated"

等给定字段

你可以做什么,这是一个解决方法,是添加安装后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!')
}

答案 1 :(得分:0)

请查看以下内容:

$ 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