@tantawowa/hosanna-tools 2.1.0 → 2.2.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.
package/dist/build-info.json
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
@@ -7,7 +30,10 @@ exports.runDevProcesses = void 0;
|
|
|
7
30
|
const fs_1 = __importDefault(require("fs"));
|
|
8
31
|
const path_1 = __importDefault(require("path"));
|
|
9
32
|
const net_1 = __importDefault(require("net"));
|
|
10
|
-
const
|
|
33
|
+
const chokidar = __importStar(require("chokidar"));
|
|
34
|
+
const generation_utils_js_1 = require("../generation/generation-utils.js");
|
|
35
|
+
const struct_generator_js_1 = require("../generation/struct-generator.js");
|
|
36
|
+
const command_debugger_js_1 = require("./command-debugger.js");
|
|
11
37
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
12
38
|
const concurrently = require('concurrently');
|
|
13
39
|
function shouldStartProxy() {
|
|
@@ -26,21 +52,38 @@ async function runDevProcesses(options) {
|
|
|
26
52
|
var _a, _b, _c, _d, _e, _f;
|
|
27
53
|
// 1) Ensure initial generation completes before starting the dev server/debugger
|
|
28
54
|
console.info('[run] Performing initial generation...');
|
|
55
|
+
const rootFolder = path_1.default.resolve(process.cwd(), 'src');
|
|
56
|
+
const generatedFolder = path_1.default.resolve(process.cwd(), 'src-generated');
|
|
29
57
|
try {
|
|
30
|
-
|
|
58
|
+
// Set quiet mode for generation
|
|
59
|
+
process.env.HOSANNA_GENERATE_QUIET = '1';
|
|
60
|
+
(0, generation_utils_js_1.generateAll)(rootFolder, generatedFolder, { mode: struct_generator_js_1.GenerationMode.Runtime });
|
|
31
61
|
console.info('[run] Initial generation completed.');
|
|
32
62
|
}
|
|
33
|
-
catch (
|
|
34
|
-
console.error('[run] Initial generation failed. Aborting.');
|
|
63
|
+
catch (err) {
|
|
64
|
+
console.error('[run] Initial generation failed. Aborting.', err);
|
|
35
65
|
process.exit(1);
|
|
36
66
|
return;
|
|
37
67
|
}
|
|
38
|
-
// 2)
|
|
68
|
+
// 2) Start watch mode directly (non-blocking)
|
|
69
|
+
console.info('[generate] Initial generation completed. Watching for changes in ' + rootFolder + '...');
|
|
70
|
+
const watcher = chokidar.watch(rootFolder, {
|
|
71
|
+
persistent: true,
|
|
72
|
+
ignoreInitial: true,
|
|
73
|
+
ignored: /(^|[/\\])\../ // ignore dotfiles
|
|
74
|
+
});
|
|
75
|
+
const watchOptions = {
|
|
76
|
+
mode: struct_generator_js_1.GenerationMode.Runtime,
|
|
77
|
+
generatedFolder,
|
|
78
|
+
};
|
|
79
|
+
watcher.on('add', (filePath) => (0, generation_utils_js_1.debounceHandler)(generation_utils_js_1.handleFileChange)(filePath, generation_utils_js_1.ChangeType.Add, rootFolder, watchOptions));
|
|
80
|
+
watcher.on('change', (filePath) => (0, generation_utils_js_1.debounceHandler)(generation_utils_js_1.handleFileChange)(filePath, generation_utils_js_1.ChangeType.Change, rootFolder, watchOptions));
|
|
81
|
+
watcher.on('unlink', (filePath) => (0, generation_utils_js_1.debounceHandler)(generation_utils_js_1.handleFileChange)(filePath, generation_utils_js_1.ChangeType.Unlink, rootFolder, watchOptions));
|
|
82
|
+
// 3) Prepare commands for concurrently (only vite, since we run our own code directly)
|
|
39
83
|
const viteCmd = process.env.HOSANNA_VITE_CMD || 'npx vite';
|
|
40
84
|
const vitePort = Number((_b = (_a = options === null || options === void 0 ? void 0 : options.vitePort) !== null && _a !== void 0 ? _a : process.env.HOSANNA_VITE_PORT) !== null && _b !== void 0 ? _b : 5173);
|
|
41
85
|
const commands = [
|
|
42
86
|
{ command: `${viteCmd} --port ${vitePort}`, name: 'vite' },
|
|
43
|
-
{ command: 'hst generate --watch --quiet', name: 'generate', prefixColor: 'green' },
|
|
44
87
|
];
|
|
45
88
|
const startProxy = shouldStartProxy();
|
|
46
89
|
const webAppPort = (_c = options === null || options === void 0 ? void 0 : options.webAppPort) !== null && _c !== void 0 ? _c : 59151;
|
|
@@ -58,13 +101,15 @@ async function runDevProcesses(options) {
|
|
|
58
101
|
if (startProxy) {
|
|
59
102
|
console.info('[dev] Starting command debugger proxy...');
|
|
60
103
|
const defaultClientType = (_f = options === null || options === void 0 ? void 0 : options.defaultClientType) !== null && _f !== void 0 ? _f : 'web';
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
104
|
+
// Start debugger directly (non-blocking)
|
|
105
|
+
(0, command_debugger_js_1.startCommandDebugger)({
|
|
106
|
+
webAppPort,
|
|
107
|
+
deviceAppPort,
|
|
108
|
+
extensionPort,
|
|
109
|
+
defaultClientType,
|
|
65
110
|
});
|
|
66
111
|
}
|
|
67
|
-
//
|
|
112
|
+
// 4) Start readiness waiters in background
|
|
68
113
|
const readiness = [];
|
|
69
114
|
const viteReady = waitForPort(vitePort, '127.0.0.1', 60000)
|
|
70
115
|
.then(() => console.info(`[run] Web app ready: http://localhost:${vitePort}`))
|
|
@@ -89,7 +134,7 @@ async function runDevProcesses(options) {
|
|
|
89
134
|
console.info('[run] Dev services ready: generator (watch) and web app.');
|
|
90
135
|
}
|
|
91
136
|
});
|
|
92
|
-
//
|
|
137
|
+
// 6) Launch vite with concurrently (watch mode and debugger already running in this process)
|
|
93
138
|
concurrently(commands, {
|
|
94
139
|
prefix: 'name',
|
|
95
140
|
timestamps: false,
|
|
@@ -103,18 +148,6 @@ exports.runDevProcesses = runDevProcesses;
|
|
|
103
148
|
// ================================
|
|
104
149
|
// Helpers
|
|
105
150
|
// ================================
|
|
106
|
-
function runCommand(command, args) {
|
|
107
|
-
return new Promise((resolve, reject) => {
|
|
108
|
-
const child = (0, child_process_1.spawn)(command, args, { stdio: 'inherit', shell: true });
|
|
109
|
-
child.on('error', reject);
|
|
110
|
-
child.on('exit', (code) => {
|
|
111
|
-
if (code === 0)
|
|
112
|
-
resolve();
|
|
113
|
-
else
|
|
114
|
-
reject(new Error(`${command} ${args.join(' ')} exited with code ${code}`));
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
151
|
function waitForPort(port, host = '127.0.0.1', timeoutMs = 30000) {
|
|
119
152
|
const startedAt = Date.now();
|
|
120
153
|
return new Promise((resolve, reject) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-runner.js","sourceRoot":"","sources":["../../src/support-tools/dev-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dev-runner.js","sourceRoot":"","sources":["../../src/support-tools/dev-runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tantawowa/hosanna-tools",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "dist/cli.js",
|
|
6
6
|
"types": "dist/cli.d.ts",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"hst": "dist/cli.js"
|
|
13
13
|
},
|
|
14
14
|
"repository": {
|
|
15
|
-
"url": "https://github.com/Tantawowa/hosanna-
|
|
15
|
+
"url": "https://github.com/Tantawowa/hosanna-tools.git"
|
|
16
16
|
},
|
|
17
17
|
"scripts": {
|
|
18
18
|
"build": "rm -rf dist && tsc --project tsconfig.build.json && chmod +x dist/cli.js && mkdir -p dist/support-tools && cp src/support-tools/minimal-roku-app.zip dist/support-tools/ && node scripts/generateBuildInfo.js",
|
|
@@ -23,20 +23,13 @@
|
|
|
23
23
|
"lint-fix": "eslint --config eslint.config.mjs --ignore-pattern \"node_modules/**\" --ignore-pattern \"dist/**\" --ignore-pattern \"**/*.d.ts\" --ignore-pattern \"**/*.js\" --fix",
|
|
24
24
|
"lint-ide": "eslint --config eslint.config.mjs --ignore-pattern \"node_modules/**\" --ignore-pattern \"dist/**\" --ignore-pattern \"**/*.d.ts\" --ignore-pattern \"**/*.js\" --format compact",
|
|
25
25
|
"watch": "tsc --project tsconfig.build.json --watch & chokidar 'dist/cli.js' -c 'chmod +x dist/cli.js && node scripts/generateBuildInfo.js'",
|
|
26
|
-
"dev": "concurrently \"npm run watch\" \"vitest --watch --reporter=verbose\" \"npm run lint-ide\""
|
|
27
|
-
"changelog": "npx ai-changelog-generator --write",
|
|
28
|
-
"changelog:dry": "npx ai-changelog-generator --dry-run",
|
|
29
|
-
"gen": "node dist/cli.js generate",
|
|
30
|
-
"gen:types": "node dist/cli.js generate --mode types",
|
|
31
|
-
"gen:runtime": "node dist/cli.js generate --mode runtime",
|
|
32
|
-
"gen:both": "node dist/cli.js generate --mode both",
|
|
33
|
-
"gen:watch": "node dist/cli.js generate --watch"
|
|
26
|
+
"dev": "concurrently \"npm run watch\" \"vitest --watch --reporter=verbose\" \"npm run lint-ide\""
|
|
34
27
|
},
|
|
35
28
|
"devDependencies": {
|
|
29
|
+
"@tantawowa/hosanna-release-tool": "^0.12.0",
|
|
36
30
|
"@types/node": "^24.5.2",
|
|
37
31
|
"@types/readline-sync": "^1.4.8",
|
|
38
32
|
"@types/ws": "^8.5.10",
|
|
39
|
-
"ai-changelog-generator": "^0.2.0",
|
|
40
33
|
"chokidar-cli": "^3.0.0",
|
|
41
34
|
"eslint": "^9.17.0",
|
|
42
35
|
"eslint-formatter-compact": "^8.40.0",
|