为了账号安全,请及时绑定邮箱和手机立即绑定

monorepo 中的自定义 Eslint 规则

monorepo 中的自定义 Eslint 规则

阿晨1998 2021-11-04 10:31:17
我有一个带有服务器和前端的 monorepo。我想将一组自定义 eslint 规则合并到我的 repo 的前端组件中。我找不到一种方法来告诉 eslint 在我的前端目录中的特定文件夹中有自定义规则。我不想创建一个新的外部存储库并发布它以导入规则。到目前为止,我认为做我想做的方法是在主存储库中创建一个子包(使用它自己的 package.json)。在我的根 package.json 我有 "eslint-plugin-atlas": "file:./src/main/javascript/build/eslint",在我的根 .eslintrc 我有 "plugin:atlas/recommended"在 package.json 中指定的目录中,在 index.js 中,我有以下代码;'use strict';module.exports = {    rules: {        'tsx-qualified-class-state-definition': {            meta: {                docs: {                    description: 'A test rule',                    category: 'Best Practices',                    recommended: true,                },            },            create: function(context) {                console.log(context, 'THIS HAS BEEN HIT');                return {};            },        },    },    configs: {        recommended: {            rules: {                'tsx-qualified-class-state-definition': 'error',            },        },    },};显然,上面的 lint 规则不会产生正确的 linting,但我希望看到控制台语句被输出。当我的 Intellij IDE 尝试读取配置时,我收到错误消息;当我运行 eslint 时出现错误 Definition for rule 'tsx-qualified-class-state-definition' was not found  tsx-qualified-class-state-definition
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

不是 eslint 内置的解决方案,但这可以通过以下 eslint 插件来完成;

npmjs.com/eslint-plugin-rulesdir


查看完整回答
反对 回复 2021-11-04
?
墨色风雨

TA贡献1853条经验 获得超6个赞

如果我错了,请纠正我,但这不是一种反模式吗?我认为您应该在每个包目录中都有配置。


/

 - package.json

   /packages

       /pkg-1

         - .eslintrc.json

       /pkg-2

         - .eslintrc.json

请参阅此处了解更多信息,这是一篇更广泛的帖子,但应该会给您一些指导。


查看完整回答
反对 回复 2021-11-04
  • 2 回答
  • 0 关注
  • 286 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信