@opensip-cli/checks-typescript 0.1.7 → 0.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.
Files changed (62) hide show
  1. package/README.md +2 -2
  2. package/dist/__tests__/branch-fixtures-3.test.js +41 -0
  3. package/dist/__tests__/branch-fixtures-3.test.js.map +1 -1
  4. package/dist/__tests__/branch-fixtures.test.js +1 -3
  5. package/dist/__tests__/branch-fixtures.test.js.map +1 -1
  6. package/dist/__tests__/command-handler-host-owned-output.test.d.ts +2 -0
  7. package/dist/__tests__/command-handler-host-owned-output.test.d.ts.map +1 -0
  8. package/dist/__tests__/command-handler-host-owned-output.test.js +85 -0
  9. package/dist/__tests__/command-handler-host-owned-output.test.js.map +1 -0
  10. package/dist/__tests__/host-tool-runtime-import-boundary.test.js +69 -12
  11. package/dist/__tests__/host-tool-runtime-import-boundary.test.js.map +1 -1
  12. package/dist/__tests__/null-safety-typed.test.d.ts +2 -0
  13. package/dist/__tests__/null-safety-typed.test.d.ts.map +1 -0
  14. package/dist/__tests__/null-safety-typed.test.js +112 -0
  15. package/dist/__tests__/null-safety-typed.test.js.map +1 -0
  16. package/dist/__tests__/shared-program.test.d.ts +2 -0
  17. package/dist/__tests__/shared-program.test.d.ts.map +1 -0
  18. package/dist/__tests__/shared-program.test.js +41 -0
  19. package/dist/__tests__/shared-program.test.js.map +1 -0
  20. package/dist/__tests__/shipped-allowlists-are-generic.test.d.ts +2 -0
  21. package/dist/__tests__/shipped-allowlists-are-generic.test.d.ts.map +1 -0
  22. package/dist/__tests__/shipped-allowlists-are-generic.test.js +64 -0
  23. package/dist/__tests__/shipped-allowlists-are-generic.test.js.map +1 -0
  24. package/dist/checks/architecture/command-handler-host-owned-output.d.ts +25 -0
  25. package/dist/checks/architecture/command-handler-host-owned-output.d.ts.map +1 -0
  26. package/dist/checks/architecture/command-handler-host-owned-output.js +165 -0
  27. package/dist/checks/architecture/command-handler-host-owned-output.js.map +1 -0
  28. package/dist/checks/architecture/host-tool-runtime-import-boundary.d.ts +24 -7
  29. package/dist/checks/architecture/host-tool-runtime-import-boundary.d.ts.map +1 -1
  30. package/dist/checks/architecture/host-tool-runtime-import-boundary.js +114 -33
  31. package/dist/checks/architecture/host-tool-runtime-import-boundary.js.map +1 -1
  32. package/dist/checks/architecture/index.d.ts +30 -0
  33. package/dist/checks/architecture/index.d.ts.map +1 -1
  34. package/dist/checks/architecture/index.js +30 -0
  35. package/dist/checks/architecture/index.js.map +1 -1
  36. package/dist/checks/quality/code-structure/duplicate-utility-functions.d.ts +13 -1
  37. package/dist/checks/quality/code-structure/duplicate-utility-functions.d.ts.map +1 -1
  38. package/dist/checks/quality/code-structure/duplicate-utility-functions.js +7 -3
  39. package/dist/checks/quality/code-structure/duplicate-utility-functions.js.map +1 -1
  40. package/dist/checks/quality/data-integrity/null-safety.d.ts +63 -2
  41. package/dist/checks/quality/data-integrity/null-safety.d.ts.map +1 -1
  42. package/dist/checks/quality/data-integrity/null-safety.js +191 -102
  43. package/dist/checks/quality/data-integrity/null-safety.js.map +1 -1
  44. package/dist/checks/quality/patterns/result-pattern-consistency.d.ts +21 -0
  45. package/dist/checks/quality/patterns/result-pattern-consistency.d.ts.map +1 -1
  46. package/dist/checks/quality/patterns/result-pattern-consistency.js +16 -15
  47. package/dist/checks/quality/patterns/result-pattern-consistency.js.map +1 -1
  48. package/dist/checks/resilience/detached-promises.d.ts.map +1 -1
  49. package/dist/checks/resilience/detached-promises.js +4 -0
  50. package/dist/checks/resilience/detached-promises.js.map +1 -1
  51. package/dist/checks/resilience/no-raw-fetch.d.ts +14 -0
  52. package/dist/checks/resilience/no-raw-fetch.d.ts.map +1 -1
  53. package/dist/checks/resilience/no-raw-fetch.js +7 -7
  54. package/dist/checks/resilience/no-raw-fetch.js.map +1 -1
  55. package/dist/display/architecture.d.ts.map +1 -1
  56. package/dist/display/architecture.js +1 -0
  57. package/dist/display/architecture.js.map +1 -1
  58. package/dist/shared/type-program.d.ts +23 -0
  59. package/dist/shared/type-program.d.ts.map +1 -0
  60. package/dist/shared/type-program.js +35 -0
  61. package/dist/shared/type-program.js.map +1 -0
  62. package/package.json +5 -5
@@ -4,9 +4,10 @@
4
4
  *
5
5
  * Detects unsafe property and method access without null checks.
6
6
  */
7
- import { defineCheck, getCheckConfig, isTestFile } from '@opensip-cli/fitness';
8
- import { getSharedSourceFile } from '@opensip-cli/lang-typescript';
7
+ import { defineCheck, getCheckConfig, isTestFile, } from '@opensip-cli/fitness';
8
+ import { getSharedSourceFile, isTypeNullable, } from '@opensip-cli/lang-typescript';
9
9
  import * as ts from 'typescript';
10
+ import { getSharedTypeCheckedProgram } from '../../../shared/type-program.js';
10
11
  /**
11
12
  * Patterns that indicate the access is already protected
12
13
  */
@@ -18,98 +19,82 @@ const SAFE_PATTERNS = [
18
19
  /&&/, // Logical AND guard
19
20
  ];
20
21
  /**
21
- * Known builder pattern libraries whose method calls always return non-null objects.
22
- * These are safe because the library design guarantees non-null returns.
22
+ * Call prefixes whose results are non-null by construction, so a property
23
+ * access on them needs no guard. Scope is deliberately limited to facts that
24
+ * hold for ANY codebase:
25
+ *
26
+ * 1. Language / runtime guarantees — `Object.*`, `Array.*`, `JSON.*`,
27
+ * `new URL()`, Node `crypto`/`child_process`, `Intl`, the TS compiler API.
28
+ * 2. Widely-used libraries whose builder/query APIs are documented non-null
29
+ * — Zod, TypeORM, Drizzle, better-sqlite3, neverthrow `Result`, Express.
30
+ * 3. Generic builder-pattern conventions — `builder.`, `*ResultBuilder.`.
31
+ *
32
+ * PROJECT-SPECIFIC safe symbols must NOT be hardcoded here: baking one
33
+ * codebase's invariants into a generic check silently suppresses real null
34
+ * bugs in every other codebase (e.g. an adopter whose own `getThing()` can
35
+ * return null). Adopters extend this set with their own factories via the
36
+ * `additionalSafeBuilders` recipe-config key — see `buildEffectiveSafeBuilders`.
23
37
  */
24
- const SAFE_BUILDER_PREFIXES = [
25
- 'z.', // Zod schema builder (z.string(), z.object(), etc.)
26
- 'createQueryBuilder', // TypeORM QueryBuilder
27
- 'getRepository', // TypeORM Repository
28
- 'EntityManager.', // TypeORM EntityManager
29
- 'queryBuilder.', // TypeORM QueryBuilder variable
30
- 'repository.', // TypeORM Repository variable
31
- 'builder.', // Generic builder pattern
32
- 'Result.', // Result pattern builder
33
- 'ResultAsync.', // neverthrow ResultAsync
34
- 'ErrorBuilder', // Error builder fluent chain
35
- 'EscrowManagementErrorBuilder', // Escrow error builder
36
- 'I18nErrorBuilder', // I18n error builder
37
- 'Object.entries', // Always returns array
38
- 'Object.values', // Always returns array
39
- 'Object.keys', // Always returns string array
40
- 'Object.assign', // Always returns object
41
- 'Object.freeze', // Always returns object
42
- 'Array.from', // Always returns array
43
- 'Array.isArray', // Returns boolean
44
- 'String(', // String constructor always returns string
45
- 'Number(', // Number constructor always returns number
46
- 'Boolean(', // Boolean constructor always returns boolean
47
- 'Buffer.from', // Always returns Buffer
48
- 'JSON.stringify', // Always returns string
49
- 'JSON.parse', // Always returns value
50
- 'process.memoryUsage', // Always returns MemoryUsage
51
- 'getTypedEventBus', // Singleton factory always returns non-null
52
- 'res.status', // Express/Fastify response chaining
53
- 'response.status', // Express/Fastify response chaining
54
- // better-sqlite3 (prepare always returns Statement)
55
- 'prepare(', // db.prepare() always returns Statement object
56
- // Drizzle ORM
57
- 'drizzle(', // Drizzle instance creation
58
- 'db.select', // Drizzle query builder
59
- 'db.insert', // Drizzle query builder
60
- 'db.update', // Drizzle query builder
61
- 'db.delete', // Drizzle query builder
62
- // TypeScript compiler API (always return valid objects)
63
- 'sourceFile.getLineAndCharacterOfPosition',
64
- 'node.getText',
65
- 'node.getStart',
66
- 'node.getEnd',
67
- 'node.getWidth',
68
- 'node.getFullWidth',
69
- // Browser APIs with guaranteed non-null returns
70
- 'window.matchMedia',
71
- 'document.createElement',
72
- 'document.createTextNode',
73
- // Singleton factories that throw on failure (never return null)
74
- 'getContextManager',
75
- 'getCredentialConfig',
76
- 'getLogger',
77
- // Custom builder patterns
78
- 'ScenarioResultBuilder.',
79
- 'ResultBuilder.',
80
- 'CheckResultBuilder.',
81
- // Node.js URL helpers (always return a URL/string)
38
+ export const SAFE_BUILDER_PREFIXES = [
39
+ // 1. Language / runtime guarantees
40
+ 'Object.entries',
41
+ 'Object.values',
42
+ 'Object.keys',
43
+ 'Object.assign',
44
+ 'Object.freeze',
45
+ 'Array.from',
46
+ 'Array.isArray',
47
+ 'String(',
48
+ 'Number(',
49
+ 'Boolean(',
50
+ 'Buffer.from',
51
+ 'JSON.stringify',
52
+ 'JSON.parse',
53
+ 'process.memoryUsage',
82
54
  'pathToFileURL(',
83
55
  'fileURLToPath(',
84
- // new URL(...) constructor — returns URL or throws
85
56
  'new URL(',
86
- // Node.js child_process (spawn always returns ChildProcess or throws)
87
57
  'spawn(',
88
58
  'fork(',
89
- // Node.js crypto (createHash/createHmac always return Hash/Hmac)
90
59
  'createHash(',
91
60
  'createHmac(',
92
61
  'createCipheriv(',
93
62
  'createDecipheriv(',
94
- // Intl formatters (always return formatter instances)
95
- 'getNumberFormatter',
96
- 'getDateFormatter',
97
63
  'new Intl.',
98
64
  'Intl.NumberFormat',
99
65
  'Intl.DateTimeFormat',
100
- // Project-specific safe functions (always return non-null)
101
- 'loadConfig',
102
- 'getConfig',
103
- 'getTenantId',
104
- 'getDatabase',
105
- 'getSqlite',
106
- 'getRegistry',
107
- 'getSync',
108
- 'formatRelative',
109
- 'stripThinkTags',
110
- 'getStatus',
111
- 'ensureError',
112
- 'extractErrorMessage',
66
+ // TypeScript compiler API (always return valid objects)
67
+ 'sourceFile.getLineAndCharacterOfPosition',
68
+ 'node.getText',
69
+ 'node.getStart',
70
+ 'node.getEnd',
71
+ 'node.getWidth',
72
+ 'node.getFullWidth',
73
+ // Browser APIs with guaranteed non-null returns
74
+ 'window.matchMedia',
75
+ 'document.createElement',
76
+ 'document.createTextNode',
77
+ // 2. Common library builder / query APIs
78
+ 'z.', // Zod schema builder (z.string(), z.object(), …)
79
+ 'createQueryBuilder', // TypeORM QueryBuilder
80
+ 'getRepository', // TypeORM Repository
81
+ 'EntityManager.', // TypeORM EntityManager
82
+ 'queryBuilder.', // TypeORM QueryBuilder variable
83
+ 'repository.', // TypeORM Repository variable
84
+ 'Result.', // Result pattern builder
85
+ 'ResultAsync.', // neverthrow ResultAsync
86
+ 'prepare(', // better-sqlite3 db.prepare() → Statement
87
+ 'drizzle(', // Drizzle instance creation
88
+ 'db.select', // Drizzle query builder
89
+ 'db.insert',
90
+ 'db.update',
91
+ 'db.delete',
92
+ 'res.status', // Express/Fastify response chaining
93
+ 'response.status',
94
+ // 3. Generic builder-pattern conventions
95
+ 'builder.',
96
+ 'ResultBuilder.',
97
+ 'ScenarioResultBuilder.',
113
98
  ];
114
99
  /**
115
100
  * Known safe method names in fluent APIs that always return `this` or non-null values.
@@ -418,7 +403,7 @@ const SAFE_FLUENT_METHODS = new Set([
418
403
  * Methods starting with these prefixes are conventionally designed to always
419
404
  * return a value or throw, never return null/undefined.
420
405
  */
421
- const SAFE_METHOD_PREFIXES = [
406
+ export const SAFE_METHOD_PREFIXES = [
422
407
  'get',
423
408
  'set',
424
409
  'is',
@@ -473,9 +458,9 @@ const SAFE_METHOD_PREFIXES = [
473
458
  * `readScope`, `currentScenarioRegistry`, etc. whose names convey the same
474
459
  * "returns a value or throws" contract.
475
460
  */
476
- function isSafeBuilderPattern(expression, sourceFile) {
461
+ function isSafeBuilderPattern(expression, sourceFile, safeBuilders) {
477
462
  const text = expression.getText(sourceFile);
478
- if (SAFE_BUILDER_PREFIXES.some((prefix) => text.startsWith(prefix)))
463
+ if (safeBuilders.some((prefix) => text.startsWith(prefix)))
479
464
  return true;
480
465
  if (ts.isIdentifier(expression.expression)) {
481
466
  return isSafeFluentMethod(expression.expression.text);
@@ -631,19 +616,18 @@ function isFluentChain(node) {
631
616
  * (`.provideValue/.provideClass/...` always return Injector<T>); the chain
632
617
  * is split across many lines so the AST chain-depth heuristic does not always
633
618
  * apply. The whole-file safe-list captures the convention.
634
- * - `**\/schema/*.ts`, `**\/*-schema.ts`, `**\/dbos/schema*.ts` — Drizzle/Zod
635
- * schema declarations are pure column/shape builders. No runtime null-access
636
- * surface to protect.
619
+ * - `**\/schema/*.ts`, `**\/*-schema.ts` — Drizzle/Zod schema declarations are
620
+ * pure column/shape builders. No runtime null-access surface to protect.
621
+ *
622
+ * These are deliberately generic path conventions. Project-specific safe paths
623
+ * (e.g. a bespoke schema/DI folder layout) belong in the
624
+ * `additionalSafeNullPaths` recipe-config key, not in these built-in defaults.
637
625
  */
638
626
  const SAFE_NULL_PATHS = [
639
627
  /\/di\/fragment\.ts$/,
640
628
  /\/di\/fragments\//,
641
629
  /\/schema\//,
642
630
  /-schema\.ts$/,
643
- // NOTE: opensip's `/dbos/schema` path is NOT a default. DBOS is a
644
- // published library, but the path layout is opensip's convention. It
645
- // lives in opensip's recipe under
646
- // `checks.config['null-safety'].additionalSafeNullPaths`.
647
631
  ];
648
632
  /** Merge built-in defaults with the recipe-config slice. */
649
633
  function buildEffectiveSafePaths() {
@@ -651,6 +635,14 @@ function buildEffectiveSafePaths() {
651
635
  const extras = (cfg.additionalSafeNullPaths ?? []).map((src) => new RegExp(src, 'i'));
652
636
  return [...SAFE_NULL_PATHS, ...extras];
653
637
  }
638
+ /**
639
+ * Merge the built-in (generic) safe-builder prefixes with any project-specific
640
+ * ones supplied via `checks.config['null-safety'].additionalSafeBuilders`.
641
+ */
642
+ function buildEffectiveSafeBuilders() {
643
+ const cfg = getCheckConfig('null-safety');
644
+ return [...SAFE_BUILDER_PREFIXES, ...(cfg.additionalSafeBuilders ?? [])];
645
+ }
654
646
  function isSafeNullPath(filePath, paths) {
655
647
  return paths.some((p) => p.test(filePath));
656
648
  }
@@ -668,6 +660,8 @@ export function analyzeNullSafety(content, filePath) {
668
660
  const safePaths = buildEffectiveSafePaths();
669
661
  if (isSafeNullPath(filePath, safePaths))
670
662
  return violations;
663
+ // Effective safe-builder prefixes = generic built-ins + project config.
664
+ const safeBuilders = buildEffectiveSafeBuilders();
671
665
  try {
672
666
  const sourceFile = getSharedSourceFile(filePath, content);
673
667
  if (!sourceFile)
@@ -691,7 +685,8 @@ export function analyzeNullSafety(content, filePath) {
691
685
  if (isZodBuilderChain(node, sourceFile))
692
686
  return;
693
687
  // Skip known safe builder patterns
694
- if (ts.isCallExpression(expression) && isSafeBuilderPattern(expression, sourceFile))
688
+ if (ts.isCallExpression(expression) &&
689
+ isSafeBuilderPattern(expression, sourceFile, safeBuilders))
695
690
  return;
696
691
  // Skip fluent API chains (promise.then().catch(), queryBuilder.where().orderBy())
697
692
  if (isFluentChain(node))
@@ -731,6 +726,81 @@ export function analyzeNullSafety(content, filePath) {
731
726
  }
732
727
  return violations;
733
728
  }
729
+ /**
730
+ * Type-aware variant (D2): walk the Program's SourceFile and flag a property
731
+ * access on a call/element-access result ONLY when the receiver's actual type
732
+ * includes `null`/`undefined`. The TypeChecker subsumes every heuristic the
733
+ * convention path uses — control-flow narrowing (guards), builder/Zod return
734
+ * types, and chain depth all fall out of real types — so this detector is
735
+ * deliberately minimal. Fail-open: `any`/`unknown`/unresolved types are not
736
+ * nullable per `isTypeNullable`, so "the compiler doesn't know" never flags.
737
+ *
738
+ * Reads the same path skip + escape-hatch config as the convention path
739
+ * (`additionalSafeNullPaths`, `additionalSafeBuilders`). Exported for the
740
+ * type-aware test suite.
741
+ */
742
+ export function analyzeNullSafetyTyped(sourceFile, checker, filePath) {
743
+ const violations = [];
744
+ const safePaths = buildEffectiveSafePaths();
745
+ if (isSafeNullPath(filePath, safePaths))
746
+ return violations;
747
+ // Manual escape hatch for symbols the checker can't resolve (untyped JS
748
+ // boundaries, ambient factories): a matching receiver call-text is trusted.
749
+ const safeBuilders = buildEffectiveSafeBuilders();
750
+ const visit = (node) => {
751
+ ts.forEachChild(node, visit);
752
+ if (!ts.isPropertyAccessExpression(node) || ts.isOptionalChain(node))
753
+ return;
754
+ const expression = node.expression;
755
+ if (!ts.isCallExpression(expression) && !ts.isElementAccessExpression(expression))
756
+ return;
757
+ // No `isThisAccess` skip here (unlike the convention path): the checker types
758
+ // `this`-rooted chains correctly — `this.prop` isn't a candidate (receiver is
759
+ // not a call), and `this.getThing()` where getThing() returns nullable SHOULD
760
+ // flag — so the heuristic would only cause false negatives.
761
+ const propName = node.name.text;
762
+ if (['length', 'toString', 'valueOf'].includes(propName))
763
+ return;
764
+ const receiverText = expression.getText(sourceFile);
765
+ if (safeBuilders.some((prefix) => receiverText.startsWith(prefix)))
766
+ return;
767
+ // The one decision: does the receiver's ACTUAL type include null/undefined?
768
+ if (!isTypeNullable(checker.getTypeAtLocation(expression)))
769
+ return;
770
+ const { line, character } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
771
+ violations.push({
772
+ line: line + 1,
773
+ column: character + 1,
774
+ message: `Potentially unsafe property access '.${propName}' without null check`,
775
+ severity: 'warning',
776
+ type: 'unsafe-access',
777
+ suggestion: `Use optional chaining: change '.${propName}' to '?.${propName}', or add an explicit null/undefined check before accessing the property`,
778
+ match: node.getText(sourceFile),
779
+ });
780
+ };
781
+ visit(sourceFile);
782
+ return violations;
783
+ }
784
+ /** Type-aware per-file analysis (D2): flag via the shared Program's checker. */
785
+ function analyzeFileTyped(program, filePath) {
786
+ const sourceFile = program.getSourceFile(filePath);
787
+ if (!sourceFile)
788
+ return []; // not in the Program (e.g. excluded) — skip
789
+ return analyzeNullSafetyTyped(sourceFile, program.checker, filePath);
790
+ }
791
+ /** Convention per-file analysis (default): scan the filtered content (no types). */
792
+ async function analyzeFileConvention(files, filePath) {
793
+ try {
794
+ // FileAccessor.read applies this check's `strip-strings` contentFilter, so
795
+ // `content` matches what the prior per-file `analyze` mode received.
796
+ const content = await files.read(filePath);
797
+ return analyzeNullSafety(content, filePath);
798
+ }
799
+ catch {
800
+ // @fitness-ignore-next-line error-handling-quality -- an unreadable target file is an expected skip (the engine's own analyze mode does the same — see define-check.ts executeAnalyzeMode); a pure check has no actionable error to surface here.
801
+ return []; // unreadable file — skip, matching per-file analyze resilience
802
+ }
803
+ }
734
804
  /**
735
805
  * Check: quality/null-safety
736
806
  *
@@ -745,22 +815,41 @@ export const nullSafety = defineCheck({
745
815
  description: 'Detect unsafe property and method access without null checks',
746
816
  longDescription: `**Purpose:** Detects property access on potentially nullable expressions (call results, element access) that lack null/undefined guards, preventing runtime \`TypeError\` crashes.
747
817
 
748
- **Detects:**
749
- - Property access (\`.foo\`) on call expression or element access results without optional chaining (\`?.\`), nullish coalescing (\`??\`), \`&&\` guards, or \`if\` checks
750
- - Skips known safe patterns: Zod builder chains (\`z.string().min()\`), TypeORM QueryBuilder fluent chains, Promise \`.then().catch()\`, Result pattern methods, and Pino logger chains
751
- - Skips safe property names: \`length\`, \`toString\`, \`valueOf\`
752
- - Excludes contracts, schemas, types, CLI/internal tools, and foundation infrastructure files
818
+ **Mode (\`typeAware\`, default \`true\`):** Type-aware — flags a property access on a call/element-access result only when the receiver's ACTUAL type includes \`null\`/\`undefined\`. The checker handles control-flow guards, optional chaining (\`?.\`), builder/Zod/TypeORM return types, and chain depth; \`any\`/\`unknown\`/unresolved types are never flagged (fail-open). \`additionalSafeBuilders\` is a manual escape hatch. Set \`typeAware: false\` for the legacy name/convention heuristic (higher false-negative rate).
819
+
820
+ **Always skipped:** safe property names (\`length\`, \`toString\`, \`valueOf\`) and \`additionalSafeNullPaths\` (schema/DI) files.
753
821
 
754
822
  **Why it matters:** Accessing a property on a \`null\` or \`undefined\` value causes runtime \`TypeError\` exceptions that crash the process if uncaught.
755
823
 
756
824
  **Scope:** General best practice. Analyzes each file individually.`,
757
825
  tags: ['quality', 'code-quality', 'type-safety'],
758
826
  fileTypes: ['ts', 'tsx'],
759
- analyze(content, filePath) {
760
- // Skip test files null safety in tests is low-risk due to controlled inputs
761
- if (isTestFile(filePath))
762
- return [];
763
- return analyzeNullSafety(content, filePath);
827
+ // D2: runs as analyzeAll so a single type-checked ts.Program can be shared
828
+ // across the run. `typeAware` (recipe config, default off) selects the
829
+ // type-aware detector; otherwise the convention-based detector runs unchanged,
830
+ // so default behavior is byte-identical to the prior per-file `analyze` mode.
831
+ async analyzeAll(files) {
832
+ // Type-aware is the DEFAULT (D2): flag a property access only when the
833
+ // receiver's actual type is nullable. Set `typeAware: false` in recipe config
834
+ // to fall back to the legacy name/convention heuristic.
835
+ const typeAware = getCheckConfig('null-safety').typeAware !== false;
836
+ // Build the shared type-checked Program only in type-aware mode (~1s/~0.6GB,
837
+ // amortized across type-aware checks). The convention fallback needs no Program.
838
+ const program = typeAware ? getSharedTypeCheckedProgram(files.paths) : undefined;
839
+ const violations = [];
840
+ for (const filePath of files.paths) {
841
+ // Skip test files — null safety in tests is low-risk due to controlled inputs.
842
+ if (isTestFile(filePath))
843
+ continue;
844
+ const fileViolations = program
845
+ ? analyzeFileTyped(program, filePath)
846
+ : await analyzeFileConvention(files, filePath);
847
+ for (const violation of fileViolations) {
848
+ // analyzeAll injects no default filePath (analyze mode did) — stamp it.
849
+ violations.push(violation.filePath ? violation : { ...violation, filePath });
850
+ }
851
+ }
852
+ return violations;
764
853
  },
765
854
  });
766
855
  //# sourceMappingURL=null-safety.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"null-safety.js","sourceRoot":"","sources":["../../../../src/checks/quality/data-integrity/null-safety.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"null-safety.js","sourceRoot":"","sources":["../../../../src/checks/quality/data-integrity/null-safety.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,27 @@
7
7
  *
8
8
  * @see CLAUDE.md Error Handling Policy
9
9
  */
10
+ /**
11
+ * Recipe-config shape for result-pattern-consistency. Project-specific boundary
12
+ * directories (where throwing is the intended pattern) belong in a recipe's
13
+ * `checks.config['result-pattern-consistency']` block, not in the check's
14
+ * built-in defaults — hardcoding one codebase's layout into a generic check
15
+ * either leaks that layout or misclassifies another codebase's files.
16
+ */
17
+ export interface ResultPatternConsistencyConfig extends Record<string, unknown> {
18
+ /**
19
+ * Additional path patterns where `throw` is allowed (treated as an
20
+ * infrastructure/edge boundary). Each entry compiles to a RegExp via
21
+ * `new RegExp(entry)` and is matched against the file path.
22
+ */
23
+ additionalThrowAllowedPaths?: readonly string[];
24
+ }
25
+ /**
26
+ * Paths where throwing is expected (infrastructure boundaries per DEC-015).
27
+ * These are entry points that bridge external systems, CLI, or pipeline layers
28
+ * where callers can't meaningfully recover — throw is the correct pattern.
29
+ */
30
+ export declare const THROW_ALLOWED_PATHS: RegExp[];
10
31
  /**
11
32
  * Check: quality/result-pattern-consistency
12
33
  *
@@ -1 +1 @@
1
- {"version":3,"file":"result-pattern-consistency.d.ts","sourceRoot":"","sources":["../../../../src/checks/quality/patterns/result-pattern-consistency.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AA8SH;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,sCAsEnC,CAAC"}
1
+ {"version":3,"file":"result-pattern-consistency.d.ts","sourceRoot":"","sources":["../../../../src/checks/quality/patterns/result-pattern-consistency.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAMH;;;;;;GAMG;AACH,MAAM,WAAW,8BAA+B,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7E;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD;AA2CD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,UAsB/B,CAAC;AAsOF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,sCAsEnC,CAAC"}
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * @see CLAUDE.md Error Handling Policy
10
10
  */
11
- import { defineCheck } from '@opensip-cli/fitness';
11
+ import { defineCheck, getCheckConfig } from '@opensip-cli/fitness';
12
12
  import { getSharedSourceFile } from '@opensip-cli/lang-typescript';
13
13
  import * as ts from 'typescript';
14
14
  /**
@@ -55,7 +55,9 @@ const LEGITIMATE_THROW_FUNCTION_PATTERNS = [
55
55
  * These are entry points that bridge external systems, CLI, or pipeline layers
56
56
  * where callers can't meaningfully recover — throw is the correct pattern.
57
57
  */
58
- const THROW_ALLOWED_PATHS = [
58
+ export const THROW_ALLOWED_PATHS = [
59
+ // Generic architectural boundaries that bridge external systems, CLI, or
60
+ // entry/edge layers where callers can't meaningfully recover.
59
61
  /\/routes\//,
60
62
  /\/handlers\//,
61
63
  /\/controllers\//,
@@ -63,25 +65,18 @@ const THROW_ALLOWED_PATHS = [
63
65
  /\/plugins?\//,
64
66
  /\/bootstrap/,
65
67
  /\/providers\//,
66
- // Internal services
67
- /\/services\/internal\//,
68
- // Validation utilities
69
- /\/utils\/validation/,
70
- // LLM and external API adapters (bridge external services)
71
- /\/llm\//,
72
68
  /\/adapters\//,
73
- /\/embeddings\//,
69
+ /\/utils\/validation/,
74
70
  // CLI command entry points (bridge CLI to domain)
75
71
  /\/commands\//,
76
- // Pipeline governance and orchestration boundaries
77
- /\/governor\//,
78
- /\/prompt\//,
79
72
  // ID parsing/validation (infrastructure boundary for data integrity)
80
73
  /\/ids\//,
81
- // Infrastructure boundary packages and patterns (DEC-015: throw is correct)
82
- /packages\/infrastructure\//,
83
74
  /\/stores\//,
84
75
  /\/registry\//,
76
+ // NOTE: project-specific boundary directories (e.g. `/llm/`, `/embeddings/`,
77
+ // a bespoke `/governor/` or `packages/infrastructure/` layout) are NOT
78
+ // hardcoded here — add them via the `additionalThrowAllowedPaths`
79
+ // recipe-config key (see buildEffectiveThrowAllowedPaths).
85
80
  ];
86
81
  /**
87
82
  * File name patterns where throwing is legitimate (infrastructure boundary classes)
@@ -90,8 +85,14 @@ const INFRASTRUCTURE_FILE_PATTERNS = [/registry/i, /-registry/i, /store/i, /-sto
90
85
  /**
91
86
  * Check if a file path is in a throw-allowed context
92
87
  */
88
+ /** Merge built-in (generic) throw-allowed paths with the recipe-config slice. */
89
+ function buildEffectiveThrowAllowedPaths() {
90
+ const cfg = getCheckConfig('result-pattern-consistency');
91
+ const extra = (cfg.additionalThrowAllowedPaths ?? []).map((src) => new RegExp(src));
92
+ return [...THROW_ALLOWED_PATHS, ...extra];
93
+ }
93
94
  function isThrowAllowedPath(filePath) {
94
- if (THROW_ALLOWED_PATHS.some((pattern) => pattern.test(filePath))) {
95
+ if (buildEffectiveThrowAllowedPaths().some((pattern) => pattern.test(filePath))) {
95
96
  return true;
96
97
  }
97
98
  // Check file name against infrastructure patterns (registries, stores, adapters)
@@ -1 +1 @@
1
- {"version":3,"file":"result-pattern-consistency.js","sourceRoot":"","sources":["../../../../src/checks/quality/patterns/result-pattern-consistency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result-pattern-consistency.js","sourceRoot":"","sources":["../../../../src/checks/quality/patterns/result-pattern-consistency.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"detached-promises.d.ts","sourceRoot":"","sources":["../../../src/checks/resilience/detached-promises.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AAMH;;;;;GAKG;AACH,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrE,oEAAoE;IACpE,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,2EAA2E;IAC3E,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,4EAA4E;IAC5E,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAmoBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,sCA0B3B,CAAC"}
1
+ {"version":3,"file":"detached-promises.d.ts","sourceRoot":"","sources":["../../../src/checks/resilience/detached-promises.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AAMH;;;;;GAKG;AACH,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrE,oEAAoE;IACpE,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,2EAA2E;IAC3E,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,4EAA4E;IAC5E,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAuoBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,sCA0B3B,CAAC"}
@@ -236,6 +236,10 @@ const KNOWN_SYNC_RECEIVER_PATTERNS = [
236
236
  'timer',
237
237
  'counter',
238
238
  'gauge',
239
+ // The scope-owned DiagnosticsBus is a synchronous event sink (its `event` /
240
+ // `counter` / `emit` push onto an in-memory array and return void), exactly
241
+ // like a logger/emitter — `diagnostics.event(...)` is never a detached promise.
242
+ 'diagnostics',
239
243
  ];
240
244
  /**
241
245
  * File path patterns that indicate CLI commands or route registrations.