nx 19.5.3 → 19.5.5
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 +13 -13
- package/release/changelog-renderer/index.js +5 -4
- package/schemas/project-schema.json +40 -6
- package/src/command-line/connect/connect-to-nx-cloud.d.ts +2 -0
- package/src/command-line/connect/connect-to-nx-cloud.js +33 -6
- package/src/command-line/connect/view-logs.js +5 -3
- package/src/command-line/examples.js +4 -0
- package/src/command-line/init/implementation/add-nx-to-monorepo.js +1 -1
- package/src/command-line/init/implementation/add-nx-to-nest.js +1 -1
- package/src/command-line/init/implementation/add-nx-to-npm-repo.js +1 -1
- package/src/command-line/init/implementation/angular/index.js +1 -1
- package/src/command-line/init/implementation/angular/legacy-angular-versions.js +1 -1
- package/src/command-line/init/implementation/utils.d.ts +1 -1
- package/src/command-line/init/implementation/utils.js +7 -5
- package/src/command-line/init/init-v2.js +1 -4
- package/src/command-line/migrate/migrate.js +33 -13
- package/src/command-line/release/changelog.js +1 -0
- package/src/command-line/release/config/config.js +4 -0
- package/src/command-line/release/plan.js +2 -12
- package/src/command-line/release/utils/generate-version-plan-content.d.ts +1 -0
- package/src/command-line/release/utils/generate-version-plan-content.js +21 -0
- package/src/command-line/release/utils/shared.js +8 -5
- package/src/command-line/release/version.js +4 -2
- package/src/command-line/report/report.d.ts +1 -0
- package/src/command-line/report/report.js +14 -9
- package/src/core/graph/main.js +1 -1
- package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.d.ts +6 -0
- package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.js +15 -5
- package/src/native/index.d.ts +2 -0
- package/src/native/native-bindings.js +1 -0
- package/src/native/nx.wasi.cjs +35 -33
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.d.ts +3 -2
- package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.js +18 -57
- package/src/nx-cloud/utilities/url-shorten.d.ts +1 -1
- package/src/nx-cloud/utilities/url-shorten.js +5 -7
- package/src/project-graph/plugins/internal-api.js +4 -1
- package/src/tasks-runner/task-env.js +3 -2
- package/src/tasks-runner/task-graph-utils.js +1 -1
- package/src/utils/git-utils.js +3 -1
@@ -6,3 +6,9 @@ import type { Tree } from '../tree';
|
|
6
6
|
export declare function formatChangedFilesWithPrettierIfAvailable(tree: Tree, options?: {
|
7
7
|
silent?: boolean;
|
8
8
|
}): Promise<void>;
|
9
|
+
export declare function formatFilesWithPrettierIfAvailable(files: {
|
10
|
+
path: string;
|
11
|
+
content: string | Buffer;
|
12
|
+
}[], root: string, options?: {
|
13
|
+
silent?: boolean;
|
14
|
+
}): Promise<Map<string, string>>;
|
@@ -1,23 +1,32 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.formatChangedFilesWithPrettierIfAvailable = formatChangedFilesWithPrettierIfAvailable;
|
4
|
+
exports.formatFilesWithPrettierIfAvailable = formatFilesWithPrettierIfAvailable;
|
4
5
|
const path = require("path");
|
5
6
|
/**
|
6
7
|
* Formats all the created or updated files using Prettier
|
7
8
|
* @param tree - the file system tree
|
8
9
|
*/
|
9
10
|
async function formatChangedFilesWithPrettierIfAvailable(tree, options) {
|
11
|
+
const files = new Set(tree.listChanges().filter((file) => file.type !== 'DELETE'));
|
12
|
+
const results = await formatFilesWithPrettierIfAvailable(Array.from(files), tree.root, options);
|
13
|
+
for (const [path, content] of results) {
|
14
|
+
tree.write(path, content);
|
15
|
+
}
|
16
|
+
}
|
17
|
+
async function formatFilesWithPrettierIfAvailable(files, root, options) {
|
18
|
+
const results = new Map();
|
10
19
|
let prettier;
|
11
20
|
try {
|
12
21
|
prettier = await Promise.resolve().then(() => require('prettier'));
|
13
22
|
}
|
14
23
|
catch { }
|
15
|
-
if (!prettier)
|
16
|
-
return;
|
17
|
-
|
24
|
+
if (!prettier) {
|
25
|
+
return results;
|
26
|
+
}
|
18
27
|
await Promise.all(Array.from(files).map(async (file) => {
|
19
28
|
try {
|
20
|
-
const systemPath = path.join(
|
29
|
+
const systemPath = path.join(root, file.path);
|
21
30
|
let options = {
|
22
31
|
filepath: systemPath,
|
23
32
|
};
|
@@ -35,7 +44,7 @@ async function formatChangedFilesWithPrettierIfAvailable(tree, options) {
|
|
35
44
|
if (support.ignored || !support.inferredParser) {
|
36
45
|
return;
|
37
46
|
}
|
38
|
-
|
47
|
+
results.set(file.path,
|
39
48
|
// In prettier v3 the format result is a promise
|
40
49
|
await prettier.format(file.content.toString('utf-8'), options));
|
41
50
|
}
|
@@ -45,4 +54,5 @@ async function formatChangedFilesWithPrettierIfAvailable(tree, options) {
|
|
45
54
|
}
|
46
55
|
}
|
47
56
|
}));
|
57
|
+
return results;
|
48
58
|
}
|
package/src/native/index.d.ts
CHANGED
@@ -116,6 +116,8 @@ export interface FileSetInput {
|
|
116
116
|
|
117
117
|
export declare export function findImports(projectFileMap: Record<string, Array<string>>): Array<ImportResult>
|
118
118
|
|
119
|
+
export declare export function getBinaryTarget(): string
|
120
|
+
|
119
121
|
/**
|
120
122
|
* Expands the given outputs into a list of existing files.
|
121
123
|
* This is used when hashing outputs
|
@@ -372,6 +372,7 @@ module.exports.copy = nativeBinding.copy
|
|
372
372
|
module.exports.EventType = nativeBinding.EventType
|
373
373
|
module.exports.expandOutputs = nativeBinding.expandOutputs
|
374
374
|
module.exports.findImports = nativeBinding.findImports
|
375
|
+
module.exports.getBinaryTarget = nativeBinding.getBinaryTarget
|
375
376
|
module.exports.getFilesForOutputs = nativeBinding.getFilesForOutputs
|
376
377
|
module.exports.hashArray = nativeBinding.hashArray
|
377
378
|
module.exports.hashFile = nativeBinding.hashFile
|
package/src/native/nx.wasi.cjs
CHANGED
@@ -88,39 +88,40 @@ function __napi_rs_initialize_modules(__napiInstance) {
|
|
88
88
|
__napiInstance.exports['__napi_register__copy_3']?.()
|
89
89
|
__napiInstance.exports['__napi_register__hash_array_4']?.()
|
90
90
|
__napiInstance.exports['__napi_register__hash_file_5']?.()
|
91
|
-
__napiInstance.exports['
|
92
|
-
__napiInstance.exports['
|
93
|
-
__napiInstance.exports['
|
94
|
-
__napiInstance.exports['
|
95
|
-
__napiInstance.exports['
|
96
|
-
__napiInstance.exports['
|
97
|
-
__napiInstance.exports['
|
98
|
-
__napiInstance.exports['
|
99
|
-
__napiInstance.exports['
|
100
|
-
__napiInstance.exports['
|
101
|
-
__napiInstance.exports['
|
102
|
-
__napiInstance.exports['
|
103
|
-
__napiInstance.exports['
|
104
|
-
__napiInstance.exports['
|
105
|
-
__napiInstance.exports['
|
106
|
-
__napiInstance.exports['
|
107
|
-
__napiInstance.exports['
|
108
|
-
__napiInstance.exports['
|
109
|
-
__napiInstance.exports['
|
110
|
-
__napiInstance.exports['
|
111
|
-
__napiInstance.exports['
|
112
|
-
__napiInstance.exports['
|
113
|
-
__napiInstance.exports['
|
114
|
-
__napiInstance.exports['
|
115
|
-
__napiInstance.exports['
|
116
|
-
__napiInstance.exports['
|
117
|
-
__napiInstance.exports['
|
118
|
-
__napiInstance.exports['
|
119
|
-
__napiInstance.exports['
|
120
|
-
__napiInstance.exports['
|
121
|
-
__napiInstance.exports['
|
122
|
-
__napiInstance.exports['
|
123
|
-
__napiInstance.exports['
|
91
|
+
__napiInstance.exports['__napi_register__IS_WASM_6']?.()
|
92
|
+
__napiInstance.exports['__napi_register__get_binary_target_7']?.()
|
93
|
+
__napiInstance.exports['__napi_register__ImportResult_struct_8']?.()
|
94
|
+
__napiInstance.exports['__napi_register__find_imports_9']?.()
|
95
|
+
__napiInstance.exports['__napi_register__transfer_project_graph_10']?.()
|
96
|
+
__napiInstance.exports['__napi_register__ExternalNode_struct_11']?.()
|
97
|
+
__napiInstance.exports['__napi_register__Target_struct_12']?.()
|
98
|
+
__napiInstance.exports['__napi_register__Project_struct_13']?.()
|
99
|
+
__napiInstance.exports['__napi_register__ProjectGraph_struct_14']?.()
|
100
|
+
__napiInstance.exports['__napi_register__HashPlanner_struct_15']?.()
|
101
|
+
__napiInstance.exports['__napi_register__HashPlanner_impl_19']?.()
|
102
|
+
__napiInstance.exports['__napi_register__HashDetails_struct_20']?.()
|
103
|
+
__napiInstance.exports['__napi_register__HasherOptions_struct_21']?.()
|
104
|
+
__napiInstance.exports['__napi_register__TaskHasher_struct_22']?.()
|
105
|
+
__napiInstance.exports['__napi_register__TaskHasher_impl_25']?.()
|
106
|
+
__napiInstance.exports['__napi_register__Task_struct_26']?.()
|
107
|
+
__napiInstance.exports['__napi_register__TaskTarget_struct_27']?.()
|
108
|
+
__napiInstance.exports['__napi_register__TaskGraph_struct_28']?.()
|
109
|
+
__napiInstance.exports['__napi_register__FileData_struct_29']?.()
|
110
|
+
__napiInstance.exports['__napi_register__InputsInput_struct_30']?.()
|
111
|
+
__napiInstance.exports['__napi_register__FileSetInput_struct_31']?.()
|
112
|
+
__napiInstance.exports['__napi_register__RuntimeInput_struct_32']?.()
|
113
|
+
__napiInstance.exports['__napi_register__EnvironmentInput_struct_33']?.()
|
114
|
+
__napiInstance.exports['__napi_register__ExternalDependenciesInput_struct_34']?.()
|
115
|
+
__napiInstance.exports['__napi_register__DepsOutputsInput_struct_35']?.()
|
116
|
+
__napiInstance.exports['__napi_register__NxJson_struct_36']?.()
|
117
|
+
__napiInstance.exports['__napi_register__WorkspaceContext_struct_37']?.()
|
118
|
+
__napiInstance.exports['__napi_register__WorkspaceContext_impl_46']?.()
|
119
|
+
__napiInstance.exports['__napi_register__WorkspaceErrors_47']?.()
|
120
|
+
__napiInstance.exports['__napi_register__NxWorkspaceFiles_struct_48']?.()
|
121
|
+
__napiInstance.exports['__napi_register__NxWorkspaceFilesExternals_struct_49']?.()
|
122
|
+
__napiInstance.exports['__napi_register__UpdatedWorkspaceFiles_struct_50']?.()
|
123
|
+
__napiInstance.exports['__napi_register__FileMap_struct_51']?.()
|
124
|
+
__napiInstance.exports['__napi_register____test_only_transfer_file_map_52']?.()
|
124
125
|
}
|
125
126
|
module.exports.HashPlanner = __napiModule.exports.HashPlanner
|
126
127
|
module.exports.ImportResult = __napiModule.exports.ImportResult
|
@@ -129,6 +130,7 @@ module.exports.WorkspaceContext = __napiModule.exports.WorkspaceContext
|
|
129
130
|
module.exports.copy = __napiModule.exports.copy
|
130
131
|
module.exports.expandOutputs = __napiModule.exports.expandOutputs
|
131
132
|
module.exports.findImports = __napiModule.exports.findImports
|
133
|
+
module.exports.getBinaryTarget = __napiModule.exports.getBinaryTarget
|
132
134
|
module.exports.getFilesForOutputs = __napiModule.exports.getFilesForOutputs
|
133
135
|
module.exports.hashArray = __napiModule.exports.hashArray
|
134
136
|
module.exports.hashFile = __napiModule.exports.hashFile
|
Binary file
|
@@ -1,10 +1,11 @@
|
|
1
1
|
import { Tree } from '../../../generators/tree';
|
2
|
-
|
2
|
+
export declare function printSuccessMessage(token: string | undefined, installationSource: string, usesGithub: boolean): Promise<string>;
|
3
|
+
export interface ConnectToNxCloudOptions {
|
3
4
|
analytics?: boolean;
|
4
5
|
installationSource?: string;
|
5
6
|
hideFormatLogs?: boolean;
|
6
7
|
github?: boolean;
|
7
8
|
directory?: string;
|
8
9
|
}
|
9
|
-
export declare function connectToNxCloud(tree: Tree, schema: ConnectToNxCloudOptions): Promise<
|
10
|
+
export declare function connectToNxCloud(tree: Tree, schema: ConnectToNxCloudOptions): Promise<string>;
|
10
11
|
export default connectToNxCloud;
|
@@ -1,5 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.printSuccessMessage = printSuccessMessage;
|
3
4
|
exports.connectToNxCloud = connectToNxCloud;
|
4
5
|
const child_process_1 = require("child_process");
|
5
6
|
const output_1 = require("../../../utils/output");
|
@@ -8,8 +9,6 @@ const nx_json_1 = require("../../../generators/utils/nx-json");
|
|
8
9
|
const format_changed_files_with_prettier_if_available_1 = require("../../../generators/internal-utils/format-changed-files-with-prettier-if-available");
|
9
10
|
const url_shorten_1 = require("../../utilities/url-shorten");
|
10
11
|
const get_cloud_options_1 = require("../../utilities/get-cloud-options");
|
11
|
-
const ora = require("ora");
|
12
|
-
const open = require("open");
|
13
12
|
function printCloudConnectionDisabledMessage() {
|
14
13
|
output_1.output.error({
|
15
14
|
title: `Connections to Nx Cloud are disabled for this workspace`,
|
@@ -55,53 +54,19 @@ async function createNxCloudWorkspace(workspaceName, installationSource, nxInitD
|
|
55
54
|
return response.data;
|
56
55
|
}
|
57
56
|
async function printSuccessMessage(token, installationSource, usesGithub) {
|
58
|
-
const connectCloudUrl = await (0, url_shorten_1.
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
`- Go to the following URL to connect your workspace to Nx Cloud:`,
|
72
|
-
'',
|
73
|
-
`${connectCloudUrl}`,
|
74
|
-
],
|
75
|
-
});
|
76
|
-
}
|
77
|
-
}
|
78
|
-
else {
|
79
|
-
if (installationSource === 'create-nx-workspace') {
|
80
|
-
output_1.output.note({
|
81
|
-
title: `Your Nx Cloud workspace is ready.`,
|
82
|
-
bodyLines: [
|
83
|
-
`To claim it, connect it to your Nx Cloud account:`,
|
84
|
-
`- Push your repository to your git hosting provider.`,
|
85
|
-
`- Go to the following URL to connect your workspace to Nx Cloud:`,
|
86
|
-
'',
|
87
|
-
`${connectCloudUrl}`,
|
88
|
-
],
|
89
|
-
});
|
90
|
-
}
|
91
|
-
else {
|
92
|
-
output_1.output.note({
|
93
|
-
title: `Your Nx Cloud workspace is ready.`,
|
94
|
-
bodyLines: [
|
95
|
-
`To claim it, connect it to your Nx Cloud account:`,
|
96
|
-
`- Commit and push your changes.`,
|
97
|
-
`- Create a pull request for the changes.`,
|
98
|
-
`- Go to the following URL to connect your workspace to Nx Cloud:`,
|
99
|
-
'',
|
100
|
-
`${connectCloudUrl}`,
|
101
|
-
],
|
102
|
-
});
|
103
|
-
}
|
104
|
-
}
|
57
|
+
const connectCloudUrl = await (0, url_shorten_1.createNxCloudOnboardingURL)(installationSource, token, usesGithub);
|
58
|
+
output_1.output.note({
|
59
|
+
title: `Your Nx Cloud workspace is ready.`,
|
60
|
+
bodyLines: [
|
61
|
+
`To claim it, connect it to your Nx Cloud account:`,
|
62
|
+
`- Commit and push your changes.`,
|
63
|
+
`- Create a pull request for the changes.`,
|
64
|
+
`- Go to the following URL to connect your workspace to Nx Cloud:`,
|
65
|
+
'',
|
66
|
+
`${connectCloudUrl}`,
|
67
|
+
],
|
68
|
+
});
|
69
|
+
return connectCloudUrl;
|
105
70
|
}
|
106
71
|
function addNxCloudOptionsToNxJson(tree, nxJson, token) {
|
107
72
|
nxJson ??= {
|
@@ -118,12 +83,11 @@ async function connectToNxCloud(tree, schema) {
|
|
118
83
|
schema.installationSource ??= 'user';
|
119
84
|
const nxJson = (0, nx_json_1.readNxJson)(tree);
|
120
85
|
if (nxJson?.neverConnectToCloud) {
|
121
|
-
|
122
|
-
|
123
|
-
};
|
86
|
+
printCloudConnectionDisabledMessage();
|
87
|
+
return null;
|
124
88
|
}
|
125
89
|
else {
|
126
|
-
const usesGithub = await (0, url_shorten_1.repoUsesGithub)(schema.github);
|
90
|
+
const usesGithub = schema.github ?? (await (0, url_shorten_1.repoUsesGithub)(schema.github));
|
127
91
|
let responseFromCreateNxCloudWorkspace;
|
128
92
|
// do NOT create Nx Cloud token (createNxCloudWorkspace)
|
129
93
|
// if user is using github and is running nx-connect
|
@@ -133,11 +97,8 @@ async function connectToNxCloud(tree, schema) {
|
|
133
97
|
await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(tree, {
|
134
98
|
silent: schema.hideFormatLogs,
|
135
99
|
});
|
100
|
+
return responseFromCreateNxCloudWorkspace.token;
|
136
101
|
}
|
137
|
-
return async () => await printSuccessMessage(responseFromCreateNxCloudWorkspace?.token, schema.installationSource, usesGithub);
|
138
102
|
}
|
139
103
|
}
|
140
|
-
function sleep(ms) {
|
141
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
142
|
-
}
|
143
104
|
exports.default = connectToNxCloud;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
export declare function
|
1
|
+
export declare function createNxCloudOnboardingURL(onboardingSource: string, accessToken?: string, usesGithub?: boolean, meta?: string): Promise<string>;
|
2
2
|
export declare function repoUsesGithub(github?: boolean, githubSlug?: string, apiUrl?: string): Promise<boolean>;
|
3
3
|
export declare function getURLifShortenFailed(usesGithub: boolean, githubSlug: string | null, apiUrl: string, source: string, accessToken?: string): string;
|
4
4
|
export declare function getNxCloudVersion(apiUrl: string): Promise<string | null>;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.createNxCloudOnboardingURL = createNxCloudOnboardingURL;
|
4
4
|
exports.repoUsesGithub = repoUsesGithub;
|
5
5
|
exports.getURLifShortenFailed = getURLifShortenFailed;
|
6
6
|
exports.getNxCloudVersion = getNxCloudVersion;
|
@@ -10,7 +10,7 @@ exports.compareCleanCloudVersions = compareCleanCloudVersions;
|
|
10
10
|
const devkit_exports_1 = require("../../devkit-exports");
|
11
11
|
const git_utils_1 = require("../../utils/git-utils");
|
12
12
|
const get_cloud_options_1 = require("./get-cloud-options");
|
13
|
-
async function
|
13
|
+
async function createNxCloudOnboardingURL(onboardingSource, accessToken, usesGithub, meta) {
|
14
14
|
const githubSlug = (0, git_utils_1.getGithubSlugOrNull)();
|
15
15
|
const apiUrl = (0, get_cloud_options_1.getCloudUrl)();
|
16
16
|
if (usesGithub === undefined || usesGithub === null) {
|
@@ -28,13 +28,14 @@ async function shortenedCloudUrl(installationSource, accessToken, usesGithub) {
|
|
28
28
|
${e}`);
|
29
29
|
return apiUrl;
|
30
30
|
}
|
31
|
-
const source = getSource(
|
31
|
+
const source = getSource(onboardingSource);
|
32
32
|
try {
|
33
33
|
const response = await require('axios').post(`${apiUrl}/nx-cloud/onboarding`, {
|
34
34
|
type: usesGithub ? 'GITHUB' : 'MANUAL',
|
35
35
|
source,
|
36
36
|
accessToken: usesGithub ? null : accessToken,
|
37
37
|
selectedRepositoryName: githubSlug === 'github' ? null : githubSlug,
|
38
|
+
meta,
|
38
39
|
});
|
39
40
|
if (!response?.data || response.data.message) {
|
40
41
|
throw new Error(response?.data?.message ?? 'Failed to shorten Nx Cloud URL');
|
@@ -67,11 +68,8 @@ function getSource(installationSource) {
|
|
67
68
|
else if (installationSource.includes('nx-connect')) {
|
68
69
|
return 'nx-connect';
|
69
70
|
}
|
70
|
-
else if (installationSource.includes('create-nx-workspace')) {
|
71
|
-
return 'create-nx-workspace';
|
72
|
-
}
|
73
71
|
else {
|
74
|
-
return
|
72
|
+
return installationSource;
|
75
73
|
}
|
76
74
|
}
|
77
75
|
function getURLifShortenFailed(usesGithub, githubSlug, apiUrl, source, accessToken) {
|
@@ -13,6 +13,7 @@ const loader_1 = require("./loader");
|
|
13
13
|
const utils_1 = require("./utils");
|
14
14
|
const error_types_1 = require("../error-types");
|
15
15
|
const native_1 = require("../../native");
|
16
|
+
const os_1 = require("os");
|
16
17
|
class LoadedNxPlugin {
|
17
18
|
constructor(plugin, pluginDefinition) {
|
18
19
|
this.name = plugin.name;
|
@@ -74,7 +75,9 @@ exports.nxPluginCache = new Map();
|
|
74
75
|
async function loadNxPlugins(plugins, root = workspace_root_1.workspaceRoot) {
|
75
76
|
performance.mark('loadNxPlugins:start');
|
76
77
|
const loadingMethod = process.env.NX_ISOLATE_PLUGINS === 'true' ||
|
77
|
-
(!native_1.IS_WASM &&
|
78
|
+
(!native_1.IS_WASM &&
|
79
|
+
(0, os_1.platform)() !== 'win32' &&
|
80
|
+
process.env.NX_ISOLATE_PLUGINS !== 'false')
|
78
81
|
? isolation_1.loadNxPluginInIsolation
|
79
82
|
: loader_1.loadNxPlugin;
|
80
83
|
plugins = await normalizePlugins(plugins, root);
|
@@ -8,6 +8,7 @@ exports.unloadDotEnvFile = unloadDotEnvFile;
|
|
8
8
|
const dotenv_1 = require("dotenv");
|
9
9
|
const dotenv_expand_1 = require("dotenv-expand");
|
10
10
|
const workspace_root_1 = require("../utils/workspace-root");
|
11
|
+
const node_path_1 = require("node:path");
|
11
12
|
function getEnvVariablesForBatchProcess(skipNxCache, captureStderr) {
|
12
13
|
return {
|
13
14
|
// User Process Env Variables override Dotenv Variables
|
@@ -158,13 +159,13 @@ function getEnvFilesForTask(task) {
|
|
158
159
|
function loadDotEnvFilesForTask(task, environmentVariables) {
|
159
160
|
const dotEnvFiles = getEnvFilesForTask(task);
|
160
161
|
for (const file of dotEnvFiles) {
|
161
|
-
loadAndExpandDotEnvFile(file, environmentVariables);
|
162
|
+
loadAndExpandDotEnvFile((0, node_path_1.join)(workspace_root_1.workspaceRoot, file), environmentVariables);
|
162
163
|
}
|
163
164
|
return environmentVariables;
|
164
165
|
}
|
165
166
|
function unloadDotEnvFiles(environmentVariables) {
|
166
167
|
for (const file of ['.env', '.local.env', '.env.local']) {
|
167
|
-
unloadDotEnvFile(file, environmentVariables);
|
168
|
+
unloadDotEnvFile((0, node_path_1.join)(workspace_root_1.workspaceRoot, file), environmentVariables);
|
168
169
|
}
|
169
170
|
return environmentVariables;
|
170
171
|
}
|
@@ -66,7 +66,7 @@ function validateNoAtomizedTasks(taskGraph, projectGraph) {
|
|
66
66
|
.filter((item, index, arr) => arr.indexOf(item) === index);
|
67
67
|
const moreInfoLines = [
|
68
68
|
`Please enable Nx Cloud or use the slower ${nonAtomizedTasks.join(',')} task${nonAtomizedTasks.length > 1 ? 's' : ''}.`,
|
69
|
-
'Learn more at https://nx.dev/ci/features/split-e2e-tasks#
|
69
|
+
'Learn more at https://nx.dev/ci/features/split-e2e-tasks#nx-cloud-is-required-to-run-atomized-tasks',
|
70
70
|
];
|
71
71
|
if (atomizedRootTasks.length === 1) {
|
72
72
|
output_1.output.error({
|
package/src/utils/git-utils.js
CHANGED
@@ -8,7 +8,9 @@ const child_process_1 = require("child_process");
|
|
8
8
|
const devkit_exports_1 = require("../devkit-exports");
|
9
9
|
function getGithubSlugOrNull() {
|
10
10
|
try {
|
11
|
-
const gitRemote = (0, child_process_1.execSync)('git remote -v'
|
11
|
+
const gitRemote = (0, child_process_1.execSync)('git remote -v', {
|
12
|
+
stdio: 'pipe',
|
13
|
+
}).toString();
|
12
14
|
// If there are no remotes, we default to github
|
13
15
|
if (!gitRemote || gitRemote.length === 0) {
|
14
16
|
return 'github';
|