nx 22.0.0-beta.4 → 22.0.0-beta.6
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/migrations.json +5 -0
- package/package.json +11 -11
- package/release/changelog-renderer/index.d.ts +1 -0
- package/release/changelog-renderer/index.d.ts.map +1 -1
- package/release/changelog-renderer/index.js +46 -15
- package/schemas/nx-schema.json +165 -10
- package/src/command-line/init/implementation/angular/index.d.ts.map +1 -1
- package/src/command-line/init/implementation/angular/index.js +4 -6
- package/src/command-line/migrate/migrate.d.ts.map +1 -1
- package/src/command-line/migrate/migrate.js +25 -12
- package/src/command-line/nx-commands.js +1 -1
- package/src/command-line/release/changelog.d.ts.map +1 -1
- package/src/command-line/release/changelog.js +18 -18
- package/src/command-line/release/config/config.d.ts +6 -2
- package/src/command-line/release/config/config.d.ts.map +1 -1
- package/src/command-line/release/config/config.js +119 -70
- package/src/command-line/release/utils/git.d.ts +2 -2
- package/src/command-line/release/utils/git.d.ts.map +1 -1
- package/src/command-line/release/utils/git.js +5 -5
- package/src/command-line/release/utils/release-graph.d.ts +1 -1
- package/src/command-line/release/utils/release-graph.d.ts.map +1 -1
- package/src/command-line/release/utils/release-graph.js +6 -6
- package/src/command-line/release/utils/shared.js +11 -11
- package/src/command-line/release/version/release-group-processor.d.ts.map +1 -1
- package/src/command-line/release/version/release-group-processor.js +9 -1
- package/src/config/nx-json.d.ts +129 -70
- package/src/config/nx-json.d.ts.map +1 -1
- package/src/core/graph/main.js +1 -1
- package/src/daemon/client/client.d.ts +4 -0
- package/src/daemon/client/client.d.ts.map +1 -1
- package/src/daemon/client/client.js +23 -0
- package/src/daemon/message-types/register-project-graph-listener.d.ts +6 -0
- package/src/daemon/message-types/register-project-graph-listener.d.ts.map +1 -0
- package/src/daemon/message-types/register-project-graph-listener.js +11 -0
- package/src/daemon/server/project-graph-incremental-recomputation.d.ts +3 -1
- package/src/daemon/server/project-graph-incremental-recomputation.d.ts.map +1 -1
- package/src/daemon/server/project-graph-incremental-recomputation.js +13 -5
- package/src/daemon/server/project-graph-listener-sockets.d.ts +8 -0
- package/src/daemon/server/project-graph-listener-sockets.d.ts.map +1 -0
- package/src/daemon/server/project-graph-listener-sockets.js +24 -0
- package/src/daemon/server/server.d.ts.map +1 -1
- package/src/daemon/server/server.js +9 -2
- package/src/devkit-internals.d.ts +1 -0
- package/src/devkit-internals.d.ts.map +1 -1
- package/src/devkit-internals.js +3 -1
- package/src/migrations/update-22-0-0/consolidate-release-tag-config.d.ts +3 -0
- package/src/migrations/update-22-0-0/consolidate-release-tag-config.d.ts.map +1 -0
- package/src/migrations/update-22-0-0/consolidate-release-tag-config.js +100 -0
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/plugins/js/lock-file/lock-file.d.ts.map +1 -1
- package/src/plugins/js/lock-file/lock-file.js +1 -1
- package/src/plugins/js/lock-file/pnpm-parser.d.ts +1 -1
- package/src/plugins/js/lock-file/pnpm-parser.d.ts.map +1 -1
- package/src/plugins/js/lock-file/pnpm-parser.js +12 -4
- package/src/plugins/js/lock-file/project-graph-pruning.d.ts +2 -2
- package/src/plugins/js/lock-file/project-graph-pruning.d.ts.map +1 -1
- package/src/plugins/js/lock-file/project-graph-pruning.js +22 -9
- package/src/plugins/js/package-json/create-package-json.d.ts.map +1 -1
- package/src/plugins/js/package-json/create-package-json.js +17 -5
- package/src/tasks-runner/is-tui-enabled.d.ts.map +1 -1
- package/src/tasks-runner/is-tui-enabled.js +0 -1
- package/src/tasks-runner/run-command.d.ts.map +1 -1
- package/src/tasks-runner/run-command.js +3 -0
- package/src/utils/catalog/index.d.ts +10 -0
- package/src/utils/catalog/index.d.ts.map +1 -0
- package/src/utils/catalog/index.js +38 -0
- package/src/utils/catalog/manager-factory.d.ts +6 -0
- package/src/utils/catalog/manager-factory.d.ts.map +1 -0
- package/src/utils/catalog/manager-factory.js +17 -0
- package/src/utils/catalog/manager.d.ts +40 -0
- package/src/utils/catalog/manager.d.ts.map +1 -0
- package/src/utils/catalog/manager.js +2 -0
- package/src/utils/catalog/pnpm-manager.d.ts +22 -0
- package/src/utils/catalog/pnpm-manager.d.ts.map +1 -0
- package/src/utils/catalog/pnpm-manager.js +257 -0
- package/src/utils/catalog/types.d.ts +5 -0
- package/src/utils/catalog/types.d.ts.map +1 -0
- package/src/utils/catalog/types.js +2 -0
- package/src/utils/package-json.d.ts +79 -0
- package/src/utils/package-json.d.ts.map +1 -1
- package/src/utils/package-json.js +81 -2
- package/src/utils/package-manager.d.ts.map +1 -1
- package/src/utils/package-manager.js +24 -9
- package/src/utils/pnpm-workspace.d.ts +9 -0
- package/src/utils/pnpm-workspace.d.ts.map +1 -0
- package/src/utils/pnpm-workspace.js +2 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NxJsonConfiguration } from '../config/nx-json';
|
|
2
2
|
import { ProjectConfiguration, ProjectMetadata, TargetConfiguration } from '../config/workspace-json-project-json';
|
|
3
|
+
import type { Tree } from '../generators/tree';
|
|
3
4
|
import { PackageManagerCommands } from './package-manager';
|
|
4
5
|
export interface NxProjectPackageJsonConfiguration extends Partial<ProjectConfiguration> {
|
|
5
6
|
includedScripts?: string[];
|
|
@@ -13,6 +14,7 @@ export type MixedPackageGroup = (string | {
|
|
|
13
14
|
version: string;
|
|
14
15
|
})[] | Record<string, string>;
|
|
15
16
|
export type PackageGroup = MixedPackageGroup | ArrayPackageGroup;
|
|
17
|
+
export type PackageJsonDependencySection = 'dependencies' | 'devDependencies' | 'peerDependencies' | 'optionalDependencies';
|
|
16
18
|
export interface NxMigrationsConfiguration {
|
|
17
19
|
migrations?: string;
|
|
18
20
|
packageGroup?: PackageGroup;
|
|
@@ -108,5 +110,82 @@ export declare function installPackageToTmp(pkg: string, requiredVersion: string
|
|
|
108
110
|
tempDir: string;
|
|
109
111
|
cleanup: () => void;
|
|
110
112
|
};
|
|
113
|
+
/**
|
|
114
|
+
* Get the resolved version of a dependency from package.json.
|
|
115
|
+
*
|
|
116
|
+
* Retrieves a package version and automatically resolves PNPM catalog references
|
|
117
|
+
* (e.g., "catalog:default") to their actual version strings. By default, searches
|
|
118
|
+
* `dependencies` first, then falls back to `devDependencies`.
|
|
119
|
+
*
|
|
120
|
+
* **Tree-based usage** (generators and migrations):
|
|
121
|
+
* Use when you have a `Tree` object, which is typical in Nx generators and migrations.
|
|
122
|
+
*
|
|
123
|
+
* **Filesystem-based usage** (CLI commands and scripts):
|
|
124
|
+
* Use when reading directly from the filesystem without a `Tree` object.
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```typescript
|
|
128
|
+
* // Tree-based - from root package.json (checks dependencies then devDependencies)
|
|
129
|
+
* const reactVersion = getDependencyVersionFromPackageJson(tree, 'react');
|
|
130
|
+
* // Returns: "^18.0.0" (resolves "catalog:default" if present)
|
|
131
|
+
*
|
|
132
|
+
* // Tree-based - check only dependencies section
|
|
133
|
+
* const version = getDependencyVersionFromPackageJson(
|
|
134
|
+
* tree,
|
|
135
|
+
* 'react',
|
|
136
|
+
* 'package.json',
|
|
137
|
+
* ['dependencies']
|
|
138
|
+
* );
|
|
139
|
+
*
|
|
140
|
+
* // Tree-based - check only devDependencies section
|
|
141
|
+
* const version = getDependencyVersionFromPackageJson(
|
|
142
|
+
* tree,
|
|
143
|
+
* 'jest',
|
|
144
|
+
* 'package.json',
|
|
145
|
+
* ['devDependencies']
|
|
146
|
+
* );
|
|
147
|
+
*
|
|
148
|
+
* // Tree-based - custom lookup order
|
|
149
|
+
* const version = getDependencyVersionFromPackageJson(
|
|
150
|
+
* tree,
|
|
151
|
+
* 'pkg',
|
|
152
|
+
* 'package.json',
|
|
153
|
+
* ['devDependencies', 'dependencies', 'peerDependencies']
|
|
154
|
+
* );
|
|
155
|
+
*
|
|
156
|
+
* // Tree-based - with pre-loaded package.json
|
|
157
|
+
* const packageJson = readJson(tree, 'package.json');
|
|
158
|
+
* const version = getDependencyVersionFromPackageJson(
|
|
159
|
+
* tree,
|
|
160
|
+
* 'react',
|
|
161
|
+
* packageJson,
|
|
162
|
+
* ['dependencies']
|
|
163
|
+
* );
|
|
164
|
+
* ```
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* // Filesystem-based - from current directory
|
|
169
|
+
* const reactVersion = getDependencyVersionFromPackageJson('react');
|
|
170
|
+
*
|
|
171
|
+
* // Filesystem-based - with workspace root
|
|
172
|
+
* const version = getDependencyVersionFromPackageJson('react', '/path/to/workspace');
|
|
173
|
+
*
|
|
174
|
+
* // Filesystem-based - with specific package.json and section
|
|
175
|
+
* const version = getDependencyVersionFromPackageJson(
|
|
176
|
+
* 'react',
|
|
177
|
+
* '/path/to/workspace',
|
|
178
|
+
* 'apps/my-app/package.json',
|
|
179
|
+
* ['dependencies']
|
|
180
|
+
* );
|
|
181
|
+
* ```
|
|
182
|
+
*
|
|
183
|
+
* @param dependencyLookup Array of dependency sections to check in order. Defaults to ['dependencies', 'devDependencies']
|
|
184
|
+
* @returns The resolved version string, or `null` if the package is not found in any of the specified sections
|
|
185
|
+
*/
|
|
186
|
+
export declare function getDependencyVersionFromPackageJson(tree: Tree, packageName: string, packageJsonPath?: string, dependencyLookup?: PackageJsonDependencySection[]): string | null;
|
|
187
|
+
export declare function getDependencyVersionFromPackageJson(tree: Tree, packageName: string, packageJson?: PackageJson, dependencyLookup?: PackageJsonDependencySection[]): string | null;
|
|
188
|
+
export declare function getDependencyVersionFromPackageJson(packageName: string, workspaceRootPath?: string, packageJsonPath?: string, dependencyLookup?: PackageJsonDependencySection[]): string | null;
|
|
189
|
+
export declare function getDependencyVersionFromPackageJson(packageName: string, workspaceRootPath?: string, packageJson?: PackageJson, dependencyLookup?: PackageJsonDependencySection[]): string | null;
|
|
111
190
|
export {};
|
|
112
191
|
//# sourceMappingURL=package-json.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/package-json.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/package-json.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,14 +9,18 @@ exports.readTargetsFromPackageJson = readTargetsFromPackageJson;
|
|
|
9
9
|
exports.readModulePackageJsonWithoutFallbacks = readModulePackageJsonWithoutFallbacks;
|
|
10
10
|
exports.readModulePackageJson = readModulePackageJson;
|
|
11
11
|
exports.installPackageToTmp = installPackageToTmp;
|
|
12
|
+
exports.getDependencyVersionFromPackageJson = getDependencyVersionFromPackageJson;
|
|
13
|
+
const child_process_1 = require("child_process");
|
|
12
14
|
const fs_1 = require("fs");
|
|
13
15
|
const path_1 = require("path");
|
|
16
|
+
const tmp_1 = require("tmp");
|
|
17
|
+
const json_1 = require("../generators/utils/json");
|
|
14
18
|
const project_configuration_utils_1 = require("../project-graph/utils/project-configuration-utils");
|
|
19
|
+
const catalog_1 = require("./catalog");
|
|
15
20
|
const fileutils_1 = require("./fileutils");
|
|
16
21
|
const installation_directory_1 = require("./installation-directory");
|
|
17
22
|
const package_manager_1 = require("./package-manager");
|
|
18
|
-
const
|
|
19
|
-
const child_process_1 = require("child_process");
|
|
23
|
+
const workspace_root_1 = require("./workspace-root");
|
|
20
24
|
function normalizePackageGroup(packageGroup) {
|
|
21
25
|
return Array.isArray(packageGroup)
|
|
22
26
|
? packageGroup.map((x) => typeof x === 'string' ? { package: x, version: '*' } : x)
|
|
@@ -228,6 +232,81 @@ function installPackageToTmp(pkg, requiredVersion) {
|
|
|
228
232
|
cleanup,
|
|
229
233
|
};
|
|
230
234
|
}
|
|
235
|
+
function getDependencyVersionFromPackageJson(treeOrPackageName, packageNameOrRoot, packageJsonPathOrObjectOrRoot, dependencyLookup) {
|
|
236
|
+
if (typeof treeOrPackageName !== 'string') {
|
|
237
|
+
return getDependencyVersionFromPackageJsonFromTree(treeOrPackageName, packageNameOrRoot, packageJsonPathOrObjectOrRoot, dependencyLookup);
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
return getDependencyVersionFromPackageJsonFromFileSystem(treeOrPackageName, packageNameOrRoot, packageJsonPathOrObjectOrRoot, dependencyLookup);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Tree-based implementation for getDependencyVersionFromPackageJson
|
|
245
|
+
*/
|
|
246
|
+
function getDependencyVersionFromPackageJsonFromTree(tree, packageName, packageJsonPathOrObject = 'package.json', dependencyLookup = [
|
|
247
|
+
'dependencies',
|
|
248
|
+
'devDependencies',
|
|
249
|
+
]) {
|
|
250
|
+
let packageJson;
|
|
251
|
+
if (typeof packageJsonPathOrObject === 'object') {
|
|
252
|
+
packageJson = packageJsonPathOrObject;
|
|
253
|
+
}
|
|
254
|
+
else if (tree.exists(packageJsonPathOrObject)) {
|
|
255
|
+
packageJson = (0, json_1.readJson)(tree, packageJsonPathOrObject);
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
return null;
|
|
259
|
+
}
|
|
260
|
+
let version = null;
|
|
261
|
+
for (const section of dependencyLookup) {
|
|
262
|
+
const foundVersion = packageJson[section]?.[packageName];
|
|
263
|
+
if (foundVersion) {
|
|
264
|
+
version = foundVersion;
|
|
265
|
+
break;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
// Resolve catalog reference if needed
|
|
269
|
+
const manager = (0, catalog_1.getCatalogManager)(tree.root);
|
|
270
|
+
if (version && manager?.isCatalogReference(version)) {
|
|
271
|
+
version = manager.resolveCatalogReference(tree, packageName, version);
|
|
272
|
+
}
|
|
273
|
+
return version;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Filesystem-based implementation for getDependencyVersionFromPackageJson
|
|
277
|
+
*/
|
|
278
|
+
function getDependencyVersionFromPackageJsonFromFileSystem(packageName, root = workspace_root_1.workspaceRoot, packageJsonPathOrObject = 'package.json', dependencyLookup = [
|
|
279
|
+
'dependencies',
|
|
280
|
+
'devDependencies',
|
|
281
|
+
]) {
|
|
282
|
+
let packageJson;
|
|
283
|
+
if (typeof packageJsonPathOrObject === 'object') {
|
|
284
|
+
packageJson = packageJsonPathOrObject;
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
const packageJsonPath = (0, path_1.resolve)(root, packageJsonPathOrObject);
|
|
288
|
+
if ((0, fs_1.existsSync)(packageJsonPath)) {
|
|
289
|
+
packageJson = (0, fileutils_1.readJsonFile)(packageJsonPath);
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
return null;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
let version = null;
|
|
296
|
+
for (const section of dependencyLookup) {
|
|
297
|
+
const foundVersion = packageJson[section]?.[packageName];
|
|
298
|
+
if (foundVersion) {
|
|
299
|
+
version = foundVersion;
|
|
300
|
+
break;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
// Resolve catalog reference if needed
|
|
304
|
+
const manager = (0, catalog_1.getCatalogManager)(root);
|
|
305
|
+
if (version && manager?.isCatalogReference(version)) {
|
|
306
|
+
version = manager.resolveCatalogReference(packageName, version, root);
|
|
307
|
+
}
|
|
308
|
+
return version;
|
|
309
|
+
}
|
|
231
310
|
/**
|
|
232
311
|
* Generates necessary files needed for the package manager to work
|
|
233
312
|
* and for the node_modules to be accessible.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/package-manager.ts"],"names":[],"mappings":"AA+BA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAE/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,CACP,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,EACzB,GAAG,EAAE,MAAM,KACR,MAAM,CAAC;IAEZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAW,GAAG,cAAc,CAYrE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,GAAE,cAAuC,EACvD,IAAI,GAAE,MAAsB,GAC3B,OAAO,CAmBT;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,GAAE,cAAuC,EACvD,IAAI,GAAE,MAAsB,GAC3B,sBAAsB,
|
|
1
|
+
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/package-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,14 +18,15 @@ exports.getPackageWorkspaces = getPackageWorkspaces;
|
|
|
18
18
|
exports.addPackagePathToWorkspaces = addPackagePathToWorkspaces;
|
|
19
19
|
const child_process_1 = require("child_process");
|
|
20
20
|
const fs_1 = require("fs");
|
|
21
|
-
const yaml_1 = require("yaml");
|
|
22
21
|
const promises_1 = require("node:fs/promises");
|
|
23
22
|
const path_1 = require("path");
|
|
24
23
|
const semver_1 = require("semver");
|
|
25
24
|
const tmp_1 = require("tmp");
|
|
26
25
|
const util_1 = require("util");
|
|
26
|
+
const yaml_1 = require("yaml");
|
|
27
27
|
const configuration_1 = require("../config/configuration");
|
|
28
28
|
const file_utils_1 = require("../project-graph/file-utils");
|
|
29
|
+
const catalog_1 = require("./catalog");
|
|
29
30
|
const fileutils_1 = require("./fileutils");
|
|
30
31
|
const installation_directory_1 = require("./installation-directory");
|
|
31
32
|
const package_json_1 = require("./package-json");
|
|
@@ -156,11 +157,9 @@ function getPackageManagerCommand(packageManager = detectPackageManager(), root
|
|
|
156
157
|
};
|
|
157
158
|
},
|
|
158
159
|
npm: () => {
|
|
159
|
-
// TODO: Remove this
|
|
160
|
-
process.env.npm_config_legacy_peer_deps ??= 'true';
|
|
161
160
|
return {
|
|
162
161
|
install: 'npm install',
|
|
163
|
-
ciInstall: 'npm ci
|
|
162
|
+
ciInstall: 'npm ci',
|
|
164
163
|
updateLockFile: 'npm install --package-lock-only',
|
|
165
164
|
add: 'npm install',
|
|
166
165
|
addDev: 'npm install -D',
|
|
@@ -368,9 +367,17 @@ function createTempNpmDirectory(skipCopy = false) {
|
|
|
368
367
|
*/
|
|
369
368
|
async function resolvePackageVersionUsingRegistry(packageName, version) {
|
|
370
369
|
try {
|
|
371
|
-
|
|
370
|
+
let resolvedVersion = version;
|
|
371
|
+
const manager = (0, catalog_1.getCatalogManager)(workspace_root_1.workspaceRoot);
|
|
372
|
+
if (manager?.isCatalogReference(version)) {
|
|
373
|
+
resolvedVersion = manager.resolveCatalogReference(packageName, version, workspace_root_1.workspaceRoot);
|
|
374
|
+
if (!resolvedVersion) {
|
|
375
|
+
throw new Error(`Unable to resolve catalog reference ${packageName}@${version}.`);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
const result = await packageRegistryView(packageName, resolvedVersion, 'version');
|
|
372
379
|
if (!result) {
|
|
373
|
-
throw new Error(`Unable to resolve version ${packageName}@${
|
|
380
|
+
throw new Error(`Unable to resolve version ${packageName}@${resolvedVersion}.`);
|
|
374
381
|
}
|
|
375
382
|
const lines = result.split('\n');
|
|
376
383
|
if (lines.length === 1) {
|
|
@@ -383,12 +390,12 @@ async function resolvePackageVersionUsingRegistry(packageName, version) {
|
|
|
383
390
|
*
|
|
384
391
|
* <package>@<version> '<version>'
|
|
385
392
|
*/
|
|
386
|
-
const
|
|
393
|
+
const finalResolvedVersion = lines
|
|
387
394
|
.map((line) => line.split(' ')[1])
|
|
388
395
|
.sort()
|
|
389
396
|
.pop()
|
|
390
397
|
.replace(/'/g, '');
|
|
391
|
-
return
|
|
398
|
+
return finalResolvedVersion;
|
|
392
399
|
}
|
|
393
400
|
catch {
|
|
394
401
|
throw new Error(`Unable to resolve version ${packageName}@${version}.`);
|
|
@@ -402,8 +409,16 @@ async function resolvePackageVersionUsingRegistry(packageName, version) {
|
|
|
402
409
|
async function resolvePackageVersionUsingInstallation(packageName, version) {
|
|
403
410
|
const { dir, cleanup } = createTempNpmDirectory();
|
|
404
411
|
try {
|
|
412
|
+
let resolvedVersion = version;
|
|
413
|
+
const manager = (0, catalog_1.getCatalogManager)(workspace_root_1.workspaceRoot);
|
|
414
|
+
if (manager.isCatalogReference(version)) {
|
|
415
|
+
resolvedVersion = manager.resolveCatalogReference(packageName, version, workspace_root_1.workspaceRoot);
|
|
416
|
+
if (!resolvedVersion) {
|
|
417
|
+
throw new Error(`Unable to resolve catalog reference ${packageName}@${version}.`);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
405
420
|
const pmc = getPackageManagerCommand();
|
|
406
|
-
await execAsync(`${pmc.add} ${packageName}@${
|
|
421
|
+
await execAsync(`${pmc.add} ${packageName}@${resolvedVersion}`, {
|
|
407
422
|
cwd: dir,
|
|
408
423
|
windowsHide: true,
|
|
409
424
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pnpm-workspace.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/pnpm-workspace.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC7C"}
|