@nx/js 23.3.0-pr.37036.f6e3fb2 → 23.3.0-pr.37224.268062c

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/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
  [![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)](<>)
13
13
  [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
14
14
  [![Join us on the Official Nx Discord Server](https://img.shields.io/discord/1143497901675401286?label=discord)](https://go.nx.dev/community)
15
- [![Nx Sandboxing](https://staging.nx.app/workspaces/62d013ea0852fe0a2df74438/sandbox-badge.svg)](https://nx.dev/docs/features/ci-features/sandboxing)
15
+ [![Hours saved](https://img.shields.io/endpoint?url=https%3A%2F%2Fstaging.nx.app%2Fnx-cloud%2Fbadge%2F62d013ea0852fe0a2df74438%2Fhours-saved.json)](https://nx.dev/nx-cloud)
16
16
 
17
17
  </div>
18
18
 
@@ -28,7 +28,7 @@ function processTasksAndPopulateTsConfigTaskInfoMap(tsConfigTaskInfoMap, tasksOp
28
28
  tsConfigTaskInfoMap[tsConfigPath] = taskInfo;
29
29
  taskTsConfigCache.add(taskName);
30
30
  }
31
- processTasksAndPopulateTsConfigTaskInfoMap(tsConfigTaskInfoMap, tasksOptions, context, context.taskGraph.dependencies[taskName], taskInMemoryTsConfigMap);
31
+ processTasksAndPopulateTsConfigTaskInfoMap(tsConfigTaskInfoMap, tasksOptions, context, context.taskGraph.dependencies[taskName].map((edge) => edge.id), taskInMemoryTsConfigMap);
32
32
  }
33
33
  }
34
34
  function createTaskInfo(taskName, taskOptions, context, tsConfig) {
@@ -48,7 +48,9 @@ function generateTaskProjectTsConfig(task, tasksOptions, context, taskInMemoryTs
48
48
  }
49
49
  function getDependencyTasksInOtherProjects(task, project, context) {
50
50
  const implicitDependencies = new Set(context.projectGraph.nodes[project].data.implicitDependencies ?? []);
51
- return context.taskGraph.dependencies[task].filter((t) => {
51
+ return context.taskGraph.dependencies[task]
52
+ .map((edge) => edge.id)
53
+ .filter((t) => {
52
54
  const { project: dependencyProject } = (0, devkit_1.parseTargetString)(t, context);
53
55
  // Tasks for implicit dependencies are skipped since incremental builds only apply to explicit dependencies
54
56
  return (t !== task &&
@@ -21,6 +21,7 @@ export default class JsVersionActions extends VersionActions {
21
21
  updateProjectVersion(tree: Tree, newVersion: string): Promise<string[]>;
22
22
  updateProjectDependencies(tree: Tree, projectGraph: ProjectGraph, dependenciesToUpdate: Record<string, string>, resolveVersionForDependency?: ResolveVersionForDependency): Promise<string[]>;
23
23
  private getLocalDependencyProjectLookup;
24
+ private shouldPreserveUnconfiguredPrivateDevDependency;
24
25
  private resolveLocalDependencySpecifier;
25
26
  private applyVersionPrefix;
26
27
  private updateManifestValues;
@@ -223,6 +223,9 @@ class JsVersionActions extends release_1.VersionActions {
223
223
  version = await this.resolveLocalDependencySpecifier(dependencyName, currentVersion, targetProject, resolveVersion);
224
224
  }
225
225
  catch (error) {
226
+ if (this.shouldPreserveUnconfiguredPrivateDevDependency(tree, json, depType, dependencyName, targetProject, error)) {
227
+ continue;
228
+ }
226
229
  const message = error instanceof Error ? error.message : String(error);
227
230
  throw new Error(`Unable to replace local dependency protocol "${currentVersion}" for "${dependencyName}" in manifest "${manifestToUpdate.manifestPath}". ${message}`);
228
231
  }
@@ -277,11 +280,36 @@ class JsVersionActions extends release_1.VersionActions {
277
280
  if (!packageName) {
278
281
  continue;
279
282
  }
280
- lookup.set(packageName, { projectName });
283
+ lookup.set(packageName, {
284
+ projectName,
285
+ projectRoot: node.data.root,
286
+ });
281
287
  }
282
288
  localDependencyProjectsByGraph.set(projectGraph, lookup);
283
289
  return lookup;
284
290
  }
291
+ shouldPreserveUnconfiguredPrivateDevDependency(tree, manifest, dependencyType, dependencyName, targetProject, error) {
292
+ if (dependencyType !== 'devDependencies' ||
293
+ error?.code !==
294
+ 'NX_RELEASE_PROJECT_NOT_CONFIGURED' ||
295
+ [
296
+ manifest.dependencies,
297
+ manifest.peerDependencies,
298
+ manifest.optionalDependencies,
299
+ ].some((dependencies) => dependencies?.[dependencyName] !== undefined)) {
300
+ return false;
301
+ }
302
+ const targetManifestPath = (0, node_path_1.join)(targetProject.projectRoot, 'package.json');
303
+ if (!tree.exists(targetManifestPath)) {
304
+ return false;
305
+ }
306
+ try {
307
+ return (0, devkit_1.readJson)(tree, targetManifestPath).private === true;
308
+ }
309
+ catch {
310
+ return false;
311
+ }
312
+ }
285
313
  async resolveLocalDependencySpecifier(dependencyName, versionSpecifier, targetProject, resolveVersion) {
286
314
  if (versionSpecifier.startsWith('file:')) {
287
315
  const resolvedVersion = await resolveVersion(targetProject.projectName);
@@ -206,7 +206,7 @@ function collectNpmDependencies(projectName, projectGraph, dependentTasks, colle
206
206
  return dependencies;
207
207
  }
208
208
  function collectDependentTasks(project, task, taskGraph, projectGraph, shallow, areTopLevelDeps = true, dependentTasks = new Map()) {
209
- for (const depTask of taskGraph.dependencies[task] ?? []) {
209
+ for (const { id: depTask } of taskGraph.dependencies[task] ?? []) {
210
210
  if (dependentTasks.has(depTask)) {
211
211
  if (!dependentTasks.get(depTask).isTopLevel && areTopLevelDeps) {
212
212
  dependentTasks.get(depTask).isTopLevel = true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/js",
3
- "version": "23.3.0-pr.37036.f6e3fb2",
3
+ "version": "23.3.0-pr.37224.268062c",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "files": [
@@ -138,8 +138,8 @@
138
138
  "@babel/preset-env": "^7.23.2",
139
139
  "@babel/preset-typescript": "^7.22.5",
140
140
  "@babel/runtime": "^7.22.6",
141
- "@nx/devkit": "23.3.0-pr.37036.f6e3fb2",
142
- "@nx/workspace": "23.3.0-pr.37036.f6e3fb2",
141
+ "@nx/devkit": "23.3.0-pr.37224.268062c",
142
+ "@nx/workspace": "23.3.0-pr.37224.268062c",
143
143
  "@zkochan/js-yaml": "0.0.7",
144
144
  "babel-plugin-const-enum": "^1.0.1",
145
145
  "babel-plugin-macros": "^3.1.0",
@@ -159,14 +159,14 @@
159
159
  "tslib": "^2.3.0"
160
160
  },
161
161
  "devDependencies": {
162
- "@nx/esbuild": "23.3.0-pr.37036.f6e3fb2",
163
- "@nx/eslint": "23.3.0-pr.37036.f6e3fb2",
164
- "@nx/jest": "23.3.0-pr.37036.f6e3fb2",
165
- "@nx/oxlint": "23.3.0-pr.37036.f6e3fb2",
166
- "@nx/rollup": "23.3.0-pr.37036.f6e3fb2",
167
- "@nx/vite": "23.3.0-pr.37036.f6e3fb2",
168
- "@nx/vitest": "23.3.0-pr.37036.f6e3fb2",
169
- "nx": "23.3.0-pr.37036.f6e3fb2"
162
+ "@nx/esbuild": "23.3.0-pr.37224.268062c",
163
+ "@nx/eslint": "23.3.0-pr.37224.268062c",
164
+ "@nx/jest": "23.3.0-pr.37224.268062c",
165
+ "@nx/oxlint": "23.3.0-pr.37224.268062c",
166
+ "@nx/rollup": "23.3.0-pr.37224.268062c",
167
+ "@nx/vite": "23.3.0-pr.37224.268062c",
168
+ "@nx/vitest": "23.3.0-pr.37224.268062c",
169
+ "nx": "23.3.0-pr.37224.268062c"
170
170
  },
171
171
  "peerDependencies": {
172
172
  "@swc/cli": ">=0.6.0 <0.9.0",