我正在npm上发布可共享的eslint-config。我的配置扩展了eslint-config-airbnb
。我应该安装eslint-config-airbnb
作为devDependency吗?
当我npm i --save-dev eslint-config-myconfig
在另一个项目中时,eslint-config-myconfig
依赖项是否会捆绑在生产版本中?
//index.js
module.exports = {
"extends": "airbnb",
"rules": {... my overrides}
}
//package.json
...
"peerDependencies": {
"eslint": ">= 4"
},
"dependencies": {
"eslint-config-airbnb": "^17.1.0",
"eslint-plugin-import": "^2.14.0",
"eslint-plugin-jsx-a11y": "^6.1.2",
"eslint-plugin-react": "^7.11.1"
}
https://eslint.org/docs/developer-guide/shareable-configs#creating-a-shareable-config
答案 0 :(得分:0)
我只是想知道同一件事,而您提供的链接实际上解释了所有这些情况:
如果您的可共享配置依赖于插件,则还应将其指定为peerDependency(将相对于最终用户的项目加载插件,因此要求最终用户安装所需的插件)。但是,如果您的可共享配置依赖于第三方解析器或其他可共享配置,则可以将这些程序包指定为依赖项。
所以
在您的情况下,这三个插件必须移到对等依赖项中。