nx 14.7.7 → 14.7.9

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.
Files changed (36) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/bin/run-executor.js +2 -15
  3. package/bin/run-executor.js.map +1 -1
  4. package/package.json +9 -5
  5. package/src/command-line/run-many.js.map +1 -1
  6. package/src/core/graph/main.js +1 -1
  7. package/src/core/graph/polyfills.js +1 -1
  8. package/src/daemon/client/client.js +4 -1
  9. package/src/daemon/client/client.js.map +1 -1
  10. package/src/hasher/hasher.js +14 -9
  11. package/src/hasher/hasher.js.map +1 -1
  12. package/src/project-graph/build-project-graph.js +8 -3
  13. package/src/project-graph/build-project-graph.js.map +1 -1
  14. package/src/tasks-runner/forked-process-task-runner.js +38 -11
  15. package/src/tasks-runner/forked-process-task-runner.js.map +1 -1
  16. package/src/utils/lock-file/lock-file-type.d.ts +11 -0
  17. package/src/utils/lock-file/lock-file-type.js +3 -0
  18. package/src/utils/lock-file/lock-file-type.js.map +1 -0
  19. package/src/utils/lock-file/lock-file.d.ts +15 -0
  20. package/src/utils/lock-file/lock-file.js +67 -0
  21. package/src/utils/lock-file/lock-file.js.map +1 -0
  22. package/src/utils/lock-file/npm.d.ts +22 -0
  23. package/src/utils/lock-file/npm.js +166 -0
  24. package/src/utils/lock-file/npm.js.map +1 -0
  25. package/src/utils/lock-file/pnpm.d.ts +22 -0
  26. package/src/utils/lock-file/pnpm.js +158 -0
  27. package/src/utils/lock-file/pnpm.js.map +1 -0
  28. package/src/utils/lock-file/utils.d.ts +6 -0
  29. package/src/utils/lock-file/utils.js +21 -0
  30. package/src/utils/lock-file/utils.js.map +1 -0
  31. package/src/utils/lock-file/yarn.d.ts +22 -0
  32. package/src/utils/lock-file/yarn.js +256 -0
  33. package/src/utils/lock-file/yarn.js.map +1 -0
  34. package/src/utils/add-command-prefix.d.ts +0 -5
  35. package/src/utils/add-command-prefix.js +0 -59
  36. package/src/utils/add-command-prefix.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/utils/lock-file/npm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { LockFileData } from './lock-file-type';
2
+ /**
3
+ * Parses pnpm-lock.yaml file to `LockFileData` object
4
+ *
5
+ * @param lockFile
6
+ * @returns
7
+ */
8
+ export declare function parsePnpmLockFile(lockFile: string): LockFileData;
9
+ /**
10
+ * Generates pnpm-lock.yml file from `LockFileData` object
11
+ *
12
+ * @param lockFile
13
+ * @returns
14
+ */
15
+ export declare function stringifyPnpmLockFile(lockFileData: LockFileData): string;
16
+ /**
17
+ * Prunes the lock file data based on the list of packages and their transitive dependencies
18
+ *
19
+ * @param lockFileData
20
+ * @returns
21
+ */
22
+ export declare function prunePnpmLockFile(lockFileData: LockFileData, packages: string[]): LockFileData;
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prunePnpmLockFile = exports.stringifyPnpmLockFile = exports.parsePnpmLockFile = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const js_yaml_1 = require("@zkochan/js-yaml");
6
+ const utils_1 = require("./utils");
7
+ const LOCKFILE_YAML_FORMAT = {
8
+ blankLines: true,
9
+ lineWidth: 1000,
10
+ noCompatMode: true,
11
+ noRefs: true,
12
+ sortKeys: false,
13
+ };
14
+ /**
15
+ * Parses pnpm-lock.yaml file to `LockFileData` object
16
+ *
17
+ * @param lockFile
18
+ * @returns
19
+ */
20
+ function parsePnpmLockFile(lockFile) {
21
+ const data = (0, js_yaml_1.load)(lockFile);
22
+ const { dependencies, devDependencies, packages, specifiers } = data, metadata = tslib_1.__rest(data, ["dependencies", "devDependencies", "packages", "specifiers"]);
23
+ return {
24
+ dependencies: mapPackages(dependencies, devDependencies, specifiers, packages, metadata.lockfileVersion.toString().endsWith('inlineSpecifiers')),
25
+ lockFileMetadata: Object.assign({}, metadata),
26
+ };
27
+ }
28
+ exports.parsePnpmLockFile = parsePnpmLockFile;
29
+ function mapPackages(dependencies, devDependencies, specifiers, packages, inlineSpecifiers) {
30
+ const mappedPackages = {};
31
+ Object.entries(packages).forEach(([key, value]) => {
32
+ const { resolution, engines } = value, dependencyDetails = tslib_1.__rest(value, ["resolution", "engines"]);
33
+ // construct packageMeta object
34
+ const meta = mapMetaInformation({ dependencies, devDependencies, specifiers }, inlineSpecifiers, key, dependencyDetails);
35
+ // create new key
36
+ const version = key.split('/').pop().split('_')[0];
37
+ const packageName = key.slice(1, key.lastIndexOf('/'));
38
+ const newKey = `${packageName}@${version}`;
39
+ if (!mappedPackages[packageName]) {
40
+ mappedPackages[packageName] = {};
41
+ }
42
+ if (mappedPackages[packageName][newKey]) {
43
+ mappedPackages[packageName][newKey].packageMeta.push(meta);
44
+ }
45
+ else {
46
+ mappedPackages[packageName][newKey] = {
47
+ resolution,
48
+ engines,
49
+ version,
50
+ packageMeta: [meta],
51
+ };
52
+ }
53
+ });
54
+ return mappedPackages;
55
+ }
56
+ // maps packageMeta based on dependencies, devDependencies and (inline) specifiers
57
+ function mapMetaInformation({ dependencies, devDependencies, specifiers, }, hasInlineSpefiers, key, dependencyDetails) {
58
+ const matchingVersion = key.split('/').pop();
59
+ const packageName = key.slice(1, key.lastIndexOf('/'));
60
+ const isDependency = isVersionMatch(dependencies === null || dependencies === void 0 ? void 0 : dependencies[packageName], matchingVersion, hasInlineSpefiers);
61
+ const isDevDependency = isVersionMatch(devDependencies === null || devDependencies === void 0 ? void 0 : devDependencies[packageName], matchingVersion, hasInlineSpefiers);
62
+ let specifier;
63
+ if (isDependency || isDevDependency) {
64
+ if (hasInlineSpefiers) {
65
+ specifier =
66
+ getSpecifier(dependencies === null || dependencies === void 0 ? void 0 : dependencies[packageName]) ||
67
+ getSpecifier(devDependencies === null || devDependencies === void 0 ? void 0 : devDependencies[packageName]);
68
+ }
69
+ else {
70
+ if (isDependency || isDevDependency) {
71
+ specifier = specifiers[packageName];
72
+ }
73
+ }
74
+ }
75
+ return {
76
+ key,
77
+ isDependency,
78
+ isDevDependency,
79
+ specifier,
80
+ dependencyDetails,
81
+ };
82
+ }
83
+ // version match for dependencies w/ or w/o inline specifier
84
+ function isVersionMatch(versionInfo, matchingVersion, hasInlineSpefiers) {
85
+ if (!versionInfo) {
86
+ return false;
87
+ }
88
+ if (!hasInlineSpefiers) {
89
+ return versionInfo === matchingVersion;
90
+ }
91
+ return (versionInfo.version === matchingVersion);
92
+ }
93
+ function getSpecifier(versionInfo) {
94
+ return (versionInfo && versionInfo.specifier);
95
+ }
96
+ /**
97
+ * Generates pnpm-lock.yml file from `LockFileData` object
98
+ *
99
+ * @param lockFile
100
+ * @returns
101
+ */
102
+ function stringifyPnpmLockFile(lockFileData) {
103
+ const pnpmLockFile = unmapLockFile(lockFileData);
104
+ return (0, js_yaml_1.dump)(pnpmLockFile, LOCKFILE_YAML_FORMAT);
105
+ }
106
+ exports.stringifyPnpmLockFile = stringifyPnpmLockFile;
107
+ // revert lock file to it's original state
108
+ function unmapLockFile(lockFileData) {
109
+ const devDependencies = {};
110
+ const dependencies = {};
111
+ const packages = {};
112
+ const specifiers = {};
113
+ const inlineSpecifiers = lockFileData.lockFileMetadata.lockfileVersion
114
+ .toString()
115
+ .endsWith('inlineSpecifiers');
116
+ const packageNames = Object.keys(lockFileData.dependencies);
117
+ for (let i = 0; i < packageNames.length; i++) {
118
+ const packageName = packageNames[i];
119
+ const versions = Object.values(lockFileData.dependencies[packageName]);
120
+ versions.forEach(({ packageMeta, resolution, engines }) => {
121
+ packageMeta.forEach((meta) => {
122
+ const { key, specifier } = meta;
123
+ let version;
124
+ if (inlineSpecifiers) {
125
+ version = { specifier, version: key.slice(key.lastIndexOf('/') + 1) };
126
+ }
127
+ else {
128
+ version = key.slice(key.lastIndexOf('/') + 1);
129
+ if (specifier) {
130
+ specifiers[packageName] = specifier;
131
+ }
132
+ }
133
+ if (meta.isDependency) {
134
+ dependencies[packageName] = version;
135
+ }
136
+ if (meta.isDevDependency) {
137
+ devDependencies[packageName] = version;
138
+ }
139
+ packages[key] = Object.assign({ resolution,
140
+ engines }, meta.dependencyDetails);
141
+ });
142
+ });
143
+ }
144
+ return Object.assign(Object.assign({}, lockFileData.lockFileMetadata), { specifiers: (0, utils_1.sortObject)(specifiers), dependencies: (0, utils_1.sortObject)(dependencies), devDependencies: (0, utils_1.sortObject)(devDependencies), packages: (0, utils_1.sortObject)(packages) });
145
+ }
146
+ /**
147
+ * Prunes the lock file data based on the list of packages and their transitive dependencies
148
+ *
149
+ * @param lockFileData
150
+ * @returns
151
+ */
152
+ function prunePnpmLockFile(lockFileData, packages) {
153
+ // todo(meeroslav): This functionality has not been implemented yet
154
+ console.warn('Pruning pnpm-lock.yaml is not yet implemented. Returning entire lock file');
155
+ return lockFileData;
156
+ }
157
+ exports.prunePnpmLockFile = prunePnpmLockFile;
158
+ //# sourceMappingURL=pnpm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/utils/lock-file/pnpm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Simple sort function to ensure keys are ordered alphabetically
3
+ * @param obj
4
+ * @returns
5
+ */
6
+ export declare function sortObject<T = string>(obj: Record<string, T>, valueTransformator?: (value: T) => any): Record<string, T> | undefined;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sortObject = void 0;
4
+ /**
5
+ * Simple sort function to ensure keys are ordered alphabetically
6
+ * @param obj
7
+ * @returns
8
+ */
9
+ function sortObject(obj, valueTransformator = (value) => value) {
10
+ const keys = Object.keys(obj);
11
+ if (keys.length === 0) {
12
+ return;
13
+ }
14
+ const result = {};
15
+ keys.sort().forEach((key) => {
16
+ result[key] = valueTransformator(obj[key]);
17
+ });
18
+ return result;
19
+ }
20
+ exports.sortObject = sortObject;
21
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/utils/lock-file/utils.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,UAAU,CACxB,GAAsB,EACtB,qBAAwC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;IAExD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO;KACR;IAED,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAdD,gCAcC"}
@@ -0,0 +1,22 @@
1
+ import { LockFileData } from './lock-file-type';
2
+ /**
3
+ * Parses `yarn.lock` syml file and maps to {@link LockFileData}
4
+ *
5
+ * @param lockFile
6
+ * @returns
7
+ */
8
+ export declare function parseYarnLockFile(lockFile: string): LockFileData;
9
+ /**
10
+ * Generates yarn.lock file from `LockFileData` object
11
+ *
12
+ * @param lockFileData
13
+ * @returns
14
+ */
15
+ export declare function stringifyYarnLockFile(lockFileData: LockFileData): string;
16
+ /**
17
+ * Prunes the lock file data based on the list of packages and their transitive dependencies
18
+ *
19
+ * @param lockFileData
20
+ * @returns
21
+ */
22
+ export declare function pruneYarnLockFile(lockFileData: LockFileData, packages: string[]): LockFileData;
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pruneYarnLockFile = exports.stringifyYarnLockFile = exports.parseYarnLockFile = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const parsers_1 = require("@yarnpkg/parsers");
6
+ const lockfile_1 = require("@yarnpkg/lockfile");
7
+ const utils_1 = require("./utils");
8
+ const BERRY_LOCK_FILE_DISCLAIMER = `# This file was generated by Nx. Do not edit this file directly\n# Manual changes might be lost - proceed with caution!\n\n`;
9
+ /**
10
+ * Parses `yarn.lock` syml file and maps to {@link LockFileData}
11
+ *
12
+ * @param lockFile
13
+ * @returns
14
+ */
15
+ function parseYarnLockFile(lockFile) {
16
+ const _a = (0, parsers_1.parseSyml)(lockFile), { __metadata } = _a, dependencies = tslib_1.__rest(_a, ["__metadata"]);
17
+ // Yarn Berry has workspace packages includes, so we need to extract those to metadata
18
+ const [mappedPackages, workspacePackages] = mapPackages(dependencies);
19
+ const isBerry = !!__metadata;
20
+ if (isBerry) {
21
+ return {
22
+ dependencies: mappedPackages,
23
+ lockFileMetadata: {
24
+ __metadata,
25
+ workspacePackages,
26
+ },
27
+ };
28
+ }
29
+ else {
30
+ return { dependencies: mappedPackages };
31
+ }
32
+ }
33
+ exports.parseYarnLockFile = parseYarnLockFile;
34
+ // map original yarn packages to the LockFileData structure
35
+ function mapPackages(packages) {
36
+ const mappedPackages = {};
37
+ const workspacePackages = {};
38
+ Object.entries(packages).forEach(([keyExpr, value]) => {
39
+ // separate workspace packages from the external ones
40
+ // we only combine them back when stringifying
41
+ if (value.linkType === 'soft') {
42
+ workspacePackages[keyExpr] = value;
43
+ }
44
+ else {
45
+ // key might be "@nrwl/somedep@1.2.3, @nrwl/somedep@^1.0.0..."
46
+ const keys = keyExpr.split(', ');
47
+ const packageName = keys[0].slice(0, keys[0].lastIndexOf('@'));
48
+ const newKey = `${packageName}@${value.version}`;
49
+ mappedPackages[packageName] = mappedPackages[packageName] || {};
50
+ if (!mappedPackages[packageName][newKey]) {
51
+ mappedPackages[packageName][newKey] = Object.assign(Object.assign({}, value), { packageMeta: keys });
52
+ }
53
+ else {
54
+ mappedPackages[packageName][newKey].packageMeta.push(...keys);
55
+ }
56
+ }
57
+ });
58
+ return [mappedPackages, workspacePackages];
59
+ }
60
+ /**
61
+ * Generates yarn.lock file from `LockFileData` object
62
+ *
63
+ * @param lockFileData
64
+ * @returns
65
+ */
66
+ function stringifyYarnLockFile(lockFileData) {
67
+ var _a;
68
+ // only berry's format has metadata defined
69
+ // this is an easy way to distinguish it from the classic
70
+ const isBerry = !!((_a = lockFileData.lockFileMetadata) === null || _a === void 0 ? void 0 : _a.__metadata);
71
+ const dependencies = unmapPackages(lockFileData.dependencies, isBerry);
72
+ if (isBerry) {
73
+ const lockFile = Object.assign(Object.assign({ __metadata: lockFileData.lockFileMetadata.__metadata }, lockFileData.lockFileMetadata.workspacePackages), dependencies);
74
+ // berry's stringifySyml doesn't generate comment
75
+ return BERRY_LOCK_FILE_DISCLAIMER + (0, parsers_1.stringifySyml)(lockFile);
76
+ }
77
+ else {
78
+ return (0, lockfile_1.stringify)(dependencies);
79
+ }
80
+ }
81
+ exports.stringifyYarnLockFile = stringifyYarnLockFile;
82
+ // revert mapping of packages from LockFileData to the original JSON structure
83
+ // E.g. from:
84
+ // "abc": {
85
+ // "abc@1.2.3": {
86
+ // ...value
87
+ // packageMeta: ["abc@^1.0.0", "abc@~1.2.0"]
88
+ // }
89
+ // }
90
+ // to:
91
+ // "abc@^1.0.0, abc@~1.2.0": {
92
+ // ...value
93
+ // }
94
+ //
95
+ function unmapPackages(dependencies, isBerry = false) {
96
+ const packages = {};
97
+ Object.values(dependencies).forEach((packageVersions) => {
98
+ Object.values(packageVersions).forEach((value) => {
99
+ const { packageMeta } = value, rest = tslib_1.__rest(value, ["packageMeta"]);
100
+ if (isBerry) {
101
+ // berry's `stringifySyml` does not combine packages
102
+ // we have to do it manually
103
+ packages[packageMeta.join(', ')] = rest;
104
+ }
105
+ else {
106
+ // classic's `stringify` combines packages with same resolution
107
+ packageMeta.forEach((key) => {
108
+ packages[key] = rest;
109
+ });
110
+ }
111
+ });
112
+ });
113
+ return packages;
114
+ }
115
+ /**
116
+ * Prunes the lock file data based on the list of packages and their transitive dependencies
117
+ *
118
+ * @param lockFileData
119
+ * @returns
120
+ */
121
+ function pruneYarnLockFile(lockFileData, packages) {
122
+ var _a;
123
+ const isBerry = !!((_a = lockFileData.lockFileMetadata) === null || _a === void 0 ? void 0 : _a.__metadata);
124
+ const prunedDependencies = pruneDependencies(lockFileData.dependencies, packages);
125
+ if (isBerry) {
126
+ const { __metadata, workspacePackages } = lockFileData.lockFileMetadata;
127
+ return {
128
+ lockFileMetadata: {
129
+ __metadata,
130
+ workspacePackages: pruneWorkspacePackages(workspacePackages, prunedDependencies, packages),
131
+ },
132
+ dependencies: prunedDependencies,
133
+ };
134
+ }
135
+ else {
136
+ return { dependencies: prunedDependencies };
137
+ }
138
+ }
139
+ exports.pruneYarnLockFile = pruneYarnLockFile;
140
+ // iterate over packages to collect the affected tree of dependencies
141
+ function pruneDependencies(dependencies, packages) {
142
+ const result = {};
143
+ packages.forEach((packageName) => {
144
+ if (dependencies[packageName]) {
145
+ // take the first version of the package as the default
146
+ const [key, value] = Object.entries(dependencies[packageName])[0];
147
+ result[packageName] = result[packageName] || {};
148
+ result[packageName][key] = value;
149
+ pruneTransitiveDependencies(dependencies, result, value);
150
+ }
151
+ else {
152
+ console.warn(`Could not find ${packageName} in the lock file. Skipping...`);
153
+ }
154
+ });
155
+ return result;
156
+ }
157
+ // find all transitive dependencies of already pruned packages
158
+ // and adds them to the collection
159
+ // recursively prunes their dependencies
160
+ function pruneTransitiveDependencies(dependencies, prunedDeps, value) {
161
+ if (!value.dependencies) {
162
+ return;
163
+ }
164
+ Object.entries(value.dependencies).forEach(([packageName, version]) => {
165
+ if (dependencies[packageName]) {
166
+ // check if package with given version exists in data
167
+ // if yes, return key, value and version expression from packageMeta
168
+ const dependencyTriplet = findDependencyTriplet(dependencies[packageName], packageName, version);
169
+ if (dependencyTriplet) {
170
+ const [key, _a, metaVersion] = dependencyTriplet, { packageMeta } = _a, value = tslib_1.__rest(_a, ["packageMeta"]);
171
+ if (!prunedDeps[packageName]) {
172
+ prunedDeps[packageName] = {};
173
+ }
174
+ if (prunedDeps[packageName][key]) {
175
+ const packageMeta = prunedDeps[packageName][key].packageMeta;
176
+ if (packageMeta.indexOf(metaVersion) === -1) {
177
+ packageMeta.push(metaVersion);
178
+ packageMeta.sort();
179
+ }
180
+ }
181
+ else {
182
+ prunedDeps[packageName][key] = Object.assign(Object.assign({}, value), { packageMeta: [metaVersion] });
183
+ // recurively collect dependencies
184
+ pruneTransitiveDependencies(dependencies, prunedDeps, prunedDeps[packageName][key]);
185
+ }
186
+ }
187
+ }
188
+ });
189
+ }
190
+ // prune dependencies of workspace packages from the lockFileMeta
191
+ function pruneWorkspacePackages(workspacePackages, prunedDependencies, packages) {
192
+ const result = {};
193
+ Object.entries(workspacePackages).forEach((_a) => {
194
+ var [packageKey, _b] = _a, { dependencies } = _b, value = tslib_1.__rest(_b, ["dependencies"]);
195
+ const isRootPackage = packageKey.indexOf('@workspace:.') !== -1;
196
+ const prunedWorkspaceDependencies = pruneWorkspacePackageDependencies(dependencies, packages, prunedDependencies, isRootPackage);
197
+ result[packageKey] = Object.assign(Object.assign({}, value), { dependencies: (0, utils_1.sortObject)(prunedWorkspaceDependencies) });
198
+ });
199
+ return result;
200
+ }
201
+ function pruneWorkspacePackageDependencies(dependencies, packages, prunedDependencies, isRoot) {
202
+ const result = {};
203
+ Object.entries(dependencies).forEach(([packageName, packageVersion]) => {
204
+ if (isPackageVersionMatch(prunedDependencies[packageName], packageName, packageVersion)) {
205
+ result[packageName] = packageVersion;
206
+ }
207
+ });
208
+ // add all missing deps to root workspace package
209
+ if (isRoot) {
210
+ packages.forEach((p) => {
211
+ if (!result[p]) {
212
+ // extract first version expression from package's structure
213
+ const metaVersion = Object.values(prunedDependencies[p])[0]
214
+ .packageMeta[0];
215
+ result[p] = metaVersion.split('@npm:')[1];
216
+ }
217
+ });
218
+ }
219
+ return result;
220
+ }
221
+ // check if package with given version exists in pruned dependencies
222
+ function isPackageVersionMatch(packageVersions, packageName, packageVersion) {
223
+ if (!packageVersions) {
224
+ return false;
225
+ }
226
+ const versionExpr = `${packageName}@${packageVersion}`;
227
+ const berryVersionExpr = `${packageName}@npm:${packageVersion}`;
228
+ const values = Object.values(packageVersions);
229
+ for (let i = 0; i < values.length; i++) {
230
+ if (values[i].packageMeta.includes(versionExpr) ||
231
+ values[i].packageMeta.includes(berryVersionExpr)) {
232
+ return true;
233
+ }
234
+ }
235
+ return false;
236
+ }
237
+ // find version of the package in LockFileData that matches given depVersion expression
238
+ // returns [package@version, packageValue, package@npm:version]
239
+ // for berry, the third parameter is different so we return it as well
240
+ function findDependencyTriplet(dependency, packageName, version) {
241
+ const entries = Object.entries(dependency);
242
+ for (let i = 0; i < entries.length; i++) {
243
+ const [key, value] = entries[i];
244
+ let metaVersion = `${packageName}@${version}`;
245
+ if (value.packageMeta.includes(metaVersion)) {
246
+ return [key, value, metaVersion];
247
+ }
248
+ // for berry, meta version starts with 'npm:'
249
+ metaVersion = `${packageName}@npm:${version}`;
250
+ if (value.packageMeta.includes(metaVersion)) {
251
+ return [key, value, metaVersion];
252
+ }
253
+ }
254
+ return;
255
+ }
256
+ //# sourceMappingURL=yarn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/utils/lock-file/yarn.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export declare function addCommandPrefixIfNeeded(projectName: string, chunk: any, encoding: string): {
2
- content: any;
3
- encoding: string;
4
- };
5
- export declare function addPrefixToLines(projectName: string, lines: string[]): any[];
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addPrefixToLines = exports.addCommandPrefixIfNeeded = void 0;
4
- const chalk = require("chalk");
5
- function addCommandPrefixIfNeeded(projectName, chunk, encoding) {
6
- if (process.env.NX_PREFIX_OUTPUT === 'true') {
7
- const lines = (typeof chunk === 'string' ? chunk : chunk.toString('utf-8')).split('\n');
8
- return {
9
- content: addPrefixToLines(projectName, lines).join('\n'),
10
- encoding: 'utf-8',
11
- };
12
- }
13
- else {
14
- return { content: chunk, encoding: encoding };
15
- }
16
- }
17
- exports.addCommandPrefixIfNeeded = addCommandPrefixIfNeeded;
18
- function addPrefixToLines(projectName, lines) {
19
- const updatedLines = [];
20
- for (let i = 0; i < lines.length; ++i) {
21
- if (i === lines.length - 1 && lines[i] === '') {
22
- updatedLines.push('');
23
- }
24
- else {
25
- updatedLines.push(`${projectNamePrefix(projectName)} ${lines[i]}`);
26
- }
27
- }
28
- return updatedLines;
29
- }
30
- exports.addPrefixToLines = addPrefixToLines;
31
- const colors = [
32
- chalk.green,
33
- chalk.greenBright,
34
- chalk.red,
35
- chalk.redBright,
36
- chalk.cyan,
37
- chalk.cyanBright,
38
- chalk.yellow,
39
- chalk.yellowBright,
40
- chalk.magenta,
41
- chalk.magentaBright,
42
- ];
43
- function projectNamePrefix(projectName) {
44
- const n = normalizeProjectName(projectName);
45
- return colors[projectNameToIndex(projectName)](`[${n}]`);
46
- }
47
- function projectNameToIndex(projectName) {
48
- let code = 0;
49
- for (let i = 0; i < projectName.length; ++i) {
50
- code += projectName.charCodeAt(i);
51
- }
52
- return code % colors.length;
53
- }
54
- function normalizeProjectName(projectName) {
55
- return projectName.length > 15
56
- ? `...${projectName.substring(projectName.length - 12)}`
57
- : `${projectName} `.substring(0, 15);
58
- }
59
- //# sourceMappingURL=add-command-prefix.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-command-prefix.js","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/add-command-prefix.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAE/B,SAAgB,wBAAwB,CACtC,WAAmB,EACnB,KAAU,EACV,QAAgB;IAEhB,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,MAAM,EAAE;QAC3C,MAAM,KAAK,GAAG,CACZ,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC5D,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;YACL,OAAO,EAAE,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACxD,QAAQ,EAAE,OAAO;SAClB,CAAC;KACH;SAAM;QACL,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;KAC/C;AACH,CAAC;AAhBD,4DAgBC;AAED,SAAgB,gBAAgB,CAAC,WAAmB,EAAE,KAAe;IACnE,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACrC,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7C,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACvB;aAAM;YACL,YAAY,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACpE;KACF;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAVD,4CAUC;AAED,MAAM,MAAM,GAAG;IACb,KAAK,CAAC,KAAK;IACX,KAAK,CAAC,WAAW;IACjB,KAAK,CAAC,GAAG;IACT,KAAK,CAAC,SAAS;IACf,KAAK,CAAC,IAAI;IACV,KAAK,CAAC,UAAU;IAChB,KAAK,CAAC,MAAM;IACZ,KAAK,CAAC,YAAY;IAClB,KAAK,CAAC,OAAO;IACb,KAAK,CAAC,aAAa;CACpB,CAAC;AAEF,SAAS,iBAAiB,CAAC,WAAmB;IAC5C,MAAM,CAAC,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QAC3C,IAAI,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KACnC;IACD,OAAO,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;AAC9B,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,OAAO,WAAW,CAAC,MAAM,GAAG,EAAE;QAC5B,CAAC,CAAC,MAAM,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE;QACxD,CAAC,CAAC,GAAG,WAAW,uBAAuB,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC"}