@nu-art/build-and-install 0.204.92 → 0.204.94
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/build-and-install.js +0 -3
- package/core/types/package/package.d.ts +3 -0
- package/package.json +1 -1
- package/v2/phase-runner/PhaseRunner.js +3 -3
- package/v2/unit/core/BaseUnit.d.ts +11 -4
- package/v2/unit/core/BaseUnit.js +53 -5
- package/v2/unit/core/Unit_Python.d.ts +0 -4
- package/v2/unit/core/Unit_Python.js +5 -19
- package/v2/unit/core/Unit_Typescript.js +3 -3
- package/v2/unit/core/Unit_TypescriptLib.js +13 -21
- package/v2/unit/core/Unit_TypescriptProject.js +16 -8
- package/v2/unit/firebase-units/Unit_FirebaseFunctionsApp.js +17 -28
- package/v2/unit/firebase-units/Unit_FirebaseHostingApp.js +13 -19
- package/v2/unit/tools/tools.d.ts +2 -0
- package/v2/unit/tools/tools.js +16 -0
- package/logic/ProjectManager.d.ts +0 -49
- package/logic/ProjectManager.js +0 -271
- package/logic/command-executors/CommandExecutor_FirebaseFunction.d.ts +0 -21
- package/logic/command-executors/CommandExecutor_FirebaseFunction.js +0 -71
- package/logic/command-executors/CommandExecutor_FirebaseHosting.d.ts +0 -13
- package/logic/command-executors/CommandExecutor_FirebaseHosting.js +0 -48
- package/logic/command-executors/CommandExecutor_Python.d.ts +0 -15
- package/logic/command-executors/CommandExecutor_Python.js +0 -53
- package/logic/command-executors/index.d.ts +0 -2
- package/logic/command-executors/index.js +0 -18
- package/logic/map-project-packages.d.ts +0 -4
- package/logic/map-project-packages.js +0 -128
- package/phases/phases.d.ts +0 -24
- package/phases/phases.js +0 -775
- package/project-manager.d.ts +0 -4
- package/project-manager.js +0 -9
- package/screen/ProjectScreen.d.ts +0 -31
- package/screen/ProjectScreen.js +0 -140
- package/screen/RunningProcessLogs.d.ts +0 -17
- package/screen/RunningProcessLogs.js +0 -137
package/project-manager.d.ts
DELETED
package/project-manager.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MemKey_AbortSignal = exports.MemKey_ProjectManager = void 0;
|
|
4
|
-
const MemStorage_1 = require("@nu-art/ts-common/mem-storage/MemStorage");
|
|
5
|
-
const ts_common_1 = require("@nu-art/ts-common");
|
|
6
|
-
const params_1 = require("./core/params/params");
|
|
7
|
-
exports.MemKey_ProjectManager = new MemStorage_1.MemKey('ProjectManager', true);
|
|
8
|
-
exports.MemKey_AbortSignal = new MemStorage_1.MemKey('AbortSignal');
|
|
9
|
-
ts_common_1.DebugFlag.DefaultLogLevel = params_1.RuntimeParams.debug ? ts_common_1.LogLevel.Debug : ts_common_1.LogLevel.Info;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { MemKey } from '@nu-art/ts-common/mem-storage/MemStorage';
|
|
2
|
-
import { LogClient_MemBuffer } from '@nu-art/ts-common';
|
|
3
|
-
import { ConsoleScreen } from '@nu-art/commando/console/ConsoleScreen';
|
|
4
|
-
export type PackageStatus = {
|
|
5
|
-
packageName: string;
|
|
6
|
-
status: string;
|
|
7
|
-
error?: string;
|
|
8
|
-
};
|
|
9
|
-
type CurrentRunningPhase = {
|
|
10
|
-
phaseName: string;
|
|
11
|
-
};
|
|
12
|
-
type State = {
|
|
13
|
-
packageData: PackageStatus[];
|
|
14
|
-
currentRunningPhase: CurrentRunningPhase;
|
|
15
|
-
};
|
|
16
|
-
export declare class ProjectScreen extends ConsoleScreen<State> {
|
|
17
|
-
private phase;
|
|
18
|
-
private packageTable;
|
|
19
|
-
private logger;
|
|
20
|
-
readonly logClient: LogClient_MemBuffer;
|
|
21
|
-
constructor(initialData: PackageStatus[]);
|
|
22
|
-
getPackageData(): PackageStatus[];
|
|
23
|
-
protected createContent(): void;
|
|
24
|
-
protected render(): void;
|
|
25
|
-
private renderCurrentRunningPhase;
|
|
26
|
-
private renderPackageTableTable;
|
|
27
|
-
updateOrCreatePackage: (name: string, status: string, error?: string) => void;
|
|
28
|
-
updateRunningPhase: (name: string) => void;
|
|
29
|
-
}
|
|
30
|
-
export declare const MemKey_ProjectScreen: MemKey<ProjectScreen>;
|
|
31
|
-
export {};
|
package/screen/ProjectScreen.js
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MemKey_ProjectScreen = exports.ProjectScreen = void 0;
|
|
4
|
-
const MemStorage_1 = require("@nu-art/ts-common/mem-storage/MemStorage");
|
|
5
|
-
const ts_common_1 = require("@nu-art/ts-common");
|
|
6
|
-
const ConsoleScreen_1 = require("@nu-art/commando/console/ConsoleScreen");
|
|
7
|
-
class ProjectScreen extends ConsoleScreen_1.ConsoleScreen {
|
|
8
|
-
constructor(initialData) {
|
|
9
|
-
super({
|
|
10
|
-
smartCSR: true,
|
|
11
|
-
title: 'Build and install',
|
|
12
|
-
}, [{
|
|
13
|
-
keys: ['escape', 'q', 'C-c'],
|
|
14
|
-
callback: async () => {
|
|
15
|
-
return process.exit(1); // Quit on q, esc, or ctrl-c
|
|
16
|
-
}
|
|
17
|
-
}]);
|
|
18
|
-
this.logClient = new ts_common_1.LogClient_MemBuffer('output.txt');
|
|
19
|
-
this.renderCurrentRunningPhase = () => {
|
|
20
|
-
var _a, _b, _c;
|
|
21
|
-
const content = `Phase Name: ${(_c = (_b = (_a = this.state) === null || _a === void 0 ? void 0 : _a.currentRunningPhase) === null || _b === void 0 ? void 0 : _b.phaseName) !== null && _c !== void 0 ? _c : 'No Phase'}\n`;
|
|
22
|
-
this.phase.setContent(content);
|
|
23
|
-
};
|
|
24
|
-
this.renderPackageTableTable = () => {
|
|
25
|
-
var _a;
|
|
26
|
-
const scrollPosition = this.packageTable.getScroll();
|
|
27
|
-
const data = [
|
|
28
|
-
['Package Name', 'Status'],
|
|
29
|
-
...((_a = this.state.packageData) !== null && _a !== void 0 ? _a : []).map(pkg => [pkg.packageName, pkg.status])
|
|
30
|
-
];
|
|
31
|
-
this.packageTable.setData(data);
|
|
32
|
-
this.packageTable.setScroll(scrollPosition);
|
|
33
|
-
};
|
|
34
|
-
this.updateOrCreatePackage = (name, status, error) => {
|
|
35
|
-
const packageData = this.state.packageData;
|
|
36
|
-
const index = packageData.findIndex(pkg => pkg.packageName === name);
|
|
37
|
-
if (index !== -1) {
|
|
38
|
-
packageData[index].status = status;
|
|
39
|
-
packageData[index].error = error;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
packageData.push({ packageName: name, status });
|
|
43
|
-
}
|
|
44
|
-
this.setState({ packageData });
|
|
45
|
-
};
|
|
46
|
-
this.updateRunningPhase = (name) => {
|
|
47
|
-
this.setState({ currentRunningPhase: { phaseName: name } });
|
|
48
|
-
};
|
|
49
|
-
this.setState({
|
|
50
|
-
packageData: initialData
|
|
51
|
-
});
|
|
52
|
-
this.logClient.setComposer((tag, level) => {
|
|
53
|
-
ts_common_1._logger_finalDate.setTime(Date.now() - ts_common_1._logger_timezoneOffset);
|
|
54
|
-
const date = ts_common_1._logger_finalDate.toISOString().replace(/T/, '_').replace(/Z/, '').substring(0, 23).split('_')[1];
|
|
55
|
-
return ` ${date} ${(0, ts_common_1._logger_getPrefix)(level)} ${tag}: `;
|
|
56
|
-
});
|
|
57
|
-
this.logClient.setLogAppendedListener(() => {
|
|
58
|
-
this.setState({});
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
getPackageData() {
|
|
62
|
-
return this.state.packageData;
|
|
63
|
-
}
|
|
64
|
-
createContent() {
|
|
65
|
-
this.phase = this.createWidget('text', {
|
|
66
|
-
top: 0,
|
|
67
|
-
left: 0,
|
|
68
|
-
height: 3,
|
|
69
|
-
width: '40%',
|
|
70
|
-
content: 'phases',
|
|
71
|
-
border: { type: 'line' },
|
|
72
|
-
tags: true,
|
|
73
|
-
style: {
|
|
74
|
-
border: { fg: 'green' },
|
|
75
|
-
fg: 'green',
|
|
76
|
-
},
|
|
77
|
-
align: 'center'
|
|
78
|
-
});
|
|
79
|
-
this.packageTable = this.createWidget('listTable', {
|
|
80
|
-
top: 3,
|
|
81
|
-
left: 0,
|
|
82
|
-
width: '40%',
|
|
83
|
-
height: '100%',
|
|
84
|
-
keys: true,
|
|
85
|
-
border: { type: 'line' },
|
|
86
|
-
align: 'left',
|
|
87
|
-
tags: true,
|
|
88
|
-
style: {
|
|
89
|
-
border: { fg: 'blue' },
|
|
90
|
-
header: { bold: true },
|
|
91
|
-
cell: { fg: 'white', selected: { bg: 'blue' } }
|
|
92
|
-
},
|
|
93
|
-
mouse: true,
|
|
94
|
-
interactive: true,
|
|
95
|
-
scrollbar: {
|
|
96
|
-
ch: ' ',
|
|
97
|
-
track: {
|
|
98
|
-
bg: 'grey'
|
|
99
|
-
},
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
this.createWidget('text', {
|
|
103
|
-
top: 0,
|
|
104
|
-
right: 0,
|
|
105
|
-
width: '60%',
|
|
106
|
-
height: 3,
|
|
107
|
-
border: { type: 'line' },
|
|
108
|
-
content: 'Log',
|
|
109
|
-
tags: true,
|
|
110
|
-
style: {
|
|
111
|
-
border: { fg: 'green' },
|
|
112
|
-
fg: 'green',
|
|
113
|
-
},
|
|
114
|
-
align: 'center',
|
|
115
|
-
});
|
|
116
|
-
this.logger = this.createWidget('log', {
|
|
117
|
-
top: 3,
|
|
118
|
-
right: 0,
|
|
119
|
-
width: '60%',
|
|
120
|
-
mouse: true,
|
|
121
|
-
interactive: true,
|
|
122
|
-
bottom: '0',
|
|
123
|
-
tags: true,
|
|
124
|
-
border: { type: 'line' },
|
|
125
|
-
style: {
|
|
126
|
-
border: { fg: 'blue' },
|
|
127
|
-
fg: 'white',
|
|
128
|
-
},
|
|
129
|
-
valign: 'top',
|
|
130
|
-
align: 'left'
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
render() {
|
|
134
|
-
this.renderCurrentRunningPhase();
|
|
135
|
-
this.renderPackageTableTable();
|
|
136
|
-
this.logger.setContent(this.logClient.buffers[0]);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
exports.ProjectScreen = ProjectScreen;
|
|
140
|
-
exports.MemKey_ProjectScreen = new MemStorage_1.MemKey('project-screen');
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { AsyncVoidFunction, LogClient_MemBuffer } from '@nu-art/ts-common';
|
|
2
|
-
import { ConsoleScreen } from '@nu-art/commando/console/ConsoleScreen';
|
|
3
|
-
export declare class RunningProcessLogs extends ConsoleScreen<{
|
|
4
|
-
logs: {
|
|
5
|
-
key: string;
|
|
6
|
-
logClient: LogClient_MemBuffer;
|
|
7
|
-
}[];
|
|
8
|
-
}> {
|
|
9
|
-
private onTerminateCallbacks;
|
|
10
|
-
constructor();
|
|
11
|
-
scrollFocusedLog(direction: number): void;
|
|
12
|
-
protected createContent(): void;
|
|
13
|
-
registerApp(appKey: string, logClient: LogClient_MemBuffer): void;
|
|
14
|
-
unregisterApp(appKey: string): void;
|
|
15
|
-
protected render(): void;
|
|
16
|
-
addOnTerminateCallback: (callback: AsyncVoidFunction) => void;
|
|
17
|
-
}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RunningProcessLogs = void 0;
|
|
4
|
-
const ts_common_1 = require("@nu-art/ts-common");
|
|
5
|
-
const ConsoleScreen_1 = require("@nu-art/commando/console/ConsoleScreen");
|
|
6
|
-
class RunningProcessLogs extends ConsoleScreen_1.ConsoleScreen {
|
|
7
|
-
constructor() {
|
|
8
|
-
let killed = false;
|
|
9
|
-
super({
|
|
10
|
-
smartCSR: true,
|
|
11
|
-
title: 'Runtime-Logs',
|
|
12
|
-
}, [
|
|
13
|
-
{
|
|
14
|
-
keys: ['C-c'],
|
|
15
|
-
callback: async () => {
|
|
16
|
-
if (killed)
|
|
17
|
-
return;
|
|
18
|
-
killed = true;
|
|
19
|
-
// this.dispose();
|
|
20
|
-
await Promise.all(this.onTerminateCallbacks.map(callback => callback()));
|
|
21
|
-
process.exit(0);
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
keys: ['up'],
|
|
26
|
-
callback: () => this.scrollFocusedLog(-1),
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
keys: ['down'],
|
|
30
|
-
callback: () => this.scrollFocusedLog(1),
|
|
31
|
-
},
|
|
32
|
-
]);
|
|
33
|
-
this.onTerminateCallbacks = [];
|
|
34
|
-
this.addOnTerminateCallback = (callback) => {
|
|
35
|
-
this.onTerminateCallbacks.push(callback);
|
|
36
|
-
};
|
|
37
|
-
this.state = { logs: [] };
|
|
38
|
-
}
|
|
39
|
-
scrollFocusedLog(direction) {
|
|
40
|
-
const focusedWidget = this.getFocusedWidget();
|
|
41
|
-
focusedWidget.scroll(direction);
|
|
42
|
-
focusedWidget.setLabel(`scroll pos: ${focusedWidget.getScroll()}`);
|
|
43
|
-
}
|
|
44
|
-
createContent() {
|
|
45
|
-
const logs = this.state.logs;
|
|
46
|
-
const fittingGrid = gridPreset[logs.length - 1];
|
|
47
|
-
if (!(0, ts_common_1.exists)(fittingGrid))
|
|
48
|
-
return;
|
|
49
|
-
if (!fittingGrid)
|
|
50
|
-
throw new Error(`No preset available for this number of cells ${logs.length}`);
|
|
51
|
-
let index = 0;
|
|
52
|
-
let xPos = 0;
|
|
53
|
-
fittingGrid.forEach(column => {
|
|
54
|
-
let yPos = 0;
|
|
55
|
-
column.forEach(cell => {
|
|
56
|
-
const [fracWidth, fracHeight] = cell;
|
|
57
|
-
const width = 100 * fracWidth;
|
|
58
|
-
const height = 100 * fracHeight;
|
|
59
|
-
this.createWidget('log', {
|
|
60
|
-
top: `${yPos}%`,
|
|
61
|
-
left: `${xPos}%`,
|
|
62
|
-
width: `${width}%`,
|
|
63
|
-
height: `${height}%`,
|
|
64
|
-
label: ` Log for ${logs[index++].key} `,
|
|
65
|
-
border: { type: 'line' },
|
|
66
|
-
style: {
|
|
67
|
-
focus: { border: { fg: 'blue' } }, border: { fg: 'green' }, hover: { border: { fg: 'red' } }
|
|
68
|
-
},
|
|
69
|
-
scrollable: true,
|
|
70
|
-
scrollbar: {
|
|
71
|
-
ch: ' ',
|
|
72
|
-
track: {
|
|
73
|
-
bg: 'grey'
|
|
74
|
-
},
|
|
75
|
-
style: {
|
|
76
|
-
inverse: true
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
});
|
|
80
|
-
yPos += height; // Assumes all cells in a column have the same height
|
|
81
|
-
});
|
|
82
|
-
xPos += column[0][0] * 100;
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
registerApp(appKey, logClient) {
|
|
86
|
-
const logs = this.state.logs;
|
|
87
|
-
const foundLog = logs.find(log => log.key === appKey);
|
|
88
|
-
if (foundLog)
|
|
89
|
-
throw new ts_common_1.BadImplementationException(`already have log for appkey: ${appKey}`);
|
|
90
|
-
logs.push({ key: appKey, logClient });
|
|
91
|
-
this.dispose();
|
|
92
|
-
this.create();
|
|
93
|
-
logClient.setLogAppendedListener(() => {
|
|
94
|
-
this.render();
|
|
95
|
-
// might have a leak.. need to remove the listener at some point
|
|
96
|
-
});
|
|
97
|
-
this.setState({ logs });
|
|
98
|
-
}
|
|
99
|
-
unregisterApp(appKey) {
|
|
100
|
-
const foundLog = this.state.logs.find(log => log.key === appKey);
|
|
101
|
-
if (!foundLog)
|
|
102
|
-
throw new ts_common_1.BadImplementationException(`Could not find log for appkey: ${appKey}`);
|
|
103
|
-
const logs = this.state.logs;
|
|
104
|
-
(0, ts_common_1.removeItemFromArray)(logs, foundLog);
|
|
105
|
-
this.dispose();
|
|
106
|
-
this.create();
|
|
107
|
-
this.setState({ logs });
|
|
108
|
-
}
|
|
109
|
-
render() {
|
|
110
|
-
try {
|
|
111
|
-
this.state.logs.forEach((log, i) => {
|
|
112
|
-
var _a, _b;
|
|
113
|
-
(_a = this.widgets[i]) === null || _a === void 0 ? void 0 : _a.setContent((_b = log.logClient.buffers[0]) !== null && _b !== void 0 ? _b : 'asdsd');
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
catch (e) {
|
|
117
|
-
console.log(e);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
exports.RunningProcessLogs = RunningProcessLogs;
|
|
122
|
-
const columnOf1_halfWidth = [[0.5, 1]];
|
|
123
|
-
const columnOf2_halfWidth = [[0.5, 0.5], [0.5, 0.5]];
|
|
124
|
-
const columnOf3_halfWidth = [[0.5, 1 / 3], [0.5, 1 / 3], [0.5, 1 / 3]];
|
|
125
|
-
const columnOf2_3rdWidth = [[1 / 3, 0.5], [1 / 3, 0.5]];
|
|
126
|
-
const columnOf3_3rdWidth = [[1 / 3, 1 / 3], [1 / 3, 1 / 3], [1 / 3, 1 / 3]];
|
|
127
|
-
const gridPreset = [
|
|
128
|
-
[[[1, 1]]],
|
|
129
|
-
[columnOf1_halfWidth, columnOf1_halfWidth],
|
|
130
|
-
[columnOf2_halfWidth, columnOf1_halfWidth],
|
|
131
|
-
[columnOf2_halfWidth, columnOf2_halfWidth],
|
|
132
|
-
[columnOf3_halfWidth, columnOf2_halfWidth],
|
|
133
|
-
[columnOf3_halfWidth, columnOf3_halfWidth],
|
|
134
|
-
[columnOf3_3rdWidth, columnOf2_3rdWidth, columnOf2_3rdWidth],
|
|
135
|
-
[columnOf3_3rdWidth, columnOf3_3rdWidth, columnOf2_3rdWidth],
|
|
136
|
-
[columnOf3_3rdWidth, columnOf3_3rdWidth, columnOf3_3rdWidth],
|
|
137
|
-
];
|