nx 20.3.2 → 20.3.4
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 +11 -11
- package/src/command-line/add/add.js +6 -16
- package/src/command-line/init/configure-plugins.d.ts +5 -6
- package/src/command-line/init/configure-plugins.js +13 -22
- package/src/core/graph/main.js +1 -1
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/plugins/js/lock-file/utils/package-json.d.ts +1 -1
- package/src/plugins/js/lock-file/utils/package-json.js +2 -1
- package/src/plugins/js/lock-file/yarn-parser.js +15 -4
- package/src/tasks-runner/default-tasks-runner.js +20 -2
- package/src/tasks-runner/run-command.js +6 -1
Binary file
|
@@ -3,7 +3,7 @@ import { PackageJson } from '../../../../utils/package-json';
|
|
3
3
|
* Get version of hoisted package if available
|
4
4
|
*/
|
5
5
|
export declare function getHoistedPackageVersion(packageName: string): string;
|
6
|
-
export type NormalizedPackageJson = Pick<PackageJson, 'name' | 'version' | 'license' | 'dependencies' | 'devDependencies' | 'peerDependencies' | 'peerDependenciesMeta' | 'optionalDependencies'>;
|
6
|
+
export type NormalizedPackageJson = Pick<PackageJson, 'name' | 'version' | 'license' | 'dependencies' | 'devDependencies' | 'peerDependencies' | 'peerDependenciesMeta' | 'optionalDependencies' | 'packageManager'>;
|
7
7
|
/**
|
8
8
|
* Strip off non-pruning related fields from package.json
|
9
9
|
*/
|
@@ -19,7 +19,7 @@ function getHoistedPackageVersion(packageName) {
|
|
19
19
|
* Strip off non-pruning related fields from package.json
|
20
20
|
*/
|
21
21
|
function normalizePackageJson(packageJson) {
|
22
|
-
const { name, version, license, dependencies, devDependencies, peerDependencies, peerDependenciesMeta, optionalDependencies, } = packageJson;
|
22
|
+
const { name, version, license, dependencies, devDependencies, peerDependencies, peerDependenciesMeta, optionalDependencies, packageManager, } = packageJson;
|
23
23
|
return {
|
24
24
|
name,
|
25
25
|
version,
|
@@ -29,5 +29,6 @@ function normalizePackageJson(packageJson) {
|
|
29
29
|
peerDependencies,
|
30
30
|
peerDependenciesMeta,
|
31
31
|
optionalDependencies,
|
32
|
+
packageManager,
|
32
33
|
};
|
33
34
|
}
|
@@ -418,18 +418,29 @@ function findPatchedKeys(dependencies, node) {
|
|
418
418
|
}
|
419
419
|
const BERRY_LOCK_FILE_DISCLAIMER = `# This file is generated by running "yarn install" inside your project.\n# Manual changes might be lost - proceed with caution!\n\n`;
|
420
420
|
function generateRootWorkspacePackage(packageJson) {
|
421
|
+
let isVersion4 = false;
|
422
|
+
if (!!packageJson.packageManager) {
|
423
|
+
const [_, version] = packageJson.packageManager.split('@');
|
424
|
+
isVersion4 = !!version && (0, semver_1.satisfies)(version, '>=4.0.0');
|
425
|
+
}
|
426
|
+
const reducer = (acc, [name, version]) => {
|
427
|
+
acc[name] = isVersion4 ? `npm:${version}` : version;
|
428
|
+
return acc;
|
429
|
+
};
|
421
430
|
return {
|
422
431
|
version: '0.0.0-use.local',
|
423
432
|
resolution: `${packageJson.name}@workspace:.`,
|
424
|
-
...(packageJson.dependencies && {
|
433
|
+
...(packageJson.dependencies && {
|
434
|
+
dependencies: Object.entries(packageJson.dependencies).reduce(reducer, {}),
|
435
|
+
}),
|
425
436
|
...(packageJson.peerDependencies && {
|
426
|
-
peerDependencies: packageJson.peerDependencies,
|
437
|
+
peerDependencies: Object.entries(packageJson.peerDependencies).reduce(reducer, {}),
|
427
438
|
}),
|
428
439
|
...(packageJson.devDependencies && {
|
429
|
-
devDependencies: packageJson.devDependencies,
|
440
|
+
devDependencies: Object.entries(packageJson.devDependencies).reduce(reducer, {}),
|
430
441
|
}),
|
431
442
|
...(packageJson.optionalDependencies && {
|
432
|
-
optionalDependencies: packageJson.optionalDependencies,
|
443
|
+
optionalDependencies: Object.entries(packageJson.optionalDependencies).reduce(reducer, {}),
|
433
444
|
}),
|
434
445
|
languageName: 'unknown',
|
435
446
|
linkType: 'soft',
|
@@ -18,7 +18,7 @@ class RemoteCacheV2 {
|
|
18
18
|
(0, promises_1.readFile)((0, path_1.join)(cacheDirectory, hash, 'code'), 'utf-8').then((s) => +s),
|
19
19
|
]);
|
20
20
|
return {
|
21
|
-
outputsPath: cacheDirectory,
|
21
|
+
outputsPath: (0, path_1.join)(cacheDirectory, hash, 'outputs'),
|
22
22
|
terminalOutput: terminalOutput ?? oldTerminalOutput,
|
23
23
|
code,
|
24
24
|
};
|
@@ -27,8 +27,26 @@ class RemoteCacheV2 {
|
|
27
27
|
return null;
|
28
28
|
}
|
29
29
|
},
|
30
|
-
store: async (hash, cacheDirectory,
|
30
|
+
store: async (hash, cacheDirectory, terminalOutput, code) => {
|
31
|
+
// The new db cache places the outputs directly into the cacheDirectory + hash.
|
32
|
+
// old instances of Nx Cloud expect these outputs to be in cacheDirectory + hash + outputs
|
33
|
+
// this ensures that everything that was in the cache directory is moved to the outputs directory
|
34
|
+
const cacheDir = (0, path_1.join)(cacheDirectory, hash);
|
35
|
+
const outputDir = (0, path_1.join)(cacheDir, 'outputs');
|
36
|
+
await (0, promises_1.mkdir)(outputDir, { recursive: true });
|
37
|
+
const files = await (0, promises_1.readdir)(cacheDir);
|
38
|
+
await Promise.all(files.map(async (file) => {
|
39
|
+
const filePath = (0, path_1.join)(cacheDir, file);
|
40
|
+
// we don't want to move these files to the outputs directory because they are not artifacts of the task
|
41
|
+
if (filePath === outputDir ||
|
42
|
+
file === 'code' ||
|
43
|
+
file === 'terminalOutput') {
|
44
|
+
return;
|
45
|
+
}
|
46
|
+
await (0, promises_1.rename)(filePath, (0, path_1.join)(outputDir, file));
|
47
|
+
}));
|
31
48
|
await (0, promises_1.writeFile)((0, path_1.join)(cacheDirectory, hash, 'code'), code.toString());
|
49
|
+
await (0, promises_1.writeFile)((0, path_1.join)(cacheDirectory, hash, 'terminalOutput'), terminalOutput);
|
32
50
|
return cache.store(hash, cacheDirectory);
|
33
51
|
},
|
34
52
|
};
|
@@ -599,5 +599,10 @@ function getRunnerOptions(runner, nxJson, nxArgs, isCloudDefault) {
|
|
599
599
|
return result;
|
600
600
|
}
|
601
601
|
function isCustomRunnerPath(modulePath) {
|
602
|
-
return ![
|
602
|
+
return ![
|
603
|
+
'nx-cloud',
|
604
|
+
'@nrwl/nx-cloud',
|
605
|
+
'nx/tasks-runners/default',
|
606
|
+
defaultTasksRunnerPath,
|
607
|
+
].includes(modulePath);
|
603
608
|
}
|