@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.
Files changed (37) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/cli.js +95 -18
  3. package/dist/cli.js.map +1 -1
  4. package/dist/generation/OutputLocator.d.ts +27 -0
  5. package/dist/generation/OutputLocator.js +66 -0
  6. package/dist/generation/OutputLocator.js.map +1 -0
  7. package/dist/generation/command-handler-generator.d.ts +3 -1
  8. package/dist/generation/command-handler-generator.js +29 -18
  9. package/dist/generation/command-handler-generator.js.map +1 -1
  10. package/dist/generation/emitters/Emitter.d.ts +10 -0
  11. package/dist/generation/emitters/Emitter.js +3 -0
  12. package/dist/generation/emitters/Emitter.js.map +1 -0
  13. package/dist/generation/emitters/RuntimeEmitter.d.ts +13 -0
  14. package/dist/generation/emitters/RuntimeEmitter.js +154 -0
  15. package/dist/generation/emitters/RuntimeEmitter.js.map +1 -0
  16. package/dist/generation/emitters/TypesEmitter.d.ts +11 -0
  17. package/dist/generation/emitters/TypesEmitter.js +55 -0
  18. package/dist/generation/emitters/TypesEmitter.js.map +1 -0
  19. package/dist/generation/generation-utils.d.ts +23 -4
  20. package/dist/generation/generation-utils.js +91 -26
  21. package/dist/generation/generation-utils.js.map +1 -1
  22. package/dist/generation/import-utils.d.ts +12 -0
  23. package/dist/generation/import-utils.js +238 -0
  24. package/dist/generation/import-utils.js.map +1 -0
  25. package/dist/generation/source-map-generator.d.ts +6 -0
  26. package/dist/generation/source-map-generator.js +140 -0
  27. package/dist/generation/source-map-generator.js.map +1 -0
  28. package/dist/generation/struct-generator.d.ts +38 -2
  29. package/dist/generation/struct-generator.js +408 -380
  30. package/dist/generation/struct-generator.js.map +1 -1
  31. package/dist/support-tools/publish-roku.d.ts +16 -0
  32. package/dist/support-tools/publish-roku.js +132 -0
  33. package/dist/support-tools/publish-roku.js.map +1 -0
  34. package/dist/updater/sdk-manager.d.ts +7 -1
  35. package/dist/updater/sdk-manager.js +200 -28
  36. package/dist/updater/sdk-manager.js.map +1 -1
  37. package/package.json +13 -4
@@ -1,5 +1,5 @@
1
1
  {
2
- "buildDate": "2025-09-26T11:38:49+01:00",
3
- "buildDateISO": "2025-09-26T10:38:49.614Z",
4
- "timeZone": "Europe/London"
2
+ "buildDate": "2025-10-06T00:56:49+00:00",
3
+ "buildDateISO": "2025-10-06T00:56:49.181Z",
4
+ "timeZone": "UTC"
5
5
  }
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
- (0, command_debugger_js_1.startCommandDebugger)({
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'), args => {
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(`Running generate command in folder ${rootFolder}`);
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); // Ensure generateAll completes
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
- watcher.on('add', (filePath) => (0, generation_utils_js_1.debounceHandler)(generation_utils_js_1.handleFileChange)(filePath, generation_utils_js_1.ChangeType.Add, rootFolder));
171
- watcher.on('change', (filePath) => (0, generation_utils_js_1.debounceHandler)(generation_utils_js_1.handleFileChange)(filePath, generation_utils_js_1.ChangeType.Change, rootFolder));
172
- watcher.on('unlink', (filePath) => (0, generation_utils_js_1.debounceHandler)(generation_utils_js_1.handleFileChange)(filePath, generation_utils_js_1.ChangeType.Unlink, rootFolder));
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
- console.info('Generate command completed.');
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
- (0, sdk_manager_js_1.updateSdk)();
230
- console.info('update-sdk command completed.');
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
- (0, dev_runner_js_1.runDevProcesses)({
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, outputFilePath: string): void;
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 generation_utils_js_1 = require("./generation-utils.js");
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, outputFilePath) {
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
- const files = (0, hosanna_tools_utils_js_1.findAllTSFiles)(rootProjectPath);
63
- const program = ts.createProgram(files, parsedConfig.options);
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
- const outputDir = path.dirname(outputFilePath);
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
- // const importPath = path.relative(path.dirname(outputFilePath), file).replace(/\\/g, '/').replace(/\.ts$/, '');
82
- const importPath = (0, generation_utils_js_1.getRelativePath)(_rootProjectPath, outputFilePath, file).replace(/\.ts$/, '');
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
- fs.writeFileSync(outputFilePath, outputContent);
104
- console.info(`Generated command handler maps in ${outputFilePath}`);
105
- const enumsOutputPath = path.resolve(outputDir, 'AsyncManagerCommands.ts');
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 Enums in ${enumsOutputPath}`);
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 importPath = (0, generation_utils_js_1.getRelativePath)(_rootProjectPath, outputFilePath, fileName).replace(/\.ts$/, '');
169
- imports.add(`import { ${node.name.text} } from './${importPath}';`);
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":"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"}
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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Emitter.js.map
@@ -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
+ }