@kernlang/review 3.1.6 → 3.1.8

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 (150) hide show
  1. package/dist/cache.d.ts +1 -1
  2. package/dist/cache.js +5 -3
  3. package/dist/cache.js.map +1 -1
  4. package/dist/call-graph.d.ts +63 -0
  5. package/dist/call-graph.js +380 -0
  6. package/dist/call-graph.js.map +1 -0
  7. package/dist/concept-rules/boundary-mutation.d.ts +1 -1
  8. package/dist/concept-rules/boundary-mutation.js.map +1 -1
  9. package/dist/concept-rules/ignored-error.d.ts +1 -1
  10. package/dist/concept-rules/ignored-error.js.map +1 -1
  11. package/dist/concept-rules/illegal-dependency.d.ts +1 -1
  12. package/dist/concept-rules/illegal-dependency.js.map +1 -1
  13. package/dist/concept-rules/index.js +1 -6
  14. package/dist/concept-rules/index.js.map +1 -1
  15. package/dist/concept-rules/unguarded-effect.d.ts +1 -1
  16. package/dist/concept-rules/unguarded-effect.js.map +1 -1
  17. package/dist/concept-rules/unrecovered-effect.d.ts +1 -1
  18. package/dist/concept-rules/unrecovered-effect.js +2 -1
  19. package/dist/concept-rules/unrecovered-effect.js.map +1 -1
  20. package/dist/confidence.js +12 -8
  21. package/dist/confidence.js.map +1 -1
  22. package/dist/differ.js +3 -7
  23. package/dist/differ.js.map +1 -1
  24. package/dist/external-tools.js +5 -6
  25. package/dist/external-tools.js.map +1 -1
  26. package/dist/file-context.d.ts +21 -0
  27. package/dist/file-context.js +234 -0
  28. package/dist/file-context.js.map +1 -0
  29. package/dist/file-role.js +14 -7
  30. package/dist/file-role.js.map +1 -1
  31. package/dist/graph.d.ts +1 -1
  32. package/dist/graph.js +24 -16
  33. package/dist/graph.js.map +1 -1
  34. package/dist/index.d.ts +44 -35
  35. package/dist/index.js +210 -121
  36. package/dist/index.js.map +1 -1
  37. package/dist/inferrer.d.ts +8 -2
  38. package/dist/inferrer.js +80 -47
  39. package/dist/inferrer.js.map +1 -1
  40. package/dist/kern-lint.d.ts +3 -4
  41. package/dist/kern-lint.js +7 -5
  42. package/dist/kern-lint.js.map +1 -1
  43. package/dist/llm-bridge.d.ts +23 -7
  44. package/dist/llm-bridge.js +267 -31
  45. package/dist/llm-bridge.js.map +1 -1
  46. package/dist/llm-review.d.ts +16 -2
  47. package/dist/llm-review.js +240 -35
  48. package/dist/llm-review.js.map +1 -1
  49. package/dist/mappers/ts-concepts.d.ts +1 -1
  50. package/dist/mappers/ts-concepts.js +303 -32
  51. package/dist/mappers/ts-concepts.js.map +1 -1
  52. package/dist/norm-miner.d.ts +31 -0
  53. package/dist/norm-miner.js +119 -0
  54. package/dist/norm-miner.js.map +1 -0
  55. package/dist/obligations.d.ts +63 -0
  56. package/dist/obligations.js +158 -0
  57. package/dist/obligations.js.map +1 -0
  58. package/dist/quality-rules.d.ts +3 -3
  59. package/dist/quality-rules.js +4 -2
  60. package/dist/quality-rules.js.map +1 -1
  61. package/dist/reporter.d.ts +7 -2
  62. package/dist/reporter.js +82 -51
  63. package/dist/reporter.js.map +1 -1
  64. package/dist/rule-eval.d.ts +1 -2
  65. package/dist/rule-eval.js +5 -9
  66. package/dist/rule-eval.js.map +1 -1
  67. package/dist/rule-loader.js +16 -14
  68. package/dist/rule-loader.js.map +1 -1
  69. package/dist/rules/base.js +153 -69
  70. package/dist/rules/base.js.map +1 -1
  71. package/dist/rules/cli.js +23 -19
  72. package/dist/rules/cli.js.map +1 -1
  73. package/dist/rules/confidence.d.ts +1 -1
  74. package/dist/rules/confidence.js +5 -5
  75. package/dist/rules/confidence.js.map +1 -1
  76. package/dist/rules/dead-code.d.ts +10 -0
  77. package/dist/rules/dead-code.js +75 -0
  78. package/dist/rules/dead-code.js.map +1 -0
  79. package/dist/rules/dead-logic.js +35 -31
  80. package/dist/rules/dead-logic.js.map +1 -1
  81. package/dist/rules/express.d.ts +2 -1
  82. package/dist/rules/express.js +380 -126
  83. package/dist/rules/express.js.map +1 -1
  84. package/dist/rules/fastapi.js +53 -19
  85. package/dist/rules/fastapi.js.map +1 -1
  86. package/dist/rules/ground-layer.js +3 -3
  87. package/dist/rules/ground-layer.js.map +1 -1
  88. package/dist/rules/index.js +574 -105
  89. package/dist/rules/index.js.map +1 -1
  90. package/dist/rules/ink.js +9 -8
  91. package/dist/rules/ink.js.map +1 -1
  92. package/dist/rules/kern-source.js +202 -63
  93. package/dist/rules/kern-source.js.map +1 -1
  94. package/dist/rules/nextjs.js +88 -33
  95. package/dist/rules/nextjs.js.map +1 -1
  96. package/dist/rules/null-safety.js +52 -26
  97. package/dist/rules/null-safety.js.map +1 -1
  98. package/dist/rules/nuxt.js +24 -29
  99. package/dist/rules/nuxt.js.map +1 -1
  100. package/dist/rules/react.js +355 -69
  101. package/dist/rules/react.js.map +1 -1
  102. package/dist/rules/security-v2.js +71 -57
  103. package/dist/rules/security-v2.js.map +1 -1
  104. package/dist/rules/security-v3.js.map +1 -1
  105. package/dist/rules/security-v4.js +54 -27
  106. package/dist/rules/security-v4.js.map +1 -1
  107. package/dist/rules/security.js +35 -5
  108. package/dist/rules/security.js.map +1 -1
  109. package/dist/rules/terminal.js +17 -5
  110. package/dist/rules/terminal.js.map +1 -1
  111. package/dist/rules/vue.js +162 -107
  112. package/dist/rules/vue.js.map +1 -1
  113. package/dist/semantic-diff.d.ts +52 -0
  114. package/dist/semantic-diff.js +342 -0
  115. package/dist/semantic-diff.js.map +1 -0
  116. package/dist/spec-checker.js +11 -10
  117. package/dist/spec-checker.js.map +1 -1
  118. package/dist/suppression/apply-suppression.d.ts +2 -3
  119. package/dist/suppression/apply-suppression.js +3 -3
  120. package/dist/suppression/apply-suppression.js.map +1 -1
  121. package/dist/suppression/index.d.ts +2 -2
  122. package/dist/suppression/index.js +1 -1
  123. package/dist/suppression/index.js.map +1 -1
  124. package/dist/suppression/parse-directives.d.ts +1 -1
  125. package/dist/suppression/parse-directives.js +9 -4
  126. package/dist/suppression/parse-directives.js.map +1 -1
  127. package/dist/taint-ast.d.ts +20 -0
  128. package/dist/taint-ast.js +427 -0
  129. package/dist/taint-ast.js.map +1 -0
  130. package/dist/taint-crossfile.d.ts +28 -0
  131. package/dist/taint-crossfile.js +174 -0
  132. package/dist/taint-crossfile.js.map +1 -0
  133. package/dist/taint-findings.d.ts +17 -0
  134. package/dist/taint-findings.js +131 -0
  135. package/dist/taint-findings.js.map +1 -0
  136. package/dist/taint-regex.d.ts +61 -0
  137. package/dist/taint-regex.js +379 -0
  138. package/dist/taint-regex.js.map +1 -0
  139. package/dist/taint-types.d.ts +128 -0
  140. package/dist/taint-types.js +174 -0
  141. package/dist/taint-types.js.map +1 -0
  142. package/dist/taint.d.ts +13 -107
  143. package/dist/taint.js +16 -1067
  144. package/dist/taint.js.map +1 -1
  145. package/dist/template-detector.d.ts +2 -2
  146. package/dist/template-detector.js +11 -16
  147. package/dist/template-detector.js.map +1 -1
  148. package/dist/types.d.ts +35 -0
  149. package/dist/types.js.map +1 -1
  150. package/package.json +2 -2
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,15 @@
6
6
  *
7
7
  * v2: Adds stable nodeId, promptAlias, sourceSpans to InferResult.
8
8
  */
9
- import { Project, SourceFile } from 'ts-morph';
9
+ import { Project, type SourceFile } from 'ts-morph';
10
10
  import type { InferResult } from './types.js';
11
- export declare function createProject(): Project;
11
+ /**
12
+ * Create a ts-morph Project for analysis.
13
+ * If startPath is provided, finds the nearest tsconfig.json and uses it
14
+ * for module resolution (paths, references, moduleResolution). This fixes
15
+ * false "Cannot find module" errors in monorepo packages.
16
+ */
17
+ export declare function createProject(startPath?: string): Project;
12
18
  export declare function createInMemoryProject(): Project;
13
19
  export declare function inferFromSource(source: string, filePath?: string): InferResult[];
14
20
  export declare function inferFromFile(filePath: string): InferResult[];
package/dist/inferrer.js CHANGED
@@ -6,10 +6,43 @@
6
6
  *
7
7
  * v2: Adds stable nodeId, promptAlias, sourceSpans to InferResult.
8
8
  */
9
- import { Project, SyntaxKind, } from 'ts-morph';
10
9
  import { countTokens } from '@kernlang/core';
10
+ import { Project, SyntaxKind } from 'ts-morph';
11
11
  // ── Create Project ───────────────────────────────────────────────────────
12
- export function createProject() {
12
+ import { existsSync } from 'fs';
13
+ import { dirname, resolve } from 'path';
14
+ /**
15
+ * Walk up from a directory to find the nearest tsconfig.json.
16
+ * Returns the path or undefined if not found.
17
+ */
18
+ function findTsConfig(startDir) {
19
+ let dir = startDir;
20
+ for (let i = 0; i < 20; i++) {
21
+ const candidate = resolve(dir, 'tsconfig.json');
22
+ if (existsSync(candidate))
23
+ return candidate;
24
+ const parent = dirname(dir);
25
+ if (parent === dir)
26
+ break;
27
+ dir = parent;
28
+ }
29
+ return undefined;
30
+ }
31
+ /**
32
+ * Create a ts-morph Project for analysis.
33
+ * If startPath is provided, finds the nearest tsconfig.json and uses it
34
+ * for module resolution (paths, references, moduleResolution). This fixes
35
+ * false "Cannot find module" errors in monorepo packages.
36
+ */
37
+ export function createProject(startPath) {
38
+ const tsConfigFilePath = startPath ? findTsConfig(dirname(startPath)) : undefined;
39
+ if (tsConfigFilePath) {
40
+ return new Project({
41
+ tsConfigFilePath,
42
+ skipAddingFilesFromTsConfig: true, // Only load files we explicitly add
43
+ });
44
+ }
45
+ // Fallback: no tsconfig found — use strict defaults
13
46
  return new Project({
14
47
  compilerOptions: { strict: true, target: 99 /* Latest */ },
15
48
  useInMemoryFileSystem: false,
@@ -30,7 +63,7 @@ export function inferFromSource(source, filePath = 'input.ts') {
30
63
  return inferFromSourceFile(sourceFile);
31
64
  }
32
65
  export function inferFromFile(filePath) {
33
- const project = createProject();
66
+ const project = createProject(filePath);
34
67
  const sourceFile = project.addSourceFileAtPath(filePath);
35
68
  return inferFromSourceFile(sourceFile);
36
69
  }
@@ -100,7 +133,7 @@ function serializeKernNode(node) {
100
133
  }
101
134
  if (node.children) {
102
135
  for (const child of node.children) {
103
- parts.push(' ' + serializeKernNode(child));
136
+ parts.push(` ${serializeKernNode(child)}`);
104
137
  }
105
138
  }
106
139
  return parts.join(' ');
@@ -121,12 +154,15 @@ function inferTypes(sourceFile) {
121
154
  const endOffset = decl.getEnd();
122
155
  // Union of string literals → type name=X values="a|b|c"
123
156
  if (typeNode.getKind() === SyntaxKind.UnionType) {
124
- const unionMembers = text.split('|').map(s => s.trim());
125
- const allLiterals = unionMembers.every(m => m.startsWith("'") || m.startsWith('"'));
157
+ const unionMembers = text.split('|').map((s) => s.trim());
158
+ const allLiterals = unionMembers.every((m) => m.startsWith("'") || m.startsWith('"'));
126
159
  if (allLiterals) {
127
- const values = unionMembers.map(m => m.replace(/['"]/g, '')).join('|');
160
+ const values = unionMembers.map((m) => m.replace(/['"]/g, '')).join('|');
128
161
  const node = { type: 'type', props: { name, values } };
129
- results.push(makeResult(node, sourceFile, startOffset, endOffset, startLine, endLine, `type ${name} = ${values.split('|').map(v => `'${v}'`).join(' | ')}`, 'high', 98, originalText));
162
+ results.push(makeResult(node, sourceFile, startOffset, endOffset, startLine, endLine, `type ${name} = ${values
163
+ .split('|')
164
+ .map((v) => `'${v}'`)
165
+ .join(' | ')}`, 'high', 98, originalText));
130
166
  }
131
167
  else {
132
168
  // Type alias union (non-literal)
@@ -152,7 +188,10 @@ function inferInterfaces(sourceFile) {
152
188
  const originalText = decl.getText();
153
189
  const startOffset = decl.getStart();
154
190
  const endOffset = decl.getEnd();
155
- const extendsClause = decl.getExtends().map(e => e.getText()).join(', ') || undefined;
191
+ const extendsClause = decl
192
+ .getExtends()
193
+ .map((e) => e.getText())
194
+ .join(', ') || undefined;
156
195
  const children = [];
157
196
  for (const prop of decl.getProperties()) {
158
197
  const fieldName = prop.getName();
@@ -207,7 +246,7 @@ function inferFunctions(sourceFile) {
207
246
  const className = cls.getName() ?? 'AnonymousClass';
208
247
  // Skip Error subclasses — handled by inferErrors
209
248
  const extendsExpr = cls.getExtends();
210
- if (extendsExpr && extendsExpr.getText().includes('Error'))
249
+ if (extendsExpr?.getText().includes('Error'))
211
250
  continue;
212
251
  for (const method of cls.getMethods()) {
213
252
  if (method.isAbstract())
@@ -219,8 +258,9 @@ function inferFunctions(sourceFile) {
219
258
  }
220
259
  /** Shared helper to emit an fn IR node from any function-like AST node. */
221
260
  function pushFnResult(results, sourceFile, anchor, fn, name, isExported) {
222
- const params = fn.getParameters()
223
- .map(p => `${p.getName()}:${p.getType().getText(p)}`)
261
+ const params = fn
262
+ .getParameters()
263
+ .map((p) => `${p.getName()}:${p.getType().getText(p)}`)
224
264
  .join(',');
225
265
  const returnType = fn.getReturnType().getText(fn);
226
266
  const isAsync = fn.isAsync();
@@ -300,7 +340,7 @@ function inferImports(sourceFile) {
300
340
  const startOffset = decl.getStart();
301
341
  const endOffset = decl.getEnd();
302
342
  const defaultImport = decl.getDefaultImport()?.getText();
303
- const namedImports = decl.getNamedImports().map(n => n.getName());
343
+ const namedImports = decl.getNamedImports().map((n) => n.getName());
304
344
  const isTypeOnly = decl.isTypeOnly();
305
345
  const props = { from };
306
346
  if (defaultImport)
@@ -330,10 +370,11 @@ function inferConsts(sourceFile) {
330
370
  const typeName = typeNode?.getText();
331
371
  const initializer = decl.getInitializer()?.getText();
332
372
  // Skip if it's a function expression or arrow function
333
- if (initializer && (initializer.startsWith('(') ||
334
- initializer.startsWith('function') ||
335
- initializer.startsWith('async') ||
336
- initializer.includes('=>'))) {
373
+ if (initializer &&
374
+ (initializer.startsWith('(') ||
375
+ initializer.startsWith('function') ||
376
+ initializer.startsWith('async') ||
377
+ initializer.includes('=>'))) {
337
378
  continue;
338
379
  }
339
380
  const props = { name };
@@ -344,7 +385,7 @@ function inferConsts(sourceFile) {
344
385
  if (!isExported)
345
386
  props.export = 'false';
346
387
  const node = { type: 'const', props };
347
- results.push(makeResult(node, sourceFile, startOffset, endOffset, startLine, endLine, `const ${name}${typeName ? ': ' + typeName : ''} = ${initializer || '...'}`, 'high', 90, originalText));
388
+ results.push(makeResult(node, sourceFile, startOffset, endOffset, startLine, endLine, `const ${name}${typeName ? `: ${typeName}` : ''} = ${initializer || '...'}`, 'high', 90, originalText));
348
389
  }
349
390
  }
350
391
  return results;
@@ -361,13 +402,17 @@ function inferExports(sourceFile) {
361
402
  const endOffset = decl.getEnd();
362
403
  const text = decl.getText();
363
404
  const specifier = decl.getModuleSpecifierValue();
364
- const namedExports = decl.getNamedExports().map(e => e.getName());
405
+ const namedExports = decl.getNamedExports().map((e) => e.getName());
365
406
  const isTypeOnly = decl.isTypeOnly();
366
407
  const node = {
367
408
  type: 'export',
368
409
  props: {
369
410
  ...(specifier ? { from: specifier } : {}),
370
- ...(namedExports.length > 0 ? (isTypeOnly ? { types: namedExports.join(',') } : { names: namedExports.join(',') }) : {}),
411
+ ...(namedExports.length > 0
412
+ ? isTypeOnly
413
+ ? { types: namedExports.join(',') }
414
+ : { names: namedExports.join(',') }
415
+ : {}),
371
416
  ...(!specifier && namedExports.length === 0 ? { star: 'true' } : {}),
372
417
  },
373
418
  };
@@ -419,7 +464,7 @@ function inferMachines(sourceFile, existing) {
419
464
  const results = [];
420
465
  const filePath = sourceFile.getFilePath() || 'input.ts';
421
466
  // Look for *State type aliases that are string literal unions
422
- const stateTypes = existing.filter(r => r.node.type === 'type' &&
467
+ const stateTypes = existing.filter((r) => r.node.type === 'type' &&
423
468
  r.node.props?.name &&
424
469
  r.node.props.name.endsWith('State') &&
425
470
  r.node.props.values);
@@ -428,17 +473,14 @@ function inferMachines(sourceFile, existing) {
428
473
  const baseName = stateName.replace(/State$/, '');
429
474
  const values = stateResult.node.props.values.split('|');
430
475
  // Check for matching XStateError class
431
- const errorResult = existing.find(r => r.node.type === 'error' &&
432
- r.node.props?.name === `${baseName}StateError`);
476
+ const errorResult = existing.find((r) => r.node.type === 'error' && r.node.props?.name === `${baseName}StateError`);
433
477
  // Check for transition functions matching the pattern: verbBaseName
434
- const transitionFns = existing.filter(r => r.node.type === 'fn' &&
435
- r.node.props?.name &&
436
- r.node.props.name.endsWith(baseName));
478
+ const transitionFns = existing.filter((r) => r.node.type === 'fn' && r.node.props?.name && r.node.props.name.endsWith(baseName));
437
479
  // Need at least the state type + 1 transition OR state type + error
438
480
  if (!errorResult && transitionFns.length === 0)
439
481
  continue;
440
482
  const startLine = stateResult.startLine;
441
- const endLine = Math.max(errorResult?.endLine || startLine, ...transitionFns.map(f => f.endLine));
483
+ const endLine = Math.max(errorResult?.endLine || startLine, ...transitionFns.map((f) => f.endLine));
442
484
  // Build machine node
443
485
  const children = [];
444
486
  // States
@@ -461,7 +503,7 @@ function inferMachines(sourceFile, existing) {
461
503
  }
462
504
  const allOriginalText = [stateResult, errorResult, ...transitionFns]
463
505
  .filter(Boolean)
464
- .map(r => r.tsTokens)
506
+ .map((r) => r.tsTokens)
465
507
  .reduce((a, b) => a + b, 0);
466
508
  const node = {
467
509
  type: 'machine',
@@ -472,7 +514,7 @@ function inferMachines(sourceFile, existing) {
472
514
  const componentSpans = [
473
515
  ...stateResult.sourceSpans,
474
516
  ...(errorResult?.sourceSpans || []),
475
- ...transitionFns.flatMap(fn => fn.sourceSpans),
517
+ ...transitionFns.flatMap((fn) => fn.sourceSpans),
476
518
  ];
477
519
  const confidence = errorResult && transitionFns.length > 0 ? 90 : 75;
478
520
  results.push({
@@ -496,14 +538,12 @@ function inferMachines(sourceFile, existing) {
496
538
  function inferConfigs(sourceFile, existing) {
497
539
  const results = [];
498
540
  const filePath = sourceFile.getFilePath() || 'input.ts';
499
- const configInterfaces = existing.filter(r => r.node.type === 'interface' &&
500
- r.node.props?.name &&
501
- r.node.props.name.endsWith('Config'));
541
+ const configInterfaces = existing.filter((r) => r.node.type === 'interface' && r.node.props?.name && r.node.props.name.endsWith('Config'));
502
542
  for (const ifaceResult of configInterfaces) {
503
543
  const name = ifaceResult.node.props.name;
504
544
  // Look for DEFAULT_X_CONFIG or DEFAULT_XCONFIG or defaultXConfig
505
545
  const upperName = name.replace(/([a-z])([A-Z])/g, '$1_$2').toUpperCase();
506
- const defaultConst = existing.find(r => r.node.type === 'const' &&
546
+ const defaultConst = existing.find((r) => r.node.type === 'const' &&
507
547
  r.node.props?.name &&
508
548
  (r.node.props.name === `DEFAULT_${upperName}` ||
509
549
  r.node.props.name.toUpperCase().includes(upperName)));
@@ -512,7 +552,7 @@ function inferConfigs(sourceFile, existing) {
512
552
  const startLine = Math.min(ifaceResult.startLine, defaultConst.startLine);
513
553
  const endLine = Math.max(ifaceResult.endLine, defaultConst.endLine);
514
554
  // Build config node from interface fields
515
- const children = (ifaceResult.node.children || []).map(field => {
555
+ const children = (ifaceResult.node.children || []).map((field) => {
516
556
  return { ...field };
517
557
  });
518
558
  const node = {
@@ -520,10 +560,7 @@ function inferConfigs(sourceFile, existing) {
520
560
  props: { name },
521
561
  children,
522
562
  };
523
- const componentSpans = [
524
- ...ifaceResult.sourceSpans,
525
- ...defaultConst.sourceSpans,
526
- ];
563
+ const componentSpans = [...ifaceResult.sourceSpans, ...defaultConst.sourceSpans];
527
564
  results.push({
528
565
  node,
529
566
  nodeId: `${filePath}#config:${name}@L${startLine}`,
@@ -546,7 +583,7 @@ function inferEvents(sourceFile, existing) {
546
583
  const results = [];
547
584
  const filePath = sourceFile.getFilePath() || 'input.ts';
548
585
  // Find *EventType type aliases
549
- const eventTypes = existing.filter(r => r.node.type === 'type' &&
586
+ const eventTypes = existing.filter((r) => r.node.type === 'type' &&
550
587
  r.node.props?.name &&
551
588
  r.node.props.name.endsWith('EventType') &&
552
589
  r.node.props.values);
@@ -554,17 +591,15 @@ function inferEvents(sourceFile, existing) {
554
591
  const typeName = eventTypeResult.node.props.name;
555
592
  const baseName = typeName.replace(/Type$/, '');
556
593
  // Look for matching XEvent interface
557
- const eventInterface = existing.find(r => r.node.type === 'interface' &&
558
- r.node.props?.name === baseName);
594
+ const eventInterface = existing.find((r) => r.node.type === 'interface' && r.node.props?.name === baseName);
559
595
  // Look for matching XEventMap interface
560
- const eventMap = existing.find(r => r.node.type === 'interface' &&
561
- r.node.props?.name === `${baseName}Map`);
596
+ const eventMap = existing.find((r) => r.node.type === 'interface' && r.node.props?.name === `${baseName}Map`);
562
597
  if (!eventInterface)
563
598
  continue;
564
599
  const startLine = Math.min(eventTypeResult.startLine, eventInterface.startLine);
565
600
  const endLine = Math.max(eventTypeResult.endLine, eventInterface.endLine, eventMap?.endLine || 0);
566
601
  const values = eventTypeResult.node.props.values.split('|');
567
- const children = values.map(v => ({
602
+ const children = values.map((v) => ({
568
603
  type: 'type',
569
604
  props: { name: v, value: v },
570
605
  }));
@@ -578,9 +613,7 @@ function inferEvents(sourceFile, existing) {
578
613
  ...eventInterface.sourceSpans,
579
614
  ...(eventMap?.sourceSpans || []),
580
615
  ];
581
- const totalTokens = eventTypeResult.tsTokens +
582
- eventInterface.tsTokens +
583
- (eventMap?.tsTokens || 0);
616
+ const totalTokens = eventTypeResult.tsTokens + eventInterface.tsTokens + (eventMap?.tsTokens || 0);
584
617
  results.push({
585
618
  node,
586
619
  nodeId: `${filePath}#event:${baseName}@L${startLine}`,
@@ -1 +1 @@
1
- {"version":3,"file":"inferrer.js","sourceRoot":"","sources":["../src/inferrer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inferrer.js","sourceRoot":"","sources":["../src/inferrer.ts"],"names":[],"mappings":"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"}
@@ -5,14 +5,13 @@
5
5
  * Ground-layer rules need to inspect KERN nodes before compilation.
6
6
  * Supports both TypeScript rule functions and native .kern rule files.
7
7
  */
8
- import type { IRNode } from '@kernlang/core';
9
- import type { ConceptMap } from '@kernlang/core';
8
+ import type { ConceptMap, IRNode } from '@kernlang/core';
10
9
  import type { ReviewFinding } from './types.js';
11
10
  export type KernLintRule = ((nodes: IRNode[], concepts?: ConceptMap) => ReviewFinding[]) & {
12
11
  ruleId?: string;
13
12
  };
14
- export { loadNativeRules, loadBuiltinNativeRules } from './rule-loader.js';
15
- export { buildRuleIndex, evaluateRule, conceptNodeToIR } from './rule-eval.js';
13
+ export { buildRuleIndex, conceptNodeToIR, evaluateRule } from './rule-eval.js';
14
+ export { loadBuiltinNativeRules, loadNativeRules } from './rule-loader.js';
16
15
  /**
17
16
  * Run KERN-IR lint rules against a list of IR nodes.
18
17
  * When concepts are provided, native rules with `subject=concept` can match concept nodes.
package/dist/kern-lint.js CHANGED
@@ -5,20 +5,21 @@
5
5
  * Ground-layer rules need to inspect KERN nodes before compilation.
6
6
  * Supports both TypeScript rule functions and native .kern rule files.
7
7
  */
8
+ export { buildRuleIndex, conceptNodeToIR, evaluateRule } from './rule-eval.js';
8
9
  // Re-export for consumers
9
- export { loadNativeRules, loadBuiltinNativeRules } from './rule-loader.js';
10
- export { buildRuleIndex, evaluateRule, conceptNodeToIR } from './rule-eval.js';
10
+ export { loadBuiltinNativeRules, loadNativeRules } from './rule-loader.js';
11
11
  /**
12
12
  * Run KERN-IR lint rules against a list of IR nodes.
13
13
  * When concepts are provided, native rules with `subject=concept` can match concept nodes.
14
14
  */
15
15
  export function lintKernIR(nodes, rules, concepts) {
16
- return rules.flatMap(rule => {
16
+ return rules.flatMap((rule) => {
17
17
  try {
18
18
  return rule(nodes, concepts);
19
19
  }
20
20
  catch (err) {
21
- return [{
21
+ return [
22
+ {
22
23
  source: 'kern',
23
24
  ruleId: 'internal-rule-error',
24
25
  severity: 'info',
@@ -26,7 +27,8 @@ export function lintKernIR(nodes, rules, concepts) {
26
27
  message: `Rule threw: ${err.message}`,
27
28
  primarySpan: { file: 'unknown', startLine: 0, startCol: 0, endLine: 0, endCol: 0 },
28
29
  fingerprint: `rule-error-${err.message.slice(0, 20)}`,
29
- }];
30
+ },
31
+ ];
30
32
  }
31
33
  });
32
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"kern-lint.js","sourceRoot":"","sources":["../src/kern-lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,0BAA0B;AAC1B,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/E;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAe,EAAE,KAAqB,EAAE,QAAqB;IACtF,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC1B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC;oBACN,MAAM,EAAE,MAAe;oBACvB,MAAM,EAAE,qBAAqB;oBAC7B,QAAQ,EAAE,MAAe;oBACzB,QAAQ,EAAE,WAAoB;oBAC9B,OAAO,EAAE,eAAgB,GAAa,CAAC,OAAO,EAAE;oBAChD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;oBAClF,WAAW,EAAE,cAAe,GAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;iBACjE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,MAAM,GAAa,CAAC,IAAI,CAAC,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"kern-lint.js","sourceRoot":"","sources":["../src/kern-lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/E,0BAA0B;AAC1B,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE3E;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAe,EAAE,KAAqB,EAAE,QAAqB;IACtF,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL;oBACE,MAAM,EAAE,MAAe;oBACvB,MAAM,EAAE,qBAAqB;oBAC7B,QAAQ,EAAE,MAAe;oBACzB,QAAQ,EAAE,WAAoB;oBAC9B,OAAO,EAAE,eAAgB,GAAa,CAAC,OAAO,EAAE;oBAChD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;oBAClF,WAAW,EAAE,cAAe,GAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;iBACjE;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,MAAM,GAAa,CAAC,IAAI,CAAC,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}