Closes #27451 --------- Co-authored-by: Leosvel Pérez Espinosa <leosvel.perez.espinosa@gmail.com> Co-authored-by: Jack Hsu <jack.hsu@gmail.com>
74 lines
2.3 KiB
TypeScript
74 lines
2.3 KiB
TypeScript
import typescript from './configs/typescript';
|
|
import javascript from './configs/javascript';
|
|
import reactTmp from './configs/react-tmp';
|
|
import reactBase from './configs/react-base';
|
|
import reactJsx from './configs/react-jsx';
|
|
import reactTypescript from './configs/react-typescript';
|
|
import angularCode from './configs/angular';
|
|
import angularTemplate from './configs/angular-template';
|
|
|
|
import flatBase from './flat-configs/base';
|
|
|
|
import enforceModuleBoundaries, {
|
|
RULE_NAME as enforceModuleBoundariesRuleName,
|
|
} from './rules/enforce-module-boundaries';
|
|
|
|
import nxPluginChecksRule, {
|
|
RULE_NAME as nxPluginChecksRuleName,
|
|
} from './rules/nx-plugin-checks';
|
|
|
|
import dependencyChecks, {
|
|
RULE_NAME as dependencyChecksRuleName,
|
|
} from './rules/dependency-checks';
|
|
|
|
// Resolve any custom rules that might exist in the current workspace
|
|
import { workspaceRules } from './resolve-workspace-rules';
|
|
|
|
module.exports = {
|
|
configs: {
|
|
// eslintrc configs
|
|
typescript,
|
|
javascript,
|
|
react: reactTmp,
|
|
'react-base': reactBase,
|
|
'react-typescript': reactTypescript,
|
|
'react-jsx': reactJsx,
|
|
angular: angularCode,
|
|
'angular-template': angularTemplate,
|
|
|
|
// flat configs
|
|
// Note: Using getters here to avoid importing packages `angular-eslint` statically, which can lead to errors if not installed.
|
|
'flat/base': flatBase,
|
|
get ['flat/typescript']() {
|
|
return require('./flat-configs/typescript').default;
|
|
},
|
|
get ['flat/javascript']() {
|
|
return require('./flat-configs/javascript').default;
|
|
},
|
|
get ['flat/react']() {
|
|
return require('./flat-configs/react-tmp').default;
|
|
},
|
|
get ['flat/react-base']() {
|
|
return require('./flat-configs/react-base').default;
|
|
},
|
|
get ['flat/react-typescript']() {
|
|
return require('./flat-configs/react-typescript').default;
|
|
},
|
|
get ['flat/react-jsx']() {
|
|
return require('./flat-configs/react-jsx').default;
|
|
},
|
|
get ['flat/angular']() {
|
|
return require('./flat-configs/angular').default;
|
|
},
|
|
get ['flat/angular-template']() {
|
|
return require('./flat-configs/angular-template').default;
|
|
},
|
|
},
|
|
rules: {
|
|
[enforceModuleBoundariesRuleName]: enforceModuleBoundaries,
|
|
[nxPluginChecksRuleName]: nxPluginChecksRule,
|
|
[dependencyChecksRuleName]: dependencyChecks,
|
|
...workspaceRules,
|
|
},
|
|
};
|