@matter/tools 0.11.0-alpha.0-20241005-e3e4e4a7a

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 (414) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +100 -0
  3. package/bin/build.js +10 -0
  4. package/bin/prepare-chip.js +5 -0
  5. package/bin/run.js +7 -0
  6. package/bin/test.js +7 -0
  7. package/bin/version.js +7 -0
  8. package/chip/Dockerfile +23 -0
  9. package/dist/cjs/building/builder.d.ts +35 -0
  10. package/dist/cjs/building/builder.d.ts.map +1 -0
  11. package/dist/cjs/building/builder.js +210 -0
  12. package/dist/cjs/building/builder.js.map +6 -0
  13. package/dist/cjs/building/cli.d.ts +7 -0
  14. package/dist/cjs/building/cli.d.ts.map +1 -0
  15. package/dist/cjs/building/cli.js +100 -0
  16. package/dist/cjs/building/cli.js.map +6 -0
  17. package/dist/cjs/building/error.d.ts +16 -0
  18. package/dist/cjs/building/error.d.ts.map +1 -0
  19. package/dist/cjs/building/error.js +50 -0
  20. package/dist/cjs/building/error.js.map +6 -0
  21. package/dist/cjs/building/graph.d.ts +37 -0
  22. package/dist/cjs/building/graph.d.ts.map +1 -0
  23. package/dist/cjs/building/graph.js +222 -0
  24. package/dist/cjs/building/graph.js.map +6 -0
  25. package/dist/cjs/building/project.d.ts +56 -0
  26. package/dist/cjs/building/project.d.ts.map +1 -0
  27. package/dist/cjs/building/project.js +239 -0
  28. package/dist/cjs/building/project.js.map +6 -0
  29. package/dist/cjs/building/tsconfig.d.ts +16 -0
  30. package/dist/cjs/building/tsconfig.d.ts.map +1 -0
  31. package/dist/cjs/building/tsconfig.js +70 -0
  32. package/dist/cjs/building/tsconfig.js.map +6 -0
  33. package/dist/cjs/building/typescript/context.d.ts +16 -0
  34. package/dist/cjs/building/typescript/context.d.ts.map +1 -0
  35. package/dist/cjs/building/typescript/context.js +82 -0
  36. package/dist/cjs/building/typescript/context.js.map +6 -0
  37. package/dist/cjs/building/typescript/incremental-compiler.d.ts +10 -0
  38. package/dist/cjs/building/typescript/incremental-compiler.d.ts.map +1 -0
  39. package/dist/cjs/building/typescript/incremental-compiler.js +119 -0
  40. package/dist/cjs/building/typescript/incremental-compiler.js.map +6 -0
  41. package/dist/cjs/building/typescript/language-service.d.ts +13 -0
  42. package/dist/cjs/building/typescript/language-service.d.ts.map +1 -0
  43. package/dist/cjs/building/typescript/language-service.js +109 -0
  44. package/dist/cjs/building/typescript/language-service.js.map +6 -0
  45. package/dist/cjs/building/typescript/solution-builder.d.ts +10 -0
  46. package/dist/cjs/building/typescript/solution-builder.d.ts.map +1 -0
  47. package/dist/cjs/building/typescript/solution-builder.js +72 -0
  48. package/dist/cjs/building/typescript/solution-builder.js.map +6 -0
  49. package/dist/cjs/building/typescript.d.ts +13 -0
  50. package/dist/cjs/building/typescript.d.ts.map +1 -0
  51. package/dist/cjs/building/typescript.js +31 -0
  52. package/dist/cjs/building/typescript.js.map +6 -0
  53. package/dist/cjs/index.d.ts +15 -0
  54. package/dist/cjs/index.d.ts.map +1 -0
  55. package/dist/cjs/index.js +32 -0
  56. package/dist/cjs/index.js.map +6 -0
  57. package/dist/cjs/package.json +3 -0
  58. package/dist/cjs/running/cli.d.ts +19 -0
  59. package/dist/cjs/running/cli.d.ts.map +1 -0
  60. package/dist/cjs/running/cli.js +82 -0
  61. package/dist/cjs/running/cli.js.map +6 -0
  62. package/dist/cjs/running/execute.d.ts +8 -0
  63. package/dist/cjs/running/execute.d.ts.map +1 -0
  64. package/dist/cjs/running/execute.js +82 -0
  65. package/dist/cjs/running/execute.js.map +6 -0
  66. package/dist/cjs/testing/chip/pics-file.d.ts +20 -0
  67. package/dist/cjs/testing/chip/pics-file.d.ts.map +1 -0
  68. package/dist/cjs/testing/chip/pics-file.js +79 -0
  69. package/dist/cjs/testing/chip/pics-file.js.map +6 -0
  70. package/dist/cjs/testing/chip.d.ts +60 -0
  71. package/dist/cjs/testing/chip.d.ts.map +1 -0
  72. package/dist/cjs/testing/chip.js +306 -0
  73. package/dist/cjs/testing/chip.js.map +6 -0
  74. package/dist/cjs/testing/cli.d.ts +9 -0
  75. package/dist/cjs/testing/cli.d.ts.map +1 -0
  76. package/dist/cjs/testing/cli.js +117 -0
  77. package/dist/cjs/testing/cli.js.map +6 -0
  78. package/dist/cjs/testing/failure-detail.d.ts +19 -0
  79. package/dist/cjs/testing/failure-detail.d.ts.map +1 -0
  80. package/dist/cjs/testing/failure-detail.js +143 -0
  81. package/dist/cjs/testing/failure-detail.js.map +6 -0
  82. package/dist/cjs/testing/files.d.ts +8 -0
  83. package/dist/cjs/testing/files.d.ts.map +1 -0
  84. package/dist/cjs/testing/files.js +52 -0
  85. package/dist/cjs/testing/files.js.map +6 -0
  86. package/dist/cjs/testing/global-declarations.d.ts +38 -0
  87. package/dist/cjs/testing/global-declarations.d.ts.map +1 -0
  88. package/dist/cjs/testing/global-declarations.js +8 -0
  89. package/dist/cjs/testing/global-declarations.js.map +6 -0
  90. package/dist/cjs/testing/global-definitions.d.ts +7 -0
  91. package/dist/cjs/testing/global-definitions.d.ts.map +1 -0
  92. package/dist/cjs/testing/global-definitions.js +50 -0
  93. package/dist/cjs/testing/global-definitions.js.map +6 -0
  94. package/dist/cjs/testing/mocha.d.ts +36 -0
  95. package/dist/cjs/testing/mocha.d.ts.map +1 -0
  96. package/dist/cjs/testing/mocha.js +155 -0
  97. package/dist/cjs/testing/mocha.js.map +6 -0
  98. package/dist/cjs/testing/mocharc.cjs +68 -0
  99. package/dist/cjs/testing/mocharc.d.cts +7 -0
  100. package/dist/cjs/testing/mocks/crypto.d.ts +7 -0
  101. package/dist/cjs/testing/mocks/crypto.d.ts.map +1 -0
  102. package/dist/cjs/testing/mocks/crypto.js +79 -0
  103. package/dist/cjs/testing/mocks/crypto.js.map +6 -0
  104. package/dist/cjs/testing/mocks/environment.d.ts +7 -0
  105. package/dist/cjs/testing/mocks/environment.d.ts.map +1 -0
  106. package/dist/cjs/testing/mocks/environment.js +7 -0
  107. package/dist/cjs/testing/mocks/environment.js.map +6 -0
  108. package/dist/cjs/testing/mocks/index.d.ts +10 -0
  109. package/dist/cjs/testing/mocks/index.d.ts.map +1 -0
  110. package/dist/cjs/testing/mocks/index.js +27 -0
  111. package/dist/cjs/testing/mocks/index.js.map +6 -0
  112. package/dist/cjs/testing/mocks/logging.d.ts +28 -0
  113. package/dist/cjs/testing/mocks/logging.d.ts.map +1 -0
  114. package/dist/cjs/testing/mocks/logging.js +93 -0
  115. package/dist/cjs/testing/mocks/logging.js.map +6 -0
  116. package/dist/cjs/testing/mocks/time.d.ts +88 -0
  117. package/dist/cjs/testing/mocks/time.d.ts.map +1 -0
  118. package/dist/cjs/testing/mocks/time.js +250 -0
  119. package/dist/cjs/testing/mocks/time.js.map +6 -0
  120. package/dist/cjs/testing/node.d.ts +16 -0
  121. package/dist/cjs/testing/node.d.ts.map +1 -0
  122. package/dist/cjs/testing/node.js +108 -0
  123. package/dist/cjs/testing/node.js.map +6 -0
  124. package/dist/cjs/testing/options.d.ts +19 -0
  125. package/dist/cjs/testing/options.d.ts.map +1 -0
  126. package/dist/cjs/testing/options.js +62 -0
  127. package/dist/cjs/testing/options.js.map +6 -0
  128. package/dist/cjs/testing/reporter.d.ts +50 -0
  129. package/dist/cjs/testing/reporter.d.ts.map +1 -0
  130. package/dist/cjs/testing/reporter.js +137 -0
  131. package/dist/cjs/testing/reporter.js.map +6 -0
  132. package/dist/cjs/testing/runner.d.ts +22 -0
  133. package/dist/cjs/testing/runner.d.ts.map +1 -0
  134. package/dist/cjs/testing/runner.js +116 -0
  135. package/dist/cjs/testing/runner.js.map +6 -0
  136. package/dist/cjs/testing/web.d.ts +8 -0
  137. package/dist/cjs/testing/web.d.ts.map +1 -0
  138. package/dist/cjs/testing/web.js +165 -0
  139. package/dist/cjs/testing/web.js.map +6 -0
  140. package/dist/cjs/util/bootstrap.mjs +105 -0
  141. package/dist/cjs/util/docker.d.ts +27 -0
  142. package/dist/cjs/util/docker.d.ts.map +1 -0
  143. package/dist/cjs/util/docker.js +163 -0
  144. package/dist/cjs/util/docker.js.map +6 -0
  145. package/dist/cjs/util/errors.d.ts +8 -0
  146. package/dist/cjs/util/errors.d.ts.map +1 -0
  147. package/dist/cjs/util/errors.js +55 -0
  148. package/dist/cjs/util/errors.js.map +6 -0
  149. package/dist/cjs/util/index.d.ts +8 -0
  150. package/dist/cjs/util/index.d.ts.map +1 -0
  151. package/dist/cjs/util/index.js +25 -0
  152. package/dist/cjs/util/index.js.map +6 -0
  153. package/dist/cjs/util/node-shims.d.ts +7 -0
  154. package/dist/cjs/util/node-shims.d.ts.map +1 -0
  155. package/dist/cjs/util/node-shims.js +12 -0
  156. package/dist/cjs/util/node-shims.js.map +6 -0
  157. package/dist/cjs/util/package.d.ts +61 -0
  158. package/dist/cjs/util/package.d.ts.map +1 -0
  159. package/dist/cjs/util/package.js +324 -0
  160. package/dist/cjs/util/package.js.map +6 -0
  161. package/dist/cjs/util/progress.d.ts +31 -0
  162. package/dist/cjs/util/progress.d.ts.map +1 -0
  163. package/dist/cjs/util/progress.js +232 -0
  164. package/dist/cjs/util/progress.js.map +6 -0
  165. package/dist/cjs/util/tools-path.cjs +13 -0
  166. package/dist/cjs/util/tools-path.d.cts +7 -0
  167. package/dist/cjs/util/trace-unhandled.d.ts +9 -0
  168. package/dist/cjs/util/trace-unhandled.d.ts.map +1 -0
  169. package/dist/cjs/util/trace-unhandled.js +48 -0
  170. package/dist/cjs/util/trace-unhandled.js.map +6 -0
  171. package/dist/cjs/util/wtf.d.ts +10 -0
  172. package/dist/cjs/util/wtf.d.ts.map +1 -0
  173. package/dist/cjs/util/wtf.js +53 -0
  174. package/dist/cjs/util/wtf.js.map +6 -0
  175. package/dist/cjs/versioning/cli.d.ts +7 -0
  176. package/dist/cjs/versioning/cli.d.ts.map +1 -0
  177. package/dist/cjs/versioning/cli.js +62 -0
  178. package/dist/cjs/versioning/cli.js.map +6 -0
  179. package/dist/cjs/versioning/versioner.d.ts +18 -0
  180. package/dist/cjs/versioning/versioner.d.ts.map +1 -0
  181. package/dist/cjs/versioning/versioner.js +145 -0
  182. package/dist/cjs/versioning/versioner.js.map +6 -0
  183. package/dist/esm/building/builder.d.ts +35 -0
  184. package/dist/esm/building/builder.d.ts.map +1 -0
  185. package/dist/esm/building/builder.js +180 -0
  186. package/dist/esm/building/builder.js.map +6 -0
  187. package/dist/esm/building/cli.d.ts +7 -0
  188. package/dist/esm/building/cli.d.ts.map +1 -0
  189. package/dist/esm/building/cli.js +70 -0
  190. package/dist/esm/building/cli.js.map +6 -0
  191. package/dist/esm/building/error.d.ts +16 -0
  192. package/dist/esm/building/error.d.ts.map +1 -0
  193. package/dist/esm/building/error.js +30 -0
  194. package/dist/esm/building/error.js.map +6 -0
  195. package/dist/esm/building/graph.d.ts +37 -0
  196. package/dist/esm/building/graph.d.ts.map +1 -0
  197. package/dist/esm/building/graph.js +192 -0
  198. package/dist/esm/building/graph.js.map +6 -0
  199. package/dist/esm/building/project.d.ts +56 -0
  200. package/dist/esm/building/project.d.ts.map +1 -0
  201. package/dist/esm/building/project.js +219 -0
  202. package/dist/esm/building/project.js.map +6 -0
  203. package/dist/esm/building/tsconfig.d.ts +16 -0
  204. package/dist/esm/building/tsconfig.d.ts.map +1 -0
  205. package/dist/esm/building/tsconfig.js +50 -0
  206. package/dist/esm/building/tsconfig.js.map +6 -0
  207. package/dist/esm/building/typescript/context.d.ts +16 -0
  208. package/dist/esm/building/typescript/context.d.ts.map +1 -0
  209. package/dist/esm/building/typescript/context.js +68 -0
  210. package/dist/esm/building/typescript/context.js.map +6 -0
  211. package/dist/esm/building/typescript/incremental-compiler.d.ts +10 -0
  212. package/dist/esm/building/typescript/incremental-compiler.d.ts.map +1 -0
  213. package/dist/esm/building/typescript/incremental-compiler.js +99 -0
  214. package/dist/esm/building/typescript/incremental-compiler.js.map +6 -0
  215. package/dist/esm/building/typescript/language-service.d.ts +13 -0
  216. package/dist/esm/building/typescript/language-service.d.ts.map +1 -0
  217. package/dist/esm/building/typescript/language-service.js +99 -0
  218. package/dist/esm/building/typescript/language-service.js.map +6 -0
  219. package/dist/esm/building/typescript/solution-builder.d.ts +10 -0
  220. package/dist/esm/building/typescript/solution-builder.d.ts.map +1 -0
  221. package/dist/esm/building/typescript/solution-builder.js +52 -0
  222. package/dist/esm/building/typescript/solution-builder.js.map +6 -0
  223. package/dist/esm/building/typescript.d.ts +13 -0
  224. package/dist/esm/building/typescript.d.ts.map +1 -0
  225. package/dist/esm/building/typescript.js +11 -0
  226. package/dist/esm/building/typescript.js.map +6 -0
  227. package/dist/esm/index.d.ts +15 -0
  228. package/dist/esm/index.d.ts.map +1 -0
  229. package/dist/esm/index.js +15 -0
  230. package/dist/esm/index.js.map +6 -0
  231. package/dist/esm/package.json +3 -0
  232. package/dist/esm/running/cli.d.ts +19 -0
  233. package/dist/esm/running/cli.d.ts.map +1 -0
  234. package/dist/esm/running/cli.js +62 -0
  235. package/dist/esm/running/cli.js.map +6 -0
  236. package/dist/esm/running/execute.d.ts +8 -0
  237. package/dist/esm/running/execute.d.ts.map +1 -0
  238. package/dist/esm/running/execute.js +52 -0
  239. package/dist/esm/running/execute.js.map +6 -0
  240. package/dist/esm/testing/chip/pics-file.d.ts +20 -0
  241. package/dist/esm/testing/chip/pics-file.d.ts.map +1 -0
  242. package/dist/esm/testing/chip/pics-file.js +59 -0
  243. package/dist/esm/testing/chip/pics-file.js.map +6 -0
  244. package/dist/esm/testing/chip.d.ts +60 -0
  245. package/dist/esm/testing/chip.d.ts.map +1 -0
  246. package/dist/esm/testing/chip.js +286 -0
  247. package/dist/esm/testing/chip.js.map +6 -0
  248. package/dist/esm/testing/cli.d.ts +9 -0
  249. package/dist/esm/testing/cli.d.ts.map +1 -0
  250. package/dist/esm/testing/cli.js +87 -0
  251. package/dist/esm/testing/cli.js.map +6 -0
  252. package/dist/esm/testing/failure-detail.d.ts +19 -0
  253. package/dist/esm/testing/failure-detail.d.ts.map +1 -0
  254. package/dist/esm/testing/failure-detail.js +113 -0
  255. package/dist/esm/testing/failure-detail.js.map +6 -0
  256. package/dist/esm/testing/files.d.ts +8 -0
  257. package/dist/esm/testing/files.d.ts.map +1 -0
  258. package/dist/esm/testing/files.js +32 -0
  259. package/dist/esm/testing/files.js.map +6 -0
  260. package/dist/esm/testing/global-declarations.d.ts +38 -0
  261. package/dist/esm/testing/global-declarations.d.ts.map +1 -0
  262. package/dist/esm/testing/global-declarations.js +7 -0
  263. package/dist/esm/testing/global-declarations.js.map +6 -0
  264. package/dist/esm/testing/global-definitions.d.ts +7 -0
  265. package/dist/esm/testing/global-definitions.d.ts.map +1 -0
  266. package/dist/esm/testing/global-definitions.js +27 -0
  267. package/dist/esm/testing/global-definitions.js.map +6 -0
  268. package/dist/esm/testing/mocha.d.ts +36 -0
  269. package/dist/esm/testing/mocha.d.ts.map +1 -0
  270. package/dist/esm/testing/mocha.js +135 -0
  271. package/dist/esm/testing/mocha.js.map +6 -0
  272. package/dist/esm/testing/mocharc.cjs +68 -0
  273. package/dist/esm/testing/mocharc.d.cts +7 -0
  274. package/dist/esm/testing/mocks/crypto.d.ts +7 -0
  275. package/dist/esm/testing/mocks/crypto.d.ts.map +1 -0
  276. package/dist/esm/testing/mocks/crypto.js +59 -0
  277. package/dist/esm/testing/mocks/crypto.js.map +6 -0
  278. package/dist/esm/testing/mocks/environment.d.ts +7 -0
  279. package/dist/esm/testing/mocks/environment.d.ts.map +1 -0
  280. package/dist/esm/testing/mocks/environment.js +6 -0
  281. package/dist/esm/testing/mocks/environment.js.map +6 -0
  282. package/dist/esm/testing/mocks/index.d.ts +10 -0
  283. package/dist/esm/testing/mocks/index.d.ts.map +1 -0
  284. package/dist/esm/testing/mocks/index.js +10 -0
  285. package/dist/esm/testing/mocks/index.js.map +6 -0
  286. package/dist/esm/testing/mocks/logging.d.ts +28 -0
  287. package/dist/esm/testing/mocks/logging.d.ts.map +1 -0
  288. package/dist/esm/testing/mocks/logging.js +63 -0
  289. package/dist/esm/testing/mocks/logging.js.map +6 -0
  290. package/dist/esm/testing/mocks/time.d.ts +88 -0
  291. package/dist/esm/testing/mocks/time.d.ts.map +1 -0
  292. package/dist/esm/testing/mocks/time.js +230 -0
  293. package/dist/esm/testing/mocks/time.js.map +6 -0
  294. package/dist/esm/testing/node.d.ts +16 -0
  295. package/dist/esm/testing/node.d.ts.map +1 -0
  296. package/dist/esm/testing/node.js +78 -0
  297. package/dist/esm/testing/node.js.map +6 -0
  298. package/dist/esm/testing/options.d.ts +19 -0
  299. package/dist/esm/testing/options.d.ts.map +1 -0
  300. package/dist/esm/testing/options.js +42 -0
  301. package/dist/esm/testing/options.js.map +6 -0
  302. package/dist/esm/testing/reporter.d.ts +50 -0
  303. package/dist/esm/testing/reporter.d.ts.map +1 -0
  304. package/dist/esm/testing/reporter.js +107 -0
  305. package/dist/esm/testing/reporter.js.map +6 -0
  306. package/dist/esm/testing/runner.d.ts +22 -0
  307. package/dist/esm/testing/runner.d.ts.map +1 -0
  308. package/dist/esm/testing/runner.js +86 -0
  309. package/dist/esm/testing/runner.js.map +6 -0
  310. package/dist/esm/testing/web.d.ts +8 -0
  311. package/dist/esm/testing/web.d.ts.map +1 -0
  312. package/dist/esm/testing/web.js +135 -0
  313. package/dist/esm/testing/web.js.map +6 -0
  314. package/dist/esm/util/bootstrap.mjs +105 -0
  315. package/dist/esm/util/docker.d.ts +27 -0
  316. package/dist/esm/util/docker.d.ts.map +1 -0
  317. package/dist/esm/util/docker.js +133 -0
  318. package/dist/esm/util/docker.js.map +6 -0
  319. package/dist/esm/util/errors.d.ts +8 -0
  320. package/dist/esm/util/errors.d.ts.map +1 -0
  321. package/dist/esm/util/errors.js +35 -0
  322. package/dist/esm/util/errors.js.map +6 -0
  323. package/dist/esm/util/index.d.ts +8 -0
  324. package/dist/esm/util/index.d.ts.map +1 -0
  325. package/dist/esm/util/index.js +8 -0
  326. package/dist/esm/util/index.js.map +6 -0
  327. package/dist/esm/util/node-shims.d.ts +7 -0
  328. package/dist/esm/util/node-shims.d.ts.map +1 -0
  329. package/dist/esm/util/node-shims.js +11 -0
  330. package/dist/esm/util/node-shims.js.map +6 -0
  331. package/dist/esm/util/package.d.ts +61 -0
  332. package/dist/esm/util/package.d.ts.map +1 -0
  333. package/dist/esm/util/package.js +304 -0
  334. package/dist/esm/util/package.js.map +6 -0
  335. package/dist/esm/util/progress.d.ts +31 -0
  336. package/dist/esm/util/progress.d.ts.map +1 -0
  337. package/dist/esm/util/progress.js +202 -0
  338. package/dist/esm/util/progress.js.map +6 -0
  339. package/dist/esm/util/tools-path.cjs +13 -0
  340. package/dist/esm/util/tools-path.d.cts +7 -0
  341. package/dist/esm/util/trace-unhandled.d.ts +9 -0
  342. package/dist/esm/util/trace-unhandled.d.ts.map +1 -0
  343. package/dist/esm/util/trace-unhandled.js +18 -0
  344. package/dist/esm/util/trace-unhandled.js.map +6 -0
  345. package/dist/esm/util/wtf.d.ts +10 -0
  346. package/dist/esm/util/wtf.d.ts.map +1 -0
  347. package/dist/esm/util/wtf.js +23 -0
  348. package/dist/esm/util/wtf.js.map +6 -0
  349. package/dist/esm/versioning/cli.d.ts +7 -0
  350. package/dist/esm/versioning/cli.d.ts.map +1 -0
  351. package/dist/esm/versioning/cli.js +32 -0
  352. package/dist/esm/versioning/cli.js.map +6 -0
  353. package/dist/esm/versioning/versioner.d.ts +18 -0
  354. package/dist/esm/versioning/versioner.d.ts.map +1 -0
  355. package/dist/esm/versioning/versioner.js +115 -0
  356. package/dist/esm/versioning/versioner.js.map +6 -0
  357. package/package.json +82 -0
  358. package/src/building/builder.ts +216 -0
  359. package/src/building/cli.ts +89 -0
  360. package/src/building/error.ts +29 -0
  361. package/src/building/graph.ts +251 -0
  362. package/src/building/project.ts +313 -0
  363. package/src/building/tsconfig.ts +69 -0
  364. package/src/building/typescript/context.ts +85 -0
  365. package/src/building/typescript/incremental-compiler.ts +126 -0
  366. package/src/building/typescript/language-service.ts +132 -0
  367. package/src/building/typescript/solution-builder.ts +67 -0
  368. package/src/building/typescript.ts +15 -0
  369. package/src/index.ts +15 -0
  370. package/src/running/cli.ts +95 -0
  371. package/src/running/execute.ts +63 -0
  372. package/src/testing/chip/pics-file.ts +71 -0
  373. package/src/testing/chip/pics.properties +53 -0
  374. package/src/testing/chip.ts +420 -0
  375. package/src/testing/cli.ts +122 -0
  376. package/src/testing/failure-detail.ts +126 -0
  377. package/src/testing/files.ts +35 -0
  378. package/src/testing/global-declarations.ts +50 -0
  379. package/src/testing/global-definitions.ts +35 -0
  380. package/src/testing/index.html +16 -0
  381. package/src/testing/mocha.ts +162 -0
  382. package/src/testing/mocharc.cjs +68 -0
  383. package/src/testing/mocharc.d.cts +7 -0
  384. package/src/testing/mocks/crypto.ts +70 -0
  385. package/src/testing/mocks/environment.ts +7 -0
  386. package/src/testing/mocks/index.ts +10 -0
  387. package/src/testing/mocks/logging.ts +99 -0
  388. package/src/testing/mocks/time.ts +294 -0
  389. package/src/testing/node.ts +114 -0
  390. package/src/testing/options.ts +58 -0
  391. package/src/testing/reporter.ts +144 -0
  392. package/src/testing/runner.ts +98 -0
  393. package/src/testing/web.ts +174 -0
  394. package/src/tsconfig.json +14 -0
  395. package/src/util/bootstrap.mjs +105 -0
  396. package/src/util/docker.ts +176 -0
  397. package/src/util/errors.ts +33 -0
  398. package/src/util/index.ts +8 -0
  399. package/src/util/node-shims.ts +13 -0
  400. package/src/util/package.ts +369 -0
  401. package/src/util/progress.ts +252 -0
  402. package/src/util/tools-path.cjs +13 -0
  403. package/src/util/tools-path.d.cts +7 -0
  404. package/src/util/trace-unhandled.ts +17 -0
  405. package/src/util/wtf.ts +25 -0
  406. package/src/versioning/cli.ts +43 -0
  407. package/src/versioning/versioner.ts +139 -0
  408. package/test/testing/mocks/MockTimeTest.ts +113 -0
  409. package/test/tsconfig.json +15 -0
  410. package/tsc/tsconfig.app.json +7 -0
  411. package/tsc/tsconfig.base.json +41 -0
  412. package/tsc/tsconfig.lib.json +12 -0
  413. package/tsc/tsconfig.test.json +7 -0
  414. package/tsconfig.json +5 -0
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var failure_detail_exports = {};
30
+ __export(failure_detail_exports, {
31
+ FailureDetail: () => FailureDetail
32
+ });
33
+ module.exports = __toCommonJS(failure_detail_exports);
34
+ var import_ansi_colors = __toESM(require("ansi-colors"), 1);
35
+ /**
36
+ * @license
37
+ * Copyright 2022-2024 Matter.js Authors
38
+ * SPDX-License-Identifier: Apache-2.0
39
+ */
40
+ function FailureDetail(error, logs) {
41
+ let diff;
42
+ const { message, stack, cause, errors } = parseError(error);
43
+ if (error.expected && error.actual) {
44
+ if (FailureDetail.diff === void 0) {
45
+ diff = "(no diff implementation installed)";
46
+ } else {
47
+ diff = FailureDetail.diff(error.actual.toString(), error.expected.toString());
48
+ diff = diff.trim().replace(/^ {6}/gms, "");
49
+ }
50
+ }
51
+ const result = { message };
52
+ if (diff) {
53
+ result.diff = diff;
54
+ }
55
+ if (stack) {
56
+ result.stack = stack;
57
+ }
58
+ if (logs?.length) {
59
+ result.logs = logs.join("\n");
60
+ }
61
+ if (cause) {
62
+ result.cause = cause;
63
+ }
64
+ if (errors) {
65
+ result.errors = errors;
66
+ }
67
+ return result;
68
+ }
69
+ ((FailureDetail2) => {
70
+ function dump(failure, prefix = "") {
71
+ process.stdout.write(import_ansi_colors.default.redBright(`${prefix}${failure.message}
72
+
73
+ `));
74
+ if (failure.diff) {
75
+ process.stdout.write(`${prefix} ${failure.diff.replace(/\n/gm, "\n ")}
76
+
77
+ `);
78
+ }
79
+ if (failure.stack) {
80
+ process.stdout.write(`${prefix}${import_ansi_colors.default.dim(failure.stack.replace(/\n/gm, `
81
+ ${prefix}`))}
82
+
83
+ `);
84
+ }
85
+ if (failure.cause) {
86
+ process.stdout.write(`${prefix}Caused by:
87
+
88
+ `);
89
+ dump(failure.cause, prefix);
90
+ }
91
+ if (failure.errors?.length) {
92
+ let num = 0;
93
+ for (const cause of failure.errors) {
94
+ process.stdout.write(`${prefix}Cause #${++num}:
95
+
96
+ `);
97
+ dump(cause, `${prefix} `);
98
+ }
99
+ }
100
+ if (failure.logs) {
101
+ process.stdout.write(` ${failure.logs.replace(/\n/gm, "\n ")}
102
+
103
+ `);
104
+ }
105
+ }
106
+ FailureDetail2.dump = dump;
107
+ })(FailureDetail || (FailureDetail = {}));
108
+ function parseError(error) {
109
+ let message, stack, cause, errors;
110
+ if (error === void 0 || error === null) {
111
+ message = `(error is ${error})`;
112
+ } else {
113
+ message = error.message;
114
+ }
115
+ if (error.stack) {
116
+ let lines = error.stack.trim().split("\n");
117
+ if (!message) {
118
+ message = lines[0];
119
+ }
120
+ lines = lines.filter((line) => line.match(/:\d+:\d+\)?/));
121
+ if (lines.length) {
122
+ stack = lines.map((line) => line.trim()).join("\n");
123
+ }
124
+ } else if (error.message) {
125
+ message = error.message;
126
+ } else {
127
+ message = error.toString();
128
+ }
129
+ message = message.trim().replace(/Error: /, "");
130
+ if (message.endsWith(":")) {
131
+ message = message.slice(0, message.length - 1);
132
+ }
133
+ const errorCause = error.cause;
134
+ if (errorCause) {
135
+ cause = FailureDetail(errorCause);
136
+ }
137
+ const errorErrors = error.errors;
138
+ if (Array.isArray(errorErrors)) {
139
+ errors = errorErrors.map((e) => FailureDetail(e));
140
+ }
141
+ return { message, stack, cause, errors };
142
+ }
143
+ //# sourceMappingURL=failure-detail.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/testing/failure-detail.ts"],
4
+ "mappings": "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",
5
+ "names": ["FailureDetail", "colors"]
6
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare function listSupportFiles(format?: string): string[];
7
+ export declare function maybeStatSync(path: string): import("fs").Stats | undefined;
8
+ //# sourceMappingURL=files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/testing/files.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,wBAAgB,gBAAgB,CAAC,MAAM,SAAQ,YAc9C;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,kCASzC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var files_exports = {};
20
+ __export(files_exports, {
21
+ listSupportFiles: () => listSupportFiles,
22
+ maybeStatSync: () => maybeStatSync
23
+ });
24
+ module.exports = __toCommonJS(files_exports);
25
+ var import_fs = require("fs");
26
+ var import_package = require("../util/package.js");
27
+ /**
28
+ * @license
29
+ * Copyright 2022-2024 Matter.js Authors
30
+ * SPDX-License-Identifier: Apache-2.0
31
+ */
32
+ function listSupportFiles(format = "cjs") {
33
+ const files = Array();
34
+ files.push(import_package.Package.tools.resolve("dist/esm/testing/global-definitions.js"));
35
+ files.push(import_package.Package.tools.resolve("dist/esm/testing/mocks/index.js"));
36
+ const config = new import_package.Package().resolve(`build/${format}/test/test.config.js`);
37
+ if ((0, import_fs.existsSync)(config)) {
38
+ files.push(config);
39
+ }
40
+ return files;
41
+ }
42
+ function maybeStatSync(path) {
43
+ try {
44
+ return (0, import_fs.statSync)(path);
45
+ } catch (e) {
46
+ if (typeof e === "object" && e !== null && "code" in e && (e.code === "ENOENT" || e.code === "ENOTDIR")) {
47
+ return;
48
+ }
49
+ throw e;
50
+ }
51
+ }
52
+ //# sourceMappingURL=files.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/testing/files.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,gBAAqC;AACrC,qBAAwB;AAPxB;AAAA;AAAA;AAAA;AAAA;AASO,SAAS,iBAAiB,SAAS,OAAO;AAC7C,QAAM,QAAQ,MAAc;AAG5B,QAAM,KAAK,uBAAQ,MAAM,QAAQ,wCAAwC,CAAC;AAC1E,QAAM,KAAK,uBAAQ,MAAM,QAAQ,iCAAiC,CAAC;AAGnE,QAAM,SAAS,IAAI,uBAAQ,EAAE,QAAQ,SAAS,MAAM,sBAAsB;AAC1E,UAAI,sBAAW,MAAM,GAAG;AACpB,UAAM,KAAK,MAAM;AAAA,EACrB;AAEA,SAAO;AACX;AAEO,SAAS,cAAc,MAAc;AACxC,MAAI;AACA,eAAO,oBAAS,IAAI;AAAA,EACxB,SAAS,GAAG;AACR,QAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,UAAU,MAAM,EAAE,SAAS,YAAY,EAAE,SAAS,YAAY;AACrG;AAAA,IACJ;AACA,UAAM;AAAA,EACV;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type Chai from "chai";
7
+ import "chai-as-promised";
8
+ import type { MockLogger } from "./mocks/logging.js";
9
+ import type { MockTime } from "./mocks/time.js";
10
+ declare global {
11
+ const expect: typeof Chai.expect;
12
+ let MockTime: MockTime;
13
+ let MockLogger: MockLogger;
14
+ /**
15
+ * If present, the following hooks are engaged by matter.js packages to
16
+ * enable mocking. We use globals rather than imports so we can hook the
17
+ * modules regardless of whether they're loaded as CommonJS or ESM.
18
+ */
19
+ let MatterHooks: undefined | {
20
+ /**
21
+ * Configure time.
22
+ */
23
+ timeSetup?: (Time: any) => void;
24
+ /**
25
+ * Configure logging.
26
+ */
27
+ loggerSetup?: (Logger: any) => void;
28
+ /**
29
+ * Configure crypto.
30
+ */
31
+ cryptoSetup?: (Crypto: any) => void;
32
+ /**
33
+ * Receive intercepted log messages. The logging mocks
34
+ */
35
+ loggerSink?: (level: number, message: string) => void;
36
+ };
37
+ }
38
+ //# sourceMappingURL=global-declarations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-declarations.d.ts","sourceRoot":"","sources":["../../../src/testing/global-declarations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,CAAC,MAAM,CAAC;IAEX,MAAM,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IAGjC,IAAI,QAAQ,EAAE,QAAQ,CAAC;IAGvB,IAAI,UAAU,EAAE,UAAU,CAAC;IAE3B;;;;OAIG;IACH,IAAI,WAAW,EACT,SAAS,GACT;QACI;;WAEG;QACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;QAEhC;;WAEG;QACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;QAEpC;;WAEG;QACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;QAEpC;;WAEG;QACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;KACzD,CAAC;CACX"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var import_chai_as_promised = require("chai-as-promised");
3
+ /**
4
+ * @license
5
+ * Copyright 2022-2024 Matter.js Authors
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ //# sourceMappingURL=global-declarations.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/testing/global-declarations.ts"],
4
+ "mappings": ";AAOA,8BAAO;AAPP;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=global-definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-definitions.d.ts","sourceRoot":"","sources":["../../../src/testing/global-definitions.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var import_chai = __toESM(require("chai"), 1);
25
+ var import_chai_as_promised = __toESM(require("chai-as-promised"), 1);
26
+ var import_mocha = require("./mocha.js");
27
+ var import_crypto = require("./mocks/crypto.js");
28
+ var import_logging = require("./mocks/logging.js");
29
+ var import_time = require("./mocks/time.js");
30
+ /**
31
+ * @license
32
+ * Copyright 2022-2024 Matter.js Authors
33
+ * SPDX-License-Identifier: Apache-2.0
34
+ */
35
+ import_chai.default.config.truncateThreshold = 200;
36
+ import_chai.default.use(import_chai_as_promised.default);
37
+ Object.assign(globalThis, {
38
+ expect: import_chai.default.expect,
39
+ MatterHooks: {
40
+ loggerSetup: import_logging.loggerSetup,
41
+ timeSetup: import_time.timeSetup,
42
+ cryptoSetup: import_crypto.cryptoSetup
43
+ },
44
+ MockLogger: import_logging.TheMockLogger
45
+ });
46
+ if (typeof window === "object" && globalThis === window) {
47
+ (0, import_mocha.generalSetup)(mocha);
48
+ (0, import_mocha.browserSetup)(mocha);
49
+ }
50
+ //# sourceMappingURL=global-definitions.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/testing/global-definitions.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AASA,kBAAiB;AACjB,8BAA2B;AAC3B,mBAA2C;AAC3C,oBAA4B;AAC5B,qBAA2C;AAC3C,kBAA0B;AAd1B;AAAA;AAAA;AAAA;AAAA;AAgBA,YAAAA,QAAK,OAAO,oBAAoB;AAChC,YAAAA,QAAK,IAAI,wBAAAC,OAAc;AAEvB,OAAO,OAAO,YAAY;AAAA,EACtB,QAAQ,YAAAD,QAAK;AAAA,EAEb,aAAa;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EAEA,YAAY;AAChB,CAAC;AAED,IAAI,OAAO,WAAW,YAAY,eAAe,QAAQ;AACrD,iCAAa,KAAK;AAClB,iCAAa,KAAK;AACtB;",
5
+ "names": ["Chai", "ChaiAsPromised"]
6
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type MochaType from "mocha";
7
+ import { Reporter } from "./reporter.js";
8
+ export declare function generalSetup(mocha: MochaType): void;
9
+ export declare function adaptReporter(Mocha: typeof MochaType, title: string, reporter: Reporter): {
10
+ new (runner: Mocha.Runner): {
11
+ readonly translatedStats: {
12
+ total: number;
13
+ complete: number;
14
+ failures: number;
15
+ };
16
+ stats: MochaType.Stats;
17
+ failures: MochaType.Test[];
18
+ runner: MochaType.Runner;
19
+ epilogue(): void;
20
+ done?(failures: number, fn?: ((failures: number) => void) | undefined): void;
21
+ };
22
+ consoleLog: typeof console.log;
23
+ color(type: string, str: string): string;
24
+ generateDiff(actual: string, expected: string): string;
25
+ list(failures: MochaType.Test[]): void;
26
+ useColors: boolean;
27
+ inlineDiffs: boolean;
28
+ readonly colors: MochaType.reporters.Base.ColorMap;
29
+ readonly symbols: MochaType.reporters.Base.SymbolMap;
30
+ readonly window: {
31
+ width: number;
32
+ };
33
+ cursor: typeof MochaType.reporters.Base.cursor;
34
+ };
35
+ export declare function browserSetup(mocha: BrowserMocha): void;
36
+ //# sourceMappingURL=mocha.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mocha.d.ts","sourceRoot":"","sources":["../../../src/testing/mocha.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,SAAS,MAAM,OAAO,CAAC;AAKnC,OAAO,EAAwB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE/D,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,QAkE5C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;iBAM5D,KAAK,CAAC,MAAM;;;;;;;;;;;;uBA0EyuiB,QAAS,GAAG;;;;;;;;;;;;EA1B5xiB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,QAuB/C"}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var mocha_exports = {};
20
+ __export(mocha_exports, {
21
+ adaptReporter: () => adaptReporter,
22
+ browserSetup: () => browserSetup,
23
+ generalSetup: () => generalSetup
24
+ });
25
+ module.exports = __toCommonJS(mocha_exports);
26
+ var import_wtf = require("../util/wtf.js");
27
+ var import_failure_detail = require("./failure-detail.js");
28
+ var import_logging = require("./mocks/logging.js");
29
+ var import_options = require("./options.js");
30
+ var import_reporter = require("./reporter.js");
31
+ /**
32
+ * @license
33
+ * Copyright 2022-2024 Matter.js Authors
34
+ * SPDX-License-Identifier: Apache-2.0
35
+ */
36
+ function generalSetup(mocha) {
37
+ const Base = mocha.constructor.reporters.Base;
38
+ Base.colors["diff added inline"] = "97;42;48;5;22";
39
+ Base.colors["diff removed inline"] = "97;41;48;5;52";
40
+ async function onlyLogFailure(fn) {
41
+ if (!MatterHooks) {
42
+ throw new Error("Matter hooks not loaded");
43
+ }
44
+ const logs = Array();
45
+ const existingSink = MatterHooks.loggerSink;
46
+ try {
47
+ MatterHooks.loggerSink = (_, message) => {
48
+ logs.push(message);
49
+ };
50
+ return await fn();
51
+ } catch (e) {
52
+ process.stdout.write(logs.join("\n"));
53
+ throw e;
54
+ } finally {
55
+ MatterHooks.loggerSink = existingSink;
56
+ }
57
+ }
58
+ function filterLogs(hook) {
59
+ const actual = mocha.suite[hook];
60
+ mocha.suite[hook] = function(fn) {
61
+ return actual.call(this, async function(...args) {
62
+ return await onlyLogFailure(() => fn.apply(this, args));
63
+ });
64
+ };
65
+ }
66
+ filterLogs("beforeAll");
67
+ filterLogs("afterAll");
68
+ filterLogs("beforeEach");
69
+ filterLogs("afterEach");
70
+ const actualBeforeAll = mocha.suite.beforeAll;
71
+ mocha.suite.beforeAll = function(...args) {
72
+ MockTime.reset();
73
+ return actualBeforeAll.apply(this, args);
74
+ };
75
+ mocha.suite.beforeEach(() => {
76
+ for (const hook of import_logging.LoggerHooks.beforeEach) {
77
+ hook(mocha);
78
+ }
79
+ });
80
+ mocha.suite.afterEach(() => {
81
+ for (const hook of import_logging.LoggerHooks.afterEach) {
82
+ hook(mocha);
83
+ }
84
+ });
85
+ import_failure_detail.FailureDetail.diff = Base.generateDiff.bind(Base);
86
+ }
87
+ function adaptReporter(Mocha2, title, reporter) {
88
+ const RUNNER = Mocha2.Runner.constants;
89
+ let logs = Array();
90
+ class MochaReporter extends Mocha2.reporters.Base {
91
+ constructor(runner) {
92
+ super(runner);
93
+ runner.once(RUNNER.EVENT_RUN_BEGIN, () => {
94
+ if (!MatterHooks) {
95
+ throw new Error("Matter hooks not loaded");
96
+ }
97
+ MatterHooks.loggerSink = (_, message) => {
98
+ logs.push(message);
99
+ };
100
+ reporter.beginRun(title, this.translatedStats);
101
+ });
102
+ runner.on(RUNNER.EVENT_SUITE_BEGIN, (suite) => {
103
+ reporter.beginSuite(suite.titlePath(), this.translatedStats);
104
+ });
105
+ runner.on(RUNNER.EVENT_TEST_BEGIN, (test) => {
106
+ logs = test.logs = [];
107
+ reporter.beginTest(test.title, this.translatedStats);
108
+ });
109
+ runner.on(RUNNER.EVENT_TEST_FAIL, (test, error) => {
110
+ const logs2 = test.logs;
111
+ reporter.failTest(test.title, (0, import_failure_detail.FailureDetail)(error, logs2));
112
+ import_wtf.wtf.dump();
113
+ });
114
+ runner.once(RUNNER.EVENT_RUN_END, () => {
115
+ if (!MatterHooks) {
116
+ throw new Error("Matter hooks not loaded");
117
+ }
118
+ MatterHooks.loggerSink = void 0;
119
+ reporter.endRun(this.translatedStats);
120
+ import_wtf.wtf.dump();
121
+ });
122
+ }
123
+ get translatedStats() {
124
+ return {
125
+ total: this.runner.total,
126
+ complete: this.stats.tests,
127
+ failures: this.stats.failures
128
+ };
129
+ }
130
+ }
131
+ return MochaReporter;
132
+ }
133
+ function browserSetup(mocha) {
134
+ mocha.setup("bdd");
135
+ globalThis.MatterTest = {
136
+ // Starts Mocha (called by clicking link)
137
+ start: () => {
138
+ const root = document.querySelector("#mocha");
139
+ if (root) {
140
+ root.innerHTML = "";
141
+ }
142
+ return mocha.run();
143
+ },
144
+ // Start Mocha, proxying reporting through console to Playwright and completing once Mocha has finished
145
+ auto: async function(options) {
146
+ import_options.TestOptions.apply(mocha, options);
147
+ mocha.reporter(adaptReporter(Mocha, "Web", new import_reporter.ConsoleProxyReporter()));
148
+ return new Promise((accept) => {
149
+ const runner = this.start();
150
+ runner.on("end", accept);
151
+ });
152
+ }
153
+ };
154
+ }
155
+ //# sourceMappingURL=mocha.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/testing/mocha.ts"],
4
+ "mappings": "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",
5
+ "names": ["Mocha", "logs"]
6
+ }
@@ -0,0 +1,68 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ // This file configures mocha for "buildless" dev execution. May be useful for running tests in IDE with Mocha support.
8
+ // Utilize by importing into .mocharc.cjs as a sibling of package.json in the package to test
9
+
10
+ // Required for Node < 19 (see node-shims.ts)
11
+ const webcrypto = require("node:crypto").webcrypto;
12
+ if (globalThis.crypto === undefined) {
13
+ Object.assign(globalThis, { crypto: webcrypto });
14
+ }
15
+
16
+ function mocharc(format = "cjs") {
17
+ const { resolve } = require("path");
18
+ const cli = require("mocha/lib/cli/cli");
19
+ const listSupportFiles = require("./files.js").listSupportFiles;
20
+
21
+ const TOOLS = resolve(__dirname, "../../..");
22
+
23
+ const testJs = `build/${format}/test`;
24
+ const defaultSpec = `${testJs}/**/*Test.js`;
25
+
26
+ // Build. Ideally we'd import build code but it's asynchronous so instead
27
+ // build in a separate process
28
+ const spawnSync = require("child_process").spawnSync;
29
+ const result = spawnSync(`${TOOLS}/bin/build.js`, [format], { stdio: "inherit" });
30
+ if (result.error) {
31
+ console.error(result.error);
32
+ process.exit(-1);
33
+ }
34
+
35
+ // Hook Mocha so we can futz with args
36
+ const main = cli.main;
37
+ cli.main = function (argv, args) {
38
+ const spec = args._;
39
+
40
+ // Remove wildcard test selection if there's an input file
41
+ if (spec.length > 1 && spec[spec.length - 1] === defaultSpec) {
42
+ spec.length = spec.length - 1;
43
+ }
44
+
45
+ // Map input files to the compiled test
46
+ for (let i = 0; i < spec.length; i++) {
47
+ let path = spec[i];
48
+
49
+ // Convenience - map src/ file to test equivalent
50
+ path = path.replace(/src\/(.*)(\.[jt]s)/, "test/$1Test$2");
51
+
52
+ // Map ts files to compiled equivalent
53
+ path = path.replace(/test\/(.*)\.ts/, `${testJs}/$1.js`);
54
+
55
+ spec[i] = path;
56
+ }
57
+
58
+ main.call(this, argv, args);
59
+ };
60
+
61
+ return {
62
+ inlineDiffs: true,
63
+ file: listSupportFiles(format),
64
+ spec: [defaultSpec],
65
+ };
66
+ }
67
+
68
+ module.exports.mocharc = mocharc;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ export function mocharc(): any;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare function cryptoSetup(Crypto: any): void;
7
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../../src/testing/mocks/crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwDH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,QAStC"}