tungsten 0.6.3 → 0.7.1
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/.build-complete +1 -1
- package/dist/Brands.d.ts +16 -0
- package/dist/Brands.d.ts.map +1 -0
- package/dist/Brands.js +22 -0
- package/dist/Components.d.ts +4 -1
- package/dist/Components.d.ts.map +1 -1
- package/dist/Components.js +24 -6
- package/dist/ContentNode.d.ts +3 -2
- package/dist/ContentNode.d.ts.map +1 -1
- package/dist/ContentNode.js +11 -0
- package/dist/Framework.d.ts.map +1 -1
- package/dist/Framework.js +23 -4
- package/dist/FrameworkConfig.d.ts +9 -1
- package/dist/FrameworkConfig.d.ts.map +1 -1
- package/dist/FrameworkConfig.types.test.d.ts +2 -0
- package/dist/FrameworkConfig.types.test.d.ts.map +1 -0
- package/dist/FrameworkConfig.types.test.js +6 -0
- package/dist/FunctionComponent.d.ts +1 -0
- package/dist/FunctionComponent.d.ts.map +1 -1
- package/dist/FunctionComponentStandIn.d.ts.map +1 -1
- package/dist/Instance/Instance.d.ts +21 -9
- package/dist/Instance/Instance.d.ts.map +1 -1
- package/dist/Instance/Instance.js +42 -38
- package/dist/Instance/InstanceConfig.d.ts +3 -1
- package/dist/Instance/InstanceConfig.d.ts.map +1 -1
- package/dist/RenderedContentNode.d.ts.map +1 -1
- package/dist/RenderingNode.d.ts.map +1 -1
- package/dist/Servers/DevServer.d.ts +4 -2
- package/dist/Servers/DevServer.d.ts.map +1 -1
- package/dist/Servers/DevServer.js +72 -21
- package/dist/Servers/ProdServer.d.ts +5 -2
- package/dist/Servers/ProdServer.d.ts.map +1 -1
- package/dist/Servers/ProdServer.js +95 -19
- package/dist/Servers/StaticSiteServer.d.ts +1 -1
- package/dist/Servers/StaticSiteServer.d.ts.map +1 -1
- package/dist/Servers/TungstenServer.d.ts +2 -1
- package/dist/Servers/TungstenServer.d.ts.map +1 -1
- package/dist/Servers/TungstenServer.js +7 -0
- package/dist/Servers/cacheVersioned.d.ts +3 -0
- package/dist/Servers/cacheVersioned.d.ts.map +1 -0
- package/dist/Servers/cacheVersioned.js +23 -0
- package/dist/Servers/devErrorPageAutoRetry.d.ts.map +1 -1
- package/dist/Servers/devErrorPageAutoRetry.js +1 -0
- package/dist/Servers/initStores.d.ts +4 -4
- package/dist/Servers/initStores.d.ts.map +1 -1
- package/dist/Servers/initStores.js +2 -2
- package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
- package/dist/Servers/loadEnvsDev.js +7 -6
- package/dist/Servers/resetRegistrations.d.ts +2 -0
- package/dist/Servers/resetRegistrations.d.ts.map +1 -0
- package/dist/Servers/resetRegistrations.js +13 -0
- package/dist/Servers/routing.d.ts +3 -2
- package/dist/Servers/routing.d.ts.map +1 -1
- package/dist/Servers/routing.js +12 -7
- package/dist/Servers/stubInstance.d.ts +8 -0
- package/dist/Servers/stubInstance.d.ts.map +1 -0
- package/dist/Servers/stubInstance.js +40 -0
- package/dist/Store/InternalStoreSchema.d.ts +1 -1
- package/dist/Store/Store.js +2 -1
- package/dist/Store/StoreSchemaClass.d.ts +6 -3
- package/dist/Store/StoreSchemaClass.d.ts.map +1 -1
- package/dist/Store/StoreSchemaClass.js +8 -1
- package/dist/Store/TypeSafeStore.js +2 -1
- package/dist/Store/createStores.d.ts +3 -3
- package/dist/Store/createStores.d.ts.map +1 -1
- package/dist/Store/createStores.js +7 -2
- package/dist/Store/getInternalStore.d.ts.map +1 -1
- package/dist/Store/registerStore.d.ts.map +1 -1
- package/dist/Store/registerStore.js +2 -2
- package/dist/Store/storeCreators.d.ts +2 -2
- package/dist/Store/storeCreators.d.ts.map +1 -1
- package/dist/TungstenApp.d.ts +3 -3
- package/dist/TungstenApp.d.ts.map +1 -1
- package/dist/_client/cjsHelpers.d.ts.map +1 -1
- package/dist/_client/cjsHelpers.js +5 -3
- package/dist/_client/client.d.ts +2 -0
- package/dist/_client/client.d.ts.map +1 -1
- package/dist/_client/client.js +10 -3
- package/dist/api/getApiRoutes.d.ts.map +1 -1
- package/dist/api/getExport.d.ts +1 -1
- package/dist/api/getExport.d.ts.map +1 -1
- package/dist/api/getExport.js +2 -1
- package/dist/api/getExportDev.d.ts +1 -1
- package/dist/api/getExportDev.d.ts.map +1 -1
- package/dist/appBuilder.d.ts +69 -0
- package/dist/appBuilder.d.ts.map +1 -0
- package/dist/appBuilder.js +98 -0
- package/dist/appBuilder.types.test.d.ts +110 -0
- package/dist/appBuilder.types.test.d.ts.map +1 -0
- package/dist/appBuilder.types.test.js +240 -0
- package/dist/babelPlugins/BabelTransformBindDirect.js +7 -7
- package/dist/babelPlugins/BabelTransformBindVar.js +7 -7
- package/dist/babelPlugins/BabelTransformComponentState.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformComponentStyles.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformComponentStyles.js +5 -5
- package/dist/babelPlugins/BabelTransformCssImports.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformCssImports.js +2 -2
- package/dist/babelPlugins/BabelTransformDeproxyState.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformPackageImports.js +11 -6
- package/dist/babelPlugins/BabelTransformRemoveDevBlocks.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformRemoveServerBlocks.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTypes.d.ts.map +1 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.js +1 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.js +2 -2
- package/dist/bin/commands/compile.d.ts.map +1 -1
- package/dist/bin/commands/compile.js +2 -1
- package/dist/build/CompilationInfo.d.ts +3 -0
- package/dist/build/CompilationInfo.d.ts.map +1 -1
- package/dist/build/assetVersions.d.ts +9 -0
- package/dist/build/assetVersions.d.ts.map +1 -0
- package/dist/build/assetVersions.js +39 -0
- package/dist/build/babel.user.common.config.d.ts.map +1 -1
- package/dist/build/bundle.d.ts.map +1 -1
- package/dist/build/bundle.js +2 -1
- package/dist/build/bundleBabelOptions.d.ts.map +1 -1
- package/dist/build/clientRoutesFile.d.ts +2 -0
- package/dist/build/clientRoutesFile.d.ts.map +1 -0
- package/dist/build/clientRoutesFile.js +13 -0
- package/dist/build/compileJavascript.d.ts.map +1 -1
- package/dist/build/compileJavascript.js +4 -3
- package/dist/build/compileStyles.d.ts +2 -1
- package/dist/build/compileStyles.d.ts.map +1 -1
- package/dist/build/compileStyles.js +38 -83
- package/dist/build/compileUserApp.d.ts.map +1 -1
- package/dist/build/componentStylesCache.d.ts.map +1 -1
- package/dist/build/componentStylesCache.js +3 -2
- package/dist/build/copyAssets.d.ts.map +1 -1
- package/dist/build/copyAssets.js +2 -1
- package/dist/build/copyPackageModulesToPackagesFolder.d.ts.map +1 -1
- package/dist/build/copyPackageModulesToPackagesFolder.js +1 -1
- package/dist/build/copyPublicFiles.d.ts.map +1 -1
- package/dist/build/copyPublicFiles.js +2 -1
- package/dist/build/createClientFiles.d.ts.map +1 -1
- package/dist/build/createClientFiles.js +9 -5
- package/dist/build/createInstanceConfigFile.d.ts +1 -1
- package/dist/build/createInstanceConfigFile.d.ts.map +1 -1
- package/dist/build/createInstanceConfigFile.js +9 -3
- package/dist/build/frameworkDestLocation.d.ts.map +1 -1
- package/dist/build/frameworkDestLocation.js +5 -6
- package/dist/build/frameworkStylesheets.d.ts.map +1 -1
- package/dist/build/frameworkStylesheets.js +1 -1
- package/dist/build/makeBabelRawConfig.d.ts.map +1 -1
- package/dist/build/makeBabelUserDevConfig.d.ts +2 -2
- package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
- package/dist/build/makeBabelUserProdConfig.d.ts.map +1 -1
- package/dist/build/rollup.user.prod.config.d.ts.map +1 -1
- package/dist/build/rollup.user.prod.config.js +5 -3
- package/dist/build/rollupProdConstants.d.ts +5 -0
- package/dist/build/rollupProdConstants.d.ts.map +1 -0
- package/dist/build/rollupProdConstants.js +21 -0
- package/dist/cacheControl.d.ts +13 -0
- package/dist/cacheControl.d.ts.map +1 -0
- package/dist/cacheControl.js +22 -0
- package/dist/compat/types.d.ts +1 -1
- package/dist/compat/types.d.ts.map +1 -1
- package/dist/componentHelpers.d.ts +19 -0
- package/dist/componentHelpers.d.ts.map +1 -0
- package/dist/componentHelpers.js +31 -0
- package/dist/componentProxyHandlers.d.ts.map +1 -1
- package/dist/components/Fragment.d.ts +8 -0
- package/dist/components/Fragment.d.ts.map +1 -0
- package/dist/components/Fragment.js +10 -0
- package/dist/components/Link.d.ts +4 -3
- package/dist/components/Link.d.ts.map +1 -1
- package/dist/components/Link.js +1 -0
- package/dist/components/NoEscape.d.ts +8 -0
- package/dist/components/NoEscape.d.ts.map +1 -0
- package/dist/components/NoEscape.js +6 -0
- package/dist/components/RouteRedirectComponent.d.ts.map +1 -1
- package/dist/components/RouteRedirectComponent.js +1 -1
- package/dist/components/WebRedirectComponent.d.ts.map +1 -1
- package/dist/components/WebRedirectComponent.js +1 -1
- package/dist/components/bindable/BindVariable.d.ts +1 -0
- package/dist/components/bindable/BindVariable.d.ts.map +1 -1
- package/dist/components/bindable/BindableCheckbox.d.ts +7 -7
- package/dist/components/bindable/BindableCheckbox.d.ts.map +1 -1
- package/dist/components/bindable/BindableInput.d.ts +7 -7
- package/dist/components/bindable/BindableInput.d.ts.map +1 -1
- package/dist/components/bindable/BindableInputNonString.d.ts +2 -2
- package/dist/components/bindable/BindableInputNonString.d.ts.map +1 -1
- package/dist/components/bindable/BindableInputString.d.ts +2 -2
- package/dist/components/bindable/BindableInputString.d.ts.map +1 -1
- package/dist/components/bindable/BindableInputTyped.d.ts +3 -3
- package/dist/components/bindable/BindableInputTyped.d.ts.map +1 -1
- package/dist/components/bindable/BindableInputTypedLegacy.d.ts +3 -3
- package/dist/components/bindable/BindableInputTypedLegacy.d.ts.map +1 -1
- package/dist/components/bindable/BindableRadio.js +2 -2
- package/dist/components/bindable/BindableSelect.d.ts +13 -10
- package/dist/components/bindable/BindableSelect.d.ts.map +1 -1
- package/dist/components/bindable/BindableSelectNaive.js +3 -3
- package/dist/components/bindable/BindableTextarea.d.ts +7 -7
- package/dist/components/bindable/BindableTextarea.d.ts.map +1 -1
- package/dist/components/bindable/bindableCandidates.comparison.d.ts +136 -0
- package/dist/components/bindable/bindableCandidates.comparison.d.ts.map +1 -0
- package/dist/components/bindable/bindableCandidates.comparison.js +268 -0
- package/dist/components/bindable/bindableProps.types.test.d.ts +50 -0
- package/dist/components/bindable/bindableProps.types.test.d.ts.map +1 -0
- package/dist/components/bindable/bindableProps.types.test.js +252 -0
- package/dist/components/library/RichTextEditor/RichTextEditor.d.ts.map +1 -1
- package/dist/components/library/RichTextEditor/contentTree.d.ts.map +1 -1
- package/dist/components/makeTypedLink.d.ts +9 -0
- package/dist/components/makeTypedLink.d.ts.map +1 -0
- package/dist/components/makeTypedLink.js +15 -0
- package/dist/context/registerContext.d.ts +22 -0
- package/dist/context/registerContext.d.ts.map +1 -0
- package/dist/context/registerContext.js +18 -0
- package/dist/env/getEnvSchemas.d.ts.map +1 -1
- package/dist/env/getEnvSchemas.js +2 -1
- package/dist/fileVersions.d.ts +9 -0
- package/dist/fileVersions.d.ts.map +1 -0
- package/dist/fileVersions.js +28 -0
- package/dist/findUserConfig.d.ts +1 -1
- package/dist/findUserConfig.d.ts.map +1 -1
- package/dist/findUserConfig.js +2 -1
- package/dist/frameworkConfigSchema.d.ts +16 -2
- package/dist/frameworkConfigSchema.d.ts.map +1 -1
- package/dist/frameworkConfigSchema.js +15 -3
- package/dist/getComponent.d.ts.map +1 -1
- package/dist/getComponent.js +4 -3
- package/dist/getRoutes.d.ts.map +1 -1
- package/dist/getRoutes.js +9 -8
- package/dist/getUserConfig.d.ts.map +1 -1
- package/dist/hmr/applyHmrModule.d.ts.map +1 -1
- package/dist/hmr/componentIdentity.js +1 -1
- package/dist/hooks/getCurrentComponent.d.ts +1 -1
- package/dist/hooks/getCurrentComponent.d.ts.map +1 -1
- package/dist/hydrate/hydrate.d.ts +5 -1
- package/dist/hydrate/hydrate.d.ts.map +1 -1
- package/dist/hydrate/hydrate.js +86 -52
- package/dist/hydrate/hydrateGlobalData.d.ts +4 -3
- package/dist/hydrate/hydrateGlobalData.d.ts.map +1 -1
- package/dist/hydrate/reconcileHydratedAttributes.d.ts +2 -1
- package/dist/hydrate/reconcileHydratedAttributes.d.ts.map +1 -1
- package/dist/hydrate/reconcileHydratedAttributes.js +4 -3
- package/dist/hydrate/renderHydrationMismatchBanner.d.ts.map +1 -1
- package/dist/hydrate/renderHydrationMismatchBanner.js +2 -1
- package/dist/hydrate/stubRouting.d.ts +8 -0
- package/dist/hydrate/stubRouting.d.ts.map +1 -0
- package/dist/hydrate/stubRouting.js +25 -0
- package/dist/importDevModuleWithRetry.d.ts +2 -1
- package/dist/importDevModuleWithRetry.d.ts.map +1 -1
- package/dist/importDevModuleWithRetry.js +2 -1
- package/dist/importModule.d.ts +3 -0
- package/dist/importModule.d.ts.map +1 -0
- package/dist/importModule.js +4 -0
- package/dist/index.js +2 -1
- package/dist/indexInner.d.ts +30 -7
- package/dist/indexInner.d.ts.map +1 -1
- package/dist/indexInner.js +37 -2
- package/dist/json.d.ts +12 -0
- package/dist/json.d.ts.map +1 -0
- package/dist/json.js +8 -0
- package/dist/jsxHelpers.d.ts +3 -0
- package/dist/jsxHelpers.d.ts.map +1 -0
- package/dist/jsxHelpers.js +6 -0
- package/dist/jsxRuntime.d.ts +1 -0
- package/dist/jsxRuntime.d.ts.map +1 -1
- package/dist/jsxRuntime.js +3 -1
- package/dist/jsxRuntimeSignals.d.ts.map +1 -1
- package/dist/jsxRuntimeSignals.js +1 -0
- package/dist/makeFinalConfig.d.ts.map +1 -1
- package/dist/makeFinalConfig.js +2 -0
- package/dist/makeInstanceConfigFromFrameworkConfig.d.ts.map +1 -1
- package/dist/makeInstanceConfigFromFrameworkConfig.js +2 -0
- package/dist/mergeConfigs.d.ts.map +1 -1
- package/dist/mergeConfigs.js +2 -6
- package/dist/nbsp.d.ts +1 -2
- package/dist/nbsp.d.ts.map +1 -1
- package/dist/nbsp.js +3 -7
- package/dist/objectMap.d.ts +1 -1
- package/dist/objectMap.d.ts.map +1 -1
- package/dist/pipeline/PipelineRequestHandler.d.ts +25 -0
- package/dist/pipeline/PipelineRequestHandler.d.ts.map +1 -0
- package/dist/pipeline/PipelineRequestHandler.js +104 -0
- package/dist/pipeline/contextStore.d.ts +12 -0
- package/dist/pipeline/contextStore.d.ts.map +1 -0
- package/dist/pipeline/contextStore.js +13 -0
- package/dist/pipeline/hydratePipeline.d.ts +4 -0
- package/dist/pipeline/hydratePipeline.d.ts.map +1 -0
- package/dist/pipeline/hydratePipeline.js +83 -0
- package/dist/pipeline/importRoutesModule.d.ts +6 -0
- package/dist/pipeline/importRoutesModule.d.ts.map +1 -0
- package/dist/pipeline/importRoutesModule.js +33 -0
- package/dist/pipeline/networkedTransport.d.ts +11 -0
- package/dist/pipeline/networkedTransport.d.ts.map +1 -0
- package/dist/pipeline/networkedTransport.js +54 -0
- package/dist/pipeline/pipeline.d.ts +107 -0
- package/dist/pipeline/pipeline.d.ts.map +1 -0
- package/dist/pipeline/pipeline.js +113 -0
- package/dist/pipeline/pipeline.types.test.d.ts +760 -0
- package/dist/pipeline/pipeline.types.test.d.ts.map +1 -0
- package/dist/pipeline/pipeline.types.test.js +344 -0
- package/dist/pipeline/pipelineDefinition.d.ts +78 -0
- package/dist/pipeline/pipelineDefinition.d.ts.map +1 -0
- package/dist/pipeline/pipelineDefinition.js +11 -0
- package/dist/pipeline/pipelineSplit.types.test.d.ts +2445 -0
- package/dist/pipeline/pipelineSplit.types.test.d.ts.map +1 -0
- package/dist/pipeline/pipelineSplit.types.test.js +440 -0
- package/dist/pipeline/runPipeline.d.ts +29 -0
- package/dist/pipeline/runPipeline.d.ts.map +1 -0
- package/dist/pipeline/runPipeline.js +71 -0
- package/dist/pipeline/runSplitPipeline.d.ts +10 -0
- package/dist/pipeline/runSplitPipeline.d.ts.map +1 -0
- package/dist/pipeline/runSplitPipeline.js +52 -0
- package/dist/pipeline/splitPipeline.d.ts +62 -0
- package/dist/pipeline/splitPipeline.d.ts.map +1 -0
- package/dist/pipeline/splitPipeline.js +76 -0
- package/dist/pop.js +1 -1
- package/dist/rawHtml/filterContentNode.d.ts.map +1 -1
- package/dist/render/HeadData.d.ts +3 -1
- package/dist/render/HeadData.d.ts.map +1 -1
- package/dist/render/classComponentNodeToRenderingTree.d.ts.map +1 -1
- package/dist/render/componentNodeToRenderingTree.d.ts.map +1 -1
- package/dist/render/contentToHtml.d.ts +2 -2
- package/dist/render/contentToHtml.d.ts.map +1 -1
- package/dist/render/contentToHtml.js +2 -1
- package/dist/render/contentToHtmlDev.d.ts +1 -1
- package/dist/render/contentToHtmlDev.d.ts.map +1 -1
- package/dist/render/contentTreeToRenderingTree.d.ts.map +1 -1
- package/dist/render/contentTreeToRenderingTree.js +6 -2
- package/dist/render/functionComponentNodeToRenderingTree.d.ts.map +1 -1
- package/dist/render/functionComponentNodeToRenderingTree.js +2 -2
- package/dist/render/instantiateComponent.d.ts.map +1 -1
- package/dist/render/processHead.d.ts.map +1 -1
- package/dist/render/processHead.js +12 -18
- package/dist/render/renderingTreeToHtml.d.ts.map +1 -1
- package/dist/render/renderingTreeToHtml.js +6 -3
- package/dist/render/rootToHtml.d.ts +2 -2
- package/dist/render/rootToHtml.d.ts.map +1 -1
- package/dist/requests/fetch/delete.d.ts.map +1 -1
- package/dist/requests/fetch/delete.js +5 -2
- package/dist/requests/fetch/get.js +1 -1
- package/dist/requests/fetch/patch.d.ts.map +1 -1
- package/dist/requests/fetch/patch.js +5 -2
- package/dist/requests/fetch/post.d.ts.map +1 -1
- package/dist/requests/fetch/post.js +5 -2
- package/dist/requests/fetch/put.d.ts.map +1 -1
- package/dist/requests/fetch/put.js +5 -2
- package/dist/routesLocationParts.d.ts +6 -0
- package/dist/routesLocationParts.d.ts.map +1 -0
- package/dist/routesLocationParts.js +10 -0
- package/dist/routing/AppRoutes.d.ts +5 -3
- package/dist/routing/AppRoutes.d.ts.map +1 -1
- package/dist/routing/MatchedRouteInfo.d.ts +13 -0
- package/dist/routing/MatchedRouteInfo.d.ts.map +1 -0
- package/dist/routing/MatchedRouteInfo.js +1 -0
- package/dist/routing/RouteContentFunction.d.ts +1 -2
- package/dist/routing/RouteContentFunction.d.ts.map +1 -1
- package/dist/routing/RouteDataFunction.type.d.ts +4 -2
- package/dist/routing/RouteDataFunction.type.d.ts.map +1 -1
- package/dist/routing/RoutePaths.d.ts +12 -0
- package/dist/routing/RoutePaths.d.ts.map +1 -0
- package/dist/routing/RouteTypes.d.ts +6 -4
- package/dist/routing/RouteTypes.d.ts.map +1 -1
- package/dist/routing/Routes.d.ts +20 -11
- package/dist/routing/Routes.d.ts.map +1 -1
- package/dist/routing/RoutesFunction.d.ts +11 -2
- package/dist/routing/RoutesFunction.d.ts.map +1 -1
- package/dist/routing/Serializable.d.ts +5 -0
- package/dist/routing/Serializable.d.ts.map +1 -0
- package/dist/routing/Serializable.js +1 -0
- package/dist/routing/builder.d.ts +100 -0
- package/dist/routing/builder.d.ts.map +1 -0
- package/dist/routing/builder.js +219 -0
- package/dist/routing/builder.trial.d.ts +2 -0
- package/dist/routing/builder.trial.d.ts.map +1 -0
- package/dist/routing/builder.trial.js +85 -0
- package/dist/routing/defineRoutes.d.ts +8 -0
- package/dist/routing/defineRoutes.d.ts.map +1 -0
- package/dist/routing/defineRoutes.js +3 -0
- package/dist/routing/pyramidRouting.d.ts +2 -0
- package/dist/routing/pyramidRouting.d.ts.map +1 -0
- package/dist/routing/pyramidRouting.js +13 -0
- package/dist/routing/redirectOf.d.ts +11 -0
- package/dist/routing/redirectOf.d.ts.map +1 -0
- package/dist/routing/redirectOf.js +32 -0
- package/dist/routing/registerGlobalData.d.ts +11 -3
- package/dist/routing/registerGlobalData.d.ts.map +1 -1
- package/dist/routing/registerGlobalData.js +6 -0
- package/dist/routing/registerParts.types.test.d.ts +2 -0
- package/dist/routing/registerParts.types.test.d.ts.map +1 -0
- package/dist/routing/registerParts.types.test.js +139 -0
- package/dist/routing/registerRoutes.d.ts +10 -0
- package/dist/routing/registerRoutes.d.ts.map +1 -0
- package/dist/routing/registerRoutes.js +9 -0
- package/dist/routing/registerRouting.d.ts +36 -0
- package/dist/routing/registerRouting.d.ts.map +1 -0
- package/dist/routing/registerRouting.js +34 -0
- package/dist/routing/registerRouting.types.test.d.ts +80 -0
- package/dist/routing/registerRouting.types.test.d.ts.map +1 -0
- package/dist/routing/registerRouting.types.test.js +120 -0
- package/dist/routing/registrationTypes.d.ts +11 -0
- package/dist/routing/registrationTypes.d.ts.map +1 -0
- package/dist/routing/registrationTypes.js +1 -0
- package/dist/routing/resolveAppRoutes.d.ts +5 -0
- package/dist/routing/resolveAppRoutes.d.ts.map +1 -0
- package/dist/routing/resolveAppRoutes.js +25 -0
- package/dist/routing/routesArray.d.ts +23 -0
- package/dist/routing/routesArray.d.ts.map +1 -0
- package/dist/routing/routesArray.js +20 -0
- package/dist/routing/routesArray.types.test.d.ts +2 -0
- package/dist/routing/routesArray.types.test.d.ts.map +1 -0
- package/dist/routing/routesArray.types.test.js +132 -0
- package/dist/routing/routingBuilder.d.ts +34 -0
- package/dist/routing/routingBuilder.d.ts.map +1 -0
- package/dist/routing/routingBuilder.js +32 -0
- package/dist/routing/routingBuilder.types.test.d.ts +2 -0
- package/dist/routing/routingBuilder.types.test.d.ts.map +1 -0
- package/dist/routing/routingBuilder.types.test.js +171 -0
- package/dist/routing/routingRegistry.d.ts +19 -0
- package/dist/routing/routingRegistry.d.ts.map +1 -0
- package/dist/routing/routingRegistry.js +29 -0
- package/dist/staticGen/getAppRoutes.d.ts +2 -2
- package/dist/staticGen/getAppRoutes.d.ts.map +1 -1
- package/dist/staticGen/getAppRoutes.js +9 -6
- package/dist/staticGen/staticGen.d.ts.map +1 -1
- package/dist/staticGen/staticGen.js +8 -2
- package/dist/style/styleContentSxy.d.ts.map +1 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +2 -0
- package/dist/syncServer/index.cjs +1 -2
- package/dist/syncServer/preload.js +2 -0
- package/dist/testing/contentToString.d.ts +13 -0
- package/dist/testing/contentToString.d.ts.map +1 -0
- package/dist/testing/contentToString.js +105 -0
- package/dist/testing/createTestApp.d.ts +25 -1
- package/dist/testing/createTestApp.d.ts.map +1 -1
- package/dist/testing/createTestApp.js +12 -3
- package/dist/testing/display.d.ts +2 -0
- package/dist/testing/display.d.ts.map +1 -0
- package/dist/testing/display.js +37 -0
- package/dist/testing/ensure.d.ts +119 -0
- package/dist/testing/ensure.d.ts.map +1 -0
- package/dist/testing/ensure.js +664 -0
- package/dist/testing/ensure.trial.d.ts +2 -0
- package/dist/testing/ensure.trial.d.ts.map +1 -0
- package/dist/testing/ensure.trial.js +9 -0
- package/dist/testing/ensure.types.test.d.ts +2 -0
- package/dist/testing/ensure.types.test.d.ts.map +1 -0
- package/dist/testing/ensure.types.test.js +34 -0
- package/dist/testing/helpers/contentHtmlElements.d.ts.map +1 -1
- package/dist/testing/host.d.ts +86 -15
- package/dist/testing/host.d.ts.map +1 -1
- package/dist/testing/host.js +82 -23
- package/dist/testing/host.types.test.d.ts +2 -0
- package/dist/testing/host.types.test.d.ts.map +1 -0
- package/dist/testing/host.types.test.js +81 -0
- package/dist/testing/hydrateTestApp.d.ts +17 -0
- package/dist/testing/hydrateTestApp.d.ts.map +1 -1
- package/dist/testing/hydrateTestApp.js +27 -6
- package/dist/testing/index.d.ts +5 -3
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +3 -1
- package/dist/testing/pipeline/createTestPacketApp.d.ts +30 -0
- package/dist/testing/pipeline/createTestPacketApp.d.ts.map +1 -0
- package/dist/testing/pipeline/createTestPacketApp.js +45 -0
- package/dist/testing/pipeline/createTestPacketApp.types.test.d.ts +3 -0
- package/dist/testing/pipeline/createTestPacketApp.types.test.d.ts.map +1 -0
- package/dist/testing/pipeline/createTestPacketApp.types.test.js +101 -0
- package/dist/testing/pipeline/createTestPipelineApp.d.ts +70 -0
- package/dist/testing/pipeline/createTestPipelineApp.d.ts.map +1 -0
- package/dist/testing/pipeline/createTestPipelineApp.js +90 -0
- package/dist/testing/pipeline/createTestPipelineApp.types.test.d.ts +6 -0
- package/dist/testing/pipeline/createTestPipelineApp.types.test.d.ts.map +1 -0
- package/dist/testing/pipeline/createTestPipelineApp.types.test.js +146 -0
- package/dist/testing/pipeline/hostPipeline.d.ts +25 -0
- package/dist/testing/pipeline/hostPipeline.d.ts.map +1 -0
- package/dist/testing/pipeline/hostPipeline.js +18 -0
- package/dist/testing/pipeline/hydrateTestPipelineApp.d.ts +30 -0
- package/dist/testing/pipeline/hydrateTestPipelineApp.d.ts.map +1 -0
- package/dist/testing/pipeline/hydrateTestPipelineApp.js +193 -0
- package/dist/testing/pipeline/hydrateTestPipelineApp.types.test.d.ts +2 -0
- package/dist/testing/pipeline/hydrateTestPipelineApp.types.test.d.ts.map +1 -0
- package/dist/testing/pipeline/hydrateTestPipelineApp.types.test.js +27 -0
- package/dist/testing/pipeline/index.d.ts +5 -0
- package/dist/testing/pipeline/index.d.ts.map +1 -0
- package/dist/testing/pipeline/index.js +4 -0
- package/dist/testing/pipeline/pipelineTestApp.d.ts +34 -0
- package/dist/testing/pipeline/pipelineTestApp.d.ts.map +1 -0
- package/dist/testing/pipeline/pipelineTestApp.js +100 -0
- package/dist/testing/pipeline/testPipelineRoute.d.ts +2 -0
- package/dist/testing/pipeline/testPipelineRoute.d.ts.map +1 -0
- package/dist/testing/pipeline/testPipelineRoute.js +1 -0
- package/dist/testing/resolveContent.d.ts +18 -0
- package/dist/testing/resolveContent.d.ts.map +1 -0
- package/dist/testing/resolveContent.js +73 -0
- package/dist/testing/testingComponentPackage.d.ts +3 -1
- package/dist/testing/testingComponentPackage.d.ts.map +1 -1
- package/dist/testing/testingComponentPackage.js +16 -1
- package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
- package/dist/update/integrateUpdateVdom.js +35 -31
- package/dist/update/integrateUpdateVdomPrebuild.js +20 -20
- package/dist/validChildren.d.ts.map +1 -1
- package/dist/zones/react.d.ts.map +1 -1
- package/package.json +23 -19
- package/types/helpers.d.ts +11 -2
- package/types/jsx/html.d.ts +29 -25
- package/types/jsx/jsx.d.ts +8 -8
- package/types/modules.d.ts +14 -3
- package/types/testing.d.ts +0 -0
- package/vendor/babel-core.js +5 -5
- package/vendor/babel-parser.js +1 -1
- package/vendor/babel-preset-react.js +32 -34
- package/vendor/babel-preset-typescript.js +5 -5
- package/vendor/chalk-extensions.js +3 -146
- package/vendor/chokidar.js +311 -5
- package/vendor/chunk-B34JUlnS.js +169 -0
- package/vendor/{chunk-Bu8ZRE-c.js → chunk-B9ttgKqg.js} +28 -25
- package/vendor/{chunk-D2EnpcLg.js → chunk-BGvapINa.js} +3 -164
- package/vendor/{chunk-Cqrj-Zqr.js → chunk-BmAiqUzD.js} +22 -8
- package/vendor/{chunk-BiUcnLhT.js → chunk-But4T5N_.js} +8 -3
- package/vendor/{chunk-OUnVY4Wm.js → chunk-DuR6SGzI.js} +162 -35
- package/vendor/css-select.js +3383 -0
- package/vendor/dotenv.js +2 -2
- package/vendor/express.js +61 -10
- package/vendor/manifest.json +4 -3
- package/vendor/postcss.js +1 -1
- package/vendor/precinct.js +5914 -3591
- package/vendor/valibot.js +418 -504
- package/dist/Servers/MatchedRouteInfo.d.ts +0 -11
- package/dist/Servers/MatchedRouteInfo.d.ts.map +0 -1
- package/dist/routing/__fluentRouteBuilder.d.ts +0 -80
- package/dist/routing/__fluentRouteBuilder.d.ts.map +0 -1
- package/dist/routing/__fluentRouteBuilder.js +0 -183
- package/dist/routing/__fluentRoutes.d.ts +0 -2
- package/dist/routing/__fluentRoutes.d.ts.map +0 -1
- package/dist/routing/__fluentRoutes.js +0 -59
- package/vendor/chunk-Hy-cCmu-.js +0 -23
- /package/dist/{Servers/MatchedRouteInfo.js → routing/RoutePaths.js} +0 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { DomPointer } from '../DomPointer.js';
|
|
2
|
+
import { stubRouting } from '../hydrate/stubRouting.js';
|
|
3
|
+
import { routing } from "../Servers/routing.js";
|
|
4
|
+
import { renderDocInitErrorBanner } from '../docInit.js';
|
|
5
|
+
import { setCurrentInstance } from '../hmr/instanceRegistry.js';
|
|
6
|
+
import { hydrateRootComponent, hydrationRouting, makeDefaultHydrateMeta } from "../hydrate/hydrate.js";
|
|
7
|
+
import { renderHydrationMismatchBanner } from '../hydrate/renderHydrationMismatchBanner.js';
|
|
8
|
+
import { Instance } from '../Instance/Instance.js';
|
|
9
|
+
import { isDev } from '../isDev.js';
|
|
10
|
+
import { isProd } from '../isProd.js';
|
|
11
|
+
import { MatchedRoute } from '../routing/MatchedRoute.js';
|
|
12
|
+
import { urlToLocation } from '../routing/routeUrl.js';
|
|
13
|
+
import { initStores } from '../Servers/initStores.js';
|
|
14
|
+
import { TungstenError } from '../TungstenError.js';
|
|
15
|
+
import { clientRoute, isPipelineApp } from './pipelineDefinition.js';
|
|
16
|
+
import { afterRoutingFor, pipelineRoutes, routingContext, routingNetworkedData } from './runPipeline.js';
|
|
17
|
+
// hydrate() for config.registration 'pipeline': the app's own client run makes the context, with
|
|
18
|
+
// the all-routes data and any networked data carried over from the server's render. Its own copy
|
|
19
|
+
// of hydrate()'s steps, so neither path branches on the other; it names neither pipeline, so the
|
|
20
|
+
// bundle holds only the one the app built. app: the routes module's export
|
|
21
|
+
export async function hydratePipeline(app, RootComponent, instanceConfig, fileVersions) {
|
|
22
|
+
if (isDev) renderDocInitErrorBanner();
|
|
23
|
+
if (!isPipelineApp(app)) {
|
|
24
|
+
throw new TungstenError(`config.registration is 'pipeline', but the routes module exports no pipeline app under` + ` config.routesLocation's name: export the result of the pipeline's .routes().`);
|
|
25
|
+
}
|
|
26
|
+
let location = urlToLocation(window.location, instanceConfig.siteBasePath, isProd && instanceConfig.staticSite);
|
|
27
|
+
const ran = await app.client(app, __tungsten_networked_data__);
|
|
28
|
+
const init = ran.init;
|
|
29
|
+
const routes = pipelineRoutes(app, null, init, isDev);
|
|
30
|
+
const routeContext = routingContext(ran.routingContext);
|
|
31
|
+
const networkedData = routingNetworkedData(ran.routingNetworkedData);
|
|
32
|
+
let allRoutesData;
|
|
33
|
+
let matchedRouteInfo;
|
|
34
|
+
if (instanceConfig.serverSideRouting === false) {
|
|
35
|
+
// a stub page: the client's own all-routes data, beside its first routing, as a navigation's
|
|
36
|
+
const [fetched, routed] = await Promise.all([ran.allRoutesData?.(), stubRouting(location, to => routing(to, routes, routeContext, networkedData), instanceConfig)]);
|
|
37
|
+
if (routed === null) return;
|
|
38
|
+
({
|
|
39
|
+
location,
|
|
40
|
+
matchedRouteInfo
|
|
41
|
+
} = routed);
|
|
42
|
+
allRoutesData = fetched; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the framework brands what it builds
|
|
43
|
+
} else {
|
|
44
|
+
allRoutesData = __tungsten_global_data__;
|
|
45
|
+
matchedRouteInfo = hydrationRouting(__tungsten_matched_route_info__, routes);
|
|
46
|
+
}
|
|
47
|
+
const posted = await ran.post(allRoutesData);
|
|
48
|
+
const afterRouting = afterRoutingFor(posted.afterRouting);
|
|
49
|
+
const brandedContext = afterRouting === undefined ? posted.context // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the framework brands what it builds
|
|
50
|
+
: await afterRouting(clientRoute(matchedRouteInfo, location), allRoutesData);
|
|
51
|
+
const {
|
|
52
|
+
internalStore,
|
|
53
|
+
stores,
|
|
54
|
+
storeSubscriptions
|
|
55
|
+
} = initStores(location, null, allRoutesData, matchedRouteInfo, null, brandedContext, networkedData);
|
|
56
|
+
const instance = new Instance(location, instanceConfig, null, appRoutesFor(app, init), routes, internalStore, stores, storeSubscriptions, allRoutesData, matchedRouteInfo);
|
|
57
|
+
instance.fileVersions = fileVersions;
|
|
58
|
+
instance.context = brandedContext;
|
|
59
|
+
instance.networkedData = networkedData;
|
|
60
|
+
instance.pipelineNetworked = ran.networked;
|
|
61
|
+
instance.pipeline = {
|
|
62
|
+
routingContext: routeContext,
|
|
63
|
+
routingNetworkedData: networkedData,
|
|
64
|
+
allRoutesData: allRoutesDataFor(ran.allRoutesData),
|
|
65
|
+
afterRouting
|
|
66
|
+
};
|
|
67
|
+
if (isDev) setCurrentInstance(instance);
|
|
68
|
+
if (instanceConfig.serverSideRouting !== false && typeof __tungsten_route_data__ !== 'undefined') {
|
|
69
|
+
instance.routeData = __tungsten_route_data__;
|
|
70
|
+
}
|
|
71
|
+
const meta = makeDefaultHydrateMeta();
|
|
72
|
+
await hydrateRootComponent(instance, RootComponent ?? MatchedRoute, new DomPointer(document, 1), meta);
|
|
73
|
+
instance.hydrationComplete = true;
|
|
74
|
+
if (isDev) renderHydrationMismatchBanner(meta.mismatches);
|
|
75
|
+
if (isDev) renderDocInitErrorBanner();
|
|
76
|
+
}
|
|
77
|
+
const appRoutesFor = (app, init) => reqRes => pipelineRoutes(app, reqRes, init, isDev);
|
|
78
|
+
// before each client navigation, as before SSR
|
|
79
|
+
const allRoutesDataFor = run => {
|
|
80
|
+
if (run === undefined) return undefined;
|
|
81
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- the framework brands what it builds
|
|
82
|
+
return async () => await run();
|
|
83
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CompilationInfo } from '../build/CompilationInfo.js';
|
|
2
|
+
import type { FrameworkConfigComplete } from '../FrameworkConfig.js';
|
|
3
|
+
import type { PipelineApp } from './pipelineDefinition.js';
|
|
4
|
+
export declare function importRoutesModule(compilationInfo: CompilationInfo, config: FrameworkConfigComplete, iteration: number | null): Promise<PipelineApp>;
|
|
5
|
+
export declare function pipelineAppFrom(module: unknown, routesLocation: FrameworkConfigComplete['routesLocation']): PipelineApp;
|
|
6
|
+
//# sourceMappingURL=importRoutesModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importRoutesModule.d.ts","sourceRoot":"","sources":["../../src/pipeline/importRoutesModule.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAY1D,wBAAsB,kBAAkB,CACpC,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAC5F,OAAO,CAAC,WAAW,CAAC,CAOtB;AAED,wBAAgB,eAAe,CAC3B,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,GAC3E,WAAW,CAoBb"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { join } from 'path';
|
|
2
|
+
import { fixExtension } from '../fixExtension.js';
|
|
3
|
+
import { importDevModuleWithRetry } from '../importDevModuleWithRetry.js';
|
|
4
|
+
import { importModule } from '../importModule.js';
|
|
5
|
+
import { iterationQueryString } from '../iterationQueryString.js';
|
|
6
|
+
import { routesLocationParts } from '../routesLocationParts.js';
|
|
7
|
+
import { TungstenError } from '../TungstenError.js';
|
|
8
|
+
import { isPipelineApp } from './pipelineDefinition.js';
|
|
9
|
+
// The pipeline's routes module, for the app its .routes() call made, exported under
|
|
10
|
+
// config.routesLocation's name. In dev, each iteration imports it again, for the request
|
|
11
|
+
export async function importRoutesModule(compilationInfo, config, iteration) {
|
|
12
|
+
const {
|
|
13
|
+
routesFile
|
|
14
|
+
} = routesLocationParts(config.routesLocation);
|
|
15
|
+
const filePath = 'file://' + fixExtension(join(compilationInfo.buildCodeLocation, routesFile));
|
|
16
|
+
const module = iteration === null ? await importModule(filePath) : await importDevModuleWithRetry(iterationQueryString(filePath, iteration));
|
|
17
|
+
return pipelineAppFrom(module, config.routesLocation);
|
|
18
|
+
}
|
|
19
|
+
export function pipelineAppFrom(module, routesLocation) {
|
|
20
|
+
const {
|
|
21
|
+
routesFile,
|
|
22
|
+
routeExport
|
|
23
|
+
} = routesLocationParts(routesLocation);
|
|
24
|
+
if (routeExport === undefined) {
|
|
25
|
+
throw new TungstenError(`config.registration is 'pipeline', but config.routesLocation names the file` + ` ${routesFile} without an export name: give it as [file, exportName], the export` + ` being the pipeline's .routes() result.`);
|
|
26
|
+
}
|
|
27
|
+
const exported = typeof module === 'object' && module !== null ? module[routeExport] // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- a module namespace
|
|
28
|
+
: undefined;
|
|
29
|
+
if (!isPipelineApp(exported)) {
|
|
30
|
+
throw new TungstenError(`config.registration is 'pipeline', but ${routesFile} exports no pipeline app as` + ` ${routeExport} (config.routesLocation): export the result of the pipeline's` + ` .routes(), e.g. export const ${routeExport} = app.routes(...).`);
|
|
31
|
+
}
|
|
32
|
+
return exported;
|
|
33
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare class NetworkedTransport {
|
|
2
|
+
#private;
|
|
3
|
+
readonly networked: object | undefined;
|
|
4
|
+
constructor(networked: object | undefined);
|
|
5
|
+
snapshotAfterRouting(): void;
|
|
6
|
+
toJSON(): {
|
|
7
|
+
[k: string]: unknown;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export declare function fromTransport(half: object | undefined): object | undefined;
|
|
11
|
+
//# sourceMappingURL=networkedTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkedTransport.d.ts","sourceRoot":"","sources":["../../src/pipeline/networkedTransport.ts"],"names":[],"mappings":"AAqBA,qBAAa,kBAAkB;;IAEf,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;gBAA7B,SAAS,EAAE,MAAM,GAAG,SAAS;IAElD,oBAAoB;IASpB,MAAM;;;CAWT;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAM1E"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
2
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
3
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
4
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
5
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
6
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
7
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
8
|
+
import { contextStore, contextStoreSettings } from './contextStore.js';
|
|
9
|
+
// a store in the networked data crosses as its values, under this key, and is rebuilt on the client
|
|
10
|
+
const $store = '__tungstenContextStore';
|
|
11
|
+
const storeValues = store => Object.fromEntries(
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- a contextStore()'s cells
|
|
13
|
+
Object.entries(store).map(([key, cell]) => [key, cell.get()]));
|
|
14
|
+
const isStoreOnPage = value => typeof value === 'object' && value !== null && $store in value;
|
|
15
|
+
// The split pipeline's networked data, as processHead writes it into the page: toJSON() runs when
|
|
16
|
+
// the page is written, after the render, which is when an 'afterRender' store is read. An
|
|
17
|
+
// 'afterRouting' store is read by snapshotAfterRouting(), before the render
|
|
18
|
+
var _afterRouting = /*#__PURE__*/new WeakMap();
|
|
19
|
+
export class NetworkedTransport {
|
|
20
|
+
constructor(networked) {
|
|
21
|
+
_defineProperty(this, "networked", void 0);
|
|
22
|
+
_classPrivateFieldInitSpec(this, _afterRouting, new Map());
|
|
23
|
+
this.networked = networked;
|
|
24
|
+
}
|
|
25
|
+
snapshotAfterRouting() {
|
|
26
|
+
for (const value of Object.values(this.networked ?? {})) {
|
|
27
|
+
if (typeof value !== 'object' || value === null) continue;
|
|
28
|
+
if (contextStoreSettings(value)?.sync === 'afterRouting') {
|
|
29
|
+
_classPrivateFieldGet(_afterRouting, this).set(value, storeValues(value));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
toJSON() {
|
|
34
|
+
const entries = Object.entries(this.networked ?? {});
|
|
35
|
+
return Object.fromEntries(entries.map(([key, value]) => {
|
|
36
|
+
const settings = typeof value === 'object' && value !== null ? contextStoreSettings(value) : undefined;
|
|
37
|
+
if (settings === undefined) return [key, value];
|
|
38
|
+
const values = _classPrivateFieldGet(_afterRouting, this).get(value) ?? storeValues(value); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- settings were found for it
|
|
39
|
+
return [key, {
|
|
40
|
+
[$store]: {
|
|
41
|
+
values,
|
|
42
|
+
sync: settings.sync
|
|
43
|
+
}
|
|
44
|
+
}];
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// the networked data from the page, its stores rebuilt
|
|
49
|
+
export function fromTransport(half) {
|
|
50
|
+
if (half === undefined) return undefined;
|
|
51
|
+
return Object.fromEntries(Object.entries(half).map(([key, value]) => [key, isStoreOnPage(value) ? contextStore(value[$store].values, {
|
|
52
|
+
sync: value[$store].sync
|
|
53
|
+
}) : value]));
|
|
54
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { ComponentStore, ConstructPackage, TungstenComponentPropsBase, TungstenComponentSignalsConstraint, TungstenComponentStateConstraint } from '../Components.jsx';
|
|
2
|
+
import type { ComponentHelpers } from '../componentHelpers.js';
|
|
3
|
+
import type { RoutesWithSettings } from '../routing/Routes.js';
|
|
4
|
+
import type { NoDuplicatePaths, RoutesArray } from '../routing/routesArray.js';
|
|
5
|
+
import type { Serializable } from '../routing/Serializable.js';
|
|
6
|
+
import type { ReadonlyTrueStore } from '../Store/makeStore.js';
|
|
7
|
+
import type { MaybePromise, PipelineApp, PipelineDefinition, RoutesOptions, ServerKind, ServerRequests, StageContext } from './pipelineDefinition.js';
|
|
8
|
+
import { TungstenBaseSimpleStoreComponent, TungstenBaseStatefulStoreComponent, TungstenSignalsComponent, TungstenSimpleComponent, TungstenStatefulComponent } from '../Components.jsx';
|
|
9
|
+
type Props = TungstenComponentPropsBase;
|
|
10
|
+
type State = TungstenComponentStateConstraint;
|
|
11
|
+
type Signals = TungstenComponentSignalsConstraint;
|
|
12
|
+
export type Nothing = Record<never, never>;
|
|
13
|
+
export type DeliveredContext<Ctx> = Ctx extends object ? Ctx : Nothing;
|
|
14
|
+
export type PipelineHelpers<Ctx, N, G extends object | undefined> = Omit<ComponentHelpers, 'context' | 'allRoutesData' | 'networked'> & {
|
|
15
|
+
readonly context: DeliveredContext<Ctx>;
|
|
16
|
+
readonly networked: N & object;
|
|
17
|
+
readonly allRoutesData: G;
|
|
18
|
+
};
|
|
19
|
+
export declare abstract class PipelineSimpleComponent<Ctx, N, G extends object | undefined, P extends Props = Props, RD = undefined> extends TungstenSimpleComponent<P, RD> {
|
|
20
|
+
get tungsten(): PipelineHelpers<Ctx, N, G>;
|
|
21
|
+
}
|
|
22
|
+
export declare abstract class PipelineStatefulComponent<Ctx, N, G extends object | undefined, P extends Props, S extends State, RD = undefined> extends TungstenStatefulComponent<P, S, RD> {
|
|
23
|
+
get tungsten(): PipelineHelpers<Ctx, N, G>;
|
|
24
|
+
}
|
|
25
|
+
export declare abstract class PipelineSignalsComponent<Ctx, N, G extends object | undefined, P extends Props, Sg extends Signals, RD = undefined> extends TungstenSignalsComponent<P, Sg, RD> {
|
|
26
|
+
get tungsten(): PipelineHelpers<Ctx, N, G>;
|
|
27
|
+
}
|
|
28
|
+
type SelectStore<Ctx, N, G extends object | undefined, Schema extends object> = (context: PipelineHelpers<Ctx, N, G>['context'], networked: N) => ReadonlyTrueStore<Schema>;
|
|
29
|
+
export declare abstract class PipelineSimpleStoreComponent<Ctx, N, G extends object | undefined, St extends object, P extends Props = Props, RD = undefined> extends TungstenBaseSimpleStoreComponent<P, RD, St> {
|
|
30
|
+
get tungsten(): PipelineHelpers<Ctx, N, G>;
|
|
31
|
+
protected createStore<Schema extends object>(select: SelectStore<Ctx, N, G, Schema>): ComponentStore<Schema>;
|
|
32
|
+
}
|
|
33
|
+
export declare abstract class PipelineStatefulStoreComponent<Ctx, N, G extends object | undefined, St extends object, P extends Props, S extends State, RD = undefined> extends TungstenBaseStatefulStoreComponent<P, S, RD, St> {
|
|
34
|
+
get tungsten(): PipelineHelpers<Ctx, N, G>;
|
|
35
|
+
protected createStore<Schema extends object>(select: SelectStore<Ctx, N, G, Schema>): ComponentStore<Schema>;
|
|
36
|
+
}
|
|
37
|
+
type Statics<T> = Omit<T, 'prototype'>;
|
|
38
|
+
export type PipelineComponents<Ctx, N, G extends object | undefined> = {
|
|
39
|
+
SimpleComponent: (abstract new <P extends Props = Props, RD = undefined>(pkg: ConstructPackage<P, RD>) => PipelineSimpleComponent<Ctx, N, G, P, RD>) & Statics<typeof PipelineSimpleComponent>;
|
|
40
|
+
StatefulComponent: (abstract new <P extends Props = Props, S extends State = State, RD = undefined>(pkg: ConstructPackage<P, RD>) => PipelineStatefulComponent<Ctx, N, G, P, S, RD>) & Statics<typeof PipelineStatefulComponent>;
|
|
41
|
+
SignalsComponent: (abstract new <P extends Props = Props, Sg extends Signals = Signals, RD = undefined>(pkg: ConstructPackage<P, RD>) => PipelineSignalsComponent<Ctx, N, G, P, Sg, RD>) & Statics<typeof PipelineSignalsComponent>;
|
|
42
|
+
SimpleStoreComponent: (abstract new <St extends object, P extends Props = Props, RD = undefined>(pkg: ConstructPackage<P, RD>) => PipelineSimpleStoreComponent<Ctx, N, G, St, P, RD>) & Statics<typeof PipelineSimpleStoreComponent>;
|
|
43
|
+
StatefulStoreComponent: (abstract new <St extends object, P extends Props = Props, S extends State = State, RD = undefined>(pkg: ConstructPackage<P, RD>) => PipelineStatefulStoreComponent<Ctx, N, G, St, P, S, RD>) & Statics<typeof PipelineStatefulStoreComponent>;
|
|
44
|
+
};
|
|
45
|
+
type StageTypes<X> = X extends {
|
|
46
|
+
SimpleStoreComponent: abstract new (...args: any) => PipelineSimpleStoreComponent<infer Ctx, infer N, any, any, any, any>;
|
|
47
|
+
} ? {
|
|
48
|
+
context: Ctx extends object ? Ctx : Nothing;
|
|
49
|
+
networked: N;
|
|
50
|
+
} : never;
|
|
51
|
+
export type PipelineContext<X> = StageTypes<X>['context'];
|
|
52
|
+
export type PipelineNetworked<X> = StageTypes<X>['networked'];
|
|
53
|
+
export type PipelineResult<X> = StageTypes<X>;
|
|
54
|
+
export type PipelineInit<X> = X extends {
|
|
55
|
+
routes: Routes<any, infer I, any, any, any>;
|
|
56
|
+
} ? I : never;
|
|
57
|
+
declare const $stage: unique symbol;
|
|
58
|
+
type StageRecord<Result, Ctx> = {
|
|
59
|
+
result: Result;
|
|
60
|
+
context: Ctx;
|
|
61
|
+
};
|
|
62
|
+
type Marked<Result, Ctx, Stages> = {
|
|
63
|
+
readonly [$stage]?: StageRecord<Result, Ctx> & {
|
|
64
|
+
stages: Stages;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
type StagesOf<X> = X extends {
|
|
68
|
+
readonly [$stage]?: {
|
|
69
|
+
stages: infer S;
|
|
70
|
+
};
|
|
71
|
+
} ? S : unknown;
|
|
72
|
+
export type StageMark<This, Name extends string, Result, Ctx> = Marked<Result, Ctx, StagesOf<This> & {
|
|
73
|
+
[K in Name]: StageRecord<Result, Ctx>;
|
|
74
|
+
}>;
|
|
75
|
+
type OwnRecord<X> = X extends Marked<infer R, infer C, any> ? StageRecord<R, C> : never;
|
|
76
|
+
type RecordOf<X, Name> = [Name] extends [never] ? OwnRecord<X> : Name extends keyof StagesOf<X> ? StagesOf<X>[Name] : never;
|
|
77
|
+
export type PipelineStageResult<X, Name extends keyof StagesOf<X> = never> = RecordOf<X, Name> extends StageRecord<infer R, any> ? R : never;
|
|
78
|
+
export type PipelineStageContext<X, Name extends keyof StagesOf<X> = never> = RecordOf<X, Name> extends StageRecord<any, infer C> ? (C extends object ? C : Nothing) : never;
|
|
79
|
+
type Process<Req, Previous, X, G = never> = (reqRes: Req | null, previous: Previous, allRoutesData: G) => MaybePromise<X>;
|
|
80
|
+
export type SerializableData<G> = G extends object ? Serializable<G> : never;
|
|
81
|
+
export type AllRoutesDataProcess<Req, I, G> = (reqRes: Req | null, init: I) => MaybePromise<G & SerializableData<NoInfer<G>>>;
|
|
82
|
+
type RoutesFunction<Req, I, G extends object | undefined> = (reqRes: Req | null, init: I) => RoutesWithSettings<G> | RoutesArray<G> | [];
|
|
83
|
+
type Routes<Req, I, Ctx, N, G extends object | undefined> = {
|
|
84
|
+
<const R extends RoutesFunction<Req, I, G>>(routes: R & NoDuplicatePaths<R>): PipelineApp<R, DeliveredContext<Ctx>, N, G>;
|
|
85
|
+
<const R extends RoutesFunction<Req, I, G>>(options: RoutesOptions, routes: R & NoDuplicatePaths<R>): PipelineApp<R, DeliveredContext<Ctx>, N, G>;
|
|
86
|
+
};
|
|
87
|
+
export type PostStage<Req, I, Ctx, N, G extends object | undefined> = PipelineComponents<Ctx, N, G> & {
|
|
88
|
+
routes: Routes<Req, I, Ctx, N, G>;
|
|
89
|
+
};
|
|
90
|
+
export type DataStage<Req, I, G extends object | undefined> = PostStage<Req, I, I, Nothing, G> & {
|
|
91
|
+
post: <P extends StageContext, This>(this: This, process: Process<Req, I, P, G>) => PostStage<Req, I, P, Nothing, G> & StageMark<This, 'post', P, P>;
|
|
92
|
+
};
|
|
93
|
+
export type InitStage<Req, I> = DataStage<Req, I, undefined> & {
|
|
94
|
+
allRoutesData: <G extends object, This>(this: This, process: AllRoutesDataProcess<Req, I, G>) => DataStage<Req, I, G> & StageMark<This, 'allRoutesData', G, I>;
|
|
95
|
+
};
|
|
96
|
+
export type ServerStage<Req> = InitStage<Req, undefined> & {
|
|
97
|
+
init: <I extends StageContext | undefined, This>(this: This, process: Process<Req, undefined, I>) => InitStage<Req, I> & StageMark<This, 'init', I, I>;
|
|
98
|
+
};
|
|
99
|
+
export declare const loosely: <T>(process: unknown) => T;
|
|
100
|
+
export declare function postStage<Req, I, Ctx, N, G extends object | undefined>(definition: PipelineDefinition): PostStage<Req, I, Ctx, N, G>;
|
|
101
|
+
export declare function checkServer(builder: string, lib: ServerKind): void;
|
|
102
|
+
export type PipelineBuilder = {
|
|
103
|
+
server: <Kind extends ServerKind>(kind: Kind) => ServerStage<ServerRequests[Kind]>;
|
|
104
|
+
};
|
|
105
|
+
export declare const pipeline: PipelineBuilder;
|
|
106
|
+
export {};
|
|
107
|
+
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/pipeline/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { TungstenBaseSimpleStoreComponent, TungstenBaseStatefulStoreComponent, TungstenSignalsComponent, TungstenSimpleComponent, TungstenStatefulComponent } from "../Components.js";
|
|
2
|
+
import { $pipelineApp } from './pipelineDefinition.js';
|
|
3
|
+
import { runClientPipeline } from './runPipeline.js';
|
|
4
|
+
const pipelineHelpers = helpers =>
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- the same values
|
|
6
|
+
helpers;
|
|
7
|
+
export class PipelineSimpleComponent extends TungstenSimpleComponent {
|
|
8
|
+
get tungsten() {
|
|
9
|
+
return pipelineHelpers(super.tungsten);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class PipelineStatefulComponent extends TungstenStatefulComponent {
|
|
13
|
+
get tungsten() {
|
|
14
|
+
return pipelineHelpers(super.tungsten);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class PipelineSignalsComponent extends TungstenSignalsComponent {
|
|
18
|
+
get tungsten() {
|
|
19
|
+
return pipelineHelpers(super.tungsten);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
// The app makes its store components: `store = this.createStore(context => context.store)`
|
|
23
|
+
export class PipelineSimpleStoreComponent extends TungstenBaseSimpleStoreComponent {
|
|
24
|
+
get tungsten() {
|
|
25
|
+
return pipelineHelpers(super.tungsten);
|
|
26
|
+
}
|
|
27
|
+
createStore(select) {
|
|
28
|
+
const {
|
|
29
|
+
context,
|
|
30
|
+
networked
|
|
31
|
+
} = this.tungsten;
|
|
32
|
+
return this.__proxyStore(select(context, networked));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export class PipelineStatefulStoreComponent extends TungstenBaseStatefulStoreComponent {
|
|
36
|
+
get tungsten() {
|
|
37
|
+
return pipelineHelpers(super.tungsten);
|
|
38
|
+
}
|
|
39
|
+
createStore(select) {
|
|
40
|
+
const {
|
|
41
|
+
context,
|
|
42
|
+
networked
|
|
43
|
+
} = this.tungsten;
|
|
44
|
+
return this.__proxyStore(select(context, networked));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const pipelineComponents = {
|
|
48
|
+
SimpleComponent: PipelineSimpleComponent,
|
|
49
|
+
StatefulComponent: PipelineStatefulComponent,
|
|
50
|
+
SignalsComponent: PipelineSignalsComponent,
|
|
51
|
+
SimpleStoreComponent: PipelineSimpleStoreComponent,
|
|
52
|
+
StatefulStoreComponent: PipelineStatefulStoreComponent
|
|
53
|
+
};
|
|
54
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- typed by the stage
|
|
55
|
+
export const loosely = process => process;
|
|
56
|
+
function makeApp(definition, args) {
|
|
57
|
+
const [routesOptions, routes] = args.length === 2 ? args : [{}, args[0]];
|
|
58
|
+
return {
|
|
59
|
+
...definition,
|
|
60
|
+
routes,
|
|
61
|
+
routesOptions,
|
|
62
|
+
[$pipelineApp]: true
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export function postStage(definition) {
|
|
66
|
+
return {
|
|
67
|
+
...pipelineComponents,
|
|
68
|
+
routes: (...args) => makeApp(definition, args)
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function dataStage(definition) {
|
|
72
|
+
return {
|
|
73
|
+
...postStage(definition),
|
|
74
|
+
post: process => postStage({
|
|
75
|
+
...definition,
|
|
76
|
+
post: loosely(process)
|
|
77
|
+
})
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function initStage(definition) {
|
|
81
|
+
return {
|
|
82
|
+
...dataStage(definition),
|
|
83
|
+
allRoutesData: process => dataStage({
|
|
84
|
+
...definition,
|
|
85
|
+
allRoutesData: loosely(process)
|
|
86
|
+
})
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function serverStage(definition) {
|
|
90
|
+
return {
|
|
91
|
+
...initStage(definition),
|
|
92
|
+
init: process => initStage({
|
|
93
|
+
...definition,
|
|
94
|
+
init: loosely(process)
|
|
95
|
+
})
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export function checkServer(builder, lib) {
|
|
99
|
+
if (lib === 'hono') {
|
|
100
|
+
throw new Error(`${builder}.server('hono'): tungsten serves pages with express only, so far`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// the entry point: `export const app = pipeline.server('express').init(...).post(...)`. The split
|
|
104
|
+
// pipeline is splitPipeline, from its own module
|
|
105
|
+
export const pipeline = {
|
|
106
|
+
server: lib => {
|
|
107
|
+
checkServer('pipeline', lib);
|
|
108
|
+
return serverStage({
|
|
109
|
+
server: lib,
|
|
110
|
+
client: runClientPipeline
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
};
|