@vizhub/runtime 0.1.4 → 0.2.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 (287) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +240 -194
  3. package/dist/common/packageJson.d.ts +39 -0
  4. package/dist/common/packageJson.js +71 -0
  5. package/dist/common/packageJson.test.d.ts +1 -0
  6. package/dist/common/packageJson.test.js +146 -0
  7. package/dist/common/sucrasePlugin.d.ts +2 -0
  8. package/dist/common/sucrasePlugin.js +24 -0
  9. package/dist/common/virtualFileSystem.d.ts +3 -0
  10. package/dist/common/virtualFileSystem.js +75 -0
  11. package/dist/determineRuntimeVersion.d.ts +2 -0
  12. package/dist/determineRuntimeVersion.js +22 -0
  13. package/dist/determineRuntimeVersion.test.d.ts +1 -0
  14. package/dist/determineRuntimeVersion.test.js +101 -0
  15. package/dist/fixtures/basicHTML.d.ts +2 -0
  16. package/dist/fixtures/basicHTML.js +22 -0
  17. package/dist/fixtures/fetchProxy.d.ts +2 -0
  18. package/dist/fixtures/fetchProxy.js +25 -0
  19. package/dist/fixtures/index.d.ts +3 -0
  20. package/dist/fixtures/index.js +9 -0
  21. package/dist/fixtures/jsScriptTag.d.ts +2 -0
  22. package/dist/fixtures/jsScriptTag.js +19 -0
  23. package/dist/index.d.ts +14 -8
  24. package/dist/index.js +59 -24882
  25. package/dist/index.test.d.ts +1 -0
  26. package/dist/index.test.js +50 -0
  27. package/dist/magicSandbox/fixProtocollessUrls.d.ts +4 -0
  28. package/dist/magicSandbox/fixProtocollessUrls.js +10 -0
  29. package/dist/magicSandbox/generateInterceptorScript.d.ts +4 -0
  30. package/dist/magicSandbox/generateInterceptorScript.js +178 -0
  31. package/dist/magicSandbox/index.d.ts +19 -0
  32. package/dist/magicSandbox/index.js +48 -0
  33. package/dist/test/fixtures/basicHTML.d.ts +2 -0
  34. package/dist/test/fixtures/basicHTML.js +19 -0
  35. package/dist/test/fixtures/fetchProxy.d.ts +2 -0
  36. package/dist/test/fixtures/fetchProxy.js +22 -0
  37. package/dist/test/fixtures/index.d.ts +6 -0
  38. package/dist/test/fixtures/index.js +6 -0
  39. package/dist/test/fixtures/jsScriptTag.d.ts +2 -0
  40. package/dist/test/fixtures/jsScriptTag.js +16 -0
  41. package/dist/test/fixtures/magicSandbox/basicHTML.d.ts +5 -0
  42. package/dist/test/fixtures/magicSandbox/basicHTML.js +17 -0
  43. package/dist/test/fixtures/magicSandbox/fetchProxy.d.ts +11 -0
  44. package/dist/test/fixtures/magicSandbox/fetchProxy.js +18 -0
  45. package/dist/test/fixtures/magicSandbox/index.d.ts +6 -0
  46. package/dist/test/fixtures/magicSandbox/index.js +6 -0
  47. package/dist/test/fixtures/magicSandbox/jsScriptTag.d.ts +8 -0
  48. package/dist/test/fixtures/magicSandbox/jsScriptTag.js +13 -0
  49. package/dist/test/fixtures/magicSandbox/protocolTest.d.ts +5 -0
  50. package/dist/test/fixtures/magicSandbox/protocolTest.js +17 -0
  51. package/dist/test/fixtures/magicSandbox/styleTest.d.ts +8 -0
  52. package/dist/test/fixtures/magicSandbox/styleTest.js +19 -0
  53. package/dist/test/fixtures/magicSandbox/xmlTest.d.ts +8 -0
  54. package/dist/test/fixtures/magicSandbox/xmlTest.js +23 -0
  55. package/dist/test/fixtures/protocolTest.d.ts +2 -0
  56. package/dist/test/fixtures/protocolTest.js +19 -0
  57. package/dist/test/fixtures/styleTest.d.ts +2 -0
  58. package/dist/test/fixtures/styleTest.js +22 -0
  59. package/dist/test/fixtures/v1/basicHTML.d.ts +3 -0
  60. package/dist/test/fixtures/v1/basicHTML.js +15 -0
  61. package/dist/test/fixtures/v1/fetchProxy.d.ts +5 -0
  62. package/dist/test/fixtures/v1/fetchProxy.js +12 -0
  63. package/dist/test/fixtures/v1/index.d.ts +6 -0
  64. package/dist/test/fixtures/v1/index.js +6 -0
  65. package/dist/test/fixtures/v1/jsScriptTag.d.ts +4 -0
  66. package/dist/test/fixtures/v1/jsScriptTag.js +9 -0
  67. package/dist/test/fixtures/v1/protocolTest.d.ts +3 -0
  68. package/dist/test/fixtures/v1/protocolTest.js +15 -0
  69. package/dist/test/fixtures/v1/styleTest.d.ts +4 -0
  70. package/dist/test/fixtures/v1/styleTest.js +15 -0
  71. package/dist/test/fixtures/v1/xmlTest.d.ts +4 -0
  72. package/dist/test/fixtures/v1/xmlTest.js +19 -0
  73. package/dist/test/fixtures/v2/basicBundle.d.ts +5 -0
  74. package/dist/test/fixtures/v2/basicBundle.js +5 -0
  75. package/dist/test/fixtures/v2/basicBundleNoExtension.d.ts +5 -0
  76. package/dist/test/fixtures/v2/basicBundleNoExtension.js +5 -0
  77. package/dist/test/fixtures/v2/d3Import.d.ts +4 -0
  78. package/dist/test/fixtures/v2/d3Import.js +7 -0
  79. package/dist/test/fixtures/v2/d3ImportPkg.d.ts +5 -0
  80. package/dist/test/fixtures/v2/d3ImportPkg.js +19 -0
  81. package/dist/test/fixtures/v2/d3RosettaImportPkg.d.ts +5 -0
  82. package/dist/test/fixtures/v2/d3RosettaImportPkg.js +19 -0
  83. package/dist/test/fixtures/v2/es6Preserve.d.ts +4 -0
  84. package/dist/test/fixtures/v2/es6Preserve.js +6 -0
  85. package/dist/test/fixtures/v2/generatorSupport.d.ts +4 -0
  86. package/dist/test/fixtures/v2/generatorSupport.js +6 -0
  87. package/dist/test/fixtures/v2/index.d.ts +14 -0
  88. package/dist/test/fixtures/v2/index.js +15 -0
  89. package/dist/test/fixtures/v2/jsxTranspile.d.ts +4 -0
  90. package/dist/test/fixtures/v2/jsxTranspile.js +6 -0
  91. package/dist/test/fixtures/v2/reactDomImport.d.ts +4 -0
  92. package/dist/test/fixtures/v2/reactDomImport.js +8 -0
  93. package/dist/test/fixtures/v2/reactDomImportPkg.d.ts +5 -0
  94. package/dist/test/fixtures/v2/reactDomImportPkg.js +24 -0
  95. package/dist/test/fixtures/v2/reactImport.d.ts +4 -0
  96. package/dist/test/fixtures/v2/reactImport.js +7 -0
  97. package/dist/test/fixtures/v2/reactImportPkg.d.ts +5 -0
  98. package/dist/test/fixtures/v2/reactImportPkg.js +17 -0
  99. package/dist/test/fixtures/v2/sourceMapErrorFixture.d.ts +5 -0
  100. package/dist/test/fixtures/v2/sourceMapErrorFixture.js +19 -0
  101. package/dist/test/fixtures/v2/unicodeSupport.d.ts +4 -0
  102. package/dist/test/fixtures/v2/unicodeSupport.js +6 -0
  103. package/dist/test/fixtures/v3/basicIndexJS.d.ts +3 -0
  104. package/dist/test/fixtures/v3/basicIndexJS.js +7 -0
  105. package/dist/test/fixtures/v3/cssImport.d.ts +4 -0
  106. package/dist/test/fixtures/v3/cssImport.js +9 -0
  107. package/dist/test/fixtures/v3/csvImport.d.ts +4 -0
  108. package/dist/test/fixtures/v3/csvImport.js +11 -0
  109. package/dist/test/fixtures/v3/csvStrangeChars.d.ts +4 -0
  110. package/dist/test/fixtures/v3/csvStrangeChars.js +12 -0
  111. package/dist/test/fixtures/v3/index.d.ts +9 -0
  112. package/dist/test/fixtures/v3/index.js +9 -0
  113. package/dist/test/fixtures/v3/jsExport.d.ts +4 -0
  114. package/dist/test/fixtures/v3/jsExport.js +10 -0
  115. package/dist/test/fixtures/v3/sourcemap.d.ts +3 -0
  116. package/dist/test/fixtures/v3/sourcemap.js +10 -0
  117. package/dist/test/fixtures/v3/svelte.d.ts +4 -0
  118. package/dist/test/fixtures/v3/svelte.js +18 -0
  119. package/dist/test/fixtures/v3/vizContent.d.ts +2 -0
  120. package/dist/test/fixtures/v3/vizContent.js +11 -0
  121. package/dist/test/fixtures/v3/vizImport.d.ts +6 -0
  122. package/dist/test/fixtures/v3/vizImport.js +85 -0
  123. package/dist/test/fixtures/v4/d3Usage.d.ts +5 -0
  124. package/dist/test/fixtures/v4/d3Usage.js +31 -0
  125. package/dist/test/fixtures/v4/esmBuild.d.ts +5 -0
  126. package/dist/test/fixtures/v4/esmBuild.js +18 -0
  127. package/dist/test/fixtures/v4/fetchInterception.d.ts +5 -0
  128. package/dist/test/fixtures/v4/fetchInterception.js +18 -0
  129. package/dist/test/fixtures/v4/index.d.ts +9 -0
  130. package/dist/test/fixtures/v4/index.js +9 -0
  131. package/dist/test/fixtures/v4/jsScriptTagTypeModule.d.ts +4 -0
  132. package/dist/test/fixtures/v4/jsScriptTagTypeModule.js +18 -0
  133. package/dist/test/fixtures/v4/jsScriptTagTypeModules.d.ts +5 -0
  134. package/dist/test/fixtures/v4/jsScriptTagTypeModules.js +12 -0
  135. package/dist/test/fixtures/v4/reactHooks.d.ts +6 -0
  136. package/dist/test/fixtures/v4/reactHooks.js +47 -0
  137. package/dist/test/fixtures/v4/reactJsx.d.ts +6 -0
  138. package/dist/test/fixtures/v4/reactJsx.js +34 -0
  139. package/dist/test/fixtures/v4/threeJsUsage.d.ts +4 -0
  140. package/dist/test/fixtures/v4/threeJsUsage.js +24 -0
  141. package/dist/test/fixtures/v4/typeScriptSupport.d.ts +5 -0
  142. package/dist/test/fixtures/v4/typeScriptSupport.js +29 -0
  143. package/dist/test/fixtures/xmlTest.d.ts +2 -0
  144. package/dist/test/fixtures/xmlTest.js +26 -0
  145. package/dist/test/index.test.d.ts +1 -0
  146. package/dist/test/index.test.js +40 -0
  147. package/dist/test/testInBrowser.d.ts +16 -0
  148. package/dist/test/testInBrowser.js +47 -0
  149. package/dist/test/testStackTrace.d.ts +9 -0
  150. package/dist/test/testStackTrace.js +55 -0
  151. package/dist/test/v1.test.d.ts +1 -0
  152. package/dist/test/v1.test.js +65 -0
  153. package/dist/test/v2.test.d.ts +1 -0
  154. package/dist/test/v2.test.js +121 -0
  155. package/dist/test/v3.test.d.ts +1 -0
  156. package/dist/test/v3.test.js +114 -0
  157. package/dist/test/v4.test.d.ts +1 -0
  158. package/dist/test/v4.test.js +100 -0
  159. package/dist/types.d.ts +2 -0
  160. package/dist/types.js +1 -0
  161. package/dist/utils/getFileText.d.ts +2 -0
  162. package/dist/utils/getFileText.js +13 -0
  163. package/dist/utils/getFileText.test.d.ts +1 -0
  164. package/dist/utils/getFileText.test.js +72 -0
  165. package/dist/utils/vizContentToFileCollection.d.ts +8 -0
  166. package/dist/utils/vizContentToFileCollection.js +19 -0
  167. package/dist/utils/vizContentToFileCollection.test.d.ts +1 -0
  168. package/dist/utils/vizContentToFileCollection.test.js +75 -0
  169. package/dist/v2/computeBundleJSV2.d.ts +7 -0
  170. package/dist/v2/computeBundleJSV2.js +29 -0
  171. package/dist/v2/getComputedIndexHtml.d.ts +4 -0
  172. package/dist/v2/getComputedIndexHtml.js +81 -0
  173. package/dist/v2/getComputedIndexHtml.test.d.ts +1 -0
  174. package/dist/v2/getComputedIndexHtml.test.js +134 -0
  175. package/dist/v2/index.d.ts +1 -0
  176. package/dist/v2/index.js +1 -0
  177. package/dist/v2/v2Build.d.ts +7 -0
  178. package/dist/v2/v2Build.js +11 -0
  179. package/dist/v3/computeBundleJSV3.d.ts +18 -0
  180. package/dist/v3/computeBundleJSV3.js +48 -0
  181. package/dist/v3/createVizContent.d.ts +9 -0
  182. package/dist/v3/createVizContent.js +23 -0
  183. package/dist/{v3Runtime → v3}/extractVizImport.d.ts +2 -3
  184. package/dist/v3/extractVizImport.js +23 -0
  185. package/dist/v3/extractVizImport.test.d.ts +1 -0
  186. package/dist/v3/extractVizImport.test.js +30 -0
  187. package/dist/v3/htmlTemplate.d.ts +5 -0
  188. package/dist/v3/htmlTemplate.js +89 -0
  189. package/dist/v3/index.d.ts +1 -0
  190. package/dist/v3/index.js +1 -0
  191. package/dist/v3/parseId.d.ts +6 -0
  192. package/dist/v3/parseId.js +5 -0
  193. package/dist/v3/parseId.test.d.ts +1 -0
  194. package/dist/v3/parseId.test.js +25 -0
  195. package/dist/v3/slugCache.d.ts +11 -0
  196. package/dist/v3/slugCache.js +35 -0
  197. package/dist/v3/slugCache.test.d.ts +1 -0
  198. package/dist/v3/slugCache.test.js +105 -0
  199. package/dist/v3/transformDSV/dsvParseSrc.d.ts +1 -0
  200. package/dist/v3/transformDSV/dsvParseSrc.js +121 -0
  201. package/dist/v3/transformDSV/index.d.ts +2 -0
  202. package/dist/v3/transformDSV/index.js +40 -0
  203. package/dist/{v3Runtime → v3}/transformSvelte.d.ts +4 -2
  204. package/dist/v3/transformSvelte.js +77 -0
  205. package/dist/{v3Runtime → v3}/types.d.ts +18 -18
  206. package/dist/v3/types.js +1 -0
  207. package/dist/v3/v3Build.d.ts +15 -0
  208. package/dist/v3/v3Build.js +30 -0
  209. package/dist/v3/vizCache.d.ts +10 -0
  210. package/dist/v3/vizCache.js +36 -0
  211. package/dist/v3/vizCache.test.d.ts +1 -0
  212. package/dist/v3/vizCache.test.js +98 -0
  213. package/dist/{v3Runtime → v3}/vizLoad.d.ts +3 -4
  214. package/dist/v3/vizLoad.js +46 -0
  215. package/dist/v3/vizResolve.d.ts +7 -0
  216. package/dist/v3/vizResolve.js +69 -0
  217. package/dist/v4/index.d.ts +10 -0
  218. package/dist/v4/index.js +134 -0
  219. package/package.json +35 -38
  220. package/dist/assets/setupV3Runtime-BVr5lyKp.js +0 -240
  221. package/dist/computeSrcDoc.d.ts +0 -13
  222. package/dist/computeSrcDoc.d.ts.map +0 -1
  223. package/dist/computeSrcDoc.test.d.ts +0 -2
  224. package/dist/computeSrcDoc.test.d.ts.map +0 -1
  225. package/dist/index.d.ts.map +0 -1
  226. package/dist/useRuntime.d.ts +0 -13
  227. package/dist/useRuntime.d.ts.map +0 -1
  228. package/dist/v2Runtime/bundle/bubleJSXOnly.d.ts +0 -5
  229. package/dist/v2Runtime/bundle/bubleJSXOnly.d.ts.map +0 -1
  230. package/dist/v2Runtime/bundle/packageJson.d.ts +0 -10
  231. package/dist/v2Runtime/bundle/packageJson.d.ts.map +0 -1
  232. package/dist/v2Runtime/computeSrcDocV2.d.ts +0 -3
  233. package/dist/v2Runtime/computeSrcDocV2.d.ts.map +0 -1
  234. package/dist/v2Runtime/computeSrcDocV2.test.d.ts +0 -2
  235. package/dist/v2Runtime/computeSrcDocV2.test.d.ts.map +0 -1
  236. package/dist/v2Runtime/getComputedIndexHtml.d.ts +0 -4
  237. package/dist/v2Runtime/getComputedIndexHtml.d.ts.map +0 -1
  238. package/dist/v2Runtime/getComputedIndexHtml.test.d.ts +0 -2
  239. package/dist/v2Runtime/getComputedIndexHtml.test.d.ts.map +0 -1
  240. package/dist/v2Runtime/getText.d.ts +0 -3
  241. package/dist/v2Runtime/getText.d.ts.map +0 -1
  242. package/dist/v2Runtime/transformFiles.d.ts +0 -3
  243. package/dist/v2Runtime/transformFiles.d.ts.map +0 -1
  244. package/dist/v2Runtime/v3FilesToV2Files.d.ts +0 -3
  245. package/dist/v2Runtime/v3FilesToV2Files.d.ts.map +0 -1
  246. package/dist/v2Runtime/v3FilesToV2Files.test.d.ts +0 -2
  247. package/dist/v2Runtime/v3FilesToV2Files.test.d.ts.map +0 -1
  248. package/dist/v3Runtime/build.d.ts +0 -14
  249. package/dist/v3Runtime/build.d.ts.map +0 -1
  250. package/dist/v3Runtime/build.test.d.ts +0 -2
  251. package/dist/v3Runtime/build.test.d.ts.map +0 -1
  252. package/dist/v3Runtime/cleanRollupErrorMessage.d.ts +0 -5
  253. package/dist/v3Runtime/cleanRollupErrorMessage.d.ts.map +0 -1
  254. package/dist/v3Runtime/computeSrcDocV3.d.ts +0 -7
  255. package/dist/v3Runtime/computeSrcDocV3.d.ts.map +0 -1
  256. package/dist/v3Runtime/extractVizImport.d.ts.map +0 -1
  257. package/dist/v3Runtime/extractVizImport.test.d.ts +0 -2
  258. package/dist/v3Runtime/extractVizImport.test.d.ts.map +0 -1
  259. package/dist/v3Runtime/generateRollupErrorMessage.d.ts +0 -5
  260. package/dist/v3Runtime/generateRollupErrorMessage.d.ts.map +0 -1
  261. package/dist/v3Runtime/importFromViz.d.ts +0 -1
  262. package/dist/v3Runtime/importFromViz.d.ts.map +0 -1
  263. package/dist/v3Runtime/index.d.ts +0 -2
  264. package/dist/v3Runtime/index.d.ts.map +0 -1
  265. package/dist/v3Runtime/parseId.d.ts +0 -7
  266. package/dist/v3Runtime/parseId.d.ts.map +0 -1
  267. package/dist/v3Runtime/setupV3Runtime.d.ts +0 -15
  268. package/dist/v3Runtime/setupV3Runtime.d.ts.map +0 -1
  269. package/dist/v3Runtime/transformDSV/index.d.ts +0 -3
  270. package/dist/v3Runtime/transformDSV/index.d.ts.map +0 -1
  271. package/dist/v3Runtime/transformSvelte.d.ts.map +0 -1
  272. package/dist/v3Runtime/types.d.ts.map +0 -1
  273. package/dist/v3Runtime/urlLoad.d.ts +0 -1
  274. package/dist/v3Runtime/urlLoad.d.ts.map +0 -1
  275. package/dist/v3Runtime/virtual.d.ts +0 -1
  276. package/dist/v3Runtime/virtual.d.ts.map +0 -1
  277. package/dist/v3Runtime/vizCache.d.ts +0 -11
  278. package/dist/v3Runtime/vizCache.d.ts.map +0 -1
  279. package/dist/v3Runtime/vizCache.test.d.ts +0 -2
  280. package/dist/v3Runtime/vizCache.test.d.ts.map +0 -1
  281. package/dist/v3Runtime/vizLoad.d.ts.map +0 -1
  282. package/dist/v3Runtime/vizLoadSvelte.d.ts +0 -1
  283. package/dist/v3Runtime/vizLoadSvelte.d.ts.map +0 -1
  284. package/dist/v3Runtime/vizResolve.d.ts +0 -10
  285. package/dist/v3Runtime/vizResolve.d.ts.map +0 -1
  286. package/dist/v3Runtime/worker.d.ts +0 -2
  287. package/dist/v3Runtime/worker.d.ts.map +0 -1
@@ -0,0 +1,46 @@
1
+ import { parseId } from "./parseId";
2
+ import { getFileText } from "../utils/getFileText";
3
+ const debug = false;
4
+ // Responsible for loading all imports and
5
+ // tracking which CSS files are imported.
6
+ // Throws an error if a file is imported but not found.
7
+ export const vizLoad = ({ vizCache, trackCSSImport, }) => ({
8
+ name: "vizLoad",
9
+ // `id` here is of the form
10
+ // `{vizId}/{fileName}`
11
+ load: async (id) => {
12
+ if (debug) {
13
+ console.log("[vizLoadCSS]: load() " + id);
14
+ }
15
+ const { vizId, fileName } = parseId(id);
16
+ if (debug) {
17
+ console.log(" [vizLoadCSS] vizId: " + vizId);
18
+ console.log(" [vizLoadCSS] fileName: " + fileName);
19
+ }
20
+ // For CSS imports, all we need to do here is
21
+ // keep track of them so they can be injected
22
+ // into the IFrame later.
23
+ if (fileName.endsWith(".css")) {
24
+ if (debug) {
25
+ console.log(" [vizResolve] tracking CSS import for " + id);
26
+ }
27
+ // The import is tracked here so that it can be
28
+ // injected into the IFrame later, external to the
29
+ // Rollup build.
30
+ trackCSSImport(id);
31
+ // TODO consider using Rollup's `emitFile` to emit a CSS file.
32
+ return "";
33
+ }
34
+ const content = await vizCache.get(vizId);
35
+ const fileText = getFileText(content, fileName);
36
+ // If a file is imported but not found, throw an error.
37
+ if (fileText === null) {
38
+ throw new Error(`Imported file "${fileName}" not found.`);
39
+ // TODO ideally show username/slug instead of vizId
40
+ // `Imported file "${fileName}" not found in viz ${vizId}`,
41
+ // `Imported file "${fileName}" not found.`,
42
+ // );
43
+ }
44
+ return fileText;
45
+ },
46
+ });
@@ -0,0 +1,7 @@
1
+ import { InputPluginOption } from "rollup";
2
+ import { VizId } from "@vizhub/viz-types";
3
+ import { SlugCache } from "./slugCache";
4
+ export declare const vizResolve: ({ vizId, slugCache, }: {
5
+ vizId: VizId;
6
+ slugCache?: SlugCache;
7
+ }) => InputPluginOption;
@@ -0,0 +1,69 @@
1
+ import { extractVizImport } from "./extractVizImport";
2
+ import { parseId } from "./parseId";
3
+ import { isVizId } from "@vizhub/viz-utils";
4
+ const debug = false;
5
+ export const vizResolve = ({ vizId, slugCache, }) => ({
6
+ name: "vizResolve",
7
+ resolveId: async (id, importer) => {
8
+ if (debug) {
9
+ console.log("[vizIdResolve] resolveId() " + id);
10
+ console.log(" importer: " + importer);
11
+ }
12
+ // Handle virtual file system resolution
13
+ // .e.g. `import { foo } from './foo.js'`
14
+ // .e.g. `import { foo } from './foo'`
15
+ if (id.startsWith("./") &&
16
+ !importer?.startsWith("https://")) {
17
+ let fileName = id.substring(2);
18
+ // Handle CSS files
19
+ // e.g. `import './styles.css'`
20
+ // Handle JS files
21
+ // e.g. `import { foo } from './foo.js'`
22
+ // e.g. `import { foo } from './foo'`
23
+ if (!fileName.endsWith(".js") &&
24
+ !fileName.endsWith(".css") &&
25
+ !fileName.endsWith(".csv") &&
26
+ !fileName.endsWith(".svelte")) {
27
+ fileName += ".js";
28
+ }
29
+ // const js = (name: string) =>
30
+ // name.endsWith('.js') ? name : name + '.js';
31
+ // If there is an importer, then the file is not part of
32
+ // the entry point, so it should be resolved relative
33
+ // to the importer's directory
34
+ if (importer) {
35
+ const { vizId: importerVizId, fileName: importerFileName, } = parseId(importer);
36
+ // Get the directory of the importing file
37
+ const importerDir = importerFileName
38
+ .split("/")
39
+ .slice(0, -1)
40
+ .join("/");
41
+ // Combine the directory with the imported file name
42
+ const resolvedFileName = importerDir
43
+ ? `${importerDir}/${fileName}`
44
+ : fileName;
45
+ return `${importerVizId}/${resolvedFileName}`;
46
+ }
47
+ return vizId + "/" + fileName;
48
+ }
49
+ // Handle viz import resolution
50
+ // e.g. `import { foo } from '@curran/98e6d6509a1e407897d4f238a330efec'`
51
+ // e.g. `import { foo } from '@curran/scatter-plot'`
52
+ const vizImport = extractVizImport(id);
53
+ if (vizImport) {
54
+ let vizId;
55
+ if (isVizId(vizImport.idOrSlug)) {
56
+ vizId = vizImport.idOrSlug;
57
+ }
58
+ else {
59
+ if (!slugCache) {
60
+ throw new Error("slugCache is required to import by slug in v3 runtime");
61
+ }
62
+ vizId = await slugCache.get(`${vizImport.userName}/${vizImport.idOrSlug}`);
63
+ }
64
+ return vizId + "/index.js";
65
+ }
66
+ // If neither condition is met, return undefined.
67
+ return undefined;
68
+ },
69
+ });
@@ -0,0 +1,10 @@
1
+ import { FileCollection } from "magic-sandbox";
2
+ import type { RollupBuild, RollupOptions } from "rollup";
3
+ /**
4
+ * Build for v4 runtime
5
+ */
6
+ export declare const v4Build: ({ files, rollup, enableSourcemap, }: {
7
+ files: FileCollection;
8
+ rollup: (options: RollupOptions) => Promise<RollupBuild>;
9
+ enableSourcemap?: boolean;
10
+ }) => Promise<FileCollection>;
@@ -0,0 +1,134 @@
1
+ import { JSDOM } from "jsdom";
2
+ import { virtualFileSystem } from "../common/virtualFileSystem";
3
+ import { sucrasePlugin } from "../common/sucrasePlugin";
4
+ import { dependencies, getConfiguredLibraries, dependencySource, } from "../common/packageJson";
5
+ const DEBUG = false;
6
+ /**
7
+ * Extract module script entry points from index.html
8
+ */
9
+ const extractModuleEntryPoints = (html) => {
10
+ const dom = new JSDOM(html);
11
+ const document = dom.window.document;
12
+ const moduleScripts = document.querySelectorAll('script[type="module"]');
13
+ const entryPoints = [];
14
+ moduleScripts.forEach((script) => {
15
+ const src = script.getAttribute("src");
16
+ if (src) {
17
+ entryPoints.push(src);
18
+ }
19
+ });
20
+ return entryPoints;
21
+ };
22
+ /**
23
+ * Bundle an ES module entry point
24
+ */
25
+ const bundleESModule = async ({ entryPoint, files, rollup, enableSourcemap = true, }) => {
26
+ const inputOptions = {
27
+ input: `./${entryPoint}`,
28
+ plugins: [virtualFileSystem(files), sucrasePlugin()],
29
+ onwarn(warning, warn) {
30
+ // Suppress "treating module as external dependency" warnings
31
+ if (warning.code === "UNRESOLVED_IMPORT")
32
+ return;
33
+ warn(warning);
34
+ },
35
+ };
36
+ const bundle = await rollup(inputOptions);
37
+ const outputOptions = {
38
+ format: "es",
39
+ sourcemap: enableSourcemap,
40
+ };
41
+ const { output } = await bundle.generate(outputOptions);
42
+ return output[0].code;
43
+ };
44
+ /**
45
+ * Generate an import map for all dependencies
46
+ */
47
+ const generateImportMap = (files) => {
48
+ const deps = dependencies(files);
49
+ if (Object.keys(deps).length === 0) {
50
+ return null;
51
+ }
52
+ const libraries = getConfiguredLibraries(files);
53
+ const imports = {};
54
+ Object.entries(deps).forEach(([name, version]) => {
55
+ const url = dependencySource({ name, version }, libraries);
56
+ imports[name] = url;
57
+ });
58
+ return JSON.stringify({ imports }, null, 2);
59
+ };
60
+ /**
61
+ * Update HTML to include import map and bundled modules
62
+ */
63
+ const updateHTML = (files, bundledModules) => {
64
+ const html = files["index.html"] || "";
65
+ if (!html) {
66
+ return "";
67
+ }
68
+ const dom = new JSDOM(html);
69
+ const document = dom.window.document;
70
+ // Replace script src with bundled content
71
+ bundledModules.forEach((code, src) => {
72
+ const scripts = document.querySelectorAll(`script[src="${src}"]`);
73
+ scripts.forEach((script) => {
74
+ const newScript = document.createElement("script");
75
+ newScript.setAttribute("type", "module");
76
+ newScript.textContent = code;
77
+ script.parentNode?.replaceChild(newScript, script);
78
+ });
79
+ });
80
+ // Add import map if needed
81
+ const importMap = generateImportMap(files);
82
+ if (importMap) {
83
+ // Check if import map already exists
84
+ const existingImportMap = document.querySelector('script[type="importmap"]');
85
+ if (!existingImportMap) {
86
+ const importMapScript = document.createElement("script");
87
+ importMapScript.setAttribute("type", "importmap");
88
+ importMapScript.textContent = importMap;
89
+ const head = document.head || document.querySelector("head");
90
+ if (head) {
91
+ head.prepend(importMapScript);
92
+ }
93
+ else {
94
+ const html = document.documentElement;
95
+ const newHead = document.createElement("head");
96
+ newHead.appendChild(importMapScript);
97
+ html.insertBefore(newHead, html.firstChild);
98
+ }
99
+ }
100
+ }
101
+ return `<!DOCTYPE html>${document.documentElement.outerHTML}`;
102
+ };
103
+ /**
104
+ * Build for v4 runtime
105
+ */
106
+ export const v4Build = async ({ files, rollup, enableSourcemap = true, }) => {
107
+ // Extract entry points
108
+ const html = files["index.html"] || "";
109
+ const entryPoints = extractModuleEntryPoints(html);
110
+ if (entryPoints.length === 0) {
111
+ DEBUG &&
112
+ console.log("[v4Build] No module entry points found");
113
+ // Fall back to a default approach if no module entry points
114
+ // Just return the HTML as-is if there are no module scripts
115
+ return files;
116
+ }
117
+ // Bundle each entry point
118
+ const bundledModules = new Map();
119
+ for (const entryPoint of entryPoints) {
120
+ const code = await bundleESModule({
121
+ entryPoint,
122
+ files,
123
+ rollup,
124
+ enableSourcemap,
125
+ });
126
+ bundledModules.set(entryPoint, code);
127
+ }
128
+ // Update HTML with bundled modules and import map
129
+ const updatedHTML = updateHTML(files, bundledModules);
130
+ return {
131
+ ...files,
132
+ "index.html": updatedHTML,
133
+ };
134
+ };
package/package.json CHANGED
@@ -1,50 +1,47 @@
1
1
  {
2
2
  "name": "@vizhub/runtime",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
+ "description": "Flexible runtime environment for data visualization sandboxes",
4
5
  "type": "module",
5
6
  "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
6
8
  "exports": {
7
- ".": "./dist/index.js"
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
8
13
  },
9
- "types": "dist/index.d.ts",
14
+ "files": [
15
+ "dist"
16
+ ],
10
17
  "scripts": {
11
- "tsc": "tsc --noEmit",
12
- "test": "vitest run --reporter verbose",
13
- "build": "vite build --ssr src/index.ts --outDir dist && tsc --emitDeclarationOnly",
14
- "prettier": "prettier {*.*,**/*.*} --single-quote --write",
15
- "prepublishOnly": "npm run build"
16
- },
17
- "repository": {
18
- "type": "git",
19
- "url": "git+https://github.com/vizhub-core/vizhub3.git"
18
+ "build": "tsc",
19
+ "prepublishOnly": "npm run build",
20
+ "test": "vitest run",
21
+ "test:watch": "vitest",
22
+ "typecheck": "tsc --noEmit",
23
+ "prettier": "prettier {*.*,**/*.*} --write"
20
24
  },
21
- "author": "Curran Kelleher",
25
+ "keywords": [],
26
+ "author": "",
22
27
  "license": "MIT",
23
- "bugs": {
24
- "url": "https://github.com/vizhub-core/vizhub3/issues"
25
- },
26
- "homepage": "https://github.com/vizhub-core/vizhub3#readme",
27
- "dependencies": {
28
- "buble": "^0.20.0",
29
- "d3-dsv": "^3.0.1",
30
- "path-posix": "^1.0.0",
31
- "react": "^18.3.1",
32
- "rollup": "^4.24.0",
33
- "svelte": "^4.2.19",
34
- "vizhub-libraries": "^1.8.0"
35
- },
36
28
  "devDependencies": {
37
- "@rollup/plugin-node-resolve": "^15.3.0",
38
- "@rollup/plugin-typescript": "^12.1.1",
39
- "@types/d3-dsv": "^3.0.7",
40
- "typescript": "^5.6.3",
41
- "vite": "^5.4.10",
42
- "vitest": "^2.1.2"
43
- },
44
- "publishConfig": {
45
- "access": "public"
29
+ "@types/jsdom": "^21.1.7",
30
+ "@types/node": "^22.13.13",
31
+ "@types/uuid": "^10.0.0",
32
+ "jsdom": "^26.0.0",
33
+ "prettier": "^3.5.3",
34
+ "puppeteer": "^24.4.0",
35
+ "rollup": "^4.37.0",
36
+ "sucrase": "^3.35.0",
37
+ "svelte": "4.2.9",
38
+ "typescript": "^5.8.2",
39
+ "vitest": "^3.0.9"
46
40
  },
47
- "files": [
48
- "dist"
49
- ]
41
+ "dependencies": {
42
+ "@vizhub/viz-types": "^0.0.2",
43
+ "@vizhub/viz-utils": "^0.0.1",
44
+ "magic-sandbox": "^2.1.0",
45
+ "uuid": "^11.1.0"
46
+ }
50
47
  }
@@ -1,240 +0,0 @@
1
- import { cleanRollupErrorMessage, p as parseId, g as getFileText } from "../index.js";
2
- import "buble";
3
- import "path-posix";
4
- import "vizhub-libraries";
5
- import "sharedb-client-browser/dist/ot-json1-presence-umd.cjs";
6
- import "json0-ot-diff";
7
- import "diff-match-patch";
8
- import "react";
9
- function WorkerWrapper(options) {
10
- return new Worker(
11
- "/assets/worker-CLxqJrPo.js",
12
- {
13
- name: options == null ? void 0 : options.name
14
- }
15
- );
16
- }
17
- const IDLE = "IDLE";
18
- const ENQUEUED = "ENQUEUED";
19
- const PENDING_CLEAN = "PENDING_CLEAN";
20
- const PENDING_DIRTY = "PENDING_DIRTY";
21
- const setupV3Runtime = ({
22
- vizId,
23
- iframe,
24
- setSrcdocErrorMessage,
25
- getLatestContent,
26
- resolveSlugKey,
27
- writeFile
28
- }) => {
29
- const worker = new WorkerWrapper();
30
- let state = IDLE;
31
- let pendingBuildPromise = null;
32
- let pendingRunPromise = null;
33
- worker.addEventListener("message", async ({ data }) => {
34
- const message = data;
35
- if (message.type === "buildResponse") {
36
- const buildResult = message.buildResult;
37
- const error = message.error;
38
- if (pendingBuildPromise) {
39
- pendingBuildPromise(buildResult);
40
- pendingBuildPromise = null;
41
- }
42
- if (error) {
43
- setSrcdocErrorMessage(
44
- cleanRollupErrorMessage({
45
- rawMessage: error.message,
46
- vizId
47
- })
48
- );
49
- }
50
- }
51
- if (message.type === "contentRequest") {
52
- const { vizId: vizId2 } = message;
53
- const content = await getLatestContent(vizId2);
54
- const contentResponseMessage = {
55
- type: "contentResponse",
56
- vizId: message.vizId,
57
- content
58
- };
59
- worker.postMessage(contentResponseMessage);
60
- }
61
- if (message.type === "resolveSlugRequest") {
62
- const { slugKey } = message;
63
- const resolveSlugResponseMessage = {
64
- type: "resolveSlugResponse",
65
- slugKey,
66
- requestId: message.requestId,
67
- vizId: await resolveSlugKey(slugKey)
68
- };
69
- worker.postMessage(resolveSlugResponseMessage);
70
- }
71
- if (message.type === "invalidateVizCacheResponse") {
72
- handleCodeChange();
73
- }
74
- if (message.type === "resetSrcdocResponse") {
75
- const srcdoc = message.srcdoc;
76
- const error = message.error;
77
- if (error) {
78
- setSrcdocErrorMessage(
79
- cleanRollupErrorMessage({
80
- rawMessage: error.message,
81
- vizId
82
- })
83
- );
84
- } else {
85
- setSrcdocErrorMessage(null);
86
- if (srcdoc) {
87
- iframe.srcdoc = srcdoc;
88
- }
89
- }
90
- }
91
- });
92
- window.addEventListener("message", ({ data }) => {
93
- if (data.type === "runDone" || data.type === "runError") {
94
- if (pendingRunPromise) {
95
- pendingRunPromise();
96
- pendingRunPromise = null;
97
- }
98
- }
99
- if (data.type === "runError") {
100
- setSrcdocErrorMessage(data.error.message);
101
- }
102
- if (data.type === "writeFile") {
103
- if (data.fileName && data.content) {
104
- writeFile(data.fileName, data.content);
105
- }
106
- }
107
- });
108
- const handleCodeChange = () => {
109
- if (state === IDLE) {
110
- state = ENQUEUED;
111
- update();
112
- } else if (state === PENDING_CLEAN) {
113
- state = PENDING_DIRTY;
114
- }
115
- };
116
- const invalidateVizCache = (changedVizIds) => {
117
- const message = {
118
- type: "invalidateVizCacheRequest",
119
- changedVizIds
120
- };
121
- worker.postMessage(message);
122
- };
123
- {
124
- setInterval(() => {
125
- }, 1e3);
126
- }
127
- const build = () => {
128
- return new Promise(
129
- (resolve) => {
130
- pendingBuildPromise = resolve;
131
- const message = {
132
- type: "buildRequest",
133
- vizId,
134
- enableSourcemap: true
135
- };
136
- worker.postMessage(message);
137
- }
138
- );
139
- };
140
- const update = async () => {
141
- state = PENDING_CLEAN;
142
- const buildResult = await build();
143
- if (buildResult !== void 0) {
144
- await run(buildResult);
145
- }
146
- if (state === PENDING_DIRTY) {
147
- requestAnimationFrame(update);
148
- state = ENQUEUED;
149
- } else {
150
- state = IDLE;
151
- }
152
- };
153
- let previousCSSFiles = [];
154
- const run = (buildResult) => {
155
- return new Promise((resolve) => {
156
- var _a;
157
- const { src, warnings, cssFiles } = buildResult;
158
- if (src === void 0) {
159
- throw new Error(
160
- "[v3 runtime] src is undefined, but no errors!"
161
- );
162
- }
163
- pendingRunPromise = resolve;
164
- if (warnings.length > 0) {
165
- setSrcdocErrorMessage(
166
- warnings.map((warning) => warning.message).join("\n\n")
167
- );
168
- } else {
169
- setSrcdocErrorMessage(null);
170
- }
171
- if (iframe.contentWindow) {
172
- for (const cssFile of cssFiles) {
173
- const { vizId: vizId2, fileName } = parseId(cssFile);
174
- getLatestContent(vizId2).then((content) => {
175
- var _a2;
176
- const src2 = getFileText(content, fileName);
177
- if (src2 === null) {
178
- console.warn(
179
- `Imported CSS file ${fileName} doesn't exist.`
180
- );
181
- return;
182
- }
183
- const runCSSMessage = {
184
- type: "runCSS",
185
- id: cssFile,
186
- src: src2
187
- };
188
- (_a2 = iframe.contentWindow) == null ? void 0 : _a2.postMessage(
189
- runCSSMessage,
190
- window.location.origin
191
- );
192
- });
193
- }
194
- const removedCSSFiles = previousCSSFiles.filter(
195
- (id) => !cssFiles.includes(id)
196
- );
197
- previousCSSFiles = cssFiles;
198
- for (const id of removedCSSFiles) {
199
- const removeCSSMessage = {
200
- type: "runCSS",
201
- id,
202
- src: ""
203
- };
204
- (_a = iframe.contentWindow) == null ? void 0 : _a.postMessage(
205
- removeCSSMessage,
206
- window.location.origin
207
- );
208
- }
209
- console.clear();
210
- const runJSMessage = {
211
- type: "runJS",
212
- src
213
- };
214
- iframe.contentWindow.postMessage(
215
- runJSMessage,
216
- window.location.origin
217
- );
218
- }
219
- });
220
- };
221
- const resetSrcdoc = (changedVizIds) => {
222
- state = IDLE;
223
- pendingBuildPromise = null;
224
- pendingRunPromise = null;
225
- const message = {
226
- type: "resetSrcdocRequest",
227
- vizId,
228
- changedVizIds
229
- };
230
- worker.postMessage(message);
231
- };
232
- return {
233
- handleCodeChange,
234
- invalidateVizCache,
235
- resetSrcdoc
236
- };
237
- };
238
- export {
239
- setupV3Runtime
240
- };
@@ -1,13 +0,0 @@
1
- import { Content, VizId } from 'entities';
2
- import { VizCache } from './v3Runtime/vizCache';
3
- export declare const computeSrcDoc: ({ rollup, content, vizCache, resolveSlug, getSvelteCompiler, }: {
4
- rollup: any;
5
- content: Content;
6
- vizCache: VizCache;
7
- resolveSlug: ({ userName, slug }: any) => Promise<VizId>;
8
- getSvelteCompiler: () => Promise<any>;
9
- }) => Promise<{
10
- initialSrcdoc: string;
11
- initialSrcdocError: string;
12
- }>;
13
- //# sourceMappingURL=computeSrcDoc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"computeSrcDoc.d.ts","sourceRoot":"","sources":["../src/computeSrcDoc.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,KAAK,EAEN,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,eAAO,MAAM,aAAa,mEAMvB;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAA,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACpD,iBAAiB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;CACvC;;;EA0CA,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=computeSrcDoc.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"computeSrcDoc.test.d.ts","sourceRoot":"","sources":["../src/computeSrcDoc.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { RefObject } from 'react';
2
- import { Content, SlugKey, VizId } from 'entities';
3
- export declare const useRuntime: ({ content, iframeRef, srcdocErrorMessage, setSrcdocErrorMessage, vizCacheContents, isVisual, slugResolutionCache, submitContentOperation, }: {
4
- content: Content;
5
- iframeRef: RefObject<HTMLIFrameElement>;
6
- srcdocErrorMessage: string | null;
7
- setSrcdocErrorMessage: (error: string | null) => void;
8
- vizCacheContents: Record<string, Content>;
9
- isVisual: boolean;
10
- slugResolutionCache: Record<SlugKey, VizId>;
11
- submitContentOperation: (next: (content: Content) => Content) => void;
12
- }) => void;
13
- //# sourceMappingURL=useRuntime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRuntime.d.ts","sourceRoot":"","sources":["../src/useRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAKV,MAAM,OAAO,CAAC;AACf,OAAO,EACL,OAAO,EAEP,OAAO,EACP,KAAK,EAGN,MAAM,UAAU,CAAC;AAOlB,eAAO,MAAM,UAAU,gJASpB;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACxC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAG1C,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5C,sBAAsB,EAAE,CACtB,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,KAChC,IAAI,CAAC;CACX,SAwVA,CAAC"}
@@ -1,5 +0,0 @@
1
- export default function buble(options: any): {
2
- name: string;
3
- transform: (code: any, id: any) => any;
4
- };
5
- //# sourceMappingURL=bubleJSXOnly.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bubleJSXOnly.d.ts","sourceRoot":"","sources":["../../../src/v2Runtime/bundle/bubleJSXOnly.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,OAAO,KAAA;;;EA2BpC"}
@@ -1,10 +0,0 @@
1
- import { FilesV2 } from 'entities';
2
- export declare const packageJSON: (files: FilesV2) => any;
3
- export declare const dependencies: (files: FilesV2) => any;
4
- export declare const getConfiguredLibraries: (files: FilesV2) => any;
5
- export declare const dependencySource: ({ name, version }: {
6
- name: any;
7
- version: any;
8
- }, libraries: any) => string;
9
- export declare const getLicense: (files: any) => any;
10
- //# sourceMappingURL=packageJson.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageJson.d.ts","sourceRoot":"","sources":["../../../src/v2Runtime/bundle/packageJson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAQnC,eAAO,MAAM,WAAW,UAAW,OAAO,QAkBzC,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,OAAO,QACJ,CAAC;AAExC,eAAO,MAAM,sBAAsB,UAAW,OAAO,QAGpD,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;4BAS5B,CAAC;AAEF,eAAO,MAAM,UAAU,qBAC+B,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Content } from 'entities';
2
- export declare const computeSrcDocV2: (content: Content) => Promise<any>;
3
- //# sourceMappingURL=computeSrcDocV2.d.ts.map