当用户尝试安装某个版本的库时,我该如何添加警告消息?
例如,当您安装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
是否有类似的条目可以完成这项工作?
答案 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