@nrwl/workspace 13.4.7-beta.1 → 13.5.0-beta.4
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +2 -75
- package/migrations.json +9 -0
- package/package.json +7 -7
- package/src/command-line/daemon.js +7 -3
- package/src/command-line/daemon.js.map +1 -1
- package/src/command-line/list.d.ts +4 -15
- package/src/command-line/list.js +2 -10
- package/src/command-line/list.js.map +1 -1
- package/src/command-line/nx-commands.js +9 -1
- package/src/command-line/nx-commands.js.map +1 -1
- package/src/command-line/report.js +0 -1
- package/src/command-line/report.js.map +1 -1
- package/src/command-line/utils.js +1 -0
- package/src/command-line/utils.js.map +1 -1
- package/src/core/hasher/hasher.js +22 -3
- package/src/core/hasher/hasher.js.map +1 -1
- package/src/core/project-graph/daemon/client/client.js +10 -5
- package/src/core/project-graph/daemon/client/client.js.map +1 -1
- package/src/core/project-graph/daemon/server/server.js +6 -0
- package/src/core/project-graph/daemon/server/server.js.map +1 -1
- package/src/core/project-graph/daemon/server/start.js +5 -2
- package/src/core/project-graph/daemon/server/start.js.map +1 -1
- package/src/core/project-graph/daemon/server/stop.js +5 -2
- package/src/core/project-graph/daemon/server/stop.js.map +1 -1
- package/src/core/project-graph/daemon/tmp-dir.d.ts +2 -0
- package/src/core/project-graph/daemon/tmp-dir.js +18 -3
- package/src/core/project-graph/daemon/tmp-dir.js.map +1 -1
- package/src/core/project-graph/project-graph.js +48 -18
- package/src/core/project-graph/project-graph.js.map +1 -1
- package/src/executors/run-commands/run-commands.impl.js +3 -1
- package/src/executors/run-commands/run-commands.impl.js.map +1 -1
- package/src/generators/init/files/prettier/__dot__prettierignore +1 -0
- package/src/generators/init/init.js +5 -1
- package/src/generators/init/init.js.map +1 -1
- package/src/generators/new/new.js +0 -2
- package/src/generators/new/new.js.map +1 -1
- package/src/generators/preset/preset.js +0 -10
- package/src/generators/preset/preset.js.map +1 -1
- package/src/generators/utils/presets.d.ts +0 -1
- package/src/generators/utils/presets.js +0 -1
- package/src/generators/utils/presets.js.map +1 -1
- package/src/tasks-runner/default-tasks-runner.js.map +1 -1
- package/src/tasks-runner/forked-process-task-runner.js +27 -23
- package/src/tasks-runner/forked-process-task-runner.js.map +1 -1
- package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.d.ts +22 -0
- package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.js +342 -0
- package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.js.map +1 -0
- package/src/tasks-runner/{empty-terminal-output-life-cycle.d.ts → life-cycles/empty-terminal-output-life-cycle.d.ts} +2 -2
- package/src/tasks-runner/{empty-terminal-output-life-cycle.js → life-cycles/empty-terminal-output-life-cycle.js} +4 -3
- package/src/tasks-runner/life-cycles/empty-terminal-output-life-cycle.js.map +1 -0
- package/src/tasks-runner/{neo-output → life-cycles}/pretty-time.d.ts +0 -0
- package/src/tasks-runner/{neo-output → life-cycles}/pretty-time.js +0 -0
- package/src/tasks-runner/life-cycles/pretty-time.js.map +1 -0
- package/src/tasks-runner/{run-many-terminal-output-life-cycle.d.ts → life-cycles/static-run-many-terminal-output-life-cycle.d.ts} +12 -4
- package/src/tasks-runner/{run-many-terminal-output-life-cycle.js → life-cycles/static-run-many-terminal-output-life-cycle.js} +25 -14
- package/src/tasks-runner/life-cycles/static-run-many-terminal-output-life-cycle.js.map +1 -0
- package/src/tasks-runner/{run-one-terminal-output-life-cycle.d.ts → life-cycles/static-run-one-terminal-output-life-cycle.d.ts} +12 -4
- package/src/tasks-runner/{run-one-terminal-output-life-cycle.js → life-cycles/static-run-one-terminal-output-life-cycle.js} +23 -13
- package/src/tasks-runner/life-cycles/static-run-one-terminal-output-life-cycle.js.map +1 -0
- package/src/tasks-runner/{task-profiling-life-cycle.d.ts → life-cycles/task-profiling-life-cycle.d.ts} +2 -2
- package/src/tasks-runner/{task-profiling-life-cycle.js → life-cycles/task-profiling-life-cycle.js} +0 -0
- package/src/tasks-runner/life-cycles/task-profiling-life-cycle.js.map +1 -0
- package/src/tasks-runner/{task-timings-life-cycle.d.ts → life-cycles/task-timings-life-cycle.d.ts} +2 -2
- package/src/tasks-runner/{task-timings-life-cycle.js → life-cycles/task-timings-life-cycle.js} +0 -0
- package/src/tasks-runner/life-cycles/task-timings-life-cycle.js.map +1 -0
- package/src/tasks-runner/run-command.js +13 -12
- package/src/tasks-runner/run-command.js.map +1 -1
- package/src/utilities/output.d.ts +13 -5
- package/src/utilities/output.js +55 -34
- package/src/utilities/output.js.map +1 -1
- package/src/utilities/plugins/community-plugins.d.ts +1 -1
- package/src/utilities/plugins/community-plugins.js +1 -2
- package/src/utilities/plugins/community-plugins.js.map +1 -1
- package/src/utilities/plugins/core-plugins.d.ts +1 -1
- package/src/utilities/plugins/core-plugins.js +1 -2
- package/src/utilities/plugins/core-plugins.js.map +1 -1
- package/src/utilities/plugins/installed-plugins.d.ts +2 -2
- package/src/utilities/plugins/installed-plugins.js +18 -13
- package/src/utilities/plugins/installed-plugins.js.map +1 -1
- package/src/utils/versions.d.ts +1 -1
- package/src/utils/versions.js +2 -2
- package/src/tasks-runner/empty-terminal-output-life-cycle.js.map +0 -1
- package/src/tasks-runner/neo-output/pretty-time.js.map +0 -1
- package/src/tasks-runner/neo-output/render.d.ts +0 -13
- package/src/tasks-runner/neo-output/render.js +0 -244
- package/src/tasks-runner/neo-output/render.js.map +0 -1
- package/src/tasks-runner/run-many-terminal-output-life-cycle.js.map +0 -1
- package/src/tasks-runner/run-one-terminal-output-life-cycle.js.map +0 -1
- package/src/tasks-runner/task-profiling-life-cycle.js.map +0 -1
- package/src/tasks-runner/task-timings-life-cycle.js.map +0 -1
@@ -9,6 +9,7 @@ const output_1 = require("../utilities/output");
|
|
9
9
|
const utils_1 = require("./utils");
|
10
10
|
const path_1 = require("path");
|
11
11
|
const batch_messages_1 = require("./batch/batch-messages");
|
12
|
+
const devkit_1 = require("@nrwl/devkit");
|
12
13
|
const workerPath = (0, path_1.join)(__dirname, './batch/run-batch.js');
|
13
14
|
class ForkedProcessTaskRunner {
|
14
15
|
constructor(options) {
|
@@ -28,8 +29,8 @@ class ForkedProcessTaskRunner {
|
|
28
29
|
}
|
29
30
|
else {
|
30
31
|
const args = (0, utils_1.getCommandArgsForTask)(Object.values(taskGraph.tasks)[0]);
|
31
|
-
|
32
|
-
output_1.output.
|
32
|
+
output_1.output.logCommand(`${args.filter((a) => a !== 'run').join(' ')}`);
|
33
|
+
output_1.output.addNewline();
|
33
34
|
}
|
34
35
|
const p = (0, child_process_1.fork)(workerPath, {
|
35
36
|
stdio: ['inherit', 'inherit', 'inherit', 'ipc'],
|
@@ -72,9 +73,9 @@ class ForkedProcessTaskRunner {
|
|
72
73
|
return new Promise((res, rej) => {
|
73
74
|
try {
|
74
75
|
const args = (0, utils_1.getCommandArgsForTask)(task);
|
75
|
-
const commandLine = `nx ${args.join(' ')}`;
|
76
76
|
if (forwardOutput) {
|
77
|
-
output_1.output.logCommand(
|
77
|
+
output_1.output.logCommand(`${args.filter((a) => a !== 'run').join(' ')}`);
|
78
|
+
output_1.output.addNewline();
|
78
79
|
}
|
79
80
|
const p = (0, child_process_1.fork)(this.cliPath, args, {
|
80
81
|
stdio: ['inherit', 'pipe', 'pipe', 'ipc'],
|
@@ -121,9 +122,9 @@ class ForkedProcessTaskRunner {
|
|
121
122
|
return new Promise((res, rej) => {
|
122
123
|
try {
|
123
124
|
const args = (0, utils_1.getCommandArgsForTask)(task);
|
124
|
-
const commandLine = `nx ${args.join(' ')}`;
|
125
125
|
if (forwardOutput) {
|
126
|
-
output_1.output.logCommand(
|
126
|
+
output_1.output.logCommand(`${args.filter((a) => a !== 'run').join(' ')}`);
|
127
|
+
output_1.output.addNewline();
|
127
128
|
}
|
128
129
|
const p = (0, child_process_1.fork)(this.cliPath, args, {
|
129
130
|
stdio: ['inherit', 'inherit', 'inherit', 'ipc'],
|
@@ -135,14 +136,25 @@ class ForkedProcessTaskRunner {
|
|
135
136
|
code = this.signalToCode(signal);
|
136
137
|
// we didn't print any output as we were running the command
|
137
138
|
// print all the collected output
|
138
|
-
|
139
|
-
|
140
|
-
|
139
|
+
try {
|
140
|
+
const terminalOutput = this.readTerminalOutput(temporaryOutputPath);
|
141
|
+
if (!forwardOutput) {
|
142
|
+
this.options.lifeCycle.printTaskTerminalOutput(task, output_1.TaskCacheStatus.NoCache, terminalOutput);
|
143
|
+
}
|
144
|
+
res({
|
145
|
+
code,
|
146
|
+
terminalOutput,
|
147
|
+
});
|
148
|
+
}
|
149
|
+
catch (e) {
|
150
|
+
rej(new Error((0, devkit_1.stripIndents) `
|
151
|
+
Unable to print terminal output for Task "${task.id}".
|
152
|
+
Task failed with Exit Code ${code} and Signal "${signal}".
|
153
|
+
|
154
|
+
Received error message:
|
155
|
+
${e.message}
|
156
|
+
`));
|
141
157
|
}
|
142
|
-
res({
|
143
|
-
code,
|
144
|
-
terminalOutput,
|
145
|
-
});
|
146
158
|
});
|
147
159
|
}
|
148
160
|
catch (e) {
|
@@ -152,18 +164,10 @@ class ForkedProcessTaskRunner {
|
|
152
164
|
});
|
153
165
|
}
|
154
166
|
readTerminalOutput(outputPath) {
|
155
|
-
|
156
|
-
return (0, fs_1.readFileSync)(outputPath).toString();
|
157
|
-
}
|
158
|
-
catch (e) {
|
159
|
-
return null;
|
160
|
-
}
|
167
|
+
return (0, fs_1.readFileSync)(outputPath).toString();
|
161
168
|
}
|
162
169
|
writeTerminalOutput(outputPath, content) {
|
163
|
-
|
164
|
-
(0, fs_1.writeFileSync)(outputPath, content);
|
165
|
-
}
|
166
|
-
catch (e) { }
|
170
|
+
(0, fs_1.writeFileSync)(outputPath, content);
|
167
171
|
}
|
168
172
|
// region Environment Variables
|
169
173
|
getEnvVariablesForProcess() {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"forked-process-task-runner.js","sourceRoot":"","sources":["../../../../../packages/workspace/src/tasks-runner/forked-process-task-runner.ts"],"names":[],"mappings":";;;AAAA,2BAAiD;AACjD,iCAAiC;AACjC,iDAAmD;AACnD,2DAA2D;AAG3D,gDAA8D;AAC9D,mCAA4D;AAE5D,+BAA4B;AAC5B,2DAIgC;
|
1
|
+
{"version":3,"file":"forked-process-task-runner.js","sourceRoot":"","sources":["../../../../../packages/workspace/src/tasks-runner/forked-process-task-runner.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import type { LifeCycle } from '../life-cycle';
|
2
|
+
import type { Task } from '../tasks-runner';
|
3
|
+
/**
|
4
|
+
* The following function is responsible for creating a life cycle with dynamic
|
5
|
+
* outputs, meaning previous outputs can be rewritten or modified as new outputs
|
6
|
+
* are added. It is therefore intended for use on a user's local machines.
|
7
|
+
*
|
8
|
+
* In CI environments the static equivalent of this life cycle should be used.
|
9
|
+
*/
|
10
|
+
export declare function createDynamicOutputRenderer({ projectNames, tasks, args, overrides, }: {
|
11
|
+
projectNames: string[];
|
12
|
+
tasks: Task[];
|
13
|
+
args: {
|
14
|
+
target?: string;
|
15
|
+
configuration?: string;
|
16
|
+
parallel?: number;
|
17
|
+
};
|
18
|
+
overrides: Record<string, unknown>;
|
19
|
+
}): Promise<{
|
20
|
+
lifeCycle: LifeCycle;
|
21
|
+
renderIsDone: Promise<void>;
|
22
|
+
}>;
|
@@ -0,0 +1,342 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.createDynamicOutputRenderer = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const cliCursor = require("cli-cursor");
|
6
|
+
const cli_spinners_1 = require("cli-spinners");
|
7
|
+
const os_1 = require("os");
|
8
|
+
const readline = require("readline");
|
9
|
+
const output_1 = require("../../utilities/output");
|
10
|
+
const pretty_time_1 = require("./pretty-time");
|
11
|
+
/**
|
12
|
+
* The following function is responsible for creating a life cycle with dynamic
|
13
|
+
* outputs, meaning previous outputs can be rewritten or modified as new outputs
|
14
|
+
* are added. It is therefore intended for use on a user's local machines.
|
15
|
+
*
|
16
|
+
* In CI environments the static equivalent of this life cycle should be used.
|
17
|
+
*/
|
18
|
+
function createDynamicOutputRenderer({ projectNames, tasks, args, overrides, }) {
|
19
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
20
|
+
cliCursor.hide();
|
21
|
+
let resolveRenderIsDonePromise;
|
22
|
+
const renderIsDone = new Promise((resolve) => (resolveRenderIsDonePromise = resolve)).then(() => {
|
23
|
+
clearRenderInterval();
|
24
|
+
cliCursor.show();
|
25
|
+
});
|
26
|
+
function clearRenderInterval() {
|
27
|
+
if (renderProjectRowsIntervalId) {
|
28
|
+
clearInterval(renderProjectRowsIntervalId);
|
29
|
+
}
|
30
|
+
}
|
31
|
+
function teardown() {
|
32
|
+
clearRenderInterval();
|
33
|
+
cliCursor.show();
|
34
|
+
if (resolveRenderIsDonePromise) {
|
35
|
+
resolveRenderIsDonePromise();
|
36
|
+
}
|
37
|
+
}
|
38
|
+
process.on('exit', () => teardown());
|
39
|
+
process.on('SIGINT', () => teardown());
|
40
|
+
process.on('unhandledRejection', () => teardown());
|
41
|
+
process.on('uncaughtException', () => teardown());
|
42
|
+
const lifeCycle = {};
|
43
|
+
const isVerbose = overrides.verbose === true;
|
44
|
+
const start = process.hrtime();
|
45
|
+
const figures = yield Promise.resolve().then(() => require('figures'));
|
46
|
+
const totalTasks = tasks.length;
|
47
|
+
const totalProjects = projectNames.length;
|
48
|
+
const totalDependentTasks = totalTasks - totalProjects;
|
49
|
+
const targetName = args.target;
|
50
|
+
const projectRows = projectNames.map((projectName) => {
|
51
|
+
return {
|
52
|
+
projectName,
|
53
|
+
status: 'pending',
|
54
|
+
};
|
55
|
+
});
|
56
|
+
const tasksToTerminalOutputs = {};
|
57
|
+
const tasksToProcessStartTimes = {};
|
58
|
+
let hasTaskOutput = false;
|
59
|
+
let pinnedFooterNumLines = 0;
|
60
|
+
let totalCompletedTasks = 0;
|
61
|
+
let totalSuccessfulTasks = 0;
|
62
|
+
let totalFailedTasks = 0;
|
63
|
+
let totalCachedTasks = 0;
|
64
|
+
// Used to control the rendering of the spinner on each project row
|
65
|
+
let projectRowsCurrentFrame = 0;
|
66
|
+
let renderProjectRowsIntervalId;
|
67
|
+
const clearPinnedFooter = () => {
|
68
|
+
for (let i = 0; i < pinnedFooterNumLines; i++) {
|
69
|
+
readline.moveCursor(process.stdout, 0, -1);
|
70
|
+
readline.clearLine(process.stdout, 0);
|
71
|
+
}
|
72
|
+
};
|
73
|
+
const renderPinnedFooter = (lines, dividerColor = 'cyan') => {
|
74
|
+
let additionalLines = 0;
|
75
|
+
if (hasTaskOutput) {
|
76
|
+
output_1.output.addVerticalSeparator(dividerColor);
|
77
|
+
additionalLines += 3;
|
78
|
+
}
|
79
|
+
// Create vertical breathing room for cursor position under the pinned footer
|
80
|
+
lines.push('');
|
81
|
+
for (const line of lines) {
|
82
|
+
process.stdout.write(output_1.output.X_PADDING + line + os_1.EOL);
|
83
|
+
}
|
84
|
+
pinnedFooterNumLines = lines.length + additionalLines;
|
85
|
+
};
|
86
|
+
const printTaskResult = (task, status) => {
|
87
|
+
clearPinnedFooter();
|
88
|
+
// If this is the very first output, add some vertical breathing room
|
89
|
+
if (!hasTaskOutput) {
|
90
|
+
output_1.output.addNewline();
|
91
|
+
}
|
92
|
+
hasTaskOutput = true;
|
93
|
+
switch (status) {
|
94
|
+
case 'local-cache':
|
95
|
+
writeLine(`${output_1.output.colors.green(figures.tick) +
|
96
|
+
output_1.output.dim(' nx run ') +
|
97
|
+
task.id} ${output_1.output.colors.gray('[local cache]')}`);
|
98
|
+
if (isVerbose) {
|
99
|
+
writeCommandOutputBlock(tasksToTerminalOutputs[task.id]);
|
100
|
+
}
|
101
|
+
break;
|
102
|
+
case 'remote-cache':
|
103
|
+
writeLine(`${output_1.output.colors.green(figures.tick) +
|
104
|
+
output_1.output.dim(' nx run ') +
|
105
|
+
task.id} ${output_1.output.colors.gray('[remote cache]')}`);
|
106
|
+
if (isVerbose) {
|
107
|
+
writeCommandOutputBlock(tasksToTerminalOutputs[task.id]);
|
108
|
+
}
|
109
|
+
break;
|
110
|
+
case 'success': {
|
111
|
+
const timeTakenText = (0, pretty_time_1.prettyTime)(process.hrtime(tasksToProcessStartTimes[task.id]));
|
112
|
+
writeLine(output_1.output.colors.green(figures.tick) +
|
113
|
+
output_1.output.dim(' nx run ') +
|
114
|
+
task.id +
|
115
|
+
output_1.output.dim.gray(` (${timeTakenText})`));
|
116
|
+
if (isVerbose) {
|
117
|
+
writeCommandOutputBlock(tasksToTerminalOutputs[task.id]);
|
118
|
+
}
|
119
|
+
break;
|
120
|
+
}
|
121
|
+
case 'failure':
|
122
|
+
output_1.output.addNewline();
|
123
|
+
writeLine(output_1.output.colors.red(figures.cross) +
|
124
|
+
output_1.output.dim(' nx run ') +
|
125
|
+
output_1.output.colors.red(task.id));
|
126
|
+
writeCommandOutputBlock(tasksToTerminalOutputs[task.id]);
|
127
|
+
break;
|
128
|
+
}
|
129
|
+
delete tasksToTerminalOutputs[task.id];
|
130
|
+
renderPinnedFooter([]);
|
131
|
+
renderProjectRows();
|
132
|
+
};
|
133
|
+
const renderProjectRows = () => {
|
134
|
+
const max = cli_spinners_1.dots.frames.length - 1;
|
135
|
+
const curr = projectRowsCurrentFrame;
|
136
|
+
projectRowsCurrentFrame = curr >= max ? 0 : curr + 1;
|
137
|
+
const additionalFooterRows = [''];
|
138
|
+
const runningTasks = projectRows.filter((row) => row.status === 'running');
|
139
|
+
const remainingTasks = totalTasks - totalCompletedTasks;
|
140
|
+
if (runningTasks.length > 0) {
|
141
|
+
additionalFooterRows.push(output_1.output.dim(` ${output_1.output.colors.cyan(figures.arrowRight)} Executing ${runningTasks.length}/${remainingTasks} remaining tasks${runningTasks.length > 1 ? ' in parallel' : ''}...`));
|
142
|
+
additionalFooterRows.push('');
|
143
|
+
for (const projectRow of runningTasks) {
|
144
|
+
additionalFooterRows.push(` ${output_1.output.dim.cyan(cli_spinners_1.dots.frames[projectRowsCurrentFrame])} ${output_1.output.dim('nx run ') + projectRow.projectName + ':' + targetName}`);
|
145
|
+
}
|
146
|
+
/**
|
147
|
+
* Reduce layout thrashing by ensuring that there is a relatively consistent
|
148
|
+
* height for the area in which the task rows are rendered.
|
149
|
+
*
|
150
|
+
* We can look at the parallel flag to know how many rows are likely to be
|
151
|
+
* needed in the common case and always render that at least that many.
|
152
|
+
*/
|
153
|
+
if (totalCompletedTasks !== totalTasks &&
|
154
|
+
Number.isInteger(args.parallel) &&
|
155
|
+
runningTasks.length < args.parallel) {
|
156
|
+
// Don't bother with this optimization if there are fewer tasks remaining than rows required
|
157
|
+
if (remainingTasks >= args.parallel) {
|
158
|
+
for (let i = runningTasks.length; i < args.parallel; i++) {
|
159
|
+
additionalFooterRows.push('');
|
160
|
+
}
|
161
|
+
}
|
162
|
+
}
|
163
|
+
}
|
164
|
+
if (totalSuccessfulTasks > 0 || totalFailedTasks > 0) {
|
165
|
+
additionalFooterRows.push('');
|
166
|
+
}
|
167
|
+
if (totalFailedTasks > 0) {
|
168
|
+
additionalFooterRows.push(` ${output_1.output.colors.red(figures.cross)} ${totalFailedTasks}${`/${totalCompletedTasks}`} failed`);
|
169
|
+
}
|
170
|
+
if (totalSuccessfulTasks > 0) {
|
171
|
+
additionalFooterRows.push(` ${output_1.output.colors.green(figures.tick)} ${totalSuccessfulTasks}${`/${totalCompletedTasks}`} succeeded ${output_1.output.colors.gray(`[${totalCachedTasks} read from cache]`)}`);
|
172
|
+
}
|
173
|
+
clearPinnedFooter();
|
174
|
+
if (additionalFooterRows.length > 1) {
|
175
|
+
let text = `Running target ${output_1.output.bold.cyan(targetName)} for ${output_1.output.bold.cyan(totalProjects)} projects`;
|
176
|
+
if (totalDependentTasks > 0) {
|
177
|
+
text += ` and ${output_1.output.bold(totalDependentTasks)} task(s) they depend on`;
|
178
|
+
}
|
179
|
+
const taskOverridesRows = [];
|
180
|
+
if (Object.keys(overrides).length > 0) {
|
181
|
+
const leftPadding = `${output_1.output.X_PADDING} `;
|
182
|
+
taskOverridesRows.push('');
|
183
|
+
taskOverridesRows.push(`${leftPadding}${output_1.output.dim.cyan('With additional flags:')}`);
|
184
|
+
Object.entries(overrides)
|
185
|
+
.map(([flag, value]) => output_1.output.dim.cyan(`${leftPadding} --${flag}=${value}`))
|
186
|
+
.forEach((arg) => taskOverridesRows.push(arg));
|
187
|
+
}
|
188
|
+
const pinnedFooterLines = [
|
189
|
+
output_1.output.applyNxPrefix('cyan', output_1.output.colors.cyan(text)),
|
190
|
+
...taskOverridesRows,
|
191
|
+
...additionalFooterRows,
|
192
|
+
];
|
193
|
+
// Vertical breathing room when there isn't yet any output or divider
|
194
|
+
if (!hasTaskOutput) {
|
195
|
+
pinnedFooterLines.unshift('');
|
196
|
+
}
|
197
|
+
renderPinnedFooter(pinnedFooterLines);
|
198
|
+
}
|
199
|
+
else {
|
200
|
+
renderPinnedFooter([]);
|
201
|
+
}
|
202
|
+
};
|
203
|
+
lifeCycle.startCommand = () => {
|
204
|
+
if (totalProjects <= 0) {
|
205
|
+
let description = `with target ${output_1.output.colors.white.bold(targetName)}`;
|
206
|
+
if (args.configuration) {
|
207
|
+
description += ` that are configured for "${args.configuration}"`;
|
208
|
+
}
|
209
|
+
renderPinnedFooter([
|
210
|
+
'',
|
211
|
+
output_1.output.applyNxPrefix('gray', `No projects ${description} were run`),
|
212
|
+
]);
|
213
|
+
resolveRenderIsDonePromise();
|
214
|
+
return;
|
215
|
+
}
|
216
|
+
renderPinnedFooter([]);
|
217
|
+
};
|
218
|
+
lifeCycle.startTasks = (tasks) => {
|
219
|
+
for (const task of tasks) {
|
220
|
+
tasksToProcessStartTimes[task.id] = process.hrtime();
|
221
|
+
}
|
222
|
+
for (const projectRow of projectRows) {
|
223
|
+
const matchedTask = tasks.find((t) => t.target.project === projectRow.projectName);
|
224
|
+
if (!matchedTask) {
|
225
|
+
continue;
|
226
|
+
}
|
227
|
+
projectRow.status = 'running';
|
228
|
+
}
|
229
|
+
if (!renderProjectRowsIntervalId) {
|
230
|
+
renderProjectRowsIntervalId = setInterval(renderProjectRows, 100);
|
231
|
+
}
|
232
|
+
};
|
233
|
+
lifeCycle.printTaskTerminalOutput = (task, _cacheStatus, output) => {
|
234
|
+
tasksToTerminalOutputs[task.id] = output;
|
235
|
+
};
|
236
|
+
lifeCycle.endTasks = (taskResults) => {
|
237
|
+
totalCompletedTasks++;
|
238
|
+
for (let t of taskResults) {
|
239
|
+
const matchingProjectRow = projectRows.find((pr) => pr.projectName === t.task.target.project);
|
240
|
+
if (matchingProjectRow) {
|
241
|
+
matchingProjectRow.status = t.status;
|
242
|
+
}
|
243
|
+
switch (t.status) {
|
244
|
+
case 'remote-cache':
|
245
|
+
case 'local-cache':
|
246
|
+
totalCachedTasks++;
|
247
|
+
case 'success':
|
248
|
+
totalSuccessfulTasks++;
|
249
|
+
break;
|
250
|
+
case 'failure':
|
251
|
+
totalFailedTasks++;
|
252
|
+
break;
|
253
|
+
}
|
254
|
+
printTaskResult(t.task, t.status);
|
255
|
+
}
|
256
|
+
if (totalCompletedTasks === totalTasks) {
|
257
|
+
clearRenderInterval();
|
258
|
+
const timeTakenText = (0, pretty_time_1.prettyTime)(process.hrtime(start));
|
259
|
+
clearPinnedFooter();
|
260
|
+
if (totalSuccessfulTasks === totalTasks) {
|
261
|
+
let text = `Successfully ran target ${output_1.output.bold(targetName)} for ${output_1.output.bold(totalProjects)} projects`;
|
262
|
+
if (totalDependentTasks > 0) {
|
263
|
+
text += ` and ${output_1.output.bold(totalDependentTasks)} task(s) they depend on`;
|
264
|
+
}
|
265
|
+
const taskOverridesRows = [];
|
266
|
+
if (Object.keys(overrides).length > 0) {
|
267
|
+
const leftPadding = `${output_1.output.X_PADDING} `;
|
268
|
+
taskOverridesRows.push('');
|
269
|
+
taskOverridesRows.push(`${leftPadding}${output_1.output.dim.green('With additional flags:')}`);
|
270
|
+
Object.entries(overrides)
|
271
|
+
.map(([flag, value]) => output_1.output.dim.green(`${leftPadding} --${flag}=${value}`))
|
272
|
+
.forEach((arg) => taskOverridesRows.push(arg));
|
273
|
+
}
|
274
|
+
const pinnedFooterLines = [
|
275
|
+
output_1.output.applyNxPrefix('green', output_1.output.colors.green(text) + output_1.output.dim.white(` (${timeTakenText})`)),
|
276
|
+
...taskOverridesRows,
|
277
|
+
];
|
278
|
+
if (totalCachedTasks > 0) {
|
279
|
+
pinnedFooterLines.push(output_1.output.colors.gray(`${os_1.EOL} Nx read the output from the cache instead of running the command for ${totalCachedTasks} out of ${totalTasks} tasks.`));
|
280
|
+
}
|
281
|
+
renderPinnedFooter(pinnedFooterLines, 'green');
|
282
|
+
}
|
283
|
+
else {
|
284
|
+
let text = `Ran target ${output_1.output.bold(targetName)} for ${output_1.output.bold(totalProjects)} projects`;
|
285
|
+
if (totalDependentTasks > 0) {
|
286
|
+
text += ` and ${output_1.output.bold(totalDependentTasks)} task(s) they depend on`;
|
287
|
+
}
|
288
|
+
const taskOverridesRows = [];
|
289
|
+
if (Object.keys(overrides).length > 0) {
|
290
|
+
const leftPadding = `${output_1.output.X_PADDING} `;
|
291
|
+
taskOverridesRows.push('');
|
292
|
+
taskOverridesRows.push(`${leftPadding}${output_1.output.dim.red('With additional flags:')}`);
|
293
|
+
Object.entries(overrides)
|
294
|
+
.map(([flag, value]) => output_1.output.dim.red(`${leftPadding} --${flag}=${value}`))
|
295
|
+
.forEach((arg) => taskOverridesRows.push(arg));
|
296
|
+
}
|
297
|
+
renderPinnedFooter([
|
298
|
+
output_1.output.applyNxPrefix('red', output_1.output.colors.red(text) + output_1.output.dim.white(` (${timeTakenText})`)),
|
299
|
+
...taskOverridesRows,
|
300
|
+
'',
|
301
|
+
` ${output_1.output.colors.red(figures.cross)} ${totalFailedTasks}${`/${totalCompletedTasks}`} failed`,
|
302
|
+
` ${output_1.output.colors.gray(figures.tick)} ${totalSuccessfulTasks}${`/${totalCompletedTasks}`} succeeded ${output_1.output.colors.gray(`[${totalCachedTasks} read from cache]`)}`,
|
303
|
+
], 'red');
|
304
|
+
}
|
305
|
+
resolveRenderIsDonePromise();
|
306
|
+
}
|
307
|
+
};
|
308
|
+
return { lifeCycle, renderIsDone };
|
309
|
+
});
|
310
|
+
}
|
311
|
+
exports.createDynamicOutputRenderer = createDynamicOutputRenderer;
|
312
|
+
function writeLine(line) {
|
313
|
+
const additionalXPadding = ' ';
|
314
|
+
process.stdout.write(output_1.output.X_PADDING + additionalXPadding + line + os_1.EOL);
|
315
|
+
}
|
316
|
+
/**
|
317
|
+
* There's not much we can do in order to "neaten up" the outputs of
|
318
|
+
* commands we do not control, but at the very least we can trim any
|
319
|
+
* leading whitespace and any _excess_ trailing newlines so that there
|
320
|
+
* isn't unncecessary vertical whitespace.
|
321
|
+
*/
|
322
|
+
function writeCommandOutputBlock(commandOutput) {
|
323
|
+
commandOutput = commandOutput || '';
|
324
|
+
commandOutput = commandOutput.trimStart();
|
325
|
+
const additionalXPadding = ' ';
|
326
|
+
const lines = commandOutput.split(os_1.EOL);
|
327
|
+
let totalTrailingEmptyLines = 0;
|
328
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
329
|
+
if (lines[i] !== '') {
|
330
|
+
break;
|
331
|
+
}
|
332
|
+
totalTrailingEmptyLines++;
|
333
|
+
}
|
334
|
+
if (totalTrailingEmptyLines > 1) {
|
335
|
+
const linesToRemove = totalTrailingEmptyLines - 1;
|
336
|
+
lines.splice(lines.length - linesToRemove, linesToRemove);
|
337
|
+
}
|
338
|
+
// Indent the command output to make it look more "designed" in the context of the dynamic output
|
339
|
+
process.stdout.write(lines.map((l) => `${output_1.output.X_PADDING}${additionalXPadding}${l}`).join(os_1.EOL) +
|
340
|
+
os_1.EOL);
|
341
|
+
}
|
342
|
+
//# sourceMappingURL=dynamic-run-many-terminal-output-life-cycle.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"dynamic-run-many-terminal-output-life-cycle.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.ts"],"names":[],"mappings":";;;;AAAA,wCAAwC;AACxC,+CAAoC;AACpC,2BAAyB;AACzB,qCAAqC;AACrC,mDAAgD;AAGhD,+CAA2C;AAE3C;;;;;;GAMG;AACH,SAAsB,2BAA2B,CAAC,EAChD,YAAY,EACZ,KAAK,EACL,IAAI,EACJ,SAAS,GAMV;;QACC,SAAS,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,0BAAiD,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,OAAO,CAC9B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,0BAA0B,GAAG,OAAO,CAAC,CACpD,CAAC,IAAI,CAAC,GAAG,EAAE;YACV,mBAAmB,EAAE,CAAC;YACtB,SAAS,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,SAAS,mBAAmB;YAC1B,IAAI,2BAA2B,EAAE;gBAC/B,aAAa,CAAC,2BAA2B,CAAC,CAAC;aAC5C;QACH,CAAC;QAED,SAAS,QAAQ;YACf,mBAAmB,EAAE,CAAC;YACtB,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,0BAA0B,EAAE;gBAC9B,0BAA0B,EAAE,CAAC;aAC9B;QACH,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAElD,MAAM,SAAS,GAAG,EAAwB,CAAC;QAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,KAAK,IAAI,CAAC;QAE7C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,2CAAa,SAAS,EAAC,CAAC;QAExC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAChC,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC;QAC1C,MAAM,mBAAmB,GAAG,UAAU,GAAG,aAAa,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;YACnD,OAAO;gBACL,WAAW;gBACX,MAAM,EAAE,SAAS;aAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,sBAAsB,GAA2B,EAAE,CAAC;QAC1D,MAAM,wBAAwB,GAG1B,EAAE,CAAC;QACP,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAEzB,mEAAmE;QACnE,IAAI,uBAAuB,GAAG,CAAC,CAAC;QAChC,IAAI,2BAAuD,CAAC;QAE5D,MAAM,iBAAiB,GAAG,GAAG,EAAE;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,EAAE,CAAC,EAAE,EAAE;gBAC7C,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3C,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,CAAC,KAAe,EAAE,YAAY,GAAG,MAAM,EAAE,EAAE;YACpE,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,aAAa,EAAE;gBACjB,eAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;gBAC1C,eAAe,IAAI,CAAC,CAAC;aACtB;YACD,6EAA6E;YAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAM,CAAC,SAAS,GAAG,IAAI,GAAG,QAAG,CAAC,CAAC;aACrD;YACD,oBAAoB,GAAG,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC;QACxD,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,IAAU,EAAE,MAAkB,EAAE,EAAE;YACzD,iBAAiB,EAAE,CAAC;YACpB,qEAAqE;YACrE,IAAI,CAAC,aAAa,EAAE;gBAClB,eAAM,CAAC,UAAU,EAAE,CAAC;aACrB;YACD,aAAa,GAAG,IAAI,CAAC;YAErB,QAAQ,MAAM,EAAE;gBACd,KAAK,aAAa;oBAChB,SAAS,CACP,GACE,eAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;wBACjC,eAAM,CAAC,GAAG,CAAC,WAAW,CAAC;wBACvB,IAAI,CAAC,EACP,KAAK,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAC3C,CAAC;oBACF,IAAI,SAAS,EAAE;wBACb,uBAAuB,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;qBAC1D;oBACD,MAAM;gBACR,KAAK,cAAc;oBACjB,SAAS,CACP,GACE,eAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;wBACjC,eAAM,CAAC,GAAG,CAAC,WAAW,CAAC;wBACvB,IAAI,CAAC,EACP,KAAK,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAC5C,CAAC;oBACF,IAAI,SAAS,EAAE;wBACb,uBAAuB,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;qBAC1D;oBACD,MAAM;gBACR,KAAK,SAAS,CAAC,CAAC;oBACd,MAAM,aAAa,GAAG,IAAA,wBAAU,EAC9B,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAClD,CAAC;oBACF,SAAS,CACP,eAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;wBAC/B,eAAM,CAAC,GAAG,CAAC,WAAW,CAAC;wBACvB,IAAI,CAAC,EAAE;wBACP,eAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,aAAa,GAAG,CAAC,CACzC,CAAC;oBACF,IAAI,SAAS,EAAE;wBACb,uBAAuB,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;qBAC1D;oBACD,MAAM;iBACP;gBACD,KAAK,SAAS;oBACZ,eAAM,CAAC,UAAU,EAAE,CAAC;oBACpB,SAAS,CACP,eAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;wBAC9B,eAAM,CAAC,GAAG,CAAC,WAAW,CAAC;wBACvB,eAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAC7B,CAAC;oBACF,uBAAuB,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBACzD,MAAM;aACT;YAED,OAAO,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YACvB,iBAAiB,EAAE,CAAC;QACtB,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;YAC7B,MAAM,GAAG,GAAG,mBAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,uBAAuB,CAAC;YACrC,uBAAuB,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YAErD,MAAM,oBAAoB,GAAa,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YAC3E,MAAM,cAAc,GAAG,UAAU,GAAG,mBAAmB,CAAC;YAExD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,oBAAoB,CAAC,IAAI,CACvB,eAAM,CAAC,GAAG,CACR,MAAM,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iBAC1C,YAAY,CAAC,MACf,IAAI,cAAc,mBAChB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAC7C,KAAK,CACN,CACF,CAAC;gBACF,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE;oBACrC,oBAAoB,CAAC,IAAI,CACvB,MAAM,eAAM,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,OACzD,eAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,WAAW,GAAG,GAAG,GAAG,UACzD,EAAE,CACH,CAAC;iBACH;gBACD;;;;;;mBAMG;gBACH,IACE,mBAAmB,KAAK,UAAU;oBAClC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC/B,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EACnC;oBACA,4FAA4F;oBAC5F,IAAI,cAAc,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACnC,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;4BACxD,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBAC/B;qBACF;iBACF;aACF;YAED,IAAI,oBAAoB,GAAG,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE;gBACpD,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC/B;YAED,IAAI,gBAAgB,GAAG,CAAC,EAAE;gBACxB,oBAAoB,CAAC,IAAI,CACvB,MAAM,eAAM,CAAC,MAAM,CAAC,GAAG,CACrB,OAAO,CAAC,KAAK,CACd,OAAO,gBAAgB,GAAG,IAAI,mBAAmB,EAAE,SAAS,CAC9D,CAAC;aACH;YAED,IAAI,oBAAoB,GAAG,CAAC,EAAE;gBAC5B,oBAAoB,CAAC,IAAI,CACvB,MAAM,eAAM,CAAC,MAAM,CAAC,KAAK,CACvB,OAAO,CAAC,IAAI,CACb,OAAO,oBAAoB,GAAG,IAAI,mBAAmB,EAAE,cAAc,eAAM,CAAC,MAAM,CAAC,IAAI,CACtF,IAAI,gBAAgB,mBAAmB,CACxC,EAAE,CACJ,CAAC;aACH;YAED,iBAAiB,EAAE,CAAC;YAEpB,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,IAAI,IAAI,GAAG,kBAAkB,eAAM,CAAC,IAAI,CAAC,IAAI,CAC3C,UAAU,CACX,QAAQ,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBACpD,IAAI,mBAAmB,GAAG,CAAC,EAAE;oBAC3B,IAAI,IAAI,QAAQ,eAAM,CAAC,IAAI,CACzB,mBAAmB,CACpB,yBAAyB,CAAC;iBAC5B;gBAED,MAAM,iBAAiB,GAAG,EAAE,CAAC;gBAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,MAAM,WAAW,GAAG,GAAG,eAAM,CAAC,SAAS,SAAS,CAAC;oBACjD,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC3B,iBAAiB,CAAC,IAAI,CACpB,GAAG,WAAW,GAAG,eAAM,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAC7D,CAAC;oBACF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;yBACtB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CACrB,eAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,WAAW,OAAO,IAAI,IAAI,KAAK,EAAE,CAAC,CACtD;yBACA,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;iBAClD;gBAED,MAAM,iBAAiB,GAAG;oBACxB,eAAM,CAAC,aAAa,CAAC,MAAM,EAAE,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtD,GAAG,iBAAiB;oBACpB,GAAG,oBAAoB;iBACxB,CAAC;gBAEF,qEAAqE;gBACrE,IAAI,CAAC,aAAa,EAAE;oBAClB,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;iBAC/B;gBAED,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;aACvC;iBAAM;gBACL,kBAAkB,CAAC,EAAE,CAAC,CAAC;aACxB;QACH,CAAC,CAAC;QAEF,SAAS,CAAC,YAAY,GAAG,GAAG,EAAE;YAC5B,IAAI,aAAa,IAAI,CAAC,EAAE;gBACtB,IAAI,WAAW,GAAG,eAAe,eAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxE,IAAI,IAAI,CAAC,aAAa,EAAE;oBACtB,WAAW,IAAI,6BAA6B,IAAI,CAAC,aAAa,GAAG,CAAC;iBACnE;gBACD,kBAAkB,CAAC;oBACjB,EAAE;oBACF,eAAM,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,WAAW,WAAW,CAAC;iBACpE,CAAC,CAAC;gBACH,0BAA0B,EAAE,CAAC;gBAC7B,OAAO;aACR;YACD,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,SAAS,CAAC,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;YACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;aACtD;YACD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;gBACpC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,UAAU,CAAC,WAAW,CACnD,CAAC;gBACF,IAAI,CAAC,WAAW,EAAE;oBAChB,SAAS;iBACV;gBACD,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;aAC/B;YACD,IAAI,CAAC,2BAA2B,EAAE;gBAChC,2BAA2B,GAAG,WAAW,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;aACnE;QACH,CAAC,CAAC;QAEF,SAAS,CAAC,uBAAuB,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE;YACjE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QAC3C,CAAC,CAAC;QAEF,SAAS,CAAC,QAAQ,GAAG,CAAC,WAAW,EAAE,EAAE;YACnC,mBAAmB,EAAE,CAAC;YAEtB,KAAK,IAAI,CAAC,IAAI,WAAW,EAAE;gBACzB,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CACzC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CACjD,CAAC;gBACF,IAAI,kBAAkB,EAAE;oBACtB,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;iBACtC;gBAED,QAAQ,CAAC,CAAC,MAAM,EAAE;oBAChB,KAAK,cAAc,CAAC;oBACpB,KAAK,aAAa;wBAChB,gBAAgB,EAAE,CAAC;oBACrB,KAAK,SAAS;wBACZ,oBAAoB,EAAE,CAAC;wBACvB,MAAM;oBACR,KAAK,SAAS;wBACZ,gBAAgB,EAAE,CAAC;wBACnB,MAAM;iBACT;gBAED,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;aACnC;YAED,IAAI,mBAAmB,KAAK,UAAU,EAAE;gBACtC,mBAAmB,EAAE,CAAC;gBACtB,MAAM,aAAa,GAAG,IAAA,wBAAU,EAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAExD,iBAAiB,EAAE,CAAC;gBAEpB,IAAI,oBAAoB,KAAK,UAAU,EAAE;oBACvC,IAAI,IAAI,GAAG,2BAA2B,eAAM,CAAC,IAAI,CAC/C,UAAU,CACX,QAAQ,eAAM,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;oBAC/C,IAAI,mBAAmB,GAAG,CAAC,EAAE;wBAC3B,IAAI,IAAI,QAAQ,eAAM,CAAC,IAAI,CACzB,mBAAmB,CACpB,yBAAyB,CAAC;qBAC5B;oBAED,MAAM,iBAAiB,GAAG,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;wBACrC,MAAM,WAAW,GAAG,GAAG,eAAM,CAAC,SAAS,SAAS,CAAC;wBACjD,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC3B,iBAAiB,CAAC,IAAI,CACpB,GAAG,WAAW,GAAG,eAAM,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAC9D,CAAC;wBACF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;6BACtB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CACrB,eAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,WAAW,OAAO,IAAI,IAAI,KAAK,EAAE,CAAC,CACvD;6BACA,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;qBAClD;oBAED,MAAM,iBAAiB,GAAG;wBACxB,eAAM,CAAC,aAAa,CAClB,OAAO,EACP,eAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,eAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,aAAa,GAAG,CAAC,CACpE;wBACD,GAAG,iBAAiB;qBACrB,CAAC;oBACF,IAAI,gBAAgB,GAAG,CAAC,EAAE;wBACxB,iBAAiB,CAAC,IAAI,CACpB,eAAM,CAAC,MAAM,CAAC,IAAI,CAChB,GAAG,QAAG,2EAA2E,gBAAgB,WAAW,UAAU,SAAS,CAChI,CACF,CAAC;qBACH;oBACD,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;iBAChD;qBAAM;oBACL,IAAI,IAAI,GAAG,cAAc,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,eAAM,CAAC,IAAI,CACjE,aAAa,CACd,WAAW,CAAC;oBACb,IAAI,mBAAmB,GAAG,CAAC,EAAE;wBAC3B,IAAI,IAAI,QAAQ,eAAM,CAAC,IAAI,CACzB,mBAAmB,CACpB,yBAAyB,CAAC;qBAC5B;oBAED,MAAM,iBAAiB,GAAG,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;wBACrC,MAAM,WAAW,GAAG,GAAG,eAAM,CAAC,SAAS,SAAS,CAAC;wBACjD,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC3B,iBAAiB,CAAC,IAAI,CACpB,GAAG,WAAW,GAAG,eAAM,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAC5D,CAAC;wBACF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;6BACtB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CACrB,eAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,OAAO,IAAI,IAAI,KAAK,EAAE,CAAC,CACrD;6BACA,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;qBAClD;oBAED,kBAAkB,CAChB;wBACE,eAAM,CAAC,aAAa,CAClB,KAAK,EACL,eAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,eAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,aAAa,GAAG,CAAC,CAClE;wBACD,GAAG,iBAAiB;wBACpB,EAAE;wBACF,MAAM,eAAM,CAAC,MAAM,CAAC,GAAG,CACrB,OAAO,CAAC,KAAK,CACd,OAAO,gBAAgB,GAAG,IAAI,mBAAmB,EAAE,SAAS;wBAC7D,MAAM,eAAM,CAAC,MAAM,CAAC,IAAI,CACtB,OAAO,CAAC,IAAI,CACb,OAAO,oBAAoB,GAAG,IAAI,mBAAmB,EAAE,cAAc,eAAM,CAAC,MAAM,CAAC,IAAI,CACtF,IAAI,gBAAgB,mBAAmB,CACxC,EAAE;qBACJ,EACD,KAAK,CACN,CAAC;iBACH;gBACD,0BAA0B,EAAE,CAAC;aAC9B;QACH,CAAC,CAAC;QAEF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IACrC,CAAC;CAAA;AA5aD,kEA4aC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,kBAAkB,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAM,CAAC,SAAS,GAAG,kBAAkB,GAAG,IAAI,GAAG,QAAG,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,aAAqB;IACpD,aAAa,GAAG,aAAa,IAAI,EAAE,CAAC;IACpC,aAAa,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;IAC1C,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACpC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,QAAG,CAAC,CAAC;IACvC,IAAI,uBAAuB,GAAG,CAAC,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1C,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;YACnB,MAAM;SACP;QACD,uBAAuB,EAAE,CAAC;KAC3B;IACD,IAAI,uBAAuB,GAAG,CAAC,EAAE;QAC/B,MAAM,aAAa,GAAG,uBAAuB,GAAG,CAAC,CAAC;QAClD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,EAAE,aAAa,CAAC,CAAC;KAC3D;IACD,iGAAiG;IACjG,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,eAAM,CAAC,SAAS,GAAG,kBAAkB,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAG,CAAC;QACxE,QAAG,CACN,CAAC;AACJ,CAAC"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import type { Task } from '@nrwl/devkit';
|
2
|
-
import { TaskCacheStatus } from '
|
3
|
-
import { LifeCycle } from '
|
2
|
+
import { TaskCacheStatus } from '../../utilities/output';
|
3
|
+
import type { LifeCycle } from '../life-cycle';
|
4
4
|
export declare class EmptyTerminalOutputLifeCycle implements LifeCycle {
|
5
5
|
printTaskTerminalOutput(task: Task, cacheStatus: TaskCacheStatus, terminalOutput: string): void;
|
6
6
|
}
|
@@ -1,13 +1,14 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.EmptyTerminalOutputLifeCycle = void 0;
|
4
|
-
const output_1 = require("
|
5
|
-
const utils_1 = require("
|
4
|
+
const output_1 = require("../../utilities/output");
|
5
|
+
const utils_1 = require("../utils");
|
6
6
|
class EmptyTerminalOutputLifeCycle {
|
7
7
|
printTaskTerminalOutput(task, cacheStatus, terminalOutput) {
|
8
8
|
if (cacheStatus === output_1.TaskCacheStatus.NoCache) {
|
9
9
|
const args = (0, utils_1.getCommandArgsForTask)(task);
|
10
|
-
output_1.output.logCommand(
|
10
|
+
output_1.output.logCommand(`${args.filter((a) => a !== 'run').join(' ')}`, cacheStatus);
|
11
|
+
output_1.output.addNewline();
|
11
12
|
process.stdout.write(terminalOutput);
|
12
13
|
}
|
13
14
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"empty-terminal-output-life-cycle.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/tasks-runner/life-cycles/empty-terminal-output-life-cycle.ts"],"names":[],"mappings":";;;AACA,mDAAiE;AACjE,oCAAiD;AAGjD,MAAa,4BAA4B;IACvC,uBAAuB,CACrB,IAAU,EACV,WAA4B,EAC5B,cAAsB;QAEtB,IAAI,WAAW,KAAK,wBAAe,CAAC,OAAO,EAAE;YAC3C,MAAM,IAAI,GAAG,IAAA,6BAAqB,EAAC,IAAI,CAAC,CAAC;YACzC,eAAM,CAAC,UAAU,CACf,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAC9C,WAAW,CACZ,CAAC;YACF,eAAM,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;SACtC;IACH,CAAC;CACF;AAhBD,oEAgBC"}
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"pretty-time.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/tasks-runner/life-cycles/pretty-time.ts"],"names":[],"mappings":"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"}
|
@@ -1,8 +1,16 @@
|
|
1
1
|
import type { Task } from '@nrwl/devkit';
|
2
|
-
import { TaskCacheStatus } from '
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
|
2
|
+
import { TaskCacheStatus } from '../../utilities/output';
|
3
|
+
import { TaskStatus } from '../tasks-runner';
|
4
|
+
import type { LifeCycle } from '../life-cycle';
|
5
|
+
/**
|
6
|
+
* The following life cycle's outputs are static, meaning no previous content
|
7
|
+
* is rewritten or modified as new outputs are added. It is therefore intended
|
8
|
+
* for use in CI environments.
|
9
|
+
*
|
10
|
+
* For the common case of a user executing a command on their local machine,
|
11
|
+
* the dynamic equivalent of this life cycle is usually preferable.
|
12
|
+
*/
|
13
|
+
export declare class StaticRunManyTerminalOutputLifeCycle implements LifeCycle {
|
6
14
|
private readonly projectNames;
|
7
15
|
private readonly tasks;
|
8
16
|
private readonly args;
|