@elench/testkit 0.1.64 → 0.1.66

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 (342) hide show
  1. package/lib/app/browser-bridge.mjs +66 -0
  2. package/lib/app/configs.mjs +81 -0
  3. package/lib/app/configs.test.mjs +34 -0
  4. package/lib/cli/command-helpers.mjs +2 -10
  5. package/lib/cli/commands/browser/serve.mjs +3 -62
  6. package/lib/cli/db.mjs +3 -68
  7. package/lib/config/binaries.mjs +34 -0
  8. package/lib/config/database.mjs +9 -6
  9. package/lib/config/index.mjs +2 -31
  10. package/lib/config/runtime.mjs +24 -95
  11. package/lib/config/validation.mjs +18 -62
  12. package/lib/coverage/backend-discovery.mjs +68 -85
  13. package/lib/coverage/backend-discovery.test.mjs +55 -46
  14. package/lib/coverage/evidence.mjs +15 -3
  15. package/lib/coverage/evidence.test.mjs +13 -4
  16. package/lib/coverage/graph-builder.mjs +25 -26
  17. package/lib/coverage/next-ir-to-graph.mjs +239 -0
  18. package/lib/coverage/routing.mjs +2 -29
  19. package/lib/coverage/routing.test.mjs +0 -16
  20. package/lib/coverage/shared.mjs +22 -82
  21. package/lib/database/fingerprint.mjs +1 -1
  22. package/lib/known-failures/github-cache.mjs +159 -0
  23. package/lib/known-failures/github-transport.mjs +174 -0
  24. package/lib/known-failures/github.mjs +17 -325
  25. package/lib/runner/default-runtime-runner.mjs +4 -10
  26. package/lib/runner/execution-config.mjs +12 -83
  27. package/lib/runner/live-run.mjs +45 -0
  28. package/lib/runner/managed-processes.mjs +29 -0
  29. package/lib/runner/orchestrator.mjs +57 -188
  30. package/lib/runner/playwright-runner.mjs +4 -11
  31. package/lib/runner/run-finalization.mjs +132 -0
  32. package/lib/runner/run-guards.mjs +45 -0
  33. package/lib/runner/runtime-preparation.mjs +1 -1
  34. package/lib/runner/services.mjs +3 -4
  35. package/lib/runner/template-steps.mjs +8 -45
  36. package/lib/runner/template.mjs +7 -28
  37. package/lib/shared/configured-steps.mjs +178 -0
  38. package/lib/shared/configured-steps.test.mjs +73 -0
  39. package/lib/shared/execution-schema.mjs +74 -0
  40. package/lib/shared/execution-schema.test.mjs +26 -0
  41. package/node_modules/@elench/next-analysis/dist/api-routes.d.ts +7 -0
  42. package/node_modules/@elench/next-analysis/dist/api-routes.d.ts.map +1 -0
  43. package/node_modules/@elench/next-analysis/dist/api-routes.js +66 -0
  44. package/node_modules/@elench/next-analysis/dist/api-routes.js.map +1 -0
  45. package/node_modules/@elench/next-analysis/dist/app-root.d.ts +2 -0
  46. package/node_modules/@elench/next-analysis/dist/app-root.d.ts.map +1 -0
  47. package/node_modules/@elench/next-analysis/dist/app-root.js +7 -0
  48. package/node_modules/@elench/next-analysis/dist/app-root.js.map +1 -0
  49. package/node_modules/@elench/next-analysis/dist/backend-links.d.ts +8 -0
  50. package/node_modules/@elench/next-analysis/dist/backend-links.d.ts.map +1 -0
  51. package/node_modules/@elench/next-analysis/dist/backend-links.js +30 -0
  52. package/node_modules/@elench/next-analysis/dist/backend-links.js.map +1 -0
  53. package/node_modules/@elench/next-analysis/dist/index.d.ts +11 -0
  54. package/node_modules/@elench/next-analysis/dist/index.d.ts.map +1 -0
  55. package/node_modules/@elench/next-analysis/dist/index.js +10 -0
  56. package/node_modules/@elench/next-analysis/dist/index.js.map +1 -0
  57. package/node_modules/@elench/next-analysis/dist/pages.d.ts +7 -0
  58. package/node_modules/@elench/next-analysis/dist/pages.d.ts.map +1 -0
  59. package/node_modules/@elench/next-analysis/dist/pages.js +47 -0
  60. package/node_modules/@elench/next-analysis/dist/pages.js.map +1 -0
  61. package/node_modules/@elench/next-analysis/dist/project.d.ts +3 -0
  62. package/node_modules/@elench/next-analysis/dist/project.d.ts.map +1 -0
  63. package/node_modules/@elench/next-analysis/dist/project.js +102 -0
  64. package/node_modules/@elench/next-analysis/dist/project.js.map +1 -0
  65. package/node_modules/@elench/next-analysis/dist/route-tree.d.ts +7 -0
  66. package/node_modules/@elench/next-analysis/dist/route-tree.d.ts.map +1 -0
  67. package/node_modules/@elench/next-analysis/dist/route-tree.js +575 -0
  68. package/node_modules/@elench/next-analysis/dist/route-tree.js.map +1 -0
  69. package/node_modules/@elench/next-analysis/dist/routes.d.ts +6 -0
  70. package/node_modules/@elench/next-analysis/dist/routes.d.ts.map +1 -0
  71. package/node_modules/@elench/next-analysis/dist/routes.js +41 -0
  72. package/node_modules/@elench/next-analysis/dist/routes.js.map +1 -0
  73. package/node_modules/@elench/next-analysis/dist/server-actions.d.ts +7 -0
  74. package/node_modules/@elench/next-analysis/dist/server-actions.d.ts.map +1 -0
  75. package/node_modules/@elench/next-analysis/dist/server-actions.js +37 -0
  76. package/node_modules/@elench/next-analysis/dist/server-actions.js.map +1 -0
  77. package/node_modules/@elench/next-analysis/dist/shared.d.ts +57 -0
  78. package/node_modules/@elench/next-analysis/dist/shared.d.ts.map +1 -0
  79. package/node_modules/@elench/next-analysis/dist/shared.js +229 -0
  80. package/node_modules/@elench/next-analysis/dist/shared.js.map +1 -0
  81. package/node_modules/@elench/next-analysis/dist/swc.d.ts +53 -0
  82. package/node_modules/@elench/next-analysis/dist/swc.d.ts.map +1 -0
  83. package/node_modules/@elench/next-analysis/dist/swc.js +387 -0
  84. package/node_modules/@elench/next-analysis/dist/swc.js.map +1 -0
  85. package/node_modules/@elench/next-analysis/dist/types.d.ts +125 -0
  86. package/node_modules/@elench/next-analysis/dist/types.d.ts.map +1 -0
  87. package/node_modules/@elench/next-analysis/dist/types.js +2 -0
  88. package/node_modules/@elench/next-analysis/dist/types.js.map +1 -0
  89. package/node_modules/@elench/next-analysis/package.json +27 -0
  90. package/node_modules/@elench/testkit-bridge/dist/index.d.ts +36 -0
  91. package/node_modules/@elench/testkit-bridge/dist/index.d.ts.map +1 -0
  92. package/node_modules/@elench/testkit-bridge/dist/index.js +538 -0
  93. package/node_modules/@elench/testkit-bridge/dist/index.js.map +1 -0
  94. package/node_modules/@elench/testkit-bridge/package.json +16 -5
  95. package/node_modules/@elench/testkit-protocol/dist/index.d.ts +190 -0
  96. package/node_modules/@elench/testkit-protocol/dist/index.d.ts.map +1 -0
  97. package/node_modules/@elench/testkit-protocol/dist/index.js +296 -0
  98. package/node_modules/@elench/testkit-protocol/dist/index.js.map +1 -0
  99. package/node_modules/@elench/testkit-protocol/package.json +14 -7
  100. package/node_modules/@elench/ts-analysis/dist/callables.d.ts +8 -0
  101. package/node_modules/@elench/ts-analysis/dist/callables.d.ts.map +1 -0
  102. package/node_modules/@elench/ts-analysis/dist/callables.js +126 -0
  103. package/node_modules/@elench/ts-analysis/dist/callables.js.map +1 -0
  104. package/node_modules/@elench/ts-analysis/dist/exports.d.ts +6 -0
  105. package/node_modules/@elench/ts-analysis/dist/exports.d.ts.map +1 -0
  106. package/node_modules/@elench/ts-analysis/dist/exports.js +70 -0
  107. package/node_modules/@elench/ts-analysis/dist/exports.js.map +1 -0
  108. package/node_modules/@elench/ts-analysis/dist/index.d.ts +10 -0
  109. package/node_modules/@elench/ts-analysis/dist/index.d.ts.map +1 -0
  110. package/node_modules/@elench/ts-analysis/{src/index.mjs → dist/index.js} +9 -14
  111. package/node_modules/@elench/ts-analysis/dist/index.js.map +1 -0
  112. package/node_modules/@elench/ts-analysis/dist/jsx.d.ts +9 -0
  113. package/node_modules/@elench/ts-analysis/dist/jsx.d.ts.map +1 -0
  114. package/node_modules/@elench/ts-analysis/dist/jsx.js +68 -0
  115. package/node_modules/@elench/ts-analysis/dist/jsx.js.map +1 -0
  116. package/node_modules/@elench/ts-analysis/dist/project.d.ts +5 -0
  117. package/node_modules/@elench/ts-analysis/dist/project.d.ts.map +1 -0
  118. package/node_modules/@elench/ts-analysis/dist/project.js +90 -0
  119. package/node_modules/@elench/ts-analysis/dist/project.js.map +1 -0
  120. package/node_modules/@elench/ts-analysis/dist/requests.d.ts +6 -0
  121. package/node_modules/@elench/ts-analysis/dist/requests.d.ts.map +1 -0
  122. package/node_modules/@elench/ts-analysis/dist/requests.js +140 -0
  123. package/node_modules/@elench/ts-analysis/dist/requests.js.map +1 -0
  124. package/node_modules/@elench/ts-analysis/dist/resolution.d.ts +4 -0
  125. package/node_modules/@elench/ts-analysis/dist/resolution.d.ts.map +1 -0
  126. package/node_modules/@elench/ts-analysis/dist/resolution.js +53 -0
  127. package/node_modules/@elench/ts-analysis/dist/resolution.js.map +1 -0
  128. package/node_modules/@elench/ts-analysis/dist/shared.d.ts +6 -0
  129. package/node_modules/@elench/ts-analysis/dist/shared.d.ts.map +1 -0
  130. package/node_modules/@elench/ts-analysis/dist/shared.js +31 -0
  131. package/node_modules/@elench/ts-analysis/dist/shared.js.map +1 -0
  132. package/node_modules/@elench/ts-analysis/dist/syntax.d.ts +7 -0
  133. package/node_modules/@elench/ts-analysis/dist/syntax.d.ts.map +1 -0
  134. package/node_modules/@elench/ts-analysis/dist/syntax.js +27 -0
  135. package/node_modules/@elench/ts-analysis/dist/syntax.js.map +1 -0
  136. package/node_modules/@elench/ts-analysis/dist/types.d.ts +58 -0
  137. package/node_modules/@elench/ts-analysis/dist/types.d.ts.map +1 -0
  138. package/node_modules/@elench/ts-analysis/dist/types.js +2 -0
  139. package/node_modules/@elench/ts-analysis/dist/types.js.map +1 -0
  140. package/node_modules/@elench/ts-analysis/package.json +18 -2
  141. package/node_modules/@next/routing/README.md +91 -0
  142. package/node_modules/@next/routing/dist/__tests__/captures.test.d.ts +1 -0
  143. package/node_modules/@next/routing/dist/__tests__/conditions.test.d.ts +1 -0
  144. package/node_modules/@next/routing/dist/__tests__/dynamic-after-rewrites.test.d.ts +1 -0
  145. package/node_modules/@next/routing/dist/__tests__/i18n-resolve-routes.test.d.ts +1 -0
  146. package/node_modules/@next/routing/dist/__tests__/i18n.test.d.ts +1 -0
  147. package/node_modules/@next/routing/dist/__tests__/middleware.test.d.ts +1 -0
  148. package/node_modules/@next/routing/dist/__tests__/normalize-next-data.test.d.ts +1 -0
  149. package/node_modules/@next/routing/dist/__tests__/redirects.test.d.ts +1 -0
  150. package/node_modules/@next/routing/dist/__tests__/resolve-routes.test.d.ts +1 -0
  151. package/node_modules/@next/routing/dist/__tests__/rewrites.test.d.ts +1 -0
  152. package/node_modules/@next/routing/dist/destination.d.ts +22 -0
  153. package/node_modules/@next/routing/dist/i18n.d.ts +48 -0
  154. package/node_modules/@next/routing/dist/index.d.ts +5 -0
  155. package/node_modules/@next/routing/dist/index.js +1 -0
  156. package/node_modules/@next/routing/dist/matchers.d.ts +12 -0
  157. package/node_modules/@next/routing/dist/middleware.d.ts +12 -0
  158. package/node_modules/@next/routing/dist/next-data.d.ts +10 -0
  159. package/node_modules/@next/routing/dist/resolve-routes.d.ts +2 -0
  160. package/node_modules/@next/routing/dist/types.d.ts +97 -0
  161. package/node_modules/@next/routing/package.json +39 -0
  162. package/node_modules/@swc/core/README.md +100 -0
  163. package/node_modules/@swc/core/Visitor.d.ts +218 -0
  164. package/node_modules/@swc/core/Visitor.js +1399 -0
  165. package/node_modules/@swc/core/binding.d.ts +59 -0
  166. package/node_modules/@swc/core/binding.js +368 -0
  167. package/node_modules/@swc/core/index.d.ts +120 -0
  168. package/node_modules/@swc/core/index.js +443 -0
  169. package/node_modules/@swc/core/package.json +120 -0
  170. package/node_modules/@swc/core/postinstall.js +148 -0
  171. package/node_modules/@swc/core/spack.d.ts +51 -0
  172. package/node_modules/@swc/core/spack.js +87 -0
  173. package/node_modules/@swc/core/util.d.ts +1 -0
  174. package/node_modules/@swc/core/util.js +104 -0
  175. package/node_modules/@swc/core-linux-x64-gnu/README.md +3 -0
  176. package/node_modules/@swc/core-linux-x64-gnu/package.json +46 -0
  177. package/node_modules/@swc/core-linux-x64-gnu/swc.linux-x64-gnu.node +0 -0
  178. package/node_modules/@swc/counter/CHANGELOG.md +7 -0
  179. package/node_modules/@swc/counter/README.md +7 -0
  180. package/node_modules/@swc/counter/index.js +1 -0
  181. package/node_modules/@swc/counter/package.json +27 -0
  182. package/node_modules/@swc/types/LICENSE +201 -0
  183. package/node_modules/@swc/types/README.md +4 -0
  184. package/node_modules/@swc/types/assumptions.d.ts +92 -0
  185. package/node_modules/@swc/types/assumptions.js +2 -0
  186. package/node_modules/@swc/types/index.d.ts +2049 -0
  187. package/node_modules/@swc/types/index.js +2 -0
  188. package/node_modules/@swc/types/package.json +40 -0
  189. package/node_modules/typescript/LICENSE.txt +55 -0
  190. package/node_modules/typescript/README.md +50 -0
  191. package/node_modules/typescript/SECURITY.md +41 -0
  192. package/node_modules/typescript/ThirdPartyNoticeText.txt +193 -0
  193. package/node_modules/typescript/bin/tsc +2 -0
  194. package/node_modules/typescript/bin/tsserver +2 -0
  195. package/node_modules/typescript/lib/_tsc.js +133818 -0
  196. package/node_modules/typescript/lib/_tsserver.js +659 -0
  197. package/node_modules/typescript/lib/_typingsInstaller.js +222 -0
  198. package/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +2122 -0
  199. package/node_modules/typescript/lib/de/diagnosticMessages.generated.json +2122 -0
  200. package/node_modules/typescript/lib/es/diagnosticMessages.generated.json +2122 -0
  201. package/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +2122 -0
  202. package/node_modules/typescript/lib/it/diagnosticMessages.generated.json +2122 -0
  203. package/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +2122 -0
  204. package/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +2122 -0
  205. package/node_modules/typescript/lib/lib.d.ts +22 -0
  206. package/node_modules/typescript/lib/lib.decorators.d.ts +384 -0
  207. package/node_modules/typescript/lib/lib.decorators.legacy.d.ts +22 -0
  208. package/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +41 -0
  209. package/node_modules/typescript/lib/lib.dom.d.ts +39429 -0
  210. package/node_modules/typescript/lib/lib.dom.iterable.d.ts +571 -0
  211. package/node_modules/typescript/lib/lib.es2015.collection.d.ts +147 -0
  212. package/node_modules/typescript/lib/lib.es2015.core.d.ts +597 -0
  213. package/node_modules/typescript/lib/lib.es2015.d.ts +28 -0
  214. package/node_modules/typescript/lib/lib.es2015.generator.d.ts +77 -0
  215. package/node_modules/typescript/lib/lib.es2015.iterable.d.ts +605 -0
  216. package/node_modules/typescript/lib/lib.es2015.promise.d.ts +81 -0
  217. package/node_modules/typescript/lib/lib.es2015.proxy.d.ts +128 -0
  218. package/node_modules/typescript/lib/lib.es2015.reflect.d.ts +144 -0
  219. package/node_modules/typescript/lib/lib.es2015.symbol.d.ts +46 -0
  220. package/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +326 -0
  221. package/node_modules/typescript/lib/lib.es2016.array.include.d.ts +116 -0
  222. package/node_modules/typescript/lib/lib.es2016.d.ts +21 -0
  223. package/node_modules/typescript/lib/lib.es2016.full.d.ts +23 -0
  224. package/node_modules/typescript/lib/lib.es2016.intl.d.ts +31 -0
  225. package/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +21 -0
  226. package/node_modules/typescript/lib/lib.es2017.d.ts +26 -0
  227. package/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
  228. package/node_modules/typescript/lib/lib.es2017.full.d.ts +23 -0
  229. package/node_modules/typescript/lib/lib.es2017.intl.d.ts +44 -0
  230. package/node_modules/typescript/lib/lib.es2017.object.d.ts +49 -0
  231. package/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +135 -0
  232. package/node_modules/typescript/lib/lib.es2017.string.d.ts +45 -0
  233. package/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +53 -0
  234. package/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +77 -0
  235. package/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +53 -0
  236. package/node_modules/typescript/lib/lib.es2018.d.ts +24 -0
  237. package/node_modules/typescript/lib/lib.es2018.full.d.ts +24 -0
  238. package/node_modules/typescript/lib/lib.es2018.intl.d.ts +83 -0
  239. package/node_modules/typescript/lib/lib.es2018.promise.d.ts +30 -0
  240. package/node_modules/typescript/lib/lib.es2018.regexp.d.ts +37 -0
  241. package/node_modules/typescript/lib/lib.es2019.array.d.ts +79 -0
  242. package/node_modules/typescript/lib/lib.es2019.d.ts +24 -0
  243. package/node_modules/typescript/lib/lib.es2019.full.d.ts +24 -0
  244. package/node_modules/typescript/lib/lib.es2019.intl.d.ts +23 -0
  245. package/node_modules/typescript/lib/lib.es2019.object.d.ts +33 -0
  246. package/node_modules/typescript/lib/lib.es2019.string.d.ts +37 -0
  247. package/node_modules/typescript/lib/lib.es2019.symbol.d.ts +24 -0
  248. package/node_modules/typescript/lib/lib.es2020.bigint.d.ts +765 -0
  249. package/node_modules/typescript/lib/lib.es2020.d.ts +27 -0
  250. package/node_modules/typescript/lib/lib.es2020.date.d.ts +42 -0
  251. package/node_modules/typescript/lib/lib.es2020.full.d.ts +24 -0
  252. package/node_modules/typescript/lib/lib.es2020.intl.d.ts +474 -0
  253. package/node_modules/typescript/lib/lib.es2020.number.d.ts +28 -0
  254. package/node_modules/typescript/lib/lib.es2020.promise.d.ts +47 -0
  255. package/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +99 -0
  256. package/node_modules/typescript/lib/lib.es2020.string.d.ts +44 -0
  257. package/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +41 -0
  258. package/node_modules/typescript/lib/lib.es2021.d.ts +23 -0
  259. package/node_modules/typescript/lib/lib.es2021.full.d.ts +24 -0
  260. package/node_modules/typescript/lib/lib.es2021.intl.d.ts +166 -0
  261. package/node_modules/typescript/lib/lib.es2021.promise.d.ts +48 -0
  262. package/node_modules/typescript/lib/lib.es2021.string.d.ts +33 -0
  263. package/node_modules/typescript/lib/lib.es2021.weakref.d.ts +78 -0
  264. package/node_modules/typescript/lib/lib.es2022.array.d.ts +121 -0
  265. package/node_modules/typescript/lib/lib.es2022.d.ts +25 -0
  266. package/node_modules/typescript/lib/lib.es2022.error.d.ts +75 -0
  267. package/node_modules/typescript/lib/lib.es2022.full.d.ts +24 -0
  268. package/node_modules/typescript/lib/lib.es2022.intl.d.ts +145 -0
  269. package/node_modules/typescript/lib/lib.es2022.object.d.ts +26 -0
  270. package/node_modules/typescript/lib/lib.es2022.regexp.d.ts +39 -0
  271. package/node_modules/typescript/lib/lib.es2022.string.d.ts +25 -0
  272. package/node_modules/typescript/lib/lib.es2023.array.d.ts +924 -0
  273. package/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
  274. package/node_modules/typescript/lib/lib.es2023.d.ts +22 -0
  275. package/node_modules/typescript/lib/lib.es2023.full.d.ts +24 -0
  276. package/node_modules/typescript/lib/lib.es2023.intl.d.ts +56 -0
  277. package/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +65 -0
  278. package/node_modules/typescript/lib/lib.es2024.collection.d.ts +29 -0
  279. package/node_modules/typescript/lib/lib.es2024.d.ts +26 -0
  280. package/node_modules/typescript/lib/lib.es2024.full.d.ts +24 -0
  281. package/node_modules/typescript/lib/lib.es2024.object.d.ts +29 -0
  282. package/node_modules/typescript/lib/lib.es2024.promise.d.ts +35 -0
  283. package/node_modules/typescript/lib/lib.es2024.regexp.d.ts +25 -0
  284. package/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +68 -0
  285. package/node_modules/typescript/lib/lib.es2024.string.d.ts +29 -0
  286. package/node_modules/typescript/lib/lib.es5.d.ts +4601 -0
  287. package/node_modules/typescript/lib/lib.es6.d.ts +23 -0
  288. package/node_modules/typescript/lib/lib.esnext.array.d.ts +35 -0
  289. package/node_modules/typescript/lib/lib.esnext.collection.d.ts +96 -0
  290. package/node_modules/typescript/lib/lib.esnext.d.ts +29 -0
  291. package/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
  292. package/node_modules/typescript/lib/lib.esnext.disposable.d.ts +193 -0
  293. package/node_modules/typescript/lib/lib.esnext.error.d.ts +24 -0
  294. package/node_modules/typescript/lib/lib.esnext.float16.d.ts +445 -0
  295. package/node_modules/typescript/lib/lib.esnext.full.d.ts +24 -0
  296. package/node_modules/typescript/lib/lib.esnext.intl.d.ts +21 -0
  297. package/node_modules/typescript/lib/lib.esnext.iterator.d.ts +148 -0
  298. package/node_modules/typescript/lib/lib.esnext.promise.d.ts +34 -0
  299. package/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +25 -0
  300. package/node_modules/typescript/lib/lib.scripthost.d.ts +322 -0
  301. package/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +41 -0
  302. package/node_modules/typescript/lib/lib.webworker.d.ts +13150 -0
  303. package/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +23 -0
  304. package/node_modules/typescript/lib/lib.webworker.iterable.d.ts +340 -0
  305. package/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +2122 -0
  306. package/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +2122 -0
  307. package/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +2122 -0
  308. package/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +2122 -0
  309. package/node_modules/typescript/lib/tsc.js +8 -0
  310. package/node_modules/typescript/lib/tsserver.js +8 -0
  311. package/node_modules/typescript/lib/tsserverlibrary.d.ts +17 -0
  312. package/node_modules/typescript/lib/tsserverlibrary.js +21 -0
  313. package/node_modules/typescript/lib/typesMap.json +497 -0
  314. package/node_modules/typescript/lib/typescript.d.ts +11437 -0
  315. package/node_modules/typescript/lib/typescript.js +200276 -0
  316. package/node_modules/typescript/lib/typingsInstaller.js +8 -0
  317. package/node_modules/typescript/lib/watchGuard.js +53 -0
  318. package/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +2122 -0
  319. package/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +2122 -0
  320. package/node_modules/typescript/package.json +120 -0
  321. package/package.json +13 -8
  322. package/lib/coverage/fs-walk.mjs +0 -64
  323. package/lib/coverage/next-discovery.mjs +0 -205
  324. package/lib/coverage/next-static-analysis.mjs +0 -1045
  325. package/node_modules/@elench/testkit-bridge/src/index.mjs +0 -583
  326. package/node_modules/@elench/testkit-bridge/src/index.test.mjs +0 -409
  327. package/node_modules/@elench/testkit-protocol/src/index.d.ts +0 -231
  328. package/node_modules/@elench/testkit-protocol/src/index.mjs +0 -265
  329. package/node_modules/@elench/testkit-protocol/src/index.test.mjs +0 -242
  330. package/node_modules/@elench/ts-analysis/src/callables.mjs +0 -135
  331. package/node_modules/@elench/ts-analysis/src/callables.test.mjs +0 -55
  332. package/node_modules/@elench/ts-analysis/src/exports.mjs +0 -69
  333. package/node_modules/@elench/ts-analysis/src/exports.test.mjs +0 -50
  334. package/node_modules/@elench/ts-analysis/src/jsx.mjs +0 -69
  335. package/node_modules/@elench/ts-analysis/src/jsx.test.mjs +0 -43
  336. package/node_modules/@elench/ts-analysis/src/project.mjs +0 -100
  337. package/node_modules/@elench/ts-analysis/src/project.test.mjs +0 -54
  338. package/node_modules/@elench/ts-analysis/src/requests.mjs +0 -141
  339. package/node_modules/@elench/ts-analysis/src/requests.test.mjs +0 -35
  340. package/node_modules/@elench/ts-analysis/src/resolution.mjs +0 -53
  341. package/node_modules/@elench/ts-analysis/src/shared.mjs +0 -32
  342. package/node_modules/@elench/ts-analysis/src/syntax.mjs +0 -27
@@ -0,0 +1,120 @@
1
+ {
2
+ "name": "typescript",
3
+ "author": "Microsoft Corp.",
4
+ "homepage": "https://www.typescriptlang.org/",
5
+ "version": "5.9.3",
6
+ "license": "Apache-2.0",
7
+ "description": "TypeScript is a language for application scale JavaScript development",
8
+ "keywords": [
9
+ "TypeScript",
10
+ "Microsoft",
11
+ "compiler",
12
+ "language",
13
+ "javascript"
14
+ ],
15
+ "bugs": {
16
+ "url": "https://github.com/microsoft/TypeScript/issues"
17
+ },
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "https://github.com/microsoft/TypeScript.git"
21
+ },
22
+ "main": "./lib/typescript.js",
23
+ "typings": "./lib/typescript.d.ts",
24
+ "bin": {
25
+ "tsc": "./bin/tsc",
26
+ "tsserver": "./bin/tsserver"
27
+ },
28
+ "engines": {
29
+ "node": ">=14.17"
30
+ },
31
+ "files": [
32
+ "bin",
33
+ "lib",
34
+ "!lib/enu",
35
+ "LICENSE.txt",
36
+ "README.md",
37
+ "SECURITY.md",
38
+ "ThirdPartyNoticeText.txt",
39
+ "!**/.gitattributes"
40
+ ],
41
+ "devDependencies": {
42
+ "@dprint/formatter": "^0.4.1",
43
+ "@dprint/typescript": "0.93.4",
44
+ "@esfx/canceltoken": "^1.0.0",
45
+ "@eslint/js": "^9.20.0",
46
+ "@octokit/rest": "^21.1.1",
47
+ "@types/chai": "^4.3.20",
48
+ "@types/diff": "^7.0.1",
49
+ "@types/minimist": "^1.2.5",
50
+ "@types/mocha": "^10.0.10",
51
+ "@types/ms": "^0.7.34",
52
+ "@types/node": "latest",
53
+ "@types/source-map-support": "^0.5.10",
54
+ "@types/which": "^3.0.4",
55
+ "@typescript-eslint/rule-tester": "^8.24.1",
56
+ "@typescript-eslint/type-utils": "^8.24.1",
57
+ "@typescript-eslint/utils": "^8.24.1",
58
+ "azure-devops-node-api": "^14.1.0",
59
+ "c8": "^10.1.3",
60
+ "chai": "^4.5.0",
61
+ "chokidar": "^4.0.3",
62
+ "diff": "^7.0.0",
63
+ "dprint": "^0.49.0",
64
+ "esbuild": "^0.25.0",
65
+ "eslint": "^9.20.1",
66
+ "eslint-formatter-autolinkable-stylish": "^1.4.0",
67
+ "eslint-plugin-regexp": "^2.7.0",
68
+ "fast-xml-parser": "^4.5.2",
69
+ "glob": "^10.4.5",
70
+ "globals": "^15.15.0",
71
+ "hereby": "^1.10.0",
72
+ "jsonc-parser": "^3.3.1",
73
+ "knip": "^5.44.4",
74
+ "minimist": "^1.2.8",
75
+ "mocha": "^10.8.2",
76
+ "mocha-fivemat-progress-reporter": "^0.1.0",
77
+ "monocart-coverage-reports": "^2.12.1",
78
+ "ms": "^2.1.3",
79
+ "picocolors": "^1.1.1",
80
+ "playwright": "^1.50.1",
81
+ "source-map-support": "^0.5.21",
82
+ "tslib": "^2.8.1",
83
+ "typescript": "^5.7.3",
84
+ "typescript-eslint": "^8.24.1",
85
+ "which": "^3.0.1"
86
+ },
87
+ "overrides": {
88
+ "typescript@*": "$typescript"
89
+ },
90
+ "scripts": {
91
+ "test": "hereby runtests-parallel --light=false",
92
+ "test:eslint-rules": "hereby run-eslint-rules-tests",
93
+ "build": "npm run build:compiler && npm run build:tests",
94
+ "build:compiler": "hereby local",
95
+ "build:tests": "hereby tests",
96
+ "build:tests:notypecheck": "hereby tests --no-typecheck",
97
+ "clean": "hereby clean",
98
+ "gulp": "hereby",
99
+ "lint": "hereby lint",
100
+ "knip": "hereby knip",
101
+ "format": "dprint fmt",
102
+ "setup-hooks": "node scripts/link-hooks.mjs"
103
+ },
104
+ "browser": {
105
+ "fs": false,
106
+ "os": false,
107
+ "path": false,
108
+ "crypto": false,
109
+ "buffer": false,
110
+ "source-map-support": false,
111
+ "inspector": false,
112
+ "perf_hooks": false
113
+ },
114
+ "packageManager": "npm@8.19.4",
115
+ "volta": {
116
+ "node": "20.1.0",
117
+ "npm": "8.19.4"
118
+ },
119
+ "gitHead": "c63de15a992d37f0d6cec03ac7631872838602cb"
120
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elench/testkit",
3
- "version": "0.1.64",
3
+ "version": "0.1.66",
4
4
  "description": "CLI for discovering and running local HTTP, DAL, and Playwright test suites",
5
5
  "type": "module",
6
6
  "workspaces": [
@@ -40,10 +40,12 @@
40
40
  "topicSeparator": " "
41
41
  },
42
42
  "scripts": {
43
- "test": "vitest run",
44
- "test:unit": "vitest run lib packages",
45
- "test:integration": "vitest run test/integration",
46
- "test:system": "vitest run test/system --passWithNoTests"
43
+ "build:packages": "npm --workspace packages/testkit-protocol run build && npm --workspace packages/ts-analysis run build && npm --workspace packages/next-analysis run build && npm --workspace packages/testkit-bridge run build",
44
+ "typecheck:packages": "npm --workspace packages/testkit-protocol run typecheck && npm --workspace packages/ts-analysis run typecheck && npm --workspace packages/next-analysis run typecheck && npm --workspace packages/testkit-bridge run typecheck && npm --workspace packages/testkit-extension run compile",
45
+ "test": "npm run build:packages && vitest run",
46
+ "test:unit": "npm run build:packages && vitest run lib packages",
47
+ "test:integration": "npm run build:packages && vitest run test/integration",
48
+ "test:system": "npm run build:packages && vitest run test/system --passWithNoTests"
47
49
  },
48
50
  "files": [
49
51
  "bin/",
@@ -51,18 +53,21 @@
51
53
  "vendor/"
52
54
  ],
53
55
  "bundleDependencies": [
56
+ "@elench/next-analysis",
54
57
  "@elench/ts-analysis",
55
58
  "@elench/testkit-bridge",
56
59
  "@elench/testkit-protocol"
57
60
  ],
58
61
  "devDependencies": {
62
+ "@types/node": "^24.9.1",
59
63
  "@playwright/test": "^1.52.0",
60
64
  "vitest": "^3.2.4"
61
65
  },
62
66
  "dependencies": {
63
- "@elench/ts-analysis": "0.1.64",
64
- "@elench/testkit-bridge": "0.1.64",
65
- "@elench/testkit-protocol": "0.1.64",
67
+ "@elench/next-analysis": "0.1.66",
68
+ "@elench/ts-analysis": "0.1.66",
69
+ "@elench/testkit-bridge": "0.1.66",
70
+ "@elench/testkit-protocol": "0.1.66",
66
71
  "@babel/code-frame": "^7.29.0",
67
72
  "@oclif/core": "^4.10.6",
68
73
  "esbuild": "^0.25.11",
@@ -1,64 +0,0 @@
1
- import fs from "fs";
2
- import path from "path";
3
- import {
4
- normalizeDiscoveryPath,
5
- shouldExcludeDiscoveryPath,
6
- } from "../discovery/path-policy.mjs";
7
- import { normalizePath } from "./shared.mjs";
8
- import { resolveImportToSourceFile as resolveImportToSourceFileFromTsAnalysis } from "@elench/ts-analysis";
9
-
10
- export function findNextAppRoot(serviceRoot) {
11
- const candidates = [path.join(serviceRoot, "app"), path.join(serviceRoot, "src", "app")];
12
- return candidates.find((candidate) => fs.existsSync(candidate) && fs.statSync(candidate).isDirectory()) || null;
13
- }
14
-
15
- export function resolveServiceRoot(productDir, config) {
16
- const cwd = config?.local?.cwd || ".";
17
- return path.resolve(productDir, cwd);
18
- }
19
-
20
- export function walkFiles(rootDir, options = {}) {
21
- if (!fs.existsSync(rootDir)) return [];
22
- const baseDir = options.baseDir || rootDir;
23
- const exclude = options.exclude || [];
24
- const results = [];
25
- const queue = [rootDir];
26
- while (queue.length > 0) {
27
- const current = queue.pop();
28
- for (const entry of fs.readdirSync(current, { withFileTypes: true })) {
29
- if (entry.isSymbolicLink()) continue;
30
- const absolutePath = path.join(current, entry.name);
31
- if (entry.isDirectory()) {
32
- const relativeDirPath = normalizeDiscoveryPath(path.relative(baseDir, absolutePath));
33
- if (shouldExcludeDiscoveryPath(relativeDirPath, exclude)) continue;
34
- queue.push(absolutePath);
35
- continue;
36
- }
37
- if (entry.isFile()) {
38
- results.push(absolutePath);
39
- }
40
- }
41
- }
42
- return results.sort((left, right) => left.localeCompare(right));
43
- }
44
-
45
- export function resolveImportToSourceFile(serviceRoot, fromFilePath, specifier) {
46
- return resolveImportToSourceFileFromTsAnalysis(serviceRoot, fromFilePath, specifier);
47
- }
48
-
49
- export function resolveSourceCandidate(basePath) {
50
- const direct = [basePath, `${basePath}.ts`, `${basePath}.tsx`, `${basePath}.js`, `${basePath}.mjs`];
51
- for (const candidate of direct) {
52
- if (fs.existsSync(candidate) && fs.statSync(candidate).isFile()) return candidate;
53
- }
54
- const indexed = [
55
- path.join(basePath, "index.ts"),
56
- path.join(basePath, "index.tsx"),
57
- path.join(basePath, "index.js"),
58
- path.join(basePath, "index.mjs"),
59
- ];
60
- for (const candidate of indexed) {
61
- if (fs.existsSync(candidate) && fs.statSync(candidate).isFile()) return candidate;
62
- }
63
- return null;
64
- }
@@ -1,205 +0,0 @@
1
- import fs from "fs";
2
- import path from "path";
3
- import { analyzeNextRouteTree } from "./next-static-analysis.mjs";
4
- import { extractBackendImports, extractExportedFunctions, extractExportedMethodBodies } from "./backend-discovery.mjs";
5
- import { resolveImportToSourceFile, walkFiles } from "./fs-walk.mjs";
6
- import { routeFromApiFile, routeFromAppFile } from "./routing.mjs";
7
- import {
8
- dedupeNodes,
9
- hasWord,
10
- HTTP_METHODS,
11
- isServerActionFile,
12
- normalizePath,
13
- normalizeRoute,
14
- pageLabelFromRoute,
15
- toApiRequestPath,
16
- } from "./shared.mjs";
17
-
18
- export function discoverPageViews({ serviceName, serviceRoot, nextAppRoot, exclude = [], resolveImportToSourceFile }) {
19
- const pageFiles = walkFiles(nextAppRoot, { baseDir: serviceRoot, exclude }).filter(
20
- (filePath) => filePath.endsWith("/page.tsx") || filePath.endsWith("/page.ts")
21
- );
22
- const nodes = [];
23
- const edges = [];
24
- const pageEntries = [];
25
-
26
- for (const absolutePath of pageFiles) {
27
- const relativePath = normalizePath(path.relative(serviceRoot, absolutePath));
28
- const route = routeFromAppFile(nextAppRoot, absolutePath);
29
- const content = fs.readFileSync(absolutePath, "utf8");
30
- const node = {
31
- id: `page_view:${serviceName}:${route}`,
32
- kind: "page_view",
33
- service: serviceName,
34
- label: pageLabelFromRoute(route),
35
- route,
36
- filePath: relativePath,
37
- };
38
- nodes.push(node);
39
- const routeRootFiles = collectRouteRootFiles(nextAppRoot, absolutePath)
40
- .map((absoluteRootPath) => ({
41
- filePath: normalizePath(path.relative(serviceRoot, absoluteRootPath)),
42
- content: fs.readFileSync(absoluteRootPath, "utf8"),
43
- }));
44
-
45
- const pageAnalysis = analyzeNextRouteTree({
46
- serviceName,
47
- serviceRoot,
48
- route,
49
- rootFiles: routeRootFiles,
50
- readSourceFile: (resolvedPath) => {
51
- const absoluteResolved = path.join(serviceRoot, resolvedPath);
52
- return fs.existsSync(absoluteResolved) ? fs.readFileSync(absoluteResolved, "utf8") : null;
53
- },
54
- resolveImportPath: (fromFilePath, specifier) => resolveImportToSourceFile(serviceRoot, fromFilePath, specifier),
55
- isServerActionFile,
56
- normalizeRoute,
57
- });
58
-
59
- for (const analysisNode of pageAnalysis.nodes) nodes.push(analysisNode);
60
- for (const analysisEdge of pageAnalysis.edges) edges.push(analysisEdge);
61
-
62
- pageEntries.push({
63
- node,
64
- route,
65
- filePath: relativePath,
66
- requests: pageAnalysis.requests,
67
- serverActionRefs: pageAnalysis.serverActionRefs,
68
- surfacesByTargetValue: pageAnalysis.surfacesByTargetValue,
69
- });
70
- }
71
-
72
- return { nodes, edges, pageEntries };
73
- }
74
-
75
- function collectRouteRootFiles(nextAppRoot, pageAbsolutePath) {
76
- const rootFiles = [];
77
- let currentDir = path.dirname(pageAbsolutePath);
78
- const appRoot = path.resolve(nextAppRoot);
79
-
80
- while (currentDir.startsWith(appRoot)) {
81
- const layoutFile = resolveRouteCompanion(currentDir, "layout");
82
- if (layoutFile) rootFiles.push(layoutFile);
83
- if (currentDir === appRoot) break;
84
- currentDir = path.dirname(currentDir);
85
- }
86
-
87
- rootFiles.reverse();
88
- rootFiles.push(pageAbsolutePath);
89
- return [...new Set(rootFiles)];
90
- }
91
-
92
- function resolveRouteCompanion(directoryPath, baseName) {
93
- const candidates = [
94
- path.join(directoryPath, `${baseName}.tsx`),
95
- path.join(directoryPath, `${baseName}.ts`),
96
- path.join(directoryPath, `${baseName}.jsx`),
97
- path.join(directoryPath, `${baseName}.js`),
98
- ];
99
- return candidates.find((candidate) => fs.existsSync(candidate)) || null;
100
- }
101
-
102
- export function discoverApiRoutes({ serviceName, serviceRoot, nextAppRoot, exclude = [], resolveImportToSourceFile }) {
103
- const routeFiles = walkFiles(path.join(nextAppRoot, "api"), { baseDir: serviceRoot, exclude }).filter(
104
- (filePath) => filePath.endsWith("/route.ts") || filePath.endsWith("/route.tsx") || filePath.endsWith("/route.js")
105
- );
106
- const nodes = [];
107
- const edges = [];
108
- const routeEntries = [];
109
-
110
- for (const absolutePath of routeFiles) {
111
- const filePath = normalizePath(path.relative(serviceRoot, absolutePath));
112
- const route = routeFromApiFile(nextAppRoot, absolutePath);
113
- const requestPath = toApiRequestPath(route);
114
- const content = fs.readFileSync(absolutePath, "utf8");
115
- const methodBodies = extractExportedMethodBodies(content, HTTP_METHODS);
116
- const backendImports = extractBackendImports({ serviceName, serviceRoot, filePath, content, resolveImportToSourceFile });
117
-
118
- for (const [method, body] of methodBodies) {
119
- const node = {
120
- id: `api_route:${serviceName}:${method}:${requestPath}`,
121
- kind: "api_route",
122
- service: serviceName,
123
- label: `${method} ${requestPath}`,
124
- route,
125
- method,
126
- path: requestPath,
127
- filePath,
128
- };
129
- nodes.push(node);
130
-
131
- const matchedCapabilities = backendImports.filter((entry) => hasWord(body, entry.importName));
132
- for (const capability of matchedCapabilities) {
133
- nodes.push(capability.node);
134
- edges.push({
135
- id: `delegates_to:${node.id}:${capability.node.id}`,
136
- kind: "delegates_to",
137
- from: node.id,
138
- to: capability.node.id,
139
- confidence: "high",
140
- });
141
- }
142
-
143
- routeEntries.push({ node, method, route, requestPath, filePath });
144
- }
145
- }
146
-
147
- return { nodes: dedupeNodes(nodes), edges, routeEntries };
148
- }
149
-
150
- export function discoverServerActions({ serviceName, serviceRoot, exclude = [], resolveImportToSourceFile }) {
151
- const appRoots = [path.join(serviceRoot, "app"), path.join(serviceRoot, "src", "app")].filter((candidate) =>
152
- fs.existsSync(candidate)
153
- );
154
- const nodes = [];
155
- const edges = [];
156
- const actionEntries = [];
157
-
158
- for (const appRoot of appRoots) {
159
- for (const absolutePath of walkFiles(appRoot, { baseDir: serviceRoot, exclude })) {
160
- if (!absolutePath.endsWith(".ts") && !absolutePath.endsWith(".tsx")) continue;
161
- const content = fs.readFileSync(absolutePath, "utf8");
162
- if (!isServerActionFile(content)) continue;
163
-
164
- const relativePath = normalizePath(path.relative(serviceRoot, absolutePath));
165
- const backendImports = extractBackendImports({
166
- serviceName,
167
- serviceRoot,
168
- filePath: relativePath,
169
- content,
170
- resolveImportToSourceFile,
171
- });
172
- const exportedFunctions = extractExportedFunctions(content);
173
-
174
- for (const exported of exportedFunctions) {
175
- const node = {
176
- id: `server_action:${serviceName}:${relativePath}#${exported.name}`,
177
- kind: "server_action",
178
- service: serviceName,
179
- label: exported.name,
180
- filePath: relativePath,
181
- };
182
- nodes.push(node);
183
- actionEntries.push({
184
- node,
185
- exportName: exported.name,
186
- sourceFile: relativePath,
187
- });
188
-
189
- const matchedCapabilities = backendImports.filter((entry) => hasWord(exported.body, entry.importName));
190
- for (const capability of matchedCapabilities) {
191
- nodes.push(capability.node);
192
- edges.push({
193
- id: `delegates_to:${node.id}:${capability.node.id}`,
194
- kind: "delegates_to",
195
- from: node.id,
196
- to: capability.node.id,
197
- confidence: "high",
198
- });
199
- }
200
- }
201
- }
202
- }
203
-
204
- return { nodes: dedupeNodes(nodes), edges, actionEntries };
205
- }