@nx/eslint-plugin 23.0.0-beta.10 → 23.0.0-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/eslint-plugin",
3
- "version": "23.0.0-beta.10",
3
+ "version": "23.0.0-beta.12",
4
4
  "private": false,
5
5
  "description": "The eslint-plugin package is an ESLint plugin that contains a collection of recommended ESLint rule configurations which you can extend from in your own ESLint configs, as well as an Nx-specific lint rule called enforce-module-boundaries.",
6
6
  "repository": {
@@ -35,8 +35,8 @@
35
35
  }
36
36
  },
37
37
  "dependencies": {
38
- "@nx/devkit": "23.0.0-beta.10",
39
- "@nx/js": "23.0.0-beta.10",
38
+ "@nx/devkit": "23.0.0-beta.12",
39
+ "@nx/js": "23.0.0-beta.12",
40
40
  "@phenomnomnominal/tsquery": "~6.2.0",
41
41
  "@typescript-eslint/type-utils": "^8.0.0",
42
42
  "@typescript-eslint/utils": "^8.0.0",
@@ -48,7 +48,7 @@
48
48
  "tslib": "^2.3.0"
49
49
  },
50
50
  "devDependencies": {
51
- "nx": "23.0.0-beta.10"
51
+ "nx": "23.0.0-beta.12"
52
52
  },
53
53
  "publishConfig": {
54
54
  "access": "public"
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-checks.d.ts","sourceRoot":"","sources":["../../../../../packages/eslint-plugin/src/rules/dependency-checks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAmBvD,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,yBAAyB,CAAC,EAAE,OAAO,CAAC;QACpC,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,6BAA6B,CAAC,EAAE,OAAO,CAAC;QACxC,qCAAqC,CAAC,EAAE,OAAO,CAAC;QAChD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,uBAAuB,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;KACrD;CACF,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB,mBAAmB,GACnB,oBAAoB,GACpB,iBAAiB,GACjB,0BAA0B,GAC1B,yBAAyB,CAAC;AAE9B,eAAO,MAAM,SAAS,sBAAsB,CAAC;;;;AAE7C,wBAkgBG"}
1
+ {"version":3,"file":"dependency-checks.d.ts","sourceRoot":"","sources":["../../../../../packages/eslint-plugin/src/rules/dependency-checks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAmBvD,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,yBAAyB,CAAC,EAAE,OAAO,CAAC;QACpC,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,6BAA6B,CAAC,EAAE,OAAO,CAAC;QACxC,qCAAqC,CAAC,EAAE,OAAO,CAAC;QAChD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,uBAAuB,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;KACrD;CACF,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB,mBAAmB,GACnB,oBAAoB,GACpB,iBAAiB,GACjB,0BAA0B,GAC1B,yBAAyB,CAAC;AAE9B,eAAO,MAAM,SAAS,sBAAsB,CAAC;;;;AAE7C,wBAghBG"}
@@ -97,6 +97,17 @@ exports.default = utils_1.ESLintUtils.RuleCreator(() => `https://github.com/nrwl
97
97
  runtimeHelpers,
98
98
  });
99
99
  const expectedDependencyNames = Object.keys(npmDependencies);
100
+ // Packages eligible for `workspace:*` rewrites under
101
+ // `peerDepsVersionStrategy: 'workspace'`. Must be both a workspace project
102
+ // and registered in the package manager's workspaces — otherwise
103
+ // `workspace:*` won't resolve at install time.
104
+ const workspacePackageNames = new Set();
105
+ for (const node of Object.values(projectGraph.nodes)) {
106
+ const js = node.data?.metadata?.js;
107
+ if (js?.packageName && js.isInPackageManagerWorkspaces) {
108
+ workspacePackageNames.add(js.packageName);
109
+ }
110
+ }
100
111
  const packageJson = JSON.parse(context.sourceCode.getText());
101
112
  const projPackageJsonDeps = (0, package_json_utils_1.getProductionDependencies)(packageJson);
102
113
  const rootPackageJsonDeps = (0, package_json_utils_1.getAllDependencies)(rootPackageJson);
@@ -189,7 +200,8 @@ exports.default = utils_1.ESLintUtils.RuleCreator(() => `https://github.com/nrwl
189
200
  fix(fixer) {
190
201
  missingDeps.forEach((d) => {
191
202
  if (dependencySection === 'peerDependencies' &&
192
- peerDepsVersionStrategy === 'workspace') {
203
+ peerDepsVersionStrategy === 'workspace' &&
204
+ workspacePackageNames.has(d)) {
193
205
  projPackageJsonDeps[d] = WORKSPACE_VERSION_WILDCARD;
194
206
  }
195
207
  else {
@@ -237,7 +249,8 @@ exports.default = utils_1.ESLintUtils.RuleCreator(() => `https://github.com/nrwl
237
249
  const dependencySection = getDependencySection(node);
238
250
  if (dependencySection === 'peerDependencies' &&
239
251
  peerDepsVersionStrategy === 'workspace' &&
240
- !packageRange.startsWith('workspace:')) {
252
+ !packageRange.startsWith('workspace:') &&
253
+ workspacePackageNames.has(packageName)) {
241
254
  context.report({
242
255
  node: node,
243
256
  messageId: 'versionMismatch',