@kernlang/cli 3.2.3 → 3.3.4

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.
@@ -0,0 +1,120 @@
1
+ export function getReviewBaselineKey(entry) {
2
+ return [entry.filePath, entry.ruleId, entry.severity, entry.fingerprint, entry.message].join('\u0000');
3
+ }
4
+ function findingToEntry(filePath, finding) {
5
+ return {
6
+ filePath,
7
+ ruleId: finding.ruleId,
8
+ severity: finding.severity,
9
+ fingerprint: finding.fingerprint,
10
+ message: finding.message,
11
+ };
12
+ }
13
+ export function createReviewBaseline(reports) {
14
+ const entries = [];
15
+ const seen = new Set();
16
+ for (const report of reports) {
17
+ for (const finding of report.findings) {
18
+ const entry = findingToEntry(report.filePath, finding);
19
+ const key = getReviewBaselineKey(entry);
20
+ if (seen.has(key))
21
+ continue;
22
+ seen.add(key);
23
+ entries.push(entry);
24
+ }
25
+ }
26
+ entries.sort((a, b) => {
27
+ const fileCmp = a.filePath.localeCompare(b.filePath);
28
+ if (fileCmp !== 0)
29
+ return fileCmp;
30
+ const sevOrder = { error: 0, warning: 1, info: 2 };
31
+ const sevCmp = sevOrder[a.severity] - sevOrder[b.severity];
32
+ if (sevCmp !== 0)
33
+ return sevCmp;
34
+ const ruleCmp = a.ruleId.localeCompare(b.ruleId);
35
+ if (ruleCmp !== 0)
36
+ return ruleCmp;
37
+ return a.fingerprint.localeCompare(b.fingerprint);
38
+ });
39
+ return {
40
+ version: 1,
41
+ createdAt: new Date().toISOString(),
42
+ entries,
43
+ };
44
+ }
45
+ export function parseReviewBaseline(raw) {
46
+ const parsed = JSON.parse(raw);
47
+ const candidate = Array.isArray(parsed)
48
+ ? { version: 1, createdAt: '', entries: parsed }
49
+ : parsed;
50
+ if (!candidate || candidate.version !== 1 || !Array.isArray(candidate.entries)) {
51
+ throw new Error('Invalid baseline format: expected { version: 1, entries: [...] }');
52
+ }
53
+ const entries = [];
54
+ for (const entry of candidate.entries) {
55
+ if (!entry ||
56
+ typeof entry.filePath !== 'string' ||
57
+ typeof entry.ruleId !== 'string' ||
58
+ typeof entry.severity !== 'string' ||
59
+ typeof entry.fingerprint !== 'string' ||
60
+ typeof entry.message !== 'string') {
61
+ throw new Error('Invalid baseline entry: expected filePath/ruleId/severity/fingerprint/message strings');
62
+ }
63
+ if (entry.severity !== 'error' && entry.severity !== 'warning' && entry.severity !== 'info') {
64
+ throw new Error(`Invalid baseline entry severity: ${entry.severity}`);
65
+ }
66
+ entries.push(entry);
67
+ }
68
+ return {
69
+ version: 1,
70
+ createdAt: typeof candidate.createdAt === 'string' ? candidate.createdAt : '',
71
+ entries,
72
+ };
73
+ }
74
+ export function compareReportsToBaseline(reports, baseline) {
75
+ const current = createReviewBaseline(reports);
76
+ const currentKeys = new Set(current.entries.map(getReviewBaselineKey));
77
+ const baselineKeys = new Set(baseline.entries.map(getReviewBaselineKey));
78
+ let knownCount = 0;
79
+ const knownKeys = new Set();
80
+ const newKeys = new Set();
81
+ for (const key of currentKeys) {
82
+ if (baselineKeys.has(key)) {
83
+ knownCount++;
84
+ knownKeys.add(key);
85
+ }
86
+ else {
87
+ newKeys.add(key);
88
+ }
89
+ }
90
+ let resolvedCount = 0;
91
+ for (const key of baselineKeys) {
92
+ if (!currentKeys.has(key))
93
+ resolvedCount++;
94
+ }
95
+ return {
96
+ currentCount: current.entries.length,
97
+ knownCount,
98
+ newCount: newKeys.size,
99
+ resolvedCount,
100
+ knownKeys,
101
+ newKeys,
102
+ };
103
+ }
104
+ export function getReviewBaselineKeyForFinding(filePath, finding) {
105
+ return getReviewBaselineKey(findingToEntry(filePath, finding));
106
+ }
107
+ export function filterReportsToNewFindings(reports, comparison) {
108
+ return reports.map((report) => ({
109
+ ...report,
110
+ findings: report.findings.filter((finding) => {
111
+ const key = getReviewBaselineKeyForFinding(report.filePath, finding);
112
+ return comparison.newKeys.has(key);
113
+ }),
114
+ suppressedFindings: report.suppressedFindings?.filter((finding) => {
115
+ const key = getReviewBaselineKeyForFinding(report.filePath, finding);
116
+ return comparison.newKeys.has(key);
117
+ }) ?? [],
118
+ }));
119
+ }
120
+ //# sourceMappingURL=review-baseline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-baseline.js","sourceRoot":"","sources":["../src/review-baseline.ts"],"names":[],"mappings":"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"}
package/dist/shared.d.ts CHANGED
@@ -1,5 +1,11 @@
1
- import type { IRNode, KernTarget, ParseDiagnostic, ResolvedKernConfig, SchemaViolation } from '@kernlang/core';
2
- export declare const GENERATED_HEADER = "// @generated by kern v2.0.0 \u2014 DO NOT EDIT. Source: ";
1
+ import type { IRNode, KernTarget, ParseDiagnostic, ResolvedKernConfig, SchemaViolation, ShadowDiagnostic } from '@kernlang/core';
2
+ export declare const GENERATED_HEADER = "// @generated by kern v3.3.4 \u2014 DO NOT EDIT. Source: ";
3
+ /**
4
+ * Check the existing output file's @generated stamp against the current compiler version.
5
+ * Emits a warning when the stamp is newer (downgrade) or older by a minor/major (drift).
6
+ * Stays silent on patch-level drift and on first compile.
7
+ */
8
+ export declare function checkVersionDrift(outFilePath: string, sourceFile: string): void;
3
9
  /** Get value of --flag=value */
4
10
  export declare function parseFlag(args: string[], flag: string): string | undefined;
5
11
  /** Get value of --flag=value OR --flag <value> (next positional arg) */
@@ -16,6 +22,7 @@ export interface FileDiagnosticsJSON {
16
22
  success: boolean;
17
23
  diagnostics: ParseDiagnostic[];
18
24
  schemaViolations: SchemaViolation[];
25
+ shadowDiagnostics?: ShadowDiagnostic[];
19
26
  }
20
27
  /** Parse a .kern file and return structured diagnostics as JSON-serializable object. */
21
28
  export declare function parseWithJSONDiagnostics(source: string, file: string): {
@@ -49,3 +56,17 @@ export declare function transpileForTarget(ast: IRNode, cfg: ResolvedKernConfig)
49
56
  export declare function transpileAndWrite(file: string, cfg: ResolvedKernConfig, args: string[], outDirOverride?: string, inputBase?: string): void;
50
57
  export declare function loadConfig(): ResolvedKernConfig;
51
58
  export declare function loadTemplates(cfg: ResolvedKernConfig): void;
59
+ /**
60
+ * Run shadow semantic analysis on an already-parsed IR root. Wraps analyzeShadow()
61
+ * and swallows errors from the optional `typescript` peer so a missing peer becomes
62
+ * a single diagnostic rather than a crash.
63
+ */
64
+ export declare function runShadowAnalysis(root: IRNode): Promise<ShadowDiagnostic[]>;
65
+ /**
66
+ * Print shadow diagnostics to the console using the same shape as parse diagnostics.
67
+ * Returns the error / warning / info counts so callers can update their totals.
68
+ */
69
+ export declare function surfaceShadowDiagnostics(diagnostics: readonly ShadowDiagnostic[], file: string): {
70
+ errors: number;
71
+ warnings: number;
72
+ };
package/dist/shared.js CHANGED
@@ -1,4 +1,4 @@
1
- import { clearTemplates, collectCoverageGaps, detectTarget, expandTemplateNode, generateCoreNode, isCoreNode, isTemplateNode, KERN_VERSION, parseWithDiagnostics, registerTemplate, resolveConfig, validateSchema, validateSemantics, writeCoverageGaps, } from '@kernlang/core';
1
+ import { analyzeShadow, clearTemplates, collectCoverageGaps, detectTarget, expandTemplateNode, generateCoreNode, isCoreNode, isTemplateNode, KERN_VERSION, parseWithDiagnostics, registerTemplate, resolveConfig, validateSchema, validateSemantics, writeCoverageGaps, } from '@kernlang/core';
2
2
  import { transpileExpress } from '@kernlang/express';
3
3
  import { transpileFastAPI } from '@kernlang/fastapi';
4
4
  import { transpileMCP } from '@kernlang/mcp';
@@ -12,6 +12,66 @@ import { basename, dirname, relative, resolve } from 'path';
12
12
  import { transpileCliApp } from './transpiler-cli.js';
13
13
  // ── Constants ────────────────────────────────────────────────────────────
14
14
  export const GENERATED_HEADER = `// @generated by kern v${KERN_VERSION} — DO NOT EDIT. Source: `;
15
+ const STAMP_PATTERN = /^\/\/\s*@generated by kern v(\d+)\.(\d+)\.(\d+)/;
16
+ function withGeneratedHeader(content, header) {
17
+ if (content.startsWith('#!')) {
18
+ const newline = content.indexOf('\n');
19
+ if (newline === -1)
20
+ return `${content}\n${header}`;
21
+ return `${content.slice(0, newline + 1)}${header}${content.slice(newline + 1)}`;
22
+ }
23
+ return `${header}${content}`;
24
+ }
25
+ /** Parse a [major, minor, patch] tuple from a generated-header line, or null if absent. */
26
+ function parseStampedVersion(file) {
27
+ let candidateLines;
28
+ try {
29
+ const buf = readFileSync(file, 'utf-8');
30
+ candidateLines = buf.split('\n').slice(0, 2);
31
+ }
32
+ catch {
33
+ return null;
34
+ }
35
+ for (const line of candidateLines) {
36
+ const match = line.match(STAMP_PATTERN);
37
+ if (match)
38
+ return [Number(match[1]), Number(match[2]), Number(match[3])];
39
+ }
40
+ return null;
41
+ }
42
+ function compareSemver(a, b) {
43
+ for (let i = 0; i < 3; i++) {
44
+ if (a[i] !== b[i])
45
+ return a[i] - b[i];
46
+ }
47
+ return 0;
48
+ }
49
+ /**
50
+ * Check the existing output file's @generated stamp against the current compiler version.
51
+ * Emits a warning when the stamp is newer (downgrade) or older by a minor/major (drift).
52
+ * Stays silent on patch-level drift and on first compile.
53
+ */
54
+ export function checkVersionDrift(outFilePath, sourceFile) {
55
+ if (!existsSync(outFilePath))
56
+ return;
57
+ const stamped = parseStampedVersion(outFilePath);
58
+ if (!stamped)
59
+ return;
60
+ const current = KERN_VERSION.split('.').map(Number);
61
+ if (current.some((n) => Number.isNaN(n)))
62
+ return;
63
+ const cmp = compareSemver(stamped, current);
64
+ if (cmp === 0)
65
+ return;
66
+ if (cmp > 0) {
67
+ console.warn(` WARN kern-compiler-drift: ${sourceFile}: existing output was generated by kern v${stamped.join('.')}, but the active compiler is v${KERN_VERSION}. Re-compiling with an OLDER compiler may regress codegen features.`);
68
+ return;
69
+ }
70
+ // stamped is older than current
71
+ if (stamped[0] !== current[0] || stamped[1] !== current[1]) {
72
+ console.warn(` INFO kern-compiler-drift: ${sourceFile}: existing output was generated by kern v${stamped.join('.')}, current compiler is v${KERN_VERSION}. Output will be re-generated.`);
73
+ }
74
+ }
15
75
  // ── Arg parsing helpers ──────────────────────────────────────────────────
16
76
  /** Get value of --flag=value */
17
77
  export function parseFlag(args, flag) {
@@ -281,15 +341,16 @@ export function collectTsFilesFlat(dirPath, recursive) {
281
341
  if (s.isDirectory() && recursive && !entry.startsWith('.') && entry !== 'node_modules' && entry !== 'dist') {
282
342
  files.push(...collectTsFilesFlat(full, true));
283
343
  }
284
- else if ((entry.endsWith('.ts') || entry.endsWith('.tsx')) &&
344
+ else if (s.isFile() &&
345
+ (entry.endsWith('.ts') || entry.endsWith('.tsx')) &&
285
346
  !entry.endsWith('.d.ts') &&
286
347
  !entry.endsWith('.test.ts')) {
287
348
  files.push(full);
288
349
  }
289
- else if (entry.endsWith('.kern')) {
350
+ else if (s.isFile() && entry.endsWith('.kern')) {
290
351
  files.push(full);
291
352
  }
292
- else if (entry.endsWith('.py') && !entry.startsWith('test_') && !entry.endsWith('_test.py')) {
353
+ else if (s.isFile() && entry.endsWith('.py') && !entry.startsWith('test_') && !entry.endsWith('_test.py')) {
293
354
  files.push(full);
294
355
  }
295
356
  }
@@ -377,7 +438,8 @@ export function transpileAndWrite(file, cfg, args, outDirOverride, inputBase) {
377
438
  for (const artifact of result.artifacts) {
378
439
  const artifactPath = resolve(outDir, artifact.path);
379
440
  mkdirSync(dirname(artifactPath), { recursive: true });
380
- writeFileSync(artifactPath, header + artifact.content);
441
+ checkVersionDrift(artifactPath, relSource);
442
+ writeFileSync(artifactPath, withGeneratedHeader(artifact.content, header));
381
443
  }
382
444
  }
383
445
  else {
@@ -394,9 +456,23 @@ export function transpileAndWrite(file, cfg, args, outDirOverride, inputBase) {
394
456
  : `${name}${outExt}`;
395
457
  const outFilePath = resolve(outDir, outFileName);
396
458
  mkdirSync(dirname(outFilePath), { recursive: true });
397
- writeFileSync(outFilePath, header + result.code);
398
- // In flat mode (default), skip artifact emission — single file output only.
399
- // Use structure: 'structured' to emit per-screen component files + entry point.
459
+ checkVersionDrift(outFilePath, relSource);
460
+ writeFileSync(outFilePath, withGeneratedHeader(result.code, header));
461
+ // Flat Ink output still needs a runnable entrypoint. Emit a sibling
462
+ // companion file that imports the generated component by filename, so
463
+ // multi-file directory compiles do not collide on a shared index.tsx.
464
+ if (target === 'ink' && result.artifacts && result.artifacts.length > 0) {
465
+ const entryArtifact = result.artifacts.find((artifact) => artifact.type === 'entry');
466
+ if (entryArtifact) {
467
+ const entryFilePath = resolve(outDir, `${name}.entry.tsx`);
468
+ const componentModule = `./${basename(outFileName, '.tsx')}.js`;
469
+ const entryContent = entryArtifact.content.replace(/from '\.\/[^']+\.js';/, `from '${componentModule}';`);
470
+ checkVersionDrift(entryFilePath, relSource);
471
+ writeFileSync(entryFilePath, withGeneratedHeader(entryContent, header));
472
+ }
473
+ }
474
+ // In flat mode (default), other targets skip artifact emission — single file output only.
475
+ // Use structure != flat to emit per-screen component files + entry point.
400
476
  }
401
477
  }
402
478
  // ── Config loading ───────────────────────────────────────────────────────
@@ -407,10 +483,19 @@ function autoDetectTarget() {
407
483
  try {
408
484
  const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
409
485
  const allDeps = { ...pkg.dependencies, ...pkg.devDependencies };
486
+ const keywords = Array.isArray(pkg.keywords)
487
+ ? pkg.keywords.map((keyword) => String(keyword).toLowerCase())
488
+ : [];
489
+ const packageName = typeof pkg.name === 'string' ? pkg.name.toLowerCase() : '';
490
+ const isInkCliPackage = Boolean(pkg.bin) ||
491
+ keywords.some((keyword) => keyword === 'ink' || keyword === 'cli' || keyword === 'terminal' || keyword === 'tui') ||
492
+ /\b(cli|terminal|tui|ink)\b/.test(packageName);
410
493
  if (allDeps.next)
411
494
  return 'nextjs';
412
495
  if (allDeps.nuxt)
413
496
  return 'nuxt';
497
+ if (allDeps.ink && isInkCliPackage)
498
+ return 'ink';
414
499
  if (allDeps.vue)
415
500
  return 'vue';
416
501
  if (allDeps['react-native'])
@@ -483,4 +568,66 @@ export function loadTemplates(cfg) {
483
568
  }
484
569
  }
485
570
  }
571
+ // ── Shadow analysis (opt-in) ─────────────────────────────────────────────
572
+ /**
573
+ * Run shadow semantic analysis on an already-parsed IR root. Wraps analyzeShadow()
574
+ * and swallows errors from the optional `typescript` peer so a missing peer becomes
575
+ * a single diagnostic rather than a crash.
576
+ */
577
+ export async function runShadowAnalysis(root) {
578
+ try {
579
+ return await analyzeShadow(root);
580
+ }
581
+ catch (err) {
582
+ return [
583
+ {
584
+ rule: 'shadow-analysis-crashed',
585
+ nodeType: root.type,
586
+ message: `Shadow analysis failed: ${err.message}`,
587
+ },
588
+ ];
589
+ }
590
+ }
591
+ /**
592
+ * Print shadow diagnostics to the console using the same shape as parse diagnostics.
593
+ * Returns the error / warning / info counts so callers can update their totals.
594
+ */
595
+ export function surfaceShadowDiagnostics(diagnostics, file) {
596
+ if (diagnostics.length === 0)
597
+ return { errors: 0, warnings: 0 };
598
+ const tsErrors = diagnostics.filter((d) => d.rule === 'shadow-ts');
599
+ const unsupported = diagnostics.filter((d) => d.rule === 'shadow-unsupported-context');
600
+ const missingPeer = diagnostics.filter((d) => d.rule === 'shadow-typescript-missing');
601
+ const crashed = diagnostics.filter((d) => d.rule === 'shadow-analysis-crashed');
602
+ if (missingPeer.length > 0) {
603
+ console.error(`\n${file}:`);
604
+ for (const d of missingPeer) {
605
+ console.error(` [SHADOW] ${d.message}`);
606
+ }
607
+ return { errors: 0, warnings: missingPeer.length };
608
+ }
609
+ if (crashed.length > 0) {
610
+ console.error(`\n${file}:`);
611
+ for (const d of crashed) {
612
+ console.error(` [SHADOW] ${d.message}`);
613
+ }
614
+ return { errors: 0, warnings: crashed.length };
615
+ }
616
+ if (tsErrors.length > 0) {
617
+ console.error(`\n${file}:`);
618
+ for (const d of tsErrors) {
619
+ const loc = d.line ? `${d.line}:${d.col ?? 1}` : '?';
620
+ const code = d.tsCode ? ` TS${d.tsCode}` : '';
621
+ console.error(` [SHADOW${code}] ${loc} ${d.message}`);
622
+ }
623
+ }
624
+ if (unsupported.length > 0) {
625
+ // Unsupported contexts are informational, not failures.
626
+ for (const d of unsupported) {
627
+ const loc = d.line ? `${d.line}:${d.col ?? 1}` : '?';
628
+ console.error(` [SHADOW-SKIP] ${loc} ${d.message}`);
629
+ }
630
+ }
631
+ return { errors: tsErrors.length, warnings: unsupported.length };
632
+ }
486
633
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kernlang/cli",
3
- "version": "3.2.3",
3
+ "version": "3.3.4",
4
4
  "description": "KERN CLI — transpile, compile, minify, and analyze .kern files",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -28,18 +28,19 @@
28
28
  "dependencies": {
29
29
  "chokidar": "^5.0.0",
30
30
  "jiti": "^2.6.1",
31
- "@kernlang/core": "3.2.3",
32
- "@kernlang/express": "3.2.3",
33
- "@kernlang/fastapi": "3.2.3",
34
- "@kernlang/evolve": "3.2.3",
35
- "@kernlang/mcp": "3.2.3",
36
- "@kernlang/metrics": "3.2.3",
37
- "@kernlang/native": "3.2.3",
38
- "@kernlang/react": "3.2.3",
39
- "@kernlang/review-mcp": "3.2.3",
40
- "@kernlang/review": "3.2.3",
41
- "@kernlang/terminal": "3.2.3",
42
- "@kernlang/vue": "3.2.3"
31
+ "@kernlang/codemod": "3.3.4",
32
+ "@kernlang/express": "3.3.4",
33
+ "@kernlang/fastapi": "3.3.4",
34
+ "@kernlang/mcp": "3.3.4",
35
+ "@kernlang/evolve": "3.3.4",
36
+ "@kernlang/core": "3.3.4",
37
+ "@kernlang/native": "3.3.4",
38
+ "@kernlang/metrics": "3.3.4",
39
+ "@kernlang/react": "3.3.4",
40
+ "@kernlang/review": "3.3.4",
41
+ "@kernlang/terminal": "3.3.4",
42
+ "@kernlang/vue": "3.3.4",
43
+ "@kernlang/review-mcp": "3.3.4"
43
44
  },
44
45
  "scripts": {
45
46
  "build": "tsc -b",