76 lines
1.8 KiB
JavaScript
76 lines
1.8 KiB
JavaScript
import { baseConfig } from '../../eslint.config.mjs';
|
|
import * as jsoncEslintParser from 'jsonc-eslint-parser';
|
|
|
|
export default [
|
|
...baseConfig,
|
|
{
|
|
ignores: ['dist'],
|
|
},
|
|
{
|
|
files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'],
|
|
rules: {
|
|
'@typescript-eslint/explicit-module-boundary-types': 'error',
|
|
'@typescript-eslint/no-restricted-imports': [
|
|
'error',
|
|
{
|
|
paths: [
|
|
'@nx/workspace',
|
|
'@angular-devkit/core',
|
|
'@angular-devkit/architect',
|
|
'@angular-devkit/schematics',
|
|
],
|
|
patterns: [
|
|
{
|
|
group: [
|
|
'nx/bin/*',
|
|
'nx/src/*',
|
|
'nx/plugins/*',
|
|
'!nx/src/devkit-internals',
|
|
'!nx/src/devkit-exports',
|
|
],
|
|
allowTypeImports: true,
|
|
message:
|
|
'Only import from nx/src/devkit-internals or nx/src/devkit-exports',
|
|
},
|
|
{
|
|
group: ['@nx/devkit/**/*'],
|
|
message: 'Use a relative import',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
files: ['**/*.spec.ts'],
|
|
rules: {
|
|
'@typescript-eslint/no-restricted-imports': 'off',
|
|
},
|
|
},
|
|
{
|
|
files: ['./package.json'],
|
|
rules: {
|
|
'@nx/nx-plugin-checks': 'error',
|
|
'@nx/dependency-checks': [
|
|
'error',
|
|
{
|
|
buildTargets: ['build-base'],
|
|
ignoredDependencies: [
|
|
'nx',
|
|
'typescript',
|
|
'prettier',
|
|
'rxjs',
|
|
'@angular-devkit/core',
|
|
'@angular-devkit/architect',
|
|
'@angular-devkit/schematics',
|
|
'webpack',
|
|
],
|
|
},
|
|
],
|
|
},
|
|
languageOptions: {
|
|
parser: jsoncEslintParser,
|
|
},
|
|
},
|
|
];
|