nx 20.0.0-beta.4 → 20.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/.eslintrc.json +12 -2
- package/migrations.json +0 -37
- package/package.json +12 -13
- package/src/command-line/release/index.d.ts +5 -2
- package/src/command-line/release/publish.d.ts +6 -1
- package/src/command-line/release/publish.js +31 -25
- package/src/command-line/release/utils/print-changes.js +6 -4
- package/src/command-line/release/utils/resolve-nx-json-error-message.js +4 -3
- package/src/command-line/release/version.d.ts +3 -3
- package/src/config/workspace-json-project-json.d.ts +14 -0
- package/src/core/graph/main.js +1 -1
- package/src/daemon/server/handle-hash-tasks.js +1 -1
- package/src/executors/run-commands/run-commands.impl.js +15 -22
- package/src/hasher/create-task-hasher.js +1 -1
- package/src/hasher/task-hasher.d.ts +2 -6
- package/src/hasher/task-hasher.js +6 -32
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/nx-cloud/utilities/axios.js +1 -2
- package/src/nx-cloud/utilities/onboarding.js +2 -2
- package/src/nx-cloud/utilities/url-shorten.js +5 -5
- package/src/project-graph/file-utils.d.ts +2 -2
- package/src/project-graph/file-utils.js +2 -2
- package/src/tasks-runner/cache.d.ts +1 -2
- package/src/tasks-runner/cache.js +4 -4
- package/src/tasks-runner/create-task-graph.d.ts +2 -0
- package/src/tasks-runner/create-task-graph.js +35 -1
- package/src/tasks-runner/task-orchestrator.js +1 -1
- package/src/utils/git-utils.js +2 -2
- package/src/utils/plugins/output.js +1 -1
- package/src/hasher/node-task-hasher-impl.d.ts +0 -48
- package/src/hasher/node-task-hasher-impl.js +0 -449
- package/src/migrations/update-15-0-0/prefix-outputs.d.ts +0 -2
- package/src/migrations/update-15-0-0/prefix-outputs.js +0 -49
- package/src/migrations/update-16-0-0/remove-nrwl-cli.d.ts +0 -2
- package/src/migrations/update-16-0-0/remove-nrwl-cli.js +0 -16
- package/src/migrations/update-16-0-0/update-depends-on-to-tokens.d.ts +0 -2
- package/src/migrations/update-16-0-0/update-depends-on-to-tokens.js +0 -97
- package/src/migrations/update-16-0-0/update-nx-cloud-runner.d.ts +0 -2
- package/src/migrations/update-16-0-0/update-nx-cloud-runner.js +0 -29
- package/src/migrations/update-16-2-0/remove-run-commands-output-path.d.ts +0 -2
- package/src/migrations/update-16-2-0/remove-run-commands-output-path.js +0 -45
- package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.d.ts +0 -12
- package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.js +0 -67
@@ -1,45 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.default = removeRunCommandsOutputPath;
|
4
|
-
const path_1 = require("../../utils/path");
|
5
|
-
const format_changed_files_with_prettier_if_available_1 = require("../../generators/internal-utils/format-changed-files-with-prettier-if-available");
|
6
|
-
const json_1 = require("../../generators/utils/json");
|
7
|
-
const project_configuration_1 = require("../../generators/utils/project-configuration");
|
8
|
-
async function removeRunCommandsOutputPath(tree) {
|
9
|
-
for (const [project, configuration] of (0, project_configuration_1.getProjects)(tree).entries()) {
|
10
|
-
const targets = configuration.targets ?? {};
|
11
|
-
let changed = false;
|
12
|
-
for (const [, target] of Object.entries(targets)) {
|
13
|
-
changed ||= updateTargetBlock(target);
|
14
|
-
}
|
15
|
-
if (changed) {
|
16
|
-
(0, project_configuration_1.updateProjectConfiguration)(tree, project, configuration);
|
17
|
-
}
|
18
|
-
}
|
19
|
-
if (tree.exists('nx.json')) {
|
20
|
-
(0, json_1.updateJson)(tree, 'nx.json', (json) => {
|
21
|
-
for (const [, target] of Object.entries(json.targetDefaults ?? {})) {
|
22
|
-
updateTargetBlock(target);
|
23
|
-
}
|
24
|
-
return json;
|
25
|
-
});
|
26
|
-
}
|
27
|
-
await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(tree);
|
28
|
-
}
|
29
|
-
function updateTargetBlock(target) {
|
30
|
-
let changed = false;
|
31
|
-
if (target.executor === 'nx:run-commands' && target.options?.outputPath) {
|
32
|
-
changed = true;
|
33
|
-
const outputs = new Set(target.outputs ?? []);
|
34
|
-
outputs.delete('{options.outputPath}');
|
35
|
-
const newOutputs = Array.isArray(target.options.outputPath)
|
36
|
-
? target.options.outputPath.map((p) => (0, path_1.joinPathFragments)('{workspaceRoot}', p))
|
37
|
-
: [(0, path_1.joinPathFragments)('{workspaceRoot}', target.options.outputPath)];
|
38
|
-
for (const outputPath of newOutputs) {
|
39
|
-
outputs.add(outputPath);
|
40
|
-
}
|
41
|
-
delete target.options.outputPath;
|
42
|
-
target.outputs = Array.from(outputs);
|
43
|
-
}
|
44
|
-
return changed;
|
45
|
-
}
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import { Tree } from '../../generators/tree';
|
2
|
-
/**
|
3
|
-
* This function escapes dollar sign in env variables
|
4
|
-
* It will go through:
|
5
|
-
* - '.env', '.local.env', '.env.local'
|
6
|
-
* - .env.[target-name], .[target-name].env
|
7
|
-
* - .env.[target-name].[configuration-name], .[target-name].[configuration-name].env
|
8
|
-
* - .env.[configuration-name], .[configuration-name].env
|
9
|
-
* at each project root and workspace root
|
10
|
-
* @param tree
|
11
|
-
*/
|
12
|
-
export default function escapeDollarSignEnvVariables(tree: Tree): void;
|
@@ -1,67 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.default = escapeDollarSignEnvVariables;
|
4
|
-
const logger_1 = require("../../utils/logger");
|
5
|
-
const project_configuration_1 = require("../../generators/utils/project-configuration");
|
6
|
-
/**
|
7
|
-
* This function escapes dollar sign in env variables
|
8
|
-
* It will go through:
|
9
|
-
* - '.env', '.local.env', '.env.local'
|
10
|
-
* - .env.[target-name], .[target-name].env
|
11
|
-
* - .env.[target-name].[configuration-name], .[target-name].[configuration-name].env
|
12
|
-
* - .env.[configuration-name], .[configuration-name].env
|
13
|
-
* at each project root and workspace root
|
14
|
-
* @param tree
|
15
|
-
*/
|
16
|
-
function escapeDollarSignEnvVariables(tree) {
|
17
|
-
const envFiles = ['.env', '.local.env', '.env.local'];
|
18
|
-
for (const [_, configuration] of (0, project_configuration_1.getProjects)(tree).entries()) {
|
19
|
-
envFiles.push(`${configuration.root}/.env`, `${configuration.root}/.local.env`, `${configuration.root}/.env.local`);
|
20
|
-
for (const targetName in configuration.targets) {
|
21
|
-
const task = configuration.targets[targetName];
|
22
|
-
envFiles.push(`.env.${targetName}`, `.${targetName}.env`, `${configuration.root}/.env.${targetName}`, `${configuration.root}/.${targetName}.env`);
|
23
|
-
if (task.configurations) {
|
24
|
-
for (const configurationName in task.configurations) {
|
25
|
-
envFiles.push(`.env.${targetName}.${configurationName}`, `.${targetName}.${configurationName}.env`, `.env.${configurationName}`, `.${configurationName}.env`, `${configuration.root}/.env.${targetName}.${configurationName}`, `${configuration.root}/.${targetName}.${configurationName}.env`, `${configuration.root}/.env.${configurationName}`, `${configuration.root}/.${configurationName}.env`);
|
26
|
-
}
|
27
|
-
}
|
28
|
-
}
|
29
|
-
}
|
30
|
-
for (const envFile of new Set(envFiles)) {
|
31
|
-
parseEnvFile(tree, envFile);
|
32
|
-
}
|
33
|
-
}
|
34
|
-
/**
|
35
|
-
* This function parse the env file and escape dollar sign
|
36
|
-
* @param tree
|
37
|
-
* @param envFilePath
|
38
|
-
* @returns
|
39
|
-
*/
|
40
|
-
function parseEnvFile(tree, envFilePath) {
|
41
|
-
if (!tree.exists(envFilePath)) {
|
42
|
-
return;
|
43
|
-
}
|
44
|
-
let envFileContent = tree.read(envFilePath, 'utf-8');
|
45
|
-
if (!envFileContent) {
|
46
|
-
// envFileContent is null if we fail to read the file for any reason
|
47
|
-
// e.g. the file is not utf-8 encoded
|
48
|
-
logger_1.logger.info(`Unable to update ${envFilePath}. Nx interpolates environment variables in the form of $VAR_NAME. To escape the dollar sign, use \\$VAR_NAME.`);
|
49
|
-
return;
|
50
|
-
}
|
51
|
-
envFileContent = envFileContent
|
52
|
-
.split('\n')
|
53
|
-
.map((line) => {
|
54
|
-
line = line.trim();
|
55
|
-
if (!line || !line.includes('$')) {
|
56
|
-
return line;
|
57
|
-
}
|
58
|
-
const declarations = line.split('=');
|
59
|
-
if (declarations[1].includes('$') && !declarations[1].includes(`\\$`)) {
|
60
|
-
declarations[1] = declarations[1].replace('$', `\\$`);
|
61
|
-
line = declarations.join('=');
|
62
|
-
}
|
63
|
-
return line;
|
64
|
-
})
|
65
|
-
.join('\n');
|
66
|
-
tree.write(envFilePath, envFileContent);
|
67
|
-
}
|