@kernlang/cli 3.1.7 → 3.1.9

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/cli.js CHANGED
@@ -3,8 +3,12 @@ import { runCompile } from './commands/compile.js';
3
3
  import { runConfidence } from './commands/confidence.js';
4
4
  import { runDev } from './commands/dev.js';
5
5
  import { routeEvolve } from './commands/evolve/index.js';
6
+ import { runImport } from './commands/import.js';
7
+ import { runInit } from './commands/init.js';
6
8
  import { runReview } from './commands/review.js';
7
9
  import { runInitTemplates, runScan } from './commands/scan.js';
10
+ import { runSchema } from './commands/schema.js';
11
+ import { runTest } from './commands/test.js';
8
12
  import { printHelp, runTranspile } from './commands/transpile.js';
9
13
  const args = process.argv.slice(2);
10
14
  const cmd = args[0];
@@ -12,10 +16,14 @@ const cmd = args[0];
12
16
  const COMMANDS = {
13
17
  dev: runDev,
14
18
  compile: runCompile,
19
+ init: runInit,
20
+ test: runTest,
15
21
  scan: runScan,
16
22
  'init-templates': runInitTemplates,
23
+ import: runImport,
17
24
  review: runReview,
18
25
  confidence: runConfidence,
26
+ schema: runSchema,
19
27
  };
20
28
  async function main() {
21
29
  // Route evolve commands (evolve + evolve:*)
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEpB,4EAA4E;AAE5E,MAAM,QAAQ,GAA6D;IACzE,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,OAAO;IACb,gBAAgB,EAAE,gBAAgB;IAClC,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,aAAa;CAC1B,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,4CAA4C;IAC5C,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,sCAAsC;IACtC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,oCAAoC;IACpC,YAAY,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEpB,4EAA4E;AAE5E,MAAM,QAAQ,GAA6D;IACzE,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,gBAAgB,EAAE,gBAAgB;IAClC,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,aAAa;IACzB,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,4CAA4C;IAC5C,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,sCAAsC;IACtC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,oCAAoC;IACpC,YAAY,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,IAAI,EAAE,CAAC"}
@@ -1 +1 @@
1
- export declare function runCompile(args: string[]): void;
1
+ export declare function runCompile(args: string[]): Promise<void>;
@@ -1,193 +1,368 @@
1
- import { expandTemplateNode, generateCoreNode, isCoreNode, isTemplateNode, KernParseError, parseStrict, parseWithDiagnostics, resolveConfig, sourceComment, VALID_TARGETS, } from '@kernlang/core';
1
+ import { detectVersionsFromPackageJson, expandTemplateNode, generateCoreNode, isCoreNode, isTemplateNode, KernParseError, parseStrict, parseWithDiagnostics, resolveConfig, sourceComment, VALID_TARGETS, } from '@kernlang/core';
2
+ import { loadEvolvedNodes } from '@kernlang/evolve';
2
3
  import { generateReactNode, isReactNode } from '@kernlang/react';
3
- import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync } from 'fs';
4
- import { basename, resolve } from 'path';
5
- import { hasFlag, loadConfig, loadTemplates, parseAndSurface, parseFlag, surfaceParseDiagnostics, transpileAndWrite, } from '../shared.js';
6
- /** Extract exported symbol names from generated TypeScript lines, distinguishing type-only exports. */
7
- function extractExports(lines) {
8
- const exports = [];
9
- const re = /^export\s+(?:async\s+)?(?:function\*?|class|const|enum|abstract\s+class)\s+(\w+)/;
10
- const typeRe = /^export\s+(?:interface|type)\s+(\w+)/;
11
- for (const line of lines) {
12
- const m = line.match(re);
13
- if (m) {
14
- exports.push({ name: m[1], typeOnly: false });
15
- continue;
16
- }
17
- const tm = line.match(typeRe);
18
- if (tm)
19
- exports.push({ name: tm[1], typeOnly: true });
20
- }
21
- return exports;
4
+ import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, unlinkSync, writeFileSync } from 'fs';
5
+ import { basename, dirname, relative, resolve } from 'path';
6
+ import { extractExportsFromLines, findKernFiles, findNearestPackageJson, generateBarrelFile, generateFacadeFiles, getOutputExtension, hasFlag, loadConfig, loadTemplates, parseFlag, parseWithJSONDiagnostics, scanOutputForBarrelEntries, surfaceParseDiagnostics, transpileAndWrite, } from '../shared.js';
7
+ /** Compile a single .kern file using core/template/react codegen (no target transpiler). */
8
+ function compileDefaultSingle(file, outDir, strictParse, jsonOutput, jsonDiagnostics, inputBase) {
9
+ const source = readFileSync(file, 'utf-8');
10
+ let ast;
11
+ let errors = 0;
12
+ let warnings = 0;
13
+ if (strictParse) {
14
+ try {
15
+ ast = parseStrict(source);
16
+ }
17
+ catch (err) {
18
+ if (err instanceof KernParseError) {
19
+ console.error(`\n${file}:`);
20
+ console.error(` [ERROR] ${err.message}`);
21
+ if (!jsonOutput)
22
+ process.exit(1);
23
+ return { compiled: false, errors: 1, warnings: 0 };
24
+ }
25
+ throw err;
26
+ }
27
+ }
28
+ else if (jsonOutput) {
29
+ const { root, json } = parseWithJSONDiagnostics(source, file);
30
+ ast = root;
31
+ jsonDiagnostics.push(json);
32
+ errors = json.diagnostics.filter((d) => d.severity === 'error').length + json.schemaViolations.length;
33
+ warnings = json.diagnostics.filter((d) => d.severity === 'warning').length;
34
+ }
35
+ else {
36
+ const result = parseWithDiagnostics(source);
37
+ const diag = surfaceParseDiagnostics(result.diagnostics, file);
38
+ ast = result.root;
39
+ errors = diag.errors;
40
+ warnings = diag.warnings;
41
+ }
42
+ const lines = [];
43
+ let hasReactNodes = false;
44
+ function processNode(node) {
45
+ if (isCoreNode(node.type)) {
46
+ const sc = sourceComment(node, basename(file, '.kern'));
47
+ if (sc)
48
+ lines.push(sc);
49
+ lines.push(...generateCoreNode(node));
50
+ lines.push('');
51
+ if (node.type === 'hook' || node.type === 'screen')
52
+ hasReactNodes = true;
53
+ }
54
+ else if (isTemplateNode(node.type)) {
55
+ const sc = sourceComment(node, basename(file, '.kern'));
56
+ if (sc)
57
+ lines.push(sc);
58
+ lines.push(...expandTemplateNode(node));
59
+ lines.push('');
60
+ }
61
+ else if (isReactNode(node.type)) {
62
+ const sc = sourceComment(node, basename(file, '.kern'));
63
+ if (sc)
64
+ lines.push(sc);
65
+ lines.push(...generateReactNode(node));
66
+ lines.push('');
67
+ hasReactNodes = true;
68
+ }
69
+ }
70
+ processNode(ast);
71
+ if (ast.children) {
72
+ for (const child of ast.children) {
73
+ processNode(child);
74
+ }
75
+ }
76
+ if (lines.length === 0) {
77
+ if (!jsonOutput)
78
+ console.log(` ${basename(file)} → (no core nodes, skipped)`);
79
+ return { compiled: false, errors, warnings };
80
+ }
81
+ const ext = hasReactNodes ? '.tsx' : '.ts';
82
+ const outName = basename(file, '.kern') + ext;
83
+ // Preserve subdirectory structure when compiling a directory recursively
84
+ const relSubdir = inputBase ? relative(inputBase, dirname(file)) : '';
85
+ const targetDir = relSubdir ? resolve(outDir, relSubdir) : outDir;
86
+ mkdirSync(targetDir, { recursive: true });
87
+ const outFile = resolve(targetDir, outName);
88
+ writeFileSync(outFile, `${lines.join('\n')}\n`);
89
+ if (!jsonOutput)
90
+ console.log(` ${basename(file)} → ${relSubdir ? `${relSubdir}/` : ''}${outName}`);
91
+ const exports = extractExportsFromLines(lines);
92
+ const barrelEntry = exports.length > 0 ? { moduleName: basename(file, '.kern'), exports } : undefined;
93
+ return { compiled: true, errors, warnings, barrelEntry };
22
94
  }
23
- export function runCompile(args) {
95
+ // ── Main compile command ────────────────────────────────────────────────
96
+ export async function runCompile(args) {
24
97
  const compileInput = args[1];
25
98
  const outDirArg = parseFlag(args, '--outdir');
26
99
  if (!compileInput) {
27
- console.error('Usage: kern compile <file.kern|dir> --outdir=<dir>');
100
+ console.error('Usage: kern compile <file.kern|dir> [--target=<target>] [--outdir=<dir>] [--watch] [--facades] [--index]');
28
101
  process.exit(1);
29
102
  }
30
103
  const outDir = resolve(outDirArg || 'generated');
31
104
  mkdirSync(outDir, { recursive: true });
32
105
  const inputPath = resolve(compileInput);
33
106
  const stat = existsSync(inputPath) ? statSync(inputPath) : null;
34
- const kernFiles = [];
35
- if (stat?.isDirectory()) {
36
- for (const f of readdirSync(inputPath)) {
37
- if (f.endsWith('.kern'))
38
- kernFiles.push(resolve(inputPath, f));
39
- }
40
- }
41
- else if (stat?.isFile()) {
42
- kernFiles.push(inputPath);
43
- }
44
- else {
107
+ if (!stat) {
45
108
  console.error(`Not found: ${compileInput}`);
46
109
  process.exit(1);
47
110
  }
111
+ const isDir = stat.isDirectory();
112
+ const kernFiles = isDir ? findKernFiles(inputPath) : stat.isFile() ? [inputPath] : [];
48
113
  if (kernFiles.length === 0) {
49
114
  console.error(`No .kern files found in: ${compileInput}`);
50
115
  process.exit(1);
51
116
  }
117
+ // ── Flags ──────────────────────────────────────────────────────────
52
118
  const compileConfig = loadConfig();
53
- loadTemplates(compileConfig);
54
119
  const strictParse = hasFlag(args, '--strict-parse');
55
- const barrel = hasFlag(args, '--barrel');
120
+ const tolerant = hasFlag(args, '--tolerant');
121
+ const barrel = hasFlag(args, '--barrel', '--index');
122
+ const facades = hasFlag(args, '--facades');
123
+ const facadesDir = parseFlag(args, '--facades-dir');
124
+ const jsonOutput = hasFlag(args, '--json');
125
+ const watchMode = hasFlag(args, '--watch');
126
+ const serveMode = hasFlag(args, '--serve');
56
127
  const targetArg = parseFlag(args, '--target');
57
- /** Parse a .kern file, respecting --strict-parse. */
58
- function parseFile(file) {
59
- const source = readFileSync(file, 'utf-8');
60
- if (strictParse) {
128
+ if (targetArg && !VALID_TARGETS.includes(targetArg)) {
129
+ console.error(`Unknown target: '${targetArg}'.`);
130
+ process.exit(1);
131
+ }
132
+ // ── Framework detection + evolved nodes (from dev command) ─────────
133
+ const watchDir = isDir ? inputPath : dirname(inputPath);
134
+ if (targetArg) {
135
+ const pkgPath = findNearestPackageJson(watchDir);
136
+ if (pkgPath && Object.keys(compileConfig.frameworkVersions).length === 0) {
61
137
  try {
62
- return parseStrict(source);
63
- }
64
- catch (err) {
65
- if (err instanceof KernParseError) {
66
- console.error(`\n${file}:`);
67
- console.error(` [ERROR] ${err.message}`);
68
- process.exit(1);
138
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
139
+ const detected = detectVersionsFromPackageJson(pkg);
140
+ if (detected.tailwind || detected.nextjs) {
141
+ compileConfig.frameworkVersions = { ...compileConfig.frameworkVersions, ...detected };
142
+ if (!jsonOutput) {
143
+ const parts = [];
144
+ if (detected.tailwind)
145
+ parts.push(`Tailwind ${detected.tailwind}`);
146
+ if (detected.nextjs)
147
+ parts.push(`Next.js ${detected.nextjs}`);
148
+ console.log(` Auto-detected: ${parts.join(', ')}`);
149
+ }
69
150
  }
70
- throw err;
151
+ }
152
+ catch {
153
+ // Intentional: package.json detection is optional
71
154
  }
72
155
  }
73
- return parseAndSurface(source, file);
74
156
  }
75
- /** Parse and collect error counts for the summary. */
76
- function parseFileWithCount(file) {
77
- if (strictParse) {
78
- return { ast: parseFile(file), errors: 0, warnings: 0 };
79
- }
80
- const source = readFileSync(file, 'utf-8');
81
- const result = parseWithDiagnostics(source);
82
- const { errors, warnings } = surfaceParseDiagnostics(result.diagnostics, file);
83
- return { ast: result.root, errors, warnings };
157
+ loadTemplates(compileConfig);
158
+ const evolvedResult = loadEvolvedNodes(process.cwd(), hasFlag(args, '--verify'));
159
+ if (evolvedResult.loaded > 0 && !jsonOutput) {
160
+ console.log(` Evolved nodes: ${evolvedResult.loaded} loaded`);
84
161
  }
85
- if (targetArg) {
86
- if (!VALID_TARGETS.includes(targetArg)) {
87
- console.error(`Unknown target: '${targetArg}'.`);
88
- process.exit(1);
89
- }
90
- const cfg = resolveConfig({ ...compileConfig, target: targetArg });
162
+ // ── Resolve config with target ─────────────────────────────────────
163
+ const cfg = targetArg ? resolveConfig({ ...compileConfig, target: targetArg }) : compileConfig;
164
+ // ── Initial compilation ────────────────────────────────────────────
165
+ const jsonDiagnostics = [];
166
+ function compileAll(files) {
91
167
  let compiled = 0;
92
- for (const file of kernFiles) {
93
- if (strictParse) {
94
- // Validate first — transpileAndWrite uses parseAndSurface internally,
95
- // so we pre-validate with parseStrict to fail fast.
96
- parseFile(file);
97
- }
98
- transpileAndWrite(file, cfg, args, outDir);
99
- console.log(` ${basename(file)} → ${targetArg}`);
100
- compiled++;
101
- }
102
- console.log(`\nCompiled ${compiled}/${kernFiles.length} files (target: ${targetArg}) → ${outDir}`);
103
- process.exit(0);
104
- }
105
- // Default: core-only codegen (no --target flag)
106
- let compiled = 0;
107
- let totalErrors = 0;
108
- const barrelEntries = [];
109
- for (const file of kernFiles) {
110
- const { ast, errors } = parseFileWithCount(file);
111
- totalErrors += errors;
112
- const lines = [];
113
- let hasReactNodes = false;
114
- function processNode(node) {
115
- if (isCoreNode(node.type)) {
116
- const sc = sourceComment(node, basename(file, '.kern'));
117
- if (sc)
118
- lines.push(sc);
119
- lines.push(...generateCoreNode(node));
120
- lines.push('');
121
- if (node.type === 'hook' || node.type === 'screen')
122
- hasReactNodes = true;
168
+ let totalErrors = 0;
169
+ const barrelEntries = [];
170
+ if (targetArg) {
171
+ for (const file of files) {
172
+ if (strictParse) {
173
+ const source = readFileSync(file, 'utf-8');
174
+ try {
175
+ parseStrict(source);
176
+ }
177
+ catch (err) {
178
+ if (err instanceof KernParseError) {
179
+ console.error(`\n${file}:`);
180
+ console.error(` [ERROR] ${err.message}`);
181
+ process.exit(1);
182
+ }
183
+ throw err;
184
+ }
185
+ }
186
+ try {
187
+ transpileAndWrite(file, cfg, args, outDir, isDir ? inputPath : undefined);
188
+ if (!jsonOutput)
189
+ console.log(` ${basename(file)} ${targetArg}`);
190
+ compiled++;
191
+ }
192
+ catch (err) {
193
+ totalErrors++;
194
+ console.error(` ${basename(file)} → ERROR: ${err.message}`);
195
+ }
123
196
  }
124
- else if (isTemplateNode(node.type)) {
125
- const sc = sourceComment(node, basename(file, '.kern'));
126
- if (sc)
127
- lines.push(sc);
128
- lines.push(...expandTemplateNode(node));
129
- lines.push('');
197
+ // Barrel entries from output scan for --target path
198
+ if (barrel || facades) {
199
+ barrelEntries.push(...scanOutputForBarrelEntries(outDir));
130
200
  }
131
- else if (isReactNode(node.type)) {
132
- const sc = sourceComment(node, basename(file, '.kern'));
133
- if (sc)
134
- lines.push(sc);
135
- lines.push(...generateReactNode(node));
136
- lines.push('');
137
- hasReactNodes = true;
201
+ }
202
+ else {
203
+ for (const file of files) {
204
+ const result = compileDefaultSingle(file, outDir, strictParse, jsonOutput, jsonDiagnostics, isDir ? inputPath : undefined);
205
+ if (result.compiled)
206
+ compiled++;
207
+ totalErrors += result.errors;
208
+ if (result.barrelEntry)
209
+ barrelEntries.push(result.barrelEntry);
138
210
  }
139
211
  }
140
- processNode(ast);
141
- if (ast.children) {
142
- for (const child of ast.children) {
143
- processNode(child);
212
+ return { compiled, totalErrors, barrelEntries };
213
+ }
214
+ const { compiled, totalErrors, barrelEntries } = compileAll(kernFiles);
215
+ // ── Barrel & facades ───────────────────────────────────────────────
216
+ if (barrel && barrelEntries.length > 0) {
217
+ generateBarrelFile(outDir, barrelEntries);
218
+ }
219
+ if (facades && barrelEntries.length > 0) {
220
+ generateFacadeFiles(outDir, facadesDir, barrelEntries);
221
+ }
222
+ // ── Summary ────────────────────────────────────────────────────────
223
+ if (jsonOutput) {
224
+ const output = targetArg
225
+ ? { compiled, total: kernFiles.length, outDir, target: targetArg, errors: 0, files: [] }
226
+ : { compiled, total: kernFiles.length, outDir, errors: totalErrors, files: jsonDiagnostics };
227
+ process.stdout.write(`${JSON.stringify(output, null, 2)}\n`);
228
+ }
229
+ else {
230
+ const targetLabel = targetArg ? ` (target: ${targetArg})` : '';
231
+ console.log(`\nCompiled ${compiled}/${kernFiles.length} files${targetLabel} → ${outDir}`);
232
+ if (totalErrors > 0 && !strictParse) {
233
+ if (tolerant) {
234
+ console.log(` ${totalErrors} parse error(s) recovered — output contains TODO comments at error positions.`);
235
+ }
236
+ else {
237
+ console.error(`\n${totalErrors} parse error(s) found. Use --strict-parse to fail on errors, or --tolerant for partial compilation.`);
144
238
  }
145
239
  }
146
- if (lines.length > 0) {
147
- const ext = hasReactNodes ? '.tsx' : '.ts';
148
- const outName = basename(file, '.kern') + ext;
149
- const outFile = resolve(outDir, outName);
150
- writeFileSync(outFile, `${lines.join('\n')}\n`);
151
- console.log(` ${basename(file)} ${outName}`);
152
- compiled++;
153
- if (barrel) {
154
- const exports = extractExports(lines);
155
- if (exports.length > 0) {
156
- const moduleName = basename(file, '.kern');
157
- barrelEntries.push({ moduleName, exports });
240
+ }
241
+ // ── Exit or watch ──────────────────────────────────────────────────
242
+ if (!watchMode) {
243
+ process.exit(0);
244
+ }
245
+ // ── Watch mode ─────────────────────────────────────────────────────
246
+ const { watch } = await import('chokidar').catch(() => {
247
+ console.error('kern compile --watch requires chokidar: npm install chokidar');
248
+ process.exit(1);
249
+ });
250
+ // ── MCP serve mode — auto-restart compiled server ───────────────────
251
+ let mcpProcess = null;
252
+ function findCompiledEntry() {
253
+ if (!existsSync(outDir))
254
+ return null;
255
+ // Search recursively for .ts files containing McpServer (the actual server entry)
256
+ const candidates = [];
257
+ function walk(dir) {
258
+ for (const entry of readdirSync(dir)) {
259
+ const full = resolve(dir, entry);
260
+ if (statSync(full).isDirectory()) {
261
+ walk(full);
262
+ }
263
+ else if (entry.endsWith('.ts') && entry !== 'index.ts' && entry !== '_barrel.ts') {
264
+ candidates.push(full);
158
265
  }
159
266
  }
160
267
  }
161
- else {
162
- console.log(` ${basename(file)} (no core nodes, skipped)`);
268
+ walk(outDir);
269
+ // Prefer files containing McpServer instantiation
270
+ const mcpEntry = candidates.find((f) => readFileSync(f, 'utf-8').includes('McpServer'));
271
+ return mcpEntry || candidates[0] || null;
272
+ }
273
+ async function restartMcpServer() {
274
+ if (!serveMode || targetArg !== 'mcp')
275
+ return;
276
+ const entry = findCompiledEntry();
277
+ if (!entry)
278
+ return;
279
+ if (mcpProcess) {
280
+ mcpProcess.kill('SIGTERM');
281
+ mcpProcess = null;
163
282
  }
283
+ const { spawn: spawnProcess } = await import('child_process');
284
+ mcpProcess = spawnProcess('npx', ['tsx', entry], {
285
+ stdio: 'inherit',
286
+ env: { ...process.env },
287
+ });
288
+ mcpProcess.on('error', (err) => {
289
+ console.error(` MCP server error: ${err.message}`);
290
+ });
291
+ mcpProcess.on('exit', (code) => {
292
+ if (code !== null && code !== 0) {
293
+ console.error(` MCP server exited with code ${code}`);
294
+ }
295
+ mcpProcess = null;
296
+ });
297
+ console.log(` MCP server started: ${relative(process.cwd(), entry)}`);
164
298
  }
165
- // Generate barrel index if --barrel is set
166
- if (barrel && barrelEntries.length > 0) {
167
- // Avoid overwriting output from index.kern use _barrel.ts if conflict exists
168
- const hasIndexKern = barrelEntries.some((e) => e.moduleName === 'index');
169
- const barrelName = hasIndexKern ? '_barrel.ts' : 'index.ts';
170
- const barrelLines = ['// Generated by KERN — do not edit.', ''];
171
- for (const entry of barrelEntries) {
172
- const valueExports = entry.exports.filter((e) => !e.typeOnly).map((e) => e.name);
173
- const typeExports = entry.exports.filter((e) => e.typeOnly).map((e) => e.name);
174
- if (valueExports.length > 0) {
175
- barrelLines.push(`export { ${valueExports.join(', ')} } from './${entry.moduleName}.js';`);
299
+ // Start MCP server after initial compile
300
+ await restartMcpServer();
301
+ console.log('\n Watching for changes... (Ctrl+C to stop)\n');
302
+ const globPattern = isDir ? resolve(inputPath, '**/*.kern') : inputPath;
303
+ const watcher = watch(globPattern, {
304
+ ignoreInitial: true,
305
+ awaitWriteFinish: { stabilityThreshold: 100, pollInterval: 50 },
306
+ });
307
+ const handleChange = (filePath) => {
308
+ const rel = relative(process.cwd(), filePath);
309
+ const start = performance.now();
310
+ try {
311
+ if (targetArg) {
312
+ transpileAndWrite(filePath, cfg, args, outDir, isDir ? inputPath : undefined);
176
313
  }
177
- if (typeExports.length > 0) {
178
- barrelLines.push(`export type { ${typeExports.join(', ')} } from './${entry.moduleName}.js';`);
314
+ else {
315
+ compileDefaultSingle(filePath, outDir, strictParse, false, [], isDir ? inputPath : undefined);
179
316
  }
317
+ // Regenerate barrel/facades from current output state
318
+ if (barrel || facades) {
319
+ const entries = scanOutputForBarrelEntries(outDir);
320
+ if (barrel)
321
+ generateBarrelFile(outDir, entries);
322
+ if (facades)
323
+ generateFacadeFiles(outDir, facadesDir, entries);
324
+ }
325
+ const ms = Math.round(performance.now() - start);
326
+ console.log(` ${rel} → compiled (${ms}ms)`);
327
+ // Restart MCP server if --serve (fire-and-forget, log errors)
328
+ restartMcpServer().catch((err) => {
329
+ console.error(` MCP restart failed: ${err.message}`);
330
+ });
180
331
  }
181
- barrelLines.push('');
182
- const barrelFile = resolve(outDir, barrelName);
183
- writeFileSync(barrelFile, barrelLines.join('\n'));
184
- const totalExports = barrelEntries.reduce((n, e) => n + e.exports.length, 0);
185
- console.log(` barrel → ${barrelName} (${totalExports} exports)`);
186
- }
187
- console.log(`\nCompiled ${compiled}/${kernFiles.length} files → ${outDir}`);
188
- if (totalErrors > 0 && !strictParse) {
189
- console.error(`\n${totalErrors} parse error(s) found. Use --strict-parse to fail on errors.`);
190
- }
191
- process.exit(0);
332
+ catch (err) {
333
+ console.error(` ${rel} ERROR: ${err.message}`);
334
+ }
335
+ };
336
+ watcher.on('change', handleChange);
337
+ watcher.on('add', handleChange);
338
+ watcher.on('unlink', (filePath) => {
339
+ const rel = relative(process.cwd(), filePath);
340
+ const name = basename(filePath, '.kern');
341
+ // Remove generated output file(s)
342
+ const outExt = targetArg ? getOutputExtension(targetArg) : '.ts';
343
+ for (const ext of [outExt, outExt === '.ts' ? '.tsx' : '.ts']) {
344
+ const outFile = resolve(outDir, `${name}${ext}`);
345
+ if (existsSync(outFile)) {
346
+ unlinkSync(outFile);
347
+ console.log(` ${rel} → deleted ${basename(outFile)}`);
348
+ }
349
+ }
350
+ // Regenerate barrel/facades
351
+ if (barrel || facades) {
352
+ const entries = scanOutputForBarrelEntries(outDir);
353
+ if (barrel)
354
+ generateBarrelFile(outDir, entries);
355
+ if (facades)
356
+ generateFacadeFiles(outDir, facadesDir, entries);
357
+ }
358
+ });
359
+ process.on('SIGINT', () => {
360
+ if (mcpProcess)
361
+ mcpProcess.kill('SIGTERM');
362
+ console.log('\n KERN compile stopped.');
363
+ process.exit(0);
364
+ });
365
+ // Keep process alive
366
+ await new Promise(() => { });
192
367
  }
193
368
  //# sourceMappingURL=compile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,eAAe,EACf,SAAS,EACT,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,uGAAuG;AACvG,SAAS,cAAc,CAAC,KAAe;IACrC,MAAM,OAAO,GAA0C,EAAE,CAAC;IAC1D,MAAM,EAAE,GAAG,kFAAkF,CAAC;IAC9F,MAAM,MAAM,GAAG,sCAAsC,CAAC;IACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,EAAE;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE9C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,IAAI,WAAW,CAAC,CAAC;IACjD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,IAAI,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,cAAc,YAAY,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;IACnC,aAAa,CAAC,aAAa,CAAC,CAAC;IAE7B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAA2B,CAAC;IAExE,qDAAqD;IACrD,SAAS,SAAS,CAAC,IAAY;QAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;oBAClC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;oBAC5B,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,sDAAsD;IACtD,SAAS,kBAAkB,CAAC,IAAY;QACtC,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC1D,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,oBAAoB,SAAS,IAAI,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,GAAG,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACnE,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,WAAW,EAAE,CAAC;gBAChB,sEAAsE;gBACtE,oDAAoD;gBACpD,SAAS,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC;YAClD,QAAQ,EAAE,CAAC;QACb,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,IAAI,SAAS,CAAC,MAAM,mBAAmB,SAAS,OAAO,MAAM,EAAE,CAAC,CAAC;QACnG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gDAAgD;IAChD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,aAAa,GAA6E,EAAE,CAAC;IAEnG,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACjD,WAAW,IAAI,MAAM,CAAC;QACtB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,SAAS,WAAW,CAAC,IAAY;YAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;gBACxD,IAAI,EAAE;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;oBAAE,aAAa,GAAG,IAAI,CAAC;YAC3E,CAAC;iBAAM,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;gBACxD,IAAI,EAAE;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;iBAAM,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;gBACxD,IAAI,EAAE;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;QACH,CAAC;QAED,WAAW,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjC,WAAW,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC;YAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACzC,aAAa,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;YAChD,QAAQ,EAAE,CAAC;YAEX,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC3C,aAAa,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,IAAI,MAAM,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,+EAA+E;QAC/E,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;QAC5D,MAAM,WAAW,GAAG,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC;QAChE,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjF,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,WAAW,CAAC,IAAI,CAAC,YAAY,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,UAAU,OAAO,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,WAAW,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,UAAU,OAAO,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC/C,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,KAAK,YAAY,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,IAAI,SAAS,CAAC,MAAM,YAAY,MAAM,EAAE,CAAC,CAAC;IAC5E,IAAI,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,KAAK,WAAW,8DAA8D,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"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"}
@@ -1 +1,7 @@
1
+ /**
2
+ * `kern dev` — alias for `kern compile --watch`.
3
+ *
4
+ * Injects `--watch` and remaps the command name so that compile receives
5
+ * the same argument shape it expects (`args[1]` = input path).
6
+ */
1
7
  export declare function runDev(args: string[]): Promise<void>;