@nu-art/build-and-install 0.204.91 → 0.204.93

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 (36) hide show
  1. package/build-and-install.js +0 -3
  2. package/package.json +1 -1
  3. package/v2/phase-runner/PhaseRunner.js +3 -3
  4. package/v2/unit/core/BaseUnit.d.ts +11 -4
  5. package/v2/unit/core/BaseUnit.js +61 -9
  6. package/v2/unit/core/Unit_Python.d.ts +0 -4
  7. package/v2/unit/core/Unit_Python.js +5 -19
  8. package/v2/unit/core/Unit_Typescript.js +3 -3
  9. package/v2/unit/core/Unit_TypescriptLib.d.ts +1 -0
  10. package/v2/unit/core/Unit_TypescriptLib.js +17 -22
  11. package/v2/unit/core/Unit_TypescriptProject.js +16 -10
  12. package/v2/unit/firebase-units/Unit_FirebaseFunctionsApp.js +17 -26
  13. package/v2/unit/firebase-units/Unit_FirebaseHostingApp.d.ts +1 -5
  14. package/v2/unit/firebase-units/Unit_FirebaseHostingApp.js +20 -35
  15. package/v2/unit/tools/tools.d.ts +2 -0
  16. package/v2/unit/tools/tools.js +16 -0
  17. package/logic/ProjectManager.d.ts +0 -49
  18. package/logic/ProjectManager.js +0 -271
  19. package/logic/command-executors/CommandExecutor_FirebaseFunction.d.ts +0 -21
  20. package/logic/command-executors/CommandExecutor_FirebaseFunction.js +0 -71
  21. package/logic/command-executors/CommandExecutor_FirebaseHosting.d.ts +0 -13
  22. package/logic/command-executors/CommandExecutor_FirebaseHosting.js +0 -48
  23. package/logic/command-executors/CommandExecutor_Python.d.ts +0 -15
  24. package/logic/command-executors/CommandExecutor_Python.js +0 -53
  25. package/logic/command-executors/index.d.ts +0 -2
  26. package/logic/command-executors/index.js +0 -18
  27. package/logic/map-project-packages.d.ts +0 -4
  28. package/logic/map-project-packages.js +0 -128
  29. package/phases/phases.d.ts +0 -24
  30. package/phases/phases.js +0 -775
  31. package/project-manager.d.ts +0 -4
  32. package/project-manager.js +0 -9
  33. package/screen/ProjectScreen.d.ts +0 -31
  34. package/screen/ProjectScreen.js +0 -140
  35. package/screen/RunningProcessLogs.d.ts +0 -17
  36. package/screen/RunningProcessLogs.js +0 -137
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CommandExecutor_Python = void 0;
4
- const basic_1 = require("@nu-art/commando/cli/basic");
5
- const tools_1 = require("@nu-art/commando/shell/tools");
6
- const shell_1 = require("@nu-art/commando/shell");
7
- class CommandExecutor_Python {
8
- constructor(pkg) {
9
- this.APP_PID_LOG = '_APP_PID_';
10
- this.APP_KILL_LOG = '_APP_KILLED_';
11
- this.pkg = pkg;
12
- this.commando = shell_1.CommandoInteractive.create(basic_1.Cli_Basic)
13
- .setUID(this.pkg.name)
14
- .cd((0, tools_1.convertToFullPath)(this.pkg.path));
15
- this.initListeners();
16
- }
17
- //######################### Inner Logic #########################
18
- initListeners() {
19
- }
20
- async enterVenv() {
21
- await this.commando.append('source venv/bin/activate').execute();
22
- }
23
- async setPythonPath() {
24
- await this.commando.append('export PYTHONPATH=.').execute();
25
- }
26
- async runApp() {
27
- await this.commando
28
- .append('python3 app/src/run.py --env=local &')
29
- .append('pid=$!')
30
- .append(`echo "${this.APP_PID_LOG}=\${pid}"`)
31
- .append(`wait \$pid`)
32
- .append(`echo "${this.APP_KILL_LOG} \${pid}"`)
33
- .execute();
34
- }
35
- async clearPorts() {
36
- const emPort = 4450;
37
- await this.commando
38
- .append(`array=($(lsof -ti:${[emPort].join(',')}))`)
39
- .append(`((\${#array[@]} > 0)) && kill -9 "\${array[@]}"`)
40
- .append('echo ')
41
- .execute();
42
- }
43
- //######################### Functions #########################
44
- async execute() {
45
- await this.clearPorts();
46
- await this.enterVenv();
47
- await this.setPythonPath();
48
- await this.runApp();
49
- }
50
- async kill() {
51
- }
52
- }
53
- exports.CommandExecutor_Python = CommandExecutor_Python;
@@ -1,2 +0,0 @@
1
- export * from './CommandExecutor_FirebaseFunction';
2
- export * from './CommandExecutor_FirebaseHosting';
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./CommandExecutor_FirebaseFunction"), exports);
18
- __exportStar(require("./CommandExecutor_FirebaseHosting"), exports);
@@ -1,4 +0,0 @@
1
- import { Package, PackageJson, ProjectConfig, RuntimePackage, RuntimeProjectConfig } from '../core/types';
2
- export declare function convertPackageJSONTemplateToPackJSON_Value(template: PackageJson, value: (value: string, key?: string) => string): PackageJson;
3
- export declare function convertToRuntimePackage(basePackage: Package, project: ProjectConfig): RuntimePackage;
4
- export declare function mapProjectPackages(projectConfig: ProjectConfig): RuntimeProjectConfig;
@@ -1,128 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapProjectPackages = exports.convertToRuntimePackage = exports.convertPackageJSONTemplateToPackJSON_Value = void 0;
4
- const consts_1 = require("../core/consts");
5
- const fs_1 = require("fs");
6
- const types_1 = require("../core/types");
7
- const ts_common_1 = require("@nu-art/ts-common");
8
- const tools_1 = require("@nu-art/commando/shell/tools");
9
- function getRuntimePackageBaseDetails_Sourceless(basePackage) {
10
- return {
11
- name: basePackage.name,
12
- path: (0, tools_1.convertToFullPath)(basePackage.path),
13
- type: basePackage.type,
14
- };
15
- }
16
- function getRuntimePackageBaseDetails_Lib(basePackage) {
17
- var _a, _b;
18
- const packageRoot = (0, tools_1.convertToFullPath)(basePackage.path);
19
- return {
20
- name: basePackage.name,
21
- path: packageRoot,
22
- type: basePackage.type,
23
- output: (0, tools_1.convertToFullPath)(basePackage.output, packageRoot),
24
- customTsConfig: (_a = basePackage.customTsConfig) !== null && _a !== void 0 ? _a : false,
25
- sources: (_b = basePackage.sources) !== null && _b !== void 0 ? _b : []
26
- };
27
- }
28
- function getRuntimePackageBaseDetails_Firebase(basePackage) {
29
- var _a, _b, _c;
30
- const packageRoot = (0, tools_1.convertToFullPath)(basePackage.path);
31
- return {
32
- name: basePackage.name,
33
- path: packageRoot,
34
- type: basePackage.type,
35
- output: (0, tools_1.convertToFullPath)(basePackage.output, packageRoot),
36
- customTsConfig: (_a = basePackage.customTsConfig) !== null && _a !== void 0 ? _a : false,
37
- sources: (_b = basePackage.sources) !== null && _b !== void 0 ? _b : [],
38
- envConfig: (_c = basePackage.envConfig) !== null && _c !== void 0 ? _c : {},
39
- };
40
- }
41
- function getRuntimePackageBaseDetails(basePackage) {
42
- switch (basePackage.type) {
43
- case types_1.PackageType_Sourceless:
44
- return getRuntimePackageBaseDetails_Sourceless(basePackage);
45
- case types_1.PackageType_ProjectLib:
46
- case types_1.PackageType_InfraLib:
47
- return getRuntimePackageBaseDetails_Lib(basePackage);
48
- case types_1.PackageType_FirebaseFunctionsApp:
49
- case types_1.PackageType_FirebaseHostingApp:
50
- return getRuntimePackageBaseDetails_Firebase(basePackage);
51
- default:
52
- throw new ts_common_1.ImplementationMissingException(`Missin runtime package converter for package of type ${basePackage.type}`);
53
- }
54
- }
55
- function convertPackageJSONTemplateToPackJSON_Value(template, value) {
56
- let workspacePackageJsonAsString = (0, ts_common_1.__stringify)(template, true);
57
- let match = null;
58
- do {
59
- match = workspacePackageJsonAsString.match(/"(.*?)": ?"\$([A-Z_]+?)"/);
60
- if (match === null || match === void 0 ? void 0 : match[0])
61
- workspacePackageJsonAsString = workspacePackageJsonAsString.replace(new RegExp(`\\$${match[2]}`), value(match[2], match[1]));
62
- } while (match);
63
- const packageJson = JSON.parse(workspacePackageJsonAsString);
64
- return packageJson;
65
- }
66
- exports.convertPackageJSONTemplateToPackJSON_Value = convertPackageJSONTemplateToPackJSON_Value;
67
- function convertToRuntimePackage(basePackage, project) {
68
- const runtimePackage = getRuntimePackageBaseDetails(basePackage);
69
- //Get template package json
70
- if (!(0, fs_1.existsSync)(runtimePackage.path))
71
- throw new Error(`package: ${runtimePackage.path} is missing the ${consts_1.CONST_PackageJSONTemplate} files`);
72
- const pjTemplate = JSON.parse((0, fs_1.readFileSync)(`${runtimePackage.path}/${consts_1.CONST_PackageJSONTemplate}`, 'utf-8'));
73
- return Object.assign(Object.assign({}, runtimePackage), { packageJsonTemplate: pjTemplate });
74
- }
75
- exports.convertToRuntimePackage = convertToRuntimePackage;
76
- function mapProjectPackages(projectConfig) {
77
- const packages = projectConfig.packages.filter(pkg => pkg.type !== types_1.PackageType_Python).map(basePackage => convertToRuntimePackage(basePackage, projectConfig));
78
- const pythonPackages = projectConfig.packages.filter(pkg => pkg.type === types_1.PackageType_Python);
79
- const packagesDependency = groupPackagesByDependencyLevel(packages);
80
- packagesDependency.push(pythonPackages);
81
- return Object.assign(Object.assign({}, projectConfig), { packages: [...packages, ...pythonPackages], packagesDependency, packageMap: (0, ts_common_1.arrayToMap)(packages, p => p.packageJsonTemplate.name) });
82
- }
83
- exports.mapProjectPackages = mapProjectPackages;
84
- function groupPackagesByDependencyLevel(packages) {
85
- const packageNames = packages.map(p => p.packageJsonTemplate.name);
86
- const packagesConfigWithDependencies = packages
87
- .map(_package => {
88
- const packageDependencies = packageNames.filter(name => { var _a; return (_a = _package.packageJsonTemplate.dependencies) === null || _a === void 0 ? void 0 : _a[name]; });
89
- return Object.assign({ packageDependencies }, _package);
90
- });
91
- // Map to keep track of each package's level
92
- const levels = new Map();
93
- // Function to recursively find the level of a package
94
- function findLevel(pkgName, visited = new Set()) {
95
- if (visited.has(pkgName)) {
96
- throw new Error(`Circular dependency detected for package ${pkgName}`);
97
- }
98
- visited.add(pkgName);
99
- const pkg = packagesConfigWithDependencies.find(p => p.packageJsonTemplate.name === pkgName);
100
- if (!pkg)
101
- throw new Error(`Package ${pkgName} not found`);
102
- // A package with no dependencies is at level 0
103
- if (pkg.packageDependencies.length === 0)
104
- return 0;
105
- // Find the maximum level among dependencies
106
- const maxDependencyLevel = Math.max(...pkg.packageDependencies.map(dep => findLevel(dep, new Set(visited))));
107
- return 1 + maxDependencyLevel;
108
- }
109
- // Determine the level of each package
110
- packagesConfigWithDependencies.forEach(pkg => {
111
- const level = findLevel(pkg.packageJsonTemplate.name);
112
- levels.set(pkg.packageJsonTemplate.name, level);
113
- });
114
- // Group packages by their level
115
- const groupedPackages = new Map();
116
- levels.forEach((level, pkgName) => {
117
- const pkg = packages.find(p => p.packageJsonTemplate.name === pkgName);
118
- if (pkg) {
119
- if (!groupedPackages.has(level)) {
120
- groupedPackages.set(level, []);
121
- }
122
- groupedPackages.get(level).push(pkg);
123
- }
124
- });
125
- // Sort and convert the grouped packages into a sorted array of arrays
126
- const sortedLevels = Array.from(groupedPackages.keys()).sort((a, b) => a - b);
127
- return sortedLevels.map(level => groupedPackages.get(level));
128
- }
@@ -1,24 +0,0 @@
1
- import { BuildPhase } from '../logic/ProjectManager';
2
- export declare const Phase_PrintHelp: BuildPhase;
3
- export declare const Phase_SetWithThunderstorm: BuildPhase;
4
- export declare const Phase_SetupProject: BuildPhase;
5
- export declare const Phase_PrepareParams: BuildPhase;
6
- export declare const Phase_ResolveTemplate: BuildPhase;
7
- export declare const Phase_ResolveEnv: BuildPhase;
8
- export declare const Phase_ResolvePackages: BuildPhase;
9
- export declare const Phase_PrintDependencyTree: BuildPhase;
10
- export declare const Phase_CheckCyclicImports: BuildPhase;
11
- export declare const Phase_PrintEnv: BuildPhase;
12
- export declare const Phase_PackagePurge: BuildPhase;
13
- export declare const Phase_InstallGlobals: BuildPhase;
14
- export declare const Phase_InstallPackages: BuildPhase;
15
- export declare const Phase_InstallPythonPackages: BuildPhase;
16
- export declare const Phase_Lint: BuildPhase;
17
- export declare const Phase_Debug: BuildPhase;
18
- export declare const Phase_PrepareCompile: BuildPhase;
19
- export declare const Phase_PreCompile: BuildPhase;
20
- export declare const Phase_Compile: BuildPhase;
21
- export declare const Phase_CompileWatch: BuildPhase;
22
- export declare const Phase_Launch: BuildPhase;
23
- export declare const Phase_DeployFrontend: BuildPhase;
24
- export declare const Phase_DeployBackend: BuildPhase;