@opensip-cli/checks-typescript 0.1.9 → 0.1.11

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 (244) hide show
  1. package/README.md +4 -2
  2. package/dist/__tests__/all-checks-execute.test.d.ts.map +1 -1
  3. package/dist/__tests__/all-checks-execute.test.js +0 -1
  4. package/dist/__tests__/all-checks-execute.test.js.map +1 -1
  5. package/dist/__tests__/behavior-fixtures-2.test.d.ts.map +1 -1
  6. package/dist/__tests__/behavior-fixtures-2.test.js +0 -1
  7. package/dist/__tests__/behavior-fixtures-2.test.js.map +1 -1
  8. package/dist/__tests__/behavior-fixtures-3.test.d.ts.map +1 -1
  9. package/dist/__tests__/behavior-fixtures-3.test.js +0 -1
  10. package/dist/__tests__/behavior-fixtures-3.test.js.map +1 -1
  11. package/dist/__tests__/behavior-fixtures-4.test.d.ts.map +1 -1
  12. package/dist/__tests__/behavior-fixtures-4.test.js +0 -1
  13. package/dist/__tests__/behavior-fixtures-4.test.js.map +1 -1
  14. package/dist/__tests__/behavior-fixtures-5.test.d.ts.map +1 -1
  15. package/dist/__tests__/behavior-fixtures-5.test.js +0 -1
  16. package/dist/__tests__/behavior-fixtures-5.test.js.map +1 -1
  17. package/dist/__tests__/behavior-fixtures-6.test.js +10 -0
  18. package/dist/__tests__/behavior-fixtures-6.test.js.map +1 -1
  19. package/dist/__tests__/behavior-fixtures.test.d.ts.map +1 -1
  20. package/dist/__tests__/behavior-fixtures.test.js +2 -4
  21. package/dist/__tests__/behavior-fixtures.test.js.map +1 -1
  22. package/dist/__tests__/branch-fixtures-2.test.d.ts.map +1 -1
  23. package/dist/__tests__/branch-fixtures-2.test.js +0 -1
  24. package/dist/__tests__/branch-fixtures-2.test.js.map +1 -1
  25. package/dist/__tests__/branch-fixtures-3.test.d.ts.map +1 -1
  26. package/dist/__tests__/branch-fixtures-3.test.js +0 -1
  27. package/dist/__tests__/branch-fixtures-3.test.js.map +1 -1
  28. package/dist/__tests__/branch-fixtures.test.d.ts.map +1 -1
  29. package/dist/__tests__/branch-fixtures.test.js +0 -1
  30. package/dist/__tests__/branch-fixtures.test.js.map +1 -1
  31. package/dist/checks/architecture/__tests__/live-view-through-cli-live.test.d.ts +2 -0
  32. package/dist/checks/architecture/__tests__/live-view-through-cli-live.test.d.ts.map +1 -0
  33. package/dist/checks/architecture/__tests__/live-view-through-cli-live.test.js +13 -0
  34. package/dist/checks/architecture/__tests__/live-view-through-cli-live.test.js.map +1 -0
  35. package/dist/checks/architecture/contracts-schema-consistency.d.ts.map +1 -1
  36. package/dist/checks/architecture/contracts-schema-consistency.js +0 -3
  37. package/dist/checks/architecture/contracts-schema-consistency.js.map +1 -1
  38. package/dist/checks/architecture/drizzle-orm-migration-guardrails.d.ts.map +1 -1
  39. package/dist/checks/architecture/drizzle-orm-migration-guardrails.js +1 -0
  40. package/dist/checks/architecture/drizzle-orm-migration-guardrails.js.map +1 -1
  41. package/dist/checks/architecture/index.d.ts +1 -0
  42. package/dist/checks/architecture/index.d.ts.map +1 -1
  43. package/dist/checks/architecture/index.js +1 -0
  44. package/dist/checks/architecture/index.js.map +1 -1
  45. package/dist/checks/architecture/live-view-through-cli-live.d.ts +8 -0
  46. package/dist/checks/architecture/live-view-through-cli-live.d.ts.map +1 -0
  47. package/dist/checks/architecture/live-view-through-cli-live.js +43 -0
  48. package/dist/checks/architecture/live-view-through-cli-live.js.map +1 -0
  49. package/dist/checks/architecture/missing-type-exports.d.ts.map +1 -1
  50. package/dist/checks/architecture/missing-type-exports.js +1 -1
  51. package/dist/checks/architecture/missing-type-exports.js.map +1 -1
  52. package/dist/checks/architecture/module-coupling-fan-out.d.ts.map +1 -1
  53. package/dist/checks/architecture/module-coupling-fan-out.js +6 -2
  54. package/dist/checks/architecture/module-coupling-fan-out.js.map +1 -1
  55. package/dist/checks/architecture/no-bootstrap-tool-import.d.ts.map +1 -1
  56. package/dist/checks/architecture/no-bootstrap-tool-import.js +1 -0
  57. package/dist/checks/architecture/no-bootstrap-tool-import.js.map +1 -1
  58. package/dist/checks/architecture/no-run-done-result.d.ts.map +1 -1
  59. package/dist/checks/architecture/no-run-done-result.js +1 -0
  60. package/dist/checks/architecture/no-run-done-result.js.map +1 -1
  61. package/dist/checks/architecture/package-json-exports-field.d.ts.map +1 -1
  62. package/dist/checks/architecture/package-json-exports-field.js +1 -1
  63. package/dist/checks/architecture/package-json-exports-field.js.map +1 -1
  64. package/dist/checks/architecture/phantom-dependency-detection.d.ts.map +1 -1
  65. package/dist/checks/architecture/phantom-dependency-detection.js +0 -3
  66. package/dist/checks/architecture/phantom-dependency-detection.js.map +1 -1
  67. package/dist/checks/architecture/tsconfig-extends-validation.d.ts.map +1 -1
  68. package/dist/checks/architecture/tsconfig-extends-validation.js +0 -2
  69. package/dist/checks/architecture/tsconfig-extends-validation.js.map +1 -1
  70. package/dist/checks/quality/code-structure/__tests__/duplicate-utility-lang-substrate.test.d.ts +5 -0
  71. package/dist/checks/quality/code-structure/__tests__/duplicate-utility-lang-substrate.test.d.ts.map +1 -0
  72. package/dist/checks/quality/code-structure/__tests__/duplicate-utility-lang-substrate.test.js +17 -0
  73. package/dist/checks/quality/code-structure/__tests__/duplicate-utility-lang-substrate.test.js.map +1 -0
  74. package/dist/checks/quality/code-structure/duplicate-utility-functions-config.d.ts +18 -0
  75. package/dist/checks/quality/code-structure/duplicate-utility-functions-config.d.ts.map +1 -0
  76. package/dist/checks/quality/code-structure/duplicate-utility-functions-config.js +36 -0
  77. package/dist/checks/quality/code-structure/duplicate-utility-functions-config.js.map +1 -0
  78. package/dist/checks/quality/code-structure/duplicate-utility-functions-helpers.d.ts +15 -0
  79. package/dist/checks/quality/code-structure/duplicate-utility-functions-helpers.d.ts.map +1 -0
  80. package/dist/checks/quality/code-structure/duplicate-utility-functions-helpers.js +288 -0
  81. package/dist/checks/quality/code-structure/duplicate-utility-functions-helpers.js.map +1 -0
  82. package/dist/checks/quality/code-structure/duplicate-utility-functions.d.ts +1 -26
  83. package/dist/checks/quality/code-structure/duplicate-utility-functions.d.ts.map +1 -1
  84. package/dist/checks/quality/code-structure/duplicate-utility-functions.js +3 -407
  85. package/dist/checks/quality/code-structure/duplicate-utility-functions.js.map +1 -1
  86. package/dist/checks/quality/data-integrity/__tests__/null-safety-fp.test.js +39 -2
  87. package/dist/checks/quality/data-integrity/__tests__/null-safety-fp.test.js.map +1 -1
  88. package/dist/checks/quality/data-integrity/array-validation-detectors.d.ts +17 -0
  89. package/dist/checks/quality/data-integrity/array-validation-detectors.d.ts.map +1 -0
  90. package/dist/checks/quality/data-integrity/array-validation-detectors.js +184 -0
  91. package/dist/checks/quality/data-integrity/array-validation-detectors.js.map +1 -0
  92. package/dist/checks/quality/data-integrity/array-validation.d.ts +0 -2
  93. package/dist/checks/quality/data-integrity/array-validation.d.ts.map +1 -1
  94. package/dist/checks/quality/data-integrity/array-validation.js +2 -360
  95. package/dist/checks/quality/data-integrity/array-validation.js.map +1 -1
  96. package/dist/checks/quality/data-integrity/database-schema-validation.d.ts.map +1 -1
  97. package/dist/checks/quality/data-integrity/database-schema-validation.js +0 -1
  98. package/dist/checks/quality/data-integrity/database-schema-validation.js.map +1 -1
  99. package/dist/checks/quality/data-integrity/null-safety-analyze.d.ts +33 -0
  100. package/dist/checks/quality/data-integrity/null-safety-analyze.d.ts.map +1 -0
  101. package/dist/checks/quality/data-integrity/null-safety-analyze.js +164 -0
  102. package/dist/checks/quality/data-integrity/null-safety-analyze.js.map +1 -0
  103. package/dist/checks/quality/data-integrity/null-safety-config.d.ts +50 -0
  104. package/dist/checks/quality/data-integrity/null-safety-config.d.ts.map +1 -0
  105. package/dist/checks/quality/data-integrity/null-safety-config.js +69 -0
  106. package/dist/checks/quality/data-integrity/null-safety-config.js.map +1 -0
  107. package/dist/checks/quality/data-integrity/null-safety-heuristics.d.ts +76 -0
  108. package/dist/checks/quality/data-integrity/null-safety-heuristics.d.ts.map +1 -0
  109. package/dist/checks/quality/data-integrity/null-safety-heuristics.js +276 -0
  110. package/dist/checks/quality/data-integrity/null-safety-heuristics.js.map +1 -0
  111. package/dist/checks/quality/data-integrity/null-safety-prefixes.d.ts +13 -0
  112. package/dist/checks/quality/data-integrity/null-safety-prefixes.d.ts.map +1 -0
  113. package/dist/checks/quality/data-integrity/null-safety-prefixes.js +333 -0
  114. package/dist/checks/quality/data-integrity/null-safety-prefixes.js.map +1 -0
  115. package/dist/checks/quality/data-integrity/null-safety.d.ts +2 -82
  116. package/dist/checks/quality/data-integrity/null-safety.d.ts.map +1 -1
  117. package/dist/checks/quality/data-integrity/null-safety.js +3 -796
  118. package/dist/checks/quality/data-integrity/null-safety.js.map +1 -1
  119. package/dist/checks/quality/frontend/test-only-frontend-modules.d.ts.map +1 -1
  120. package/dist/checks/quality/frontend/test-only-frontend-modules.js +0 -2
  121. package/dist/checks/quality/frontend/test-only-frontend-modules.js.map +1 -1
  122. package/dist/checks/quality/linting/typescript-frontend.d.ts.map +1 -1
  123. package/dist/checks/quality/linting/typescript-frontend.js +1 -0
  124. package/dist/checks/quality/linting/typescript-frontend.js.map +1 -1
  125. package/dist/checks/quality/observability/logger-event-name-format.d.ts.map +1 -1
  126. package/dist/checks/quality/observability/logger-event-name-format.js +0 -1
  127. package/dist/checks/quality/observability/logger-event-name-format.js.map +1 -1
  128. package/dist/checks/quality/observability/no-hardcoded-correlation-id.d.ts.map +1 -1
  129. package/dist/checks/quality/observability/no-hardcoded-correlation-id.js +2 -3
  130. package/dist/checks/quality/observability/no-hardcoded-correlation-id.js.map +1 -1
  131. package/dist/checks/quality/patterns/__tests__/async-waterfall-sequential.test.d.ts +8 -0
  132. package/dist/checks/quality/patterns/__tests__/async-waterfall-sequential.test.d.ts.map +1 -0
  133. package/dist/checks/quality/patterns/__tests__/async-waterfall-sequential.test.js +87 -0
  134. package/dist/checks/quality/patterns/__tests__/async-waterfall-sequential.test.js.map +1 -0
  135. package/dist/checks/quality/patterns/__tests__/error-handling-probes.test.d.ts +2 -0
  136. package/dist/checks/quality/patterns/__tests__/error-handling-probes.test.d.ts.map +1 -0
  137. package/dist/checks/quality/patterns/__tests__/error-handling-probes.test.js +51 -0
  138. package/dist/checks/quality/patterns/__tests__/error-handling-probes.test.js.map +1 -0
  139. package/dist/checks/quality/patterns/__tests__/result-pattern-registration-guards.test.d.ts +2 -0
  140. package/dist/checks/quality/patterns/__tests__/result-pattern-registration-guards.test.d.ts.map +1 -0
  141. package/dist/checks/quality/patterns/__tests__/result-pattern-registration-guards.test.js +89 -0
  142. package/dist/checks/quality/patterns/__tests__/result-pattern-registration-guards.test.js.map +1 -0
  143. package/dist/checks/quality/patterns/__tests__/throws-documentation-analyze.test.d.ts +5 -0
  144. package/dist/checks/quality/patterns/__tests__/throws-documentation-analyze.test.d.ts.map +1 -0
  145. package/dist/checks/quality/patterns/__tests__/throws-documentation-analyze.test.js +78 -0
  146. package/dist/checks/quality/patterns/__tests__/throws-documentation-analyze.test.js.map +1 -0
  147. package/dist/checks/quality/patterns/__tests__/toctou-fp.test.js +44 -0
  148. package/dist/checks/quality/patterns/__tests__/toctou-fp.test.js.map +1 -1
  149. package/dist/checks/quality/patterns/async-waterfall-analysis.d.ts +17 -0
  150. package/dist/checks/quality/patterns/async-waterfall-analysis.d.ts.map +1 -0
  151. package/dist/checks/quality/patterns/async-waterfall-analysis.js +215 -0
  152. package/dist/checks/quality/patterns/async-waterfall-analysis.js.map +1 -0
  153. package/dist/checks/quality/patterns/async-waterfall-branch-keys.d.ts +6 -0
  154. package/dist/checks/quality/patterns/async-waterfall-branch-keys.d.ts.map +1 -0
  155. package/dist/checks/quality/patterns/async-waterfall-branch-keys.js +54 -0
  156. package/dist/checks/quality/patterns/async-waterfall-branch-keys.js.map +1 -0
  157. package/dist/checks/quality/patterns/async-waterfall-detection.d.ts.map +1 -1
  158. package/dist/checks/quality/patterns/async-waterfall-detection.js +3 -352
  159. package/dist/checks/quality/patterns/async-waterfall-detection.js.map +1 -1
  160. package/dist/checks/quality/patterns/containing-function-name.d.ts +3 -0
  161. package/dist/checks/quality/patterns/containing-function-name.d.ts.map +1 -0
  162. package/dist/checks/quality/patterns/containing-function-name.js +21 -0
  163. package/dist/checks/quality/patterns/containing-function-name.js.map +1 -0
  164. package/dist/checks/quality/patterns/error-handling-quality.d.ts +3 -0
  165. package/dist/checks/quality/patterns/error-handling-quality.d.ts.map +1 -1
  166. package/dist/checks/quality/patterns/error-handling-quality.js +150 -30
  167. package/dist/checks/quality/patterns/error-handling-quality.js.map +1 -1
  168. package/dist/checks/quality/patterns/result-pattern-consistency.d.ts +3 -0
  169. package/dist/checks/quality/patterns/result-pattern-consistency.d.ts.map +1 -1
  170. package/dist/checks/quality/patterns/result-pattern-consistency.js +136 -69
  171. package/dist/checks/quality/patterns/result-pattern-consistency.js.map +1 -1
  172. package/dist/checks/quality/patterns/throws-documentation-analyze.d.ts +14 -0
  173. package/dist/checks/quality/patterns/throws-documentation-analyze.d.ts.map +1 -0
  174. package/dist/checks/quality/patterns/throws-documentation-analyze.js +352 -0
  175. package/dist/checks/quality/patterns/throws-documentation-analyze.js.map +1 -0
  176. package/dist/checks/quality/patterns/throws-documentation-constants.d.ts +15 -0
  177. package/dist/checks/quality/patterns/throws-documentation-constants.d.ts.map +1 -0
  178. package/dist/checks/quality/patterns/throws-documentation-constants.js +94 -0
  179. package/dist/checks/quality/patterns/throws-documentation-constants.js.map +1 -0
  180. package/dist/checks/quality/patterns/throws-documentation.d.ts +1 -11
  181. package/dist/checks/quality/patterns/throws-documentation.d.ts.map +1 -1
  182. package/dist/checks/quality/patterns/throws-documentation.js +4 -472
  183. package/dist/checks/quality/patterns/throws-documentation.js.map +1 -1
  184. package/dist/checks/quality/patterns/toctou-race-condition-classify.d.ts +23 -0
  185. package/dist/checks/quality/patterns/toctou-race-condition-classify.d.ts.map +1 -0
  186. package/dist/checks/quality/patterns/toctou-race-condition-classify.js +125 -0
  187. package/dist/checks/quality/patterns/toctou-race-condition-classify.js.map +1 -0
  188. package/dist/checks/quality/patterns/toctou-race-condition-collection.d.ts +24 -0
  189. package/dist/checks/quality/patterns/toctou-race-condition-collection.d.ts.map +1 -0
  190. package/dist/checks/quality/patterns/toctou-race-condition-collection.js +248 -0
  191. package/dist/checks/quality/patterns/toctou-race-condition-collection.js.map +1 -0
  192. package/dist/checks/quality/patterns/toctou-race-condition-constants.d.ts +32 -0
  193. package/dist/checks/quality/patterns/toctou-race-condition-constants.d.ts.map +1 -0
  194. package/dist/checks/quality/patterns/toctou-race-condition-constants.js +115 -0
  195. package/dist/checks/quality/patterns/toctou-race-condition-constants.js.map +1 -0
  196. package/dist/checks/quality/patterns/toctou-race-condition.d.ts +1 -29
  197. package/dist/checks/quality/patterns/toctou-race-condition.d.ts.map +1 -1
  198. package/dist/checks/quality/patterns/toctou-race-condition.js +11 -536
  199. package/dist/checks/quality/patterns/toctou-race-condition.js.map +1 -1
  200. package/dist/checks/quality/unused-config-options.d.ts.map +1 -1
  201. package/dist/checks/quality/unused-config-options.js +0 -4
  202. package/dist/checks/quality/unused-config-options.js.map +1 -1
  203. package/dist/checks/resilience/__tests__/detached-promises-sync-detection.test.d.ts +2 -0
  204. package/dist/checks/resilience/__tests__/detached-promises-sync-detection.test.d.ts.map +1 -0
  205. package/dist/checks/resilience/__tests__/detached-promises-sync-detection.test.js +98 -0
  206. package/dist/checks/resilience/__tests__/detached-promises-sync-detection.test.js.map +1 -0
  207. package/dist/checks/resilience/callback-invocation-safe.d.ts.map +1 -1
  208. package/dist/checks/resilience/callback-invocation-safe.js +0 -1
  209. package/dist/checks/resilience/callback-invocation-safe.js.map +1 -1
  210. package/dist/checks/resilience/context-leakage.d.ts.map +1 -1
  211. package/dist/checks/resilience/context-leakage.js +1 -0
  212. package/dist/checks/resilience/context-leakage.js.map +1 -1
  213. package/dist/checks/resilience/detached-promises-detection.d.ts +7 -0
  214. package/dist/checks/resilience/detached-promises-detection.d.ts.map +1 -0
  215. package/dist/checks/resilience/detached-promises-detection.js +228 -0
  216. package/dist/checks/resilience/detached-promises-detection.js.map +1 -0
  217. package/dist/checks/resilience/detached-promises-sync-constants.d.ts +36 -0
  218. package/dist/checks/resilience/detached-promises-sync-constants.d.ts.map +1 -0
  219. package/dist/checks/resilience/detached-promises-sync-constants.js +299 -0
  220. package/dist/checks/resilience/detached-promises-sync-constants.js.map +1 -0
  221. package/dist/checks/resilience/detached-promises-sync-detection.d.ts +14 -0
  222. package/dist/checks/resilience/detached-promises-sync-detection.d.ts.map +1 -0
  223. package/dist/checks/resilience/detached-promises-sync-detection.js +69 -0
  224. package/dist/checks/resilience/detached-promises-sync-detection.js.map +1 -0
  225. package/dist/checks/resilience/detached-promises.d.ts +1 -14
  226. package/dist/checks/resilience/detached-promises.d.ts.map +1 -1
  227. package/dist/checks/resilience/detached-promises.js +2 -598
  228. package/dist/checks/resilience/detached-promises.js.map +1 -1
  229. package/dist/checks/resilience/no-raw-fetch.d.ts.map +1 -1
  230. package/dist/checks/resilience/no-raw-fetch.js +1 -0
  231. package/dist/checks/resilience/no-raw-fetch.js.map +1 -1
  232. package/dist/checks/resilience/no-unbounded-concurrency.d.ts.map +1 -1
  233. package/dist/checks/resilience/no-unbounded-concurrency.js +1 -0
  234. package/dist/checks/resilience/no-unbounded-concurrency.js.map +1 -1
  235. package/dist/checks/security/sql-injection.d.ts.map +1 -1
  236. package/dist/checks/security/sql-injection.js +0 -1
  237. package/dist/checks/security/sql-injection.js.map +1 -1
  238. package/dist/display/architecture.d.ts.map +1 -1
  239. package/dist/display/architecture.js +1 -0
  240. package/dist/display/architecture.js.map +1 -1
  241. package/dist/display/types.d.ts.map +1 -1
  242. package/dist/display/types.js +0 -1
  243. package/dist/display/types.js.map +1 -1
  244. package/package.json +5 -5
@@ -0,0 +1,299 @@
1
+ /**
2
+ * Built-in synchronous-call allowlists for the detached-promises check.
3
+ * Recipe config augments these via {@link DetachedPromisesConfig}.
4
+ */
5
+ import { getCheckConfig } from '@opensip-cli/fitness';
6
+ /**
7
+ * Known synchronous functions that do NOT return promises. Limited to
8
+ * generic JS / TS / Node defaults; framework-specific entries live in
9
+ * recipe config under `additionalSyncFunctions`.
10
+ */
11
+ const KNOWN_SYNC_FUNCTION_NAMES = [
12
+ // Node.js sync filesystem / process methods
13
+ 'execSync',
14
+ 'readFileSync',
15
+ 'writeFileSync',
16
+ 'existsSync',
17
+ 'mkdirSync',
18
+ 'rmdirSync',
19
+ 'readdirSync',
20
+ 'statSync',
21
+ 'lstatSync',
22
+ 'unlinkSync',
23
+ 'copyFileSync',
24
+ 'renameSync',
25
+ 'accessSync',
26
+ // Timer clearing/scheduling helpers (sync side)
27
+ 'clearTimeout',
28
+ 'clearInterval',
29
+ 'clearImmediate',
30
+ // Console (synchronous)
31
+ 'log',
32
+ 'info',
33
+ 'warn',
34
+ 'error',
35
+ 'debug',
36
+ 'time',
37
+ 'timeEnd',
38
+ // Promise resolution helpers (sync wrappers)
39
+ 'reject',
40
+ 'resolve',
41
+ // Builder / coercion terminators
42
+ 'build',
43
+ 'toJSON',
44
+ 'toString',
45
+ 'valueOf',
46
+ // Array methods (synchronous)
47
+ 'map',
48
+ 'filter',
49
+ 'reduce',
50
+ 'find',
51
+ 'findIndex',
52
+ 'some',
53
+ 'every',
54
+ 'includes',
55
+ 'indexOf',
56
+ 'slice',
57
+ 'concat',
58
+ 'join',
59
+ 'sort',
60
+ 'reverse',
61
+ 'push',
62
+ 'pop',
63
+ 'shift',
64
+ 'unshift',
65
+ 'splice',
66
+ 'fill',
67
+ 'copyWithin',
68
+ 'flat',
69
+ 'flatMap',
70
+ 'forEach',
71
+ // String methods (synchronous)
72
+ 'toLowerCase',
73
+ 'toUpperCase',
74
+ 'trim',
75
+ 'trimStart',
76
+ 'trimEnd',
77
+ 'split',
78
+ 'replace',
79
+ 'replaceAll',
80
+ 'substring',
81
+ 'substr',
82
+ 'charAt',
83
+ 'charCodeAt',
84
+ 'codePointAt',
85
+ 'startsWith',
86
+ 'endsWith',
87
+ 'padStart',
88
+ 'padEnd',
89
+ 'repeat',
90
+ 'match',
91
+ 'matchAll',
92
+ 'search',
93
+ 'normalize',
94
+ 'localeCompare',
95
+ // Object methods (synchronous)
96
+ 'keys',
97
+ 'values',
98
+ 'entries',
99
+ 'assign',
100
+ 'freeze',
101
+ 'seal',
102
+ 'fromEntries',
103
+ 'create',
104
+ 'defineProperty',
105
+ 'defineProperties',
106
+ 'getOwnPropertyNames',
107
+ 'getOwnPropertyDescriptor',
108
+ 'getPrototypeOf',
109
+ 'setPrototypeOf',
110
+ 'hasOwnProperty',
111
+ 'isPrototypeOf',
112
+ 'propertyIsEnumerable',
113
+ // JSON methods
114
+ 'stringify',
115
+ 'parse',
116
+ // Math methods
117
+ 'floor',
118
+ 'ceil',
119
+ 'round',
120
+ 'max',
121
+ 'min',
122
+ 'abs',
123
+ 'random',
124
+ 'pow',
125
+ 'sqrt',
126
+ 'sign',
127
+ 'trunc',
128
+ // Set/Map/WeakMap/WeakSet methods (synchronous)
129
+ 'add',
130
+ 'delete',
131
+ 'has',
132
+ 'clear',
133
+ 'get',
134
+ 'set',
135
+ 'size',
136
+ // EventEmitter methods (synchronous)
137
+ 'emit',
138
+ 'on',
139
+ 'off',
140
+ 'once',
141
+ 'addListener',
142
+ 'removeListener',
143
+ 'removeAllListeners',
144
+ 'prependListener',
145
+ 'prependOnceListener',
146
+ 'eventNames',
147
+ 'listeners',
148
+ 'listenerCount',
149
+ 'rawListeners',
150
+ // Registry / diagnostics helpers (void-returning in opensip-cli and similar CLIs)
151
+ 'register',
152
+ 'dispose',
153
+ 'event',
154
+ 'send',
155
+ 'abort',
156
+ 'throwIfAborted',
157
+ // OpenTelemetry Span methods (void-returning)
158
+ 'recordException',
159
+ 'setStatus',
160
+ 'setAttributes',
161
+ 'end',
162
+ 'write',
163
+ // Date methods (synchronous)
164
+ 'getTime',
165
+ 'getDate',
166
+ 'getDay',
167
+ 'getFullYear',
168
+ 'getHours',
169
+ 'getMinutes',
170
+ 'getSeconds',
171
+ 'getMilliseconds',
172
+ 'setTime',
173
+ 'setDate',
174
+ 'setFullYear',
175
+ 'setHours',
176
+ 'setMinutes',
177
+ 'setSeconds',
178
+ 'setMilliseconds',
179
+ 'toISOString',
180
+ 'toDateString',
181
+ 'toTimeString',
182
+ 'toLocaleDateString',
183
+ 'toLocaleTimeString',
184
+ 'toLocaleString',
185
+ 'now',
186
+ ];
187
+ /**
188
+ * Known synchronous receiver identifiers — generic JS / Node namespaces.
189
+ */
190
+ const KNOWN_SYNC_RECEIVER_NAMES = [
191
+ 'console',
192
+ 'log',
193
+ 'path',
194
+ 'fs',
195
+ 'process',
196
+ 'JSON',
197
+ 'Math',
198
+ 'Object',
199
+ 'Array',
200
+ 'String',
201
+ 'Number',
202
+ 'Date',
203
+ 'RegExp',
204
+ 'Symbol',
205
+ 'Boolean',
206
+ 'Error',
207
+ 'Map',
208
+ 'Set',
209
+ 'WeakMap',
210
+ 'WeakSet',
211
+ 'Reflect',
212
+ 'Proxy',
213
+ 'Intl',
214
+ ];
215
+ /** Substrings matched against receiver variable names (case-insensitive). */
216
+ export const KNOWN_SYNC_RECEIVER_PATTERNS = [
217
+ 'logger',
218
+ 'writer',
219
+ 'emitter',
220
+ 'registry',
221
+ 'cache',
222
+ 'store',
223
+ 'queue',
224
+ 'buffer',
225
+ 'timer',
226
+ 'counter',
227
+ 'gauge',
228
+ 'diagnostics',
229
+ ];
230
+ /** File path patterns that indicate CLI commands or route registrations. */
231
+ export const FILE_SKIP_PATTERNS = [
232
+ '/commands/',
233
+ '/routes/',
234
+ '/route-handlers/',
235
+ '/handlers/',
236
+ '/plugins/',
237
+ 'register-routes',
238
+ 'register-plugins',
239
+ // Tool CLI dispatch layers: async handlers invoke synchronous render/error helpers.
240
+ '/engine/src/cli/',
241
+ // Composition root + bootstrap: synchronous registration/mount helpers inside async setup.
242
+ '/cli/src/bootstrap/',
243
+ '/cli/src/index.ts',
244
+ ];
245
+ /** Method-name prefixes that indicate synchronous calls. */
246
+ export const KNOWN_SYNC_PREFIXES = [
247
+ 'set',
248
+ 'get',
249
+ 'add',
250
+ 'remove',
251
+ 'delete',
252
+ 'clear',
253
+ 'reset',
254
+ 'is',
255
+ 'has',
256
+ 'can',
257
+ 'should',
258
+ 'was',
259
+ 'will',
260
+ 'assert',
261
+ 'record',
262
+ 'log',
263
+ 'persist',
264
+ 'validate',
265
+ 'complete',
266
+ 'merge',
267
+ 'apply',
268
+ 'prune',
269
+ 'upsert',
270
+ 'push',
271
+ 'emit',
272
+ 'on',
273
+ 'off',
274
+ 'once',
275
+ 'dispatch',
276
+ ];
277
+ /** Method name suffixes that indicate synchronous calls. */
278
+ export const KNOWN_SYNC_SUFFIXES = ['Sync'];
279
+ /** Fire-and-forget patterns that are intentionally not awaited. */
280
+ const FIRE_AND_FORGET_PATTERN_NAMES = [
281
+ 'setImmediate',
282
+ 'setTimeout',
283
+ 'setInterval',
284
+ 'nextTick',
285
+ 'queueMicrotask',
286
+ ];
287
+ export function isFireAndForgetPattern(name) {
288
+ return FIRE_AND_FORGET_PATTERN_NAMES.includes(name);
289
+ }
290
+ /** Build effective sync-call lookup lists from defaults + recipe config. */
291
+ export function buildEffectiveSyncSets() {
292
+ const cfg = getCheckConfig('detached-promises');
293
+ return {
294
+ syncFunctions: [...KNOWN_SYNC_FUNCTION_NAMES, ...(cfg.additionalSyncFunctions ?? [])],
295
+ syncReceivers: [...KNOWN_SYNC_RECEIVER_NAMES, ...(cfg.additionalSyncReceivers ?? [])],
296
+ syncPrefixes: [...KNOWN_SYNC_PREFIXES, ...(cfg.additionalSyncPrefixes ?? [])],
297
+ };
298
+ }
299
+ //# sourceMappingURL=detached-promises-sync-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detached-promises-sync-constants.js","sourceRoot":"","sources":["../../../src/checks/resilience/detached-promises-sync-constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Same-file sync callable detection for detached-promises.
3
+ */
4
+ import * as ts from 'typescript';
5
+ /**
6
+ * True when `name` refers to a top-level sync function or const arrow in `sourceFile`.
7
+ */
8
+ export declare function isSyncTopLevelCallable(sourceFile: ts.SourceFile, name: string): boolean;
9
+ /**
10
+ * True when `name` refers to a sync helper declared in an enclosing scope of `callSite`
11
+ * (nested `function` declarations or local `const` arrows), or at module top level.
12
+ */
13
+ export declare function isSyncCallableInScope(callSite: ts.Node, sourceFile: ts.SourceFile, name: string): boolean;
14
+ //# sourceMappingURL=detached-promises-sync-detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detached-promises-sync-detection.d.ts","sourceRoot":"","sources":["../../../src/checks/resilience/detached-promises-sync-detection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAgDjC;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAIvF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,EAAE,CAAC,IAAI,EACjB,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,IAAI,EAAE,MAAM,GACX,OAAO,CAeT"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Same-file sync callable detection for detached-promises.
3
+ */
4
+ import * as ts from 'typescript';
5
+ function isNonAsyncFunctionLike(node) {
6
+ return !node.modifiers?.some((m) => m.kind === ts.SyntaxKind.AsyncKeyword);
7
+ }
8
+ function initializerIsSyncCallable(init) {
9
+ if (!init)
10
+ return false;
11
+ if (ts.isArrowFunction(init) || ts.isFunctionExpression(init)) {
12
+ return isNonAsyncFunctionLike(init);
13
+ }
14
+ return false;
15
+ }
16
+ function isSyncNamedFunctionDeclaration(stmt, name) {
17
+ if (!ts.isFunctionDeclaration(stmt) || stmt.name?.text !== name)
18
+ return false;
19
+ return isNonAsyncFunctionLike(stmt);
20
+ }
21
+ function isSyncNamedConstArrow(stmt, name) {
22
+ if (!ts.isVariableStatement(stmt))
23
+ return false;
24
+ for (const decl of stmt.declarationList.declarations) {
25
+ if (!ts.isIdentifier(decl.name) || decl.name.text !== name)
26
+ continue;
27
+ if (initializerIsSyncCallable(decl.initializer))
28
+ return true;
29
+ }
30
+ return false;
31
+ }
32
+ function blockDeclaresSyncCallable(block, name) {
33
+ return block.statements.some((stmt) => isSyncNamedFunctionDeclaration(stmt, name) || isSyncNamedConstArrow(stmt, name));
34
+ }
35
+ function isDirectFunctionBodyBlock(block) {
36
+ const parent = block.parent;
37
+ return (parent !== undefined &&
38
+ (ts.isFunctionDeclaration(parent) ||
39
+ ts.isFunctionExpression(parent) ||
40
+ ts.isArrowFunction(parent) ||
41
+ ts.isMethodDeclaration(parent) ||
42
+ ts.isConstructorDeclaration(parent)));
43
+ }
44
+ /**
45
+ * True when `name` refers to a top-level sync function or const arrow in `sourceFile`.
46
+ */
47
+ export function isSyncTopLevelCallable(sourceFile, name) {
48
+ return sourceFile.statements.some((stmt) => isSyncNamedFunctionDeclaration(stmt, name) || isSyncNamedConstArrow(stmt, name));
49
+ }
50
+ /**
51
+ * True when `name` refers to a sync helper declared in an enclosing scope of `callSite`
52
+ * (nested `function` declarations or local `const` arrows), or at module top level.
53
+ */
54
+ export function isSyncCallableInScope(callSite, sourceFile, name) {
55
+ if (isSyncTopLevelCallable(sourceFile, name))
56
+ return true;
57
+ let current = callSite;
58
+ while (current) {
59
+ if (ts.isSourceFile(current))
60
+ break;
61
+ if (ts.isBlock(current) &&
62
+ isDirectFunctionBodyBlock(current) &&
63
+ blockDeclaresSyncCallable(current, name))
64
+ return true;
65
+ current = current.parent;
66
+ }
67
+ return false;
68
+ }
69
+ //# sourceMappingURL=detached-promises-sync-detection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detached-promises-sync-detection.js","sourceRoot":"","sources":["../../../src/checks/resilience/detached-promises-sync-detection.ts"],"names":[],"mappings":"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"}
@@ -11,20 +11,6 @@
11
11
  * {@link DetachedPromisesConfig}. The check reads that block via
12
12
  * `getCheckConfig` and merges it into the effective sync-call sets.
13
13
  */
14
- /**
15
- * Recipe-config shape for the detached-promises check. Each field augments the
16
- * built-in defaults; nothing here is required. Project-specific helper names
17
- * (e.g. opensip's `attachDomainContext`, `sendError`) belong in a recipe's
18
- * `checks.config['detached-promises']` block, not in built-in defaults.
19
- */
20
- export interface DetachedPromisesConfig extends Record<string, unknown> {
21
- /** Method/function names that are synchronous (no await needed). */
22
- additionalSyncFunctions?: readonly string[];
23
- /** Receiver identifiers (the part before the dot) that are synchronous. */
24
- additionalSyncReceivers?: readonly string[];
25
- /** Method-name prefixes that mark a call as synchronous (e.g. `'wire'`). */
26
- additionalSyncPrefixes?: readonly string[];
27
- }
28
14
  /**
29
15
  * Check: resilience/detached-promises
30
16
  *
@@ -37,4 +23,5 @@ export interface DetachedPromisesConfig extends Record<string, unknown> {
37
23
  * - Skip fire-and-forget patterns (process.nextTick, setImmediate, etc.)
38
24
  */
39
25
  export declare const detachedPromises: import("@opensip-cli/fitness").Check;
26
+ export { type DetachedPromisesConfig } from './detached-promises-sync-constants.js';
40
27
  //# sourceMappingURL=detached-promises.d.ts.map
@@ -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;AAuoBD;;;;;;;;;;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":"AAEA;;;;;;;;;;;;GAYG;AAMH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,sCAyB3B,CAAC;AAEH,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,uCAAuC,CAAC"}