@absolutejs/absolute 0.19.0-beta.1043 → 0.19.0-beta.1044
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/dist/angular/browser.js +10358 -0
- package/dist/angular/browser.js.map +260 -0
- package/dist/angular/components/constants.js +101 -0
- package/dist/angular/components/core/streamingSlotRegistrar.js +58 -0
- package/dist/angular/components/core/streamingSlotRegistry.js +114 -0
- package/dist/angular/components/defer-slot-payload.js +6 -0
- package/dist/angular/components/defer-slot-templates.directive.js +44 -0
- package/dist/angular/components/defer-slot.component.js +152 -0
- package/dist/angular/components/image.component.js +202 -0
- package/dist/angular/components/index.js +4 -0
- package/dist/angular/components/stream-slot.component.js +102 -0
- package/dist/angular/hmrPreserveCore.ts +188 -0
- package/dist/angular/index.js +15793 -0
- package/dist/angular/index.js.map +299 -0
- package/dist/angular/server.js +6357 -0
- package/dist/angular/server.js.map +61 -0
- package/dist/build.js +27484 -0
- package/dist/build.js.map +146 -0
- package/dist/cli/config/client.js +527 -0
- package/dist/cli/config/server.js +37130 -0
- package/dist/cli/htmx/htmx.min.js +1 -0
- package/dist/cli/index.js +180130 -0
- package/dist/client/index.js +1267 -0
- package/dist/client/index.js.map +31 -0
- package/dist/core/streamingSlotRegistrar.js +138 -0
- package/dist/core/streamingSlotRegistrar.js.map +10 -0
- package/dist/core/streamingSlotRegistry.js +194 -0
- package/dist/core/streamingSlotRegistry.js.map +11 -0
- package/dist/dev/client/constants.ts +26 -0
- package/dist/dev/client/cssUtils.ts +311 -0
- package/dist/dev/client/domDiff.ts +226 -0
- package/dist/dev/client/domState.ts +423 -0
- package/dist/dev/client/domTracker.ts +61 -0
- package/dist/dev/client/errorOverlay.ts +445 -0
- package/dist/dev/client/frameworkDetect.ts +63 -0
- package/dist/dev/client/handlers/angularHmrShim.ts +88 -0
- package/dist/dev/client/handlers/angularRemount.ts +362 -0
- package/dist/dev/client/handlers/angularRemountWiring.ts +52 -0
- package/dist/dev/client/handlers/html.ts +364 -0
- package/dist/dev/client/handlers/htmx.ts +278 -0
- package/dist/dev/client/handlers/react.ts +108 -0
- package/dist/dev/client/handlers/rebuild.ts +153 -0
- package/dist/dev/client/handlers/svelte.ts +334 -0
- package/dist/dev/client/handlers/vue.ts +292 -0
- package/dist/dev/client/headPatch.ts +233 -0
- package/dist/dev/client/hmrClient.ts +352 -0
- package/dist/dev/client/hmrState.ts +14 -0
- package/dist/dev/client/hmrToast.ts +150 -0
- package/dist/dev/client/moduleVersions.ts +62 -0
- package/dist/dev/client/reactRefreshSetup.ts +31 -0
- package/dist/dev/client/vendor/lview/lViewOps.ts +196 -0
- package/dist/dev/client/vendor/lview/slotConstants.ts +44 -0
- package/dist/dev/client/vendor/reactRefreshRuntime.d.ts +12 -0
- package/dist/dev/client/vendor/reactRefreshRuntime.js +313 -0
- package/dist/image-client/imageClient.js +69 -0
- package/dist/index.js +36383 -0
- package/dist/index.js.map +320 -0
- package/dist/islands/browser.js +259 -0
- package/dist/islands/browser.js.map +15 -0
- package/dist/islands/index.js +2415 -0
- package/dist/islands/index.js.map +37 -0
- package/dist/react/browser.js +374 -0
- package/dist/react/browser.js.map +19 -0
- package/dist/react/components/browser/index.js +467 -0
- package/dist/react/components/index.js +684 -0
- package/dist/react/components/index.js.map +18 -0
- package/dist/react/hooks/index.js +285 -0
- package/dist/react/hooks/index.js.map +14 -0
- package/dist/react/index.js +4258 -0
- package/dist/react/index.js.map +56 -0
- package/dist/react/jsxDevRuntimeCompat.js +90 -0
- package/dist/react/jsxDevRuntimeCompat.js.map +10 -0
- package/dist/react/router/browser.js +95 -0
- package/dist/react/router/browser.js.map +10 -0
- package/dist/react/router/index.js +95 -0
- package/dist/react/router/index.js.map +10 -0
- package/dist/react/server.js +1895 -0
- package/dist/react/server.js.map +26 -0
- package/dist/src/angular/Island.browser.d.ts +34 -0
- package/dist/src/angular/Island.d.ts +29 -0
- package/dist/src/angular/angularDeps.d.ts +2 -0
- package/dist/src/angular/angularPatch.d.ts +1 -0
- package/dist/src/angular/animationProviders.d.ts +2 -0
- package/dist/src/angular/browser.d.ts +14 -0
- package/dist/src/angular/components/constants.d.ts +96 -0
- package/dist/src/angular/components/defer-slot-payload.d.ts +7 -0
- package/dist/src/angular/components/defer-slot-templates.directive.d.ts +21 -0
- package/dist/src/angular/components/defer-slot.component.d.ts +29 -0
- package/dist/src/angular/components/image.component.d.ts +42 -0
- package/dist/src/angular/components/index.d.ts +4 -0
- package/dist/src/angular/components/stream-slot.component.d.ts +20 -0
- package/dist/src/angular/composables/index.d.ts +6 -0
- package/dist/src/angular/composables/usePageContext.d.ts +16 -0
- package/dist/src/angular/composables/useResource.d.ts +57 -0
- package/dist/src/angular/composables/useSubscription.d.ts +33 -0
- package/dist/src/angular/composables/useTimers.d.ts +18 -0
- package/dist/src/angular/createIsland.browser.d.ts +2 -0
- package/dist/src/angular/createIsland.d.ts +2 -0
- package/dist/src/angular/deterministicEnv.d.ts +26 -0
- package/dist/src/angular/hmrPreserveCore.d.ts +21 -0
- package/dist/src/angular/httpTransferCache.d.ts +12 -0
- package/dist/src/angular/index.d.ts +14 -0
- package/dist/src/angular/injectorPatch.d.ts +1 -0
- package/dist/src/angular/islandStore.d.ts +9 -0
- package/dist/src/angular/islands.d.ts +4 -0
- package/dist/src/angular/lowerDeferSyntax.d.ts +18 -0
- package/dist/src/angular/lowerServerIslands.d.ts +1 -0
- package/dist/src/angular/pageHandler.d.ts +48 -0
- package/dist/src/angular/pendingTask.d.ts +1 -0
- package/dist/src/angular/preserveAcrossHmr.d.ts +12 -0
- package/dist/src/angular/renderIsland.d.ts +2 -0
- package/dist/src/angular/requestProviders.d.ts +5 -0
- package/dist/src/angular/resolveAngularPackage.d.ts +19 -0
- package/dist/src/angular/routerRedirectProviders.d.ts +6 -0
- package/dist/src/angular/server.d.ts +4 -0
- package/dist/src/angular/ssrRender.d.ts +13 -0
- package/dist/src/angular/ssrSanitizer.d.ts +3 -0
- package/dist/src/angular/staticAnalyzeSpaRoutes.d.ts +7 -0
- package/dist/src/build/angularLinkerPlugin.d.ts +29 -0
- package/dist/src/build/buildAngularVendor.d.ts +40 -0
- package/dist/src/build/buildDepVendor.d.ts +2 -0
- package/dist/src/build/buildEmberVendor.d.ts +24 -0
- package/dist/src/build/buildReactVendor.d.ts +8 -0
- package/dist/src/build/buildSvelteVendor.d.ts +6 -0
- package/dist/src/build/buildVueVendor.d.ts +6 -0
- package/dist/src/build/chainInlineSourcemaps.d.ts +13 -0
- package/dist/src/build/compileAngular.d.ts +40 -0
- package/dist/src/build/compileEmber.d.ts +43 -0
- package/dist/src/build/compileSvelte.d.ts +14 -0
- package/dist/src/build/compileTailwind.d.ts +5 -0
- package/dist/src/build/compileVue.d.ts +22 -0
- package/dist/src/build/externalAssetPlugin.d.ts +2 -0
- package/dist/src/build/generateManifest.d.ts +2 -0
- package/dist/src/build/generateReactIndexes.d.ts +2 -0
- package/dist/src/build/htmlScriptHMRPlugin.d.ts +13 -0
- package/dist/src/build/index.d.ts +2 -0
- package/dist/src/build/islandEntries.d.ts +32 -0
- package/dist/src/build/islandRegistryTransform.d.ts +17 -0
- package/dist/src/build/nativeRewrite.d.ts +5 -0
- package/dist/src/build/optimizeHtmlImages.d.ts +2 -0
- package/dist/src/build/outputLogs.d.ts +1 -0
- package/dist/src/build/parseAngularConfigImports.d.ts +9 -0
- package/dist/src/build/parseVueSpaRoutes.d.ts +20 -0
- package/dist/src/build/resolvePackageImport.d.ts +9 -0
- package/dist/src/build/rewriteImports.d.ts +8 -0
- package/dist/src/build/rewriteImportsPlugin.d.ts +48 -0
- package/dist/src/build/rewriteReactImports.d.ts +7 -0
- package/dist/src/build/runAngularHandlerScan.d.ts +7 -0
- package/dist/src/build/scanAngularHandlerCalls.d.ts +13 -0
- package/dist/src/build/scanAngularPageRoutes.d.ts +10 -0
- package/dist/src/build/scanConventions.d.ts +5 -0
- package/dist/src/build/scanCssEntryPoints.d.ts +1 -0
- package/dist/src/build/scanEntryPoints.d.ts +1 -0
- package/dist/src/build/scanRouteRegistrations.d.ts +23 -0
- package/dist/src/build/scanVueSsrOnlyPages.d.ts +6 -0
- package/dist/src/build/staticIslandPages.d.ts +9 -0
- package/dist/src/build/stylePreprocessor.d.ts +26 -0
- package/dist/src/build/tailwindCompiler.d.ts +8 -0
- package/dist/src/build/updateAssetPaths.d.ts +1 -0
- package/dist/src/build/vendorEntrySource.d.ts +1 -0
- package/dist/src/build/verifyAngularCoreUniqueness.d.ts +2 -0
- package/dist/src/build/vueAutoRouterTransform.d.ts +1 -0
- package/dist/src/build/wrapHTMLScript.d.ts +17 -0
- package/dist/src/build.d.ts +2 -0
- package/dist/src/cli/add/dependencies.d.ts +12 -0
- package/dist/src/cli/cache.d.ts +15 -0
- package/dist/src/cli/config/absolute/AbsoluteConfigPanel.d.ts +6 -0
- package/dist/src/cli/config/absolute/editAbsoluteConfig.d.ts +5 -0
- package/dist/src/cli/config/absolute/resolveAbsoluteConfig.d.ts +14 -0
- package/dist/src/cli/config/client.d.ts +1 -0
- package/dist/src/cli/config/configCert.d.ts +12 -0
- package/dist/src/cli/config/eslint/EslintPanel.d.ts +6 -0
- package/dist/src/cli/config/eslint/configAst.d.ts +18 -0
- package/dist/src/cli/config/eslint/editConfigRule.d.ts +6 -0
- package/dist/src/cli/config/eslint/eslintStyles.d.ts +1 -0
- package/dist/src/cli/config/eslint/resolveConfig.d.ts +3 -0
- package/dist/src/cli/config/eslint/serializeValue.d.ts +9 -0
- package/dist/src/cli/config/guards.d.ts +4 -0
- package/dist/src/cli/config/packageJson/PackageJsonPanel.d.ts +6 -0
- package/dist/src/cli/config/packageJson/editPackageJson.d.ts +9 -0
- package/dist/src/cli/config/packageJson/resolvePackageJson.d.ts +9 -0
- package/dist/src/cli/config/page/ConfigShell.d.ts +6 -0
- package/dist/src/cli/config/page/FieldEditor.d.ts +9 -0
- package/dist/src/cli/config/page/PanelHost.d.ts +6 -0
- package/dist/src/cli/config/page/configStyles.d.ts +1 -0
- package/dist/src/cli/config/panels.d.ts +7 -0
- package/dist/src/cli/config/prettier/PrettierPanel.d.ts +6 -0
- package/dist/src/cli/config/prettier/editPrettier.d.ts +5 -0
- package/dist/src/cli/config/prettier/resolvePrettier.d.ts +11 -0
- package/dist/src/cli/config/schema/fromJsonSchema.d.ts +3 -0
- package/dist/src/cli/config/schema/fromType.d.ts +2 -0
- package/dist/src/cli/config/schema/serialize.d.ts +1 -0
- package/dist/src/cli/config/server.d.ts +298 -0
- package/dist/src/cli/config/tsconfig/TsconfigPanel.d.ts +6 -0
- package/dist/src/cli/config/tsconfig/editTsconfig.d.ts +5 -0
- package/dist/src/cli/config/tsconfig/resolveTsconfig.d.ts +8 -0
- package/dist/src/cli/config/tsconfig/tsconfigStyles.d.ts +1 -0
- package/dist/src/cli/discoverInstances.d.ts +5 -0
- package/dist/src/cli/generate/componentTemplates.d.ts +7 -0
- package/dist/src/cli/generate/context.d.ts +30 -0
- package/dist/src/cli/generate/cssStrategy.d.ts +20 -0
- package/dist/src/cli/generate/frameworkKey.d.ts +3 -0
- package/dist/src/cli/generate/frameworks.d.ts +40 -0
- package/dist/src/cli/generate/generateApi.d.ts +3 -0
- package/dist/src/cli/generate/generateComponent.d.ts +4 -0
- package/dist/src/cli/generate/generatePage.d.ts +4 -0
- package/dist/src/cli/generate/naming.d.ts +5 -0
- package/dist/src/cli/generate/navData.d.ts +10 -0
- package/dist/src/cli/generate/outcome.d.ts +17 -0
- package/dist/src/cli/generate/pageTemplates.d.ts +11 -0
- package/dist/src/cli/generate/routeWiring.d.ts +40 -0
- package/dist/src/cli/generate/staticNav.d.ts +5 -0
- package/dist/src/cli/heapDiff.d.ts +1 -0
- package/dist/src/cli/htmx/install.d.ts +6 -0
- package/dist/src/cli/index.d.ts +2 -0
- package/dist/src/cli/inspectData.d.ts +12 -0
- package/dist/src/cli/inspectTui.d.ts +1 -0
- package/dist/src/cli/instanceStatus.d.ts +22 -0
- package/dist/src/cli/interactive.d.ts +2 -0
- package/dist/src/cli/psTui.d.ts +1 -0
- package/dist/src/cli/scripts/add.d.ts +1 -0
- package/dist/src/cli/scripts/analyze.d.ts +1 -0
- package/dist/src/cli/scripts/api.d.ts +1 -0
- package/dist/src/cli/scripts/build.d.ts +1 -0
- package/dist/src/cli/scripts/compile.d.ts +2 -0
- package/dist/src/cli/scripts/dev.d.ts +1 -0
- package/dist/src/cli/scripts/doctor.d.ts +1 -0
- package/dist/src/cli/scripts/env.d.ts +7 -0
- package/dist/src/cli/scripts/eslint.d.ts +16 -0
- package/dist/src/cli/scripts/generate.d.ts +1 -0
- package/dist/src/cli/scripts/htmx.d.ts +1 -0
- package/dist/src/cli/scripts/info.d.ts +1 -0
- package/dist/src/cli/scripts/inspect.d.ts +1 -0
- package/dist/src/cli/scripts/islands.d.ts +1 -0
- package/dist/src/cli/scripts/logs.d.ts +1 -0
- package/dist/src/cli/scripts/ls.d.ts +1 -0
- package/dist/src/cli/scripts/mem.d.ts +1 -0
- package/dist/src/cli/scripts/prettier.d.ts +3 -0
- package/dist/src/cli/scripts/ps.d.ts +1 -0
- package/dist/src/cli/scripts/remove.d.ts +1 -0
- package/dist/src/cli/scripts/routes.d.ts +1 -0
- package/dist/src/cli/scripts/start.d.ts +1 -0
- package/dist/src/cli/scripts/telemetry.d.ts +5 -0
- package/dist/src/cli/scripts/tunnelRelay.d.ts +9 -0
- package/dist/src/cli/scripts/typecheck.d.ts +1 -0
- package/dist/src/cli/scripts/workspace.d.ts +11 -0
- package/dist/src/cli/telemetryEvent.d.ts +1 -0
- package/dist/src/cli/tuiPrimitives.d.ts +14 -0
- package/dist/src/cli/utils.d.ts +15 -0
- package/dist/src/cli/workspaceTui.d.ts +44 -0
- package/dist/src/client/hydrators/react.d.ts +3 -0
- package/dist/src/client/hydrators/svelte.d.ts +2 -0
- package/dist/src/client/hydrators/vue.d.ts +2 -0
- package/dist/src/client/index.d.ts +4 -0
- package/dist/src/client/islandResolver.d.ts +2 -0
- package/dist/src/client/islandRuntime.d.ts +9 -0
- package/dist/src/client/islandStore.d.ts +22 -0
- package/dist/src/client/preserveIslandMarkup.d.ts +16 -0
- package/dist/src/client/streamSwap.d.ts +1 -0
- package/dist/src/constants.d.ts +96 -0
- package/dist/src/core/angularServerModule.d.ts +1 -0
- package/dist/src/core/build.d.ts +14 -0
- package/dist/src/core/currentIslandRegistry.d.ts +7 -0
- package/dist/src/core/devBuild.d.ts +23 -0
- package/dist/src/core/devRouteRegistrationCallsite.d.ts +4 -0
- package/dist/src/core/devVendorPaths.d.ts +17 -0
- package/dist/src/core/index.d.ts +7 -0
- package/dist/src/core/islandManifest.d.ts +3 -0
- package/dist/src/core/islandMarkupAttributes.d.ts +12 -0
- package/dist/src/core/islandPageContext.d.ts +12 -0
- package/dist/src/core/islandSsr.d.ts +6 -0
- package/dist/src/core/islands.d.ts +16 -0
- package/dist/src/core/loadIslandRegistry.d.ts +1 -0
- package/dist/src/core/lookup.d.ts +1 -0
- package/dist/src/core/normalizeIslandProps.d.ts +15 -0
- package/dist/src/core/pageHandlers.d.ts +5 -0
- package/dist/src/core/prepare.d.ts +417 -0
- package/dist/src/core/prerender.d.ts +31 -0
- package/dist/src/core/renderIslandMarkup.d.ts +13 -0
- package/dist/src/core/responseEnhancers.d.ts +10 -0
- package/dist/src/core/staticStreaming.d.ts +25 -0
- package/dist/src/core/streamingSlotRegistrar.d.ts +16 -0
- package/dist/src/core/streamingSlotRegistry.d.ts +2 -0
- package/dist/src/core/streamingSlotWarningScope.d.ts +4 -0
- package/dist/src/core/svelteServerModule.d.ts +1 -0
- package/dist/src/core/vueServerModule.d.ts +1 -0
- package/dist/src/core/wrapPageHandlerWithStreamingSlots.d.ts +2 -0
- package/dist/src/dev/angular/fastHmrCompiler.d.ts +58 -0
- package/dist/src/dev/angular/hmrCompiler.d.ts +2 -0
- package/dist/src/dev/angular/hmrImportGenerator.d.ts +3 -0
- package/dist/src/dev/angular/hmrInjectionPlugin.d.ts +8 -0
- package/dist/src/dev/angular/resolveOwningComponents.d.ts +16 -0
- package/dist/src/dev/angular/vendor/translator/api/ast_factory.d.ts +363 -0
- package/dist/src/dev/angular/vendor/translator/api/import_generator.d.ts +49 -0
- package/dist/src/dev/angular/vendor/translator/context.d.ts +18 -0
- package/dist/src/dev/angular/vendor/translator/translator.d.ts +75 -0
- package/dist/src/dev/angular/vendor/translator/ts_util.d.ts +12 -0
- package/dist/src/dev/angular/vendor/translator/typescript_ast_factory.d.ts +66 -0
- package/dist/src/dev/angular/vendor/translator/typescript_translator.d.ts +13 -0
- package/dist/src/dev/assetStore.d.ts +8 -0
- package/dist/src/dev/buildHMRClient.d.ts +1 -0
- package/dist/src/dev/clientManager.d.ts +33 -0
- package/dist/src/dev/configResolver.d.ts +16 -0
- package/dist/src/dev/dependencyGraph.d.ts +10 -0
- package/dist/src/dev/devCert.d.ts +11 -0
- package/dist/src/dev/fileHashTracker.d.ts +2 -0
- package/dist/src/dev/fileWatcher.d.ts +4 -0
- package/dist/src/dev/moduleMapper.d.ts +27 -0
- package/dist/src/dev/moduleServer.d.ts +24 -0
- package/dist/src/dev/moduleVersionTracker.d.ts +7 -0
- package/dist/src/dev/pathUtils.d.ts +8 -0
- package/dist/src/dev/reactComponentClassifier.d.ts +2 -0
- package/dist/src/dev/rebuildTrigger.d.ts +11 -0
- package/dist/src/dev/requestInspector.d.ts +43 -0
- package/dist/src/dev/serverEntryWatcher.d.ts +5 -0
- package/dist/src/dev/simpleHTMLHMR.d.ts +4 -0
- package/dist/src/dev/simpleHTMXHMR.d.ts +4 -0
- package/dist/src/dev/transformCache.d.ts +22 -0
- package/dist/src/dev/tunnel/client.d.ts +20 -0
- package/dist/src/dev/tunnel/protocol.d.ts +85 -0
- package/dist/src/dev/tunnel/relay.d.ts +28 -0
- package/dist/src/dev/webSocket.d.ts +9 -0
- package/dist/src/ember/browser.d.ts +24 -0
- package/dist/src/ember/index.d.ts +2 -0
- package/dist/src/ember/pageHandler.d.ts +35 -0
- package/dist/src/ember/server.d.ts +2 -0
- package/dist/src/index.d.ts +7 -0
- package/dist/src/islands/browser.d.ts +3 -0
- package/dist/src/islands/index.d.ts +3 -0
- package/dist/src/islands/pageMetadata.d.ts +13 -0
- package/dist/src/islands/sourceMetadata.d.ts +10 -0
- package/dist/src/plugins/devtoolsJson.d.ts +58 -0
- package/dist/src/plugins/hmr.d.ts +163 -0
- package/dist/src/plugins/imageOptimizer.d.ts +67 -0
- package/dist/src/plugins/index.d.ts +3 -0
- package/dist/src/plugins/networking.d.ts +2 -0
- package/dist/src/plugins/pageRouter.d.ts +1 -0
- package/dist/src/react/Island.browser.d.ts +2 -0
- package/dist/src/react/Island.d.ts +2 -0
- package/dist/src/react/bridgeInternals.d.ts +1 -0
- package/dist/src/react/browser.d.ts +3 -0
- package/dist/src/react/components/Head.d.ts +2 -0
- package/dist/src/react/components/Image.d.ts +2 -0
- package/dist/src/react/components/JsonLd.d.ts +4 -0
- package/dist/src/react/components/StreamSlot.browser.d.ts +10 -0
- package/dist/src/react/components/StreamSlot.d.ts +10 -0
- package/dist/src/react/components/SuspenseSlot.browser.d.ts +22 -0
- package/dist/src/react/components/SuspenseSlot.d.ts +37 -0
- package/dist/src/react/components/browser/index.d.ts +5 -0
- package/dist/src/react/components/index.d.ts +5 -0
- package/dist/src/react/createIsland.browser.d.ts +2 -0
- package/dist/src/react/createIsland.d.ts +2 -0
- package/dist/src/react/hooks/index.d.ts +3 -0
- package/dist/src/react/hooks/useIslandStore.d.ts +3 -0
- package/dist/src/react/hooks/useMediaQuery.d.ts +7 -0
- package/dist/src/react/index.d.ts +4 -0
- package/dist/src/react/jsxDevRuntimeCompat.d.ts +8 -0
- package/dist/src/react/pageHandler.d.ts +25 -0
- package/dist/src/react/router/UniversalRouter.d.ts +43 -0
- package/dist/src/react/router/browser.d.ts +2 -0
- package/dist/src/react/router/index.d.ts +2 -0
- package/dist/src/react/server.d.ts +1 -0
- package/dist/src/react/staticAnalyzeSpaRoutes.d.ts +7 -0
- package/dist/src/svelte/browser.d.ts +4 -0
- package/dist/src/svelte/createIsland.browser.d.ts +2 -0
- package/dist/src/svelte/createIsland.d.ts +2 -0
- package/dist/src/svelte/index.d.ts +6 -0
- package/dist/src/svelte/islandStore.d.ts +5 -0
- package/dist/src/svelte/lowerAwaitSlotSyntax.d.ts +4 -0
- package/dist/src/svelte/lowerIslandSyntax.d.ts +4 -0
- package/dist/src/svelte/pageHandler.d.ts +28 -0
- package/dist/src/svelte/renderIsland.d.ts +2 -0
- package/dist/src/svelte/renderToPipeableStream.d.ts +12 -0
- package/dist/src/svelte/renderToReadableStream.d.ts +14 -0
- package/dist/src/svelte/renderToString.d.ts +9 -0
- package/dist/src/svelte/resolveIslandHtml.browser.d.ts +2 -0
- package/dist/src/svelte/resolveIslandHtml.d.ts +2 -0
- package/dist/src/svelte/router/browser.d.ts +4 -0
- package/dist/src/svelte/router/goto.d.ts +15 -0
- package/dist/src/svelte/router/hashMode.d.ts +16 -0
- package/dist/src/svelte/router/index.d.ts +4 -0
- package/dist/src/svelte/router/matchPath.d.ts +30 -0
- package/dist/src/svelte/router/page.svelte.d.ts +15 -0
- package/dist/src/svelte/router/prefetchCache.d.ts +17 -0
- package/dist/src/svelte/router/pushState.d.ts +13 -0
- package/dist/src/svelte/router/viewTransitions.d.ts +6 -0
- package/dist/src/svelte/server.d.ts +1 -0
- package/dist/src/svelte/staticAnalyzeSpaRoutes.d.ts +7 -0
- package/dist/src/utils/buildDirectoryLock.d.ts +28 -0
- package/dist/src/utils/cleanStaleOutputs.d.ts +1 -0
- package/dist/src/utils/cleanup.d.ts +9 -0
- package/dist/src/utils/commonAncestor.d.ts +1 -0
- package/dist/src/utils/defineConfig.d.ts +39 -0
- package/dist/src/utils/defineConvention.d.ts +3 -0
- package/dist/src/utils/defineEnv.d.ts +10 -0
- package/dist/src/utils/escapeScriptContent.d.ts +1 -0
- package/dist/src/utils/formatBytes.d.ts +2 -0
- package/dist/src/utils/generateHeadElement.d.ts +4 -0
- package/dist/src/utils/generateSitemap.d.ts +21 -0
- package/dist/src/utils/generatedDir.d.ts +3 -0
- package/dist/src/utils/getDurationString.d.ts +1 -0
- package/dist/src/utils/getEnv.d.ts +1 -0
- package/dist/src/utils/imageClient.d.ts +13 -0
- package/dist/src/utils/imageProcessing.d.ts +33 -0
- package/dist/src/utils/index.d.ts +11 -0
- package/dist/src/utils/inlinePageCss.d.ts +2 -0
- package/dist/src/utils/instanceRegistry.d.ts +13 -0
- package/dist/src/utils/jsonLd.d.ts +3 -0
- package/dist/src/utils/loadConfig.d.ts +55 -0
- package/dist/src/utils/logger.d.ts +56 -0
- package/dist/src/utils/networking.d.ts +2 -0
- package/dist/src/utils/normalizePath.d.ts +9 -0
- package/dist/src/utils/portScan.d.ts +22 -0
- package/dist/src/utils/projectRoot.d.ts +17 -0
- package/dist/src/utils/registerClientScript.d.ts +36 -0
- package/dist/src/utils/resolveConvention.d.ts +10 -0
- package/dist/src/utils/resolveDevPort.d.ts +24 -0
- package/dist/src/utils/runtimeMode.d.ts +3 -0
- package/dist/src/utils/spaRouteCss.d.ts +4 -0
- package/dist/src/utils/spaRouteTypes.d.ts +25 -0
- package/dist/src/utils/ssrErrorPage.d.ts +1 -0
- package/dist/src/utils/startupBanner.d.ts +10 -0
- package/dist/src/utils/startupTimings.d.ts +7 -0
- package/dist/src/utils/streamingSlotMetricSink.d.ts +18 -0
- package/dist/src/utils/streamingSlots.d.ts +76 -0
- package/dist/src/utils/stringModifiers.d.ts +3 -0
- package/dist/src/utils/userAgentFunctions.d.ts +1 -0
- package/dist/src/utils/validateSafePath.d.ts +1 -0
- package/dist/src/vue/Island.browser.d.ts +37 -0
- package/dist/src/vue/Island.d.ts +36 -0
- package/dist/src/vue/browser.d.ts +6 -0
- package/dist/src/vue/components/Image.d.ts +74 -0
- package/dist/src/vue/components/StreamSlot.d.ts +22 -0
- package/dist/src/vue/components/SuspenseSlot.d.ts +26 -0
- package/dist/src/vue/components/index.d.ts +3 -0
- package/dist/src/vue/createIsland.browser.d.ts +13 -0
- package/dist/src/vue/createIsland.d.ts +13 -0
- package/dist/src/vue/defineVuePage.d.ts +6 -0
- package/dist/src/vue/index.d.ts +9 -0
- package/dist/src/vue/pageHandler.d.ts +45 -0
- package/dist/src/vue/routerRedirectProviders.d.ts +45 -0
- package/dist/src/vue/server.d.ts +2 -0
- package/dist/src/vue/staticAnalyzeSpaRoutes.d.ts +7 -0
- package/dist/src/vue/useIslandStore.d.ts +3 -0
- package/dist/svelte/browser.js +309 -0
- package/dist/svelte/browser.js.map +19 -0
- package/dist/svelte/components/AwaitSlot.svelte +39 -0
- package/dist/svelte/components/AwaitSlot.svelte.d.ts +2 -0
- package/dist/svelte/components/Head.svelte +144 -0
- package/dist/svelte/components/Head.svelte.d.ts +2 -0
- package/dist/svelte/components/Image.svelte +164 -0
- package/dist/svelte/components/Image.svelte.d.ts +5 -0
- package/dist/svelte/components/Island.svelte +71 -0
- package/dist/svelte/components/Island.svelte.d.ts +5 -0
- package/dist/svelte/components/JsonLd.svelte +21 -0
- package/dist/svelte/components/JsonLd.svelte.d.ts +2 -0
- package/dist/svelte/components/StreamSlot.svelte +41 -0
- package/dist/svelte/components/StreamSlot.svelte.d.ts +2 -0
- package/dist/svelte/index.js +4371 -0
- package/dist/svelte/index.js.map +60 -0
- package/dist/svelte/router/Link.svelte +124 -0
- package/dist/svelte/router/Link.svelte.d.ts +21 -0
- package/dist/svelte/router/Route.svelte +54 -0
- package/dist/svelte/router/Route.svelte.d.ts +13 -0
- package/dist/svelte/router/Router.svelte +189 -0
- package/dist/svelte/router/Router.svelte.d.ts +16 -0
- package/dist/svelte/router/browser.ts +14 -0
- package/dist/svelte/router/goto.ts +89 -0
- package/dist/svelte/router/hashMode.ts +31 -0
- package/dist/svelte/router/index.ts +23 -0
- package/dist/svelte/router/matchPath.ts +136 -0
- package/dist/svelte/router/page.d.ts +15 -0
- package/dist/svelte/router/page.js +27 -0
- package/dist/svelte/router/prefetchCache.ts +85 -0
- package/dist/svelte/router/pushState.ts +35 -0
- package/dist/svelte/router/viewTransitions.ts +35 -0
- package/dist/svelte/server.js +2996 -0
- package/dist/svelte/server.js.map +33 -0
- package/dist/types/absoluteConfig.d.ts +22 -0
- package/dist/types/angular.d.ts +43 -0
- package/dist/types/build.d.ts +245 -0
- package/dist/types/cli.d.ts +74 -0
- package/dist/types/client.d.ts +70 -0
- package/dist/types/config.d.ts +50 -0
- package/dist/types/conventions.d.ts +26 -0
- package/dist/types/ember.d.ts +39 -0
- package/dist/types/env.d.ts +2 -0
- package/dist/types/eslintConfig.d.ts +68 -0
- package/dist/types/globals.d.ts +163 -0
- package/dist/types/image.d.ts +77 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/island.d.ts +52 -0
- package/dist/types/jsonLd.d.ts +300 -0
- package/dist/types/mediaQuery.d.ts +9 -0
- package/dist/types/messages.d.ts +152 -0
- package/dist/types/metadata.d.ts +51 -0
- package/dist/types/packageJson.d.ts +74 -0
- package/dist/types/packageJsonPanel.d.ts +29 -0
- package/dist/types/prettier.d.ts +26 -0
- package/dist/types/react.d.ts +2 -0
- package/dist/types/sitemap.d.ts +24 -0
- package/dist/types/style-module-shim.d.ts +29 -0
- package/dist/types/svelte.d.ts +2 -0
- package/dist/types/svelteRouter.d.ts +65 -0
- package/dist/types/svelteRouter.ts +91 -0
- package/dist/types/telemetry.d.ts +15 -0
- package/dist/types/tool.d.ts +11 -0
- package/dist/types/tsconfig.d.ts +31 -0
- package/dist/types/typeGuards.d.ts +2 -0
- package/dist/types/userAgentTypes.d.ts +2 -0
- package/dist/types/vue.d.ts +56 -0
- package/dist/types/websocket.d.ts +6 -0
- package/dist/vue/browser.js +512 -0
- package/dist/vue/browser.js.map +22 -0
- package/dist/vue/components/Image.js +264 -0
- package/dist/vue/components/Image.js.map +12 -0
- package/dist/vue/components/index.js +571 -0
- package/dist/vue/components/index.js.map +15 -0
- package/dist/vue/index.js +5238 -0
- package/dist/vue/index.js.map +69 -0
- package/dist/vue/server.js +2251 -0
- package/dist/vue/server.js.map +32 -0
- package/package.json +1 -1
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
function __accessProp(key) {
|
|
9
|
+
return this[key];
|
|
10
|
+
}
|
|
11
|
+
var __toESMCache_node;
|
|
12
|
+
var __toESMCache_esm;
|
|
13
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
14
|
+
var canCache = mod != null && typeof mod === "object";
|
|
15
|
+
if (canCache) {
|
|
16
|
+
var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
|
|
17
|
+
var cached = cache.get(mod);
|
|
18
|
+
if (cached)
|
|
19
|
+
return cached;
|
|
20
|
+
}
|
|
21
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
22
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
23
|
+
for (let key of __getOwnPropNames(mod))
|
|
24
|
+
if (!__hasOwnProp.call(to, key))
|
|
25
|
+
__defProp(to, key, {
|
|
26
|
+
get: __accessProp.bind(mod, key),
|
|
27
|
+
enumerable: true
|
|
28
|
+
});
|
|
29
|
+
if (canCache)
|
|
30
|
+
cache.set(mod, to);
|
|
31
|
+
return to;
|
|
32
|
+
};
|
|
33
|
+
var __toCommonJS = (from) => {
|
|
34
|
+
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
35
|
+
if (entry)
|
|
36
|
+
return entry;
|
|
37
|
+
entry = __defProp({}, "__esModule", { value: true });
|
|
38
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
39
|
+
for (var key of __getOwnPropNames(from))
|
|
40
|
+
if (!__hasOwnProp.call(entry, key))
|
|
41
|
+
__defProp(entry, key, {
|
|
42
|
+
get: __accessProp.bind(from, key),
|
|
43
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
__moduleCache.set(from, entry);
|
|
47
|
+
return entry;
|
|
48
|
+
};
|
|
49
|
+
var __moduleCache;
|
|
50
|
+
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
51
|
+
var __returnValue = (v) => v;
|
|
52
|
+
function __exportSetter(name, newValue) {
|
|
53
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
54
|
+
}
|
|
55
|
+
var __export = (target, all) => {
|
|
56
|
+
for (var name in all)
|
|
57
|
+
__defProp(target, name, {
|
|
58
|
+
get: all[name],
|
|
59
|
+
enumerable: true,
|
|
60
|
+
configurable: true,
|
|
61
|
+
set: __exportSetter.bind(all, name)
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
var __legacyDecorateClassTS = function(decorators, target, key, desc) {
|
|
65
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
66
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
67
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
68
|
+
else
|
|
69
|
+
for (var i = decorators.length - 1;i >= 0; i--)
|
|
70
|
+
if (d = decorators[i])
|
|
71
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
72
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
73
|
+
};
|
|
74
|
+
var __legacyMetadataTS = (k, v) => {
|
|
75
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
76
|
+
return Reflect.metadata(k, v);
|
|
77
|
+
};
|
|
78
|
+
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
79
|
+
var __require = import.meta.require;
|
|
80
|
+
|
|
81
|
+
// src/core/streamingSlotRegistrar.ts
|
|
82
|
+
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
83
|
+
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
84
|
+
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
85
|
+
var getRegisteredStreamingSlotRegistrar = () => {
|
|
86
|
+
const value = Reflect.get(globalThis, STREAMING_SLOT_REGISTRAR_KEY);
|
|
87
|
+
if (typeof value === "function" || value === null) {
|
|
88
|
+
return value;
|
|
89
|
+
}
|
|
90
|
+
return;
|
|
91
|
+
};
|
|
92
|
+
var isObjectRecord = (value) => Boolean(value) && typeof value === "object";
|
|
93
|
+
var isStreamingSlotWarningController = (value) => isObjectRecord(value) && ("maybeWarn" in value) && typeof value.maybeWarn === "function";
|
|
94
|
+
var isStreamingSlotCollectionController = (value) => isObjectRecord(value) && ("isCollecting" in value) && typeof value.isCollecting === "function";
|
|
95
|
+
var getWarningController = () => {
|
|
96
|
+
const value = Reflect.get(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY);
|
|
97
|
+
if (value === null || typeof value === "undefined")
|
|
98
|
+
return;
|
|
99
|
+
return isStreamingSlotWarningController(value) ? value : undefined;
|
|
100
|
+
};
|
|
101
|
+
var getCollectionController = () => {
|
|
102
|
+
const value = Reflect.get(globalThis, STREAMING_SLOT_COLLECTION_STORAGE_KEY);
|
|
103
|
+
if (value === null || typeof value === "undefined")
|
|
104
|
+
return;
|
|
105
|
+
return isStreamingSlotCollectionController(value) ? value : undefined;
|
|
106
|
+
};
|
|
107
|
+
var hasRegisteredStreamingSlotRegistrar = () => typeof getRegisteredStreamingSlotRegistrar() === "function";
|
|
108
|
+
var isStreamingSlotCollectionActive = () => getCollectionController()?.isCollecting() === true;
|
|
109
|
+
var registerStreamingSlot = (slot) => {
|
|
110
|
+
getRegisteredStreamingSlotRegistrar()?.(slot);
|
|
111
|
+
};
|
|
112
|
+
var setStreamingSlotCollectionController = (controller) => {
|
|
113
|
+
Reflect.set(globalThis, STREAMING_SLOT_COLLECTION_STORAGE_KEY, controller);
|
|
114
|
+
};
|
|
115
|
+
var setStreamingSlotRegistrar = (nextRegistrar) => {
|
|
116
|
+
Reflect.set(globalThis, STREAMING_SLOT_REGISTRAR_KEY, nextRegistrar);
|
|
117
|
+
};
|
|
118
|
+
var setStreamingSlotWarningController = (controller) => {
|
|
119
|
+
Reflect.set(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY, controller);
|
|
120
|
+
};
|
|
121
|
+
var warnMissingStreamingSlotCollector = (primitiveName) => {
|
|
122
|
+
if (isStreamingSlotCollectionActive()) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
getWarningController()?.maybeWarn(primitiveName);
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
// src/core/streamingSlotRegistry.ts
|
|
129
|
+
var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
|
|
130
|
+
var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
|
|
131
|
+
var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
|
|
132
|
+
var getStorageGlobal = () => {
|
|
133
|
+
const value = Reflect.get(globalThis, STREAMING_SLOT_STORAGE_KEY);
|
|
134
|
+
if (value === null || typeof value === "undefined") {
|
|
135
|
+
return value;
|
|
136
|
+
}
|
|
137
|
+
return isAsyncLocalStorage(value) ? value : undefined;
|
|
138
|
+
};
|
|
139
|
+
var isServerRuntime = () => typeof process !== "undefined" && typeof process.versions?.node === "string";
|
|
140
|
+
var ensureAsyncLocalStorage = async () => {
|
|
141
|
+
const storage = getStorageGlobal();
|
|
142
|
+
if (typeof storage !== "undefined") {
|
|
143
|
+
return storage;
|
|
144
|
+
}
|
|
145
|
+
if (!isServerRuntime()) {
|
|
146
|
+
Reflect.set(globalThis, STREAMING_SLOT_STORAGE_KEY, null);
|
|
147
|
+
return getStorageGlobal();
|
|
148
|
+
}
|
|
149
|
+
const mod = await import("async_hooks");
|
|
150
|
+
Reflect.set(globalThis, STREAMING_SLOT_STORAGE_KEY, new mod.AsyncLocalStorage);
|
|
151
|
+
return getStorageGlobal();
|
|
152
|
+
};
|
|
153
|
+
var getActiveSlotStore = () => {
|
|
154
|
+
const storage = getStorageGlobal();
|
|
155
|
+
if (!storage)
|
|
156
|
+
return;
|
|
157
|
+
return storage.getStore();
|
|
158
|
+
};
|
|
159
|
+
var registerStreamingSlot2 = (slot) => {
|
|
160
|
+
const store = getActiveSlotStore();
|
|
161
|
+
if (!store)
|
|
162
|
+
return;
|
|
163
|
+
store.set(slot.id, slot);
|
|
164
|
+
};
|
|
165
|
+
setStreamingSlotRegistrar(registerStreamingSlot2);
|
|
166
|
+
setStreamingSlotCollectionController({
|
|
167
|
+
isCollecting: () => getActiveSlotStore() !== undefined
|
|
168
|
+
});
|
|
169
|
+
var hasActiveStreamingSlotRegistry = () => getActiveSlotStore() !== undefined;
|
|
170
|
+
var runWithStreamingSlotRegistry = async (task) => {
|
|
171
|
+
const storage = await ensureAsyncLocalStorage();
|
|
172
|
+
if (!storage) {
|
|
173
|
+
const slots = [];
|
|
174
|
+
return {
|
|
175
|
+
result: await task(),
|
|
176
|
+
slots
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
return storage.run(new Map, async () => {
|
|
180
|
+
const result = await task();
|
|
181
|
+
const store = storage.getStore();
|
|
182
|
+
return {
|
|
183
|
+
result,
|
|
184
|
+
slots: store ? [...store.values()] : []
|
|
185
|
+
};
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
export {
|
|
189
|
+
runWithStreamingSlotRegistry,
|
|
190
|
+
hasActiveStreamingSlotRegistry
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
//# debugId=B49ED06B058CECE964756E2164756E21
|
|
194
|
+
//# sourceMappingURL=streamingSlotRegistry.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/core/streamingSlotRegistrar.ts", "../src/core/streamingSlotRegistry.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { StreamingSlot } from '../utils/streamingSlots';\n\ntype StreamingSlotRegistrar = (slot: StreamingSlot) => void;\ntype StreamingSlotWarningController = {\n\tmaybeWarn(primitiveName: string): void;\n};\ntype StreamingSlotCollectionController = {\n\tisCollecting(): boolean;\n};\n\nconst STREAMING_SLOT_REGISTRAR_KEY = Symbol.for(\n\t'absolutejs.streamingSlotRegistrar'\n);\nconst STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotWarningController'\n);\nconst STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotCollectionController'\n);\n\nconst getRegisteredStreamingSlotRegistrar = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_REGISTRAR_KEY);\n\tif (typeof value === 'function' || value === null) {\n\t\treturn value;\n\t}\n\n\treturn undefined;\n};\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isStreamingSlotWarningController = (\n\tvalue: unknown\n): value is StreamingSlotWarningController =>\n\tisObjectRecord(value) &&\n\t'maybeWarn' in value &&\n\ttypeof value.maybeWarn === 'function';\n\nconst isStreamingSlotCollectionController = (\n\tvalue: unknown\n): value is StreamingSlotCollectionController =>\n\tisObjectRecord(value) &&\n\t'isCollecting' in value &&\n\ttypeof value.isCollecting === 'function';\n\nconst getWarningController = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') return undefined;\n\n\treturn isStreamingSlotWarningController(value) ? value : undefined;\n};\n\nconst getCollectionController = () => {\n\tconst value = Reflect.get(\n\t\tglobalThis,\n\t\tSTREAMING_SLOT_COLLECTION_STORAGE_KEY\n\t);\n\tif (value === null || typeof value === 'undefined') return undefined;\n\n\treturn isStreamingSlotCollectionController(value) ? value : undefined;\n};\n\nexport const hasRegisteredStreamingSlotRegistrar = () =>\n\ttypeof getRegisteredStreamingSlotRegistrar() === 'function';\nexport const isStreamingSlotCollectionActive = () =>\n\tgetCollectionController()?.isCollecting() === true;\nexport const registerStreamingSlot = (slot: StreamingSlot) => {\n\tgetRegisteredStreamingSlotRegistrar()?.(slot);\n};\nexport const setStreamingSlotCollectionController = (\n\tcontroller: StreamingSlotCollectionController | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_COLLECTION_STORAGE_KEY, controller);\n};\nexport const setStreamingSlotRegistrar = (\n\tnextRegistrar: StreamingSlotRegistrar | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_REGISTRAR_KEY, nextRegistrar);\n};\nexport const setStreamingSlotWarningController = (\n\tcontroller: StreamingSlotWarningController | null\n) => {\n\tReflect.set(globalThis, STREAMING_SLOT_WARNING_STORAGE_KEY, controller);\n};\nexport const warnMissingStreamingSlotCollector = (primitiveName: string) => {\n\tif (\n\t\tprocess.env.NODE_ENV === 'production' ||\n\t\tisStreamingSlotCollectionActive()\n\t) {\n\t\treturn;\n\t}\n\n\tgetWarningController()?.maybeWarn(primitiveName);\n};\n",
|
|
6
|
+
"import type { StreamingSlot } from '../utils/streamingSlots';\nimport {\n\tsetStreamingSlotCollectionController,\n\tsetStreamingSlotRegistrar\n} from './streamingSlotRegistrar';\n\ntype SlotStore = Map<string, StreamingSlot>;\ntype AsyncLocalStorageType =\n\timport('node:async_hooks').AsyncLocalStorage<SlotStore>;\n\nconst STREAMING_SLOT_STORAGE_KEY = Symbol.for(\n\t'absolutejs.streamingSlotAsyncLocalStorage'\n);\n\nconst isObjectRecord = (value: unknown): value is Record<string, unknown> =>\n\tBoolean(value) && typeof value === 'object';\n\nconst isAsyncLocalStorage = (value: unknown): value is AsyncLocalStorageType =>\n\tisObjectRecord(value) &&\n\t'getStore' in value &&\n\ttypeof value.getStore === 'function' &&\n\t'run' in value &&\n\ttypeof value.run === 'function';\n\nconst getStorageGlobal = () => {\n\tconst value = Reflect.get(globalThis, STREAMING_SLOT_STORAGE_KEY);\n\tif (value === null || typeof value === 'undefined') {\n\t\treturn value;\n\t}\n\n\treturn isAsyncLocalStorage(value) ? value : undefined;\n};\n\nconst isServerRuntime = () =>\n\ttypeof process !== 'undefined' &&\n\ttypeof process.versions?.node === 'string';\n\nconst ensureAsyncLocalStorage = async () => {\n\tconst storage = getStorageGlobal();\n\tif (typeof storage !== 'undefined') {\n\t\treturn storage;\n\t}\n\tif (!isServerRuntime()) {\n\t\tReflect.set(globalThis, STREAMING_SLOT_STORAGE_KEY, null);\n\n\t\treturn getStorageGlobal();\n\t}\n\n\tconst mod = await import('node:async_hooks');\n\tReflect.set(\n\t\tglobalThis,\n\t\tSTREAMING_SLOT_STORAGE_KEY,\n\t\tnew mod.AsyncLocalStorage<SlotStore>()\n\t);\n\n\treturn getStorageGlobal();\n};\n\nconst getActiveSlotStore = () => {\n\tconst storage = getStorageGlobal();\n\tif (!storage) return undefined;\n\n\treturn storage.getStore();\n};\n\nconst registerStreamingSlot = (slot: StreamingSlot) => {\n\tconst store = getActiveSlotStore();\n\tif (!store) return;\n\tstore.set(slot.id, slot);\n};\n\nsetStreamingSlotRegistrar(registerStreamingSlot);\nsetStreamingSlotCollectionController({\n\tisCollecting: () => getActiveSlotStore() !== undefined\n});\n\nexport const hasActiveStreamingSlotRegistry = () =>\n\tgetActiveSlotStore() !== undefined;\n\nexport const runWithStreamingSlotRegistry = async <T>(\n\ttask: () => Promise<T> | T\n) => {\n\tconst storage = await ensureAsyncLocalStorage();\n\tif (!storage) {\n\t\tconst slots: StreamingSlot[] = [];\n\n\t\treturn {\n\t\t\tresult: await task(),\n\t\t\tslots\n\t\t};\n\t}\n\n\treturn storage.run(new Map<string, StreamingSlot>(), async () => {\n\t\tconst result = await task();\n\t\tconst store = storage.getStore();\n\n\t\treturn {\n\t\t\tresult,\n\t\t\tslots: store ? [...store.values()] : []\n\t\t};\n\t});\n};\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "B49ED06B058CECE964756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type {} from '../../types/globals';
|
|
2
|
+
/* Client-side constants — local copy for dist/dev/client/ portability.
|
|
3
|
+
These values MUST stay in sync with the root constants.ts.
|
|
4
|
+
This file exists because the client files are copied raw to dist/dev/client/
|
|
5
|
+
and cannot import from ../../constants when installed from npm. */
|
|
6
|
+
|
|
7
|
+
export const ANGULAR_INIT_TIMEOUT_MS = 500;
|
|
8
|
+
export const CSS_ERROR_RESOLVE_DELAY_MS = 50;
|
|
9
|
+
export const CSS_MAX_CHECK_ATTEMPTS = 10;
|
|
10
|
+
export const CSS_MAX_PARSE_TIMEOUT_MS = 500;
|
|
11
|
+
export const CSS_SHEET_READY_TIMEOUT_MS = 100;
|
|
12
|
+
export const DOM_UPDATE_DELAY_MS = 50;
|
|
13
|
+
export const FOCUS_ID_PREFIX_LENGTH = 3;
|
|
14
|
+
export const FOCUS_IDX_PREFIX_LENGTH = 4;
|
|
15
|
+
export const FOCUS_NAME_PREFIX_LENGTH = 5;
|
|
16
|
+
export const HMR_UPDATE_TIMEOUT_MS = 2000;
|
|
17
|
+
export const MAX_RECONNECT_ATTEMPTS = 60;
|
|
18
|
+
export const OVERLAY_FADE_DURATION_MS = 150;
|
|
19
|
+
export const PING_INTERVAL_MS = 30_000;
|
|
20
|
+
export const RAF_BATCH_COUNT = 3;
|
|
21
|
+
export const REBUILD_RELOAD_DELAY_MS = 200;
|
|
22
|
+
export const RECONNECT_INITIAL_DELAY_MS = 500;
|
|
23
|
+
export const RECONNECT_POLL_INTERVAL_MS = 300;
|
|
24
|
+
export const SVELTE_CSS_LOAD_TIMEOUT_MS = 500;
|
|
25
|
+
export const UNFOUND_INDEX = -1;
|
|
26
|
+
export const WEBSOCKET_NORMAL_CLOSURE = 1000;
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
import type {} from '../../types/globals';
|
|
2
|
+
/* CSS reload/preload utilities for HMR */
|
|
3
|
+
|
|
4
|
+
import type { CSSUpdateResult } from '../../types/client';
|
|
5
|
+
import {
|
|
6
|
+
CSS_ERROR_RESOLVE_DELAY_MS,
|
|
7
|
+
CSS_MAX_CHECK_ATTEMPTS,
|
|
8
|
+
CSS_MAX_PARSE_TIMEOUT_MS,
|
|
9
|
+
CSS_SHEET_READY_TIMEOUT_MS,
|
|
10
|
+
DOM_UPDATE_DELAY_MS,
|
|
11
|
+
RAF_BATCH_COUNT
|
|
12
|
+
} from './constants';
|
|
13
|
+
import { hmrState } from './hmrState';
|
|
14
|
+
|
|
15
|
+
export const getCSSBaseName = (href: string) => {
|
|
16
|
+
const fileName = href.split('?')[0]?.split('/').pop() || '';
|
|
17
|
+
|
|
18
|
+
return fileName.split('.')[0] ?? '';
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const baseNamesMatch = (baseA: string, baseB: string) =>
|
|
22
|
+
baseA === baseB || baseA.includes(baseB) || baseB.includes(baseA);
|
|
23
|
+
|
|
24
|
+
const findMatchingLink = (baseNew: string) => {
|
|
25
|
+
const links = document.head.querySelectorAll('link[rel="stylesheet"]');
|
|
26
|
+
for (const existing of links) {
|
|
27
|
+
if (!(existing instanceof HTMLLinkElement)) continue;
|
|
28
|
+
const existingHref = existing.getAttribute('href') || '';
|
|
29
|
+
const baseExisting = getCSSBaseName(existingHref);
|
|
30
|
+
if (baseNamesMatch(baseExisting, baseNew)) {
|
|
31
|
+
return existing;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return null;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const createTimestampedLink = (href: string) => {
|
|
39
|
+
const newLinkElement = document.createElement('link');
|
|
40
|
+
newLinkElement.rel = 'stylesheet';
|
|
41
|
+
newLinkElement.media = 'print';
|
|
42
|
+
const newHref = `${href + (href.includes('?') ? '&' : '?')}t=${Date.now()}`;
|
|
43
|
+
newLinkElement.href = newHref;
|
|
44
|
+
|
|
45
|
+
return { newHref, newLinkElement };
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const processNewLink = (
|
|
49
|
+
newLink: Element,
|
|
50
|
+
linksToRemove: HTMLLinkElement[],
|
|
51
|
+
linksToActivate: HTMLLinkElement[],
|
|
52
|
+
linksToWaitFor: Promise<void>[]
|
|
53
|
+
) => {
|
|
54
|
+
const href = newLink.getAttribute('href');
|
|
55
|
+
if (!href) return;
|
|
56
|
+
|
|
57
|
+
const baseNew = getCSSBaseName(href);
|
|
58
|
+
const existingLink = findMatchingLink(baseNew);
|
|
59
|
+
|
|
60
|
+
if (!existingLink) {
|
|
61
|
+
const { newHref, newLinkElement } = createTimestampedLink(href);
|
|
62
|
+
linksToActivate.push(newLinkElement);
|
|
63
|
+
const loadPromise = createCSSLoadPromise(newLinkElement, newHref);
|
|
64
|
+
document.head.appendChild(newLinkElement);
|
|
65
|
+
linksToWaitFor.push(loadPromise);
|
|
66
|
+
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const existingHrefAttr = existingLink.getAttribute('href');
|
|
71
|
+
const existingHref = existingHrefAttr ? existingHrefAttr.split('?')[0] : '';
|
|
72
|
+
const [newHrefBase] = href.split('?');
|
|
73
|
+
if (existingHref === newHrefBase) return;
|
|
74
|
+
|
|
75
|
+
const { newHref, newLinkElement } = createTimestampedLink(href);
|
|
76
|
+
linksToRemove.push(existingLink);
|
|
77
|
+
linksToActivate.push(newLinkElement);
|
|
78
|
+
const loadPromise = createCSSLoadPromise(newLinkElement, newHref);
|
|
79
|
+
document.head.appendChild(newLinkElement);
|
|
80
|
+
linksToWaitFor.push(loadPromise);
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export const processCSSLinks = (headHTML: string) => {
|
|
84
|
+
const tempDiv = document.createElement('div');
|
|
85
|
+
tempDiv.innerHTML = headHTML;
|
|
86
|
+
const newStylesheets = tempDiv.querySelectorAll('link[rel="stylesheet"]');
|
|
87
|
+
const existingStylesheets = Array.from(
|
|
88
|
+
document.head.querySelectorAll<HTMLLinkElement>(
|
|
89
|
+
'link[rel="stylesheet"]'
|
|
90
|
+
)
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
const newHrefs = Array.from(newStylesheets).map((link) => {
|
|
94
|
+
const href = link.getAttribute('href') || '';
|
|
95
|
+
|
|
96
|
+
return getCSSBaseName(href);
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
const linksToRemove: HTMLLinkElement[] = [];
|
|
100
|
+
const linksToWaitFor: Promise<void>[] = [];
|
|
101
|
+
const linksToActivate: HTMLLinkElement[] = [];
|
|
102
|
+
|
|
103
|
+
newStylesheets.forEach((newLink) => {
|
|
104
|
+
processNewLink(newLink, linksToRemove, linksToActivate, linksToWaitFor);
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
existingStylesheets.forEach((existingLink) => {
|
|
108
|
+
const existingHref = existingLink.getAttribute('href') || '';
|
|
109
|
+
const baseExisting = getCSSBaseName(existingHref);
|
|
110
|
+
const stillExists = newHrefs.some((newBase) =>
|
|
111
|
+
baseNamesMatch(baseExisting, newBase)
|
|
112
|
+
);
|
|
113
|
+
if (stillExists) return;
|
|
114
|
+
|
|
115
|
+
const wasHandled = Array.from(newStylesheets).some((newLink) => {
|
|
116
|
+
const newHref = newLink.getAttribute('href') || '';
|
|
117
|
+
const baseNewLocal = getCSSBaseName(newHref);
|
|
118
|
+
|
|
119
|
+
return baseNamesMatch(baseExisting, baseNewLocal);
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
if (!wasHandled) {
|
|
123
|
+
linksToRemove.push(existingLink);
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
return { linksToActivate, linksToRemove, linksToWaitFor };
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
const findManifestHref = (
|
|
131
|
+
manifest: Record<string, string>,
|
|
132
|
+
baseName: string
|
|
133
|
+
) => {
|
|
134
|
+
const manifestKey = `${baseName
|
|
135
|
+
.split('-')
|
|
136
|
+
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
|
|
137
|
+
.join('')}CSS`;
|
|
138
|
+
|
|
139
|
+
if (manifest[manifestKey]) {
|
|
140
|
+
return manifest[manifestKey];
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
for (const [key, value] of Object.entries(manifest)) {
|
|
144
|
+
if (key.endsWith('CSS') && value.includes(baseName)) {
|
|
145
|
+
return value;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return null;
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
const updateStylesheetLink = (
|
|
153
|
+
link: Element,
|
|
154
|
+
manifest: Record<string, string>
|
|
155
|
+
) => {
|
|
156
|
+
if (!(link instanceof HTMLLinkElement)) return;
|
|
157
|
+
const href = link.getAttribute('href');
|
|
158
|
+
if (!href || href.includes('htmx.min.js')) return;
|
|
159
|
+
|
|
160
|
+
let newHref: string | null = null;
|
|
161
|
+
if (manifest) {
|
|
162
|
+
const baseName = getCSSBaseName(href);
|
|
163
|
+
newHref = findManifestHref(manifest, baseName);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
if (newHref && newHref !== href) {
|
|
167
|
+
link.href = `${newHref}?t=${Date.now()}`;
|
|
168
|
+
} else {
|
|
169
|
+
const url = new URL(href, window.location.origin);
|
|
170
|
+
url.searchParams.set('t', Date.now().toString());
|
|
171
|
+
link.href = url.toString();
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
export const reloadCSSStylesheets = (manifest: Record<string, string>) => {
|
|
176
|
+
const stylesheets = document.querySelectorAll('link[rel="stylesheet"]');
|
|
177
|
+
stylesheets.forEach((link) => {
|
|
178
|
+
updateStylesheetLink(link, manifest);
|
|
179
|
+
});
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
const createCSSLoadPromise = (
|
|
183
|
+
linkElement: HTMLLinkElement,
|
|
184
|
+
newHref: string
|
|
185
|
+
) => {
|
|
186
|
+
const { promise, resolve } = Promise.withResolvers<void>();
|
|
187
|
+
let resolved = false;
|
|
188
|
+
const doResolve = function () {
|
|
189
|
+
if (resolved) return;
|
|
190
|
+
resolved = true;
|
|
191
|
+
resolve();
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
const verifyCSSOM = function () {
|
|
195
|
+
try {
|
|
196
|
+
const sheets = Array.from(document.styleSheets);
|
|
197
|
+
|
|
198
|
+
return sheets.some(
|
|
199
|
+
(sheet) =>
|
|
200
|
+
sheet.href &&
|
|
201
|
+
sheet.href.includes(newHref.split('?')[0] ?? '')
|
|
202
|
+
);
|
|
203
|
+
} catch {
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
|
|
208
|
+
linkElement.onload = function () {
|
|
209
|
+
let checkCount = 0;
|
|
210
|
+
const checkCSSOM = function () {
|
|
211
|
+
checkCount++;
|
|
212
|
+
if (verifyCSSOM() || checkCount > CSS_MAX_CHECK_ATTEMPTS) {
|
|
213
|
+
doResolve();
|
|
214
|
+
} else {
|
|
215
|
+
requestAnimationFrame(checkCSSOM);
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
requestAnimationFrame(checkCSSOM);
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
linkElement.onerror = function () {
|
|
222
|
+
setTimeout(() => {
|
|
223
|
+
doResolve();
|
|
224
|
+
}, CSS_ERROR_RESOLVE_DELAY_MS);
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
setTimeout(() => {
|
|
228
|
+
if (linkElement.sheet && !resolved) {
|
|
229
|
+
doResolve();
|
|
230
|
+
}
|
|
231
|
+
}, CSS_SHEET_READY_TIMEOUT_MS);
|
|
232
|
+
|
|
233
|
+
setTimeout(() => {
|
|
234
|
+
if (!resolved) {
|
|
235
|
+
doResolve();
|
|
236
|
+
}
|
|
237
|
+
}, CSS_MAX_PARSE_TIMEOUT_MS);
|
|
238
|
+
|
|
239
|
+
return promise;
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
const removeLinks = (linksToRemove: HTMLLinkElement[]) => {
|
|
243
|
+
linksToRemove.forEach((link) => {
|
|
244
|
+
if (link.parentNode) {
|
|
245
|
+
link.remove();
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
const activateLinks = (linksToActivate: HTMLLinkElement[]) => {
|
|
251
|
+
linksToActivate.forEach((link) => {
|
|
252
|
+
link.media = 'all';
|
|
253
|
+
});
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
const chainRAF = (depth: number, callback: () => void) => {
|
|
257
|
+
if (depth <= 0) {
|
|
258
|
+
callback();
|
|
259
|
+
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
requestAnimationFrame(() => {
|
|
263
|
+
chainRAF(depth - 1, callback);
|
|
264
|
+
});
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
/* Coordinate CSS load with body update: waits for CSS, patches body,
|
|
268
|
+
activates new CSS, removes old CSS. Handles first-update delay. */
|
|
269
|
+
export const waitForCSSAndUpdate = (
|
|
270
|
+
cssResult: CSSUpdateResult,
|
|
271
|
+
updateBody: () => void
|
|
272
|
+
) => {
|
|
273
|
+
const { linksToActivate, linksToRemove, linksToWaitFor } = cssResult;
|
|
274
|
+
|
|
275
|
+
if (linksToWaitFor.length > 0) {
|
|
276
|
+
void Promise.all(linksToWaitFor).then(() => {
|
|
277
|
+
setTimeout(() => {
|
|
278
|
+
chainRAF(RAF_BATCH_COUNT, () => {
|
|
279
|
+
updateBody();
|
|
280
|
+
activateLinks(linksToActivate);
|
|
281
|
+
requestAnimationFrame(() => {
|
|
282
|
+
removeLinks(linksToRemove);
|
|
283
|
+
if (hmrState.isFirstHMRUpdate) {
|
|
284
|
+
hmrState.isFirstHMRUpdate = false;
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
});
|
|
288
|
+
}, DOM_UPDATE_DELAY_MS);
|
|
289
|
+
|
|
290
|
+
return undefined;
|
|
291
|
+
});
|
|
292
|
+
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
const doUpdate = function () {
|
|
297
|
+
chainRAF(RAF_BATCH_COUNT, () => {
|
|
298
|
+
updateBody();
|
|
299
|
+
requestAnimationFrame(() => {
|
|
300
|
+
removeLinks(linksToRemove);
|
|
301
|
+
});
|
|
302
|
+
});
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
if (hmrState.isFirstHMRUpdate) {
|
|
306
|
+
hmrState.isFirstHMRUpdate = false;
|
|
307
|
+
setTimeout(doUpdate, DOM_UPDATE_DELAY_MS);
|
|
308
|
+
} else {
|
|
309
|
+
doUpdate();
|
|
310
|
+
}
|
|
311
|
+
};
|