@veloxts/cli 0.4.11 → 0.4.13

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 (54) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/dev.d.ts +4 -1
  4. package/dist/commands/dev.d.ts.map +1 -1
  5. package/dist/commands/dev.js +29 -15
  6. package/dist/commands/dev.js.map +1 -1
  7. package/dist/commands/make.d.ts +17 -0
  8. package/dist/commands/make.d.ts.map +1 -0
  9. package/dist/commands/make.js +219 -0
  10. package/dist/commands/make.js.map +1 -0
  11. package/dist/dev/error-parser.d.ts +67 -0
  12. package/dist/dev/error-parser.d.ts.map +1 -0
  13. package/dist/dev/error-parser.js +384 -0
  14. package/dist/dev/error-parser.js.map +1 -0
  15. package/dist/dev/hmr-runner.d.ts +67 -9
  16. package/dist/dev/hmr-runner.d.ts.map +1 -1
  17. package/dist/dev/hmr-runner.js +305 -57
  18. package/dist/dev/hmr-runner.js.map +1 -1
  19. package/dist/dev/index.d.ts +6 -0
  20. package/dist/dev/index.d.ts.map +1 -1
  21. package/dist/dev/index.js +8 -0
  22. package/dist/dev/index.js.map +1 -1
  23. package/dist/dev/reload-reporter.d.ts +197 -0
  24. package/dist/dev/reload-reporter.d.ts.map +1 -0
  25. package/dist/dev/reload-reporter.js +370 -0
  26. package/dist/dev/reload-reporter.js.map +1 -0
  27. package/dist/dev/timing-tracker.d.ts +130 -0
  28. package/dist/dev/timing-tracker.d.ts.map +1 -0
  29. package/dist/dev/timing-tracker.js +175 -0
  30. package/dist/dev/timing-tracker.js.map +1 -0
  31. package/dist/generators/generators/factory.d.ts +5 -5
  32. package/dist/generators/generators/factory.js +8 -8
  33. package/dist/generators/generators/migration.d.ts +7 -7
  34. package/dist/generators/generators/migration.js +12 -12
  35. package/dist/generators/generators/model.d.ts +7 -7
  36. package/dist/generators/generators/model.js +12 -12
  37. package/dist/generators/generators/procedure.d.ts +6 -6
  38. package/dist/generators/generators/procedure.js +12 -12
  39. package/dist/generators/generators/seeder.d.ts +5 -5
  40. package/dist/generators/generators/seeder.js +9 -9
  41. package/dist/generators/generators/seeder.js.map +1 -1
  42. package/dist/generators/types.d.ts +1 -1
  43. package/dist/generators/types.d.ts.map +1 -1
  44. package/dist/migrations/commands/run.js +1 -1
  45. package/dist/migrations/commands/run.js.map +1 -1
  46. package/dist/migrations/commands/status.js +1 -1
  47. package/dist/migrations/commands/status.js.map +1 -1
  48. package/dist/migrations/errors.js +1 -1
  49. package/dist/migrations/errors.js.map +1 -1
  50. package/dist/seeding/commands/seed.js +2 -2
  51. package/dist/seeding/commands/seed.js.map +1 -1
  52. package/dist/seeding/errors.js +1 -1
  53. package/dist/seeding/errors.js.map +1 -1
  54. package/package.json +6 -6
package/dist/cli.js CHANGED
@@ -7,7 +7,7 @@
7
7
  import { Command } from 'commander';
8
8
  import { createDbCommand } from './commands/db.js';
9
9
  import { createDevCommand } from './commands/dev.js';
10
- import { createGenerateCommand } from './commands/generate.js';
10
+ import { createMakeCommand } from './commands/make.js';
11
11
  import { createMigrateCommand } from './commands/migrate.js';
12
12
  import { createProceduresCommand } from './commands/procedures.js';
13
13
  import { CLI_VERSION } from './index.js';
@@ -24,7 +24,7 @@ function createCLI() {
24
24
  // Register commands
25
25
  program.addCommand(createDbCommand());
26
26
  program.addCommand(createDevCommand(CLI_VERSION));
27
- program.addCommand(createGenerateCommand());
27
+ program.addCommand(createMakeCommand());
28
28
  program.addCommand(createMigrateCommand());
29
29
  program.addCommand(createProceduresCommand());
30
30
  return program;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;GAEG;AACH,SAAS,SAAS;IAChB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,OAAO,CAAC;SACb,WAAW,CAAC,sEAAsE,CAAC;SACnF,OAAO,CAAC,WAAW,EAAE,eAAe,EAAE,4BAA4B,CAAC;SACnE,UAAU,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;IAExD,oBAAoB;IACpB,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAE9C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,cAAc;AACd,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;GAEG;AACH,SAAS,SAAS;IAChB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,OAAO,CAAC;SACb,WAAW,CAAC,sEAAsE,CAAC;SACnF,OAAO,CAAC,WAAW,EAAE,eAAe,EAAE,4BAA4B,CAAC;SACnE,UAAU,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;IAExD,oBAAoB;IACpB,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAE9C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,cAAc;AACd,IAAI,EAAE,CAAC"}
@@ -1,7 +1,10 @@
1
1
  /**
2
2
  * Dev command - Start development server with hot reload
3
3
  *
4
- * Inspired by Laravel's `php artisan serve` and Vite's dev server
4
+ * Inspired by Laravel's `php artisan serve` and Vite's dev server.
5
+ *
6
+ * By default, uses Hot Module Replacement (HMR) for fast reloads.
7
+ * Use --no-hmr for legacy tsx watch mode with full process restarts.
5
8
  */
6
9
  import { Command } from 'commander';
7
10
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAYzD"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAezD"}
@@ -1,27 +1,33 @@
1
1
  /**
2
2
  * Dev command - Start development server with hot reload
3
3
  *
4
- * Inspired by Laravel's `php artisan serve` and Vite's dev server
4
+ * Inspired by Laravel's `php artisan serve` and Vite's dev server.
5
+ *
6
+ * By default, uses Hot Module Replacement (HMR) for fast reloads.
7
+ * Use --no-hmr for legacy tsx watch mode with full process restarts.
5
8
  */
6
9
  import { spawn } from 'node:child_process';
7
10
  import * as p from '@clack/prompts';
8
11
  import { Command } from 'commander';
9
12
  import pc from 'picocolors';
10
13
  import { buildWatchArgs, runHMRServer } from '../dev/index.js';
11
- import { error, formatCommand, formatPath, info, instruction, printBanner, warning, } from '../utils/output.js';
14
+ import { error, formatCommand, formatPath, info, instruction, printBanner, } from '../utils/output.js';
12
15
  import { findEntryPoint, isVeloxProject, validateEntryPath } from '../utils/paths.js';
13
16
  /**
14
17
  * Create the dev command
15
18
  */
16
19
  export function createDevCommand(version) {
17
20
  return new Command('dev')
18
- .description('Start the development server with hot reload')
21
+ .description('Start the development server with hot module replacement')
19
22
  .option('-p, --port <port>', 'Port to listen on', '3210')
20
23
  .option('-H, --host <host>', 'Host to bind to', 'localhost')
21
24
  .option('-e, --entry <file>', 'Entry point file (auto-detected if not specified)')
22
25
  .option('--clear', 'Clear console on restart (default: true)', true)
23
26
  .option('--no-clear', 'Disable console clearing on restart')
24
- .option('--hmr', 'Enable experimental hot module replacement', false)
27
+ .option('--hmr', 'Enable hot module replacement (default: true)', true)
28
+ .option('--no-hmr', 'Disable HMR and use legacy tsx watch mode')
29
+ .option('-v, --verbose', 'Show detailed timing and reload information', false)
30
+ .option('-d, --debug', 'Enable debug logging and request tracing', false)
25
31
  .action(async (options) => {
26
32
  await runDevServer(options, version);
27
33
  });
@@ -88,33 +94,41 @@ async function runDevServer(options, version) {
88
94
  }
89
95
  // Print startup banner
90
96
  printBanner(version);
91
- // Show HMR warning if enabled
92
- if (options.hmr) {
93
- warning('HMR mode is experimental. Some changes may require a full restart.');
94
- console.log('');
95
- }
96
- info('Starting development server...');
97
- console.log('');
98
97
  // Set environment variables for the app
98
+ const debug = options.debug ?? false;
99
99
  const env = {
100
100
  ...process.env,
101
101
  PORT: port,
102
102
  HOST: host,
103
103
  NODE_ENV: 'development',
104
+ ...(debug && {
105
+ LOG_LEVEL: 'debug',
106
+ VELOX_REQUEST_LOGGING: 'true',
107
+ }),
104
108
  };
105
- // Check if HMR mode is requested
106
- if (options.hmr) {
107
- // Run with experimental HMR
109
+ const clearScreen = options.clear !== false;
110
+ const verbose = options.verbose ?? false;
111
+ // HMR is the default mode
112
+ // Use --no-hmr for legacy tsx watch mode
113
+ if (options.hmr !== false) {
114
+ // Run with HMR (default)
108
115
  await runHMRServer({
109
116
  entry: entryPoint,
110
117
  port,
111
118
  host,
112
119
  env,
120
+ verbose,
121
+ debug,
122
+ clearOnRestart: clearScreen,
113
123
  });
114
124
  return; // HMR runner handles its own lifecycle
115
125
  }
126
+ // Legacy mode: tsx watch with full process restarts
127
+ info('Starting development server in legacy mode...');
128
+ console.log(` ${pc.dim('Using tsx watch - every change triggers full restart.')}`);
129
+ console.log(` ${pc.dim('Remove --no-hmr for faster reloads with HMR.')}`);
130
+ console.log('');
116
131
  // Build watch arguments with smart ignore patterns
117
- const clearScreen = options.clear !== false;
118
132
  const watchArgs = buildWatchArgs({
119
133
  entry: entryPoint,
120
134
  clearScreen,
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Make command - Code scaffolding for VeloxTS projects
3
+ *
4
+ * Usage:
5
+ * velox make <type> <name> [options]
6
+ * velox m <type> <name> [options]
7
+ *
8
+ * Examples:
9
+ * velox make procedure users --crud
10
+ * velox m p User
11
+ */
12
+ import { Command } from 'commander';
13
+ /**
14
+ * Create the make command
15
+ */
16
+ export declare function createMakeCommand(): Command;
17
+ //# sourceMappingURL=make.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make.d.ts","sourceRoot":"","sources":["../../src/commands/make.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqCpC;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAmD3C"}
@@ -0,0 +1,219 @@
1
+ /**
2
+ * Make command - Code scaffolding for VeloxTS projects
3
+ *
4
+ * Usage:
5
+ * velox make <type> <name> [options]
6
+ * velox m <type> <name> [options]
7
+ *
8
+ * Examples:
9
+ * velox make procedure users --crud
10
+ * velox m p User
11
+ */
12
+ import * as p from '@clack/prompts';
13
+ import { Command } from 'commander';
14
+ import pc from 'picocolors';
15
+ import { applyCliFlags, detectProjectContext, ensureVeloxProject, findSimilarGenerators, formatGeneratorList, formatWriteResults, formatWriteResultsJson, GeneratorError, GeneratorErrorCode, getAllGenerators, getGenerator, registerBuiltinGenerators, writeFiles, } from '../generators/index.js';
16
+ import { error, formatCommand, info, success } from '../utils/output.js';
17
+ // ============================================================================
18
+ // Command Creation
19
+ // ============================================================================
20
+ /**
21
+ * Create the make command
22
+ */
23
+ export function createMakeCommand() {
24
+ // Register built-in generators
25
+ registerBuiltinGenerators();
26
+ const cmd = new Command('make')
27
+ .alias('m')
28
+ .description('Scaffold code for your VeloxTS project')
29
+ .argument('[type]', 'Generator type (procedure, schema, model, etc.)')
30
+ .argument('[name]', 'Name for the generated entity')
31
+ .option('-d, --dry-run', 'Preview changes without writing files', false)
32
+ .option('-f, --force', 'Overwrite existing files without prompting', false)
33
+ .option('--json', 'Output results as JSON', false)
34
+ // Generator-specific options (passed through to generators)
35
+ .option('-c, --crud', 'Generate full CRUD operations', false)
36
+ .option('-P, --paginated', 'Include pagination for list operation', false)
37
+ .option('-s, --soft-delete', 'Add soft delete support (model generator)', false)
38
+ .option('-t, --timestamps', 'Include timestamps (model generator)', true)
39
+ .option('-D, --database <type>', 'Database type: sqlite, postgresql, mysql', 'sqlite')
40
+ // Test generator options
41
+ .option('-T, --type <type>', 'Test type: unit, integration, e2e', 'unit')
42
+ .option('-G, --target <target>', 'Test target: procedure, schema, model, service, generic', 'generic')
43
+ // Resource generator options
44
+ .option('-W, --with-tests', 'Include test files (resource generator)', true)
45
+ .option('--skip-model', 'Skip Prisma model generation', false)
46
+ .option('--skip-schema', 'Skip Zod schema generation', false)
47
+ .option('--skip-procedure', 'Skip procedure generation', false)
48
+ .action(async (type, name, options) => {
49
+ await runMake(type, name, options);
50
+ });
51
+ // Add help showing available generators
52
+ cmd.addHelpText('after', `
53
+ Available generators:${formatGeneratorList()}
54
+
55
+ Examples:
56
+ ${formatCommand('velox make resource Post')} Scaffold complete Post resource
57
+ ${formatCommand('velox m r User --soft-delete')} Resource with soft delete support
58
+ ${formatCommand('velox m p User --crud')} Scaffold CRUD procedures only
59
+ ${formatCommand('velox m s User --crud')} Scaffold Zod schemas only
60
+ ${formatCommand('velox m t User -G procedure')} Scaffold procedure unit tests
61
+ ${formatCommand('velox make --dry-run r Post')} Preview resource scaffolding
62
+ `);
63
+ return cmd;
64
+ }
65
+ // ============================================================================
66
+ // Command Execution
67
+ // ============================================================================
68
+ /**
69
+ * Run the make command
70
+ */
71
+ async function runMake(type, name, options) {
72
+ const { json, dryRun, force } = options;
73
+ // JSON mode: suppress interactive output
74
+ const isInteractive = !json;
75
+ try {
76
+ // List generators if no type specified
77
+ if (!type) {
78
+ if (json) {
79
+ const generators = getAllGenerators().map((g) => ({
80
+ name: g.name,
81
+ aliases: g.generator.metadata.aliases ?? [],
82
+ description: g.generator.metadata.description,
83
+ category: g.generator.metadata.category,
84
+ }));
85
+ console.log(JSON.stringify({ generators }, null, 2));
86
+ return;
87
+ }
88
+ p.intro(pc.bgCyan(pc.black(' VeloxTS Make ')));
89
+ console.log(formatGeneratorList());
90
+ console.log('');
91
+ info(`Run ${formatCommand('velox make <type> <name>')} to scaffold code.`);
92
+ return;
93
+ }
94
+ // Find the generator
95
+ const generator = getGenerator(type);
96
+ if (!generator) {
97
+ const similar = findSimilarGenerators(type);
98
+ const suggestion = similar.length > 0
99
+ ? `Did you mean: ${similar.map((s) => pc.cyan(s)).join(', ')}?`
100
+ : `Run ${formatCommand('velox make')} to see available generators.`;
101
+ throw new GeneratorError(GeneratorErrorCode.INVALID_OPTION, `Unknown generator: ${type}`, suggestion);
102
+ }
103
+ // Check for entity name
104
+ if (!name) {
105
+ throw new GeneratorError(GeneratorErrorCode.INVALID_ENTITY_NAME, 'Entity name is required', `Usage: ${formatCommand(`velox make ${type} <name>`)}`);
106
+ }
107
+ // Validate entity name
108
+ const nameError = generator.validateEntityName(name);
109
+ if (nameError) {
110
+ throw new GeneratorError(GeneratorErrorCode.INVALID_ENTITY_NAME, nameError, 'Entity names must start with a letter and contain only letters, numbers, hyphens, or underscores.');
111
+ }
112
+ // Ensure we're in a VeloxTS project
113
+ const cwd = process.cwd();
114
+ await ensureVeloxProject(cwd);
115
+ // Detect project context
116
+ const project = await detectProjectContext(cwd);
117
+ // Extract generator-specific options (remove global flags)
118
+ const { dryRun: _d, force: _f, json: _j, ...generatorOptions } = options;
119
+ // Validate generator options
120
+ const validatedOptions = generator.validateOptions(generatorOptions);
121
+ // Build generator config
122
+ const config = applyCliFlags({
123
+ entityName: name,
124
+ options: validatedOptions,
125
+ conflictStrategy: 'prompt',
126
+ dryRun: false,
127
+ force: false,
128
+ cwd,
129
+ project,
130
+ }, { dryRun, force, json });
131
+ // Show spinner for generation
132
+ let output;
133
+ if (isInteractive) {
134
+ const s = p.spinner();
135
+ s.start(`Scaffolding ${generator.metadata.name}...`);
136
+ try {
137
+ output = await generator.generate(config);
138
+ s.stop(`Scaffolded ${output.files.length} file(s)`);
139
+ }
140
+ catch (err) {
141
+ s.stop('Scaffolding failed');
142
+ throw err;
143
+ }
144
+ }
145
+ else {
146
+ output = await generator.generate(config);
147
+ }
148
+ // Write files
149
+ const writeResults = await writeFiles(output.files, {
150
+ conflictStrategy: config.conflictStrategy,
151
+ dryRun: config.dryRun,
152
+ force: config.force,
153
+ cwd,
154
+ silent: json,
155
+ });
156
+ // Output results
157
+ if (json) {
158
+ console.log(formatWriteResultsJson(writeResults));
159
+ }
160
+ else {
161
+ console.log('');
162
+ console.log(formatWriteResults(writeResults, dryRun));
163
+ // Show post-generation instructions
164
+ if (output.postInstructions && !dryRun) {
165
+ console.log('');
166
+ info('Next steps:');
167
+ console.log(output.postInstructions);
168
+ }
169
+ console.log('');
170
+ success(dryRun ? 'Dry run complete.' : 'Scaffolding complete!');
171
+ }
172
+ }
173
+ catch (err) {
174
+ handleError(err, json);
175
+ process.exit(1);
176
+ }
177
+ }
178
+ // ============================================================================
179
+ // Error Handling
180
+ // ============================================================================
181
+ /**
182
+ * Handle errors with appropriate formatting
183
+ */
184
+ function handleError(err, json) {
185
+ if (err instanceof GeneratorError) {
186
+ if (json) {
187
+ console.log(JSON.stringify(err.toJSON(), null, 2));
188
+ }
189
+ else {
190
+ error(err.message);
191
+ if (err.fix) {
192
+ info(`Fix: ${err.fix}`);
193
+ }
194
+ }
195
+ return;
196
+ }
197
+ if (err instanceof Error) {
198
+ if (json) {
199
+ console.log(JSON.stringify({
200
+ code: 'E2005',
201
+ message: err.message,
202
+ }, null, 2));
203
+ }
204
+ else {
205
+ error(err.message);
206
+ }
207
+ return;
208
+ }
209
+ if (json) {
210
+ console.log(JSON.stringify({
211
+ code: 'E2005',
212
+ message: 'An unknown error occurred',
213
+ }, null, 2));
214
+ }
215
+ else {
216
+ error('An unknown error occurred');
217
+ }
218
+ }
219
+ //# sourceMappingURL=make.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make.js","sourceRoot":"","sources":["../../src/commands/make.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Error Parser - Analyzes development errors and provides actionable feedback
3
+ *
4
+ * Parses error messages and stack traces to identify error types, extract
5
+ * file locations, and generate helpful suggestions for resolution.
6
+ *
7
+ * Inspired by Vite's error overlay and Next.js's error page patterns.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const parsed = parseDevError(error);
12
+ *
13
+ * console.log(parsed.type); // 'syntax-error'
14
+ * console.log(parsed.filePath); // 'src/procedures/users.ts'
15
+ * console.log(parsed.line); // 42
16
+ * console.log(parsed.suggestion); // 'Check for missing closing bracket...'
17
+ * ```
18
+ */
19
+ /**
20
+ * Categories of development errors for targeted handling
21
+ */
22
+ export type DevErrorType = 'syntax-error' | 'module-not-found' | 'type-error' | 'runtime-error' | 'hmr-failure' | 'database-error' | 'port-in-use' | 'permission-denied' | 'unknown';
23
+ /**
24
+ * Parsed error with extracted metadata and suggestions
25
+ */
26
+ export interface ParsedDevError {
27
+ /** Original error object */
28
+ readonly originalError: Error;
29
+ /** Classified error type */
30
+ readonly type: DevErrorType;
31
+ /** Clean, user-friendly error message */
32
+ readonly message: string;
33
+ /** File path where error originated (if extractable) */
34
+ readonly filePath?: string;
35
+ /** Line number (if extractable) */
36
+ readonly line?: number;
37
+ /** Column number (if extractable) */
38
+ readonly column?: number;
39
+ /** Actionable suggestion for fixing the error */
40
+ readonly suggestion?: string;
41
+ /** Related documentation or help link */
42
+ readonly helpUrl?: string;
43
+ /** Whether this error is likely recoverable via file edit */
44
+ readonly isRecoverable: boolean;
45
+ /** Code frame snippet around the error (if available) */
46
+ readonly codeFrame?: string;
47
+ }
48
+ /**
49
+ * Parse a development error into structured, actionable information.
50
+ *
51
+ * @param error - The error to parse
52
+ * @returns Parsed error with type, location, and suggestions
53
+ */
54
+ export declare function parseDevError(error: Error): ParsedDevError;
55
+ /**
56
+ * Check if an error is a development-time error vs a fatal/configuration error
57
+ */
58
+ export declare function isDevelopmentError(error: Error): boolean;
59
+ /**
60
+ * Get a short, displayable error type label
61
+ */
62
+ export declare function getErrorTypeLabel(type: DevErrorType): string;
63
+ /**
64
+ * Format parsed error for console output
65
+ */
66
+ export declare function formatParsedError(parsed: ParsedDevError): string;
67
+ //# sourceMappingURL=error-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-parser.d.ts","sourceRoot":"","sources":["../../src/dev/error-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,kBAAkB,GAClB,YAAY,GACZ,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,aAAa,GACb,mBAAmB,GACnB,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;IAC9B,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,qCAAqC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AA+ID;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAoB1D;AA4LD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAGxD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAa5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAoChE"}