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.
- package/CHANGELOG.md +1 -1
- package/bin/run-executor.js +2 -15
- package/bin/run-executor.js.map +1 -1
- package/package.json +9 -5
- package/src/command-line/run-many.js.map +1 -1
- package/src/core/graph/main.js +1 -1
- package/src/core/graph/polyfills.js +1 -1
- package/src/daemon/client/client.js +4 -1
- package/src/daemon/client/client.js.map +1 -1
- package/src/hasher/hasher.js +14 -9
- package/src/hasher/hasher.js.map +1 -1
- package/src/project-graph/build-project-graph.js +8 -3
- package/src/project-graph/build-project-graph.js.map +1 -1
- package/src/tasks-runner/forked-process-task-runner.js +38 -11
- package/src/tasks-runner/forked-process-task-runner.js.map +1 -1
- package/src/utils/lock-file/lock-file-type.d.ts +11 -0
- package/src/utils/lock-file/lock-file-type.js +3 -0
- package/src/utils/lock-file/lock-file-type.js.map +1 -0
- package/src/utils/lock-file/lock-file.d.ts +15 -0
- package/src/utils/lock-file/lock-file.js +67 -0
- package/src/utils/lock-file/lock-file.js.map +1 -0
- package/src/utils/lock-file/npm.d.ts +22 -0
- package/src/utils/lock-file/npm.js +166 -0
- package/src/utils/lock-file/npm.js.map +1 -0
- package/src/utils/lock-file/pnpm.d.ts +22 -0
- package/src/utils/lock-file/pnpm.js +158 -0
- package/src/utils/lock-file/pnpm.js.map +1 -0
- package/src/utils/lock-file/utils.d.ts +6 -0
- package/src/utils/lock-file/utils.js +21 -0
- package/src/utils/lock-file/utils.js.map +1 -0
- package/src/utils/lock-file/yarn.d.ts +22 -0
- package/src/utils/lock-file/yarn.js +256 -0
- package/src/utils/lock-file/yarn.js.map +1 -0
- package/src/utils/add-command-prefix.d.ts +0 -5
- package/src/utils/add-command-prefix.js +0 -59
- 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,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,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"}
|