@kernlang/review 3.4.5 → 3.4.6-canary.36.1.5fe03ecd

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.
@@ -37,6 +37,7 @@ import { securityV4Rules } from './security-v4.js';
37
37
  import { securityV5Rules } from './security-v5.js';
38
38
  import { suggestKernPrimitiveRules } from './suggest-kern-primitive.js';
39
39
  import { terminalRules } from './terminal.js';
40
+ import { testQualityRules } from './test-quality.js';
40
41
  import { vueRules } from './vue.js';
41
42
  const REACT_TARGETS = new Set(['nextjs', 'tailwind', 'web', 'native', 'ink']);
42
43
  const VUE_TARGETS = new Set(['vue', 'nuxt']);
@@ -58,6 +59,7 @@ export function getActiveRules(target) {
58
59
  ...nullSafetyRules,
59
60
  ...asyncRules,
60
61
  ...suggestKernPrimitiveRules,
62
+ ...testQualityRules,
61
63
  ];
62
64
  // Backend targets never load frontend-specific rules
63
65
  const isBackend = target ? BACKEND_TARGETS.has(target) : false;
@@ -562,6 +564,23 @@ const REGISTRY = [
562
564
  precision: 'high',
563
565
  rolloutPhase: 2,
564
566
  },
567
+ // Test-quality — phantom assertions and empty test files
568
+ {
569
+ id: 'expect-no-matcher',
570
+ layer: 'test-quality',
571
+ severity: 'error',
572
+ description: '`expect(x);` with no matcher chained — the assertion is a no-op and silently passes',
573
+ precision: 'high',
574
+ rolloutPhase: 5,
575
+ },
576
+ {
577
+ id: 'empty-test-file',
578
+ layer: 'test-quality',
579
+ severity: 'warning',
580
+ description: 'Test file (.test/.spec) with no `it()` / `test()` calls — likely a stub left behind after a refactor',
581
+ precision: 'high',
582
+ rolloutPhase: 5,
583
+ },
565
584
  // React composition — Wave 4 (children-as-perf, prop drilling)
566
585
  {
567
586
  id: 'children-not-used',
@@ -956,10 +975,18 @@ const REGISTRY = [
956
975
  id: 'server-api-in-client',
957
976
  layer: 'nextjs-app-router',
958
977
  severity: 'error',
959
- description: 'next/headers (cookies/headers/draftMode) or server-only imported in a Client Component',
978
+ description: 'next/headers (cookies/headers/draftMode), server-only, or Node fs imported in a Client Component',
960
979
  precision: 'high',
961
980
  rolloutPhase: 1,
962
981
  },
982
+ {
983
+ id: 'env-var-leak-to-client',
984
+ layer: 'nextjs-app-router',
985
+ severity: 'error',
986
+ description: 'process.env.<NAME> referenced in a Client Component without NEXT_PUBLIC_ prefix — value is undefined in the browser bundle',
987
+ precision: 'high',
988
+ rolloutPhase: 5,
989
+ },
963
990
  {
964
991
  id: 'browser-api-in-server',
965
992
  layer: 'nextjs-app-router',
@@ -1245,6 +1272,7 @@ const LAYER_TARGET_MAP = {
1245
1272
  'dead-logic': null,
1246
1273
  'null-safety': null,
1247
1274
  async: null,
1275
+ 'test-quality': null,
1248
1276
  concept: null,
1249
1277
  react: ['nextjs', 'tailwind', 'web', 'native', 'ink'],
1250
1278
  'react-hooks': ['nextjs', 'tailwind', 'web', 'native', 'ink'],
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"}
@@ -776,18 +776,44 @@ function useClientDrilledTooHigh(ctx) {
776
776
  // - server-only (explicit guard package)
777
777
  // These will fail at build or runtime.
778
778
  const SERVER_API_CALLS = new Set(['cookies', 'headers', 'draftMode']);
779
+ /** Node built-ins that have no business running in a Client Component bundle.
780
+ * Limited to file/process modules that the bundler cannot polyfill safely.
781
+ * Excludes neutral-by-default modules (`crypto`, `stream`, `path`) that are
782
+ * routinely browser-polyfilled and would generate false positives. */
783
+ const SERVER_ONLY_NODE_MODULES = new Set(['fs', 'node:fs', 'fs/promises', 'node:fs/promises']);
784
+ /** True when an import is fully erased at compile time:
785
+ * `import type X from 'm'` (declaration-level type-only), OR every named specifier
786
+ * uses the `type` modifier `import { type X, type Y } from 'm'`, AND there is no
787
+ * default-import/namespace-import (those carry runtime references). */
788
+ function isFullyTypeOnlyImport(imp) {
789
+ if (imp.isTypeOnly())
790
+ return true;
791
+ if (imp.getDefaultImport() || imp.getNamespaceImport())
792
+ return false;
793
+ const named = imp.getNamedImports();
794
+ if (named.length === 0)
795
+ return false; // bare `import 'm'` — runs at runtime
796
+ return named.every((n) => n.isTypeOnly());
797
+ }
779
798
  function serverApiInClient(ctx) {
780
799
  if (ctx.fileRole !== 'runtime')
781
800
  return [];
782
801
  const fullText = ctx.sourceFile.getFullText();
802
+ // 'use server' files are server actions/functions — they legitimately use
803
+ // server-only APIs and fs. Skip them even when imported by a Client Component
804
+ // (the file-context propagation could otherwise mark them as client-bound).
805
+ if (hasServerDirective(fullText))
806
+ return [];
783
807
  const isClient = isClientBoundary(ctx, fullText);
784
808
  if (!isClient)
785
809
  return [];
786
810
  const findings = [];
787
- // Import check: `from 'next/headers'` or `from 'server-only'`
811
+ // Import check: `from 'next/headers'` / `from 'server-only'` / Node fs modules
788
812
  for (const imp of ctx.sourceFile.getImportDeclarations()) {
789
813
  const mod = imp.getModuleSpecifierValue();
790
- if (mod === 'next/headers' || mod === 'server-only') {
814
+ if (isFullyTypeOnlyImport(imp))
815
+ continue; // erased at compile time
816
+ if (mod === 'next/headers' || mod === 'server-only' || SERVER_ONLY_NODE_MODULES.has(mod)) {
791
817
  const hit = finding('server-api-in-client', 'error', 'bug', `Client Component imports '${mod}' — this will fail at build time. Server-only APIs cannot run in a client boundary.`, ctx.filePath, imp.getStartLineNumber(), 1, {
792
818
  suggestion: `Move this logic to a Server Component or a server action, or drop the 'use client' directive if this file does not need it`,
793
819
  });
@@ -861,6 +887,24 @@ function serverApiInClient(ctx) {
861
887
  };
862
888
  findings.push(hit);
863
889
  }
890
+ // CommonJS form: const fs = require('fs') — also crashes in the client bundle.
891
+ for (const call of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.CallExpression)) {
892
+ const callee = call.getExpression();
893
+ if (!Node.isIdentifier(callee) || callee.getText() !== 'require')
894
+ continue;
895
+ const args = call.getArguments();
896
+ if (args.length !== 1)
897
+ continue;
898
+ const arg = args[0];
899
+ if (!Node.isStringLiteral(arg))
900
+ continue;
901
+ const mod = arg.getLiteralValue();
902
+ if (!SERVER_ONLY_NODE_MODULES.has(mod))
903
+ continue;
904
+ findings.push(finding('server-api-in-client', 'error', 'bug', `Client Component calls require('${mod}') — server-only Node module will not resolve in the browser bundle`, ctx.filePath, call.getStartLineNumber(), 1, {
905
+ suggestion: "Move this logic to a Server Component or server action, or drop the 'use client' directive if this file does not need it",
906
+ }));
907
+ }
864
908
  return findings;
865
909
  }
866
910
  // ── Rule: browser-api-in-server ──────────────────────────────────────────
@@ -1167,6 +1211,192 @@ function serverActionUnvalidatedInput(ctx) {
1167
1211
  }
1168
1212
  return findings;
1169
1213
  }
1214
+ // ── Rule: env-var-leak-to-client ─────────────────────────────────────────
1215
+ //
1216
+ // In Next.js, env vars referenced in Client Components must be prefixed with
1217
+ // `NEXT_PUBLIC_` to be inlined at build time. A `process.env.SECRET_KEY`
1218
+ // reference in a `'use client'` file produces `undefined` at runtime in the
1219
+ // browser AND, worse, signals confusion about what's actually exposed.
1220
+ //
1221
+ // Detection: PropertyAccessExpression of shape `process.env.<NAME>`,
1222
+ // element-access `process.env['NAME']`, or destructuring `const { X } = process.env`,
1223
+ // in a client-boundary file, where <NAME> does not start with `NEXT_PUBLIC_`
1224
+ // and isn't on the framework-public allowlist.
1225
+ //
1226
+ // FP avoidance:
1227
+ // - Skip 'use server' files entirely (server actions/functions reference
1228
+ // process.env legitimately — file-context propagation could otherwise
1229
+ // mark them as client-bound).
1230
+ // - Allowlist `NODE_ENV` and known Vercel-public env vars — Next/Vercel
1231
+ // bundlers inline these for the browser bundle.
1232
+ // - Skip references inside a `typeof process.env.X` guard.
1233
+ // - Skip references inside a `typeof window === 'undefined'` SSR-only branch.
1234
+ const PUBLIC_ENV_PREFIX = 'NEXT_PUBLIC_';
1235
+ /** Env vars Next.js / Vercel inline into the client bundle without the
1236
+ * NEXT_PUBLIC_ prefix. Flagging these would generate massive false-positive
1237
+ * noise in any real Next.js codebase. */
1238
+ const KNOWN_PUBLIC_ENV_VARS = new Set(['NODE_ENV', 'VERCEL_ENV', 'VERCEL_URL', 'VERCEL_BRANCH_URL', 'VERCEL_REGION']);
1239
+ function isInTypeofExpression(node) {
1240
+ let cur = node.getParent();
1241
+ while (cur) {
1242
+ if (Node.isTypeOfExpression(cur))
1243
+ return true;
1244
+ if (Node.isFunctionLikeDeclaration(cur))
1245
+ return false;
1246
+ cur = cur.getParent();
1247
+ }
1248
+ return false;
1249
+ }
1250
+ /** True when `node` is inside the consequent of a `typeof window === 'undefined'`
1251
+ * branch (or the alternate of `typeof window !== 'undefined'`). Such branches
1252
+ * never execute on the client and so referencing server-only env there is OK. */
1253
+ function isInsideSsrOnlyBranch(node) {
1254
+ let cur = node;
1255
+ while (cur) {
1256
+ const parent = cur.getParent();
1257
+ if (!parent)
1258
+ break;
1259
+ if (Node.isIfStatement(parent)) {
1260
+ const condition = parent.getExpression();
1261
+ const thenBranch = parent.getThenStatement();
1262
+ const elseBranch = parent.getElseStatement();
1263
+ const guard = readTypeofWindowGuard(condition);
1264
+ if (guard) {
1265
+ const inThen = thenBranch && cur === thenBranch;
1266
+ const inElse = elseBranch && cur === elseBranch;
1267
+ if (guard === 'undefined' && inThen)
1268
+ return true;
1269
+ if (guard === 'defined' && inElse)
1270
+ return true;
1271
+ }
1272
+ }
1273
+ if (Node.isConditionalExpression(parent)) {
1274
+ const condition = parent.getCondition();
1275
+ const guard = readTypeofWindowGuard(condition);
1276
+ if (guard) {
1277
+ const inWhenTrue = cur === parent.getWhenTrue();
1278
+ const inWhenFalse = cur === parent.getWhenFalse();
1279
+ if (guard === 'undefined' && inWhenTrue)
1280
+ return true;
1281
+ if (guard === 'defined' && inWhenFalse)
1282
+ return true;
1283
+ }
1284
+ }
1285
+ if (Node.isFunctionLikeDeclaration(parent) || Node.isSourceFile(parent))
1286
+ break;
1287
+ cur = parent;
1288
+ }
1289
+ return false;
1290
+ }
1291
+ /** Recognises `typeof window === 'undefined'` / `!==` / `!=`, returning the
1292
+ * effective state of `window` inside the truthy branch. */
1293
+ function readTypeofWindowGuard(node) {
1294
+ if (!node)
1295
+ return undefined;
1296
+ if (!Node.isBinaryExpression(node))
1297
+ return undefined;
1298
+ const op = node.getOperatorToken().getText();
1299
+ if (op !== '===' && op !== '==' && op !== '!==' && op !== '!=')
1300
+ return undefined;
1301
+ const left = node.getLeft();
1302
+ const right = node.getRight();
1303
+ const isTypeofWindow = (n) => Node.isTypeOfExpression(n) && Node.isIdentifier(n.getExpression()) && n.getExpression().getText() === 'window';
1304
+ const isUndefStr = (n) => Node.isStringLiteral(n) && n.getLiteralValue() === 'undefined';
1305
+ if (!((isTypeofWindow(left) && isUndefStr(right)) || (isUndefStr(left) && isTypeofWindow(right))))
1306
+ return undefined;
1307
+ const eq = op === '===' || op === '==';
1308
+ return eq ? 'undefined' : 'defined';
1309
+ }
1310
+ function isExemptEnvVarName(name) {
1311
+ return name.startsWith(PUBLIC_ENV_PREFIX) || KNOWN_PUBLIC_ENV_VARS.has(name);
1312
+ }
1313
+ function envVarLeakToClient(ctx) {
1314
+ if (ctx.fileRole !== 'runtime')
1315
+ return [];
1316
+ const fullText = ctx.sourceFile.getFullText();
1317
+ // Server actions/functions legitimately reference process.env — never flag them
1318
+ // even if file-context propagation marks the file as client-bound.
1319
+ if (hasServerDirective(fullText))
1320
+ return [];
1321
+ if (!isClientBoundary(ctx, fullText))
1322
+ return [];
1323
+ const findings = [];
1324
+ for (const access of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.PropertyAccessExpression)) {
1325
+ // Match `process.env.<NAME>`
1326
+ const left = access.getExpression();
1327
+ if (!Node.isPropertyAccessExpression(left))
1328
+ continue;
1329
+ if (left.getName() !== 'env')
1330
+ continue;
1331
+ const procIdent = left.getExpression();
1332
+ if (!Node.isIdentifier(procIdent) || procIdent.getText() !== 'process')
1333
+ continue;
1334
+ const name = access.getName();
1335
+ if (isExemptEnvVarName(name))
1336
+ continue;
1337
+ if (isInTypeofExpression(access))
1338
+ continue;
1339
+ if (isInsideSsrOnlyBranch(access))
1340
+ continue;
1341
+ findings.push(finding('env-var-leak-to-client', 'error', 'bug', `'process.env.${name}' is referenced in a Client Component — server-only env vars are not bundled to the browser; only NEXT_PUBLIC_* vars are inlined`, ctx.filePath, access.getStartLineNumber(), 1, {
1342
+ suggestion: `If '${name}' is intentionally public, rename it to NEXT_PUBLIC_${name}. Otherwise, read it on the server and pass the result through props or a server action.`,
1343
+ }));
1344
+ }
1345
+ // Also catch element-access form: `process.env['SECRET']`
1346
+ for (const access of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.ElementAccessExpression)) {
1347
+ const left = access.getExpression();
1348
+ if (!Node.isPropertyAccessExpression(left))
1349
+ continue;
1350
+ if (left.getName() !== 'env')
1351
+ continue;
1352
+ const procIdent = left.getExpression();
1353
+ if (!Node.isIdentifier(procIdent) || procIdent.getText() !== 'process')
1354
+ continue;
1355
+ const arg = access.getArgumentExpression();
1356
+ if (!arg || !Node.isStringLiteral(arg))
1357
+ continue;
1358
+ const name = arg.getLiteralValue();
1359
+ if (isExemptEnvVarName(name))
1360
+ continue;
1361
+ if (isInTypeofExpression(access))
1362
+ continue;
1363
+ if (isInsideSsrOnlyBranch(access))
1364
+ continue;
1365
+ findings.push(finding('env-var-leak-to-client', 'error', 'bug', `'process.env[${JSON.stringify(name)}]' is referenced in a Client Component — server-only env vars are not bundled to the browser; only NEXT_PUBLIC_* vars are inlined`, ctx.filePath, access.getStartLineNumber(), 1, {
1366
+ suggestion: `If '${name}' is intentionally public, rename it to NEXT_PUBLIC_${name}. Otherwise, read it on the server and pass the result through props or a server action.`,
1367
+ }));
1368
+ }
1369
+ // Destructuring form: `const { SECRET } = process.env;`
1370
+ for (const decl of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.VariableDeclaration)) {
1371
+ const init = decl.getInitializer();
1372
+ if (!init || !Node.isPropertyAccessExpression(init))
1373
+ continue;
1374
+ if (init.getName() !== 'env')
1375
+ continue;
1376
+ const procIdent = init.getExpression();
1377
+ if (!Node.isIdentifier(procIdent) || procIdent.getText() !== 'process')
1378
+ continue;
1379
+ const nameNode = decl.getNameNode();
1380
+ if (!Node.isObjectBindingPattern(nameNode))
1381
+ continue;
1382
+ if (isInsideSsrOnlyBranch(decl))
1383
+ continue;
1384
+ for (const element of nameNode.getElements()) {
1385
+ // The destructured key — `propertyNameNode` is set when the user renames
1386
+ // (`{ SECRET: s }`); otherwise it's the binding name.
1387
+ const keyNode = element.getPropertyNameNode() ?? element.getNameNode();
1388
+ if (!Node.isIdentifier(keyNode))
1389
+ continue;
1390
+ const name = keyNode.getText();
1391
+ if (isExemptEnvVarName(name))
1392
+ continue;
1393
+ findings.push(finding('env-var-leak-to-client', 'error', 'bug', `'${name}' is destructured from process.env in a Client Component — server-only env vars are not bundled to the browser`, ctx.filePath, element.getStartLineNumber(), 1, {
1394
+ suggestion: `If '${name}' is intentionally public, rename it to NEXT_PUBLIC_${name}. Otherwise, read it on the server and pass the result through props or a server action.`,
1395
+ }));
1396
+ }
1397
+ }
1398
+ return findings;
1399
+ }
1170
1400
  // ── Exported App Router Rules ────────────────────────────────────────────
1171
1401
  export const nextjsAppRouterRules = [
1172
1402
  useClientDrilledTooHigh,
@@ -1178,5 +1408,6 @@ export const nextjsAppRouterRules = [
1178
1408
  serverActionFormReturnValueIgnored,
1179
1409
  serverActionFormMutationMissingInvalidation,
1180
1410
  serverActionUnvalidatedInput,
1411
+ envVarLeakToClient,
1181
1412
  ];
1182
1413
  //# sourceMappingURL=nextjs-app-router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nextjs-app-router.js","sourceRoot":"","sources":["../../src/rules/nextjs-app-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nextjs-app-router.js","sourceRoot":"","sources":["../../src/rules/nextjs-app-router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Test-quality rules — high-precision patterns that catch tests which appear
3
+ * to assert something but in fact assert nothing.
4
+ *
5
+ * - expect-no-matcher — `expect(x);` with no chained matcher (a no-op)
6
+ * - empty-test-file — `*.test.{ts,tsx}` / `*.spec.{ts,tsx}` with zero
7
+ * `it()` / `test()` calls (likely a stub left behind
8
+ * after a refactor)
9
+ */
10
+ import type { ReviewFinding, RuleContext } from '../types.js';
11
+ declare function expectNoMatcher(ctx: RuleContext): ReviewFinding[];
12
+ export declare const testQualityRules: (typeof expectNoMatcher)[];
13
+ export {};
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Test-quality rules — high-precision patterns that catch tests which appear
3
+ * to assert something but in fact assert nothing.
4
+ *
5
+ * - expect-no-matcher — `expect(x);` with no chained matcher (a no-op)
6
+ * - empty-test-file — `*.test.{ts,tsx}` / `*.spec.{ts,tsx}` with zero
7
+ * `it()` / `test()` calls (likely a stub left behind
8
+ * after a refactor)
9
+ */
10
+ import { Node, SyntaxKind } from 'ts-morph';
11
+ import { finding } from './utils.js';
12
+ const TEST_FILE_RE = /\.(test|spec)\.(ts|tsx|js|jsx|mts|cts)$/;
13
+ /** Function names that register a test case. */
14
+ const TEST_REGISTRAR_NAMES = new Set(['it', 'test', 'fit', 'xit', 'xtest']);
15
+ function isTestFile(filePath) {
16
+ return TEST_FILE_RE.test(filePath);
17
+ }
18
+ /** Unwrap `await` / parens to get to the underlying expression. */
19
+ function unwrapAwaitAndParens(node) {
20
+ let cur = node;
21
+ while (Node.isAwaitExpression(cur) || Node.isParenthesizedExpression(cur)) {
22
+ cur = cur.getExpression();
23
+ }
24
+ return cur;
25
+ }
26
+ /** True when `expr` is a CallExpression whose callee is the bare identifier `expect`. */
27
+ function isBareExpectCall(expr) {
28
+ if (!Node.isCallExpression(expr))
29
+ return false;
30
+ const callee = expr.getExpression();
31
+ return Node.isIdentifier(callee) && callee.getText() === 'expect';
32
+ }
33
+ // ── Rule: expect-no-matcher ────────────────────────────────────────────────
34
+ //
35
+ // Flags an `expect(x)` call used in a position where no matcher is chained —
36
+ // a no-op assertion that silently passes. Covers:
37
+ // - bare statement `expect(x);`
38
+ // - awaited bare statement `await expect(p);`
39
+ // - bare return `return expect(x);`
40
+ function expectNoMatcher(ctx) {
41
+ if (!isTestFile(ctx.filePath))
42
+ return [];
43
+ const findings = [];
44
+ const reported = new Set();
45
+ function flag(node, line) {
46
+ if (reported.has(line))
47
+ return;
48
+ reported.add(line);
49
+ findings.push(finding('expect-no-matcher', 'error', 'bug', '`expect(x)` with no matcher chained — this is a no-op and silently passes', ctx.filePath, line, 1, {
50
+ suggestion: 'Chain a matcher (e.g. .toBe(...), .toEqual(...), .toThrow()) or remove the line',
51
+ }));
52
+ }
53
+ for (const stmt of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.ExpressionStatement)) {
54
+ const inner = unwrapAwaitAndParens(stmt.getExpression());
55
+ if (!isBareExpectCall(inner))
56
+ continue;
57
+ flag(stmt, stmt.getStartLineNumber());
58
+ }
59
+ for (const ret of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.ReturnStatement)) {
60
+ const value = ret.getExpression();
61
+ if (!value)
62
+ continue;
63
+ const inner = unwrapAwaitAndParens(value);
64
+ if (!isBareExpectCall(inner))
65
+ continue;
66
+ flag(ret, ret.getStartLineNumber());
67
+ }
68
+ return findings;
69
+ }
70
+ // ── Rule: empty-test-file ──────────────────────────────────────────────────
71
+ //
72
+ // Flags a `.test.{ts,tsx}` / `.spec.{ts,tsx}` file that registers no test
73
+ // cases — likely a stub left behind after a refactor.
74
+ //
75
+ // Scope reductions:
76
+ // - skip files that export anything (fixtures, mocks, setup helpers)
77
+ // - skip files whose name contains `setup`, `fixture`, `mock`, `helper`
78
+ // (matches `setupTests.ts`, `fixtures.ts`, `mocks.ts`, etc. — intentionally
79
+ // does not require word-boundary, since `setupTests` is one identifier)
80
+ // - recognises both regular call form `it(...)` and tagged template form
81
+ // `` it.each`a | b ${1} | ${2}`('...', ...) `` used by Jest/Vitest
82
+ const TEST_HELPER_PATH_RE = /(^|[/\\])(setup|fixture|mock|helper|util)/i;
83
+ function isTestRegistrarName(name) {
84
+ return TEST_REGISTRAR_NAMES.has(name);
85
+ }
86
+ function getRegistrarRootName(callee) {
87
+ if (Node.isIdentifier(callee))
88
+ return callee.getText();
89
+ if (Node.isPropertyAccessExpression(callee)) {
90
+ const left = callee.getExpression();
91
+ if (Node.isIdentifier(left))
92
+ return left.getText();
93
+ }
94
+ return undefined;
95
+ }
96
+ function emptyTestFile(ctx) {
97
+ if (!isTestFile(ctx.filePath))
98
+ return [];
99
+ if (TEST_HELPER_PATH_RE.test(ctx.filePath))
100
+ return [];
101
+ // A file that exports anything is treated as a fixture / helper, not a test.
102
+ for (const stmt of ctx.sourceFile.getStatements()) {
103
+ if (Node.isExportDeclaration(stmt))
104
+ return [];
105
+ if (Node.isExportAssignment(stmt))
106
+ return [];
107
+ if ((Node.isFunctionDeclaration(stmt) ||
108
+ Node.isVariableStatement(stmt) ||
109
+ Node.isClassDeclaration(stmt) ||
110
+ Node.isTypeAliasDeclaration(stmt) ||
111
+ Node.isInterfaceDeclaration(stmt)) &&
112
+ stmt.getModifiers().some((m) => m.getText() === 'export')) {
113
+ return [];
114
+ }
115
+ }
116
+ // Regular call form: `it('name', fn)` / `test.only(...)` / `it.each([...])(...)`
117
+ for (const call of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.CallExpression)) {
118
+ const root = getRegistrarRootName(call.getExpression());
119
+ if (root && isTestRegistrarName(root))
120
+ return [];
121
+ }
122
+ // Tagged-template form: `` it.each`a | b ${1} | ${2}`('...', fn) `` —
123
+ // this produces a TaggedTemplateExpression (the table) wrapped in a
124
+ // CallExpression (the test name + fn). Walk all tagged templates so we
125
+ // also accept the bare-tagged style without arguments (defensive).
126
+ for (const tag of ctx.sourceFile.getDescendantsOfKind(SyntaxKind.TaggedTemplateExpression)) {
127
+ const root = getRegistrarRootName(tag.getTag());
128
+ if (root && isTestRegistrarName(root))
129
+ return [];
130
+ }
131
+ return [
132
+ finding('empty-test-file', 'warning', 'structure', 'Test file registers no test cases (no `it()` / `test()` calls) — likely a stub left behind after a refactor', ctx.filePath, 1, 1, {
133
+ suggestion: 'Add at least one `it()` / `test()` block, or delete the file if the tests moved elsewhere',
134
+ }),
135
+ ];
136
+ }
137
+ export const testQualityRules = [expectNoMatcher, emptyTestFile];
138
+ //# sourceMappingURL=test-quality.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-quality.js","sourceRoot":"","sources":["../../src/rules/test-quality.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kernlang/review",
3
- "version": "3.4.5",
3
+ "version": "3.4.6-canary.36.1.5fe03ecd",
4
4
  "description": "Kern Review — scan TS, infer .kern IR, roundtrip diff, report",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -26,7 +26,7 @@
26
26
  "license": "AGPL-3.0",
27
27
  "dependencies": {
28
28
  "ts-morph": "^28.0.0",
29
- "@kernlang/core": "3.4.5"
29
+ "@kernlang/core": "3.4.6-canary.36.1.5fe03ecd"
30
30
  },
31
31
  "scripts": {
32
32
  "build": "tsc -b",