From 2828605fc691a8604d5c38d1016964ea83c1de89 Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Mon, 20 Jan 2025 17:37:23 +0100 Subject: [PATCH 1/2] lint: setup nx dependency-checks rule --- .eslintrc.json | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/.eslintrc.json b/.eslintrc.json index 847c87ccd..ae1e63ef3 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -113,7 +113,26 @@ { "files": "*.json", "parser": "jsonc-eslint-parser", - "rules": {} + "rules": { + "@nx/dependency-checks": [ + "error", + { + "includeTransitiveDependencies": false, + "ignoredDependencies": [ + "@types/react", + "@types/react-dom", + "@swc/helpers" + ], + "ignoredFiles": [ + "{projectRoot}/playwright.config.ts", + "{projectRoot}/playwright/**", + "{projectRoot}/.storybook/**", + "{projectRoot}/stories/**", + "{projectRoot}/**/*.component-browser-spec.tsx" + ] + } + ] + } } ] } From ae7a91c647c298e80ce3af96b097b0903afb59c7 Mon Sep 17 00:00:00 2001 From: Martin Hochel Date: Mon, 20 Jan 2025 17:42:36 +0100 Subject: [PATCH 2/2] lint(nx-plugin): enable nx dependency-checks rule --- packages/nx-plugin/.eslintrc.json | 1 + packages/nx-plugin/package.json | 7 ++++++- packages/nx-plugin/project.json | 3 ++- packages/nx-plugin/src/utils.ts | 1 - 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/nx-plugin/.eslintrc.json b/packages/nx-plugin/.eslintrc.json index ac465d20b..feac97f80 100644 --- a/packages/nx-plugin/.eslintrc.json +++ b/packages/nx-plugin/.eslintrc.json @@ -8,6 +8,7 @@ "project": ["packages/nx-plugin/tsconfig.*?.json"] }, "rules": { + "import/no-extraneous-dependencies": "off", "@typescript-eslint/await-thenable": "error", "@typescript-eslint/no-misused-promises": "error", "@typescript-eslint/no-floating-promises": "error" diff --git a/packages/nx-plugin/package.json b/packages/nx-plugin/package.json index bfc159a84..5beeb2ad5 100644 --- a/packages/nx-plugin/package.json +++ b/packages/nx-plugin/package.json @@ -10,6 +10,11 @@ "semver": "^7.5.2", "@nx/storybook": "^19.3.2", "@nx/js": "^19.3.2", - "@nx/playwright": "^19.3.2" + "@nx/playwright": "^19.3.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@playwright/experimental-ct-react": "^1.49.1", + "nx": ">= 19 <= 21" } } diff --git a/packages/nx-plugin/project.json b/packages/nx-plugin/project.json index 714099692..fb985bd04 100644 --- a/packages/nx-plugin/project.json +++ b/packages/nx-plugin/project.json @@ -44,7 +44,8 @@ "packages/nx-plugin/**/*.ts", "packages/nx-plugin/package.json", "packages/nx-plugin/generators.json", - "packages/nx-plugin/executors.json" + "packages/nx-plugin/executors.json", + "packages/nx-plugin/package.json" ] } }, diff --git a/packages/nx-plugin/src/utils.ts b/packages/nx-plugin/src/utils.ts index 929861be1..f68c3fda9 100644 --- a/packages/nx-plugin/src/utils.ts +++ b/packages/nx-plugin/src/utils.ts @@ -35,5 +35,4 @@ export const npmScope = '@fluentui-contrib'; // nx @private API's re-exports for internal usage // ================================================= -// eslint-disable-next-line import/no-extraneous-dependencies export { type PackageJson } from 'nx/src/utils/package-json';