monorepo 中的自定义 Eslint 规则

我有一个带有服务器和前端的 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


阿晨1998
浏览 320回答 2
2回答

慕桂英4014372

不是 eslint 内置的解决方案,但这可以通过以下 eslint 插件来完成;npmjs.com/eslint-plugin-rulesdir

墨色风雨

如果我错了,请纠正我,但这不是一种反模式吗?我认为您应该在每个包目录中都有配置。/ - package.json   /packages       /pkg-1         - .eslintrc.json       /pkg-2         - .eslintrc.json请参阅此处了解更多信息,这是一篇更广泛的帖子,但应该会给您一些指导。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript