@tantawowa/hosanna-tools 1.0.0 → 1.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.
- package/dist/build-info.json +3 -3
- package/dist/cli.js +95 -18
- package/dist/cli.js.map +1 -1
- package/dist/generation/OutputLocator.d.ts +27 -0
- package/dist/generation/OutputLocator.js +66 -0
- package/dist/generation/OutputLocator.js.map +1 -0
- package/dist/generation/command-handler-generator.d.ts +3 -1
- package/dist/generation/command-handler-generator.js +29 -18
- package/dist/generation/command-handler-generator.js.map +1 -1
- package/dist/generation/emitters/Emitter.d.ts +10 -0
- package/dist/generation/emitters/Emitter.js +3 -0
- package/dist/generation/emitters/Emitter.js.map +1 -0
- package/dist/generation/emitters/RuntimeEmitter.d.ts +13 -0
- package/dist/generation/emitters/RuntimeEmitter.js +154 -0
- package/dist/generation/emitters/RuntimeEmitter.js.map +1 -0
- package/dist/generation/emitters/TypesEmitter.d.ts +11 -0
- package/dist/generation/emitters/TypesEmitter.js +55 -0
- package/dist/generation/emitters/TypesEmitter.js.map +1 -0
- package/dist/generation/generation-utils.d.ts +23 -4
- package/dist/generation/generation-utils.js +91 -26
- package/dist/generation/generation-utils.js.map +1 -1
- package/dist/generation/import-utils.d.ts +12 -0
- package/dist/generation/import-utils.js +238 -0
- package/dist/generation/import-utils.js.map +1 -0
- package/dist/generation/source-map-generator.d.ts +6 -0
- package/dist/generation/source-map-generator.js +140 -0
- package/dist/generation/source-map-generator.js.map +1 -0
- package/dist/generation/struct-generator.d.ts +38 -2
- package/dist/generation/struct-generator.js +408 -380
- package/dist/generation/struct-generator.js.map +1 -1
- package/dist/support-tools/publish-roku.d.ts +16 -0
- package/dist/support-tools/publish-roku.js +132 -0
- package/dist/support-tools/publish-roku.js.map +1 -0
- package/dist/updater/sdk-manager.d.ts +7 -1
- package/dist/updater/sdk-manager.js +200 -28
- package/dist/updater/sdk-manager.js.map +1 -1
- package/package.json +13 -4
package/dist/build-info.json
CHANGED
package/dist/cli.js
CHANGED
|
@@ -38,8 +38,6 @@ const generation_utils_js_1 = require("./generation/generation-utils.js");
|
|
|
38
38
|
const sdk_manager_js_1 = require("./updater/sdk-manager.js");
|
|
39
39
|
const compiler_installer_js_1 = require("./updater/compiler-installer.js");
|
|
40
40
|
const generation_utils_js_2 = require("./generation/generation-utils.js");
|
|
41
|
-
const command_debugger_js_1 = require("./support-tools/command-debugger.js");
|
|
42
|
-
const dev_runner_js_1 = require("./support-tools/dev-runner.js");
|
|
43
41
|
const env_info_js_1 = require("./lib/env-info.js");
|
|
44
42
|
// Read build date and version embedded at build time
|
|
45
43
|
let buildDate = 'unknown';
|
|
@@ -79,6 +77,43 @@ if (!isEnvCommand) {
|
|
|
79
77
|
(0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
80
78
|
.version(false)
|
|
81
79
|
.usage('$0 [command] [options]', `Hosanna Tools CLI\nVersion: ${buildVersion}\nBuild Date: ${buildDate}`)
|
|
80
|
+
.command('publish-roku', 'Package and sign a Roku channel using roku-deploy. Flags fall back to env vars.', yargs => yargs
|
|
81
|
+
.option('ip', { type: 'string', describe: 'Roku device IP (env: ROKU_IP)' })
|
|
82
|
+
.option('installer-password', { type: 'string', describe: 'Dev Application Installer password (env: ROKU_DEVPASSWORD)' })
|
|
83
|
+
.option('dev-id', { type: 'string', describe: 'Signing Developer ID (env: ROKU_DEV_ID)' })
|
|
84
|
+
.option('signing-password', { type: 'string', describe: 'Signing password (env: ROKU_DEV_PASSWORD)' })
|
|
85
|
+
.option('key-pkg', { type: 'string', describe: 'Path or filename of the signed key package (.pkg) (env: ROKU_PKG_NAME)' })
|
|
86
|
+
.option('env', { type: 'string', choices: ['prod', 'dev'], default: 'prod', describe: 'Used in output naming; does not modify project config' })
|
|
87
|
+
.option('rootDir', { type: 'string', describe: 'Roku project root (default: ./platforms/roku/src)' })
|
|
88
|
+
.option('outDir', { type: 'string', describe: 'Output directory (default: ./build)' })
|
|
89
|
+
.option('prebuild', { type: 'string', describe: 'Shell command to run before packaging (e.g. "npm run transpile:prod")' })
|
|
90
|
+
.option('quiet', { type: 'boolean', default: false, describe: 'Reduce output; print only errors and success' })
|
|
91
|
+
.example('$0 publish-roku --ip 192.168.1.10 --installer-password secret --dev-id ABC --signing-password sss --key-pkg mykey.pkg', 'Package and sign with explicit args')
|
|
92
|
+
.example('$0 publish-roku --env prod', 'Use env vars and prod naming; fail if required values unresolved'), async (args) => {
|
|
93
|
+
try {
|
|
94
|
+
const mod = await Promise.resolve().then(() => __importStar(require('./support-tools/publish-roku.js')));
|
|
95
|
+
const res = await mod.publishRoku({
|
|
96
|
+
ip: args.ip,
|
|
97
|
+
installerPassword: args['installer-password'],
|
|
98
|
+
devId: args['dev-id'],
|
|
99
|
+
signingPassword: args['signing-password'],
|
|
100
|
+
keyPkg: args['key-pkg'],
|
|
101
|
+
env: args.env,
|
|
102
|
+
rootDir: args.rootDir,
|
|
103
|
+
outDir: args.outDir,
|
|
104
|
+
prebuild: args.prebuild,
|
|
105
|
+
quiet: Boolean(args.quiet),
|
|
106
|
+
dotenv: true,
|
|
107
|
+
});
|
|
108
|
+
if (!args.quiet)
|
|
109
|
+
console.info(`✅ Success: ${res.outPath}`);
|
|
110
|
+
process.exit(0);
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
console.error('❌ Failed to publish Roku package:', err);
|
|
114
|
+
process.exit(1);
|
|
115
|
+
}
|
|
116
|
+
})
|
|
82
117
|
// remove old --env flag; env is now a subcommand
|
|
83
118
|
.command('env', 'Print environment information and run checks', yargs => yargs, () => {
|
|
84
119
|
const info = (0, env_info_js_1.collectEnvInfo)(process.cwd());
|
|
@@ -91,8 +126,9 @@ if (!isEnvCommand) {
|
|
|
91
126
|
.option('webAppPort', { type: 'number', description: 'Port for web app client', default: 59151 })
|
|
92
127
|
.option('deviceAppPort', { type: 'number', description: 'Port for device app client', default: 59152 })
|
|
93
128
|
.option('extensionPort', { type: 'number', description: 'Port for extension client', default: 59153 })
|
|
94
|
-
.option('defaultClientType', { type: 'string', choices: ['web', 'device'], default: 'web', description: 'Default target client for extension messages' }), args => {
|
|
95
|
-
(
|
|
129
|
+
.option('defaultClientType', { type: 'string', choices: ['web', 'device'], default: 'web', description: 'Default target client for extension messages' }), async (args) => {
|
|
130
|
+
const { startCommandDebugger } = await Promise.resolve().then(() => __importStar(require('./support-tools/command-debugger.js')));
|
|
131
|
+
startCommandDebugger({
|
|
96
132
|
webAppPort: args.webAppPort,
|
|
97
133
|
deviceAppPort: args.deviceAppPort,
|
|
98
134
|
extensionPort: args.extensionPort,
|
|
@@ -146,20 +182,32 @@ if (!isEnvCommand) {
|
|
|
146
182
|
.command('generate', 'Generate structs and command handler maps', yargs => yargs
|
|
147
183
|
.option('watch', { type: 'boolean', description: 'Watch for file changes' })
|
|
148
184
|
.option('rootFolder', { type: 'string', description: 'Root folder for the operation' })
|
|
185
|
+
.option('generatedFolder', { type: 'string', description: 'Folder to output generated files (defaults to src-generated)' })
|
|
149
186
|
.option('quiet', { type: 'boolean', description: 'Reduce output; print only errors and success', default: false })
|
|
187
|
+
.option('mode', { type: 'string', choices: ['runtime', 'types', 'both'], default: 'runtime', description: 'Generate runtime .ts, types .d.ts+.map, or both' })
|
|
188
|
+
.option('fileFilter', { type: 'string', description: 'Regex pattern to filter filenames (applied to relative paths from rootFolder)' })
|
|
150
189
|
.example('$0 generate --rootFolder ./src', 'Generate structs and command handler maps for the specified root folder')
|
|
151
|
-
.example('$0 generate --watch', 'Generate structs and command handler maps and watch for file changes')
|
|
190
|
+
.example('$0 generate --watch', 'Generate structs and command handler maps and watch for file changes')
|
|
191
|
+
.example('$0 generate --generatedFolder ./gen', 'Generate structs and command handler maps in ./gen folder')
|
|
192
|
+
.example('$0 generate --fileFilter "Button"', 'Generate structs only for files containing "Button" in their path'), args => {
|
|
152
193
|
const rootFolder = args.rootFolder ? path.resolve(args.rootFolder) : path.resolve(process.cwd(), 'src');
|
|
194
|
+
const generatedFolder = args.generatedFolder ? path.resolve(args.generatedFolder) : path.resolve(path.dirname(rootFolder), 'src-generated');
|
|
153
195
|
if (args.quiet) {
|
|
154
196
|
process.env.HOSANNA_GENERATE_QUIET = '1';
|
|
155
197
|
}
|
|
156
|
-
if (!args.quiet)
|
|
157
|
-
console.info(`
|
|
198
|
+
if (!args.quiet) {
|
|
199
|
+
console.info(`Source folder: ${rootFolder}`);
|
|
200
|
+
console.info(`Generated folder: ${generatedFolder}`);
|
|
201
|
+
console.info(`Running generate command with mode ${args.mode}`);
|
|
202
|
+
}
|
|
158
203
|
if (args.watch && !args.quiet) {
|
|
159
204
|
console.info(`Generator running in watch mode.`);
|
|
160
205
|
}
|
|
161
206
|
(async () => {
|
|
162
|
-
await (0, generation_utils_js_1.generateAll)(rootFolder
|
|
207
|
+
await (0, generation_utils_js_1.generateAll)(rootFolder, generatedFolder, {
|
|
208
|
+
mode: args.mode,
|
|
209
|
+
fileFilter: args.fileFilter
|
|
210
|
+
}); // Ensure generateAll completes
|
|
163
211
|
if (args.watch) {
|
|
164
212
|
console.info(`Initial generation completed. Watching for changes in ${rootFolder}...`);
|
|
165
213
|
const watcher = chokidar.watch(rootFolder, {
|
|
@@ -167,12 +215,18 @@ if (!isEnvCommand) {
|
|
|
167
215
|
ignoreInitial: true,
|
|
168
216
|
ignored: /(^|[/\\])\../ // ignore dotfiles
|
|
169
217
|
});
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
218
|
+
const options = {
|
|
219
|
+
mode: args.mode,
|
|
220
|
+
generatedFolder,
|
|
221
|
+
fileFilter: args.fileFilter
|
|
222
|
+
};
|
|
223
|
+
watcher.on('add', (filePath) => (0, generation_utils_js_1.debounceHandler)(generation_utils_js_1.handleFileChange)(filePath, generation_utils_js_1.ChangeType.Add, rootFolder, options));
|
|
224
|
+
watcher.on('change', (filePath) => (0, generation_utils_js_1.debounceHandler)(generation_utils_js_1.handleFileChange)(filePath, generation_utils_js_1.ChangeType.Change, rootFolder, options));
|
|
225
|
+
watcher.on('unlink', (filePath) => (0, generation_utils_js_1.debounceHandler)(generation_utils_js_1.handleFileChange)(filePath, generation_utils_js_1.ChangeType.Unlink, rootFolder, options));
|
|
173
226
|
}
|
|
174
227
|
else {
|
|
175
|
-
|
|
228
|
+
if (!args.quiet)
|
|
229
|
+
console.info(`Generate command completed.`);
|
|
176
230
|
process.exit(0); // Exit after finishing when not in watch mode
|
|
177
231
|
}
|
|
178
232
|
})();
|
|
@@ -184,16 +238,19 @@ if (!isEnvCommand) {
|
|
|
184
238
|
describe: 'One or more TypeScript files to generate structs for',
|
|
185
239
|
})
|
|
186
240
|
.option('rootFolder', { type: 'string', description: 'Project root folder (defaults to ./src)' })
|
|
241
|
+
.option('generatedFolder', { type: 'string', description: 'Folder to output generated files (defaults to src-generated)' })
|
|
242
|
+
.option('mode', { type: 'string', choices: ['runtime', 'types', 'both'], default: 'runtime', description: 'Generate runtime .ts, types .d.ts+.map, or both' })
|
|
187
243
|
.example('$0 generate-structs src/views/Button.ts src/views/Input.ts', 'Generate structs only for Button and Input')
|
|
188
244
|
.example('$0 generate-structs --rootFolder ./src src/views/Card.ts', 'Generate struct for Card relative to project root'), args => {
|
|
189
245
|
const files = args.files || [];
|
|
190
246
|
const rootFolder = args.rootFolder ? path.resolve(args.rootFolder) : path.resolve(process.cwd(), 'src');
|
|
247
|
+
const generatedFolder = args.generatedFolder ? path.resolve(args.generatedFolder) : path.resolve(process.cwd(), 'src-generated');
|
|
191
248
|
if (!files.length) {
|
|
192
249
|
console.error('No files specified. Provide one or more .ts files.');
|
|
193
250
|
process.exit(1);
|
|
194
251
|
}
|
|
195
252
|
try {
|
|
196
|
-
const count = (0, generation_utils_js_2.generateStructsForFiles)(files, rootFolder);
|
|
253
|
+
const count = (0, generation_utils_js_2.generateStructsForFiles)(files, rootFolder, generatedFolder, { mode: args.mode });
|
|
197
254
|
console.info(`Generated structs for ${count} file(s).`);
|
|
198
255
|
process.exit(0);
|
|
199
256
|
}
|
|
@@ -208,6 +265,13 @@ if (!isEnvCommand) {
|
|
|
208
265
|
await (0, generation_utils_js_1.cleanGeneratedFiles)(rootFolder); // Await the cleanup process
|
|
209
266
|
console.info('Cleanup process completed.');
|
|
210
267
|
process.exit(0); // Exit after finishing
|
|
268
|
+
})
|
|
269
|
+
.command('clean-generated', 'Clean generated files in the generated folder', yargs => yargs.option('generatedFolder', { type: 'string', description: 'Generated folder to clean (defaults to src-generated)' }), async (args) => {
|
|
270
|
+
const generatedFolder = args.generatedFolder ? path.resolve(args.generatedFolder) : path.resolve(process.cwd(), 'src-generated');
|
|
271
|
+
console.info(`Running clean-generated command for folder ${generatedFolder}`);
|
|
272
|
+
await (0, generation_utils_js_1.cleanGeneratedFolder)(generatedFolder);
|
|
273
|
+
console.info('Clean-generated process completed.');
|
|
274
|
+
process.exit(0);
|
|
211
275
|
})
|
|
212
276
|
.command('create-view', 'Create a new view', yargs => yargs.option('rootFolder', { type: 'string', description: 'Root folder for the operation' }), async (args) => {
|
|
213
277
|
const rootFolder = args.rootFolder ? path.resolve(args.rootFolder) : path.resolve(process.cwd(), 'src');
|
|
@@ -224,10 +288,22 @@ if (!isEnvCommand) {
|
|
|
224
288
|
(0, sdk_manager_js_1.prepareGitIgnore)();
|
|
225
289
|
console.info('.gitignore preparation completed.');
|
|
226
290
|
})
|
|
227
|
-
.command('update', 'Update the SDK by cloning the repository, checking out the branch or tag, and setting up symlinks', yargs => yargs
|
|
291
|
+
.command('update', 'Update the SDK by cloning the repository, checking out the branch or tag, and setting up symlinks', yargs => yargs
|
|
292
|
+
.option('force', { type: 'boolean', default: false, describe: 'Force update: discard local changes, clobber local tags, reset refs' })
|
|
293
|
+
.option('skip-install', { type: 'boolean', default: false, describe: 'Skip npm install in hosanna-ui folder' }), async (args) => {
|
|
228
294
|
console.info('Running update-sdk command...');
|
|
229
|
-
|
|
230
|
-
|
|
295
|
+
try {
|
|
296
|
+
await (0, sdk_manager_js_1.updateSdk)({
|
|
297
|
+
force: Boolean(args.force),
|
|
298
|
+
skipPackageInstallation: Boolean(args['skip-install']),
|
|
299
|
+
exitOnCompletion: true,
|
|
300
|
+
});
|
|
301
|
+
console.info('update-sdk command completed.');
|
|
302
|
+
}
|
|
303
|
+
catch (err) {
|
|
304
|
+
console.error('update-sdk failed:', err);
|
|
305
|
+
process.exit(1);
|
|
306
|
+
}
|
|
231
307
|
})
|
|
232
308
|
.command('install', 'Install the SDK by creating hosanna.json and setting up the environment', yargs => yargs, async () => {
|
|
233
309
|
console.info('Running install-sdk command...');
|
|
@@ -258,8 +334,9 @@ if (!isEnvCommand) {
|
|
|
258
334
|
.option('webAppPort', { type: 'number', description: 'Port for web app client', default: 59151 })
|
|
259
335
|
.option('deviceAppPort', { type: 'number', description: 'Port for device app client', default: 59152 })
|
|
260
336
|
.option('extensionPort', { type: 'number', description: 'Port for extension client', default: 59153 })
|
|
261
|
-
.option('defaultClientType', { type: 'string', choices: ['web', 'device'], default: 'web', description: 'Default target client for extension messages' }), args => {
|
|
262
|
-
(
|
|
337
|
+
.option('defaultClientType', { type: 'string', choices: ['web', 'device'], default: 'web', description: 'Default target client for extension messages' }), async (args) => {
|
|
338
|
+
const { runDevProcesses } = await Promise.resolve().then(() => __importStar(require('./support-tools/dev-runner.js')));
|
|
339
|
+
runDevProcesses({
|
|
263
340
|
vitePort: args.vitePort,
|
|
264
341
|
webAppPort: args.webAppPort,
|
|
265
342
|
deviceAppPort: args.deviceAppPort,
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ViewIR } from './struct-generator';
|
|
2
|
+
export declare class OutputLocator {
|
|
3
|
+
private config;
|
|
4
|
+
constructor(config: {
|
|
5
|
+
namespaces: {
|
|
6
|
+
[key: string]: string;
|
|
7
|
+
};
|
|
8
|
+
out: {
|
|
9
|
+
runtime: string;
|
|
10
|
+
types: string;
|
|
11
|
+
};
|
|
12
|
+
});
|
|
13
|
+
getConfig(): {
|
|
14
|
+
namespaces: {
|
|
15
|
+
[key: string]: string;
|
|
16
|
+
};
|
|
17
|
+
out: {
|
|
18
|
+
runtime: string;
|
|
19
|
+
types: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
getRuntimePath(ir: ViewIR): string;
|
|
23
|
+
getTypesPath(ir: ViewIR): string;
|
|
24
|
+
getMapPath(ir: ViewIR): string;
|
|
25
|
+
private getNamespace;
|
|
26
|
+
private getRelativePath;
|
|
27
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.OutputLocator = void 0;
|
|
27
|
+
const path = __importStar(require("path"));
|
|
28
|
+
class OutputLocator {
|
|
29
|
+
constructor(config) {
|
|
30
|
+
this.config = config;
|
|
31
|
+
}
|
|
32
|
+
getConfig() {
|
|
33
|
+
return this.config;
|
|
34
|
+
}
|
|
35
|
+
getRuntimePath(ir) {
|
|
36
|
+
const ns = this.getNamespace(ir.sourceAbsPath);
|
|
37
|
+
const rel = this.getRelativePath(ns, ir.sourceAbsPath);
|
|
38
|
+
const dir = path.dirname(rel);
|
|
39
|
+
const base = path.basename(rel);
|
|
40
|
+
return path.join(this.config.out.runtime, dir, `${base}-generated-struct.ts`);
|
|
41
|
+
}
|
|
42
|
+
getTypesPath(ir) {
|
|
43
|
+
const ns = this.getNamespace(ir.sourceAbsPath);
|
|
44
|
+
const rel = this.getRelativePath(ns, ir.sourceAbsPath);
|
|
45
|
+
const dir = path.dirname(rel);
|
|
46
|
+
const base = path.basename(rel);
|
|
47
|
+
return path.join(this.config.out.types, dir, `${base}-generated-struct.d.ts`);
|
|
48
|
+
}
|
|
49
|
+
getMapPath(ir) {
|
|
50
|
+
return `${this.getTypesPath(ir)}.map`;
|
|
51
|
+
}
|
|
52
|
+
getNamespace(filePath) {
|
|
53
|
+
// Use symlink paths, not resolved real paths, so symlinks are preserved
|
|
54
|
+
for (const [ns, root] of Object.entries(this.config.namespaces)) {
|
|
55
|
+
if (filePath.startsWith(path.resolve(root)))
|
|
56
|
+
return ns;
|
|
57
|
+
}
|
|
58
|
+
throw new Error(`No namespace found for ${filePath}`);
|
|
59
|
+
}
|
|
60
|
+
getRelativePath(ns, filePath) {
|
|
61
|
+
const rel = path.relative(this.config.namespaces.app, filePath).replace(/\.ts$/, '');
|
|
62
|
+
return rel;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.OutputLocator = OutputLocator;
|
|
66
|
+
//# sourceMappingURL=OutputLocator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputLocator.js","sourceRoot":"","sources":["../../src/generation/OutputLocator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAG7B,MAAa,aAAa;IACxB,YACU,MAGP;QAHO,WAAM,GAAN,MAAM,CAGb;IACC,CAAC;IAEL,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,sBAAsB,CAAC,CAAC;IAChF,CAAC;IAED,YAAY,CAAC,EAAU;QACrB,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC;IAChF,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC;IACxC,CAAC;IAEO,YAAY,CAAC,QAAgB;QACnC,wEAAwE;QACxE,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YAC/D,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC;SACxD;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IAEO,eAAe,CAAC,EAAU,EAAE,QAAgB;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrF,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA5CD,sCA4CC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export declare function generateCommandHandlerMaps(rootProjectPath: string,
|
|
1
|
+
export declare function generateCommandHandlerMaps(rootProjectPath: string, generatedFolder: string, options?: {
|
|
2
|
+
mode?: 'runtime' | 'types' | 'both';
|
|
3
|
+
}): void;
|
|
2
4
|
export declare function mapContainsHandlerForFile(filePath: string): boolean;
|
|
3
5
|
export declare function fileHasCommandCateogry(filePath: string): boolean;
|
|
4
6
|
/**
|
|
@@ -29,7 +29,7 @@ const fs = __importStar(require("fs"));
|
|
|
29
29
|
const path = __importStar(require("path"));
|
|
30
30
|
const ts = __importStar(require("typescript"));
|
|
31
31
|
const hosanna_tools_utils_js_1 = require("../lib/hosanna-tools-utils.js");
|
|
32
|
-
const
|
|
32
|
+
const generation_utils_1 = require("./generation-utils");
|
|
33
33
|
let _rootProjectPath = '';
|
|
34
34
|
let filePathToCategoryMap = {};
|
|
35
35
|
// Function to find tsconfig.json by traversing up the directory tree
|
|
@@ -55,20 +55,21 @@ function loadTSConfig() {
|
|
|
55
55
|
return parsedCommandLine;
|
|
56
56
|
}
|
|
57
57
|
// Generate command handler maps based on decorators in .ts files
|
|
58
|
-
function generateCommandHandlerMaps(rootProjectPath,
|
|
58
|
+
function generateCommandHandlerMaps(rootProjectPath, generatedFolder, options) {
|
|
59
59
|
_rootProjectPath = rootProjectPath;
|
|
60
60
|
const parsedConfig = loadTSConfig(); // Moved here
|
|
61
61
|
filePathToCategoryMap = {}; // Reset map on each call
|
|
62
|
-
|
|
63
|
-
const
|
|
62
|
+
// First, find all .ts files
|
|
63
|
+
const allFiles = (0, hosanna_tools_utils_js_1.findAllTSFiles)(rootProjectPath);
|
|
64
|
+
// Pre-filter files that contain @commandCategory decorators using regex (much faster)
|
|
65
|
+
const filesWithDecorators = allFiles.filter(file => fileHasCommandCateogry(file));
|
|
66
|
+
console.info(`Found ${filesWithDecorators.length} files with command decorators out of ${allFiles.length} total .ts files`);
|
|
67
|
+
// Only create TypeScript program for files that actually have decorators
|
|
68
|
+
const program = ts.createProgram(filesWithDecorators, parsedConfig.options);
|
|
64
69
|
const handlerMap = {};
|
|
65
70
|
const functionMap = {};
|
|
66
71
|
const imports = new Set();
|
|
67
|
-
|
|
68
|
-
if (!fs.existsSync(outputDir)) {
|
|
69
|
-
fs.mkdirSync(outputDir, { recursive: true });
|
|
70
|
-
}
|
|
71
|
-
files.forEach(file => {
|
|
72
|
+
filesWithDecorators.forEach(file => {
|
|
72
73
|
const sourceFile = program.getSourceFile(file);
|
|
73
74
|
if (sourceFile) {
|
|
74
75
|
const visit = (node) => {
|
|
@@ -78,9 +79,8 @@ function generateCommandHandlerMaps(rootProjectPath, outputFilePath) {
|
|
|
78
79
|
if (categoryDecorator) {
|
|
79
80
|
handlerMap[categoryDecorator] = node.name.text;
|
|
80
81
|
filePathToCategoryMap[file] = categoryDecorator;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
imports.add(`import { ${node.name.text} } from './${importPath}';`);
|
|
82
|
+
const importPath = (0, generation_utils_1.getHosannaSrcAlias)(_rootProjectPath, file).replace(/\.ts$/, '');
|
|
83
|
+
imports.add(`import { ${node.name.text} } from '${importPath}';`);
|
|
84
84
|
}
|
|
85
85
|
for (const member of node.members) {
|
|
86
86
|
if (ts.isMethodDeclaration(member)) {
|
|
@@ -100,11 +100,18 @@ function generateCommandHandlerMaps(rootProjectPath, outputFilePath) {
|
|
|
100
100
|
}
|
|
101
101
|
});
|
|
102
102
|
const { outputContent, enumsContent } = buildOutputs(imports, handlerMap, functionMap);
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
103
|
+
// Generate files in async folder (shared between runtime and types)
|
|
104
|
+
const asyncFolder = path.join(generatedFolder, 'async');
|
|
105
|
+
// Ensure output directory exists
|
|
106
|
+
if (!fs.existsSync(asyncFolder)) {
|
|
107
|
+
fs.mkdirSync(asyncFolder, { recursive: true });
|
|
108
|
+
}
|
|
109
|
+
const mapOutputPath = path.resolve(asyncFolder, 'AsyncManager-generated-map.ts');
|
|
110
|
+
const enumsOutputPath = path.resolve(asyncFolder, 'AsyncManagerCommands.ts');
|
|
111
|
+
fs.writeFileSync(mapOutputPath, outputContent);
|
|
106
112
|
fs.writeFileSync(enumsOutputPath, enumsContent);
|
|
107
|
-
console.info(`Generated command handler
|
|
113
|
+
console.info(`Generated command handler maps in ${mapOutputPath}`);
|
|
114
|
+
console.info(`Generated command handler enums in ${enumsOutputPath}`);
|
|
108
115
|
}
|
|
109
116
|
exports.generateCommandHandlerMaps = generateCommandHandlerMaps;
|
|
110
117
|
function generateEnumsContent(functionMap) {
|
|
@@ -165,8 +172,12 @@ function generateCommandHandlerFromSources(sources, rootProjectPath, outputFileP
|
|
|
165
172
|
if (categoryDecorator) {
|
|
166
173
|
handlerMap[categoryDecorator] = node.name.text;
|
|
167
174
|
filePathToCategoryMap[fileName] = categoryDecorator;
|
|
168
|
-
const
|
|
169
|
-
|
|
175
|
+
const srcRoot = path.resolve(_rootProjectPath, 'src');
|
|
176
|
+
const relativeToRoot = path.relative(_rootProjectPath, fileName).replace(/\.ts$/, '');
|
|
177
|
+
// If the file is under src/, use @hs-src/, otherwise use @hs-src/ with the relative path
|
|
178
|
+
const relativeToSrc = path.relative(srcRoot, fileName);
|
|
179
|
+
const importPath = relativeToSrc.startsWith('..') ? `@hs-src/${relativeToRoot}` : `@hs-src/${relativeToSrc.replace(/\.ts$/, '')}`;
|
|
180
|
+
imports.add(`import { ${node.name.text} } from '${importPath}';`);
|
|
170
181
|
}
|
|
171
182
|
for (const member of node.members) {
|
|
172
183
|
if (ts.isMethodDeclaration(member)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handler-generator.js","sourceRoot":"","sources":["../../src/generation/command-handler-generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AACjC,0EAA+D;AAC/D
|
|
1
|
+
{"version":3,"file":"command-handler-generator.js","sourceRoot":"","sources":["../../src/generation/command-handler-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ViewIR } from '../struct-generator';
|
|
2
|
+
import { OutputLocator } from '../OutputLocator';
|
|
3
|
+
export interface Emitter {
|
|
4
|
+
emit(ir: ViewIR, locator: OutputLocator, options: {
|
|
5
|
+
mode: 'runtime' | 'types' | 'both';
|
|
6
|
+
}): Array<{
|
|
7
|
+
path: string;
|
|
8
|
+
contents: string;
|
|
9
|
+
}>;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Emitter.js","sourceRoot":"","sources":["../../../src/generation/emitters/Emitter.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Emitter } from './Emitter';
|
|
2
|
+
import { ViewIR } from '../struct-generator';
|
|
3
|
+
import { OutputLocator } from '../OutputLocator';
|
|
4
|
+
export declare class RuntimeEmitter implements Emitter {
|
|
5
|
+
emit(ir: ViewIR, locator: OutputLocator, options: {
|
|
6
|
+
mode: 'runtime' | 'types' | 'both';
|
|
7
|
+
}): Array<{
|
|
8
|
+
path: string;
|
|
9
|
+
contents: string;
|
|
10
|
+
}>;
|
|
11
|
+
private getTargetStructClassName;
|
|
12
|
+
private getRelativePath;
|
|
13
|
+
}
|