@vizhub/runtime 0.3.8 → 0.5.0

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 (624) hide show
  1. package/README.md +33 -21
  2. package/dist/{buildHTML.d.ts → build/build.d.ts} +6 -6
  3. package/dist/build/build.d.ts.map +1 -0
  4. package/dist/{determineRuntimeVersion.d.ts → build/determineRuntimeVersion.d.ts} +1 -0
  5. package/dist/build/determineRuntimeVersion.d.ts.map +1 -0
  6. package/dist/build/determineRuntimeVersion.test.d.ts +2 -0
  7. package/dist/build/determineRuntimeVersion.test.d.ts.map +1 -0
  8. package/dist/build/index.d.ts +2 -0
  9. package/dist/build/index.d.ts.map +1 -0
  10. package/dist/build/types.d.ts +7 -0
  11. package/dist/build/types.d.ts.map +1 -0
  12. package/dist/common/packageJson.d.ts +1 -0
  13. package/dist/common/packageJson.d.ts.map +1 -0
  14. package/dist/common/packageJson.test.d.ts +1 -0
  15. package/dist/common/packageJson.test.d.ts.map +1 -0
  16. package/dist/common/sucrasePlugin.d.ts +1 -0
  17. package/dist/common/sucrasePlugin.d.ts.map +1 -0
  18. package/dist/common/virtualFileSystem.d.ts +1 -0
  19. package/dist/common/virtualFileSystem.d.ts.map +1 -0
  20. package/dist/createVizContent-BOSPq-Jv.cjs +207 -0
  21. package/dist/createVizContent-BOSPq-Jv.cjs.map +1 -0
  22. package/dist/createVizContent-DjJF2PT_.js +565 -0
  23. package/dist/createVizContent-DjJF2PT_.js.map +1 -0
  24. package/dist/index.cjs +2 -0
  25. package/dist/index.cjs.map +1 -0
  26. package/dist/index.d.ts +5 -3
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +193 -3
  29. package/dist/index.js.map +1 -0
  30. package/dist/old-implementation-reference/setupV3Runtime.d.ts +1 -0
  31. package/dist/old-implementation-reference/setupV3Runtime.d.ts.map +1 -0
  32. package/dist/old-implementation-reference/types.d.ts +1 -0
  33. package/dist/old-implementation-reference/types.d.ts.map +1 -0
  34. package/dist/old-implementation-reference/worker.d.ts +1 -0
  35. package/dist/old-implementation-reference/worker.d.ts.map +1 -0
  36. package/dist/orchestration/createRuntime.d.ts +11 -0
  37. package/dist/orchestration/createRuntime.d.ts.map +1 -0
  38. package/dist/orchestration/generateRequestId.d.ts +2 -0
  39. package/dist/orchestration/generateRequestId.d.ts.map +1 -0
  40. package/dist/orchestration/setupBuild.d.ts +10 -0
  41. package/dist/orchestration/setupBuild.d.ts.map +1 -0
  42. package/dist/orchestration/setupInvalidateVizCache.d.ts +3 -0
  43. package/dist/orchestration/setupInvalidateVizCache.d.ts.map +1 -0
  44. package/dist/orchestration/types.d.ts +66 -0
  45. package/dist/orchestration/types.d.ts.map +1 -0
  46. package/dist/orchestration/worker.d.ts +2 -0
  47. package/dist/orchestration/worker.d.ts.map +1 -0
  48. package/dist/test/end-to-end.test.d.ts +2 -0
  49. package/dist/test/end-to-end.test.d.ts.map +1 -0
  50. package/dist/test/fixtures/v1/basicHTML.d.ts +1 -0
  51. package/dist/test/fixtures/v1/basicHTML.d.ts.map +1 -0
  52. package/dist/test/fixtures/v1/fetchProxy.d.ts +1 -0
  53. package/dist/test/fixtures/v1/fetchProxy.d.ts.map +1 -0
  54. package/dist/test/fixtures/v1/index.d.ts +1 -0
  55. package/dist/test/fixtures/v1/index.d.ts.map +1 -0
  56. package/dist/test/fixtures/v1/jsScriptTag.d.ts +1 -0
  57. package/dist/test/fixtures/v1/jsScriptTag.d.ts.map +1 -0
  58. package/dist/test/fixtures/v1/protocolTest.d.ts +1 -0
  59. package/dist/test/fixtures/v1/protocolTest.d.ts.map +1 -0
  60. package/dist/test/fixtures/v1/styleTest.d.ts +1 -0
  61. package/dist/test/fixtures/v1/styleTest.d.ts.map +1 -0
  62. package/dist/test/fixtures/v1/xmlTest.d.ts +1 -0
  63. package/dist/test/fixtures/v1/xmlTest.d.ts.map +1 -0
  64. package/dist/test/fixtures/v2/basicBundle.d.ts +1 -0
  65. package/dist/test/fixtures/v2/basicBundle.d.ts.map +1 -0
  66. package/dist/test/fixtures/v2/basicBundleNoExtension.d.ts +1 -0
  67. package/dist/test/fixtures/v2/basicBundleNoExtension.d.ts.map +1 -0
  68. package/dist/test/fixtures/v2/d3Import.d.ts +1 -0
  69. package/dist/test/fixtures/v2/d3Import.d.ts.map +1 -0
  70. package/dist/test/fixtures/v2/d3ImportPkg.d.ts +1 -0
  71. package/dist/test/fixtures/v2/d3ImportPkg.d.ts.map +1 -0
  72. package/dist/test/fixtures/v2/d3RosettaImportPkg.d.ts +1 -0
  73. package/dist/test/fixtures/v2/d3RosettaImportPkg.d.ts.map +1 -0
  74. package/dist/test/fixtures/v2/es6Preserve.d.ts +1 -0
  75. package/dist/test/fixtures/v2/es6Preserve.d.ts.map +1 -0
  76. package/dist/test/fixtures/v2/generatorSupport.d.ts +1 -0
  77. package/dist/test/fixtures/v2/generatorSupport.d.ts.map +1 -0
  78. package/dist/test/fixtures/v2/index.d.ts +3 -1
  79. package/dist/test/fixtures/v2/index.d.ts.map +1 -0
  80. package/dist/test/fixtures/v2/jsxTranspile.d.ts +1 -0
  81. package/dist/test/fixtures/v2/jsxTranspile.d.ts.map +1 -0
  82. package/dist/test/fixtures/v2/reactDomImport.d.ts +1 -0
  83. package/dist/test/fixtures/v2/reactDomImport.d.ts.map +1 -0
  84. package/dist/test/fixtures/v2/reactDomImportPkg.d.ts +1 -0
  85. package/dist/test/fixtures/v2/reactDomImportPkg.d.ts.map +1 -0
  86. package/dist/test/fixtures/v2/reactImport.d.ts +1 -0
  87. package/dist/test/fixtures/v2/reactImport.d.ts.map +1 -0
  88. package/dist/test/fixtures/v2/reactImportPkg.d.ts +1 -0
  89. package/dist/test/fixtures/v2/reactImportPkg.d.ts.map +1 -0
  90. package/dist/test/fixtures/v2/sourceMapErrorFixture.d.ts +1 -0
  91. package/dist/test/fixtures/v2/sourceMapErrorFixture.d.ts.map +1 -0
  92. package/dist/test/fixtures/v2/syntaxError.d.ts +6 -0
  93. package/dist/test/fixtures/v2/syntaxError.d.ts.map +1 -0
  94. package/dist/test/fixtures/v2/unicodeSupport.d.ts +1 -0
  95. package/dist/test/fixtures/v2/unicodeSupport.d.ts.map +1 -0
  96. package/dist/test/fixtures/v3/basicIndexJS.d.ts +1 -0
  97. package/dist/test/fixtures/v3/basicIndexJS.d.ts.map +1 -0
  98. package/dist/test/fixtures/v3/cssImport.d.ts +1 -0
  99. package/dist/test/fixtures/v3/cssImport.d.ts.map +1 -0
  100. package/dist/test/fixtures/v3/csvImport.d.ts +1 -0
  101. package/dist/test/fixtures/v3/csvImport.d.ts.map +1 -0
  102. package/dist/test/fixtures/v3/csvStrangeChars.d.ts +1 -0
  103. package/dist/test/fixtures/v3/csvStrangeChars.d.ts.map +1 -0
  104. package/dist/test/fixtures/v3/d3Dependency.d.ts +5 -0
  105. package/dist/test/fixtures/v3/d3Dependency.d.ts.map +1 -0
  106. package/dist/test/fixtures/v3/index.d.ts +2 -0
  107. package/dist/test/fixtures/v3/index.d.ts.map +1 -0
  108. package/dist/test/fixtures/v3/jsExport.d.ts +1 -0
  109. package/dist/test/fixtures/v3/jsExport.d.ts.map +1 -0
  110. package/dist/test/fixtures/v3/sourcemap.d.ts +1 -0
  111. package/dist/test/fixtures/v3/sourcemap.d.ts.map +1 -0
  112. package/dist/test/fixtures/v3/svelte.d.ts +1 -0
  113. package/dist/test/fixtures/v3/svelte.d.ts.map +1 -0
  114. package/dist/test/fixtures/v3/vizContent.d.ts +1 -0
  115. package/dist/test/fixtures/v3/vizContent.d.ts.map +1 -0
  116. package/dist/test/fixtures/v3/vizImport.d.ts +1 -0
  117. package/dist/test/fixtures/v3/vizImport.d.ts.map +1 -0
  118. package/dist/test/fixtures/v4/d3Usage.d.ts +1 -0
  119. package/dist/test/fixtures/v4/d3Usage.d.ts.map +1 -0
  120. package/dist/test/fixtures/v4/esmBuild.d.ts +1 -0
  121. package/dist/test/fixtures/v4/esmBuild.d.ts.map +1 -0
  122. package/dist/test/fixtures/v4/fetchInterception.d.ts +1 -0
  123. package/dist/test/fixtures/v4/fetchInterception.d.ts.map +1 -0
  124. package/dist/test/fixtures/v4/index.d.ts +1 -0
  125. package/dist/test/fixtures/v4/index.d.ts.map +1 -0
  126. package/dist/test/fixtures/v4/jsScriptTagTypeModule.d.ts +1 -0
  127. package/dist/test/fixtures/v4/jsScriptTagTypeModule.d.ts.map +1 -0
  128. package/dist/test/fixtures/v4/jsScriptTagTypeModules.d.ts +1 -0
  129. package/dist/test/fixtures/v4/jsScriptTagTypeModules.d.ts.map +1 -0
  130. package/dist/test/fixtures/v4/reactHooks.d.ts +1 -0
  131. package/dist/test/fixtures/v4/reactHooks.d.ts.map +1 -0
  132. package/dist/test/fixtures/v4/reactJsx.d.ts +1 -0
  133. package/dist/test/fixtures/v4/reactJsx.d.ts.map +1 -0
  134. package/dist/test/fixtures/v4/threeJsUsage.d.ts +1 -0
  135. package/dist/test/fixtures/v4/threeJsUsage.d.ts.map +1 -0
  136. package/dist/test/fixtures/v4/typeScriptSupport.d.ts +1 -0
  137. package/dist/test/fixtures/v4/typeScriptSupport.d.ts.map +1 -0
  138. package/dist/test/orchestration.test.d.ts +2 -0
  139. package/dist/test/orchestration.test.d.ts.map +1 -0
  140. package/dist/test/testInBrowser.d.ts +5 -4
  141. package/dist/test/testInBrowser.d.ts.map +1 -0
  142. package/dist/test/testMockedIframeWithWorker.d.ts +28 -0
  143. package/dist/test/testMockedIframeWithWorker.d.ts.map +1 -0
  144. package/dist/test/testRuntimeWithWorker.d.ts +18 -0
  145. package/dist/test/testRuntimeWithWorker.d.ts.map +1 -0
  146. package/dist/test/testStackTrace.d.ts +1 -0
  147. package/dist/test/testStackTrace.d.ts.map +1 -0
  148. package/dist/test/v1.test.d.ts +1 -0
  149. package/dist/test/v1.test.d.ts.map +1 -0
  150. package/dist/test/v2.test.d.ts +1 -0
  151. package/dist/test/v2.test.d.ts.map +1 -0
  152. package/dist/test/v3.test.d.ts +1 -0
  153. package/dist/test/v3.test.d.ts.map +1 -0
  154. package/dist/test/v4.test.d.ts +1 -0
  155. package/dist/test/v4.test.d.ts.map +1 -0
  156. package/dist/v2/computeBundleJSV2.d.ts +1 -0
  157. package/dist/v2/computeBundleJSV2.d.ts.map +1 -0
  158. package/dist/v2/getComputedIndexHtml.d.ts +1 -2
  159. package/dist/v2/getComputedIndexHtml.d.ts.map +1 -0
  160. package/dist/v2/getComputedIndexHtml.test.d.ts +1 -0
  161. package/dist/v2/getComputedIndexHtml.test.d.ts.map +1 -0
  162. package/dist/v2/index.d.ts +1 -0
  163. package/dist/v2/index.d.ts.map +1 -0
  164. package/dist/v2/v2Build.d.ts +1 -0
  165. package/dist/v2/v2Build.d.ts.map +1 -0
  166. package/dist/v3/cleanRollupErrorMessage.d.ts +1 -0
  167. package/dist/v3/cleanRollupErrorMessage.d.ts.map +1 -0
  168. package/dist/v3/cleanRollupErrorMessage.test.d.ts +2 -0
  169. package/dist/v3/cleanRollupErrorMessage.test.d.ts.map +1 -0
  170. package/dist/v3/computeBundleJSV3.d.ts +6 -5
  171. package/dist/v3/computeBundleJSV3.d.ts.map +1 -0
  172. package/dist/v3/createVizContent.d.ts +1 -0
  173. package/dist/v3/createVizContent.d.ts.map +1 -0
  174. package/dist/v3/extractVizImport.d.ts +1 -0
  175. package/dist/v3/extractVizImport.d.ts.map +1 -0
  176. package/dist/v3/extractVizImport.test.d.ts +1 -0
  177. package/dist/v3/extractVizImport.test.d.ts.map +1 -0
  178. package/dist/v3/htmlTemplate.d.ts +1 -0
  179. package/dist/v3/htmlTemplate.d.ts.map +1 -0
  180. package/dist/v3/index.d.ts +10 -0
  181. package/dist/v3/index.d.ts.map +1 -0
  182. package/dist/v3/parseId.d.ts +3 -2
  183. package/dist/v3/parseId.d.ts.map +1 -0
  184. package/dist/v3/parseId.test.d.ts +1 -0
  185. package/dist/v3/parseId.test.d.ts.map +1 -0
  186. package/dist/v3/setupV3Runtime.d.ts +1 -15
  187. package/dist/v3/setupV3Runtime.d.ts.map +1 -0
  188. package/dist/v3/slugCache.d.ts +1 -0
  189. package/dist/v3/slugCache.d.ts.map +1 -0
  190. package/dist/v3/slugCache.test.d.ts +1 -0
  191. package/dist/v3/slugCache.test.d.ts.map +1 -0
  192. package/dist/v3/transformDSV/dsvParseSrc.d.ts +1 -0
  193. package/dist/v3/transformDSV/dsvParseSrc.d.ts.map +1 -0
  194. package/dist/v3/transformDSV/index.d.ts +1 -0
  195. package/dist/v3/transformDSV/index.d.ts.map +1 -0
  196. package/dist/v3/transformSvelte.d.ts +2 -1
  197. package/dist/v3/transformSvelte.d.ts.map +1 -0
  198. package/dist/v3/types.d.ts +2 -1
  199. package/dist/v3/types.d.ts.map +1 -0
  200. package/dist/v3/v3Build.d.ts +6 -4
  201. package/dist/v3/v3Build.d.ts.map +1 -0
  202. package/dist/v3/vizCache.d.ts +1 -0
  203. package/dist/v3/vizCache.d.ts.map +1 -0
  204. package/dist/v3/vizCache.test.d.ts +1 -0
  205. package/dist/v3/vizCache.test.d.ts.map +1 -0
  206. package/dist/v3/vizLoad.d.ts +3 -2
  207. package/dist/v3/vizLoad.d.ts.map +1 -0
  208. package/dist/v3/vizResolve.d.ts +2 -1
  209. package/dist/v3/vizResolve.d.ts.map +1 -0
  210. package/dist/v4/bundleModule.d.ts +12 -0
  211. package/dist/v4/bundleModule.d.ts.map +1 -0
  212. package/dist/v4/extractEntryPoints.d.ts +5 -0
  213. package/dist/v4/extractEntryPoints.d.ts.map +1 -0
  214. package/dist/v4/importMap.d.ts +6 -0
  215. package/dist/v4/importMap.d.ts.map +1 -0
  216. package/dist/v4/index.d.ts +4 -1
  217. package/dist/v4/index.d.ts.map +1 -0
  218. package/dist/v4/stringUtils.d.ts +17 -0
  219. package/dist/v4/stringUtils.d.ts.map +1 -0
  220. package/dist/v4/updateHTML.d.ts +6 -0
  221. package/dist/v4/updateHTML.d.ts.map +1 -0
  222. package/dist/worker.cjs +9 -0
  223. package/dist/worker.cjs.map +1 -0
  224. package/dist/worker.js +390 -0
  225. package/dist/worker.js.map +1 -0
  226. package/package.json +21 -16
  227. package/dist/buildHTML.js +0 -67
  228. package/dist/cjs/buildHTML.js +0 -71
  229. package/dist/cjs/common/packageJson.js +0 -81
  230. package/dist/cjs/common/packageJson.test.js +0 -148
  231. package/dist/cjs/common/sucrasePlugin.js +0 -27
  232. package/dist/cjs/common/virtualFileSystem.js +0 -79
  233. package/dist/cjs/determineRuntimeVersion.js +0 -26
  234. package/dist/cjs/determineRuntimeVersion.test.js +0 -103
  235. package/dist/cjs/index.js +0 -13
  236. package/dist/cjs/package.json +0 -1
  237. package/dist/cjs/test/fixtures/v1/basicHTML.js +0 -18
  238. package/dist/cjs/test/fixtures/v1/fetchProxy.js +0 -15
  239. package/dist/cjs/test/fixtures/v1/index.js +0 -15
  240. package/dist/cjs/test/fixtures/v1/jsScriptTag.js +0 -12
  241. package/dist/cjs/test/fixtures/v1/protocolTest.js +0 -18
  242. package/dist/cjs/test/fixtures/v1/styleTest.js +0 -18
  243. package/dist/cjs/test/fixtures/v1/xmlTest.js +0 -22
  244. package/dist/cjs/test/fixtures/v2/basicBundle.js +0 -8
  245. package/dist/cjs/test/fixtures/v2/basicBundleNoExtension.js +0 -8
  246. package/dist/cjs/test/fixtures/v2/d3Import.js +0 -10
  247. package/dist/cjs/test/fixtures/v2/d3ImportPkg.js +0 -22
  248. package/dist/cjs/test/fixtures/v2/d3RosettaImportPkg.js +0 -22
  249. package/dist/cjs/test/fixtures/v2/es6Preserve.js +0 -9
  250. package/dist/cjs/test/fixtures/v2/generatorSupport.js +0 -9
  251. package/dist/cjs/test/fixtures/v2/index.js +0 -45
  252. package/dist/cjs/test/fixtures/v2/jsxTranspile.js +0 -9
  253. package/dist/cjs/test/fixtures/v2/reactDomImport.js +0 -11
  254. package/dist/cjs/test/fixtures/v2/reactDomImportPkg.js +0 -27
  255. package/dist/cjs/test/fixtures/v2/reactImport.js +0 -10
  256. package/dist/cjs/test/fixtures/v2/reactImportPkg.js +0 -20
  257. package/dist/cjs/test/fixtures/v2/sourceMapErrorFixture.js +0 -22
  258. package/dist/cjs/test/fixtures/v2/unicodeSupport.js +0 -9
  259. package/dist/cjs/test/fixtures/v3/basicIndexJS.js +0 -10
  260. package/dist/cjs/test/fixtures/v3/cssImport.js +0 -12
  261. package/dist/cjs/test/fixtures/v3/csvImport.js +0 -14
  262. package/dist/cjs/test/fixtures/v3/csvStrangeChars.js +0 -15
  263. package/dist/cjs/test/fixtures/v3/index.js +0 -25
  264. package/dist/cjs/test/fixtures/v3/jsExport.js +0 -13
  265. package/dist/cjs/test/fixtures/v3/sourcemap.js +0 -13
  266. package/dist/cjs/test/fixtures/v3/svelte.js +0 -21
  267. package/dist/cjs/test/fixtures/v3/vizContent.js +0 -14
  268. package/dist/cjs/test/fixtures/v3/vizImport.js +0 -88
  269. package/dist/cjs/test/fixtures/v4/d3Usage.js +0 -34
  270. package/dist/cjs/test/fixtures/v4/esmBuild.js +0 -21
  271. package/dist/cjs/test/fixtures/v4/fetchInterception.js +0 -21
  272. package/dist/cjs/test/fixtures/v4/index.js +0 -21
  273. package/dist/cjs/test/fixtures/v4/jsScriptTagTypeModule.js +0 -21
  274. package/dist/cjs/test/fixtures/v4/jsScriptTagTypeModules.js +0 -15
  275. package/dist/cjs/test/fixtures/v4/reactHooks.js +0 -50
  276. package/dist/cjs/test/fixtures/v4/reactJsx.js +0 -37
  277. package/dist/cjs/test/fixtures/v4/threeJsUsage.js +0 -27
  278. package/dist/cjs/test/fixtures/v4/typeScriptSupport.js +0 -32
  279. package/dist/cjs/test/testInBrowser.js +0 -50
  280. package/dist/cjs/test/testStackTrace.js +0 -58
  281. package/dist/cjs/test/v1.test.js +0 -70
  282. package/dist/cjs/test/v2.test.js +0 -124
  283. package/dist/cjs/test/v3.test.js +0 -119
  284. package/dist/cjs/test/v4.test.js +0 -105
  285. package/dist/cjs/types.js +0 -2
  286. package/dist/cjs/utils/vizContentToFileCollection.js +0 -24
  287. package/dist/cjs/utils/vizContentToFileCollection.test.js +0 -77
  288. package/dist/cjs/v2/computeBundleJSV2.js +0 -33
  289. package/dist/cjs/v2/getComputedIndexHtml.js +0 -86
  290. package/dist/cjs/v2/getComputedIndexHtml.test.js +0 -136
  291. package/dist/cjs/v2/index.js +0 -5
  292. package/dist/cjs/v2/v2Build.js +0 -15
  293. package/dist/cjs/v3/cleanRollupErrorMessage.js +0 -13
  294. package/dist/cjs/v3/computeBundleJSV3.js +0 -52
  295. package/dist/cjs/v3/createVizContent.js +0 -27
  296. package/dist/cjs/v3/extractVizImport.js +0 -27
  297. package/dist/cjs/v3/extractVizImport.test.js +0 -32
  298. package/dist/cjs/v3/htmlTemplate.js +0 -93
  299. package/dist/cjs/v3/index.js +0 -5
  300. package/dist/cjs/v3/parseId.js +0 -9
  301. package/dist/cjs/v3/parseId.test.js +0 -27
  302. package/dist/cjs/v3/setupV3Runtime.js +0 -345
  303. package/dist/cjs/v3/slugCache.js +0 -39
  304. package/dist/cjs/v3/slugCache.test.js +0 -107
  305. package/dist/cjs/v3/transformDSV/dsvParseSrc.js +0 -124
  306. package/dist/cjs/v3/transformDSV/index.js +0 -44
  307. package/dist/cjs/v3/transformSvelte.js +0 -81
  308. package/dist/cjs/v3/types.js +0 -2
  309. package/dist/cjs/v3/v3Build.js +0 -34
  310. package/dist/cjs/v3/vizCache.js +0 -40
  311. package/dist/cjs/v3/vizCache.test.js +0 -100
  312. package/dist/cjs/v3/vizLoad.js +0 -50
  313. package/dist/cjs/v3/vizResolve.js +0 -73
  314. package/dist/cjs/v4/index.js +0 -138
  315. package/dist/common/packageJson.js +0 -71
  316. package/dist/common/packageJson.test.js +0 -146
  317. package/dist/common/sucrasePlugin.js +0 -24
  318. package/dist/common/virtualFileSystem.js +0 -75
  319. package/dist/determineRuntimeVersion.js +0 -22
  320. package/dist/determineRuntimeVersion.test.d.ts +0 -1
  321. package/dist/determineRuntimeVersion.test.js +0 -101
  322. package/dist/esm/buildHTML.js +0 -67
  323. package/dist/esm/common/packageJson.js +0 -71
  324. package/dist/esm/common/packageJson.test.js +0 -146
  325. package/dist/esm/common/sucrasePlugin.js +0 -24
  326. package/dist/esm/common/virtualFileSystem.js +0 -75
  327. package/dist/esm/determineRuntimeVersion.js +0 -22
  328. package/dist/esm/determineRuntimeVersion.test.js +0 -101
  329. package/dist/esm/index.js +0 -5
  330. package/dist/esm/test/fixtures/v1/basicHTML.js +0 -15
  331. package/dist/esm/test/fixtures/v1/fetchProxy.js +0 -12
  332. package/dist/esm/test/fixtures/v1/index.js +0 -6
  333. package/dist/esm/test/fixtures/v1/jsScriptTag.js +0 -9
  334. package/dist/esm/test/fixtures/v1/protocolTest.js +0 -15
  335. package/dist/esm/test/fixtures/v1/styleTest.js +0 -15
  336. package/dist/esm/test/fixtures/v1/xmlTest.js +0 -19
  337. package/dist/esm/test/fixtures/v2/basicBundle.js +0 -5
  338. package/dist/esm/test/fixtures/v2/basicBundleNoExtension.js +0 -5
  339. package/dist/esm/test/fixtures/v2/d3Import.js +0 -7
  340. package/dist/esm/test/fixtures/v2/d3ImportPkg.js +0 -19
  341. package/dist/esm/test/fixtures/v2/d3RosettaImportPkg.js +0 -19
  342. package/dist/esm/test/fixtures/v2/es6Preserve.js +0 -6
  343. package/dist/esm/test/fixtures/v2/generatorSupport.js +0 -6
  344. package/dist/esm/test/fixtures/v2/index.js +0 -15
  345. package/dist/esm/test/fixtures/v2/jsxTranspile.js +0 -6
  346. package/dist/esm/test/fixtures/v2/reactDomImport.js +0 -8
  347. package/dist/esm/test/fixtures/v2/reactDomImportPkg.js +0 -24
  348. package/dist/esm/test/fixtures/v2/reactImport.js +0 -7
  349. package/dist/esm/test/fixtures/v2/reactImportPkg.js +0 -17
  350. package/dist/esm/test/fixtures/v2/sourceMapErrorFixture.js +0 -19
  351. package/dist/esm/test/fixtures/v2/unicodeSupport.js +0 -6
  352. package/dist/esm/test/fixtures/v3/basicIndexJS.js +0 -7
  353. package/dist/esm/test/fixtures/v3/cssImport.js +0 -9
  354. package/dist/esm/test/fixtures/v3/csvImport.js +0 -11
  355. package/dist/esm/test/fixtures/v3/csvStrangeChars.js +0 -12
  356. package/dist/esm/test/fixtures/v3/index.js +0 -9
  357. package/dist/esm/test/fixtures/v3/jsExport.js +0 -10
  358. package/dist/esm/test/fixtures/v3/sourcemap.js +0 -10
  359. package/dist/esm/test/fixtures/v3/svelte.js +0 -18
  360. package/dist/esm/test/fixtures/v3/vizContent.js +0 -11
  361. package/dist/esm/test/fixtures/v3/vizImport.js +0 -85
  362. package/dist/esm/test/fixtures/v4/d3Usage.js +0 -31
  363. package/dist/esm/test/fixtures/v4/esmBuild.js +0 -18
  364. package/dist/esm/test/fixtures/v4/fetchInterception.js +0 -18
  365. package/dist/esm/test/fixtures/v4/index.js +0 -9
  366. package/dist/esm/test/fixtures/v4/jsScriptTagTypeModule.js +0 -18
  367. package/dist/esm/test/fixtures/v4/jsScriptTagTypeModules.js +0 -12
  368. package/dist/esm/test/fixtures/v4/reactHooks.js +0 -47
  369. package/dist/esm/test/fixtures/v4/reactJsx.js +0 -34
  370. package/dist/esm/test/fixtures/v4/threeJsUsage.js +0 -24
  371. package/dist/esm/test/fixtures/v4/typeScriptSupport.js +0 -29
  372. package/dist/esm/test/testInBrowser.js +0 -47
  373. package/dist/esm/test/testStackTrace.js +0 -55
  374. package/dist/esm/test/v1.test.js +0 -65
  375. package/dist/esm/test/v2.test.js +0 -121
  376. package/dist/esm/test/v3.test.js +0 -114
  377. package/dist/esm/test/v4.test.js +0 -100
  378. package/dist/esm/types.js +0 -1
  379. package/dist/esm/utils/vizContentToFileCollection.js +0 -20
  380. package/dist/esm/utils/vizContentToFileCollection.test.js +0 -75
  381. package/dist/esm/v2/computeBundleJSV2.js +0 -29
  382. package/dist/esm/v2/getComputedIndexHtml.js +0 -81
  383. package/dist/esm/v2/getComputedIndexHtml.test.js +0 -134
  384. package/dist/esm/v2/index.js +0 -1
  385. package/dist/esm/v2/v2Build.js +0 -11
  386. package/dist/esm/v3/cleanRollupErrorMessage.js +0 -9
  387. package/dist/esm/v3/computeBundleJSV3.js +0 -48
  388. package/dist/esm/v3/createVizContent.js +0 -23
  389. package/dist/esm/v3/extractVizImport.js +0 -23
  390. package/dist/esm/v3/extractVizImport.test.js +0 -30
  391. package/dist/esm/v3/htmlTemplate.js +0 -89
  392. package/dist/esm/v3/index.js +0 -1
  393. package/dist/esm/v3/parseId.js +0 -5
  394. package/dist/esm/v3/parseId.test.js +0 -25
  395. package/dist/esm/v3/setupV3Runtime.js +0 -341
  396. package/dist/esm/v3/slugCache.js +0 -35
  397. package/dist/esm/v3/slugCache.test.js +0 -105
  398. package/dist/esm/v3/transformDSV/dsvParseSrc.js +0 -121
  399. package/dist/esm/v3/transformDSV/index.js +0 -40
  400. package/dist/esm/v3/transformSvelte.js +0 -77
  401. package/dist/esm/v3/types.js +0 -1
  402. package/dist/esm/v3/v3Build.js +0 -30
  403. package/dist/esm/v3/vizCache.js +0 -36
  404. package/dist/esm/v3/vizCache.test.js +0 -98
  405. package/dist/esm/v3/vizLoad.js +0 -46
  406. package/dist/esm/v3/vizResolve.js +0 -69
  407. package/dist/esm/v4/index.js +0 -134
  408. package/dist/fixtures/basicHTML.d.ts +0 -2
  409. package/dist/fixtures/basicHTML.js +0 -22
  410. package/dist/fixtures/fetchProxy.d.ts +0 -2
  411. package/dist/fixtures/fetchProxy.js +0 -25
  412. package/dist/fixtures/index.d.ts +0 -3
  413. package/dist/fixtures/index.js +0 -9
  414. package/dist/fixtures/jsScriptTag.d.ts +0 -2
  415. package/dist/fixtures/jsScriptTag.js +0 -19
  416. package/dist/index.test.d.ts +0 -1
  417. package/dist/index.test.js +0 -50
  418. package/dist/magicSandbox/fixProtocollessUrls.d.ts +0 -4
  419. package/dist/magicSandbox/fixProtocollessUrls.js +0 -10
  420. package/dist/magicSandbox/generateInterceptorScript.d.ts +0 -4
  421. package/dist/magicSandbox/generateInterceptorScript.js +0 -178
  422. package/dist/magicSandbox/index.d.ts +0 -19
  423. package/dist/magicSandbox/index.js +0 -48
  424. package/dist/test/fixtures/basicHTML.d.ts +0 -2
  425. package/dist/test/fixtures/basicHTML.js +0 -19
  426. package/dist/test/fixtures/fetchProxy.d.ts +0 -2
  427. package/dist/test/fixtures/fetchProxy.js +0 -22
  428. package/dist/test/fixtures/index.d.ts +0 -6
  429. package/dist/test/fixtures/index.js +0 -6
  430. package/dist/test/fixtures/jsScriptTag.d.ts +0 -2
  431. package/dist/test/fixtures/jsScriptTag.js +0 -16
  432. package/dist/test/fixtures/magicSandbox/basicHTML.d.ts +0 -5
  433. package/dist/test/fixtures/magicSandbox/basicHTML.js +0 -17
  434. package/dist/test/fixtures/magicSandbox/fetchProxy.d.ts +0 -11
  435. package/dist/test/fixtures/magicSandbox/fetchProxy.js +0 -18
  436. package/dist/test/fixtures/magicSandbox/index.d.ts +0 -6
  437. package/dist/test/fixtures/magicSandbox/index.js +0 -6
  438. package/dist/test/fixtures/magicSandbox/jsScriptTag.d.ts +0 -8
  439. package/dist/test/fixtures/magicSandbox/jsScriptTag.js +0 -13
  440. package/dist/test/fixtures/magicSandbox/protocolTest.d.ts +0 -5
  441. package/dist/test/fixtures/magicSandbox/protocolTest.js +0 -17
  442. package/dist/test/fixtures/magicSandbox/styleTest.d.ts +0 -8
  443. package/dist/test/fixtures/magicSandbox/styleTest.js +0 -19
  444. package/dist/test/fixtures/magicSandbox/xmlTest.d.ts +0 -8
  445. package/dist/test/fixtures/magicSandbox/xmlTest.js +0 -23
  446. package/dist/test/fixtures/protocolTest.d.ts +0 -2
  447. package/dist/test/fixtures/protocolTest.js +0 -19
  448. package/dist/test/fixtures/styleTest.d.ts +0 -2
  449. package/dist/test/fixtures/styleTest.js +0 -22
  450. package/dist/test/fixtures/v1/basicHTML.js +0 -15
  451. package/dist/test/fixtures/v1/fetchProxy.js +0 -12
  452. package/dist/test/fixtures/v1/index.js +0 -6
  453. package/dist/test/fixtures/v1/jsScriptTag.js +0 -9
  454. package/dist/test/fixtures/v1/protocolTest.js +0 -15
  455. package/dist/test/fixtures/v1/styleTest.js +0 -15
  456. package/dist/test/fixtures/v1/xmlTest.js +0 -19
  457. package/dist/test/fixtures/v2/basicBundle.js +0 -5
  458. package/dist/test/fixtures/v2/basicBundleNoExtension.js +0 -5
  459. package/dist/test/fixtures/v2/d3Import.js +0 -7
  460. package/dist/test/fixtures/v2/d3ImportPkg.js +0 -19
  461. package/dist/test/fixtures/v2/d3RosettaImportPkg.js +0 -19
  462. package/dist/test/fixtures/v2/es6Preserve.js +0 -6
  463. package/dist/test/fixtures/v2/generatorSupport.js +0 -6
  464. package/dist/test/fixtures/v2/index.js +0 -15
  465. package/dist/test/fixtures/v2/jsxTranspile.js +0 -6
  466. package/dist/test/fixtures/v2/reactDomImport.js +0 -8
  467. package/dist/test/fixtures/v2/reactDomImportPkg.js +0 -24
  468. package/dist/test/fixtures/v2/reactImport.js +0 -7
  469. package/dist/test/fixtures/v2/reactImportPkg.js +0 -17
  470. package/dist/test/fixtures/v2/sourceMapErrorFixture.js +0 -19
  471. package/dist/test/fixtures/v2/unicodeSupport.js +0 -6
  472. package/dist/test/fixtures/v3/basicIndexJS.js +0 -7
  473. package/dist/test/fixtures/v3/cssImport.js +0 -9
  474. package/dist/test/fixtures/v3/csvImport.js +0 -11
  475. package/dist/test/fixtures/v3/csvStrangeChars.js +0 -12
  476. package/dist/test/fixtures/v3/index.js +0 -9
  477. package/dist/test/fixtures/v3/jsExport.js +0 -10
  478. package/dist/test/fixtures/v3/sourcemap.js +0 -10
  479. package/dist/test/fixtures/v3/svelte.js +0 -18
  480. package/dist/test/fixtures/v3/vizContent.js +0 -11
  481. package/dist/test/fixtures/v3/vizImport.js +0 -85
  482. package/dist/test/fixtures/v4/d3Usage.js +0 -31
  483. package/dist/test/fixtures/v4/esmBuild.js +0 -18
  484. package/dist/test/fixtures/v4/fetchInterception.js +0 -18
  485. package/dist/test/fixtures/v4/index.js +0 -9
  486. package/dist/test/fixtures/v4/jsScriptTagTypeModule.js +0 -18
  487. package/dist/test/fixtures/v4/jsScriptTagTypeModules.js +0 -12
  488. package/dist/test/fixtures/v4/reactHooks.js +0 -47
  489. package/dist/test/fixtures/v4/reactJsx.js +0 -34
  490. package/dist/test/fixtures/v4/threeJsUsage.js +0 -24
  491. package/dist/test/fixtures/v4/typeScriptSupport.js +0 -29
  492. package/dist/test/fixtures/xmlTest.d.ts +0 -2
  493. package/dist/test/fixtures/xmlTest.js +0 -26
  494. package/dist/test/index.test.d.ts +0 -1
  495. package/dist/test/index.test.js +0 -40
  496. package/dist/test/testInBrowser.js +0 -47
  497. package/dist/test/testStackTrace.js +0 -55
  498. package/dist/test/v1.test.js +0 -65
  499. package/dist/test/v2.test.js +0 -121
  500. package/dist/test/v3.test.js +0 -114
  501. package/dist/test/v4.test.js +0 -100
  502. package/dist/types/buildHTML.d.ts +0 -14
  503. package/dist/types/common/packageJson.d.ts +0 -39
  504. package/dist/types/common/packageJson.test.d.ts +0 -1
  505. package/dist/types/common/sucrasePlugin.d.ts +0 -2
  506. package/dist/types/common/virtualFileSystem.d.ts +0 -3
  507. package/dist/types/determineRuntimeVersion.d.ts +0 -3
  508. package/dist/types/determineRuntimeVersion.test.d.ts +0 -1
  509. package/dist/types/index.d.ts +0 -5
  510. package/dist/types/test/fixtures/v1/basicHTML.d.ts +0 -3
  511. package/dist/types/test/fixtures/v1/fetchProxy.d.ts +0 -5
  512. package/dist/types/test/fixtures/v1/index.d.ts +0 -6
  513. package/dist/types/test/fixtures/v1/jsScriptTag.d.ts +0 -4
  514. package/dist/types/test/fixtures/v1/protocolTest.d.ts +0 -3
  515. package/dist/types/test/fixtures/v1/styleTest.d.ts +0 -4
  516. package/dist/types/test/fixtures/v1/xmlTest.d.ts +0 -4
  517. package/dist/types/test/fixtures/v2/basicBundle.d.ts +0 -5
  518. package/dist/types/test/fixtures/v2/basicBundleNoExtension.d.ts +0 -5
  519. package/dist/types/test/fixtures/v2/d3Import.d.ts +0 -4
  520. package/dist/types/test/fixtures/v2/d3ImportPkg.d.ts +0 -5
  521. package/dist/types/test/fixtures/v2/d3RosettaImportPkg.d.ts +0 -5
  522. package/dist/types/test/fixtures/v2/es6Preserve.d.ts +0 -4
  523. package/dist/types/test/fixtures/v2/generatorSupport.d.ts +0 -4
  524. package/dist/types/test/fixtures/v2/index.d.ts +0 -14
  525. package/dist/types/test/fixtures/v2/jsxTranspile.d.ts +0 -4
  526. package/dist/types/test/fixtures/v2/reactDomImport.d.ts +0 -4
  527. package/dist/types/test/fixtures/v2/reactDomImportPkg.d.ts +0 -5
  528. package/dist/types/test/fixtures/v2/reactImport.d.ts +0 -4
  529. package/dist/types/test/fixtures/v2/reactImportPkg.d.ts +0 -5
  530. package/dist/types/test/fixtures/v2/sourceMapErrorFixture.d.ts +0 -5
  531. package/dist/types/test/fixtures/v2/unicodeSupport.d.ts +0 -4
  532. package/dist/types/test/fixtures/v3/basicIndexJS.d.ts +0 -3
  533. package/dist/types/test/fixtures/v3/cssImport.d.ts +0 -4
  534. package/dist/types/test/fixtures/v3/csvImport.d.ts +0 -4
  535. package/dist/types/test/fixtures/v3/csvStrangeChars.d.ts +0 -4
  536. package/dist/types/test/fixtures/v3/index.d.ts +0 -9
  537. package/dist/types/test/fixtures/v3/jsExport.d.ts +0 -4
  538. package/dist/types/test/fixtures/v3/sourcemap.d.ts +0 -3
  539. package/dist/types/test/fixtures/v3/svelte.d.ts +0 -4
  540. package/dist/types/test/fixtures/v3/vizContent.d.ts +0 -2
  541. package/dist/types/test/fixtures/v3/vizImport.d.ts +0 -6
  542. package/dist/types/test/fixtures/v4/d3Usage.d.ts +0 -5
  543. package/dist/types/test/fixtures/v4/esmBuild.d.ts +0 -5
  544. package/dist/types/test/fixtures/v4/fetchInterception.d.ts +0 -5
  545. package/dist/types/test/fixtures/v4/index.d.ts +0 -9
  546. package/dist/types/test/fixtures/v4/jsScriptTagTypeModule.d.ts +0 -4
  547. package/dist/types/test/fixtures/v4/jsScriptTagTypeModules.d.ts +0 -5
  548. package/dist/types/test/fixtures/v4/reactHooks.d.ts +0 -6
  549. package/dist/types/test/fixtures/v4/reactJsx.d.ts +0 -6
  550. package/dist/types/test/fixtures/v4/threeJsUsage.d.ts +0 -4
  551. package/dist/types/test/fixtures/v4/typeScriptSupport.d.ts +0 -5
  552. package/dist/types/test/testInBrowser.d.ts +0 -15
  553. package/dist/types/test/testStackTrace.d.ts +0 -9
  554. package/dist/types/test/v1.test.d.ts +0 -1
  555. package/dist/types/test/v2.test.d.ts +0 -1
  556. package/dist/types/test/v3.test.d.ts +0 -1
  557. package/dist/types/test/v4.test.d.ts +0 -1
  558. package/dist/types/types.d.ts +0 -1
  559. package/dist/types/utils/vizContentToFileCollection.d.ts +0 -8
  560. package/dist/types/utils/vizContentToFileCollection.test.d.ts +0 -1
  561. package/dist/types/v2/computeBundleJSV2.d.ts +0 -7
  562. package/dist/types/v2/getComputedIndexHtml.d.ts +0 -4
  563. package/dist/types/v2/getComputedIndexHtml.test.d.ts +0 -1
  564. package/dist/types/v2/index.d.ts +0 -1
  565. package/dist/types/v2/v2Build.d.ts +0 -7
  566. package/dist/types/v3/cleanRollupErrorMessage.d.ts +0 -4
  567. package/dist/types/v3/computeBundleJSV3.d.ts +0 -17
  568. package/dist/types/v3/createVizContent.d.ts +0 -8
  569. package/dist/types/v3/extractVizImport.d.ts +0 -6
  570. package/dist/types/v3/extractVizImport.test.d.ts +0 -1
  571. package/dist/types/v3/htmlTemplate.d.ts +0 -5
  572. package/dist/types/v3/index.d.ts +0 -1
  573. package/dist/types/v3/parseId.d.ts +0 -6
  574. package/dist/types/v3/parseId.test.d.ts +0 -1
  575. package/dist/types/v3/setupV3Runtime.d.ts +0 -15
  576. package/dist/types/v3/slugCache.d.ts +0 -11
  577. package/dist/types/v3/slugCache.test.d.ts +0 -1
  578. package/dist/types/v3/transformDSV/dsvParseSrc.d.ts +0 -1
  579. package/dist/types/v3/transformDSV/index.d.ts +0 -2
  580. package/dist/types/v3/transformSvelte.d.ts +0 -8
  581. package/dist/types/v3/types.d.ts +0 -65
  582. package/dist/types/v3/v3Build.d.ts +0 -14
  583. package/dist/types/v3/vizCache.d.ts +0 -10
  584. package/dist/types/v3/vizCache.test.d.ts +0 -1
  585. package/dist/types/v3/vizLoad.d.ts +0 -7
  586. package/dist/types/v3/vizResolve.d.ts +0 -7
  587. package/dist/types/v4/index.d.ts +0 -10
  588. package/dist/types.d.ts +0 -1
  589. package/dist/types.js +0 -1
  590. package/dist/utils/getFileText.d.ts +0 -2
  591. package/dist/utils/getFileText.js +0 -13
  592. package/dist/utils/getFileText.test.d.ts +0 -1
  593. package/dist/utils/getFileText.test.js +0 -72
  594. package/dist/utils/vizContentToFileCollection.d.ts +0 -7
  595. package/dist/utils/vizContentToFileCollection.js +0 -19
  596. package/dist/utils/vizContentToFileCollection.test.d.ts +0 -1
  597. package/dist/utils/vizContentToFileCollection.test.js +0 -75
  598. package/dist/v2/computeBundleJSV2.js +0 -29
  599. package/dist/v2/getComputedIndexHtml.js +0 -81
  600. package/dist/v2/getComputedIndexHtml.test.js +0 -134
  601. package/dist/v2/index.js +0 -1
  602. package/dist/v2/v2Build.js +0 -11
  603. package/dist/v3/cleanRollupErrorMessage.js +0 -9
  604. package/dist/v3/computeBundleJSV3.js +0 -48
  605. package/dist/v3/createVizContent.js +0 -23
  606. package/dist/v3/extractVizImport.js +0 -23
  607. package/dist/v3/extractVizImport.test.js +0 -30
  608. package/dist/v3/htmlTemplate.js +0 -89
  609. package/dist/v3/index.js +0 -1
  610. package/dist/v3/parseId.js +0 -5
  611. package/dist/v3/parseId.test.js +0 -25
  612. package/dist/v3/setupV3Runtime.js +0 -341
  613. package/dist/v3/slugCache.js +0 -35
  614. package/dist/v3/slugCache.test.js +0 -105
  615. package/dist/v3/transformDSV/dsvParseSrc.js +0 -121
  616. package/dist/v3/transformDSV/index.js +0 -40
  617. package/dist/v3/transformSvelte.js +0 -77
  618. package/dist/v3/types.js +0 -1
  619. package/dist/v3/v3Build.js +0 -30
  620. package/dist/v3/vizCache.js +0 -36
  621. package/dist/v3/vizCache.test.js +0 -98
  622. package/dist/v3/vizLoad.js +0 -46
  623. package/dist/v3/vizResolve.js +0 -69
  624. package/dist/v4/index.js +0 -134
package/dist/worker.js ADDED
@@ -0,0 +1,390 @@
1
+ import { rollup as R } from "@rollup/browser";
2
+ import { vizFilesToFileCollection as j } from "@vizhub/viz-utils";
3
+ import "sucrase";
4
+ import { e as x, f, h as w, p as C, i as M, j as y, d as $, a as v, v as S, b as P, g as O, s as q } from "./createVizContent-DjJF2PT_.js";
5
+ import { magicSandbox as p } from "magic-sandbox";
6
+ const T = (t) => {
7
+ if (Object.keys(t).length === 0)
8
+ return null;
9
+ const e = "index.html" in t, n = "index.js" in t, i = "index.jsx" in t;
10
+ return e ? t["index.html"].includes('type="module"') ? "v4" : n || i ? "v2" : "v1" : !e && n ? "v3" : null;
11
+ }, m = (t, e) => new RegExp(`<${e}\\b`, "i").test(t) && new RegExp(`</${e}>`, "i").test(t), I = (t) => {
12
+ const e = t.trim();
13
+ return m(e, "html") && m(e, "head") && m(e, "body") ? e : `<html><head></head><body>${e}</body></html>`;
14
+ }, k = (t, e) => t.replace(
15
+ new RegExp(
16
+ `<script[^>]*src=["'][^"']*${e.source}[^"']*["'][^>]*>\\s*<\/script>`,
17
+ "gi"
18
+ ),
19
+ ""
20
+ ), g = (t, e, n) => t.replace(
21
+ new RegExp(e, "i"),
22
+ `${n}${e}`
23
+ ), B = (t, e) => {
24
+ let n = I(t);
25
+ const i = Object.entries(x(e));
26
+ if (i.length) {
27
+ const s = f(e);
28
+ i.forEach(([r]) => {
29
+ n = k(n, new RegExp(`${r}@`));
30
+ });
31
+ const a = i.map(
32
+ ([r, c]) => w({ name: r, version: c }, s)
33
+ ).map((r) => `<script src="${r}"><\/script>`).join(`
34
+ `);
35
+ n = g(
36
+ n,
37
+ "</head>",
38
+ a + `
39
+ `
40
+ );
41
+ }
42
+ if (e["bundle.js"] !== void 0 || e["index.js"] !== void 0) {
43
+ const s = '<script src="bundle.js"><\/script>', a = /<script\b[^>]*\bsrc=["']bundle\.js["'][^>]*>\s*<\/script>/gi, r = [...n.matchAll(a)];
44
+ r.length === 1 && (() => {
45
+ const u = r[0].index ?? -1;
46
+ if (u === -1) return !1;
47
+ const d = n.search(/<body\b[^>]*>/i), l = n.search(/<\/body>/i);
48
+ return d !== -1 && l !== -1 && u > d && u < l;
49
+ })() || (n = n.replace(a, ""), n = g(n, "</body>", s));
50
+ }
51
+ return /^\s*<!DOCTYPE/i.test(n) ? n : `<!DOCTYPE html>${n}`;
52
+ }, J = (t) => {
53
+ const e = t["index.html"];
54
+ return !e && !t["index.js"] && !t["bundle.js"] ? "" : B(e || "<!DOCTYPE html><html><head></head><body></body></html>", t);
55
+ }, b = (t) => {
56
+ let e = t.replace(/^\.\//, "");
57
+ return e = e.replace(/\/+/g, "/"), e = e.replace(/\/$/, ""), e;
58
+ }, V = (t, e) => {
59
+ const n = t.includes("/") ? t.slice(0, t.lastIndexOf("/")) : "", i = e.split("/"), o = n ? n.split("/") : [];
60
+ for (const s of i)
61
+ s === ".." ? o.pop() : s !== "." && s !== "" && o.push(s);
62
+ return o.join("/");
63
+ }, E = (t) => ({
64
+ name: "virtual-file-system",
65
+ resolveId(e, n) {
66
+ if (e.startsWith("./") || e.startsWith("../")) {
67
+ const o = b(n ? V(n, e) : e);
68
+ if (t[o])
69
+ return o;
70
+ const s = [".js", ".jsx", ".ts", ".tsx"];
71
+ for (const a of s) {
72
+ const r = o + a;
73
+ if (t[r])
74
+ return r;
75
+ }
76
+ }
77
+ if (t[e])
78
+ return e;
79
+ const i = [".js", ".jsx", ".ts", ".tsx"];
80
+ for (const o of i) {
81
+ const s = e + o;
82
+ if (t[s])
83
+ return s;
84
+ }
85
+ return null;
86
+ },
87
+ load(e) {
88
+ return t[e] ? t[e] : null;
89
+ }
90
+ }), D = async ({
91
+ files: t,
92
+ rollup: e,
93
+ enableSourcemap: n = !0
94
+ }) => {
95
+ if (!t["index.js"])
96
+ throw new Error("Missing index.js");
97
+ const o = {
98
+ input: "./index.js",
99
+ plugins: [E(t), y()],
100
+ onwarn(u, d) {
101
+ u.code !== "UNRESOLVED_IMPORT" && d(u);
102
+ }
103
+ }, s = {
104
+ format: "iife",
105
+ sourcemap: n
106
+ }, a = C(t);
107
+ if (a) {
108
+ const u = M(a);
109
+ u && (o.external = Object.keys(u), s.globals = u);
110
+ }
111
+ const r = await e(o), { output: c } = await r.generate(s);
112
+ return c[0].code;
113
+ }, z = async ({
114
+ files: t,
115
+ rollup: e,
116
+ enableSourcemap: n
117
+ }) => ({
118
+ ...t,
119
+ "bundle.js": await D({
120
+ files: t,
121
+ rollup: e,
122
+ enableSourcemap: n
123
+ }),
124
+ "index.html": J(t)
125
+ }), L = (t) => {
126
+ const e = [], n = /<script\b([^>]*)>[\s\S]*?<\/script>/gi;
127
+ let i;
128
+ for (; (i = n.exec(t)) !== null; ) {
129
+ const o = i[1];
130
+ if (!/\btype\s*=\s*["']module["']/i.test(o))
131
+ continue;
132
+ const s = o.match(
133
+ /\bsrc\s*=\s*["']([^"']+)["']/i
134
+ );
135
+ s && e.push(s[1]);
136
+ }
137
+ return e;
138
+ }, W = async ({
139
+ entryPoint: t,
140
+ files: e,
141
+ rollup: n,
142
+ enableSourcemap: i = !0
143
+ }) => {
144
+ const o = {
145
+ input: `./${t}`,
146
+ plugins: [E(e), y()],
147
+ external: (r) => e[r] ? !1 : !r.startsWith("./"),
148
+ onwarn(r, c) {
149
+ c(r);
150
+ }
151
+ }, s = await n(o), { output: a } = await s.generate({
152
+ format: "es",
153
+ sourcemap: i
154
+ });
155
+ return a[0].code;
156
+ }, h = (t, e) => new RegExp(`<${e}\\b`, "i").test(t) && new RegExp(`</${e}>`, "i").test(t), Y = (t) => {
157
+ const e = t.trim();
158
+ return h(e, "html") && h(e, "head") && h(e, "body") ? e : `<html><head></head><body>${e}</body></html>`;
159
+ }, H = (t) => t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), U = (t, e, n) => t.replace(
160
+ new RegExp(e, "i"),
161
+ `${n}${e}`
162
+ ), F = (t) => {
163
+ const e = x(t);
164
+ if (Object.keys(e).length === 0) return null;
165
+ const n = f(t), i = {};
166
+ for (const [o, s] of Object.entries(e))
167
+ i[o] = w(
168
+ { name: o, version: s },
169
+ n
170
+ );
171
+ return JSON.stringify({ imports: i }, null, 2);
172
+ }, N = (t, e) => {
173
+ if (!t["index.html"]) return "";
174
+ let n = Y(t["index.html"]);
175
+ e.forEach((o, s) => {
176
+ const a = new RegExp(
177
+ `<script\\b[^>]*\\bsrc=["']${H(s)}["'][^>]*>[^<]*<\/script>`,
178
+ "gi"
179
+ );
180
+ n = n.replace(
181
+ a,
182
+ `<script type="module">
183
+ ${o}
184
+ <\/script>`
185
+ );
186
+ });
187
+ const i = F(t);
188
+ if (i && !/<script\b[^>]*type=["']importmap["'][^>]*>/i.test(
189
+ n
190
+ )) {
191
+ const s = `<script type="importmap">
192
+ ${i}
193
+ <\/script>
194
+ `;
195
+ n = U(
196
+ n,
197
+ "</head>",
198
+ s
199
+ );
200
+ }
201
+ return /^\s*<!DOCTYPE/i.test(n) ? n : `<!DOCTYPE html>${n}`;
202
+ }, A = async ({
203
+ files: t,
204
+ rollup: e,
205
+ enableSourcemap: n = !0
206
+ }) => {
207
+ const i = t["index.html"] || "", o = L(i);
208
+ if (o.length === 0)
209
+ return t;
210
+ const s = /* @__PURE__ */ new Map();
211
+ for (const r of o) {
212
+ const c = await W({
213
+ entryPoint: r,
214
+ files: t,
215
+ rollup: e,
216
+ enableSourcemap: n
217
+ });
218
+ s.set(r, c);
219
+ }
220
+ const a = N(t, s);
221
+ return {
222
+ ...t,
223
+ "index.html": a
224
+ };
225
+ }, G = async ({
226
+ files: t,
227
+ rollup: e,
228
+ enableSourcemap: n = !0,
229
+ vizCache: i,
230
+ vizId: o,
231
+ slugCache: s,
232
+ getSvelteCompiler: a
233
+ }) => {
234
+ var c;
235
+ if (!t && !i)
236
+ throw new Error("Either files or vizCache is required");
237
+ if (!t && i && !o)
238
+ throw new Error(
239
+ "vizId is required when using vizCache"
240
+ );
241
+ if (!t && i && o && (t = j(
242
+ (c = await i.get(o)) == null ? void 0 : c.files
243
+ )), !t)
244
+ throw new Error("Upable to extract viz files");
245
+ const r = T(t);
246
+ if (r === "v1")
247
+ return {
248
+ html: p(t)
249
+ };
250
+ if (r === "v2") {
251
+ if (!e)
252
+ throw new Error("Rollup is required for v2 runtime");
253
+ return {
254
+ html: p(
255
+ await z({ files: t, rollup: e, enableSourcemap: n })
256
+ )
257
+ };
258
+ }
259
+ if (r === "v3") {
260
+ if (!e)
261
+ throw new Error("Rollup is required for v3 runtime");
262
+ if (!i && !o) {
263
+ const u = $(t);
264
+ o = u.id, i = v({
265
+ initialContents: [u],
266
+ handleCacheMiss: async () => {
267
+ throw new Error(
268
+ "Cache miss handler not implemented"
269
+ );
270
+ }
271
+ });
272
+ }
273
+ if (!i)
274
+ throw new Error(
275
+ "vizCache is required for v3 runtime"
276
+ );
277
+ if (!o)
278
+ throw new Error("vizId is required for v3 runtime");
279
+ return await S({
280
+ files: t,
281
+ rollup: e,
282
+ vizCache: i,
283
+ vizId: o,
284
+ slugCache: s,
285
+ getSvelteCompiler: a
286
+ });
287
+ }
288
+ if (r === "v4") {
289
+ if (!e)
290
+ throw new Error("Rollup is required for v4 runtime");
291
+ return {
292
+ html: p(
293
+ await A({ files: t, rollup: e, enableSourcemap: n })
294
+ )
295
+ };
296
+ }
297
+ throw new Error(
298
+ `Unsupported runtime version: ${r}`
299
+ );
300
+ }, ee = () => {
301
+ const t = async () => {
302
+ const s = await fetch(q).then(
303
+ (a) => a.text()
304
+ );
305
+ return (0, eval)(s), self.svelte.compile;
306
+ }, e = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), i = v({
307
+ initialContents: [],
308
+ handleCacheMiss: async (s) => (postMessage({
309
+ type: "contentRequest",
310
+ vizId: s
311
+ }), new Promise((r) => {
312
+ e.set(s, r);
313
+ }))
314
+ }), o = P({
315
+ initialMappings: {},
316
+ handleCacheMiss: async (s) => {
317
+ const a = O();
318
+ return postMessage({
319
+ type: "resolveSlugRequest",
320
+ slugKey: s,
321
+ requestId: a
322
+ }), new Promise((c) => {
323
+ n.set(
324
+ a,
325
+ c
326
+ );
327
+ });
328
+ }
329
+ });
330
+ addEventListener("message", async (s) => {
331
+ const a = s.data;
332
+ switch (a.type) {
333
+ case "buildRequest": {
334
+ const { files: r, enableSourcemap: c, requestId: u } = a;
335
+ try {
336
+ const l = {
337
+ type: "buildResponse",
338
+ buildResult: await G({
339
+ files: r,
340
+ enableSourcemap: c,
341
+ rollup: R,
342
+ getSvelteCompiler: t,
343
+ // vizCache,
344
+ slugCache: o
345
+ }),
346
+ requestId: u
347
+ };
348
+ postMessage(l);
349
+ } catch (d) {
350
+ const l = {
351
+ type: "buildResponse",
352
+ error: "" + d,
353
+ requestId: u
354
+ };
355
+ postMessage(l);
356
+ }
357
+ break;
358
+ }
359
+ case "contentResponse": {
360
+ const r = e.get(
361
+ a.vizId
362
+ );
363
+ r && (r(a.content), e.delete(a.vizId));
364
+ break;
365
+ }
366
+ case "invalidateVizCacheRequest": {
367
+ const { changedVizIds: r } = a;
368
+ for (const c of r)
369
+ i.invalidate(c);
370
+ postMessage({
371
+ type: "invalidateVizCacheResponse"
372
+ });
373
+ break;
374
+ }
375
+ case "resolveSlugResponse": {
376
+ const r = n.get(
377
+ a.requestId
378
+ );
379
+ r && (r(a.vizId), n.delete(
380
+ a.requestId
381
+ ));
382
+ break;
383
+ }
384
+ }
385
+ });
386
+ };
387
+ export {
388
+ ee as initWorker
389
+ };
390
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sources":["../src/build/determineRuntimeVersion.ts","../src/v2/getComputedIndexHtml.ts","../src/common/virtualFileSystem.ts","../src/v2/computeBundleJSV2.ts","../src/v2/v2Build.ts","../src/v4/extractEntryPoints.ts","../src/v4/bundleModule.ts","../src/v4/stringUtils.ts","../src/v4/importMap.ts","../src/v4/updateHTML.ts","../src/v4/index.ts","../src/build/build.ts","../src/orchestration/worker.ts"],"sourcesContent":["import { FileCollection } from \"@vizhub/viz-types\";\nimport { runtimeVersion } from \"./types\";\n\nexport const determineRuntimeVersion = (\n files: FileCollection,\n): runtimeVersion | null => {\n if (Object.keys(files).length === 0) {\n return null;\n }\n\n const hasIndexHTML = \"index.html\" in files;\n\n const hasIndexJS = \"index.js\" in files;\n const hasIndexJSX = \"index.jsx\" in files;\n\n if (hasIndexHTML) {\n const hasModuleScript =\n files[\"index.html\"].includes('type=\"module\"');\n if (hasModuleScript) {\n return \"v4\";\n }\n\n if (hasIndexJS || hasIndexJSX) {\n return \"v2\";\n }\n return \"v1\";\n }\n\n if (!hasIndexHTML && hasIndexJS) {\n return \"v3\";\n }\n\n return null;\n};\n","import { FileCollection } from \"@vizhub/viz-types\";\nimport {\n dependencies,\n getConfiguredLibraries,\n dependencySource,\n} from \"../common/packageJson\";\n\nconst DEBUG = false;\n\n/* ------------------------------------------------------------------ */\n/* tiny helpers */\n/* ------------------------------------------------------------------ */\n\nconst hasTagPair = (html: string, tag: string) =>\n new RegExp(`<${tag}\\\\b`, \"i\").test(html) &&\n new RegExp(`</${tag}>`, \"i\").test(html);\n\n/** Make sure we have a complete <html><head></head><body></body> skeleton. */\nconst normaliseSkeleton = (raw: string): string => {\n const trimmed = raw.trim();\n\n // If it already contains a *complete* html‑head‑body trio we keep it.\n if (\n hasTagPair(trimmed, \"html\") &&\n hasTagPair(trimmed, \"head\") &&\n hasTagPair(trimmed, \"body\")\n )\n return trimmed;\n\n // Otherwise wrap whatever is there inside a fresh skeleton.\n return `<html><head></head><body>${trimmed}</body></html>`;\n};\n\n/** Remove every script whose src matches the supplied RegExp (global & i). */\nconst stripScripts = (\n html: string,\n srcPattern: RegExp,\n): string =>\n html.replace(\n new RegExp(\n `<script[^>]*src=[\"'][^\"']*${srcPattern.source}[^\"']*[\"'][^>]*>\\\\s*</script>`,\n \"gi\",\n ),\n \"\",\n );\n\n/** Inject markup just before a closing tag (</head> or </body>). */\nconst injectBeforeClose = (\n html: string,\n closing: \"</head>\" | \"</body>\",\n markup: string,\n) =>\n html.replace(\n new RegExp(closing, \"i\"),\n `${markup}${closing}`,\n );\n\n/* ------------------------------------------------------------------ */\n/* core logic */\n/* ------------------------------------------------------------------ */\n\nconst injectScripts = (\n template: string,\n files: FileCollection,\n): string => {\n let html = normaliseSkeleton(template);\n\n /* -------------------- dependencies from package.json ------------ */\n const deps = Object.entries(dependencies(files)) as [\n string,\n string,\n ][];\n\n if (deps.length) {\n const libraries = getConfiguredLibraries(files);\n\n // Remove any previous dependency scripts\n deps.forEach(([name]) => {\n html = stripScripts(html, new RegExp(`${name}@`));\n });\n\n // Build & inject new ones (order preserved)\n const depMarkup = deps\n .map(([name, version]) =>\n dependencySource({ name, version }, libraries),\n )\n .map((src) => `<script src=\"${src}\"></script>`)\n .join(\"\\n\");\n\n html = injectBeforeClose(\n html,\n \"</head>\",\n depMarkup + \"\\n\",\n );\n }\n\n /* -------------------- ensure exactly ONE bundle.js -------------- */\n const needBundle =\n files[\"bundle.js\"] !== undefined ||\n files[\"index.js\"] !== undefined;\n\n if (needBundle) {\n const bundleTag = `<script src=\"bundle.js\"></script>`; // **no newline – keeps test #3 exact**\n\n // How many bundle.js scripts are already there & where?\n const bundleRe =\n /<script\\b[^>]*\\bsrc=[\"']bundle\\.js[\"'][^>]*>\\s*<\\/script>/gi;\n const matches = [...html.matchAll(bundleRe)];\n\n const oneInBody =\n matches.length === 1 &&\n (() => {\n const idx = matches[0].index ?? -1;\n if (idx === -1) return false;\n const bodyOpen = html.search(/<body\\b[^>]*>/i);\n const bodyClose = html.search(/<\\/body>/i);\n return (\n bodyOpen !== -1 &&\n bodyClose !== -1 &&\n idx > bodyOpen &&\n idx < bodyClose\n );\n })();\n\n if (!oneInBody) {\n // wipe them all, then inject a clean one at the end of <body>\n html = html.replace(bundleRe, \"\");\n html = injectBeforeClose(html, \"</body>\", bundleTag);\n }\n }\n\n /* -------------------- make sure <!DOCTYPE html> ----------------- */\n return /^\\s*<!DOCTYPE/i.test(html)\n ? html\n : `<!DOCTYPE html>${html}`;\n};\n\n/* ------------------------------------------------------------------ */\n/* public API */\n/* ------------------------------------------------------------------ */\n\nexport const getComputedIndexHtml = (\n files: FileCollection,\n): string => {\n const htmlTemplate = files[\"index.html\"];\n\n // No html and no JS – nothing to do.\n if (\n !htmlTemplate &&\n !files[\"index.js\"] &&\n !files[\"bundle.js\"]\n ) {\n DEBUG &&\n console.log(\n \"[getComputedIndexHtml] No index.html file found\",\n );\n return \"\";\n }\n\n const template =\n htmlTemplate ||\n \"<!DOCTYPE html><html><head></head><body></body></html>\";\n\n const result = injectScripts(template, files);\n\n DEBUG &&\n console.log(\"[getComputedIndexHtml] indexHtml\", result);\n\n return result;\n};\n","import { FileCollection } from \"@vizhub/viz-types\";\nimport { Plugin } from \"rollup\";\n\nconst normalizePath = (filepath: string): string => {\n // Remove leading ./\n let normalized = filepath.replace(/^\\.\\//, \"\");\n // Replace multiple slashes with single slash\n normalized = normalized.replace(/\\/+/g, \"/\");\n // Remove trailing slash\n normalized = normalized.replace(/\\/$/, \"\");\n return normalized;\n};\n\nconst joinPaths = (\n base: string,\n relative: string,\n): string => {\n // Get directory name of base path\n const baseDir = base.includes(\"/\")\n ? base.slice(0, base.lastIndexOf(\"/\"))\n : \"\";\n\n // Handle .. by removing one directory level\n const parts = relative.split(\"/\");\n const resultParts: string[] = baseDir\n ? baseDir.split(\"/\")\n : [];\n\n for (const part of parts) {\n if (part === \"..\") {\n resultParts.pop();\n } else if (part !== \".\" && part !== \"\") {\n resultParts.push(part);\n }\n }\n\n return resultParts.join(\"/\");\n};\n\nexport const virtualFileSystem = (\n files: FileCollection,\n): Plugin => {\n return {\n name: \"virtual-file-system\",\n\n resolveId(source: string, importer?: string) {\n // Handle relative paths\n if (\n source.startsWith(\"./\") ||\n source.startsWith(\"../\")\n ) {\n const resolvedPath = importer\n ? normalizePath(joinPaths(importer, source))\n : normalizePath(source);\n\n // Try exact match first\n if (files[resolvedPath]) {\n return resolvedPath;\n }\n\n // Try with extensions if no exact match is found\n const extensions = [\".js\", \".jsx\", \".ts\", \".tsx\"];\n for (const ext of extensions) {\n const pathWithExt = resolvedPath + ext;\n if (files[pathWithExt]) {\n return pathWithExt;\n }\n }\n }\n\n // Handle bare module imports\n if (files[source]) {\n return source;\n }\n\n // Try bare imports with extensions\n const extensions = [\".js\", \".jsx\", \".ts\", \".tsx\"];\n for (const ext of extensions) {\n const pathWithExt = source + ext;\n if (files[pathWithExt]) {\n return pathWithExt;\n }\n }\n\n return null;\n },\n\n load(id: string) {\n // Return the contents if the file exists in our virtual system\n if (files[id]) {\n return files[id];\n }\n\n return null;\n },\n };\n};\n","import type {\n RollupBuild,\n RollupOptions,\n OutputOptions,\n} from \"rollup\";\nimport { FileCollection } from \"@vizhub/viz-types\";\nimport { virtualFileSystem } from \"../common/virtualFileSystem.js\";\nimport { sucrasePlugin } from \"../common/sucrasePlugin.js\";\nimport {\n getGlobals,\n packageJSON,\n} from \"../common/packageJson.js\";\n\nexport const computeBundleJSV2 = async ({\n files,\n rollup,\n enableSourcemap = true,\n}: {\n files: FileCollection;\n rollup: (options: RollupOptions) => Promise<RollupBuild>;\n enableSourcemap?: boolean;\n}): Promise<string> => {\n const indexJSContent = files[\"index.js\"];\n if (!indexJSContent) {\n throw new Error(\"Missing index.js\");\n }\n\n const inputOptions: RollupOptions = {\n input: \"./index.js\",\n plugins: [virtualFileSystem(files), sucrasePlugin()],\n onwarn(warning, warn) {\n // Suppress \"treating module as external dependency\" warnings\n if (warning.code === \"UNRESOLVED_IMPORT\") return;\n warn(warning);\n },\n };\n\n const outputOptions: OutputOptions = {\n format: \"iife\",\n sourcemap: enableSourcemap,\n };\n\n const pkg = packageJSON(files);\n\n if (pkg) {\n const globals = getGlobals(pkg);\n if (globals) {\n inputOptions.external = Object.keys(globals);\n outputOptions.globals = globals;\n }\n }\n\n const bundle = await rollup(inputOptions);\n\n const { output } = await bundle.generate(outputOptions);\n return output[0].code;\n};\n","import type { RollupBuild, RollupOptions } from \"rollup\";\nimport { FileCollection } from \"@vizhub/viz-types\";\nimport { getComputedIndexHtml } from \"./getComputedIndexHtml\";\nimport { computeBundleJSV2 } from \"./computeBundleJSV2\";\n\nexport const v2Build = async ({\n files,\n rollup,\n enableSourcemap,\n}: {\n files: FileCollection;\n rollup: (options: RollupOptions) => Promise<RollupBuild>;\n enableSourcemap?: boolean;\n}): Promise<FileCollection> => ({\n ...files,\n \"bundle.js\": await computeBundleJSV2({\n files,\n rollup,\n enableSourcemap,\n }),\n \"index.html\": getComputedIndexHtml(files),\n});\n","/**\n * Extract module script entry points from index.html\n */\nexport const extractModuleEntryPoints = (\n html: string,\n): string[] => {\n const entryPoints: string[] = [];\n const scriptTag = /<script\\b([^>]*)>[\\s\\S]*?<\\/script>/gi;\n let m: RegExpExecArray | null;\n\n while ((m = scriptTag.exec(html)) !== null) {\n const attrs = m[1];\n if (!/\\btype\\s*=\\s*[\"']module[\"']/i.test(attrs))\n continue;\n const srcMatch = attrs.match(\n /\\bsrc\\s*=\\s*[\"']([^\"']+)[\"']/i,\n );\n if (srcMatch) entryPoints.push(srcMatch[1]);\n }\n return entryPoints;\n};\n","import type {\n RollupBuild,\n RollupOptions,\n OutputOptions,\n} from \"rollup\";\nimport { FileCollection } from \"@vizhub/viz-types\";\nimport { virtualFileSystem } from \"..//common/virtualFileSystem.js\";\nimport { sucrasePlugin } from \"..//common/sucrasePlugin.js\";\nimport { dependencies } from \"../common/packageJson.js\";\n\n/**\n * Bundle a single ES module entry point\n */\nexport const bundleESModule = async ({\n entryPoint,\n files,\n rollup,\n enableSourcemap = true,\n}: {\n entryPoint: string;\n files: FileCollection;\n rollup: (o: RollupOptions) => Promise<RollupBuild>;\n enableSourcemap?: boolean;\n}): Promise<string> => {\n const inputOptions: RollupOptions = {\n input: `./${entryPoint}`,\n plugins: [virtualFileSystem(files), sucrasePlugin()],\n external: (source: string) => {\n // Handle strings resolved by `virtualFileSystem`.\n if (files[source]) return false;\n // Handle external dependencies, e.g. from import maps.\n return !source.startsWith(\"./\");\n },\n onwarn(w, warn) {\n // if (w.code === \"UNRESOLVED_IMPORT\") return; // quiet noisy warnings\n warn(w);\n },\n };\n\n const bundle = await rollup(inputOptions);\n const { output } = await bundle.generate({\n format: \"es\",\n sourcemap: enableSourcemap,\n } as OutputOptions);\n\n return output[0].code;\n};\n","/**\n * Does the html already contain a <tag>…</tag> pair?\n */\nexport const hasTagPair = (html: string, tag: string) =>\n new RegExp(`<${tag}\\\\b`, \"i\").test(html) &&\n new RegExp(`</${tag}>`, \"i\").test(html);\n\n/**\n * Ensure <html><head></head><body></body> skeleton exists.\n */\nexport const normaliseSkeleton = (raw: string): string => {\n const trimmed = raw.trim();\n\n if (\n hasTagPair(trimmed, \"html\") &&\n hasTagPair(trimmed, \"head\") &&\n hasTagPair(trimmed, \"body\")\n )\n return trimmed;\n\n return `<html><head></head><body>${trimmed}</body></html>`;\n};\n\n/**\n * Escape characters so they can appear literally inside a RegExp.\n */\nexport const escapeRegExp = (s: string) =>\n s.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\n/**\n * Inject markup immediately before </head> or </body>.\n */\nexport const injectBeforeClose = (\n html: string,\n closing: \"</head>\" | \"</body>\",\n markup: string,\n) =>\n html.replace(\n new RegExp(closing, \"i\"),\n `${markup}${closing}`,\n );\n","import { FileCollection } from \"@vizhub/viz-types\";\nimport {\n dependencies,\n getConfiguredLibraries,\n dependencySource,\n} from \"../common/packageJson.js\";\n\n/**\n * Generate an import map for all dependencies\n */\nexport const generateImportMap = (\n files: FileCollection,\n): string | null => {\n const deps = dependencies(files);\n if (Object.keys(deps).length === 0) return null;\n\n const libraries = getConfiguredLibraries(files);\n const imports: Record<string, string> = {};\n\n for (const [name, version] of Object.entries(deps)) {\n imports[name] = dependencySource(\n { name, version },\n libraries,\n );\n }\n return JSON.stringify({ imports }, null, 2);\n};\n","import { FileCollection } from \"@vizhub/viz-types\";\nimport {\n normaliseSkeleton,\n escapeRegExp,\n injectBeforeClose,\n} from \"./stringUtils.js\";\nimport { generateImportMap } from \"./importMap.js\";\n\n/**\n * Update HTML to include import map and bundled modules\n */\nexport const updateHTML = (\n files: FileCollection,\n bundled: Map<string, string>,\n): string => {\n if (!files[\"index.html\"]) return \"\";\n\n let html = normaliseSkeleton(files[\"index.html\"]);\n\n // Replace each <script src=\"…\"> with inline module\n bundled.forEach((code, src) => {\n const tagRe = new RegExp(\n `<script\\\\b[^>]*\\\\bsrc=[\"']${escapeRegExp(src)}[\"'][^>]*>[^<]*</script>`,\n \"gi\",\n );\n html = html.replace(\n tagRe,\n `<script type=\"module\">\\n${code}\\n</script>`,\n );\n });\n\n // Add <script type=\"importmap\"> if needed\n const importMapJson = generateImportMap(files);\n if (importMapJson) {\n const already =\n /<script\\b[^>]*type=[\"']importmap[\"'][^>]*>/i.test(\n html,\n );\n\n if (!already) {\n const importMapTag = `<script type=\"importmap\">\\n${importMapJson}\\n</script>\\n`;\n html = injectBeforeClose(\n html,\n \"</head>\",\n importMapTag,\n );\n }\n }\n\n // Ensure <!DOCTYPE html>\n return /^\\s*<!DOCTYPE/i.test(html)\n ? html\n : `<!DOCTYPE html>${html}`;\n};\n","import type { RollupBuild, RollupOptions } from \"rollup\";\nimport { FileCollection } from \"@vizhub/viz-types\";\nimport { extractModuleEntryPoints } from \"./extractEntryPoints.js\";\nimport { bundleESModule } from \"./bundleModule.js\";\nimport { updateHTML } from \"./updateHTML.js\";\n\nconst DEBUG = false;\n\n/**\n * Build for v4 runtime\n */\nexport const v4Build = async ({\n files,\n rollup,\n enableSourcemap = true,\n}: {\n files: FileCollection;\n rollup: (o: RollupOptions) => Promise<RollupBuild>;\n enableSourcemap?: boolean;\n}): Promise<FileCollection> => {\n const html = files[\"index.html\"] || \"\";\n const entryPoints = extractModuleEntryPoints(html);\n\n if (entryPoints.length === 0) {\n DEBUG &&\n console.log(\"[v4Build] No module entry points found\");\n return files; // nothing to bundle\n }\n\n const bundled = new Map<string, string>();\n for (const entry of entryPoints) {\n const code = await bundleESModule({\n entryPoint: entry,\n files,\n rollup,\n enableSourcemap,\n });\n bundled.set(entry, code);\n }\n\n const updatedHTML = updateHTML(files, bundled);\n\n return {\n ...files,\n \"index.html\": updatedHTML,\n };\n};\n\n// Export the extractModuleEntryPoints function for external use\nexport { extractModuleEntryPoints };\n","import { magicSandbox } from \"magic-sandbox\";\nimport { FileCollection } from \"@vizhub/viz-types\";\nimport type { RollupBuild, RollupOptions } from \"rollup\";\nimport {\n createVizCache,\n createVizContent,\n SlugCache,\n SvelteCompiler,\n v3Build,\n VizCache,\n} from \"../v3\";\nimport { BuildResult } from \"./types\";\nimport { vizFilesToFileCollection } from \"@vizhub/viz-utils\";\nimport { determineRuntimeVersion } from \"./determineRuntimeVersion\";\nimport { v2Build } from \"../v2\";\nimport { v4Build } from \"../v4\";\n\nconst DEBUG = false;\n\n// Builds the given files.\nexport const build = async ({\n files,\n rollup,\n enableSourcemap = true,\n vizCache,\n vizId,\n slugCache,\n getSvelteCompiler,\n}: {\n // Only required for v1 and v2 runtime\n // For v3, EITHER files OR vizCache is required\n files?: FileCollection;\n\n // Only required for v2 and v3 runtime\n rollup?: (options: RollupOptions) => Promise<RollupBuild>;\n\n // True to enable sourcemaps, which help with\n // tracing runtime errors back to source code,\n // including specific source files and line numbers.\n // When true, there is additional overhead\n // for generating the sourcemaps, and the generated bundle\n // is larger.\n enableSourcemap?: boolean;\n\n // Only required for v3 runtime\n // For v3, EITHER files OR vizCache is required\n vizCache?: VizCache;\n\n // Only required for v3 runtime\n vizId?: string;\n\n // Only required for v3 runtime\n slugCache?: SlugCache;\n\n // Only required for v3 runtime\n getSvelteCompiler?: () => Promise<SvelteCompiler>;\n}): Promise<BuildResult> => {\n DEBUG &&\n console.log(\n \"[build] files:\",\n files\n ? JSON.stringify(files).substring(0, 100)\n : undefined,\n );\n DEBUG && console.log(\"[build] vizCache:\", vizCache);\n DEBUG && console.log(\"[build] vizId:\", vizId);\n\n if (!files && !vizCache) {\n throw new Error(\"Either files or vizCache is required\");\n }\n\n if (!files && vizCache && !vizId) {\n throw new Error(\n \"vizId is required when using vizCache\",\n );\n }\n\n if (!files && vizCache && vizId) {\n files = vizFilesToFileCollection(\n (await vizCache.get(vizId))?.files,\n );\n }\n\n if (!files) {\n throw new Error(\"Upable to extract viz files\");\n }\n\n const version = determineRuntimeVersion(files);\n DEBUG && console.log(\"[build] version:\", version);\n if (version === \"v1\") {\n return {\n html: magicSandbox(files),\n };\n }\n if (version === \"v2\") {\n if (!rollup) {\n throw new Error(\"Rollup is required for v2 runtime\");\n }\n return {\n html: magicSandbox(\n await v2Build({ files, rollup, enableSourcemap }),\n ),\n };\n }\n if (version === \"v3\") {\n if (!rollup) {\n throw new Error(\"Rollup is required for v3 runtime\");\n }\n\n // We set up a \"fake\" viz cache.\n // It's needed because of the way the CSS import resolution works.\n if (!vizCache && !vizId) {\n const vizContent = createVizContent(files);\n vizId = vizContent.id;\n vizCache = createVizCache({\n initialContents: [vizContent],\n handleCacheMiss: async () => {\n throw new Error(\n \"Cache miss handler not implemented\",\n );\n },\n });\n }\n\n if (!vizCache) {\n throw new Error(\n \"vizCache is required for v3 runtime\",\n );\n }\n\n if (!vizId) {\n throw new Error(\"vizId is required for v3 runtime\");\n }\n\n return await v3Build({\n files,\n rollup,\n vizCache,\n vizId,\n slugCache,\n getSvelteCompiler,\n });\n }\n\n if (version === \"v4\") {\n if (!rollup) {\n throw new Error(\"Rollup is required for v4 runtime\");\n }\n DEBUG &&\n console.log(\"[build] v4Build\", {\n files,\n rollup,\n enableSourcemap,\n });\n return {\n html: magicSandbox(\n await v4Build({ files, rollup, enableSourcemap }),\n ),\n };\n }\n\n throw new Error(\n `Unsupported runtime version: ${version}`,\n );\n};\n","import { rollup } from \"@rollup/browser\";\nimport { VizContent, VizId } from \"@vizhub/viz-types\";\nimport type { RollupBuild, RollupOptions } from \"rollup\";\nimport {\n svelteCompilerUrl,\n createVizCache,\n createSlugCache,\n} from \"../v3\";\nimport { generateRequestId } from \"./generateRequestId\";\nimport { BuildWorkerMessage } from \"./types\";\nimport { build } from \"../build\";\n\n// Flag for debugging\nconst DEBUG = false;\n\nexport const initWorker = () => {\n DEBUG && console.log(\"[worker] initializing...\");\n // Inspired by\n // https://github.com/sveltejs/sites/blob/master/packages/repl/src/lib/workers/bundler/index.js#L44\n // unpkg doesn't set the correct MIME type for .cjs files\n // https://github.com/mjackson/unpkg/issues/355\n const getSvelteCompiler = async () => {\n const compiler = await fetch(svelteCompilerUrl).then(\n (r) => r.text(),\n );\n (0, eval)(compiler);\n\n // @ts-ignore\n return self.svelte.compile;\n };\n\n // Tracks pending promises for 'contentResponse' messages\n const pendingContentResponsePromises = new Map();\n\n // Tracks pending promises for 'resolveSlugResponse' messages\n const pendingResolveSlugResponsePromises = new Map();\n\n // Create a viz cache that's backed by the main thread\n const vizCache = createVizCache({\n initialContents: [],\n handleCacheMiss: async (\n vizId: VizId,\n ): Promise<VizContent> => {\n const message = {\n type: \"contentRequest\",\n vizId,\n };\n\n if (DEBUG) {\n console.log(\n \"[worker] sending content request message to main thread\",\n message,\n );\n }\n postMessage(message);\n\n return new Promise((resolve) => {\n pendingContentResponsePromises.set(vizId, resolve);\n });\n },\n });\n\n // Create a slug cache that's backed by the main thread\n const slugCache = createSlugCache({\n initialMappings: {},\n handleCacheMiss: async (slug) => {\n const requestId = generateRequestId();\n const message = {\n type: \"resolveSlugRequest\",\n slugKey: slug,\n requestId,\n };\n\n if (DEBUG) {\n console.log(\n \"[worker] sending resolve slug request message to main thread\",\n message,\n );\n }\n postMessage(message);\n\n return new Promise((resolve) => {\n pendingResolveSlugResponsePromises.set(\n requestId,\n resolve,\n );\n });\n },\n });\n\n // Handle messages from the main thread\n addEventListener(\"message\", async (event) => {\n const data: BuildWorkerMessage = event.data;\n\n DEBUG &&\n console.log(\n \"[worker] received message:\",\n JSON.stringify(data, null, 2).substring(0, 1000),\n );\n\n switch (data.type) {\n case \"buildRequest\": {\n const { files, enableSourcemap, requestId } = data;\n\n try {\n // Build HTML from the files\n const buildResult = await build({\n files,\n enableSourcemap,\n rollup: rollup as (\n options: RollupOptions,\n ) => Promise<RollupBuild>,\n getSvelteCompiler,\n // vizCache,\n slugCache,\n });\n const message: BuildWorkerMessage = {\n type: \"buildResponse\",\n buildResult,\n requestId,\n };\n // Send the built HTML back to the main thread\n postMessage(message);\n } catch (error) {\n DEBUG &&\n console.log(\"[worker] build error:\", error);\n\n const message: BuildWorkerMessage = {\n type: \"buildResponse\",\n error: \"\" + error,\n requestId,\n };\n\n // Send the error back to the main thread\n postMessage(message);\n }\n break;\n }\n\n case \"contentResponse\": {\n // Resolve pending promises for content snapshots\n const resolver = pendingContentResponsePromises.get(\n data.vizId,\n );\n if (resolver) {\n resolver(data.content);\n pendingContentResponsePromises.delete(data.vizId);\n }\n break;\n }\n\n case \"invalidateVizCacheRequest\": {\n if (DEBUG) {\n console.log(\n \"[worker] received invalidateVizCacheRequest\",\n data,\n );\n }\n const { changedVizIds } = data;\n\n // Invalidate the viz cache for the changed vizzes\n for (const vizId of changedVizIds) {\n vizCache.invalidate(vizId);\n }\n\n postMessage({\n type: \"invalidateVizCacheResponse\",\n });\n break;\n }\n\n case \"resolveSlugResponse\": {\n // Resolve pending promises for slug resolution\n const resolver =\n pendingResolveSlugResponsePromises.get(\n data.requestId,\n );\n if (resolver) {\n resolver(data.vizId);\n pendingResolveSlugResponsePromises.delete(\n data.requestId,\n );\n }\n break;\n }\n }\n });\n};\n"],"names":["determineRuntimeVersion","files","hasIndexHTML","hasIndexJS","hasIndexJSX","hasTagPair","html","tag","normaliseSkeleton","raw","trimmed","stripScripts","srcPattern","injectBeforeClose","closing","markup","injectScripts","template","deps","dependencies","libraries","getConfiguredLibraries","name","depMarkup","version","dependencySource","src","bundleTag","bundleRe","matches","idx","bodyOpen","bodyClose","getComputedIndexHtml","htmlTemplate","normalizePath","filepath","normalized","joinPaths","base","relative","baseDir","parts","resultParts","part","virtualFileSystem","source","importer","resolvedPath","extensions","ext","pathWithExt","id","computeBundleJSV2","rollup","enableSourcemap","inputOptions","sucrasePlugin","warning","warn","outputOptions","pkg","packageJSON","globals","getGlobals","bundle","output","v2Build","extractModuleEntryPoints","entryPoints","scriptTag","m","attrs","srcMatch","bundleESModule","entryPoint","w","escapeRegExp","s","generateImportMap","imports","updateHTML","bundled","code","tagRe","importMapJson","importMapTag","v4Build","entry","updatedHTML","build","vizCache","vizId","slugCache","getSvelteCompiler","vizFilesToFileCollection","_a","magicSandbox","vizContent","createVizContent","createVizCache","v3Build","initWorker","compiler","svelteCompilerUrl","r","pendingContentResponsePromises","pendingResolveSlugResponsePromises","resolve","createSlugCache","slug","requestId","generateRequestId","event","data","message","error","resolver","changedVizIds"],"mappings":"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"}
package/package.json CHANGED
@@ -1,17 +1,21 @@
1
1
  {
2
2
  "name": "@vizhub/runtime",
3
- "version": "0.3.8",
3
+ "version": "0.5.0",
4
4
  "description": "Flexible runtime environment for data visualization sandboxes",
5
5
  "type": "module",
6
- "main": "./dist/cjs/index.js",
7
- "module": "./dist/esm/index.js",
8
- "types": "./dist/types/index.d.ts",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
9
  "exports": {
10
10
  ".": {
11
- "import": "./dist/esm/index.js",
12
- "require": "./dist/cjs/index.js",
13
- "default": "./dist/esm/index.js",
14
- "types": "./dist/types/index.d.ts"
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
14
+ },
15
+ "./worker": {
16
+ "types": "./dist/worker.d.ts",
17
+ "import": "./dist/worker.js",
18
+ "require": "./dist/worker.cjs"
15
19
  }
16
20
  },
17
21
  "files": [
@@ -19,16 +23,15 @@
19
23
  "README.md"
20
24
  ],
21
25
  "scripts": {
22
- "build": "npm run build:esm && npm run build:cjs && npm run build:types",
23
- "build:esm": "tsc -p tsconfig.esm.json",
24
- "build:cjs": "tsc -p tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
25
- "build:types": "tsc --emitDeclarationOnly --declarationDir ./dist/types",
26
+ "build": "vite build && tsc --emitDeclarationOnly",
26
27
  "prepublishOnly": "npm run build",
27
28
  "test": "vitest run",
28
29
  "test:watch": "vitest",
30
+ "demo": "cd demo-app; npm run dev",
29
31
  "typecheck": "tsc --noEmit",
30
32
  "prettier": "prettier {*.*,**/*.*} --write",
31
- "upgrade": "ncu -x svelte -u"
33
+ "upgrade": "ncu -x svelte -u",
34
+ "preflight": "npm run build && npm run prettier && npm test && npm run typecheck"
32
35
  },
33
36
  "keywords": [],
34
37
  "author": "",
@@ -44,12 +47,14 @@
44
47
  "rollup": "^4.39.0",
45
48
  "svelte": "4.2.9",
46
49
  "typescript": "^5.8.3",
50
+ "vite": "^6.2.5",
47
51
  "vitest": "^3.1.1"
48
52
  },
49
53
  "dependencies": {
50
- "sucrase": "^3.35.0",
54
+ "@rollup/browser": "^4.39.0",
51
55
  "@vizhub/viz-types": "^0.1.0",
52
- "@vizhub/viz-utils": "^0.1.0",
53
- "magic-sandbox": "^2.2.0"
56
+ "@vizhub/viz-utils": "^1.0.1",
57
+ "magic-sandbox": "^2.2.0",
58
+ "sucrase": "^3.35.0"
54
59
  }
55
60
  }
package/dist/buildHTML.js DELETED
@@ -1,67 +0,0 @@
1
- import { magicSandbox } from "magic-sandbox";
2
- import { determineRuntimeVersion } from "./determineRuntimeVersion";
3
- import { v2Build } from "./v2";
4
- import { v3Build } from "./v3";
5
- import { v4Build } from "./v4";
6
- import { createVizCache } from "./v3/vizCache";
7
- import { createVizContent } from "./v3/createVizContent";
8
- import { vizContentToFileCollection } from "./utils/vizContentToFileCollection";
9
- const DEBUG = false;
10
- export const buildHTML = async ({ files, rollup, enableSourcemap = true, vizCache, vizId, slugCache, getSvelteCompiler, }) => {
11
- if (!files && !vizCache) {
12
- throw new Error("Either files or vizCache is required");
13
- }
14
- if (!files && vizCache && !vizId) {
15
- throw new Error("vizId is required when using vizCache");
16
- }
17
- if (!files && vizCache && vizId) {
18
- files = vizContentToFileCollection(await vizCache.get(vizId));
19
- }
20
- if (!files) {
21
- throw new Error("Upable to extract viz files");
22
- }
23
- const version = determineRuntimeVersion(files);
24
- DEBUG && console.log("[buildHTML] version:", version);
25
- if (version === "v1") {
26
- return magicSandbox(files);
27
- }
28
- if (version === "v2") {
29
- if (!rollup) {
30
- throw new Error("Rollup is required for v2 runtime");
31
- }
32
- return magicSandbox(await v2Build({ files, rollup, enableSourcemap }));
33
- }
34
- if (version === "v3") {
35
- if (!rollup) {
36
- throw new Error("Rollup is required for v3 runtime");
37
- }
38
- if (!vizCache && !vizId) {
39
- const vizContent = createVizContent(files);
40
- vizId = vizContent.id;
41
- vizCache = createVizCache({
42
- initialContents: [vizContent],
43
- handleCacheMiss: async () => {
44
- throw new Error("Cache miss handler not implemented");
45
- },
46
- });
47
- }
48
- if (!vizCache || !vizId) {
49
- throw new Error("vizCache and vizId are required for v3 runtime");
50
- }
51
- return await v3Build({
52
- files,
53
- rollup,
54
- vizCache,
55
- vizId,
56
- slugCache,
57
- getSvelteCompiler,
58
- });
59
- }
60
- if (version === "v4") {
61
- if (!rollup) {
62
- throw new Error("Rollup is required for v4 runtime");
63
- }
64
- return magicSandbox(await v4Build({ files, rollup, enableSourcemap }));
65
- }
66
- throw new Error(`Unsupported runtime version: ${version}`);
67
- };