@tantawowa/hosanna-tools 0.9.0 → 1.0.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 -1
- package/dist/cli.js +211 -108
- package/dist/cli.js.map +1 -1
- package/dist/generation/StateInterfaceGenerator.js +10 -2
- package/dist/generation/StateInterfaceGenerator.js.map +1 -1
- package/dist/generation/generation-utils.d.ts +1 -0
- package/dist/generation/generation-utils.js +18 -7
- package/dist/generation/generation-utils.js.map +1 -1
- package/dist/generation/struct-generator.js +119 -23
- package/dist/generation/struct-generator.js.map +1 -1
- package/dist/lib/env-info.d.ts +19 -0
- package/dist/lib/env-info.js +191 -0
- package/dist/lib/env-info.js.map +1 -0
- package/dist/support-tools/command-debugger.d.ts +11 -0
- package/dist/support-tools/command-debugger.js +219 -0
- package/dist/support-tools/command-debugger.js.map +1 -0
- package/dist/support-tools/dev-runner.d.ts +7 -0
- package/dist/support-tools/dev-runner.js +139 -0
- package/dist/support-tools/dev-runner.js.map +1 -0
- package/dist/updater/compiler-installer.d.ts +23 -0
- package/dist/updater/compiler-installer.js +398 -0
- package/dist/updater/compiler-installer.js.map +1 -0
- package/dist/updater/sdk-manager.js +40 -0
- package/dist/updater/sdk-manager.js.map +1 -1
- package/package.json +13 -6
package/dist/build-info.json
CHANGED
package/dist/cli.js
CHANGED
|
@@ -36,7 +36,11 @@ const yargs_1 = __importDefault(require("yargs"));
|
|
|
36
36
|
const helpers_1 = require("yargs/helpers");
|
|
37
37
|
const generation_utils_js_1 = require("./generation/generation-utils.js");
|
|
38
38
|
const sdk_manager_js_1 = require("./updater/sdk-manager.js");
|
|
39
|
+
const compiler_installer_js_1 = require("./updater/compiler-installer.js");
|
|
39
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
|
+
const env_info_js_1 = require("./lib/env-info.js");
|
|
40
44
|
// Read build date and version embedded at build time
|
|
41
45
|
let buildDate = 'unknown';
|
|
42
46
|
let buildVersion = 'unknown';
|
|
@@ -59,115 +63,214 @@ console.info(`hosanna-tools: Version: ${buildVersion} (build date: ${buildDate})
|
|
|
59
63
|
/*******************************************************************
|
|
60
64
|
* CLI Handling
|
|
61
65
|
*******************************************************************/
|
|
62
|
-
//
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if (args.watch) {
|
|
73
|
-
console.info(`Watching for changes in ${rootFolder}...`);
|
|
66
|
+
// Early handling for top-level env command: `hst env`
|
|
67
|
+
const rawArgs = (0, helpers_1.hideBin)(process.argv);
|
|
68
|
+
const isEnvCommand = rawArgs.length === 1 && rawArgs[0] === 'env';
|
|
69
|
+
if (isEnvCommand) {
|
|
70
|
+
const info = (0, env_info_js_1.collectEnvInfo)(process.cwd());
|
|
71
|
+
const report = (0, env_info_js_1.formatEnvReportWithChecks)(info);
|
|
72
|
+
console.info(report);
|
|
73
|
+
const ok = (0, env_info_js_1.allEnvChecksPass)(info);
|
|
74
|
+
if (!process.env.VITEST) {
|
|
75
|
+
process.exit(ok ? 0 : 1);
|
|
74
76
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
77
|
+
}
|
|
78
|
+
if (!isEnvCommand) {
|
|
79
|
+
(0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
80
|
+
.version(false)
|
|
81
|
+
.usage('$0 [command] [options]', `Hosanna Tools CLI\nVersion: ${buildVersion}\nBuild Date: ${buildDate}`)
|
|
82
|
+
// remove old --env flag; env is now a subcommand
|
|
83
|
+
.command('env', 'Print environment information and run checks', yargs => yargs, () => {
|
|
84
|
+
const info = (0, env_info_js_1.collectEnvInfo)(process.cwd());
|
|
85
|
+
const report = (0, env_info_js_1.formatEnvReportWithChecks)(info);
|
|
86
|
+
console.info(report);
|
|
87
|
+
const ok = (0, env_info_js_1.allEnvChecksPass)(info);
|
|
88
|
+
process.exit(ok ? 0 : 1);
|
|
89
|
+
})
|
|
90
|
+
.command('debugger', 'Start the command debugger WebSocket proxy', yargs => yargs
|
|
91
|
+
.option('webAppPort', { type: 'number', description: 'Port for web app client', default: 59151 })
|
|
92
|
+
.option('deviceAppPort', { type: 'number', description: 'Port for device app client', default: 59152 })
|
|
93
|
+
.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)({
|
|
96
|
+
webAppPort: args.webAppPort,
|
|
97
|
+
deviceAppPort: args.deviceAppPort,
|
|
98
|
+
extensionPort: args.extensionPort,
|
|
99
|
+
defaultClientType: args.defaultClientType || 'web',
|
|
100
|
+
});
|
|
101
|
+
})
|
|
102
|
+
.command('install-compiler [version]', 'Install or update the Hosanna compiler (hsc). If [version] is omitted, uses hosanna.json transpiler-version.', yargs => yargs
|
|
103
|
+
.positional('version', { type: 'string', describe: 'hsc version (x.y.z). Overrides hosanna.json when provided.' })
|
|
104
|
+
.option('force', { type: 'boolean', default: false, describe: 'Force install even if version matches or compiler is npm-installed' })
|
|
105
|
+
.option('sudo', { type: 'boolean', default: false, describe: 'If needed, use sudo to move binary to /usr/local/bin/hsc' }), async (args) => {
|
|
106
|
+
let version;
|
|
107
|
+
const provided = args.version;
|
|
108
|
+
if (typeof provided === 'string') {
|
|
109
|
+
const trimmed = provided.trim();
|
|
110
|
+
version = trimmed.length > 0 ? trimmed : undefined;
|
|
86
111
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
112
|
+
try {
|
|
113
|
+
if (!version) {
|
|
114
|
+
const hosannaJsonPath = path.resolve(process.cwd(), 'hosanna.json');
|
|
115
|
+
if (!fs.existsSync(hosannaJsonPath)) {
|
|
116
|
+
console.error('No version provided and hosanna.json not found in current directory.');
|
|
117
|
+
process.exit(1);
|
|
118
|
+
}
|
|
119
|
+
try {
|
|
120
|
+
const json = JSON.parse(fs.readFileSync(hosannaJsonPath, 'utf-8'));
|
|
121
|
+
version = json['transpiler-version'];
|
|
122
|
+
}
|
|
123
|
+
catch (_a) {
|
|
124
|
+
console.error('Failed to read transpiler-version from hosanna.json.');
|
|
125
|
+
process.exit(1);
|
|
126
|
+
}
|
|
127
|
+
if (!version) {
|
|
128
|
+
console.error('hosanna.json does not contain "transpiler-version".');
|
|
129
|
+
process.exit(1);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
const result = await (0, compiler_installer_js_1.installCompiler)(version, { force: Boolean(args.force), sudo: Boolean(args.sudo) });
|
|
133
|
+
console.info(result.message);
|
|
134
|
+
if (result.status === 'up_to_date' || result.status === 'downloaded' || result.status === 'developer_install') {
|
|
135
|
+
process.exit(0);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
process.exit(1);
|
|
139
|
+
}
|
|
90
140
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
})
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
141
|
+
catch (err) {
|
|
142
|
+
console.error('Failed to install compiler:', err);
|
|
143
|
+
process.exit(1);
|
|
144
|
+
}
|
|
145
|
+
})
|
|
146
|
+
.command('generate', 'Generate structs and command handler maps', yargs => yargs
|
|
147
|
+
.option('watch', { type: 'boolean', description: 'Watch for file changes' })
|
|
148
|
+
.option('rootFolder', { type: 'string', description: 'Root folder for the operation' })
|
|
149
|
+
.option('quiet', { type: 'boolean', description: 'Reduce output; print only errors and success', default: false })
|
|
150
|
+
.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 => {
|
|
152
|
+
const rootFolder = args.rootFolder ? path.resolve(args.rootFolder) : path.resolve(process.cwd(), 'src');
|
|
153
|
+
if (args.quiet) {
|
|
154
|
+
process.env.HOSANNA_GENERATE_QUIET = '1';
|
|
155
|
+
}
|
|
156
|
+
if (!args.quiet)
|
|
157
|
+
console.info(`Running generate command in folder ${rootFolder}`);
|
|
158
|
+
if (args.watch && !args.quiet) {
|
|
159
|
+
console.info(`Generator running in watch mode.`);
|
|
160
|
+
}
|
|
161
|
+
(async () => {
|
|
162
|
+
await (0, generation_utils_js_1.generateAll)(rootFolder); // Ensure generateAll completes
|
|
163
|
+
if (args.watch) {
|
|
164
|
+
console.info(`Initial generation completed. Watching for changes in ${rootFolder}...`);
|
|
165
|
+
const watcher = chokidar.watch(rootFolder, {
|
|
166
|
+
persistent: true,
|
|
167
|
+
ignoreInitial: true,
|
|
168
|
+
ignored: /(^|[/\\])\../ // ignore dotfiles
|
|
169
|
+
});
|
|
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));
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
console.info('Generate command completed.');
|
|
176
|
+
process.exit(0); // Exit after finishing when not in watch mode
|
|
177
|
+
}
|
|
178
|
+
})();
|
|
179
|
+
})
|
|
180
|
+
.command('generate-structs [files..]', 'Generate structs only for the specified files (space-separated)', yargs => yargs
|
|
181
|
+
.positional('files', {
|
|
182
|
+
type: 'string',
|
|
183
|
+
array: true,
|
|
184
|
+
describe: 'One or more TypeScript files to generate structs for',
|
|
185
|
+
})
|
|
186
|
+
.option('rootFolder', { type: 'string', description: 'Project root folder (defaults to ./src)' })
|
|
187
|
+
.example('$0 generate-structs src/views/Button.ts src/views/Input.ts', 'Generate structs only for Button and Input')
|
|
188
|
+
.example('$0 generate-structs --rootFolder ./src src/views/Card.ts', 'Generate struct for Card relative to project root'), args => {
|
|
189
|
+
const files = args.files || [];
|
|
190
|
+
const rootFolder = args.rootFolder ? path.resolve(args.rootFolder) : path.resolve(process.cwd(), 'src');
|
|
191
|
+
if (!files.length) {
|
|
192
|
+
console.error('No files specified. Provide one or more .ts files.');
|
|
193
|
+
process.exit(1);
|
|
194
|
+
}
|
|
195
|
+
try {
|
|
196
|
+
const count = (0, generation_utils_js_2.generateStructsForFiles)(files, rootFolder);
|
|
197
|
+
console.info(`Generated structs for ${count} file(s).`);
|
|
198
|
+
process.exit(0);
|
|
199
|
+
}
|
|
200
|
+
catch (err) {
|
|
201
|
+
console.error('Failed to generate structs for files:', err);
|
|
202
|
+
process.exit(1);
|
|
203
|
+
}
|
|
204
|
+
})
|
|
205
|
+
.command('clean', 'Clean generated files', yargs => yargs.option('rootFolder', { type: 'string', description: 'Root folder for the operation' }), async (args) => {
|
|
206
|
+
const rootFolder = args.rootFolder ? path.resolve(args.rootFolder) : path.resolve(process.cwd(), 'src');
|
|
207
|
+
console.info(`Running clean command in folder ${rootFolder}`);
|
|
208
|
+
await (0, generation_utils_js_1.cleanGeneratedFiles)(rootFolder); // Await the cleanup process
|
|
209
|
+
console.info('Cleanup process completed.');
|
|
210
|
+
process.exit(0); // Exit after finishing
|
|
211
|
+
})
|
|
212
|
+
.command('create-view', 'Create a new view', yargs => yargs.option('rootFolder', { type: 'string', description: 'Root folder for the operation' }), async (args) => {
|
|
213
|
+
const rootFolder = args.rootFolder ? path.resolve(args.rootFolder) : path.resolve(process.cwd(), 'src');
|
|
214
|
+
console.info(`Running create-view command in folder ${rootFolder}`);
|
|
215
|
+
try {
|
|
216
|
+
await (0, view_generator_js_1.generateView)(rootFolder);
|
|
217
|
+
}
|
|
218
|
+
catch (err) {
|
|
219
|
+
console.error(err);
|
|
220
|
+
}
|
|
221
|
+
})
|
|
222
|
+
.command('prepare-gitignore', 'Ensure .gitignore contains required entries', yargs => yargs, () => {
|
|
223
|
+
console.info('Preparing .gitignore...');
|
|
224
|
+
(0, sdk_manager_js_1.prepareGitIgnore)();
|
|
225
|
+
console.info('.gitignore preparation completed.');
|
|
226
|
+
})
|
|
227
|
+
.command('update', 'Update the SDK by cloning the repository, checking out the branch or tag, and setting up symlinks', yargs => yargs, () => {
|
|
228
|
+
console.info('Running update-sdk command...');
|
|
229
|
+
(0, sdk_manager_js_1.updateSdk)();
|
|
230
|
+
console.info('update-sdk command completed.');
|
|
231
|
+
})
|
|
232
|
+
.command('install', 'Install the SDK by creating hosanna.json and setting up the environment', yargs => yargs, async () => {
|
|
233
|
+
console.info('Running install-sdk command...');
|
|
234
|
+
try {
|
|
235
|
+
await (0, sdk_manager_js_1.installSdk)(); // Ensure installSdk is awaited
|
|
236
|
+
console.info('install-sdk command completed.');
|
|
237
|
+
process.exit(0); // Exit after successful completion
|
|
238
|
+
}
|
|
239
|
+
catch (err) {
|
|
240
|
+
console.error('An error occurred during the install process:', err);
|
|
241
|
+
process.exit(1); // Exit with error code on failure
|
|
242
|
+
}
|
|
243
|
+
})
|
|
244
|
+
.command('create-template-app', 'Create a new template app with the Hosanna SDK', yargs => yargs, async () => {
|
|
245
|
+
console.info('Running create-template-app command...');
|
|
246
|
+
try {
|
|
247
|
+
await (0, sdk_manager_js_1.createTemplateApp)();
|
|
248
|
+
console.info('create-template-app command completed.');
|
|
249
|
+
process.exit(0);
|
|
250
|
+
}
|
|
251
|
+
catch (err) {
|
|
252
|
+
console.error('An error occurred during the create template app process:', err);
|
|
253
|
+
process.exit(1);
|
|
254
|
+
}
|
|
255
|
+
})
|
|
256
|
+
.command('run', 'Run dev processes: vite, generator watch, and optional debugger', yargs => yargs
|
|
257
|
+
.option('vitePort', { type: 'number', description: 'Port for Vite dev server', default: 5173 })
|
|
258
|
+
.option('webAppPort', { type: 'number', description: 'Port for web app client', default: 59151 })
|
|
259
|
+
.option('deviceAppPort', { type: 'number', description: 'Port for device app client', default: 59152 })
|
|
260
|
+
.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)({
|
|
263
|
+
vitePort: args.vitePort,
|
|
264
|
+
webAppPort: args.webAppPort,
|
|
265
|
+
deviceAppPort: args.deviceAppPort,
|
|
266
|
+
extensionPort: args.extensionPort,
|
|
267
|
+
defaultClientType: args.defaultClientType || 'web',
|
|
268
|
+
});
|
|
269
|
+
})
|
|
270
|
+
.help('help', 'View help information about this tool.')
|
|
271
|
+
.demandCommand(0)
|
|
272
|
+
.strict()
|
|
273
|
+
.parse();
|
|
274
|
+
// Note: legacy --env flag removed; use `hst env`
|
|
275
|
+
}
|
|
173
276
|
//# sourceMappingURL=cli.js.map
|
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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"}
|
|
@@ -28,7 +28,7 @@ exports.StateInterfaceGenerator = void 0;
|
|
|
28
28
|
const ts = __importStar(require("typescript"));
|
|
29
29
|
class StateInterfaceGenerator {
|
|
30
30
|
static generate(viewClassNode, viewName, sourceFile, members, viewStateClassName = 'ViewState') {
|
|
31
|
-
var _a;
|
|
31
|
+
var _a, _b;
|
|
32
32
|
const stateFields = [];
|
|
33
33
|
for (const member of viewClassNode.members) {
|
|
34
34
|
if (!ts.isPropertyDeclaration(member))
|
|
@@ -56,11 +56,19 @@ class StateInterfaceGenerator {
|
|
|
56
56
|
members.push(member);
|
|
57
57
|
stateFields.push({ name, type: typeText });
|
|
58
58
|
}
|
|
59
|
+
const typeParams = (_b = viewClassNode.typeParameters) !== null && _b !== void 0 ? _b : [];
|
|
60
|
+
const typeParamDeclFull = typeParams.length ? `<${typeParams.map(tp => tp.getText(sourceFile)).join(', ')}>` : '';
|
|
61
|
+
const typeParamDeclWithDefaults = typeParams.length ? `<${typeParams.map(tp => `${tp.name.getText(sourceFile)} = any`).join(', ')}>` : '';
|
|
59
62
|
const interfaceName = `${viewName}State`;
|
|
60
63
|
const interfaceBody = stateFields
|
|
61
64
|
.map((f) => ` ${f.name}?: ${f.type};`)
|
|
62
65
|
.join('\n');
|
|
63
|
-
|
|
66
|
+
// Only propagate generics to the state interface if any state field references a type parameter
|
|
67
|
+
const typeParamNames = typeParams.map(tp => tp.name.getText(sourceFile));
|
|
68
|
+
const usesGenericsInState = typeParamNames.length > 0 && stateFields.some(f => typeParamNames.some(name => f.type.includes(name)));
|
|
69
|
+
// Prefer defaults so that referring to the interface without type args continues to work in user code
|
|
70
|
+
const typeParamDecl = usesGenericsInState ? (typeParamDeclWithDefaults || typeParamDeclFull) : '';
|
|
71
|
+
return `export interface ${interfaceName}${typeParamDecl} extends ${viewStateClassName} {\n${interfaceBody}\n}\n`;
|
|
64
72
|
}
|
|
65
73
|
static getDecoratorName(decorator) {
|
|
66
74
|
if (ts.isCallExpression(decorator.expression)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateInterfaceGenerator.js","sourceRoot":"","sources":["../../src/generation/StateInterfaceGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,+CAAiC;AAEjC,MAAa,uBAAuB;IAClC,MAAM,CAAC,QAAQ,CAAC,aAAkC,EAAE,QAAgB,EAAE,UAAyB,EAAE,OAAkB,EAAE,qBAA6B,WAAW;;QAC3J,MAAM,WAAW,GAAqC,EAAE,CAAC;QAEzD,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE;YAC1C,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC;gBAAE,SAAS;YAEhD,oCAAoC;YACpC,IACE,MAAM,CAAC,SAAS;gBAChB,MAAM,CAAC,SAAS,CAAC,IAAI,CACnB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,cAAc;oBACzC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAC9C,EACD;gBACA,SAAS;aACV;YAED,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,EAAE;gBACf,SAAS;aACV;YAED,MAAM,IAAI,GAAG,MAAC,MAAM,CAAC,IAAsB,0CAAE,IAAI,CAAC;YAClD,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,IAAI,MAAM,CAAC,IAAI,EAAE;gBACf,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;aAC5C;iBAAM,IAAI,MAAM,CAAC,WAAW,EAAE;gBAC7B,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;aAC9D;YAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC5C;QAED,MAAM,aAAa,GAAG,GAAG,QAAQ,OAAO,CAAC;QAEzC,MAAM,aAAa,GAAG,WAAW;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC;aACtC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,oBAAoB,aAAa,YAAY,kBAAkB,OAAO,aAAa,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"StateInterfaceGenerator.js","sourceRoot":"","sources":["../../src/generation/StateInterfaceGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export declare enum ChangeType {
|
|
|
3
3
|
Change = "change",
|
|
4
4
|
Unlink = "unlink"
|
|
5
5
|
}
|
|
6
|
+
export declare function isQuiet(): boolean;
|
|
6
7
|
export declare function generateAll(rootFolder: string): void;
|
|
7
8
|
export declare function generateStructsForFiles(files: string[], rootFolder: string): number;
|
|
8
9
|
export declare function cleanGeneratedFiles(rootFolder: string): Promise<void>;
|
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.getRelativePath = exports.debounceHandler = exports.handleFileChange = exports.cleanGeneratedFiles = exports.generateStructsForFiles = exports.generateAll = exports.ChangeType = void 0;
|
|
26
|
+
exports.getRelativePath = exports.debounceHandler = exports.handleFileChange = exports.cleanGeneratedFiles = exports.generateStructsForFiles = exports.generateAll = exports.isQuiet = exports.ChangeType = void 0;
|
|
27
27
|
const fs = __importStar(require("fs"));
|
|
28
28
|
const path = __importStar(require("path"));
|
|
29
29
|
const hosanna_tools_utils_js_1 = require("../lib/hosanna-tools-utils.js");
|
|
@@ -35,15 +35,22 @@ var ChangeType;
|
|
|
35
35
|
ChangeType["Change"] = "change";
|
|
36
36
|
ChangeType["Unlink"] = "unlink";
|
|
37
37
|
})(ChangeType || (exports.ChangeType = ChangeType = {}));
|
|
38
|
+
function isQuiet() {
|
|
39
|
+
const v = process.env.HOSANNA_GENERATE_QUIET;
|
|
40
|
+
return v === '1' || v === 'true' || v === 'yes';
|
|
41
|
+
}
|
|
42
|
+
exports.isQuiet = isQuiet;
|
|
38
43
|
function generateAll(rootFolder) {
|
|
39
|
-
|
|
44
|
+
if (!isQuiet())
|
|
45
|
+
console.info('Generating structs...');
|
|
40
46
|
const structFiles = (0, hosanna_tools_utils_js_1.findAllTSFiles)(rootFolder)
|
|
41
47
|
.filter(f => f.endsWith('.ts') &&
|
|
42
48
|
!f.endsWith('.d.ts') &&
|
|
43
49
|
(0, struct_generator_js_1.containsHosannaView)(f) // only TS files with @view/@aggregateView
|
|
44
50
|
);
|
|
45
51
|
structFiles.forEach(file => {
|
|
46
|
-
|
|
52
|
+
if (!isQuiet())
|
|
53
|
+
console.info(`→ ${file}`);
|
|
47
54
|
(0, struct_generator_js_1.generateStructForFile)(file, rootFolder);
|
|
48
55
|
});
|
|
49
56
|
const outputFilePath = path.resolve(rootFolder, './AsyncManager-generated-map.ts');
|
|
@@ -51,14 +58,16 @@ function generateAll(rootFolder) {
|
|
|
51
58
|
if (!fs.existsSync(outputDir)) {
|
|
52
59
|
fs.mkdirSync(outputDir, { recursive: true });
|
|
53
60
|
}
|
|
54
|
-
|
|
61
|
+
if (!isQuiet())
|
|
62
|
+
console.info('Generating command handlers...');
|
|
55
63
|
(0, command_handler_generator_1.generateCommandHandlerMaps)(rootFolder, outputFilePath);
|
|
56
64
|
}
|
|
57
65
|
exports.generateAll = generateAll;
|
|
58
66
|
// Generate structs only for the explicitly provided files
|
|
59
67
|
function generateStructsForFiles(files, rootFolder) {
|
|
60
68
|
if (!files || files.length === 0) {
|
|
61
|
-
|
|
69
|
+
if (!isQuiet())
|
|
70
|
+
console.info('No files provided. Nothing to generate.');
|
|
62
71
|
return 0;
|
|
63
72
|
}
|
|
64
73
|
let generatedCount = 0;
|
|
@@ -68,12 +77,14 @@ function generateStructsForFiles(files, rootFolder) {
|
|
|
68
77
|
.filter(f => f.endsWith('.ts') && !f.endsWith('.d.ts'))
|
|
69
78
|
.forEach(file => {
|
|
70
79
|
if ((0, struct_generator_js_1.containsHosannaView)(file)) {
|
|
71
|
-
|
|
80
|
+
if (!isQuiet())
|
|
81
|
+
console.info(`Generating struct for: ${file}`);
|
|
72
82
|
(0, struct_generator_js_1.generateStructForFile)(file, resolvedRoot);
|
|
73
83
|
generatedCount++;
|
|
74
84
|
}
|
|
75
85
|
else {
|
|
76
|
-
|
|
86
|
+
if (!isQuiet())
|
|
87
|
+
console.info(`Skipping ${file} (no @view/@aggregateView found)`);
|
|
77
88
|
}
|
|
78
89
|
});
|
|
79
90
|
return generatedCount;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation-utils.js","sourceRoot":"","sources":["../../src/generation/generation-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,0EAA+D;AAC/D,+DAAmF;AACnF,2EAA4H;AAE5H,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;AACnB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,SAAgB,WAAW,CAAC,UAAkB;IAC5C,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"generation-utils.js","sourceRoot":"","sources":["../../src/generation/generation-utils.ts"],"names":[],"mappings":"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"}
|