@pulumix/cli 0.1.0

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.
Files changed (101) hide show
  1. package/dist/commands/dev.d.ts +6 -0
  2. package/dist/commands/dev.d.ts.map +1 -0
  3. package/dist/commands/dev.js +124 -0
  4. package/dist/commands/dev.js.map +1 -0
  5. package/dist/commands/graph.d.ts +6 -0
  6. package/dist/commands/graph.d.ts.map +1 -0
  7. package/dist/commands/graph.js +118 -0
  8. package/dist/commands/graph.js.map +1 -0
  9. package/dist/commands/inspect.d.ts +6 -0
  10. package/dist/commands/inspect.d.ts.map +1 -0
  11. package/dist/commands/inspect.js +173 -0
  12. package/dist/commands/inspect.js.map +1 -0
  13. package/dist/commands/list.d.ts +7 -0
  14. package/dist/commands/list.d.ts.map +1 -0
  15. package/dist/commands/list.js +108 -0
  16. package/dist/commands/list.js.map +1 -0
  17. package/dist/commands/validate.d.ts +6 -0
  18. package/dist/commands/validate.d.ts.map +1 -0
  19. package/dist/commands/validate.js +118 -0
  20. package/dist/commands/validate.js.map +1 -0
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +247 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/ui/components/grouped-output.d.ts +33 -0
  26. package/dist/ui/components/grouped-output.d.ts.map +1 -0
  27. package/dist/ui/components/grouped-output.js +130 -0
  28. package/dist/ui/components/grouped-output.js.map +1 -0
  29. package/dist/ui/components/progress-bar.d.ts +21 -0
  30. package/dist/ui/components/progress-bar.d.ts.map +1 -0
  31. package/dist/ui/components/progress-bar.js +65 -0
  32. package/dist/ui/components/progress-bar.js.map +1 -0
  33. package/dist/ui/formatters/config-formatter.d.ts +3 -0
  34. package/dist/ui/formatters/config-formatter.d.ts.map +1 -0
  35. package/dist/ui/formatters/config-formatter.js +11 -0
  36. package/dist/ui/formatters/config-formatter.js.map +1 -0
  37. package/dist/ui/formatters/index.d.ts +4 -0
  38. package/dist/ui/formatters/index.d.ts.map +1 -0
  39. package/dist/ui/formatters/index.js +20 -0
  40. package/dist/ui/formatters/index.js.map +1 -0
  41. package/dist/ui/formatters/resource-formatter.d.ts +7 -0
  42. package/dist/ui/formatters/resource-formatter.d.ts.map +1 -0
  43. package/dist/ui/formatters/resource-formatter.js +65 -0
  44. package/dist/ui/formatters/resource-formatter.js.map +1 -0
  45. package/dist/ui/formatters/summary-formatter.d.ts +3 -0
  46. package/dist/ui/formatters/summary-formatter.d.ts.map +1 -0
  47. package/dist/ui/formatters/summary-formatter.js +90 -0
  48. package/dist/ui/formatters/summary-formatter.js.map +1 -0
  49. package/dist/ui/formatters/types.d.ts +26 -0
  50. package/dist/ui/formatters/types.d.ts.map +1 -0
  51. package/dist/ui/formatters/types.js +3 -0
  52. package/dist/ui/formatters/types.js.map +1 -0
  53. package/dist/ui/index.d.ts +4 -0
  54. package/dist/ui/index.d.ts.map +1 -0
  55. package/dist/ui/index.js +20 -0
  56. package/dist/ui/index.js.map +1 -0
  57. package/dist/ui/logger/index.d.ts +2 -0
  58. package/dist/ui/logger/index.d.ts.map +1 -0
  59. package/dist/ui/logger/index.js +34 -0
  60. package/dist/ui/logger/index.js.map +1 -0
  61. package/dist/ui/logger/line-formatter.d.ts +14 -0
  62. package/dist/ui/logger/line-formatter.d.ts.map +1 -0
  63. package/dist/ui/logger/line-formatter.js +218 -0
  64. package/dist/ui/logger/line-formatter.js.map +1 -0
  65. package/dist/ui/logger/name-formatter.d.ts +3 -0
  66. package/dist/ui/logger/name-formatter.d.ts.map +1 -0
  67. package/dist/ui/logger/name-formatter.js +20 -0
  68. package/dist/ui/logger/name-formatter.js.map +1 -0
  69. package/dist/ui/logger/simple-line-formatter.d.ts +14 -0
  70. package/dist/ui/logger/simple-line-formatter.d.ts.map +1 -0
  71. package/dist/ui/logger/simple-line-formatter.js +210 -0
  72. package/dist/ui/logger/simple-line-formatter.js.map +1 -0
  73. package/dist/ui/logger/simple-logger.d.ts +3 -0
  74. package/dist/ui/logger/simple-logger.d.ts.map +1 -0
  75. package/dist/ui/logger/simple-logger.js +39 -0
  76. package/dist/ui/logger/simple-logger.js.map +1 -0
  77. package/dist/ui/logger/simple-task-formatter.d.ts +47 -0
  78. package/dist/ui/logger/simple-task-formatter.d.ts.map +1 -0
  79. package/dist/ui/logger/simple-task-formatter.js +187 -0
  80. package/dist/ui/logger/simple-task-formatter.js.map +1 -0
  81. package/dist/ui/logger/task-formatter.d.ts +47 -0
  82. package/dist/ui/logger/task-formatter.d.ts.map +1 -0
  83. package/dist/ui/logger/task-formatter.js +187 -0
  84. package/dist/ui/logger/task-formatter.js.map +1 -0
  85. package/dist/ui/shell-listr2.d.ts +36 -0
  86. package/dist/ui/shell-listr2.d.ts.map +1 -0
  87. package/dist/ui/shell-listr2.js +200 -0
  88. package/dist/ui/shell-listr2.js.map +1 -0
  89. package/dist/ui/shell-ora.d.ts +39 -0
  90. package/dist/ui/shell-ora.d.ts.map +1 -0
  91. package/dist/ui/shell-ora.js +295 -0
  92. package/dist/ui/shell-ora.js.map +1 -0
  93. package/dist/ui/shell.d.ts +42 -0
  94. package/dist/ui/shell.d.ts.map +1 -0
  95. package/dist/ui/shell.js +312 -0
  96. package/dist/ui/shell.js.map +1 -0
  97. package/dist/ui/streams/event-bus.d.ts +36 -0
  98. package/dist/ui/streams/event-bus.d.ts.map +1 -0
  99. package/dist/ui/streams/event-bus.js +78 -0
  100. package/dist/ui/streams/event-bus.js.map +1 -0
  101. package/package.json +37 -0
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createLineProcessor = exports.Block = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const cli_spinners_1 = __importDefault(require("cli-spinners"));
9
+ const task_formatter_1 = require("./task-formatter");
10
+ var Block;
11
+ (function (Block) {
12
+ Block["Progress"] = "Progress";
13
+ Block["Resources"] = "Resources";
14
+ Block["Duration"] = "Duration";
15
+ Block["Diagnostics"] = "Diagnostics";
16
+ Block["Outputs"] = "Outputs";
17
+ })(Block || (exports.Block = Block = {}));
18
+ const ICON_REGEX = /^[+~\-\s*@]/;
19
+ const createLineProcessor = (type) => {
20
+ const isDynamic = type === 'dynamic';
21
+ let block = null;
22
+ let lastLine = '';
23
+ let line = '';
24
+ let color = chalk_1.default.bold.gray;
25
+ let interval = null;
26
+ const parseLine = () => {
27
+ let workingLine = line;
28
+ let change = workingLine.split(' ')[0];
29
+ workingLine = workingLine.replace(change, '').trimStart();
30
+ const [resourceType, resourceName] = workingLine.split(' ');
31
+ workingLine = workingLine.replace(`${resourceType} ${resourceName}`, '').trimStart();
32
+ let status;
33
+ if (workingLine.startsWith('**')) {
34
+ const parts = workingLine.split('**');
35
+ status = parts[1];
36
+ workingLine = workingLine.replace(`**${status}**`, '').trimStart();
37
+ }
38
+ else if (workingLine.includes('(')) {
39
+ const parts = workingLine.split('(');
40
+ status = parts[0]?.trimEnd();
41
+ workingLine = workingLine.replace(`${status}(`, '(').trimStart();
42
+ }
43
+ else if (workingLine.includes(':')) {
44
+ const parts = workingLine.split(':');
45
+ status = parts[0]?.trimEnd();
46
+ workingLine = workingLine.replace(`${status}:`, '').trimStart();
47
+ }
48
+ let time = '';
49
+ let message = [];
50
+ if (workingLine.startsWith('(')) {
51
+ const parts = workingLine.split(' ');
52
+ time = parts[0] || '';
53
+ message = parts.slice(1);
54
+ }
55
+ else {
56
+ message = workingLine.split(' ');
57
+ }
58
+ switch (change) {
59
+ case '++':
60
+ case '+-':
61
+ change = task_formatter_1.Change.Replace;
62
+ break;
63
+ case '--':
64
+ change = task_formatter_1.Change.Delete;
65
+ break;
66
+ default:
67
+ }
68
+ return {
69
+ change: change,
70
+ resourceType: resourceType || '',
71
+ resourceName: resourceName || '',
72
+ status,
73
+ time,
74
+ message: message.join(' '),
75
+ };
76
+ };
77
+ const processHeader = () => {
78
+ if (line.startsWith('Creating') ||
79
+ line.startsWith('Updating') ||
80
+ line.startsWith('Destroying') ||
81
+ line.startsWith('Refreshing') ||
82
+ line.startsWith('Building')) {
83
+ block = Block.Progress;
84
+ color = (() => {
85
+ switch (line.split(' ')[0]) {
86
+ case 'Creating':
87
+ case 'Updating':
88
+ case 'Building':
89
+ return chalk_1.default.bold.green;
90
+ case 'Destroying':
91
+ return chalk_1.default.bold.red;
92
+ default:
93
+ return chalk_1.default.bold.grey;
94
+ }
95
+ })();
96
+ if (isDynamic) {
97
+ interval = setInterval(() => {
98
+ (0, task_formatter_1.printRunningTasks)();
99
+ }, cli_spinners_1.default.dots.interval);
100
+ }
101
+ line = line.replace(/.*:/g, (title) => color(title));
102
+ console.log(` ${line}`);
103
+ return true;
104
+ }
105
+ if (line.startsWith('Resources:') ||
106
+ line.startsWith('Diagnostics:') ||
107
+ line.startsWith('Outputs:')) {
108
+ if (block === Block.Progress) {
109
+ if (interval) {
110
+ clearInterval(interval);
111
+ interval = null;
112
+ }
113
+ (0, task_formatter_1.clearTaskLines)();
114
+ if (isDynamic) {
115
+ (0, task_formatter_1.printRunningTasks)(false);
116
+ (0, task_formatter_1.resetTasks)();
117
+ }
118
+ console.log('');
119
+ }
120
+ }
121
+ if (line.startsWith('Outputs:')) {
122
+ block = Block.Outputs;
123
+ return true;
124
+ }
125
+ if (line.startsWith('Resources:')) {
126
+ line = line.replace(/.*:/g, (title) => color(title));
127
+ console.log(` ${line}`);
128
+ block = Block.Resources;
129
+ return true;
130
+ }
131
+ if (line.startsWith('Diagnostics:')) {
132
+ line = line.replace(/.*:/g, (title) => color(title));
133
+ console.log(` ${line}`);
134
+ block = Block.Diagnostics;
135
+ return true;
136
+ }
137
+ if (line.startsWith('Duration:')) {
138
+ line = line.replace(/.*:/g, (title) => color(title));
139
+ console.log(` ${line}`);
140
+ block = Block.Duration;
141
+ return true;
142
+ }
143
+ return false;
144
+ };
145
+ const appendLine = (message) => {
146
+ line += message;
147
+ };
148
+ const resetLine = () => {
149
+ lastLine = line;
150
+ line = '';
151
+ };
152
+ const processLine = () => {
153
+ line = line.replace(/^\s\s?/g, '').trimEnd();
154
+ if (line === '' && lastLine === '') {
155
+ resetLine();
156
+ return;
157
+ }
158
+ const isHeader = processHeader();
159
+ if (isHeader) {
160
+ resetLine();
161
+ return;
162
+ }
163
+ switch (block) {
164
+ case Block.Progress: {
165
+ if (line.startsWith('@')) {
166
+ resetLine();
167
+ return;
168
+ }
169
+ if (!ICON_REGEX.test(line)) {
170
+ resetLine();
171
+ return;
172
+ }
173
+ (0, task_formatter_1.processProgress)(parseLine(), isDynamic);
174
+ break;
175
+ }
176
+ case Block.Diagnostics:
177
+ if (line.trimStart().startsWith('warning:')) {
178
+ line = line.replace('warning:', chalk_1.default.yellow('warning:'));
179
+ console.log(` ${line}`);
180
+ }
181
+ else if (line.trimStart().startsWith('error:')) {
182
+ line = line.replace('error:', chalk_1.default.red('error:'));
183
+ console.log(` ${line}`);
184
+ }
185
+ else if (line.trimStart().startsWith('debug:')) {
186
+ line = line.replace('debug:', chalk_1.default.gray('debug:'));
187
+ console.log(` ${line}`);
188
+ }
189
+ else {
190
+ console.log(` ${line}`);
191
+ }
192
+ break;
193
+ case Block.Outputs:
194
+ break;
195
+ case Block.Resources:
196
+ if (line.length > 0) {
197
+ console.log(` ${line}`);
198
+ }
199
+ break;
200
+ default:
201
+ const skipPatterns = [
202
+ /k3d cluster.*already exists/i,
203
+ /skipping.*installation/i,
204
+ /using built-in/i,
205
+ /already running/i,
206
+ /waiting for/i,
207
+ ];
208
+ const shouldSkip = skipPatterns.some(pattern => pattern.test(line));
209
+ if (line.length > 0 && !shouldSkip) {
210
+ console.log(` ${line}`);
211
+ }
212
+ }
213
+ resetLine();
214
+ };
215
+ return { appendLine, resetLine, processLine };
216
+ };
217
+ exports.createLineProcessor = createLineProcessor;
218
+ //# sourceMappingURL=line-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line-formatter.js","sourceRoot":"","sources":["../../../src/ui/logger/line-formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const formatResourceType: (resourceType: string) => string;
2
+ export declare const formatUrn: (urn: string) => string;
3
+ //# sourceMappingURL=name-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-formatter.d.ts","sourceRoot":"","sources":["../../../src/ui/logger/name-formatter.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,kBAAkB,GAAI,cAAc,MAAM,KAAG,MAMzD,CAAA;AAOD,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,MAMvC,CAAA"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatUrn = exports.formatResourceType = void 0;
4
+ const capitalize = (s) => s.charAt(0).toUpperCase() + s.slice(1);
5
+ const formatResourceType = (resourceType) => {
6
+ if (resourceType.startsWith('pulumi:providers')) {
7
+ const provider = resourceType.split(':')[2];
8
+ return provider ? `${capitalize(provider)} Provider` : 'Provider';
9
+ }
10
+ return resourceType.split(':').pop() || resourceType;
11
+ };
12
+ exports.formatResourceType = formatResourceType;
13
+ const formatUrn = (urn) => {
14
+ const parts = urn.split('::');
15
+ const name = parts.at(-1) ?? '';
16
+ const resourceType = parts.at(-2) ?? '';
17
+ return `${(0, exports.formatResourceType)(resourceType)} ${name}`;
18
+ };
19
+ exports.formatUrn = formatUrn;
20
+ //# sourceMappingURL=name-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-formatter.js","sourceRoot":"","sources":["../../../src/ui/logger/name-formatter.ts"],"names":[],"mappings":";;;AASA,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CACvC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAUjC,MAAM,kBAAkB,GAAG,CAAC,YAAoB,EAAU,EAAE;IACjE,IAAI,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3C,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAA;IACnE,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,YAAY,CAAA;AACtD,CAAC,CAAA;AANY,QAAA,kBAAkB,sBAM9B;AAOM,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;IAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAEvC,OAAO,GAAG,IAAA,0BAAkB,EAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAA;AACtD,CAAC,CAAA;AANY,QAAA,SAAS,aAMrB"}
@@ -0,0 +1,14 @@
1
+ export declare enum Block {
2
+ Progress = "Progress",
3
+ Resources = "Resources",
4
+ Duration = "Duration",
5
+ Diagnostics = "Diagnostics",
6
+ Outputs = "Outputs"
7
+ }
8
+ export interface LineProcessor {
9
+ appendLine: (message: string) => void;
10
+ resetLine: () => void;
11
+ processLine: () => void;
12
+ }
13
+ export declare const createLineProcessor: (type: "dynamic" | "static") => LineProcessor;
14
+ //# sourceMappingURL=simple-line-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-line-formatter.d.ts","sourceRoot":"","sources":["../../../src/ui/logger/simple-line-formatter.ts"],"names":[],"mappings":"AAuBA,oBAAY,KAAK;IACf,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB;AAQD,eAAO,MAAM,mBAAmB,GAAI,MAAM,SAAS,GAAG,QAAQ,KAAG,aAgOhE,CAAA"}
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createLineProcessor = exports.Block = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const cli_spinners_1 = __importDefault(require("cli-spinners"));
9
+ const simple_task_formatter_1 = require("./simple-task-formatter");
10
+ var Block;
11
+ (function (Block) {
12
+ Block["Progress"] = "Progress";
13
+ Block["Resources"] = "Resources";
14
+ Block["Duration"] = "Duration";
15
+ Block["Diagnostics"] = "Diagnostics";
16
+ Block["Outputs"] = "Outputs";
17
+ })(Block || (exports.Block = Block = {}));
18
+ const ICON_REGEX = /^[+~\-\s*@]/;
19
+ const createLineProcessor = (type) => {
20
+ const isDynamic = type === 'dynamic';
21
+ let block = null;
22
+ let lastLine = '';
23
+ let line = '';
24
+ let color = chalk_1.default.bold.gray;
25
+ let interval = null;
26
+ const parseLine = () => {
27
+ let workingLine = line;
28
+ let change = workingLine.split(' ')[0];
29
+ workingLine = workingLine.replace(change, '').trimStart();
30
+ const [resourceType, resourceName] = workingLine.split(' ');
31
+ workingLine = workingLine.replace(`${resourceType} ${resourceName}`, '').trimStart();
32
+ let status;
33
+ if (workingLine.startsWith('**')) {
34
+ const parts = workingLine.split('**');
35
+ status = parts[1];
36
+ workingLine = workingLine.replace(`**${status}**`, '').trimStart();
37
+ }
38
+ else if (workingLine.includes('(')) {
39
+ const parts = workingLine.split('(');
40
+ status = parts[0]?.trimEnd();
41
+ workingLine = workingLine.replace(`${status}(`, '(').trimStart();
42
+ }
43
+ else if (workingLine.includes(':')) {
44
+ const parts = workingLine.split(':');
45
+ status = parts[0]?.trimEnd();
46
+ workingLine = workingLine.replace(`${status}:`, '').trimStart();
47
+ }
48
+ let time = '';
49
+ let message = [];
50
+ if (workingLine.startsWith('(')) {
51
+ const parts = workingLine.split(' ');
52
+ time = parts[0] || '';
53
+ message = parts.slice(1);
54
+ }
55
+ else {
56
+ message = workingLine.split(' ');
57
+ }
58
+ switch (change) {
59
+ case '++':
60
+ case '+-':
61
+ change = simple_task_formatter_1.Change.Replace;
62
+ break;
63
+ case '--':
64
+ change = simple_task_formatter_1.Change.Delete;
65
+ break;
66
+ default:
67
+ }
68
+ return {
69
+ change: change,
70
+ resourceType: resourceType || '',
71
+ resourceName: resourceName || '',
72
+ status,
73
+ time,
74
+ message: message.join(' '),
75
+ };
76
+ };
77
+ const processHeader = () => {
78
+ if (line.startsWith('Creating') ||
79
+ line.startsWith('Updating') ||
80
+ line.startsWith('Destroying') ||
81
+ line.startsWith('Refreshing') ||
82
+ line.startsWith('Building')) {
83
+ block = Block.Progress;
84
+ color = (() => {
85
+ switch (line.split(' ')[0]) {
86
+ case 'Creating':
87
+ case 'Updating':
88
+ case 'Building':
89
+ return chalk_1.default.bold.green;
90
+ case 'Destroying':
91
+ return chalk_1.default.bold.red;
92
+ default:
93
+ return chalk_1.default.bold.grey;
94
+ }
95
+ })();
96
+ if (isDynamic) {
97
+ interval = setInterval(() => {
98
+ (0, simple_task_formatter_1.printRunningTasks)();
99
+ }, cli_spinners_1.default.dots.interval);
100
+ }
101
+ line = line.replace(/.*:/g, (title) => color(title));
102
+ console.log(line);
103
+ return true;
104
+ }
105
+ if (line.startsWith('Resources:') ||
106
+ line.startsWith('Diagnostics:') ||
107
+ line.startsWith('Outputs:')) {
108
+ if (block === Block.Progress) {
109
+ if (interval) {
110
+ clearInterval(interval);
111
+ interval = null;
112
+ }
113
+ (0, simple_task_formatter_1.clearTaskLines)();
114
+ if (isDynamic) {
115
+ (0, simple_task_formatter_1.printRunningTasks)(false);
116
+ (0, simple_task_formatter_1.resetTasks)();
117
+ }
118
+ console.log('');
119
+ }
120
+ }
121
+ if (line.startsWith('Outputs:')) {
122
+ block = Block.Outputs;
123
+ return true;
124
+ }
125
+ if (line.startsWith('Resources:')) {
126
+ line = line.replace(/.*:/g, (title) => color(title));
127
+ console.log(line);
128
+ block = Block.Resources;
129
+ return true;
130
+ }
131
+ if (line.startsWith('Diagnostics:')) {
132
+ line = line.replace(/.*:/g, (title) => color(title));
133
+ console.log(line);
134
+ block = Block.Diagnostics;
135
+ return true;
136
+ }
137
+ if (line.startsWith('Duration:')) {
138
+ line = line.replace(/.*:/g, (title) => color(title));
139
+ console.log(line);
140
+ block = Block.Duration;
141
+ return true;
142
+ }
143
+ return false;
144
+ };
145
+ const appendLine = (message) => {
146
+ line += message;
147
+ };
148
+ const resetLine = () => {
149
+ lastLine = line;
150
+ line = '';
151
+ };
152
+ const processLine = () => {
153
+ line = line.replace(/^\s\s?/g, '').trimEnd();
154
+ if (line === '' && lastLine === '') {
155
+ resetLine();
156
+ return;
157
+ }
158
+ const isHeader = processHeader();
159
+ if (isHeader) {
160
+ resetLine();
161
+ return;
162
+ }
163
+ switch (block) {
164
+ case Block.Progress: {
165
+ if (line.startsWith('@')) {
166
+ resetLine();
167
+ return;
168
+ }
169
+ if (!ICON_REGEX.test(line)) {
170
+ resetLine();
171
+ return;
172
+ }
173
+ (0, simple_task_formatter_1.processProgress)(parseLine(), isDynamic);
174
+ break;
175
+ }
176
+ case Block.Diagnostics:
177
+ if (line.trimStart().startsWith('warning:')) {
178
+ line = line.replace('warning:', chalk_1.default.yellow('warning:'));
179
+ console.log(line);
180
+ }
181
+ else if (line.trimStart().startsWith('error:')) {
182
+ line = line.replace('error:', chalk_1.default.red('error:'));
183
+ console.log(line);
184
+ }
185
+ else if (line.trimStart().startsWith('debug:')) {
186
+ line = line.replace('debug:', chalk_1.default.gray('debug:'));
187
+ console.log(line);
188
+ }
189
+ else {
190
+ console.log(line);
191
+ }
192
+ break;
193
+ case Block.Outputs:
194
+ break;
195
+ case Block.Resources:
196
+ if (line.length > 0) {
197
+ console.log(` ${line}`);
198
+ }
199
+ break;
200
+ default:
201
+ if (line.length > 0) {
202
+ console.log(line);
203
+ }
204
+ }
205
+ resetLine();
206
+ };
207
+ return { appendLine, resetLine, processLine };
208
+ };
209
+ exports.createLineProcessor = createLineProcessor;
210
+ //# sourceMappingURL=simple-line-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-line-formatter.js","sourceRoot":"","sources":["../../../src/ui/logger/simple-line-formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const pulumiLogger: (message: string) => void;
2
+ export declare const resetLogger: () => void;
3
+ //# sourceMappingURL=simple-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-logger.d.ts","sourceRoot":"","sources":["../../../src/ui/logger/simple-logger.ts"],"names":[],"mappings":"AAsCA,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,IAU9C,CAAA;AAKD,eAAO,MAAM,WAAW,QAAO,IAG9B,CAAA"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resetLogger = exports.pulumiLogger = void 0;
4
+ const simple_line_formatter_1 = require("./simple-line-formatter");
5
+ const isDynamic = () => (process.stdout.isTTY ?? false) &&
6
+ process.env.IS_INTERACTIVE !== 'false' &&
7
+ process.env.CI !== 'true';
8
+ let dynamicProcessor = null;
9
+ let staticProcessor = null;
10
+ const getDynamicProcessor = () => {
11
+ if (!dynamicProcessor) {
12
+ dynamicProcessor = (0, simple_line_formatter_1.createLineProcessor)('dynamic');
13
+ }
14
+ return dynamicProcessor;
15
+ };
16
+ const getStaticProcessor = () => {
17
+ if (!staticProcessor) {
18
+ staticProcessor = (0, simple_line_formatter_1.createLineProcessor)('static');
19
+ }
20
+ return staticProcessor;
21
+ };
22
+ const pulumiLogger = (message) => {
23
+ const processor = isDynamic() ? getDynamicProcessor() : getStaticProcessor();
24
+ for (const char of message) {
25
+ if (char === '\n') {
26
+ processor.processLine();
27
+ }
28
+ else {
29
+ processor.appendLine(char);
30
+ }
31
+ }
32
+ };
33
+ exports.pulumiLogger = pulumiLogger;
34
+ const resetLogger = () => {
35
+ dynamicProcessor = null;
36
+ staticProcessor = null;
37
+ };
38
+ exports.resetLogger = resetLogger;
39
+ //# sourceMappingURL=simple-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-logger.js","sourceRoot":"","sources":["../../../src/ui/logger/simple-logger.ts"],"names":[],"mappings":";;;AAOA,mEAA4E;AAM5E,MAAM,SAAS,GAAG,GAAY,EAAE,CAC9B,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,OAAO;IACtC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAA;AAE3B,IAAI,gBAAgB,GAAyB,IAAI,CAAA;AACjD,IAAI,eAAe,GAAyB,IAAI,CAAA;AAEhD,MAAM,mBAAmB,GAAG,GAAkB,EAAE;IAC9C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,gBAAgB,GAAG,IAAA,2CAAmB,EAAC,SAAS,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,GAAkB,EAAE;IAC7C,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,IAAA,2CAAmB,EAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA;AAKM,MAAM,YAAY,GAAG,CAAC,OAAe,EAAQ,EAAE;IACpD,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAA;IAE5E,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,SAAS,CAAC,WAAW,EAAE,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAVY,QAAA,YAAY,gBAUxB;AAKM,MAAM,WAAW,GAAG,GAAS,EAAE;IACpC,gBAAgB,GAAG,IAAI,CAAA;IACvB,eAAe,GAAG,IAAI,CAAA;AACxB,CAAC,CAAA;AAHY,QAAA,WAAW,eAGvB"}
@@ -0,0 +1,47 @@
1
+ export declare enum Change {
2
+ Create = "+",
3
+ Replace = "!",
4
+ Delete = "-",
5
+ Update = "~",
6
+ Running = "*",
7
+ Unchanged = ""
8
+ }
9
+ export declare enum Status {
10
+ Creating = "creating",
11
+ Created = "created",
12
+ Deleting = "deleting",
13
+ Deleted = "deleted",
14
+ Updating = "updating",
15
+ Updated = "updated",
16
+ Replacing = "replacing",
17
+ Replaced = "replaced",
18
+ Running = "running",
19
+ Refreshing = "refreshing",
20
+ Refresh = "refresh",
21
+ Failed = "failed",
22
+ Unchanged = ""
23
+ }
24
+ export interface TaskUpdate {
25
+ change: Change;
26
+ resourceType: string;
27
+ resourceName: string;
28
+ status?: Status;
29
+ time: string;
30
+ message?: string;
31
+ }
32
+ export interface Task {
33
+ change: Change;
34
+ order: number;
35
+ id: string;
36
+ name: string;
37
+ startTime: Date;
38
+ completedTime?: Date;
39
+ message?: string;
40
+ status: Status;
41
+ spinner: () => string;
42
+ }
43
+ export declare const resetTasks: () => void;
44
+ export declare const printRunningTasks: (toUpdater?: boolean) => void;
45
+ export declare const clearTaskLines: () => void;
46
+ export declare const processProgress: (update: TaskUpdate, isDynamic: boolean) => void;
47
+ //# sourceMappingURL=simple-task-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-task-formatter.d.ts","sourceRoot":"","sources":["../../../src/ui/logger/simple-task-formatter.ts"],"names":[],"mappings":"AAcA,oBAAY,MAAM;IAChB,MAAM,MAAM;IACZ,OAAO,MAAM;IACb,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,OAAO,MAAM;IACb,SAAS,KAAK;CACf;AAED,oBAAY,MAAM;IAChB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,KAAK;CACf;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,IAAI,CAAA;IACf,aAAa,CAAC,EAAE,IAAI,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,MAAM,CAAA;CACtB;AA+FD,eAAO,MAAM,UAAU,QAAO,IAG7B,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,mBAAgB,KAAG,IAYpD,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,IAGjC,CAAA;AAuBD,eAAO,MAAM,eAAe,GAAI,QAAQ,UAAU,EAAE,WAAW,OAAO,KAAG,IAgExE,CAAA"}