@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.
- package/README.md +33 -21
- package/dist/{buildHTML.d.ts → build/build.d.ts} +6 -6
- package/dist/build/build.d.ts.map +1 -0
- package/dist/{determineRuntimeVersion.d.ts → build/determineRuntimeVersion.d.ts} +1 -0
- package/dist/build/determineRuntimeVersion.d.ts.map +1 -0
- package/dist/build/determineRuntimeVersion.test.d.ts +2 -0
- package/dist/build/determineRuntimeVersion.test.d.ts.map +1 -0
- package/dist/build/index.d.ts +2 -0
- package/dist/build/index.d.ts.map +1 -0
- package/dist/build/types.d.ts +7 -0
- package/dist/build/types.d.ts.map +1 -0
- package/dist/common/packageJson.d.ts +1 -0
- package/dist/common/packageJson.d.ts.map +1 -0
- package/dist/common/packageJson.test.d.ts +1 -0
- package/dist/common/packageJson.test.d.ts.map +1 -0
- package/dist/common/sucrasePlugin.d.ts +1 -0
- package/dist/common/sucrasePlugin.d.ts.map +1 -0
- package/dist/common/virtualFileSystem.d.ts +1 -0
- package/dist/common/virtualFileSystem.d.ts.map +1 -0
- package/dist/createVizContent-BOSPq-Jv.cjs +207 -0
- package/dist/createVizContent-BOSPq-Jv.cjs.map +1 -0
- package/dist/createVizContent-DjJF2PT_.js +565 -0
- package/dist/createVizContent-DjJF2PT_.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +193 -3
- package/dist/index.js.map +1 -0
- package/dist/old-implementation-reference/setupV3Runtime.d.ts +1 -0
- package/dist/old-implementation-reference/setupV3Runtime.d.ts.map +1 -0
- package/dist/old-implementation-reference/types.d.ts +1 -0
- package/dist/old-implementation-reference/types.d.ts.map +1 -0
- package/dist/old-implementation-reference/worker.d.ts +1 -0
- package/dist/old-implementation-reference/worker.d.ts.map +1 -0
- package/dist/orchestration/createRuntime.d.ts +11 -0
- package/dist/orchestration/createRuntime.d.ts.map +1 -0
- package/dist/orchestration/generateRequestId.d.ts +2 -0
- package/dist/orchestration/generateRequestId.d.ts.map +1 -0
- package/dist/orchestration/setupBuild.d.ts +10 -0
- package/dist/orchestration/setupBuild.d.ts.map +1 -0
- package/dist/orchestration/setupInvalidateVizCache.d.ts +3 -0
- package/dist/orchestration/setupInvalidateVizCache.d.ts.map +1 -0
- package/dist/orchestration/types.d.ts +66 -0
- package/dist/orchestration/types.d.ts.map +1 -0
- package/dist/orchestration/worker.d.ts +2 -0
- package/dist/orchestration/worker.d.ts.map +1 -0
- package/dist/test/end-to-end.test.d.ts +2 -0
- package/dist/test/end-to-end.test.d.ts.map +1 -0
- package/dist/test/fixtures/v1/basicHTML.d.ts +1 -0
- package/dist/test/fixtures/v1/basicHTML.d.ts.map +1 -0
- package/dist/test/fixtures/v1/fetchProxy.d.ts +1 -0
- package/dist/test/fixtures/v1/fetchProxy.d.ts.map +1 -0
- package/dist/test/fixtures/v1/index.d.ts +1 -0
- package/dist/test/fixtures/v1/index.d.ts.map +1 -0
- package/dist/test/fixtures/v1/jsScriptTag.d.ts +1 -0
- package/dist/test/fixtures/v1/jsScriptTag.d.ts.map +1 -0
- package/dist/test/fixtures/v1/protocolTest.d.ts +1 -0
- package/dist/test/fixtures/v1/protocolTest.d.ts.map +1 -0
- package/dist/test/fixtures/v1/styleTest.d.ts +1 -0
- package/dist/test/fixtures/v1/styleTest.d.ts.map +1 -0
- package/dist/test/fixtures/v1/xmlTest.d.ts +1 -0
- package/dist/test/fixtures/v1/xmlTest.d.ts.map +1 -0
- package/dist/test/fixtures/v2/basicBundle.d.ts +1 -0
- package/dist/test/fixtures/v2/basicBundle.d.ts.map +1 -0
- package/dist/test/fixtures/v2/basicBundleNoExtension.d.ts +1 -0
- package/dist/test/fixtures/v2/basicBundleNoExtension.d.ts.map +1 -0
- package/dist/test/fixtures/v2/d3Import.d.ts +1 -0
- package/dist/test/fixtures/v2/d3Import.d.ts.map +1 -0
- package/dist/test/fixtures/v2/d3ImportPkg.d.ts +1 -0
- package/dist/test/fixtures/v2/d3ImportPkg.d.ts.map +1 -0
- package/dist/test/fixtures/v2/d3RosettaImportPkg.d.ts +1 -0
- package/dist/test/fixtures/v2/d3RosettaImportPkg.d.ts.map +1 -0
- package/dist/test/fixtures/v2/es6Preserve.d.ts +1 -0
- package/dist/test/fixtures/v2/es6Preserve.d.ts.map +1 -0
- package/dist/test/fixtures/v2/generatorSupport.d.ts +1 -0
- package/dist/test/fixtures/v2/generatorSupport.d.ts.map +1 -0
- package/dist/test/fixtures/v2/index.d.ts +3 -1
- package/dist/test/fixtures/v2/index.d.ts.map +1 -0
- package/dist/test/fixtures/v2/jsxTranspile.d.ts +1 -0
- package/dist/test/fixtures/v2/jsxTranspile.d.ts.map +1 -0
- package/dist/test/fixtures/v2/reactDomImport.d.ts +1 -0
- package/dist/test/fixtures/v2/reactDomImport.d.ts.map +1 -0
- package/dist/test/fixtures/v2/reactDomImportPkg.d.ts +1 -0
- package/dist/test/fixtures/v2/reactDomImportPkg.d.ts.map +1 -0
- package/dist/test/fixtures/v2/reactImport.d.ts +1 -0
- package/dist/test/fixtures/v2/reactImport.d.ts.map +1 -0
- package/dist/test/fixtures/v2/reactImportPkg.d.ts +1 -0
- package/dist/test/fixtures/v2/reactImportPkg.d.ts.map +1 -0
- package/dist/test/fixtures/v2/sourceMapErrorFixture.d.ts +1 -0
- package/dist/test/fixtures/v2/sourceMapErrorFixture.d.ts.map +1 -0
- package/dist/test/fixtures/v2/syntaxError.d.ts +6 -0
- package/dist/test/fixtures/v2/syntaxError.d.ts.map +1 -0
- package/dist/test/fixtures/v2/unicodeSupport.d.ts +1 -0
- package/dist/test/fixtures/v2/unicodeSupport.d.ts.map +1 -0
- package/dist/test/fixtures/v3/basicIndexJS.d.ts +1 -0
- package/dist/test/fixtures/v3/basicIndexJS.d.ts.map +1 -0
- package/dist/test/fixtures/v3/cssImport.d.ts +1 -0
- package/dist/test/fixtures/v3/cssImport.d.ts.map +1 -0
- package/dist/test/fixtures/v3/csvImport.d.ts +1 -0
- package/dist/test/fixtures/v3/csvImport.d.ts.map +1 -0
- package/dist/test/fixtures/v3/csvStrangeChars.d.ts +1 -0
- package/dist/test/fixtures/v3/csvStrangeChars.d.ts.map +1 -0
- package/dist/test/fixtures/v3/d3Dependency.d.ts +5 -0
- package/dist/test/fixtures/v3/d3Dependency.d.ts.map +1 -0
- package/dist/test/fixtures/v3/index.d.ts +2 -0
- package/dist/test/fixtures/v3/index.d.ts.map +1 -0
- package/dist/test/fixtures/v3/jsExport.d.ts +1 -0
- package/dist/test/fixtures/v3/jsExport.d.ts.map +1 -0
- package/dist/test/fixtures/v3/sourcemap.d.ts +1 -0
- package/dist/test/fixtures/v3/sourcemap.d.ts.map +1 -0
- package/dist/test/fixtures/v3/svelte.d.ts +1 -0
- package/dist/test/fixtures/v3/svelte.d.ts.map +1 -0
- package/dist/test/fixtures/v3/vizContent.d.ts +1 -0
- package/dist/test/fixtures/v3/vizContent.d.ts.map +1 -0
- package/dist/test/fixtures/v3/vizImport.d.ts +1 -0
- package/dist/test/fixtures/v3/vizImport.d.ts.map +1 -0
- package/dist/test/fixtures/v4/d3Usage.d.ts +1 -0
- package/dist/test/fixtures/v4/d3Usage.d.ts.map +1 -0
- package/dist/test/fixtures/v4/esmBuild.d.ts +1 -0
- package/dist/test/fixtures/v4/esmBuild.d.ts.map +1 -0
- package/dist/test/fixtures/v4/fetchInterception.d.ts +1 -0
- package/dist/test/fixtures/v4/fetchInterception.d.ts.map +1 -0
- package/dist/test/fixtures/v4/index.d.ts +1 -0
- package/dist/test/fixtures/v4/index.d.ts.map +1 -0
- package/dist/test/fixtures/v4/jsScriptTagTypeModule.d.ts +1 -0
- package/dist/test/fixtures/v4/jsScriptTagTypeModule.d.ts.map +1 -0
- package/dist/test/fixtures/v4/jsScriptTagTypeModules.d.ts +1 -0
- package/dist/test/fixtures/v4/jsScriptTagTypeModules.d.ts.map +1 -0
- package/dist/test/fixtures/v4/reactHooks.d.ts +1 -0
- package/dist/test/fixtures/v4/reactHooks.d.ts.map +1 -0
- package/dist/test/fixtures/v4/reactJsx.d.ts +1 -0
- package/dist/test/fixtures/v4/reactJsx.d.ts.map +1 -0
- package/dist/test/fixtures/v4/threeJsUsage.d.ts +1 -0
- package/dist/test/fixtures/v4/threeJsUsage.d.ts.map +1 -0
- package/dist/test/fixtures/v4/typeScriptSupport.d.ts +1 -0
- package/dist/test/fixtures/v4/typeScriptSupport.d.ts.map +1 -0
- package/dist/test/orchestration.test.d.ts +2 -0
- package/dist/test/orchestration.test.d.ts.map +1 -0
- package/dist/test/testInBrowser.d.ts +5 -4
- package/dist/test/testInBrowser.d.ts.map +1 -0
- package/dist/test/testMockedIframeWithWorker.d.ts +28 -0
- package/dist/test/testMockedIframeWithWorker.d.ts.map +1 -0
- package/dist/test/testRuntimeWithWorker.d.ts +18 -0
- package/dist/test/testRuntimeWithWorker.d.ts.map +1 -0
- package/dist/test/testStackTrace.d.ts +1 -0
- package/dist/test/testStackTrace.d.ts.map +1 -0
- package/dist/test/v1.test.d.ts +1 -0
- package/dist/test/v1.test.d.ts.map +1 -0
- package/dist/test/v2.test.d.ts +1 -0
- package/dist/test/v2.test.d.ts.map +1 -0
- package/dist/test/v3.test.d.ts +1 -0
- package/dist/test/v3.test.d.ts.map +1 -0
- package/dist/test/v4.test.d.ts +1 -0
- package/dist/test/v4.test.d.ts.map +1 -0
- package/dist/v2/computeBundleJSV2.d.ts +1 -0
- package/dist/v2/computeBundleJSV2.d.ts.map +1 -0
- package/dist/v2/getComputedIndexHtml.d.ts +1 -2
- package/dist/v2/getComputedIndexHtml.d.ts.map +1 -0
- package/dist/v2/getComputedIndexHtml.test.d.ts +1 -0
- package/dist/v2/getComputedIndexHtml.test.d.ts.map +1 -0
- package/dist/v2/index.d.ts +1 -0
- package/dist/v2/index.d.ts.map +1 -0
- package/dist/v2/v2Build.d.ts +1 -0
- package/dist/v2/v2Build.d.ts.map +1 -0
- package/dist/v3/cleanRollupErrorMessage.d.ts +1 -0
- package/dist/v3/cleanRollupErrorMessage.d.ts.map +1 -0
- package/dist/v3/cleanRollupErrorMessage.test.d.ts +2 -0
- package/dist/v3/cleanRollupErrorMessage.test.d.ts.map +1 -0
- package/dist/v3/computeBundleJSV3.d.ts +6 -5
- package/dist/v3/computeBundleJSV3.d.ts.map +1 -0
- package/dist/v3/createVizContent.d.ts +1 -0
- package/dist/v3/createVizContent.d.ts.map +1 -0
- package/dist/v3/extractVizImport.d.ts +1 -0
- package/dist/v3/extractVizImport.d.ts.map +1 -0
- package/dist/v3/extractVizImport.test.d.ts +1 -0
- package/dist/v3/extractVizImport.test.d.ts.map +1 -0
- package/dist/v3/htmlTemplate.d.ts +1 -0
- package/dist/v3/htmlTemplate.d.ts.map +1 -0
- package/dist/v3/index.d.ts +10 -0
- package/dist/v3/index.d.ts.map +1 -0
- package/dist/v3/parseId.d.ts +3 -2
- package/dist/v3/parseId.d.ts.map +1 -0
- package/dist/v3/parseId.test.d.ts +1 -0
- package/dist/v3/parseId.test.d.ts.map +1 -0
- package/dist/v3/setupV3Runtime.d.ts +1 -15
- package/dist/v3/setupV3Runtime.d.ts.map +1 -0
- package/dist/v3/slugCache.d.ts +1 -0
- package/dist/v3/slugCache.d.ts.map +1 -0
- package/dist/v3/slugCache.test.d.ts +1 -0
- package/dist/v3/slugCache.test.d.ts.map +1 -0
- package/dist/v3/transformDSV/dsvParseSrc.d.ts +1 -0
- package/dist/v3/transformDSV/dsvParseSrc.d.ts.map +1 -0
- package/dist/v3/transformDSV/index.d.ts +1 -0
- package/dist/v3/transformDSV/index.d.ts.map +1 -0
- package/dist/v3/transformSvelte.d.ts +2 -1
- package/dist/v3/transformSvelte.d.ts.map +1 -0
- package/dist/v3/types.d.ts +2 -1
- package/dist/v3/types.d.ts.map +1 -0
- package/dist/v3/v3Build.d.ts +6 -4
- package/dist/v3/v3Build.d.ts.map +1 -0
- package/dist/v3/vizCache.d.ts +1 -0
- package/dist/v3/vizCache.d.ts.map +1 -0
- package/dist/v3/vizCache.test.d.ts +1 -0
- package/dist/v3/vizCache.test.d.ts.map +1 -0
- package/dist/v3/vizLoad.d.ts +3 -2
- package/dist/v3/vizLoad.d.ts.map +1 -0
- package/dist/v3/vizResolve.d.ts +2 -1
- package/dist/v3/vizResolve.d.ts.map +1 -0
- package/dist/v4/bundleModule.d.ts +12 -0
- package/dist/v4/bundleModule.d.ts.map +1 -0
- package/dist/v4/extractEntryPoints.d.ts +5 -0
- package/dist/v4/extractEntryPoints.d.ts.map +1 -0
- package/dist/v4/importMap.d.ts +6 -0
- package/dist/v4/importMap.d.ts.map +1 -0
- package/dist/v4/index.d.ts +4 -1
- package/dist/v4/index.d.ts.map +1 -0
- package/dist/v4/stringUtils.d.ts +17 -0
- package/dist/v4/stringUtils.d.ts.map +1 -0
- package/dist/v4/updateHTML.d.ts +6 -0
- package/dist/v4/updateHTML.d.ts.map +1 -0
- package/dist/worker.cjs +9 -0
- package/dist/worker.cjs.map +1 -0
- package/dist/worker.js +390 -0
- package/dist/worker.js.map +1 -0
- package/package.json +21 -16
- package/dist/buildHTML.js +0 -67
- package/dist/cjs/buildHTML.js +0 -71
- package/dist/cjs/common/packageJson.js +0 -81
- package/dist/cjs/common/packageJson.test.js +0 -148
- package/dist/cjs/common/sucrasePlugin.js +0 -27
- package/dist/cjs/common/virtualFileSystem.js +0 -79
- package/dist/cjs/determineRuntimeVersion.js +0 -26
- package/dist/cjs/determineRuntimeVersion.test.js +0 -103
- package/dist/cjs/index.js +0 -13
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/test/fixtures/v1/basicHTML.js +0 -18
- package/dist/cjs/test/fixtures/v1/fetchProxy.js +0 -15
- package/dist/cjs/test/fixtures/v1/index.js +0 -15
- package/dist/cjs/test/fixtures/v1/jsScriptTag.js +0 -12
- package/dist/cjs/test/fixtures/v1/protocolTest.js +0 -18
- package/dist/cjs/test/fixtures/v1/styleTest.js +0 -18
- package/dist/cjs/test/fixtures/v1/xmlTest.js +0 -22
- package/dist/cjs/test/fixtures/v2/basicBundle.js +0 -8
- package/dist/cjs/test/fixtures/v2/basicBundleNoExtension.js +0 -8
- package/dist/cjs/test/fixtures/v2/d3Import.js +0 -10
- package/dist/cjs/test/fixtures/v2/d3ImportPkg.js +0 -22
- package/dist/cjs/test/fixtures/v2/d3RosettaImportPkg.js +0 -22
- package/dist/cjs/test/fixtures/v2/es6Preserve.js +0 -9
- package/dist/cjs/test/fixtures/v2/generatorSupport.js +0 -9
- package/dist/cjs/test/fixtures/v2/index.js +0 -45
- package/dist/cjs/test/fixtures/v2/jsxTranspile.js +0 -9
- package/dist/cjs/test/fixtures/v2/reactDomImport.js +0 -11
- package/dist/cjs/test/fixtures/v2/reactDomImportPkg.js +0 -27
- package/dist/cjs/test/fixtures/v2/reactImport.js +0 -10
- package/dist/cjs/test/fixtures/v2/reactImportPkg.js +0 -20
- package/dist/cjs/test/fixtures/v2/sourceMapErrorFixture.js +0 -22
- package/dist/cjs/test/fixtures/v2/unicodeSupport.js +0 -9
- package/dist/cjs/test/fixtures/v3/basicIndexJS.js +0 -10
- package/dist/cjs/test/fixtures/v3/cssImport.js +0 -12
- package/dist/cjs/test/fixtures/v3/csvImport.js +0 -14
- package/dist/cjs/test/fixtures/v3/csvStrangeChars.js +0 -15
- package/dist/cjs/test/fixtures/v3/index.js +0 -25
- package/dist/cjs/test/fixtures/v3/jsExport.js +0 -13
- package/dist/cjs/test/fixtures/v3/sourcemap.js +0 -13
- package/dist/cjs/test/fixtures/v3/svelte.js +0 -21
- package/dist/cjs/test/fixtures/v3/vizContent.js +0 -14
- package/dist/cjs/test/fixtures/v3/vizImport.js +0 -88
- package/dist/cjs/test/fixtures/v4/d3Usage.js +0 -34
- package/dist/cjs/test/fixtures/v4/esmBuild.js +0 -21
- package/dist/cjs/test/fixtures/v4/fetchInterception.js +0 -21
- package/dist/cjs/test/fixtures/v4/index.js +0 -21
- package/dist/cjs/test/fixtures/v4/jsScriptTagTypeModule.js +0 -21
- package/dist/cjs/test/fixtures/v4/jsScriptTagTypeModules.js +0 -15
- package/dist/cjs/test/fixtures/v4/reactHooks.js +0 -50
- package/dist/cjs/test/fixtures/v4/reactJsx.js +0 -37
- package/dist/cjs/test/fixtures/v4/threeJsUsage.js +0 -27
- package/dist/cjs/test/fixtures/v4/typeScriptSupport.js +0 -32
- package/dist/cjs/test/testInBrowser.js +0 -50
- package/dist/cjs/test/testStackTrace.js +0 -58
- package/dist/cjs/test/v1.test.js +0 -70
- package/dist/cjs/test/v2.test.js +0 -124
- package/dist/cjs/test/v3.test.js +0 -119
- package/dist/cjs/test/v4.test.js +0 -105
- package/dist/cjs/types.js +0 -2
- package/dist/cjs/utils/vizContentToFileCollection.js +0 -24
- package/dist/cjs/utils/vizContentToFileCollection.test.js +0 -77
- package/dist/cjs/v2/computeBundleJSV2.js +0 -33
- package/dist/cjs/v2/getComputedIndexHtml.js +0 -86
- package/dist/cjs/v2/getComputedIndexHtml.test.js +0 -136
- package/dist/cjs/v2/index.js +0 -5
- package/dist/cjs/v2/v2Build.js +0 -15
- package/dist/cjs/v3/cleanRollupErrorMessage.js +0 -13
- package/dist/cjs/v3/computeBundleJSV3.js +0 -52
- package/dist/cjs/v3/createVizContent.js +0 -27
- package/dist/cjs/v3/extractVizImport.js +0 -27
- package/dist/cjs/v3/extractVizImport.test.js +0 -32
- package/dist/cjs/v3/htmlTemplate.js +0 -93
- package/dist/cjs/v3/index.js +0 -5
- package/dist/cjs/v3/parseId.js +0 -9
- package/dist/cjs/v3/parseId.test.js +0 -27
- package/dist/cjs/v3/setupV3Runtime.js +0 -345
- package/dist/cjs/v3/slugCache.js +0 -39
- package/dist/cjs/v3/slugCache.test.js +0 -107
- package/dist/cjs/v3/transformDSV/dsvParseSrc.js +0 -124
- package/dist/cjs/v3/transformDSV/index.js +0 -44
- package/dist/cjs/v3/transformSvelte.js +0 -81
- package/dist/cjs/v3/types.js +0 -2
- package/dist/cjs/v3/v3Build.js +0 -34
- package/dist/cjs/v3/vizCache.js +0 -40
- package/dist/cjs/v3/vizCache.test.js +0 -100
- package/dist/cjs/v3/vizLoad.js +0 -50
- package/dist/cjs/v3/vizResolve.js +0 -73
- package/dist/cjs/v4/index.js +0 -138
- package/dist/common/packageJson.js +0 -71
- package/dist/common/packageJson.test.js +0 -146
- package/dist/common/sucrasePlugin.js +0 -24
- package/dist/common/virtualFileSystem.js +0 -75
- package/dist/determineRuntimeVersion.js +0 -22
- package/dist/determineRuntimeVersion.test.d.ts +0 -1
- package/dist/determineRuntimeVersion.test.js +0 -101
- package/dist/esm/buildHTML.js +0 -67
- package/dist/esm/common/packageJson.js +0 -71
- package/dist/esm/common/packageJson.test.js +0 -146
- package/dist/esm/common/sucrasePlugin.js +0 -24
- package/dist/esm/common/virtualFileSystem.js +0 -75
- package/dist/esm/determineRuntimeVersion.js +0 -22
- package/dist/esm/determineRuntimeVersion.test.js +0 -101
- package/dist/esm/index.js +0 -5
- package/dist/esm/test/fixtures/v1/basicHTML.js +0 -15
- package/dist/esm/test/fixtures/v1/fetchProxy.js +0 -12
- package/dist/esm/test/fixtures/v1/index.js +0 -6
- package/dist/esm/test/fixtures/v1/jsScriptTag.js +0 -9
- package/dist/esm/test/fixtures/v1/protocolTest.js +0 -15
- package/dist/esm/test/fixtures/v1/styleTest.js +0 -15
- package/dist/esm/test/fixtures/v1/xmlTest.js +0 -19
- package/dist/esm/test/fixtures/v2/basicBundle.js +0 -5
- package/dist/esm/test/fixtures/v2/basicBundleNoExtension.js +0 -5
- package/dist/esm/test/fixtures/v2/d3Import.js +0 -7
- package/dist/esm/test/fixtures/v2/d3ImportPkg.js +0 -19
- package/dist/esm/test/fixtures/v2/d3RosettaImportPkg.js +0 -19
- package/dist/esm/test/fixtures/v2/es6Preserve.js +0 -6
- package/dist/esm/test/fixtures/v2/generatorSupport.js +0 -6
- package/dist/esm/test/fixtures/v2/index.js +0 -15
- package/dist/esm/test/fixtures/v2/jsxTranspile.js +0 -6
- package/dist/esm/test/fixtures/v2/reactDomImport.js +0 -8
- package/dist/esm/test/fixtures/v2/reactDomImportPkg.js +0 -24
- package/dist/esm/test/fixtures/v2/reactImport.js +0 -7
- package/dist/esm/test/fixtures/v2/reactImportPkg.js +0 -17
- package/dist/esm/test/fixtures/v2/sourceMapErrorFixture.js +0 -19
- package/dist/esm/test/fixtures/v2/unicodeSupport.js +0 -6
- package/dist/esm/test/fixtures/v3/basicIndexJS.js +0 -7
- package/dist/esm/test/fixtures/v3/cssImport.js +0 -9
- package/dist/esm/test/fixtures/v3/csvImport.js +0 -11
- package/dist/esm/test/fixtures/v3/csvStrangeChars.js +0 -12
- package/dist/esm/test/fixtures/v3/index.js +0 -9
- package/dist/esm/test/fixtures/v3/jsExport.js +0 -10
- package/dist/esm/test/fixtures/v3/sourcemap.js +0 -10
- package/dist/esm/test/fixtures/v3/svelte.js +0 -18
- package/dist/esm/test/fixtures/v3/vizContent.js +0 -11
- package/dist/esm/test/fixtures/v3/vizImport.js +0 -85
- package/dist/esm/test/fixtures/v4/d3Usage.js +0 -31
- package/dist/esm/test/fixtures/v4/esmBuild.js +0 -18
- package/dist/esm/test/fixtures/v4/fetchInterception.js +0 -18
- package/dist/esm/test/fixtures/v4/index.js +0 -9
- package/dist/esm/test/fixtures/v4/jsScriptTagTypeModule.js +0 -18
- package/dist/esm/test/fixtures/v4/jsScriptTagTypeModules.js +0 -12
- package/dist/esm/test/fixtures/v4/reactHooks.js +0 -47
- package/dist/esm/test/fixtures/v4/reactJsx.js +0 -34
- package/dist/esm/test/fixtures/v4/threeJsUsage.js +0 -24
- package/dist/esm/test/fixtures/v4/typeScriptSupport.js +0 -29
- package/dist/esm/test/testInBrowser.js +0 -47
- package/dist/esm/test/testStackTrace.js +0 -55
- package/dist/esm/test/v1.test.js +0 -65
- package/dist/esm/test/v2.test.js +0 -121
- package/dist/esm/test/v3.test.js +0 -114
- package/dist/esm/test/v4.test.js +0 -100
- package/dist/esm/types.js +0 -1
- package/dist/esm/utils/vizContentToFileCollection.js +0 -20
- package/dist/esm/utils/vizContentToFileCollection.test.js +0 -75
- package/dist/esm/v2/computeBundleJSV2.js +0 -29
- package/dist/esm/v2/getComputedIndexHtml.js +0 -81
- package/dist/esm/v2/getComputedIndexHtml.test.js +0 -134
- package/dist/esm/v2/index.js +0 -1
- package/dist/esm/v2/v2Build.js +0 -11
- package/dist/esm/v3/cleanRollupErrorMessage.js +0 -9
- package/dist/esm/v3/computeBundleJSV3.js +0 -48
- package/dist/esm/v3/createVizContent.js +0 -23
- package/dist/esm/v3/extractVizImport.js +0 -23
- package/dist/esm/v3/extractVizImport.test.js +0 -30
- package/dist/esm/v3/htmlTemplate.js +0 -89
- package/dist/esm/v3/index.js +0 -1
- package/dist/esm/v3/parseId.js +0 -5
- package/dist/esm/v3/parseId.test.js +0 -25
- package/dist/esm/v3/setupV3Runtime.js +0 -341
- package/dist/esm/v3/slugCache.js +0 -35
- package/dist/esm/v3/slugCache.test.js +0 -105
- package/dist/esm/v3/transformDSV/dsvParseSrc.js +0 -121
- package/dist/esm/v3/transformDSV/index.js +0 -40
- package/dist/esm/v3/transformSvelte.js +0 -77
- package/dist/esm/v3/types.js +0 -1
- package/dist/esm/v3/v3Build.js +0 -30
- package/dist/esm/v3/vizCache.js +0 -36
- package/dist/esm/v3/vizCache.test.js +0 -98
- package/dist/esm/v3/vizLoad.js +0 -46
- package/dist/esm/v3/vizResolve.js +0 -69
- package/dist/esm/v4/index.js +0 -134
- package/dist/fixtures/basicHTML.d.ts +0 -2
- package/dist/fixtures/basicHTML.js +0 -22
- package/dist/fixtures/fetchProxy.d.ts +0 -2
- package/dist/fixtures/fetchProxy.js +0 -25
- package/dist/fixtures/index.d.ts +0 -3
- package/dist/fixtures/index.js +0 -9
- package/dist/fixtures/jsScriptTag.d.ts +0 -2
- package/dist/fixtures/jsScriptTag.js +0 -19
- package/dist/index.test.d.ts +0 -1
- package/dist/index.test.js +0 -50
- package/dist/magicSandbox/fixProtocollessUrls.d.ts +0 -4
- package/dist/magicSandbox/fixProtocollessUrls.js +0 -10
- package/dist/magicSandbox/generateInterceptorScript.d.ts +0 -4
- package/dist/magicSandbox/generateInterceptorScript.js +0 -178
- package/dist/magicSandbox/index.d.ts +0 -19
- package/dist/magicSandbox/index.js +0 -48
- package/dist/test/fixtures/basicHTML.d.ts +0 -2
- package/dist/test/fixtures/basicHTML.js +0 -19
- package/dist/test/fixtures/fetchProxy.d.ts +0 -2
- package/dist/test/fixtures/fetchProxy.js +0 -22
- package/dist/test/fixtures/index.d.ts +0 -6
- package/dist/test/fixtures/index.js +0 -6
- package/dist/test/fixtures/jsScriptTag.d.ts +0 -2
- package/dist/test/fixtures/jsScriptTag.js +0 -16
- package/dist/test/fixtures/magicSandbox/basicHTML.d.ts +0 -5
- package/dist/test/fixtures/magicSandbox/basicHTML.js +0 -17
- package/dist/test/fixtures/magicSandbox/fetchProxy.d.ts +0 -11
- package/dist/test/fixtures/magicSandbox/fetchProxy.js +0 -18
- package/dist/test/fixtures/magicSandbox/index.d.ts +0 -6
- package/dist/test/fixtures/magicSandbox/index.js +0 -6
- package/dist/test/fixtures/magicSandbox/jsScriptTag.d.ts +0 -8
- package/dist/test/fixtures/magicSandbox/jsScriptTag.js +0 -13
- package/dist/test/fixtures/magicSandbox/protocolTest.d.ts +0 -5
- package/dist/test/fixtures/magicSandbox/protocolTest.js +0 -17
- package/dist/test/fixtures/magicSandbox/styleTest.d.ts +0 -8
- package/dist/test/fixtures/magicSandbox/styleTest.js +0 -19
- package/dist/test/fixtures/magicSandbox/xmlTest.d.ts +0 -8
- package/dist/test/fixtures/magicSandbox/xmlTest.js +0 -23
- package/dist/test/fixtures/protocolTest.d.ts +0 -2
- package/dist/test/fixtures/protocolTest.js +0 -19
- package/dist/test/fixtures/styleTest.d.ts +0 -2
- package/dist/test/fixtures/styleTest.js +0 -22
- package/dist/test/fixtures/v1/basicHTML.js +0 -15
- package/dist/test/fixtures/v1/fetchProxy.js +0 -12
- package/dist/test/fixtures/v1/index.js +0 -6
- package/dist/test/fixtures/v1/jsScriptTag.js +0 -9
- package/dist/test/fixtures/v1/protocolTest.js +0 -15
- package/dist/test/fixtures/v1/styleTest.js +0 -15
- package/dist/test/fixtures/v1/xmlTest.js +0 -19
- package/dist/test/fixtures/v2/basicBundle.js +0 -5
- package/dist/test/fixtures/v2/basicBundleNoExtension.js +0 -5
- package/dist/test/fixtures/v2/d3Import.js +0 -7
- package/dist/test/fixtures/v2/d3ImportPkg.js +0 -19
- package/dist/test/fixtures/v2/d3RosettaImportPkg.js +0 -19
- package/dist/test/fixtures/v2/es6Preserve.js +0 -6
- package/dist/test/fixtures/v2/generatorSupport.js +0 -6
- package/dist/test/fixtures/v2/index.js +0 -15
- package/dist/test/fixtures/v2/jsxTranspile.js +0 -6
- package/dist/test/fixtures/v2/reactDomImport.js +0 -8
- package/dist/test/fixtures/v2/reactDomImportPkg.js +0 -24
- package/dist/test/fixtures/v2/reactImport.js +0 -7
- package/dist/test/fixtures/v2/reactImportPkg.js +0 -17
- package/dist/test/fixtures/v2/sourceMapErrorFixture.js +0 -19
- package/dist/test/fixtures/v2/unicodeSupport.js +0 -6
- package/dist/test/fixtures/v3/basicIndexJS.js +0 -7
- package/dist/test/fixtures/v3/cssImport.js +0 -9
- package/dist/test/fixtures/v3/csvImport.js +0 -11
- package/dist/test/fixtures/v3/csvStrangeChars.js +0 -12
- package/dist/test/fixtures/v3/index.js +0 -9
- package/dist/test/fixtures/v3/jsExport.js +0 -10
- package/dist/test/fixtures/v3/sourcemap.js +0 -10
- package/dist/test/fixtures/v3/svelte.js +0 -18
- package/dist/test/fixtures/v3/vizContent.js +0 -11
- package/dist/test/fixtures/v3/vizImport.js +0 -85
- package/dist/test/fixtures/v4/d3Usage.js +0 -31
- package/dist/test/fixtures/v4/esmBuild.js +0 -18
- package/dist/test/fixtures/v4/fetchInterception.js +0 -18
- package/dist/test/fixtures/v4/index.js +0 -9
- package/dist/test/fixtures/v4/jsScriptTagTypeModule.js +0 -18
- package/dist/test/fixtures/v4/jsScriptTagTypeModules.js +0 -12
- package/dist/test/fixtures/v4/reactHooks.js +0 -47
- package/dist/test/fixtures/v4/reactJsx.js +0 -34
- package/dist/test/fixtures/v4/threeJsUsage.js +0 -24
- package/dist/test/fixtures/v4/typeScriptSupport.js +0 -29
- package/dist/test/fixtures/xmlTest.d.ts +0 -2
- package/dist/test/fixtures/xmlTest.js +0 -26
- package/dist/test/index.test.d.ts +0 -1
- package/dist/test/index.test.js +0 -40
- package/dist/test/testInBrowser.js +0 -47
- package/dist/test/testStackTrace.js +0 -55
- package/dist/test/v1.test.js +0 -65
- package/dist/test/v2.test.js +0 -121
- package/dist/test/v3.test.js +0 -114
- package/dist/test/v4.test.js +0 -100
- package/dist/types/buildHTML.d.ts +0 -14
- package/dist/types/common/packageJson.d.ts +0 -39
- package/dist/types/common/packageJson.test.d.ts +0 -1
- package/dist/types/common/sucrasePlugin.d.ts +0 -2
- package/dist/types/common/virtualFileSystem.d.ts +0 -3
- package/dist/types/determineRuntimeVersion.d.ts +0 -3
- package/dist/types/determineRuntimeVersion.test.d.ts +0 -1
- package/dist/types/index.d.ts +0 -5
- package/dist/types/test/fixtures/v1/basicHTML.d.ts +0 -3
- package/dist/types/test/fixtures/v1/fetchProxy.d.ts +0 -5
- package/dist/types/test/fixtures/v1/index.d.ts +0 -6
- package/dist/types/test/fixtures/v1/jsScriptTag.d.ts +0 -4
- package/dist/types/test/fixtures/v1/protocolTest.d.ts +0 -3
- package/dist/types/test/fixtures/v1/styleTest.d.ts +0 -4
- package/dist/types/test/fixtures/v1/xmlTest.d.ts +0 -4
- package/dist/types/test/fixtures/v2/basicBundle.d.ts +0 -5
- package/dist/types/test/fixtures/v2/basicBundleNoExtension.d.ts +0 -5
- package/dist/types/test/fixtures/v2/d3Import.d.ts +0 -4
- package/dist/types/test/fixtures/v2/d3ImportPkg.d.ts +0 -5
- package/dist/types/test/fixtures/v2/d3RosettaImportPkg.d.ts +0 -5
- package/dist/types/test/fixtures/v2/es6Preserve.d.ts +0 -4
- package/dist/types/test/fixtures/v2/generatorSupport.d.ts +0 -4
- package/dist/types/test/fixtures/v2/index.d.ts +0 -14
- package/dist/types/test/fixtures/v2/jsxTranspile.d.ts +0 -4
- package/dist/types/test/fixtures/v2/reactDomImport.d.ts +0 -4
- package/dist/types/test/fixtures/v2/reactDomImportPkg.d.ts +0 -5
- package/dist/types/test/fixtures/v2/reactImport.d.ts +0 -4
- package/dist/types/test/fixtures/v2/reactImportPkg.d.ts +0 -5
- package/dist/types/test/fixtures/v2/sourceMapErrorFixture.d.ts +0 -5
- package/dist/types/test/fixtures/v2/unicodeSupport.d.ts +0 -4
- package/dist/types/test/fixtures/v3/basicIndexJS.d.ts +0 -3
- package/dist/types/test/fixtures/v3/cssImport.d.ts +0 -4
- package/dist/types/test/fixtures/v3/csvImport.d.ts +0 -4
- package/dist/types/test/fixtures/v3/csvStrangeChars.d.ts +0 -4
- package/dist/types/test/fixtures/v3/index.d.ts +0 -9
- package/dist/types/test/fixtures/v3/jsExport.d.ts +0 -4
- package/dist/types/test/fixtures/v3/sourcemap.d.ts +0 -3
- package/dist/types/test/fixtures/v3/svelte.d.ts +0 -4
- package/dist/types/test/fixtures/v3/vizContent.d.ts +0 -2
- package/dist/types/test/fixtures/v3/vizImport.d.ts +0 -6
- package/dist/types/test/fixtures/v4/d3Usage.d.ts +0 -5
- package/dist/types/test/fixtures/v4/esmBuild.d.ts +0 -5
- package/dist/types/test/fixtures/v4/fetchInterception.d.ts +0 -5
- package/dist/types/test/fixtures/v4/index.d.ts +0 -9
- package/dist/types/test/fixtures/v4/jsScriptTagTypeModule.d.ts +0 -4
- package/dist/types/test/fixtures/v4/jsScriptTagTypeModules.d.ts +0 -5
- package/dist/types/test/fixtures/v4/reactHooks.d.ts +0 -6
- package/dist/types/test/fixtures/v4/reactJsx.d.ts +0 -6
- package/dist/types/test/fixtures/v4/threeJsUsage.d.ts +0 -4
- package/dist/types/test/fixtures/v4/typeScriptSupport.d.ts +0 -5
- package/dist/types/test/testInBrowser.d.ts +0 -15
- package/dist/types/test/testStackTrace.d.ts +0 -9
- package/dist/types/test/v1.test.d.ts +0 -1
- package/dist/types/test/v2.test.d.ts +0 -1
- package/dist/types/test/v3.test.d.ts +0 -1
- package/dist/types/test/v4.test.d.ts +0 -1
- package/dist/types/types.d.ts +0 -1
- package/dist/types/utils/vizContentToFileCollection.d.ts +0 -8
- package/dist/types/utils/vizContentToFileCollection.test.d.ts +0 -1
- package/dist/types/v2/computeBundleJSV2.d.ts +0 -7
- package/dist/types/v2/getComputedIndexHtml.d.ts +0 -4
- package/dist/types/v2/getComputedIndexHtml.test.d.ts +0 -1
- package/dist/types/v2/index.d.ts +0 -1
- package/dist/types/v2/v2Build.d.ts +0 -7
- package/dist/types/v3/cleanRollupErrorMessage.d.ts +0 -4
- package/dist/types/v3/computeBundleJSV3.d.ts +0 -17
- package/dist/types/v3/createVizContent.d.ts +0 -8
- package/dist/types/v3/extractVizImport.d.ts +0 -6
- package/dist/types/v3/extractVizImport.test.d.ts +0 -1
- package/dist/types/v3/htmlTemplate.d.ts +0 -5
- package/dist/types/v3/index.d.ts +0 -1
- package/dist/types/v3/parseId.d.ts +0 -6
- package/dist/types/v3/parseId.test.d.ts +0 -1
- package/dist/types/v3/setupV3Runtime.d.ts +0 -15
- package/dist/types/v3/slugCache.d.ts +0 -11
- package/dist/types/v3/slugCache.test.d.ts +0 -1
- package/dist/types/v3/transformDSV/dsvParseSrc.d.ts +0 -1
- package/dist/types/v3/transformDSV/index.d.ts +0 -2
- package/dist/types/v3/transformSvelte.d.ts +0 -8
- package/dist/types/v3/types.d.ts +0 -65
- package/dist/types/v3/v3Build.d.ts +0 -14
- package/dist/types/v3/vizCache.d.ts +0 -10
- package/dist/types/v3/vizCache.test.d.ts +0 -1
- package/dist/types/v3/vizLoad.d.ts +0 -7
- package/dist/types/v3/vizResolve.d.ts +0 -7
- package/dist/types/v4/index.d.ts +0 -10
- package/dist/types.d.ts +0 -1
- package/dist/types.js +0 -1
- package/dist/utils/getFileText.d.ts +0 -2
- package/dist/utils/getFileText.js +0 -13
- package/dist/utils/getFileText.test.d.ts +0 -1
- package/dist/utils/getFileText.test.js +0 -72
- package/dist/utils/vizContentToFileCollection.d.ts +0 -7
- package/dist/utils/vizContentToFileCollection.js +0 -19
- package/dist/utils/vizContentToFileCollection.test.d.ts +0 -1
- package/dist/utils/vizContentToFileCollection.test.js +0 -75
- package/dist/v2/computeBundleJSV2.js +0 -29
- package/dist/v2/getComputedIndexHtml.js +0 -81
- package/dist/v2/getComputedIndexHtml.test.js +0 -134
- package/dist/v2/index.js +0 -1
- package/dist/v2/v2Build.js +0 -11
- package/dist/v3/cleanRollupErrorMessage.js +0 -9
- package/dist/v3/computeBundleJSV3.js +0 -48
- package/dist/v3/createVizContent.js +0 -23
- package/dist/v3/extractVizImport.js +0 -23
- package/dist/v3/extractVizImport.test.js +0 -30
- package/dist/v3/htmlTemplate.js +0 -89
- package/dist/v3/index.js +0 -1
- package/dist/v3/parseId.js +0 -5
- package/dist/v3/parseId.test.js +0 -25
- package/dist/v3/setupV3Runtime.js +0 -341
- package/dist/v3/slugCache.js +0 -35
- package/dist/v3/slugCache.test.js +0 -105
- package/dist/v3/transformDSV/dsvParseSrc.js +0 -121
- package/dist/v3/transformDSV/index.js +0 -40
- package/dist/v3/transformSvelte.js +0 -77
- package/dist/v3/types.js +0 -1
- package/dist/v3/v3Build.js +0 -30
- package/dist/v3/vizCache.js +0 -36
- package/dist/v3/vizCache.test.js +0 -98
- package/dist/v3/vizLoad.js +0 -46
- package/dist/v3/vizResolve.js +0 -69
- 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
|
+
"version": "0.5.0",
|
4
4
|
"description": "Flexible runtime environment for data visualization sandboxes",
|
5
5
|
"type": "module",
|
6
|
-
"main": "./dist/
|
7
|
-
"module": "./dist/
|
8
|
-
"types": "./dist/
|
6
|
+
"main": "./dist/index.cjs",
|
7
|
+
"module": "./dist/index.js",
|
8
|
+
"types": "./dist/index.d.ts",
|
9
9
|
"exports": {
|
10
10
|
".": {
|
11
|
-
"
|
12
|
-
"
|
13
|
-
"
|
14
|
-
|
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": "
|
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
|
-
"
|
54
|
+
"@rollup/browser": "^4.39.0",
|
51
55
|
"@vizhub/viz-types": "^0.1.0",
|
52
|
-
"@vizhub/viz-utils": "^0.1
|
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
|
-
};
|