index.js
1.05 KB
/**
* 本地 ESLint plugin:聚合架构红线规则(深导入 / 子域深导入 / 连接只在 root / 禁 app 互调 /
* 禁 eslint-disable 绕红线)。在 eslint.config.js 以 `plugins: { drama: dramaPlugin }` 装配,
* 规则名前缀 `drama/`。
*/
import { noDeepImport } from './no-deep-import.js'
import { noSubdomainDeepImport } from './no-subdomain-deep-import.js'
import { noConnOutsideRoot } from './no-conn-outside-root.js'
import { noAppImport } from './no-app-import.js'
import { noDramaRuleDisable } from './no-drama-rule-disable.js'
export {
noDeepImport,
noSubdomainDeepImport,
noConnOutsideRoot,
noAppImport,
noDramaRuleDisable,
}
/** @type {import('eslint').ESLint.Plugin} */
export const dramaPlugin = {
meta: { name: 'eslint-plugin-drama-arch', version: '0.0.0' },
rules: {
'no-deep-import': noDeepImport,
'no-subdomain-deep-import': noSubdomainDeepImport,
'no-conn-outside-root': noConnOutsideRoot,
'no-app-import': noAppImport,
'no-drama-rule-disable': noDramaRuleDisable,
},
}
export default dramaPlugin