fix(linter): produce type information for the eslint-plugin main entry point (#29855)
## Current Behavior The `@nx/eslint-plugin` main entry point is untyped. ## Expected Behavior The `@nx/eslint-plugin` main entry point should provide types. ## Related Issue(s) Fixes #28448 Fixes #29816
This commit is contained in:
parent
bc4ded002e
commit
1fbcd73cde
@ -24,50 +24,52 @@ import dependencyChecks, {
|
|||||||
// Resolve any custom rules that might exist in the current workspace
|
// Resolve any custom rules that might exist in the current workspace
|
||||||
import { workspaceRules } from './resolve-workspace-rules';
|
import { workspaceRules } from './resolve-workspace-rules';
|
||||||
|
|
||||||
module.exports = {
|
const configs = {
|
||||||
configs: {
|
// eslintrc configs
|
||||||
// eslintrc configs
|
typescript,
|
||||||
typescript,
|
javascript,
|
||||||
javascript,
|
react: reactTmp,
|
||||||
react: reactTmp,
|
'react-base': reactBase,
|
||||||
'react-base': reactBase,
|
'react-typescript': reactTypescript,
|
||||||
'react-typescript': reactTypescript,
|
'react-jsx': reactJsx,
|
||||||
'react-jsx': reactJsx,
|
angular: angularCode,
|
||||||
angular: angularCode,
|
'angular-template': angularTemplate,
|
||||||
'angular-template': angularTemplate,
|
|
||||||
|
|
||||||
// flat configs
|
// flat configs
|
||||||
// Note: Using getters here to avoid importing packages `angular-eslint` statically, which can lead to errors if not installed.
|
// Note: Using getters here to avoid importing packages `angular-eslint` statically, which can lead to errors if not installed.
|
||||||
'flat/base': flatBase,
|
'flat/base': flatBase,
|
||||||
get ['flat/typescript']() {
|
get ['flat/typescript'](): typeof import('./flat-configs/typescript').default {
|
||||||
return require('./flat-configs/typescript').default;
|
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: {
|
get ['flat/javascript'](): typeof import('./flat-configs/javascript').default {
|
||||||
[enforceModuleBoundariesRuleName]: enforceModuleBoundaries,
|
return require('./flat-configs/javascript').default;
|
||||||
[nxPluginChecksRuleName]: nxPluginChecksRule,
|
},
|
||||||
[dependencyChecksRuleName]: dependencyChecks,
|
get ['flat/react'](): typeof import('./flat-configs/react-tmp').default {
|
||||||
...workspaceRules,
|
return require('./flat-configs/react-tmp').default;
|
||||||
|
},
|
||||||
|
get ['flat/react-base'](): typeof import('./flat-configs/react-base').default {
|
||||||
|
return require('./flat-configs/react-base').default;
|
||||||
|
},
|
||||||
|
get ['flat/react-typescript'](): typeof import('./flat-configs/react-typescript').default {
|
||||||
|
return require('./flat-configs/react-typescript').default;
|
||||||
|
},
|
||||||
|
get ['flat/react-jsx'](): typeof import('./flat-configs/react-jsx').default {
|
||||||
|
return require('./flat-configs/react-jsx').default;
|
||||||
|
},
|
||||||
|
get ['flat/angular'](): typeof import('./flat-configs/angular').default {
|
||||||
|
return require('./flat-configs/angular').default;
|
||||||
|
},
|
||||||
|
get ['flat/angular-template'](): typeof import('./flat-configs/angular-template').default {
|
||||||
|
return require('./flat-configs/angular-template').default;
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const rules = {
|
||||||
|
[enforceModuleBoundariesRuleName]: enforceModuleBoundaries,
|
||||||
|
[nxPluginChecksRuleName]: nxPluginChecksRule,
|
||||||
|
[dependencyChecksRuleName]: dependencyChecks,
|
||||||
|
...workspaceRules,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default { configs, rules };
|
||||||
|
export { configs, rules };
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user