@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,50 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { relative, resolve } from "path";
7
+ async function syncAllTsconfigs(graph) {
8
+ const workspace = graph.nodes[0].pkg.workspace;
9
+ const rootTsconfig = await workspace.readJson("tsconfig.json");
10
+ const originalReferences = rootTsconfig.references;
11
+ rootTsconfig.references = [];
12
+ for (const node of graph.nodes) {
13
+ await syncPackageTsconfigs(graph, node);
14
+ rootTsconfig.references.push({ path: workspace.relative(node.pkg.path) });
15
+ }
16
+ if (referencesChanged(originalReferences, rootTsconfig.references)) {
17
+ await workspace.writeJson("tsconfig.json", rootTsconfig);
18
+ }
19
+ }
20
+ function referencesChanged(originalReferences, newReferences) {
21
+ return JSON.stringify(originalReferences) !== JSON.stringify(newReferences);
22
+ }
23
+ async function syncPackageTsconfigs(graph, node) {
24
+ await syncSubproject(node, "src");
25
+ await syncSubproject(node, "test", node.pkg.resolve("src"), graph.get("@matter/tools").pkg.resolve("src"));
26
+ }
27
+ async function syncSubproject(node, path, ...extraRefs) {
28
+ path = node.pkg.resolve(path);
29
+ const tsconfigPath = resolve(path, "tsconfig.json");
30
+ if (!node.pkg.hasFile(tsconfigPath)) {
31
+ return;
32
+ }
33
+ const tsconfig = await node.pkg.readJson(tsconfigPath);
34
+ let refs = tsconfig.refs;
35
+ if (refs === void 0) {
36
+ refs = [];
37
+ }
38
+ const deps = node.dependencies.map((dep) => dep.pkg.resolve("src")).filter((p) => !p.match(/packages\/tools/));
39
+ const desired = [.../* @__PURE__ */ new Set([...deps, ...extraRefs])];
40
+ const newReferences = desired.map((ref) => ({ path: relative(path, ref) }));
41
+ if (referencesChanged(tsconfig.references, newReferences)) {
42
+ tsconfig.references = newReferences;
43
+ await node.pkg.writeJson(tsconfigPath, tsconfig);
44
+ }
45
+ }
46
+ export {
47
+ syncAllTsconfigs,
48
+ syncPackageTsconfigs
49
+ };
50
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2J1aWxkaW5nL3RzY29uZmlnLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMi0yMDI0IE1hdHRlci5qcyBBdXRob3JzXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB7IHJlbGF0aXZlLCByZXNvbHZlIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IEdyYXBoIH0gZnJvbSBcIi4vZ3JhcGguanNcIjtcblxuLyoqXG4gKiBVbmZvcnR1bmF0ZWx5IHR5cGVzY3JpcHQncyBcInByb2plY3QgcmVmZXJlbmNlc1wiIGFyZSByZWR1bmRhbnQgd2l0aCBwYWNrYWdlLmpzb24gZGVwZW5kZW5jaWVzLiAgV2UgZG9uJ3QgdXNlIHRoZW0gZm9yXG4gKiBidWlsZCBidXQgdGhlcmUgYXJlIHN0aWxsIHNvbWUgYWR2YW50YWdlcyB0byBtYWludGFpbmluZyB0aGVtIHNvIHdlIGp1c3QgZW5zdXJlIHRoZXkncmUgaW4gc3luYyBkdXJpbmcgd29ya3NwYWNlXG4gKiBidWlsZHMuXG4gKlxuICogT25lIGRpc2N1c3Npb24gb24gdGhlIHRvcGljOiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzI1Mzc2XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzeW5jQWxsVHNjb25maWdzKGdyYXBoOiBHcmFwaCkge1xuICAgIGNvbnN0IHdvcmtzcGFjZSA9IGdyYXBoLm5vZGVzWzBdLnBrZy53b3Jrc3BhY2U7XG4gICAgY29uc3Qgcm9vdFRzY29uZmlnID0gYXdhaXQgd29ya3NwYWNlLnJlYWRKc29uKFwidHNjb25maWcuanNvblwiKTtcblxuICAgIGNvbnN0IG9yaWdpbmFsUmVmZXJlbmNlcyA9IHJvb3RUc2NvbmZpZy5yZWZlcmVuY2VzO1xuICAgIHJvb3RUc2NvbmZpZy5yZWZlcmVuY2VzID0gW107XG5cbiAgICBmb3IgKGNvbnN0IG5vZGUgb2YgZ3JhcGgubm9kZXMpIHtcbiAgICAgICAgYXdhaXQgc3luY1BhY2thZ2VUc2NvbmZpZ3MoZ3JhcGgsIG5vZGUpO1xuICAgICAgICByb290VHNjb25maWcucmVmZXJlbmNlcy5wdXNoKHsgcGF0aDogd29ya3NwYWNlLnJlbGF0aXZlKG5vZGUucGtnLnBhdGgpIH0pO1xuICAgIH1cblxuICAgIGlmIChyZWZlcmVuY2VzQ2hhbmdlZChvcmlnaW5hbFJlZmVyZW5jZXMsIHJvb3RUc2NvbmZpZy5yZWZlcmVuY2VzKSkge1xuICAgICAgICBhd2FpdCB3b3Jrc3BhY2Uud3JpdGVKc29uKFwidHNjb25maWcuanNvblwiLCByb290VHNjb25maWcpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gcmVmZXJlbmNlc0NoYW5nZWQob3JpZ2luYWxSZWZlcmVuY2VzOiB1bmtub3duLCBuZXdSZWZlcmVuY2VzOiB1bmtub3duKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9yaWdpbmFsUmVmZXJlbmNlcykgIT09IEpTT04uc3RyaW5naWZ5KG5ld1JlZmVyZW5jZXMpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3luY1BhY2thZ2VUc2NvbmZpZ3MoZ3JhcGg6IEdyYXBoLCBub2RlOiBHcmFwaC5Ob2RlKSB7XG4gICAgYXdhaXQgc3luY1N1YnByb2plY3Qobm9kZSwgXCJzcmNcIik7XG4gICAgYXdhaXQgc3luY1N1YnByb2plY3Qobm9kZSwgXCJ0ZXN0XCIsIG5vZGUucGtnLnJlc29sdmUoXCJzcmNcIiksIGdyYXBoLmdldChcIkBtYXR0ZXIvdG9vbHNcIikucGtnLnJlc29sdmUoXCJzcmNcIikpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzeW5jU3VicHJvamVjdChub2RlOiBHcmFwaC5Ob2RlLCBwYXRoOiBzdHJpbmcsIC4uLmV4dHJhUmVmczogc3RyaW5nW10pIHtcbiAgICBwYXRoID0gbm9kZS5wa2cucmVzb2x2ZShwYXRoKTtcblxuICAgIGNvbnN0IHRzY29uZmlnUGF0aCA9IHJlc29sdmUocGF0aCwgXCJ0c2NvbmZpZy5qc29uXCIpO1xuICAgIGlmICghbm9kZS5wa2cuaGFzRmlsZSh0c2NvbmZpZ1BhdGgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0c2NvbmZpZyA9IGF3YWl0IG5vZGUucGtnLnJlYWRKc29uKHRzY29uZmlnUGF0aCk7XG5cbiAgICBsZXQgcmVmcyA9IHRzY29uZmlnLnJlZnMgYXMgdW5kZWZpbmVkIHwgeyBwYXRoOiBzdHJpbmcgfVtdO1xuXG4gICAgaWYgKHJlZnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZWZzID0gW107XG4gICAgfVxuXG4gICAgY29uc3QgZGVwcyA9IG5vZGUuZGVwZW5kZW5jaWVzLm1hcChkZXAgPT4gZGVwLnBrZy5yZXNvbHZlKFwic3JjXCIpKS5maWx0ZXIocCA9PiAhcC5tYXRjaCgvcGFja2FnZXNcXC90b29scy8pKTtcblxuICAgIGNvbnN0IGRlc2lyZWQgPSBbLi4ubmV3IFNldChbLi4uZGVwcywgLi4uZXh0cmFSZWZzXSldO1xuXG4gICAgY29uc3QgbmV3UmVmZXJlbmNlcyA9IGRlc2lyZWQubWFwKHJlZiA9PiAoeyBwYXRoOiByZWxhdGl2ZShwYXRoLCByZWYpIH0pKTtcblxuICAgIGlmIChyZWZlcmVuY2VzQ2hhbmdlZCh0c2NvbmZpZy5yZWZlcmVuY2VzLCBuZXdSZWZlcmVuY2VzKSkge1xuICAgICAgICB0c2NvbmZpZy5yZWZlcmVuY2VzID0gbmV3UmVmZXJlbmNlcztcbiAgICAgICAgYXdhaXQgbm9kZS5wa2cud3JpdGVKc29uKHRzY29uZmlnUGF0aCwgdHNjb25maWcpO1xuICAgIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxTQUFTLFVBQVUsZUFBZTtBQVVsQyxlQUFzQixpQkFBaUIsT0FBYztBQUNqRCxRQUFNLFlBQVksTUFBTSxNQUFNLENBQUMsRUFBRSxJQUFJO0FBQ3JDLFFBQU0sZUFBZSxNQUFNLFVBQVUsU0FBUyxlQUFlO0FBRTdELFFBQU0scUJBQXFCLGFBQWE7QUFDeEMsZUFBYSxhQUFhLENBQUM7QUFFM0IsYUFBVyxRQUFRLE1BQU0sT0FBTztBQUM1QixVQUFNLHFCQUFxQixPQUFPLElBQUk7QUFDdEMsaUJBQWEsV0FBVyxLQUFLLEVBQUUsTUFBTSxVQUFVLFNBQVMsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO0FBQUEsRUFDNUU7QUFFQSxNQUFJLGtCQUFrQixvQkFBb0IsYUFBYSxVQUFVLEdBQUc7QUFDaEUsVUFBTSxVQUFVLFVBQVUsaUJBQWlCLFlBQVk7QUFBQSxFQUMzRDtBQUNKO0FBRUEsU0FBUyxrQkFBa0Isb0JBQTZCLGVBQXdCO0FBQzVFLFNBQU8sS0FBSyxVQUFVLGtCQUFrQixNQUFNLEtBQUssVUFBVSxhQUFhO0FBQzlFO0FBRUEsZUFBc0IscUJBQXFCLE9BQWMsTUFBa0I7QUFDdkUsUUFBTSxlQUFlLE1BQU0sS0FBSztBQUNoQyxRQUFNLGVBQWUsTUFBTSxRQUFRLEtBQUssSUFBSSxRQUFRLEtBQUssR0FBRyxNQUFNLElBQUksZUFBZSxFQUFFLElBQUksUUFBUSxLQUFLLENBQUM7QUFDN0c7QUFFQSxlQUFlLGVBQWUsTUFBa0IsU0FBaUIsV0FBcUI7QUFDbEYsU0FBTyxLQUFLLElBQUksUUFBUSxJQUFJO0FBRTVCLFFBQU0sZUFBZSxRQUFRLE1BQU0sZUFBZTtBQUNsRCxNQUFJLENBQUMsS0FBSyxJQUFJLFFBQVEsWUFBWSxHQUFHO0FBQ2pDO0FBQUEsRUFDSjtBQUVBLFFBQU0sV0FBVyxNQUFNLEtBQUssSUFBSSxTQUFTLFlBQVk7QUFFckQsTUFBSSxPQUFPLFNBQVM7QUFFcEIsTUFBSSxTQUFTLFFBQVc7QUFDcEIsV0FBTyxDQUFDO0FBQUEsRUFDWjtBQUVBLFFBQU0sT0FBTyxLQUFLLGFBQWEsSUFBSSxTQUFPLElBQUksSUFBSSxRQUFRLEtBQUssQ0FBQyxFQUFFLE9BQU8sT0FBSyxDQUFDLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6RyxRQUFNLFVBQVUsQ0FBQyxHQUFHLG9CQUFJLElBQUksQ0FBQyxHQUFHLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztBQUVwRCxRQUFNLGdCQUFnQixRQUFRLElBQUksVUFBUSxFQUFFLE1BQU0sU0FBUyxNQUFNLEdBQUcsRUFBRSxFQUFFO0FBRXhFLE1BQUksa0JBQWtCLFNBQVMsWUFBWSxhQUFhLEdBQUc7QUFDdkQsYUFBUyxhQUFhO0FBQ3RCLFVBQU0sS0FBSyxJQUFJLFVBQVUsY0FBYyxRQUFRO0FBQUEsRUFDbkQ7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/building/tsconfig.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,UAAU,eAAe;AAUlC,eAAsB,iBAAiB,OAAc;AACjD,QAAM,YAAY,MAAM,MAAM,CAAC,EAAE,IAAI;AACrC,QAAM,eAAe,MAAM,UAAU,SAAS,eAAe;AAE7D,QAAM,qBAAqB,aAAa;AACxC,eAAa,aAAa,CAAC;AAE3B,aAAW,QAAQ,MAAM,OAAO;AAC5B,UAAM,qBAAqB,OAAO,IAAI;AACtC,iBAAa,WAAW,KAAK,EAAE,MAAM,UAAU,SAAS,KAAK,IAAI,IAAI,EAAE,CAAC;AAAA,EAC5E;AAEA,MAAI,kBAAkB,oBAAoB,aAAa,UAAU,GAAG;AAChE,UAAM,UAAU,UAAU,iBAAiB,YAAY;AAAA,EAC3D;AACJ;AAEA,SAAS,kBAAkB,oBAA6B,eAAwB;AAC5E,SAAO,KAAK,UAAU,kBAAkB,MAAM,KAAK,UAAU,aAAa;AAC9E;AAEA,eAAsB,qBAAqB,OAAc,MAAkB;AACvE,QAAM,eAAe,MAAM,KAAK;AAChC,QAAM,eAAe,MAAM,QAAQ,KAAK,IAAI,QAAQ,KAAK,GAAG,MAAM,IAAI,eAAe,EAAE,IAAI,QAAQ,KAAK,CAAC;AAC7G;AAEA,eAAe,eAAe,MAAkB,SAAiB,WAAqB;AAClF,SAAO,KAAK,IAAI,QAAQ,IAAI;AAE5B,QAAM,eAAe,QAAQ,MAAM,eAAe;AAClD,MAAI,CAAC,KAAK,IAAI,QAAQ,YAAY,GAAG;AACjC;AAAA,EACJ;AAEA,QAAM,WAAW,MAAM,KAAK,IAAI,SAAS,YAAY;AAErD,MAAI,OAAO,SAAS;AAEpB,MAAI,SAAS,QAAW;AACpB,WAAO,CAAC;AAAA,EACZ;AAEA,QAAM,OAAO,KAAK,aAAa,IAAI,SAAO,IAAI,IAAI,QAAQ,KAAK,CAAC,EAAE,OAAO,OAAK,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAEzG,QAAM,UAAU,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;AAEpD,QAAM,gBAAgB,QAAQ,IAAI,UAAQ,EAAE,MAAM,SAAS,MAAM,GAAG,EAAE,EAAE;AAExE,MAAI,kBAAkB,SAAS,YAAY,aAAa,GAAG;AACvD,aAAS,aAAa;AACtB,UAAM,KAAK,IAAI,UAAU,cAAc,QAAQ;AAAA,EACnD;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Diagnostic } from "typescript";
7
+ import { Package } from "../../util/package.js";
8
+ export interface TypescriptContext {
9
+ build(pkg: Package, path: string, emit?: boolean): Promise<void>;
10
+ }
11
+ export declare namespace TypescriptContext {
12
+ function diagnose(diagnostics?: Diagnostic | Diagnostic[]): void;
13
+ function compilerOptionsFor(path: string, ignoreErrors?: boolean): import("typescript").CompilerOptions;
14
+ function instrumentHostForSpinner(host: {}, refreshCallback?: () => void): void;
15
+ }
16
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/building/typescript/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAEH,UAAU,EAKb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE;AAED,yBAAiB,iBAAiB,CAAC;IAC/B,SAAgB,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,QAuB/D;IAED,SAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,UAAQ,wCAQpE;IAED,SAAgB,wBAAwB,CAAC,IAAI,EAAE,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,IAAI,QAyB9E;CACJ"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { dirname } from "path";
7
+ import {
8
+ createCompilerHost,
9
+ formatDiagnosticsWithColorAndContext,
10
+ parseJsonConfigFileContent,
11
+ readConfigFile,
12
+ sys
13
+ } from "typescript";
14
+ import { BuildError } from "../error.js";
15
+ var TypescriptContext;
16
+ ((TypescriptContext2) => {
17
+ function diagnose(diagnostics) {
18
+ if (diagnostics === void 0) {
19
+ return;
20
+ }
21
+ if (Array.isArray(diagnostics)) {
22
+ if (!diagnostics.length) {
23
+ return;
24
+ }
25
+ } else {
26
+ diagnostics = [diagnostics];
27
+ }
28
+ const host = createCompilerHost({});
29
+ let formatted = formatDiagnosticsWithColorAndContext(diagnostics, host);
30
+ formatted = formatted.replace(/\u001b\[96m/gms, "\n\x1B[96m");
31
+ throw new BuildError(formatted);
32
+ }
33
+ TypescriptContext2.diagnose = diagnose;
34
+ function compilerOptionsFor(path, ignoreErrors = false) {
35
+ const file = readConfigFile(path, sys.readFile);
36
+ diagnose(file.error);
37
+ const config = parseJsonConfigFileContent(file.config, sys, dirname(path));
38
+ if (!ignoreErrors) {
39
+ diagnose(config.errors);
40
+ }
41
+ return config.options;
42
+ }
43
+ TypescriptContext2.compilerOptionsFor = compilerOptionsFor;
44
+ function instrumentHostForSpinner(host, refreshCallback) {
45
+ if (!refreshCallback) {
46
+ return;
47
+ }
48
+ for (const name of ["readFile", "writeFile", "getSourceFile"]) {
49
+ if (!(name in host)) {
50
+ continue;
51
+ }
52
+ const fn = host[name];
53
+ if (typeof fn !== "function") {
54
+ continue;
55
+ }
56
+ host[name] = (...args) => {
57
+ const result = fn.apply(host, args);
58
+ refreshCallback();
59
+ return result;
60
+ };
61
+ }
62
+ }
63
+ TypescriptContext2.instrumentHostForSpinner = instrumentHostForSpinner;
64
+ })(TypescriptContext || (TypescriptContext = {}));
65
+ export {
66
+ TypescriptContext
67
+ };
68
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2J1aWxkaW5nL3R5cGVzY3JpcHQvY29udGV4dC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjItMjAyNCBNYXR0ZXIuanMgQXV0aG9yc1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQgeyBkaXJuYW1lIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7XG4gICAgY3JlYXRlQ29tcGlsZXJIb3N0LFxuICAgIERpYWdub3N0aWMsXG4gICAgZm9ybWF0RGlhZ25vc3RpY3NXaXRoQ29sb3JBbmRDb250ZXh0LFxuICAgIHBhcnNlSnNvbkNvbmZpZ0ZpbGVDb250ZW50LFxuICAgIHJlYWRDb25maWdGaWxlLFxuICAgIHN5cyxcbn0gZnJvbSBcInR5cGVzY3JpcHRcIjtcbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tIFwiLi4vLi4vdXRpbC9wYWNrYWdlLmpzXCI7XG5pbXBvcnQgeyBCdWlsZEVycm9yIH0gZnJvbSBcIi4uL2Vycm9yLmpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZXNjcmlwdENvbnRleHQge1xuICAgIGJ1aWxkKHBrZzogUGFja2FnZSwgcGF0aDogc3RyaW5nLCBlbWl0PzogYm9vbGVhbik6IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVHlwZXNjcmlwdENvbnRleHQge1xuICAgIGV4cG9ydCBmdW5jdGlvbiBkaWFnbm9zZShkaWFnbm9zdGljcz86IERpYWdub3N0aWMgfCBEaWFnbm9zdGljW10pIHtcbiAgICAgICAgaWYgKGRpYWdub3N0aWNzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkaWFnbm9zdGljcykpIHtcbiAgICAgICAgICAgIGlmICghZGlhZ25vc3RpY3MubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGlhZ25vc3RpY3MgPSBbZGlhZ25vc3RpY3NdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaG9zdCA9IGNyZWF0ZUNvbXBpbGVySG9zdCh7fSk7XG5cbiAgICAgICAgbGV0IGZvcm1hdHRlZCA9IGZvcm1hdERpYWdub3N0aWNzV2l0aENvbG9yQW5kQ29udGV4dChkaWFnbm9zdGljcywgaG9zdCk7XG5cbiAgICAgICAgLy8gU3RyYW5nZWx5IHRoZXJlIGFyZSBub3QgbmV3bGluZXMgYmV0d2VlbiBlcnJvcnMgaW4gdGhpcyBvdXRwdXQgbGlrZSB0aGVyZSBpcyB3aGVuIHlvdSBydW4gdHNjIGZyb20gdGhlXG4gICAgICAgIC8vIGNvbW1hbmQgbGluZS4gIFVzZSB0aGUgXCJsaWdodCBibHVlXCIgQU5TSSBlc2NhcGUgY29kZSBhcyBhbiBpbmplY3Rpb24gcG9pbnQgZm9yIGFuIGFkZGl0aW9uYWwgbmV3bGluZVxuICAgICAgICAvL1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29udHJvbC1yZWdleFxuICAgICAgICBmb3JtYXR0ZWQgPSBmb3JtYXR0ZWQucmVwbGFjZSgvXFx1MDAxYlxcWzk2bS9nbXMsIFwiXFxuXFx1MDAxYls5Nm1cIik7XG5cbiAgICAgICAgdGhyb3cgbmV3IEJ1aWxkRXJyb3IoZm9ybWF0dGVkKTtcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gY29tcGlsZXJPcHRpb25zRm9yKHBhdGg6IHN0cmluZywgaWdub3JlRXJyb3JzID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgZmlsZSA9IHJlYWRDb25maWdGaWxlKHBhdGgsIHN5cy5yZWFkRmlsZSk7XG4gICAgICAgIGRpYWdub3NlKGZpbGUuZXJyb3IpO1xuICAgICAgICBjb25zdCBjb25maWcgPSBwYXJzZUpzb25Db25maWdGaWxlQ29udGVudChmaWxlLmNvbmZpZywgc3lzLCBkaXJuYW1lKHBhdGgpKTtcbiAgICAgICAgaWYgKCFpZ25vcmVFcnJvcnMpIHtcbiAgICAgICAgICAgIGRpYWdub3NlKGNvbmZpZy5lcnJvcnMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb25maWcub3B0aW9ucztcbiAgICB9XG5cbiAgICBleHBvcnQgZnVuY3Rpb24gaW5zdHJ1bWVudEhvc3RGb3JTcGlubmVyKGhvc3Q6IHt9LCByZWZyZXNoQ2FsbGJhY2s/OiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIGlmICghcmVmcmVzaENhbGxiYWNrKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgcmVmcmVzaCBjYWxsYmFjayBhbGxvd3MgdXMgdG8gbWFrZSBzcGlubmVyIHVwZGF0ZXMgZXZlbiB0aG91Z2ggVFMgaXMgc3luY2hyb25vdXMuXG4gICAgICAgIC8vXG4gICAgICAgIC8vIFRPRE8gLSBhZGQgaW50ZXJjZXB0aW9uIHBvaW50cyBhcyBzcGlubmVyIHN0aWxsIGhhbmdzXG5cbiAgICAgICAgZm9yIChjb25zdCBuYW1lIG9mIFtcInJlYWRGaWxlXCIsIFwid3JpdGVGaWxlXCIsIFwiZ2V0U291cmNlRmlsZVwiXSkge1xuICAgICAgICAgICAgaWYgKCEobmFtZSBpbiBob3N0KSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBmbiA9IChob3N0IGFzIFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+KVtuYW1lXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZm4gIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAoaG9zdCBhcyBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPilbbmFtZV0gPSAoLi4uYXJnczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZm4uYXBwbHkoaG9zdCwgYXJncyk7XG4gICAgICAgICAgICAgICAgcmVmcmVzaENhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsU0FBUyxlQUFlO0FBQ3hCO0FBQUEsRUFDSTtBQUFBLEVBRUE7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNHO0FBRVAsU0FBUyxrQkFBa0I7QUFNcEIsSUFBVTtBQUFBLENBQVYsQ0FBVUEsdUJBQVY7QUFDSSxXQUFTLFNBQVMsYUFBeUM7QUFDOUQsUUFBSSxnQkFBZ0IsUUFBVztBQUMzQjtBQUFBLElBQ0o7QUFDQSxRQUFJLE1BQU0sUUFBUSxXQUFXLEdBQUc7QUFDNUIsVUFBSSxDQUFDLFlBQVksUUFBUTtBQUNyQjtBQUFBLE1BQ0o7QUFBQSxJQUNKLE9BQU87QUFDSCxvQkFBYyxDQUFDLFdBQVc7QUFBQSxJQUM5QjtBQUVBLFVBQU0sT0FBTyxtQkFBbUIsQ0FBQyxDQUFDO0FBRWxDLFFBQUksWUFBWSxxQ0FBcUMsYUFBYSxJQUFJO0FBTXRFLGdCQUFZLFVBQVUsUUFBUSxrQkFBa0IsWUFBYztBQUU5RCxVQUFNLElBQUksV0FBVyxTQUFTO0FBQUEsRUFDbEM7QUF2Qk8sRUFBQUEsbUJBQVM7QUF5QlQsV0FBUyxtQkFBbUIsTUFBYyxlQUFlLE9BQU87QUFDbkUsVUFBTSxPQUFPLGVBQWUsTUFBTSxJQUFJLFFBQVE7QUFDOUMsYUFBUyxLQUFLLEtBQUs7QUFDbkIsVUFBTSxTQUFTLDJCQUEyQixLQUFLLFFBQVEsS0FBSyxRQUFRLElBQUksQ0FBQztBQUN6RSxRQUFJLENBQUMsY0FBYztBQUNmLGVBQVMsT0FBTyxNQUFNO0FBQUEsSUFDMUI7QUFDQSxXQUFPLE9BQU87QUFBQSxFQUNsQjtBQVJPLEVBQUFBLG1CQUFTO0FBVVQsV0FBUyx5QkFBeUIsTUFBVSxpQkFBOEI7QUFDN0UsUUFBSSxDQUFDLGlCQUFpQjtBQUNsQjtBQUFBLElBQ0o7QUFNQSxlQUFXLFFBQVEsQ0FBQyxZQUFZLGFBQWEsZUFBZSxHQUFHO0FBQzNELFVBQUksRUFBRSxRQUFRLE9BQU87QUFDakI7QUFBQSxNQUNKO0FBRUEsWUFBTSxLQUFNLEtBQXVDLElBQUk7QUFDdkQsVUFBSSxPQUFPLE9BQU8sWUFBWTtBQUMxQjtBQUFBLE1BQ0o7QUFFQSxNQUFDLEtBQXVDLElBQUksSUFBSSxJQUFJLFNBQWM7QUFDOUQsY0FBTSxTQUFTLEdBQUcsTUFBTSxNQUFNLElBQUk7QUFDbEMsd0JBQWdCO0FBQ2hCLGVBQU87QUFBQSxNQUNYO0FBQUEsSUFDSjtBQUFBLEVBQ0o7QUF6Qk8sRUFBQUEsbUJBQVM7QUFBQSxHQXBDSDsiLAogICJuYW1lcyI6IFsiVHlwZXNjcmlwdENvbnRleHQiXQp9Cg==
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/building/typescript/context.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe;AACxB;AAAA,EACI;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEP,SAAS,kBAAkB;AAMpB,IAAU;AAAA,CAAV,CAAUA,uBAAV;AACI,WAAS,SAAS,aAAyC;AAC9D,QAAI,gBAAgB,QAAW;AAC3B;AAAA,IACJ;AACA,QAAI,MAAM,QAAQ,WAAW,GAAG;AAC5B,UAAI,CAAC,YAAY,QAAQ;AACrB;AAAA,MACJ;AAAA,IACJ,OAAO;AACH,oBAAc,CAAC,WAAW;AAAA,IAC9B;AAEA,UAAM,OAAO,mBAAmB,CAAC,CAAC;AAElC,QAAI,YAAY,qCAAqC,aAAa,IAAI;AAMtE,gBAAY,UAAU,QAAQ,kBAAkB,YAAc;AAE9D,UAAM,IAAI,WAAW,SAAS;AAAA,EAClC;AAvBO,EAAAA,mBAAS;AAyBT,WAAS,mBAAmB,MAAc,eAAe,OAAO;AACnE,UAAM,OAAO,eAAe,MAAM,IAAI,QAAQ;AAC9C,aAAS,KAAK,KAAK;AACnB,UAAM,SAAS,2BAA2B,KAAK,QAAQ,KAAK,QAAQ,IAAI,CAAC;AACzE,QAAI,CAAC,cAAc;AACf,eAAS,OAAO,MAAM;AAAA,IAC1B;AACA,WAAO,OAAO;AAAA,EAClB;AARO,EAAAA,mBAAS;AAUT,WAAS,yBAAyB,MAAU,iBAA8B;AAC7E,QAAI,CAAC,iBAAiB;AAClB;AAAA,IACJ;AAMA,eAAW,QAAQ,CAAC,YAAY,aAAa,eAAe,GAAG;AAC3D,UAAI,EAAE,QAAQ,OAAO;AACjB;AAAA,MACJ;AAEA,YAAM,KAAM,KAAuC,IAAI;AACvD,UAAI,OAAO,OAAO,YAAY;AAC1B;AAAA,MACJ;AAEA,MAAC,KAAuC,IAAI,IAAI,IAAI,SAAc;AAC9D,cAAM,SAAS,GAAG,MAAM,MAAM,IAAI;AAClC,wBAAgB;AAChB,eAAO;AAAA,MACX;AAAA,IACJ;AAAA,EACJ;AAzBO,EAAAA,mBAAS;AAAA,GApCH;",
5
+ "names": ["TypescriptContext"]
6
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Package } from "../../util/package.js";
7
+ import { Graph } from "../graph.js";
8
+ import { TypescriptContext } from "./context.js";
9
+ export declare function createIncrementalCompilerContext(_workspace: Package, _graph: Graph | undefined, refreshCallback?: () => void): TypescriptContext;
10
+ //# sourceMappingURL=incremental-compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incremental-compiler.d.ts","sourceRoot":"","sources":["../../../../src/building/typescript/incremental-compiler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,wBAAgB,gCAAgC,CAC5C,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,KAAK,GAAG,SAAS,EACzB,eAAe,CAAC,EAAE,MAAM,IAAI,GAC7B,iBAAiB,CA4GnB"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { existsSync } from "fs";
7
+ import { createIncrementalCompilerHost, createIncrementalProgram } from "typescript";
8
+ import { Package } from "../../util/package.js";
9
+ import { InternalBuildError } from "../error.js";
10
+ import { TypescriptContext } from "./context.js";
11
+ function createIncrementalCompilerContext(_workspace, _graph, refreshCallback) {
12
+ const baseOptions = {
13
+ ...TypescriptContext.compilerOptionsFor(Package.tools.resolve("tsc/tsconfig.base.json")),
14
+ incremental: true,
15
+ isolatedModules: true,
16
+ skipLibCheck: true
17
+ };
18
+ return { build };
19
+ async function build(pkg, path, emit) {
20
+ let options;
21
+ if (emit) {
22
+ options = {
23
+ outDir: pkg.resolve("build/types"),
24
+ emitDeclarationOnly: true,
25
+ sourceMap: true,
26
+ declarationMap: true
27
+ };
28
+ } else {
29
+ options = {
30
+ noEmit: true
31
+ };
32
+ }
33
+ options = {
34
+ ...baseOptions,
35
+ tsBuildInfoFile: pkg.resolve("build/tsbuildinfo"),
36
+ rootDir: pkg.path,
37
+ ...options
38
+ };
39
+ delete options.composite;
40
+ if (pkg.hasSrc) {
41
+ loadConfiguredOptions(pkg.resolve("src/tsconfig.json"), options);
42
+ }
43
+ if (pkg.hasTests) {
44
+ loadConfiguredOptions(pkg.resolve("src/tsconfig.json"), options);
45
+ }
46
+ const host = createIncrementalCompilerHost(options);
47
+ TypescriptContext.instrumentHostForSpinner(host, refreshCallback);
48
+ const sources = Array();
49
+ if (path === "src") {
50
+ if (pkg.hasSrc) {
51
+ sources.push(...await pkg.glob("src/**/*.ts"));
52
+ }
53
+ } else if (path === "test") {
54
+ if (pkg.hasTests) {
55
+ sources.push(...await pkg.glob("test/**/*.ts"));
56
+ }
57
+ } else {
58
+ throw new InternalBuildError(`Unsupported build path "${path}"`);
59
+ }
60
+ const program = createIncrementalProgram({
61
+ rootNames: sources,
62
+ options,
63
+ host
64
+ });
65
+ const diagnostics = [
66
+ ...program.getConfigFileParsingDiagnostics(),
67
+ ...program.getSyntacticDiagnostics(),
68
+ ...program.getOptionsDiagnostics(),
69
+ ...program.getSemanticDiagnostics()
70
+ ];
71
+ if (!options.noEmit) {
72
+ diagnostics.push(...program.emit().diagnostics);
73
+ }
74
+ TypescriptContext.diagnose(diagnostics);
75
+ }
76
+ function loadConfiguredOptions(path, into) {
77
+ if (!existsSync(path)) {
78
+ return;
79
+ }
80
+ const options = TypescriptContext.compilerOptionsFor(path);
81
+ delete options?.composite;
82
+ const types = options?.types;
83
+ if (types) {
84
+ if (into.types) {
85
+ const merged = new Set(into.types);
86
+ for (const type of types) {
87
+ merged.add(type);
88
+ }
89
+ into.types = [...merged];
90
+ } else {
91
+ into.types = types;
92
+ }
93
+ }
94
+ }
95
+ }
96
+ export {
97
+ createIncrementalCompilerContext
98
+ };
99
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2J1aWxkaW5nL3R5cGVzY3JpcHQvaW5jcmVtZW50YWwtY29tcGlsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIyLTIwMjQgTWF0dGVyLmpzIEF1dGhvcnNcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgQ29tcGlsZXJPcHRpb25zLCBjcmVhdGVJbmNyZW1lbnRhbENvbXBpbGVySG9zdCwgY3JlYXRlSW5jcmVtZW50YWxQcm9ncmFtIH0gZnJvbSBcInR5cGVzY3JpcHRcIjtcbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tIFwiLi4vLi4vdXRpbC9wYWNrYWdlLmpzXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEJ1aWxkRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3IuanNcIjtcbmltcG9ydCB7IEdyYXBoIH0gZnJvbSBcIi4uL2dyYXBoLmpzXCI7XG5pbXBvcnQgeyBUeXBlc2NyaXB0Q29udGV4dCB9IGZyb20gXCIuL2NvbnRleHQuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluY3JlbWVudGFsQ29tcGlsZXJDb250ZXh0KFxuICAgIF93b3Jrc3BhY2U6IFBhY2thZ2UsXG4gICAgX2dyYXBoOiBHcmFwaCB8IHVuZGVmaW5lZCxcbiAgICByZWZyZXNoQ2FsbGJhY2s/OiAoKSA9PiB2b2lkLFxuKTogVHlwZXNjcmlwdENvbnRleHQge1xuICAgIGNvbnN0IGJhc2VPcHRpb25zID0ge1xuICAgICAgICAuLi5UeXBlc2NyaXB0Q29udGV4dC5jb21waWxlck9wdGlvbnNGb3IoUGFja2FnZS50b29scy5yZXNvbHZlKFwidHNjL3RzY29uZmlnLmJhc2UuanNvblwiKSksXG5cbiAgICAgICAgaW5jcmVtZW50YWw6IHRydWUsXG4gICAgICAgIGlzb2xhdGVkTW9kdWxlczogdHJ1ZSxcbiAgICAgICAgc2tpcExpYkNoZWNrOiB0cnVlLFxuICAgIH07XG5cbiAgICByZXR1cm4geyBidWlsZCB9O1xuXG4gICAgYXN5bmMgZnVuY3Rpb24gYnVpbGQocGtnOiBQYWNrYWdlLCBwYXRoOiBzdHJpbmcsIGVtaXQ/OiBib29sZWFuKSB7XG4gICAgICAgIGxldCBvcHRpb25zO1xuICAgICAgICBpZiAoZW1pdCkge1xuICAgICAgICAgICAgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICBvdXREaXI6IHBrZy5yZXNvbHZlKFwiYnVpbGQvdHlwZXNcIiksXG4gICAgICAgICAgICAgICAgZW1pdERlY2xhcmF0aW9uT25seTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICAgICAgICAgICAgZGVjbGFyYXRpb25NYXA6IHRydWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICBub0VtaXQ6IHRydWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIC4uLmJhc2VPcHRpb25zLFxuICAgICAgICAgICAgdHNCdWlsZEluZm9GaWxlOiBwa2cucmVzb2x2ZShcImJ1aWxkL3RzYnVpbGRpbmZvXCIpLFxuICAgICAgICAgICAgcm9vdERpcjogcGtnLnBhdGgsXG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICB9O1xuXG4gICAgICAgIGRlbGV0ZSBvcHRpb25zLmNvbXBvc2l0ZTtcblxuICAgICAgICBpZiAocGtnLmhhc1NyYykge1xuICAgICAgICAgICAgbG9hZENvbmZpZ3VyZWRPcHRpb25zKHBrZy5yZXNvbHZlKFwic3JjL3RzY29uZmlnLmpzb25cIiksIG9wdGlvbnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBrZy5oYXNUZXN0cykge1xuICAgICAgICAgICAgbG9hZENvbmZpZ3VyZWRPcHRpb25zKHBrZy5yZXNvbHZlKFwic3JjL3RzY29uZmlnLmpzb25cIiksIG9wdGlvbnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaG9zdCA9IGNyZWF0ZUluY3JlbWVudGFsQ29tcGlsZXJIb3N0KG9wdGlvbnMpO1xuXG4gICAgICAgIFR5cGVzY3JpcHRDb250ZXh0Lmluc3RydW1lbnRIb3N0Rm9yU3Bpbm5lcihob3N0LCByZWZyZXNoQ2FsbGJhY2spO1xuICAgICAgICBjb25zdCBzb3VyY2VzID0gQXJyYXk8c3RyaW5nPigpO1xuXG4gICAgICAgIGlmIChwYXRoID09PSBcInNyY1wiKSB7XG4gICAgICAgICAgICBpZiAocGtnLmhhc1NyYykge1xuICAgICAgICAgICAgICAgIHNvdXJjZXMucHVzaCguLi4oYXdhaXQgcGtnLmdsb2IoXCJzcmMvKiovKi50c1wiKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHBhdGggPT09IFwidGVzdFwiKSB7XG4gICAgICAgICAgICBpZiAocGtnLmhhc1Rlc3RzKSB7XG4gICAgICAgICAgICAgICAgc291cmNlcy5wdXNoKC4uLihhd2FpdCBwa2cuZ2xvYihcInRlc3QvKiovKi50c1wiKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsQnVpbGRFcnJvcihgVW5zdXBwb3J0ZWQgYnVpbGQgcGF0aCBcIiR7cGF0aH1cImApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJvZ3JhbSA9IGNyZWF0ZUluY3JlbWVudGFsUHJvZ3JhbSh7XG4gICAgICAgICAgICByb290TmFtZXM6IHNvdXJjZXMsXG4gICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgICAgaG9zdCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvMzE4NDlcbiAgICAgICAgY29uc3QgZGlhZ25vc3RpY3MgPSBbXG4gICAgICAgICAgICAuLi5wcm9ncmFtLmdldENvbmZpZ0ZpbGVQYXJzaW5nRGlhZ25vc3RpY3MoKSxcbiAgICAgICAgICAgIC4uLnByb2dyYW0uZ2V0U3ludGFjdGljRGlhZ25vc3RpY3MoKSxcbiAgICAgICAgICAgIC4uLnByb2dyYW0uZ2V0T3B0aW9uc0RpYWdub3N0aWNzKCksXG4gICAgICAgICAgICAuLi5wcm9ncmFtLmdldFNlbWFudGljRGlhZ25vc3RpY3MoKSxcbiAgICAgICAgXTtcblxuICAgICAgICBpZiAoIW9wdGlvbnMubm9FbWl0KSB7XG4gICAgICAgICAgICBkaWFnbm9zdGljcy5wdXNoKC4uLnByb2dyYW0uZW1pdCgpLmRpYWdub3N0aWNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIFR5cGVzY3JpcHRDb250ZXh0LmRpYWdub3NlKGRpYWdub3N0aWNzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBcyB3ZSBsYXJnZWx5IGNvbmZpZ3VyZSBiYXNlZCBvbiBjb252ZW50aW9uLCB3ZSBtb3N0bHkgaWdub3JlIHRzY29uZmlnLmpzb24gZmlsZXMgaW4gcHJvamVjdCBkaXJlY3Rvcmllcy4gIFRoZVxuICAgICAqIGxpbWl0ZWQgbnVtYmVyIG9mIHByb2plY3Qtc3BlY2lmaWMgb3B0aW9ucyB3ZSBhbGxvdyBsb2FkIGhlcmUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gbG9hZENvbmZpZ3VyZWRPcHRpb25zKHBhdGg6IHN0cmluZywgaW50bzogQ29tcGlsZXJPcHRpb25zKSB7XG4gICAgICAgIGlmICghZXhpc3RzU3luYyhwYXRoKSkge1xuICAgICAgICAgICAgLy8gUGFja2FnZSB0c2NvbmZpZ3MgYXJlIG9wdGlvbmFsXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25zID0gVHlwZXNjcmlwdENvbnRleHQuY29tcGlsZXJPcHRpb25zRm9yKHBhdGgpO1xuXG4gICAgICAgIGRlbGV0ZSBvcHRpb25zPy5jb21wb3NpdGU7XG5cbiAgICAgICAgY29uc3QgdHlwZXMgPSBvcHRpb25zPy50eXBlcztcbiAgICAgICAgaWYgKHR5cGVzKSB7XG4gICAgICAgICAgICBpZiAoaW50by50eXBlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lcmdlZCA9IG5ldyBTZXQoaW50by50eXBlcyk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB0eXBlIG9mIHR5cGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIG1lcmdlZC5hZGQodHlwZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGludG8udHlwZXMgPSBbLi4ubWVyZ2VkXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaW50by50eXBlcyA9IHR5cGVzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLFNBQVMsa0JBQWtCO0FBQzNCLFNBQTBCLCtCQUErQixnQ0FBZ0M7QUFDekYsU0FBUyxlQUFlO0FBQ3hCLFNBQVMsMEJBQTBCO0FBRW5DLFNBQVMseUJBQXlCO0FBRTNCLFNBQVMsaUNBQ1osWUFDQSxRQUNBLGlCQUNpQjtBQUNqQixRQUFNLGNBQWM7QUFBQSxJQUNoQixHQUFHLGtCQUFrQixtQkFBbUIsUUFBUSxNQUFNLFFBQVEsd0JBQXdCLENBQUM7QUFBQSxJQUV2RixhQUFhO0FBQUEsSUFDYixpQkFBaUI7QUFBQSxJQUNqQixjQUFjO0FBQUEsRUFDbEI7QUFFQSxTQUFPLEVBQUUsTUFBTTtBQUVmLGlCQUFlLE1BQU0sS0FBYyxNQUFjLE1BQWdCO0FBQzdELFFBQUk7QUFDSixRQUFJLE1BQU07QUFDTixnQkFBVTtBQUFBLFFBQ04sUUFBUSxJQUFJLFFBQVEsYUFBYTtBQUFBLFFBQ2pDLHFCQUFxQjtBQUFBLFFBQ3JCLFdBQVc7QUFBQSxRQUNYLGdCQUFnQjtBQUFBLE1BQ3BCO0FBQUEsSUFDSixPQUFPO0FBQ0gsZ0JBQVU7QUFBQSxRQUNOLFFBQVE7QUFBQSxNQUNaO0FBQUEsSUFDSjtBQUVBLGNBQVU7QUFBQSxNQUNOLEdBQUc7QUFBQSxNQUNILGlCQUFpQixJQUFJLFFBQVEsbUJBQW1CO0FBQUEsTUFDaEQsU0FBUyxJQUFJO0FBQUEsTUFDYixHQUFHO0FBQUEsSUFDUDtBQUVBLFdBQU8sUUFBUTtBQUVmLFFBQUksSUFBSSxRQUFRO0FBQ1osNEJBQXNCLElBQUksUUFBUSxtQkFBbUIsR0FBRyxPQUFPO0FBQUEsSUFDbkU7QUFFQSxRQUFJLElBQUksVUFBVTtBQUNkLDRCQUFzQixJQUFJLFFBQVEsbUJBQW1CLEdBQUcsT0FBTztBQUFBLElBQ25FO0FBRUEsVUFBTSxPQUFPLDhCQUE4QixPQUFPO0FBRWxELHNCQUFrQix5QkFBeUIsTUFBTSxlQUFlO0FBQ2hFLFVBQU0sVUFBVSxNQUFjO0FBRTlCLFFBQUksU0FBUyxPQUFPO0FBQ2hCLFVBQUksSUFBSSxRQUFRO0FBQ1osZ0JBQVEsS0FBSyxHQUFJLE1BQU0sSUFBSSxLQUFLLGFBQWEsQ0FBRTtBQUFBLE1BQ25EO0FBQUEsSUFDSixXQUFXLFNBQVMsUUFBUTtBQUN4QixVQUFJLElBQUksVUFBVTtBQUNkLGdCQUFRLEtBQUssR0FBSSxNQUFNLElBQUksS0FBSyxjQUFjLENBQUU7QUFBQSxNQUNwRDtBQUFBLElBQ0osT0FBTztBQUNILFlBQU0sSUFBSSxtQkFBbUIsMkJBQTJCLElBQUksR0FBRztBQUFBLElBQ25FO0FBRUEsVUFBTSxVQUFVLHlCQUF5QjtBQUFBLE1BQ3JDLFdBQVc7QUFBQSxNQUNYO0FBQUEsTUFDQTtBQUFBLElBQ0osQ0FBQztBQUdELFVBQU0sY0FBYztBQUFBLE1BQ2hCLEdBQUcsUUFBUSxnQ0FBZ0M7QUFBQSxNQUMzQyxHQUFHLFFBQVEsd0JBQXdCO0FBQUEsTUFDbkMsR0FBRyxRQUFRLHNCQUFzQjtBQUFBLE1BQ2pDLEdBQUcsUUFBUSx1QkFBdUI7QUFBQSxJQUN0QztBQUVBLFFBQUksQ0FBQyxRQUFRLFFBQVE7QUFDakIsa0JBQVksS0FBSyxHQUFHLFFBQVEsS0FBSyxFQUFFLFdBQVc7QUFBQSxJQUNsRDtBQUVBLHNCQUFrQixTQUFTLFdBQVc7QUFBQSxFQUMxQztBQU1BLFdBQVMsc0JBQXNCLE1BQWMsTUFBdUI7QUFDaEUsUUFBSSxDQUFDLFdBQVcsSUFBSSxHQUFHO0FBRW5CO0FBQUEsSUFDSjtBQUVBLFVBQU0sVUFBVSxrQkFBa0IsbUJBQW1CLElBQUk7QUFFekQsV0FBTyxTQUFTO0FBRWhCLFVBQU0sUUFBUSxTQUFTO0FBQ3ZCLFFBQUksT0FBTztBQUNQLFVBQUksS0FBSyxPQUFPO0FBQ1osY0FBTSxTQUFTLElBQUksSUFBSSxLQUFLLEtBQUs7QUFDakMsbUJBQVcsUUFBUSxPQUFPO0FBQ3RCLGlCQUFPLElBQUksSUFBSTtBQUFBLFFBQ25CO0FBQ0EsYUFBSyxRQUFRLENBQUMsR0FBRyxNQUFNO0FBQUEsTUFDM0IsT0FBTztBQUNILGFBQUssUUFBUTtBQUFBLE1BQ2pCO0FBQUEsSUFDSjtBQUFBLEVBQ0o7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/building/typescript/incremental-compiler.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,kBAAkB;AAC3B,SAA0B,+BAA+B,gCAAgC;AACzF,SAAS,eAAe;AACxB,SAAS,0BAA0B;AAEnC,SAAS,yBAAyB;AAE3B,SAAS,iCACZ,YACA,QACA,iBACiB;AACjB,QAAM,cAAc;AAAA,IAChB,GAAG,kBAAkB,mBAAmB,QAAQ,MAAM,QAAQ,wBAAwB,CAAC;AAAA,IAEvF,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,cAAc;AAAA,EAClB;AAEA,SAAO,EAAE,MAAM;AAEf,iBAAe,MAAM,KAAc,MAAc,MAAgB;AAC7D,QAAI;AACJ,QAAI,MAAM;AACN,gBAAU;AAAA,QACN,QAAQ,IAAI,QAAQ,aAAa;AAAA,QACjC,qBAAqB;AAAA,QACrB,WAAW;AAAA,QACX,gBAAgB;AAAA,MACpB;AAAA,IACJ,OAAO;AACH,gBAAU;AAAA,QACN,QAAQ;AAAA,MACZ;AAAA,IACJ;AAEA,cAAU;AAAA,MACN,GAAG;AAAA,MACH,iBAAiB,IAAI,QAAQ,mBAAmB;AAAA,MAChD,SAAS,IAAI;AAAA,MACb,GAAG;AAAA,IACP;AAEA,WAAO,QAAQ;AAEf,QAAI,IAAI,QAAQ;AACZ,4BAAsB,IAAI,QAAQ,mBAAmB,GAAG,OAAO;AAAA,IACnE;AAEA,QAAI,IAAI,UAAU;AACd,4BAAsB,IAAI,QAAQ,mBAAmB,GAAG,OAAO;AAAA,IACnE;AAEA,UAAM,OAAO,8BAA8B,OAAO;AAElD,sBAAkB,yBAAyB,MAAM,eAAe;AAChE,UAAM,UAAU,MAAc;AAE9B,QAAI,SAAS,OAAO;AAChB,UAAI,IAAI,QAAQ;AACZ,gBAAQ,KAAK,GAAI,MAAM,IAAI,KAAK,aAAa,CAAE;AAAA,MACnD;AAAA,IACJ,WAAW,SAAS,QAAQ;AACxB,UAAI,IAAI,UAAU;AACd,gBAAQ,KAAK,GAAI,MAAM,IAAI,KAAK,cAAc,CAAE;AAAA,MACpD;AAAA,IACJ,OAAO;AACH,YAAM,IAAI,mBAAmB,2BAA2B,IAAI,GAAG;AAAA,IACnE;AAEA,UAAM,UAAU,yBAAyB;AAAA,MACrC,WAAW;AAAA,MACX;AAAA,MACA;AAAA,IACJ,CAAC;AAGD,UAAM,cAAc;AAAA,MAChB,GAAG,QAAQ,gCAAgC;AAAA,MAC3C,GAAG,QAAQ,wBAAwB;AAAA,MACnC,GAAG,QAAQ,sBAAsB;AAAA,MACjC,GAAG,QAAQ,uBAAuB;AAAA,IACtC;AAEA,QAAI,CAAC,QAAQ,QAAQ;AACjB,kBAAY,KAAK,GAAG,QAAQ,KAAK,EAAE,WAAW;AAAA,IAClD;AAEA,sBAAkB,SAAS,WAAW;AAAA,EAC1C;AAMA,WAAS,sBAAsB,MAAc,MAAuB;AAChE,QAAI,CAAC,WAAW,IAAI,GAAG;AAEnB;AAAA,IACJ;AAEA,UAAM,UAAU,kBAAkB,mBAAmB,IAAI;AAEzD,WAAO,SAAS;AAEhB,UAAM,QAAQ,SAAS;AACvB,QAAI,OAAO;AACP,UAAI,KAAK,OAAO;AACZ,cAAM,SAAS,IAAI,IAAI,KAAK,KAAK;AACjC,mBAAW,QAAQ,OAAO;AACtB,iBAAO,IAAI,IAAI;AAAA,QACnB;AACA,aAAK,QAAQ,CAAC,GAAG,MAAM;AAAA,MAC3B,OAAO;AACH,aAAK,QAAQ;AAAA,MACjB;AAAA,IACJ;AAAA,EACJ;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Package } from "../../util/package.js";
7
+ import { Graph } from "../graph.js";
8
+ import { TypescriptContext } from "./context.js";
9
+ /**
10
+ * This is highly experimental and not yet fully functional.
11
+ */
12
+ export declare function createLanguageServiceContext(workspace: Package, _graph: Graph | undefined, refreshCallback: () => void): Promise<TypescriptContext>;
13
+ //# sourceMappingURL=language-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-service.d.ts","sourceRoot":"","sources":["../../../../src/building/typescript/language-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD;;GAEG;AACH,wBAAsB,4BAA4B,CAC9C,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,KAAK,GAAG,SAAS,EACzB,eAAe,EAAE,MAAM,IAAI,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAmG5B"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { statSync } from "fs";
7
+ import { join } from "path";
8
+ import {
9
+ createDocumentRegistry,
10
+ createLanguageService,
11
+ createModuleResolutionCache,
12
+ getDefaultLibFileName,
13
+ JSDocParsingMode,
14
+ LanguageServiceMode,
15
+ ModuleKind,
16
+ resolveModuleName,
17
+ ScriptSnapshot
18
+ } from "typescript";
19
+ import { Package } from "../../util/package.js";
20
+ import { TypescriptContext } from "./context.js";
21
+ async function createLanguageServiceContext(workspace, _graph, refreshCallback) {
22
+ const baseOptions = TypescriptContext.compilerOptionsFor(Package.tools.resolve("tsc/tsconfig.base.json"), true);
23
+ const registry = createDocumentRegistry(true, workspace.path, JSDocParsingMode.ParseNone);
24
+ const resolutionCache = createModuleResolutionCache(workspace.path, (name) => name, baseOptions);
25
+ return { build };
26
+ async function build(pkg, path, emit) {
27
+ const files = await pkg.glob(join(path, "**/*.ts"));
28
+ const host = await createLanguageServiceHost(pkg, path, files);
29
+ const ls = createLanguageService(host, registry, LanguageServiceMode.Semantic);
30
+ TypescriptContext.diagnose(ls.getCompilerOptionsDiagnostics());
31
+ for (const path2 of files) {
32
+ TypescriptContext.diagnose([...ls.getSyntacticDiagnostics(path2), ...ls.getSemanticDiagnostics(path2)]);
33
+ if (emit) {
34
+ const relativePath = pkg.relative(path2);
35
+ await pkg.writeFile(join("build/types", relativePath), ls.getEmitOutput(path2));
36
+ }
37
+ }
38
+ TypescriptContext.diagnose(ls.getCompilerOptionsDiagnostics());
39
+ }
40
+ async function createLanguageServiceHost(pkg, path, files) {
41
+ const host = {
42
+ getCompilationSettings() {
43
+ return TypescriptContext.compilerOptionsFor(join(path, "tsconfig.json"));
44
+ },
45
+ getScriptFileNames() {
46
+ return files;
47
+ },
48
+ getScriptVersion(filename) {
49
+ return statSync(filename).mtime.toISOString();
50
+ },
51
+ getScriptSnapshot(filename) {
52
+ try {
53
+ return ScriptSnapshot.fromString(pkg.readFileSync(filename));
54
+ } catch (e) {
55
+ switch (e.code) {
56
+ case "ENOENT":
57
+ case "ENOTDIR":
58
+ return;
59
+ }
60
+ throw e;
61
+ }
62
+ },
63
+ getCurrentDirectory() {
64
+ return path;
65
+ },
66
+ getDefaultLibFileName(options) {
67
+ return workspace.resolve(join("node_modules/typescript/lib", getDefaultLibFileName(options)));
68
+ },
69
+ readFile(path2) {
70
+ refreshCallback();
71
+ return pkg.readFileSync(path2);
72
+ },
73
+ fileExists(path2) {
74
+ return pkg.hasFile(path2);
75
+ },
76
+ resolveModuleNameLiterals(moduleLiterals, containingFile, redirectedReferences, options, _containingSourceFile, _reusedNames) {
77
+ return moduleLiterals.map((name) => {
78
+ const result = resolveModuleName(
79
+ name.text,
80
+ containingFile,
81
+ options,
82
+ host,
83
+ resolutionCache,
84
+ redirectedReferences,
85
+ ModuleKind.ESNext
86
+ );
87
+ console.log(name.text, "->", result.resolvedModule?.resolvedFileName);
88
+ return result;
89
+ });
90
+ },
91
+ jsDocParsingMode: JSDocParsingMode.ParseNone
92
+ };
93
+ return host;
94
+ }
95
+ }
96
+ export {
97
+ createLanguageServiceContext
98
+ };
99
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2J1aWxkaW5nL3R5cGVzY3JpcHQvbGFuZ3VhZ2Utc2VydmljZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjItMjAyNCBNYXR0ZXIuanMgQXV0aG9yc1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQgeyBzdGF0U3luYyB9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQge1xuICAgIGNyZWF0ZURvY3VtZW50UmVnaXN0cnksXG4gICAgY3JlYXRlTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIGNyZWF0ZU1vZHVsZVJlc29sdXRpb25DYWNoZSxcbiAgICBnZXREZWZhdWx0TGliRmlsZU5hbWUsXG4gICAgSlNEb2NQYXJzaW5nTW9kZSxcbiAgICBMYW5ndWFnZVNlcnZpY2VIb3N0LFxuICAgIExhbmd1YWdlU2VydmljZU1vZGUsXG4gICAgTW9kdWxlS2luZCxcbiAgICBSZXNvbHZlZE1vZHVsZVdpdGhGYWlsZWRMb29rdXBMb2NhdGlvbnMsXG4gICAgcmVzb2x2ZU1vZHVsZU5hbWUsXG4gICAgU2NyaXB0U25hcHNob3QsXG59IGZyb20gXCJ0eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyBQYWNrYWdlIH0gZnJvbSBcIi4uLy4uL3V0aWwvcGFja2FnZS5qc1wiO1xuaW1wb3J0IHsgR3JhcGggfSBmcm9tIFwiLi4vZ3JhcGguanNcIjtcbmltcG9ydCB7IFR5cGVzY3JpcHRDb250ZXh0IH0gZnJvbSBcIi4vY29udGV4dC5qc1wiO1xuXG4vKipcbiAqIFRoaXMgaXMgaGlnaGx5IGV4cGVyaW1lbnRhbCBhbmQgbm90IHlldCBmdWxseSBmdW5jdGlvbmFsLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlTGFuZ3VhZ2VTZXJ2aWNlQ29udGV4dChcbiAgICB3b3Jrc3BhY2U6IFBhY2thZ2UsXG4gICAgX2dyYXBoOiBHcmFwaCB8IHVuZGVmaW5lZCxcbiAgICByZWZyZXNoQ2FsbGJhY2s6ICgpID0+IHZvaWQsXG4pOiBQcm9taXNlPFR5cGVzY3JpcHRDb250ZXh0PiB7XG4gICAgY29uc3QgYmFzZU9wdGlvbnMgPSBUeXBlc2NyaXB0Q29udGV4dC5jb21waWxlck9wdGlvbnNGb3IoUGFja2FnZS50b29scy5yZXNvbHZlKFwidHNjL3RzY29uZmlnLmJhc2UuanNvblwiKSwgdHJ1ZSk7XG4gICAgY29uc3QgcmVnaXN0cnkgPSBjcmVhdGVEb2N1bWVudFJlZ2lzdHJ5KHRydWUsIHdvcmtzcGFjZS5wYXRoLCBKU0RvY1BhcnNpbmdNb2RlLlBhcnNlTm9uZSk7XG4gICAgY29uc3QgcmVzb2x1dGlvbkNhY2hlID0gY3JlYXRlTW9kdWxlUmVzb2x1dGlvbkNhY2hlKHdvcmtzcGFjZS5wYXRoLCBuYW1lID0+IG5hbWUsIGJhc2VPcHRpb25zKTtcbiAgICAvL2NvbnN0IG15UGFja2FnZU5hbWVzID0gbmV3IFNldChncmFwaD8ubm9kZXMubWFwKG5vZGUgPT4gbm9kZS5wa2cubmFtZSkpO1xuXG4gICAgcmV0dXJuIHsgYnVpbGQgfTtcblxuICAgIGFzeW5jIGZ1bmN0aW9uIGJ1aWxkKHBrZzogUGFja2FnZSwgcGF0aDogc3RyaW5nLCBlbWl0PzogYm9vbGVhbikge1xuICAgICAgICBjb25zdCBmaWxlcyA9IGF3YWl0IHBrZy5nbG9iKGpvaW4ocGF0aCwgXCIqKi8qLnRzXCIpKTtcbiAgICAgICAgY29uc3QgaG9zdCA9IGF3YWl0IGNyZWF0ZUxhbmd1YWdlU2VydmljZUhvc3QocGtnLCBwYXRoLCBmaWxlcyk7XG4gICAgICAgIGNvbnN0IGxzID0gY3JlYXRlTGFuZ3VhZ2VTZXJ2aWNlKGhvc3QsIHJlZ2lzdHJ5LCBMYW5ndWFnZVNlcnZpY2VNb2RlLlNlbWFudGljKTtcblxuICAgICAgICBUeXBlc2NyaXB0Q29udGV4dC5kaWFnbm9zZShscy5nZXRDb21waWxlck9wdGlvbnNEaWFnbm9zdGljcygpKTtcblxuICAgICAgICBmb3IgKGNvbnN0IHBhdGggb2YgZmlsZXMpIHtcbiAgICAgICAgICAgIFR5cGVzY3JpcHRDb250ZXh0LmRpYWdub3NlKFsuLi5scy5nZXRTeW50YWN0aWNEaWFnbm9zdGljcyhwYXRoKSwgLi4ubHMuZ2V0U2VtYW50aWNEaWFnbm9zdGljcyhwYXRoKV0pO1xuXG4gICAgICAgICAgICBpZiAoZW1pdCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHBrZy5yZWxhdGl2ZShwYXRoKTtcbiAgICAgICAgICAgICAgICBhd2FpdCBwa2cud3JpdGVGaWxlKGpvaW4oXCJidWlsZC90eXBlc1wiLCByZWxhdGl2ZVBhdGgpLCBscy5nZXRFbWl0T3V0cHV0KHBhdGgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIFR5cGVzY3JpcHRDb250ZXh0LmRpYWdub3NlKGxzLmdldENvbXBpbGVyT3B0aW9uc0RpYWdub3N0aWNzKCkpO1xuICAgIH1cblxuICAgIGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUxhbmd1YWdlU2VydmljZUhvc3QocGtnOiBQYWNrYWdlLCBwYXRoOiBzdHJpbmcsIGZpbGVzOiBzdHJpbmdbXSkge1xuICAgICAgICBjb25zdCBob3N0OiBMYW5ndWFnZVNlcnZpY2VIb3N0ID0ge1xuICAgICAgICAgICAgZ2V0Q29tcGlsYXRpb25TZXR0aW5ncygpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gVHlwZXNjcmlwdENvbnRleHQuY29tcGlsZXJPcHRpb25zRm9yKGpvaW4ocGF0aCwgXCJ0c2NvbmZpZy5qc29uXCIpKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGdldFNjcmlwdEZpbGVOYW1lcygpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsZXM7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBnZXRTY3JpcHRWZXJzaW9uKGZpbGVuYW1lKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRTeW5jKGZpbGVuYW1lKS5tdGltZS50b0lTT1N0cmluZygpO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgZ2V0U2NyaXB0U25hcHNob3QoZmlsZW5hbWUpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gU2NyaXB0U25hcHNob3QuZnJvbVN0cmluZyhwa2cucmVhZEZpbGVTeW5jKGZpbGVuYW1lKSk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKChlIGFzIHsgY29kZTogc3RyaW5nIH0pLmNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJFTk9FTlRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJFTk9URElSXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgZ2V0Q3VycmVudERpcmVjdG9yeSgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGF0aDtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGdldERlZmF1bHRMaWJGaWxlTmFtZShvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtzcGFjZS5yZXNvbHZlKGpvaW4oXCJub2RlX21vZHVsZXMvdHlwZXNjcmlwdC9saWJcIiwgZ2V0RGVmYXVsdExpYkZpbGVOYW1lKG9wdGlvbnMpKSk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICByZWFkRmlsZShwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgICAgICAgICByZWZyZXNoQ2FsbGJhY2soKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGtnLnJlYWRGaWxlU3luYyhwYXRoKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGZpbGVFeGlzdHMocGF0aDogc3RyaW5nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBrZy5oYXNGaWxlKHBhdGgpO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgcmVzb2x2ZU1vZHVsZU5hbWVMaXRlcmFscyhcbiAgICAgICAgICAgICAgICBtb2R1bGVMaXRlcmFscyxcbiAgICAgICAgICAgICAgICBjb250YWluaW5nRmlsZSxcbiAgICAgICAgICAgICAgICByZWRpcmVjdGVkUmVmZXJlbmNlcyxcbiAgICAgICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgICAgICAgIF9jb250YWluaW5nU291cmNlRmlsZSxcbiAgICAgICAgICAgICAgICBfcmV1c2VkTmFtZXMsXG4gICAgICAgICAgICApOiBSZXNvbHZlZE1vZHVsZVdpdGhGYWlsZWRMb29rdXBMb2NhdGlvbnNbXSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1vZHVsZUxpdGVyYWxzLm1hcChuYW1lID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVzb2x2ZU1vZHVsZU5hbWUoXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lLnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250YWluaW5nRmlsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBob3N0LFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbkNhY2hlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVkaXJlY3RlZFJlZmVyZW5jZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBNb2R1bGVLaW5kLkVTTmV4dCxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cobmFtZS50ZXh0LCBcIi0+XCIsIHJlc3VsdC5yZXNvbHZlZE1vZHVsZT8ucmVzb2x2ZWRGaWxlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBqc0RvY1BhcnNpbmdNb2RlOiBKU0RvY1BhcnNpbmdNb2RlLlBhcnNlTm9uZSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gaG9zdDtcbiAgICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUyxZQUFZO0FBQ3JCO0FBQUEsRUFDSTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUVBO0FBQUEsRUFDQTtBQUFBLEVBRUE7QUFBQSxFQUNBO0FBQUEsT0FDRztBQUNQLFNBQVMsZUFBZTtBQUV4QixTQUFTLHlCQUF5QjtBQUtsQyxlQUFzQiw2QkFDbEIsV0FDQSxRQUNBLGlCQUMwQjtBQUMxQixRQUFNLGNBQWMsa0JBQWtCLG1CQUFtQixRQUFRLE1BQU0sUUFBUSx3QkFBd0IsR0FBRyxJQUFJO0FBQzlHLFFBQU0sV0FBVyx1QkFBdUIsTUFBTSxVQUFVLE1BQU0saUJBQWlCLFNBQVM7QUFDeEYsUUFBTSxrQkFBa0IsNEJBQTRCLFVBQVUsTUFBTSxVQUFRLE1BQU0sV0FBVztBQUc3RixTQUFPLEVBQUUsTUFBTTtBQUVmLGlCQUFlLE1BQU0sS0FBYyxNQUFjLE1BQWdCO0FBQzdELFVBQU0sUUFBUSxNQUFNLElBQUksS0FBSyxLQUFLLE1BQU0sU0FBUyxDQUFDO0FBQ2xELFVBQU0sT0FBTyxNQUFNLDBCQUEwQixLQUFLLE1BQU0sS0FBSztBQUM3RCxVQUFNLEtBQUssc0JBQXNCLE1BQU0sVUFBVSxvQkFBb0IsUUFBUTtBQUU3RSxzQkFBa0IsU0FBUyxHQUFHLDhCQUE4QixDQUFDO0FBRTdELGVBQVdBLFNBQVEsT0FBTztBQUN0Qix3QkFBa0IsU0FBUyxDQUFDLEdBQUcsR0FBRyx3QkFBd0JBLEtBQUksR0FBRyxHQUFHLEdBQUcsdUJBQXVCQSxLQUFJLENBQUMsQ0FBQztBQUVwRyxVQUFJLE1BQU07QUFDTixjQUFNLGVBQWUsSUFBSSxTQUFTQSxLQUFJO0FBQ3RDLGNBQU0sSUFBSSxVQUFVLEtBQUssZUFBZSxZQUFZLEdBQUcsR0FBRyxjQUFjQSxLQUFJLENBQUM7QUFBQSxNQUNqRjtBQUFBLElBQ0o7QUFFQSxzQkFBa0IsU0FBUyxHQUFHLDhCQUE4QixDQUFDO0FBQUEsRUFDakU7QUFFQSxpQkFBZSwwQkFBMEIsS0FBYyxNQUFjLE9BQWlCO0FBQ2xGLFVBQU0sT0FBNEI7QUFBQSxNQUM5Qix5QkFBeUI7QUFDckIsZUFBTyxrQkFBa0IsbUJBQW1CLEtBQUssTUFBTSxlQUFlLENBQUM7QUFBQSxNQUMzRTtBQUFBLE1BRUEscUJBQXFCO0FBQ2pCLGVBQU87QUFBQSxNQUNYO0FBQUEsTUFFQSxpQkFBaUIsVUFBVTtBQUN2QixlQUFPLFNBQVMsUUFBUSxFQUFFLE1BQU0sWUFBWTtBQUFBLE1BQ2hEO0FBQUEsTUFFQSxrQkFBa0IsVUFBVTtBQUN4QixZQUFJO0FBQ0EsaUJBQU8sZUFBZSxXQUFXLElBQUksYUFBYSxRQUFRLENBQUM7QUFBQSxRQUMvRCxTQUFTLEdBQUc7QUFDUixrQkFBUyxFQUF1QixNQUFNO0FBQUEsWUFDbEMsS0FBSztBQUFBLFlBQ0wsS0FBSztBQUNEO0FBQUEsVUFDUjtBQUNBLGdCQUFNO0FBQUEsUUFDVjtBQUFBLE1BQ0o7QUFBQSxNQUVBLHNCQUFzQjtBQUNsQixlQUFPO0FBQUEsTUFDWDtBQUFBLE1BRUEsc0JBQXNCLFNBQVM7QUFDM0IsZUFBTyxVQUFVLFFBQVEsS0FBSywrQkFBK0Isc0JBQXNCLE9BQU8sQ0FBQyxDQUFDO0FBQUEsTUFDaEc7QUFBQSxNQUVBLFNBQVNBLE9BQWM7QUFDbkIsd0JBQWdCO0FBQ2hCLGVBQU8sSUFBSSxhQUFhQSxLQUFJO0FBQUEsTUFDaEM7QUFBQSxNQUVBLFdBQVdBLE9BQWM7QUFDckIsZUFBTyxJQUFJLFFBQVFBLEtBQUk7QUFBQSxNQUMzQjtBQUFBLE1BRUEsMEJBQ0ksZ0JBQ0EsZ0JBQ0Esc0JBQ0EsU0FDQSx1QkFDQSxjQUN5QztBQUN6QyxlQUFPLGVBQWUsSUFBSSxVQUFRO0FBQzlCLGdCQUFNLFNBQVM7QUFBQSxZQUNYLEtBQUs7QUFBQSxZQUNMO0FBQUEsWUFDQTtBQUFBLFlBQ0E7QUFBQSxZQUNBO0FBQUEsWUFDQTtBQUFBLFlBQ0EsV0FBVztBQUFBLFVBQ2Y7QUFDQSxrQkFBUSxJQUFJLEtBQUssTUFBTSxNQUFNLE9BQU8sZ0JBQWdCLGdCQUFnQjtBQUNwRSxpQkFBTztBQUFBLFFBQ1gsQ0FBQztBQUFBLE1BQ0w7QUFBQSxNQUVBLGtCQUFrQixpQkFBaUI7QUFBQSxJQUN2QztBQUVBLFdBQU87QUFBQSxFQUNYO0FBQ0o7IiwKICAibmFtZXMiOiBbInBhdGgiXQp9Cg==
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/building/typescript/language-service.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACG;AACP,SAAS,eAAe;AAExB,SAAS,yBAAyB;AAKlC,eAAsB,6BAClB,WACA,QACA,iBAC0B;AAC1B,QAAM,cAAc,kBAAkB,mBAAmB,QAAQ,MAAM,QAAQ,wBAAwB,GAAG,IAAI;AAC9G,QAAM,WAAW,uBAAuB,MAAM,UAAU,MAAM,iBAAiB,SAAS;AACxF,QAAM,kBAAkB,4BAA4B,UAAU,MAAM,UAAQ,MAAM,WAAW;AAG7F,SAAO,EAAE,MAAM;AAEf,iBAAe,MAAM,KAAc,MAAc,MAAgB;AAC7D,UAAM,QAAQ,MAAM,IAAI,KAAK,KAAK,MAAM,SAAS,CAAC;AAClD,UAAM,OAAO,MAAM,0BAA0B,KAAK,MAAM,KAAK;AAC7D,UAAM,KAAK,sBAAsB,MAAM,UAAU,oBAAoB,QAAQ;AAE7E,sBAAkB,SAAS,GAAG,8BAA8B,CAAC;AAE7D,eAAWA,SAAQ,OAAO;AACtB,wBAAkB,SAAS,CAAC,GAAG,GAAG,wBAAwBA,KAAI,GAAG,GAAG,GAAG,uBAAuBA,KAAI,CAAC,CAAC;AAEpG,UAAI,MAAM;AACN,cAAM,eAAe,IAAI,SAASA,KAAI;AACtC,cAAM,IAAI,UAAU,KAAK,eAAe,YAAY,GAAG,GAAG,cAAcA,KAAI,CAAC;AAAA,MACjF;AAAA,IACJ;AAEA,sBAAkB,SAAS,GAAG,8BAA8B,CAAC;AAAA,EACjE;AAEA,iBAAe,0BAA0B,KAAc,MAAc,OAAiB;AAClF,UAAM,OAA4B;AAAA,MAC9B,yBAAyB;AACrB,eAAO,kBAAkB,mBAAmB,KAAK,MAAM,eAAe,CAAC;AAAA,MAC3E;AAAA,MAEA,qBAAqB;AACjB,eAAO;AAAA,MACX;AAAA,MAEA,iBAAiB,UAAU;AACvB,eAAO,SAAS,QAAQ,EAAE,MAAM,YAAY;AAAA,MAChD;AAAA,MAEA,kBAAkB,UAAU;AACxB,YAAI;AACA,iBAAO,eAAe,WAAW,IAAI,aAAa,QAAQ,CAAC;AAAA,QAC/D,SAAS,GAAG;AACR,kBAAS,EAAuB,MAAM;AAAA,YAClC,KAAK;AAAA,YACL,KAAK;AACD;AAAA,UACR;AACA,gBAAM;AAAA,QACV;AAAA,MACJ;AAAA,MAEA,sBAAsB;AAClB,eAAO;AAAA,MACX;AAAA,MAEA,sBAAsB,SAAS;AAC3B,eAAO,UAAU,QAAQ,KAAK,+BAA+B,sBAAsB,OAAO,CAAC,CAAC;AAAA,MAChG;AAAA,MAEA,SAASA,OAAc;AACnB,wBAAgB;AAChB,eAAO,IAAI,aAAaA,KAAI;AAAA,MAChC;AAAA,MAEA,WAAWA,OAAc;AACrB,eAAO,IAAI,QAAQA,KAAI;AAAA,MAC3B;AAAA,MAEA,0BACI,gBACA,gBACA,sBACA,SACA,uBACA,cACyC;AACzC,eAAO,eAAe,IAAI,UAAQ;AAC9B,gBAAM,SAAS;AAAA,YACX,KAAK;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,WAAW;AAAA,UACf;AACA,kBAAQ,IAAI,KAAK,MAAM,MAAM,OAAO,gBAAgB,gBAAgB;AACpE,iBAAO;AAAA,QACX,CAAC;AAAA,MACL;AAAA,MAEA,kBAAkB,iBAAiB;AAAA,IACvC;AAEA,WAAO;AAAA,EACX;AACJ;",
5
+ "names": ["path"]
6
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Package } from "../../util/package.js";
7
+ import { Graph } from "../graph.js";
8
+ import { TypescriptContext } from "./context.js";
9
+ export declare function createSolutionBuilderContext(workspace: Package, _graph: Graph | undefined, refreshCallback?: () => void): Promise<TypescriptContext>;
10
+ //# sourceMappingURL=solution-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solution-builder.d.ts","sourceRoot":"","sources":["../../../../src/building/typescript/solution-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,wBAAsB,4BAA4B,CAC9C,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,KAAK,GAAG,SAAS,EACzB,eAAe,CAAC,EAAE,MAAM,IAAI,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CAiD5B"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { join } from "path";
7
+ import { createSolutionBuilder, createSolutionBuilderHost, ExitStatus } from "typescript";
8
+ import { BuildError, InternalBuildError } from "../error.js";
9
+ import { TypescriptContext } from "./context.js";
10
+ async function createSolutionBuilderContext(workspace, _graph, refreshCallback) {
11
+ let diagnostics;
12
+ const host = createSolutionBuilderHost();
13
+ host.reportDiagnostic = (diagnostic) => (diagnostics ??= []).push(diagnostic);
14
+ const createProgram = host.createProgram;
15
+ host.createProgram = (...args) => {
16
+ const result = createProgram(...args);
17
+ return result;
18
+ };
19
+ const readDirectory = host.readDirectory;
20
+ host.readDirectory = (...args) => {
21
+ const result = readDirectory?.(...args);
22
+ return result ?? [];
23
+ };
24
+ const builder = createSolutionBuilder(host, [workspace.resolve("tsconfig.json")], {});
25
+ TypescriptContext.diagnose(diagnostics);
26
+ TypescriptContext.instrumentHostForSpinner(host, refreshCallback);
27
+ return {
28
+ async build(pkg, path, _emit) {
29
+ const status = builder.build(pkg.resolve(join(path, "tsconfig.json")));
30
+ TypescriptContext.diagnose(diagnostics);
31
+ switch (status) {
32
+ case void 0:
33
+ case ExitStatus.Success:
34
+ break;
35
+ case ExitStatus.InvalidProject_OutputsSkipped:
36
+ throw new BuildError(
37
+ `Typescript does not think ${path} is part of the project, this is probably a build tooling error`
38
+ );
39
+ case ExitStatus.ProjectReferenceCycle_OutputsSkipped:
40
+ throw new BuildError(
41
+ `Typescript identified a cyclical project reference in ${path}, please check package dependencies`
42
+ );
43
+ default:
44
+ throw new InternalBuildError(`Build error ${ExitStatus[status]} without diagnostics`);
45
+ }
46
+ }
47
+ };
48
+ }
49
+ export {
50
+ createSolutionBuilderContext
51
+ };
52
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2J1aWxkaW5nL3R5cGVzY3JpcHQvc29sdXRpb24tYnVpbGRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjItMjAyNCBNYXR0ZXIuanMgQXV0aG9yc1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IGNyZWF0ZVNvbHV0aW9uQnVpbGRlciwgY3JlYXRlU29sdXRpb25CdWlsZGVySG9zdCwgRGlhZ25vc3RpYywgRXhpdFN0YXR1cyB9IGZyb20gXCJ0eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyBQYWNrYWdlIH0gZnJvbSBcIi4uLy4uL3V0aWwvcGFja2FnZS5qc1wiO1xuaW1wb3J0IHsgQnVpbGRFcnJvciwgSW50ZXJuYWxCdWlsZEVycm9yIH0gZnJvbSBcIi4uL2Vycm9yLmpzXCI7XG5pbXBvcnQgeyBHcmFwaCB9IGZyb20gXCIuLi9ncmFwaC5qc1wiO1xuaW1wb3J0IHsgVHlwZXNjcmlwdENvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0LmpzXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVTb2x1dGlvbkJ1aWxkZXJDb250ZXh0KFxuICAgIHdvcmtzcGFjZTogUGFja2FnZSxcbiAgICBfZ3JhcGg6IEdyYXBoIHwgdW5kZWZpbmVkLFxuICAgIHJlZnJlc2hDYWxsYmFjaz86ICgpID0+IHZvaWQsXG4pOiBQcm9taXNlPFR5cGVzY3JpcHRDb250ZXh0PiB7XG4gICAgbGV0IGRpYWdub3N0aWNzOiB1bmRlZmluZWQgfCBEaWFnbm9zdGljW107XG4gICAgY29uc3QgaG9zdCA9IGNyZWF0ZVNvbHV0aW9uQnVpbGRlckhvc3QoKTtcbiAgICBob3N0LnJlcG9ydERpYWdub3N0aWMgPSBkaWFnbm9zdGljID0+IChkaWFnbm9zdGljcyA/Pz0gW10pLnB1c2goZGlhZ25vc3RpYyk7XG5cbiAgICBjb25zdCBjcmVhdGVQcm9ncmFtID0gaG9zdC5jcmVhdGVQcm9ncmFtO1xuICAgIGhvc3QuY3JlYXRlUHJvZ3JhbSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGNyZWF0ZVByb2dyYW0oLi4uYXJncyk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlYWREaXJlY3RvcnkgPSBob3N0LnJlYWREaXJlY3Rvcnk7XG4gICAgaG9zdC5yZWFkRGlyZWN0b3J5ID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVhZERpcmVjdG9yeT8uKC4uLmFyZ3MpO1xuICAgICAgICByZXR1cm4gcmVzdWx0ID8/IFtdO1xuICAgIH07XG5cbiAgICBjb25zdCBidWlsZGVyID0gY3JlYXRlU29sdXRpb25CdWlsZGVyKGhvc3QsIFt3b3Jrc3BhY2UucmVzb2x2ZShcInRzY29uZmlnLmpzb25cIildLCB7fSk7XG5cbiAgICBUeXBlc2NyaXB0Q29udGV4dC5kaWFnbm9zZShkaWFnbm9zdGljcyk7XG5cbiAgICBUeXBlc2NyaXB0Q29udGV4dC5pbnN0cnVtZW50SG9zdEZvclNwaW5uZXIoaG9zdCwgcmVmcmVzaENhbGxiYWNrKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGFzeW5jIGJ1aWxkKHBrZzogUGFja2FnZSwgcGF0aDogc3RyaW5nLCBfZW1pdD86IGJvb2xlYW4pIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGJ1aWxkZXIuYnVpbGQocGtnLnJlc29sdmUoam9pbihwYXRoLCBcInRzY29uZmlnLmpzb25cIikpKTtcblxuICAgICAgICAgICAgVHlwZXNjcmlwdENvbnRleHQuZGlhZ25vc2UoZGlhZ25vc3RpY3MpO1xuXG4gICAgICAgICAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgICAgICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICAgICAgICAgIGNhc2UgRXhpdFN0YXR1cy5TdWNjZXNzOlxuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgRXhpdFN0YXR1cy5JbnZhbGlkUHJvamVjdF9PdXRwdXRzU2tpcHBlZDpcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEJ1aWxkRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBgVHlwZXNjcmlwdCBkb2VzIG5vdCB0aGluayAke3BhdGh9IGlzIHBhcnQgb2YgdGhlIHByb2plY3QsIHRoaXMgaXMgcHJvYmFibHkgYSBidWlsZCB0b29saW5nIGVycm9yYCxcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGNhc2UgRXhpdFN0YXR1cy5Qcm9qZWN0UmVmZXJlbmNlQ3ljbGVfT3V0cHV0c1NraXBwZWQ6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBCdWlsZEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgYFR5cGVzY3JpcHQgaWRlbnRpZmllZCBhIGN5Y2xpY2FsIHByb2plY3QgcmVmZXJlbmNlIGluICR7cGF0aH0sIHBsZWFzZSBjaGVjayBwYWNrYWdlIGRlcGVuZGVuY2llc2AsXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxCdWlsZEVycm9yKGBCdWlsZCBlcnJvciAke0V4aXRTdGF0dXNbc3RhdHVzXX0gd2l0aG91dCBkaWFnbm9zdGljc2ApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsU0FBUyxZQUFZO0FBQ3JCLFNBQVMsdUJBQXVCLDJCQUF1QyxrQkFBa0I7QUFFekYsU0FBUyxZQUFZLDBCQUEwQjtBQUUvQyxTQUFTLHlCQUF5QjtBQUVsQyxlQUFzQiw2QkFDbEIsV0FDQSxRQUNBLGlCQUMwQjtBQUMxQixNQUFJO0FBQ0osUUFBTSxPQUFPLDBCQUEwQjtBQUN2QyxPQUFLLG1CQUFtQixpQkFBZSxnQkFBZ0IsQ0FBQyxHQUFHLEtBQUssVUFBVTtBQUUxRSxRQUFNLGdCQUFnQixLQUFLO0FBQzNCLE9BQUssZ0JBQWdCLElBQUksU0FBUztBQUM5QixVQUFNLFNBQVMsY0FBYyxHQUFHLElBQUk7QUFDcEMsV0FBTztBQUFBLEVBQ1g7QUFFQSxRQUFNLGdCQUFnQixLQUFLO0FBQzNCLE9BQUssZ0JBQWdCLElBQUksU0FBUztBQUM5QixVQUFNLFNBQVMsZ0JBQWdCLEdBQUcsSUFBSTtBQUN0QyxXQUFPLFVBQVUsQ0FBQztBQUFBLEVBQ3RCO0FBRUEsUUFBTSxVQUFVLHNCQUFzQixNQUFNLENBQUMsVUFBVSxRQUFRLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUVwRixvQkFBa0IsU0FBUyxXQUFXO0FBRXRDLG9CQUFrQix5QkFBeUIsTUFBTSxlQUFlO0FBRWhFLFNBQU87QUFBQSxJQUNILE1BQU0sTUFBTSxLQUFjLE1BQWMsT0FBaUI7QUFDckQsWUFBTSxTQUFTLFFBQVEsTUFBTSxJQUFJLFFBQVEsS0FBSyxNQUFNLGVBQWUsQ0FBQyxDQUFDO0FBRXJFLHdCQUFrQixTQUFTLFdBQVc7QUFFdEMsY0FBUSxRQUFRO0FBQUEsUUFDWixLQUFLO0FBQUEsUUFDTCxLQUFLLFdBQVc7QUFDWjtBQUFBLFFBRUosS0FBSyxXQUFXO0FBQ1osZ0JBQU0sSUFBSTtBQUFBLFlBQ04sNkJBQTZCLElBQUk7QUFBQSxVQUNyQztBQUFBLFFBRUosS0FBSyxXQUFXO0FBQ1osZ0JBQU0sSUFBSTtBQUFBLFlBQ04seURBQXlELElBQUk7QUFBQSxVQUNqRTtBQUFBLFFBRUo7QUFDSSxnQkFBTSxJQUFJLG1CQUFtQixlQUFlLFdBQVcsTUFBTSxDQUFDLHNCQUFzQjtBQUFBLE1BQzVGO0FBQUEsSUFDSjtBQUFBLEVBQ0o7QUFDSjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/building/typescript/solution-builder.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY;AACrB,SAAS,uBAAuB,2BAAuC,kBAAkB;AAEzF,SAAS,YAAY,0BAA0B;AAE/C,SAAS,yBAAyB;AAElC,eAAsB,6BAClB,WACA,QACA,iBAC0B;AAC1B,MAAI;AACJ,QAAM,OAAO,0BAA0B;AACvC,OAAK,mBAAmB,iBAAe,gBAAgB,CAAC,GAAG,KAAK,UAAU;AAE1E,QAAM,gBAAgB,KAAK;AAC3B,OAAK,gBAAgB,IAAI,SAAS;AAC9B,UAAM,SAAS,cAAc,GAAG,IAAI;AACpC,WAAO;AAAA,EACX;AAEA,QAAM,gBAAgB,KAAK;AAC3B,OAAK,gBAAgB,IAAI,SAAS;AAC9B,UAAM,SAAS,gBAAgB,GAAG,IAAI;AACtC,WAAO,UAAU,CAAC;AAAA,EACtB;AAEA,QAAM,UAAU,sBAAsB,MAAM,CAAC,UAAU,QAAQ,eAAe,CAAC,GAAG,CAAC,CAAC;AAEpF,oBAAkB,SAAS,WAAW;AAEtC,oBAAkB,yBAAyB,MAAM,eAAe;AAEhE,SAAO;AAAA,IACH,MAAM,MAAM,KAAc,MAAc,OAAiB;AACrD,YAAM,SAAS,QAAQ,MAAM,IAAI,QAAQ,KAAK,MAAM,eAAe,CAAC,CAAC;AAErE,wBAAkB,SAAS,WAAW;AAEtC,cAAQ,QAAQ;AAAA,QACZ,KAAK;AAAA,QACL,KAAK,WAAW;AACZ;AAAA,QAEJ,KAAK,WAAW;AACZ,gBAAM,IAAI;AAAA,YACN,6BAA6B,IAAI;AAAA,UACrC;AAAA,QAEJ,KAAK,WAAW;AACZ,gBAAM,IAAI;AAAA,YACN,yDAAyD,IAAI;AAAA,UACjE;AAAA,QAEJ;AACI,gBAAM,IAAI,mBAAmB,eAAe,WAAW,MAAM,CAAC,sBAAsB;AAAA,MAC5F;AAAA,IACJ;AAAA,EACJ;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { createSolutionBuilderContext } from "./typescript/solution-builder.js";
7
+ /**
8
+ * Create a {@link TypescriptContext} for validating types and optionally emitting .d.ts file.
9
+ *
10
+ * We have multiple implementations as we've tried TS API variants. We export the one we currently use here.
11
+ */
12
+ export declare const createTypescriptContext: typeof createSolutionBuilderContext;
13
+ //# sourceMappingURL=typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/building/typescript.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,qCAA+B,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { createSolutionBuilderContext } from "./typescript/solution-builder.js";
7
+ const createTypescriptContext = createSolutionBuilderContext;
8
+ export {
9
+ createTypescriptContext
10
+ };
11
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2J1aWxkaW5nL3R5cGVzY3JpcHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIyLTIwMjQgTWF0dGVyLmpzIEF1dGhvcnNcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgVHlwZXNjcmlwdENvbnRleHQgfSBmcm9tIFwiLi90eXBlc2NyaXB0L2NvbnRleHQuanNcIjtcbmltcG9ydCB7IGNyZWF0ZVNvbHV0aW9uQnVpbGRlckNvbnRleHQgfSBmcm9tIFwiLi90eXBlc2NyaXB0L3NvbHV0aW9uLWJ1aWxkZXIuanNcIjtcblxuLyoqXG4gKiBDcmVhdGUgYSB7QGxpbmsgVHlwZXNjcmlwdENvbnRleHR9IGZvciB2YWxpZGF0aW5nIHR5cGVzIGFuZCBvcHRpb25hbGx5IGVtaXR0aW5nIC5kLnRzIGZpbGUuXG4gKlxuICogV2UgaGF2ZSBtdWx0aXBsZSBpbXBsZW1lbnRhdGlvbnMgYXMgd2UndmUgdHJpZWQgVFMgQVBJIHZhcmlhbnRzLiAgV2UgZXhwb3J0IHRoZSBvbmUgd2UgY3VycmVudGx5IHVzZSBoZXJlLlxuICovXG5leHBvcnQgY29uc3QgY3JlYXRlVHlwZXNjcmlwdENvbnRleHQgPSBjcmVhdGVTb2x1dGlvbkJ1aWxkZXJDb250ZXh0O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BLFNBQVMsb0NBQW9DO0FBT3RDLE1BQU0sMEJBQTBCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/building/typescript.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,oCAAoC;AAOtC,MAAM,0BAA0B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import "./testing/global-declarations.js";
7
+ export * from "./building/graph.js";
8
+ export * from "./building/project.js";
9
+ export * from "./testing/chip.js";
10
+ export * from "./testing/mocharc.cjs";
11
+ export * from "./util/docker.js";
12
+ export * from "./util/package.js";
13
+ export * from "./util/progress.js";
14
+ export * from "./util/wtf.js";
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kCAAkC,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import "./testing/global-declarations.js";
7
+ export * from "./building/graph.js";
8
+ export * from "./building/project.js";
9
+ export * from "./testing/chip.js";
10
+ export * from "./testing/mocharc.cjs";
11
+ export * from "./util/docker.js";
12
+ export * from "./util/package.js";
13
+ export * from "./util/progress.js";
14
+ export * from "./util/wtf.js";
15
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMi0yMDI0IE1hdHRlci5qcyBBdXRob3JzXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCBcIi4vdGVzdGluZy9nbG9iYWwtZGVjbGFyYXRpb25zLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9idWlsZGluZy9ncmFwaC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYnVpbGRpbmcvcHJvamVjdC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVzdGluZy9jaGlwLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXN0aW5nL21vY2hhcmMuY2pzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsL2RvY2tlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbC9wYWNrYWdlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsL3Byb2dyZXNzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsL3d0Zi5qc1wiO1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLE9BQU87QUFDUCxjQUFjO0FBQ2QsY0FBYztBQUNkLGNBQWM7QUFDZCxjQUFjO0FBQ2QsY0FBYztBQUNkLGNBQWM7QUFDZCxjQUFjO0FBQ2QsY0FBYzsiLAogICJuYW1lcyI6IFtdCn0K