diff --git a/eslint.config.js b/eslint.config.js index cf20609ed..a655fc8f5 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -146,4 +146,21 @@ export default tseslint.config( '**/*.md', ], }, + { + files: ['packages/**/*.ts'], + rules: { + 'no-restricted-imports': [ + 'error', + { + paths: [ + { + name: '@nx/devkit', + importNames: ['logger'], + message: 'Please use logger from @code-pushup/utils instead.', + }, + ], + }, + ], + }, + }, ); diff --git a/nx.json b/nx.json index 4f25228cc..c5d23e1ca 100644 --- a/nx.json +++ b/nx.json @@ -28,9 +28,16 @@ { "env": "NX_VERBOSE_LOGGING" }, { "externalDependencies": ["vitest"] } ], - "lint-eslint-inputs": [{ "externalDependencies": ["eslint"] }], - "typecheck-typescript-inputs": [{ "externalDependencies": ["typescript"] }], + "lint-eslint-inputs": [ + "{workspaceRoot}/eslint.config.js", + { "externalDependencies": ["eslint"] } + ], + "typecheck-typescript-inputs": [ + "{workspaceRoot}/tsconfig.base.json", + { "externalDependencies": ["typescript"] } + ], "code-pushup-inputs": [ + "{workspaceRoot}/code-pushup.preset.ts", { "env": "NODE_OPTIONS" }, { "env": "TSX_TSCONFIG_PATH" } ], diff --git a/packages/nx-plugin/eslint.config.js b/packages/nx-plugin/eslint.config.js index e732748e6..f0ea93505 100644 --- a/packages/nx-plugin/eslint.config.js +++ b/packages/nx-plugin/eslint.config.js @@ -34,6 +34,8 @@ module.exports = tseslint.config( 'warn', { styles: { 'node:path': { namespace: true } } }, ], + // `import { logger } from '@nx/devkit' is OK here + 'no-restricted-imports': 'off', }, }, { diff --git a/packages/plugin-eslint/src/lib/nx/find-project-with-deps.ts b/packages/plugin-eslint/src/lib/nx/find-project-with-deps.ts index fa90f950c..478ad118d 100644 --- a/packages/plugin-eslint/src/lib/nx/find-project-with-deps.ts +++ b/packages/plugin-eslint/src/lib/nx/find-project-with-deps.ts @@ -1,5 +1,4 @@ -import { logger } from '@nx/devkit'; -import { pluralizeToken } from '@code-pushup/utils'; +import { logger, pluralizeToken } from '@code-pushup/utils'; import type { ESLintTarget } from '../config.js'; import { formatMetaLog } from '../meta/format.js'; import { nxProjectsToConfig } from './projects-to-config.js';