@kernlang/cli 3.4.6 → 3.4.7-canary.101.1.5437ac62

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.
@@ -1,4 +1,4 @@
1
- import { ALL_TARGETS, collectExternalBoundaries, detectVersionsFromPackageJson, expandTemplateNode, generateCoreNode, isCoreNode, isTemplateNode, KernParseError, parseStrict, parseWithDiagnostics, resolveConfig, sourceComment, validateSchema, } from '@kernlang/core';
1
+ import { ALL_TARGETS, collectExternalBoundaries, detectReactHookDeps, detectVersionsFromPackageJson, expandTemplateNode, generateCoreNode, injectReactHookImports, isCoreNode, isTemplateNode, KernParseError, parseStrict, parseWithDiagnostics, resolveConfig, sourceComment, validateSchema, } from '@kernlang/core';
2
2
  import { loadEvolvedNodes } from '@kernlang/evolve';
3
3
  import { generateReactNode, isReactNode } from '@kernlang/react';
4
4
  import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, unlinkSync, writeFileSync } from 'fs';
@@ -148,7 +148,13 @@ async function compileDefaultSingle(file, outDir, strictParse, jsonOutput, jsonD
148
148
  const targetDir = relSubdir ? resolve(outDir, relSubdir) : outDir;
149
149
  mkdirSync(targetDir, { recursive: true });
150
150
  const outFile = resolve(targetDir, outName);
151
- writeFileSync(outFile, `${lines.join('\n')}\n`);
151
+ // Slice C-cell-v4 — auto-emit `import { useState } from 'react'` when
152
+ // body-stmt `cell` nodes appear in the IR. The default compile path
153
+ // (no --target) doesn't go through `transpileForTarget`, so it needs its
154
+ // own integration. Targeted compiles get this in `shared.ts`.
155
+ const reactDeps = detectReactHookDeps(ast);
156
+ const code = injectReactHookImports(lines.join('\n'), reactDeps);
157
+ writeFileSync(outFile, `${code}\n`);
152
158
  if (!jsonOutput)
153
159
  console.log(` ${basename(file)} → ${relSubdir ? `${relSubdir}/` : ''}${outName}`);
154
160
  const exports = extractExportsFromLines(lines);
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  * it pre-compiles, applies the migration, recompiles, and rolls back on any
16
16
  * codegen drift.
17
17
  */
18
- import { classifyHandlerBody, escapeKernString, hasComments, isValidKernAssignmentTarget, isValidKernAssignmentValue, isValidKernExpression, isValidKernTypeAnnotation, supportedCompoundAssignmentOperator, } from '@kernlang/core';
18
+ import { canonicalKernExpression, canonicalObjectEntriesSource, classifyHandlerBody, escapeKernString, hasOnlyMigratableComments, isValidKernAssignmentTarget, isValidKernAssignmentValue, isValidKernTypeAnnotation, supportedCompoundAssignmentOperator, } from '@kernlang/core';
19
19
  import ts from 'typescript';
20
20
  const INDENT_STEP = ' ';
21
21
  /**
@@ -75,6 +75,39 @@ function dedent(lines) {
75
75
  * the whole handler.
76
76
  */
77
77
  function mapStatement(stmt, source, indent, ctx) {
78
+ const mapped = mapStatementCore(stmt, source, indent, ctx);
79
+ if (mapped === null)
80
+ return null;
81
+ return [...mapLeadingComments(stmt, source, indent), ...mapped];
82
+ }
83
+ function mapLeadingComments(stmt, source, indent) {
84
+ return (ts.getLeadingCommentRanges(source.text, stmt.getFullStart()) ?? [])
85
+ .filter((range) => isStandaloneCommentRange(source.text, range))
86
+ .flatMap((range) => {
87
+ const raw = source.text.slice(range.pos, range.end).trim();
88
+ return mapComment(raw, indent);
89
+ });
90
+ }
91
+ function mapComment(raw, indent) {
92
+ if (raw.startsWith('/*') && raw.endsWith('*/') && raw.includes('\n')) {
93
+ return raw
94
+ .slice(2, -2)
95
+ .trim()
96
+ .split(/\r?\n/)
97
+ .map((line) => line.replace(/^\s*\*\s?/, '').trimEnd())
98
+ .map((line) => `${indent}comment text="${escapeKernString(line)}"`);
99
+ }
100
+ return [`${indent}comment raw="${escapeKernString(raw)}"`];
101
+ }
102
+ function isStandaloneCommentRange(text, range) {
103
+ const beforeLineStart = text.lastIndexOf('\n', Math.max(0, range.pos - 1)) + 1;
104
+ const afterLineEndIndex = text.indexOf('\n', range.end);
105
+ const afterLineEnd = afterLineEndIndex === -1 ? text.length : afterLineEndIndex;
106
+ const before = text.slice(beforeLineStart, range.pos);
107
+ const after = text.slice(range.end, afterLineEnd);
108
+ return before.trim() === '' && after.trim() === '';
109
+ }
110
+ function mapStatementCore(stmt, source, indent, ctx) {
78
111
  if (ts.isVariableStatement(stmt)) {
79
112
  // `const` is the default KERN body binding. TS `let` is now preserved as
80
113
  // `let kind=let`; `var` remains unsupported because function scoping
@@ -94,30 +127,60 @@ function mapStatement(stmt, source, indent, ctx) {
94
127
  if (typeText && !isValidKernTypeAnnotation(typeText))
95
128
  return null;
96
129
  if (!ts.isIdentifier(decl.name))
97
- return isConst ? mapDestructureDecl(decl, source, indent, typeText) : null;
130
+ return mapDestructureDecl(decl, source, indent, typeText, isLet ? 'let' : 'const');
98
131
  const name = decl.name.text;
132
+ // Template-literal initializer → emit `fmt name=X template="..."` body-stmt
133
+ // (slice for "lift more template literals to KERN AST"). Multi-line
134
+ // templates fall through to the value-form because KERN's quoted-string
135
+ // attribute doesn't carry embedded newlines. Templates carrying any
136
+ // backslash escape (`\n`, `\t`, `\${`, etc.) also fall through: KERN's
137
+ // string-attribute escaping plus codegen-side backtick escaping
138
+ // round-trip-drifts on raw backslashes, so the value-form preserves the
139
+ // cooked TS template literal verbatim instead.
140
+ if (ts.isNoSubstitutionTemplateLiteral(decl.initializer) || ts.isTemplateExpression(decl.initializer)) {
141
+ const raw = decl.initializer.getText(source);
142
+ const body = raw.slice(1, -1);
143
+ if (!body.includes('\n') && !body.includes('\\')) {
144
+ const typeAttr = typeText ? ` type="${escapeKernString(typeText)}"` : '';
145
+ const kindAttr = isLet ? ' kind=let' : '';
146
+ return [`${indent}fmt name=${name}${typeAttr}${kindAttr} template="${escapeKernString(body)}"`];
147
+ }
148
+ }
99
149
  const exprText = decl.initializer.getText(source);
100
- if (!isValidKernExpression(exprText))
150
+ const canonical = canonicalKernExpression(exprText);
151
+ if (canonical === null)
101
152
  return null;
102
153
  const typeAttr = typeText ? ` type="${escapeKernString(typeText)}"` : '';
103
154
  const kindAttr = isLet ? ' kind=let' : '';
104
- return [`${indent}let name=${name}${typeAttr}${kindAttr} value="${escapeKernString(exprText)}"`];
155
+ return [`${indent}let name=${name}${typeAttr}${kindAttr} value="${escapeKernString(canonical)}"`];
105
156
  }
106
157
  if (ts.isReturnStatement(stmt)) {
107
158
  if (!stmt.expression)
108
159
  return [`${indent}return`];
160
+ // Template-literal return → `fmt return=true template="..."` body-stmt.
161
+ // Same single-line + no-backslash restriction as the binding-form path
162
+ // (see comment above) — guards against escape-sequence round-trip drift.
163
+ if (ts.isNoSubstitutionTemplateLiteral(stmt.expression) || ts.isTemplateExpression(stmt.expression)) {
164
+ const raw = stmt.expression.getText(source);
165
+ const body = raw.slice(1, -1);
166
+ if (!body.includes('\n') && !body.includes('\\')) {
167
+ return [`${indent}fmt return=true template="${escapeKernString(body)}"`];
168
+ }
169
+ }
109
170
  const exprText = stmt.expression.getText(source);
110
- if (!isValidKernExpression(exprText))
171
+ const canonical = canonicalKernExpression(exprText);
172
+ if (canonical === null)
111
173
  return null;
112
- return [`${indent}return value="${escapeKernString(exprText)}"`];
174
+ return [`${indent}return value="${escapeKernString(canonical)}"`];
113
175
  }
114
176
  if (ts.isThrowStatement(stmt)) {
115
177
  if (!stmt.expression)
116
178
  return null;
117
179
  const exprText = stmt.expression.getText(source);
118
- if (!isValidKernExpression(exprText))
180
+ const canonical = canonicalKernExpression(exprText);
181
+ if (canonical === null)
119
182
  return null;
120
- return [`${indent}throw value="${escapeKernString(exprText)}"`];
183
+ return [`${indent}throw value="${escapeKernString(canonical)}"`];
121
184
  }
122
185
  if (ts.isBreakStatement(stmt)) {
123
186
  if (stmt.label || ctx.loopDepth <= 0)
@@ -166,9 +229,13 @@ function mapStatement(stmt, source, indent, ctx) {
166
229
  return null;
167
230
  if (!isValidKernAssignmentValue(valueText))
168
231
  return null;
232
+ const canonicalTarget = canonicalKernExpression(targetText);
233
+ const canonicalValue = canonicalKernExpression(valueText);
234
+ if (canonicalTarget === null || canonicalValue === null)
235
+ return null;
169
236
  const opAttr = opText === '=' ? '' : ` op="${escapeKernString(opText)}"`;
170
237
  return [
171
- `${indent}assign target="${escapeKernString(targetText)}"${opAttr} value="${escapeKernString(valueText)}"`,
238
+ `${indent}assign target="${escapeKernString(canonicalTarget)}"${opAttr} value="${escapeKernString(canonicalValue)}"`,
172
239
  ];
173
240
  }
174
241
  }
@@ -178,19 +245,21 @@ function mapStatement(stmt, source, indent, ctx) {
178
245
  return null;
179
246
  }
180
247
  const exprText = stmt.expression.getText(source);
181
- if (!isValidKernExpression(exprText))
248
+ const canonical = canonicalKernExpression(exprText);
249
+ if (canonical === null)
182
250
  return null;
183
- return [`${indent}do value="${escapeKernString(exprText)}"`];
251
+ return [`${indent}do value="${escapeKernString(canonical)}"`];
184
252
  }
185
253
  // Block, unsupported loop shapes, switch, etc — no body-statement equivalent. Bail.
186
254
  return null;
187
255
  }
188
256
  function mapIf(stmt, source, indent, ctx) {
189
257
  const condText = stmt.expression.getText(source);
190
- if (!isValidKernExpression(condText))
258
+ const canonical = canonicalKernExpression(condText);
259
+ if (canonical === null)
191
260
  return null;
192
261
  const innerIndent = indent + INDENT_STEP;
193
- const out = [`${indent}if cond="${escapeKernString(condText)}"`];
262
+ const out = [`${indent}if cond="${escapeKernString(canonical)}"`];
194
263
  const thenLines = mapBranch(stmt.thenStatement, source, innerIndent, ctx);
195
264
  if (thenLines === null)
196
265
  return null;
@@ -243,14 +312,15 @@ function mapTry(stmt, source, indent, ctx) {
243
312
  out.push(...catchLines);
244
313
  return out;
245
314
  }
246
- function mapDestructureDecl(decl, source, indent, typeText) {
315
+ function mapDestructureDecl(decl, source, indent, typeText, kind = 'const') {
247
316
  if (!decl.initializer)
248
317
  return null;
249
318
  const sourceText = decl.initializer.getText(source);
250
- if (!isValidKernExpression(sourceText))
319
+ const canonicalSource = canonicalKernExpression(sourceText);
320
+ if (canonicalSource === null)
251
321
  return null;
252
322
  const typeAttr = typeText ? ` type="${escapeKernString(typeText)}"` : '';
253
- const out = [`${indent}destructure kind=const${typeAttr} source="${escapeKernString(sourceText)}"`];
323
+ const out = [`${indent}destructure kind=${kind}${typeAttr} source="${escapeKernString(canonicalSource)}"`];
254
324
  const name = decl.name;
255
325
  if (ts.isObjectBindingPattern(name)) {
256
326
  for (const element of name.elements) {
@@ -300,33 +370,51 @@ function mapForOf(stmt, source, indent, ctx) {
300
370
  return null;
301
371
  if (stmt.statement.statements.length === 0)
302
372
  return null;
303
- const collectionText = stmt.expression.getText(source);
304
- if (!isValidKernExpression(collectionText))
305
- return null;
306
373
  const innerIndent = indent + INDENT_STEP;
307
374
  const awaitAttr = stmt.awaitModifier ? ' await=true' : '';
308
- const pair = parseForOfPairBinding(decl.name);
375
+ const entryBinding = parseForOfEntryBinding(decl.name);
309
376
  let out;
310
- if (pair) {
311
- // Only async pair loops are migrated automatically. Sync pair-mode is
312
- // ambiguous across targets: TS can iterate any iterable of pairs, while
313
- // Python pair-mode emits mapping `.items()`. Authors can still hand-write
314
- // `each pairKey=/pairValue=` when the source is intentionally map/dict-shaped.
315
- if (!stmt.awaitModifier)
316
- return null;
377
+ if (entryBinding?.kind === 'pair') {
317
378
  if (typeText)
318
379
  return null;
319
- out = [
320
- `${indent}each pairKey=${pair.key} pairValue=${pair.value} in="${escapeKernString(collectionText)}"${awaitAttr}`,
321
- ];
380
+ const entriesSource = canonicalObjectEntriesSource(stmt.expression, source);
381
+ if (stmt.awaitModifier && entriesSource !== null)
382
+ return null;
383
+ if (stmt.awaitModifier) {
384
+ const canonicalCollection = canonicalKernExpression(stmt.expression.getText(source));
385
+ if (canonicalCollection === null)
386
+ return null;
387
+ out = [
388
+ `${indent}each pairKey=${entryBinding.key} pairValue=${entryBinding.value} in="${escapeKernString(canonicalCollection)}"${awaitAttr}`,
389
+ ];
390
+ }
391
+ else {
392
+ if (entriesSource === null)
393
+ return null;
394
+ out = [
395
+ `${indent}each pairKey=${entryBinding.key} pairValue=${entryBinding.value} in="${escapeKernString(entriesSource)}" entries=true`,
396
+ ];
397
+ }
398
+ }
399
+ else if (entryBinding?.kind === 'key' || entryBinding?.kind === 'value') {
400
+ if (typeText || stmt.awaitModifier)
401
+ return null;
402
+ const entriesSource = canonicalObjectEntriesSource(stmt.expression, source);
403
+ if (entriesSource === null)
404
+ return null;
405
+ const prop = entryBinding.kind === 'key' ? `entryKey=${entryBinding.name}` : `entryValue=${entryBinding.name}`;
406
+ out = [`${indent}each ${prop} in="${escapeKernString(entriesSource)}" entries=true`];
322
407
  }
323
408
  else {
324
409
  if (!ts.isIdentifier(decl.name))
325
410
  return null;
326
411
  if (typeText && !isValidKernTypeAnnotation(typeText))
327
412
  return null;
413
+ const canonicalCollection = canonicalKernExpression(stmt.expression.getText(source));
414
+ if (canonicalCollection === null)
415
+ return null;
328
416
  const typeAttr = typeText ? ` type="${escapeKernString(typeText)}"` : '';
329
- out = [`${indent}each name=${decl.name.text} in="${escapeKernString(collectionText)}"${typeAttr}${awaitAttr}`];
417
+ out = [`${indent}each name=${decl.name.text} in="${escapeKernString(canonicalCollection)}"${typeAttr}${awaitAttr}`];
330
418
  }
331
419
  const bodyLines = mapBranch(stmt.statement, source, innerIndent, { ...ctx, loopDepth: ctx.loopDepth + 1 });
332
420
  if (bodyLines === null)
@@ -334,30 +422,52 @@ function mapForOf(stmt, source, indent, ctx) {
334
422
  out.push(...bodyLines);
335
423
  return out;
336
424
  }
337
- function parseForOfPairBinding(name) {
425
+ function parseForOfEntryBinding(name) {
338
426
  if (!ts.isArrayBindingPattern(name))
339
427
  return null;
428
+ if (name.elements.length === 1) {
429
+ const [element] = name.elements;
430
+ if (ts.isOmittedExpression(element))
431
+ return null;
432
+ if (element.dotDotDotToken || element.initializer)
433
+ return null;
434
+ if (!ts.isIdentifier(element.name))
435
+ return null;
436
+ return { kind: 'key', name: element.name.text };
437
+ }
340
438
  if (name.elements.length !== 2)
341
439
  return null;
342
440
  const [keyEl, valueEl] = name.elements;
343
- if (ts.isOmittedExpression(keyEl) || ts.isOmittedExpression(valueEl))
441
+ if (!ts.isOmittedExpression(keyEl)) {
442
+ if (keyEl.dotDotDotToken || keyEl.initializer)
443
+ return null;
444
+ if (!ts.isIdentifier(keyEl.name))
445
+ return null;
446
+ }
447
+ if (ts.isOmittedExpression(valueEl))
448
+ return null;
449
+ if (valueEl.dotDotDotToken || valueEl.initializer)
344
450
  return null;
345
- if (keyEl.dotDotDotToken || valueEl.dotDotDotToken || keyEl.initializer || valueEl.initializer)
451
+ if (!ts.isIdentifier(valueEl.name))
346
452
  return null;
347
- if (!ts.isIdentifier(keyEl.name) || !ts.isIdentifier(valueEl.name))
453
+ if (ts.isOmittedExpression(keyEl))
454
+ return { kind: 'value', name: valueEl.name.text };
455
+ const keyName = keyEl.name;
456
+ if (!ts.isIdentifier(keyName))
348
457
  return null;
349
- return { key: keyEl.name.text, value: valueEl.name.text };
458
+ return { kind: 'pair', key: keyName.text, value: valueEl.name.text };
350
459
  }
351
460
  function mapWhile(stmt, source, indent, ctx) {
352
461
  const condText = stmt.expression.getText(source);
353
- if (!isValidKernExpression(condText))
462
+ const canonical = canonicalKernExpression(condText);
463
+ if (canonical === null)
354
464
  return null;
355
465
  if (!ts.isBlock(stmt.statement))
356
466
  return null;
357
467
  if (stmt.statement.statements.length === 0)
358
468
  return null;
359
469
  const innerIndent = indent + INDENT_STEP;
360
- const out = [`${indent}while cond="${escapeKernString(condText)}"`];
470
+ const out = [`${indent}while cond="${escapeKernString(canonical)}"`];
361
471
  const bodyLines = mapBranch(stmt.statement, source, innerIndent, { ...ctx, loopDepth: ctx.loopDepth + 1 });
362
472
  if (bodyLines === null)
363
473
  return null;
@@ -376,7 +486,7 @@ function mapBranch(node, source, indent, ctx) {
376
486
  }
377
487
  return out;
378
488
  }
379
- // Slice α-3 (gemini review): `hasComments` and `isValidKernExpression` were
489
+ // Slice α-3 (gemini review): comment and expression predicates were
380
490
  // previously duplicated here and in `packages/core/src/native-eligibility-ast.ts`.
381
491
  // The classifier needs the same predicates the migrator uses to keep the
382
492
  // "eligibility ≡ migrate-success" invariant tight, so the canonical
@@ -404,7 +514,7 @@ export function rewriteNativeHandlers(source) {
404
514
  const cls = classifyHandlerBody(block.bodyText);
405
515
  if (!cls.eligible)
406
516
  continue;
407
- if (hasComments(block.bodyText))
517
+ if (!hasOnlyMigratableComments(block.bodyText))
408
518
  continue;
409
519
  const sourceFile = ts.createSourceFile('__handler.ts', block.bodyText, ts.ScriptTarget.Latest, true);
410
520
  // Bail on TS syntax errors (rare since classifier already vets).
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-native-handlers.js","sourceRoot":"","sources":["../../src/commands/migrate-native-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate-native-handlers.js","sourceRoot":"","sources":["../../src/commands/migrate-native-handlers.ts"],"names":[],"mappings":"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"}