tungsten 0.6.2 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +7 -1
- package/dist/FrameworkConfig.d.ts.map +1 -1
- 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 +29 -12
- package/dist/Instance/Instance.d.ts.map +1 -1
- package/dist/Instance/Instance.js +59 -21
- package/dist/Instance/InstanceConfig.d.ts +2 -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 +62 -20
- package/dist/Servers/ProdServer.d.ts +4 -2
- package/dist/Servers/ProdServer.d.ts.map +1 -1
- package/dist/Servers/ProdServer.js +77 -18
- 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 +3 -2
- 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 +18 -0
- package/dist/componentHelpers.d.ts.map +1 -0
- package/dist/componentHelpers.js +28 -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 +14 -2
- package/dist/frameworkConfigSchema.d.ts.map +1 -1
- package/dist/frameworkConfigSchema.js +11 -2
- 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/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 +59 -46
- 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/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/makeInstanceConfigFromFrameworkConfig.d.ts.map +1 -1
- package/dist/makeInstanceConfigFromFrameworkConfig.js +1 -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 +96 -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 +64 -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 +105 -0
- package/dist/pipeline/pipeline.d.ts.map +1 -0
- package/dist/pipeline/pipeline.js +108 -0
- package/dist/pipeline/pipeline.types.test.d.ts +650 -0
- package/dist/pipeline/pipeline.types.test.d.ts.map +1 -0
- package/dist/pipeline/pipeline.types.test.js +342 -0
- package/dist/pipeline/pipelineDefinition.d.ts +67 -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 +1971 -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 +31 -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 +48 -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 +2 -1
- 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 +11 -0
- package/dist/routing/MatchedRouteInfo.d.ts.map +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/RoutePaths.js +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 +17 -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 +99 -0
- package/dist/routing/builder.d.ts.map +1 -0
- package/dist/routing/builder.js +213 -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/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/routeUrl.d.ts +4 -0
- package/dist/routing/routeUrl.d.ts.map +1 -1
- package/dist/routing/routeUrl.js +4 -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 +33 -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/createTestApp.d.ts +25 -1
- package/dist/testing/createTestApp.d.ts.map +1 -1
- package/dist/testing/createTestApp.js +12 -3
- package/dist/testing/createTestPipelineApp.d.ts +25 -0
- package/dist/testing/createTestPipelineApp.d.ts.map +1 -0
- package/dist/testing/createTestPipelineApp.js +153 -0
- package/dist/testing/ensure.d.ts +108 -0
- package/dist/testing/ensure.d.ts.map +1 -0
- package/dist/testing/ensure.js +522 -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/helpers/contentHtmlElements.d.ts.map +1 -1
- package/dist/testing/host.d.ts +80 -9
- package/dist/testing/host.d.ts.map +1 -1
- package/dist/testing/host.js +81 -20
- package/dist/testing/hostPipeline.d.ts +157 -0
- package/dist/testing/hostPipeline.d.ts.map +1 -0
- package/dist/testing/hostPipeline.js +341 -0
- package/dist/testing/hydrateTestApp.d.ts +17 -0
- package/dist/testing/hydrateTestApp.d.ts.map +1 -1
- package/dist/testing/hydrateTestApp.js +26 -6
- package/dist/testing/hydrateTestPipelineApp.d.ts +30 -0
- package/dist/testing/hydrateTestPipelineApp.d.ts.map +1 -0
- package/dist/testing/hydrateTestPipelineApp.js +190 -0
- package/dist/testing/index.d.ts +6 -3
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +4 -1
- package/dist/testing/resolveContent.d.ts +16 -0
- package/dist/testing/resolveContent.d.ts.map +1 -0
- package/dist/testing/resolveContent.js +65 -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 +20 -18
- 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/dotenv.js +2 -2
- package/vendor/express.js +61 -10
- package/vendor/manifest.json +2 -2
- 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 → routing}/MatchedRouteInfo.js +0 -0
|
@@ -2,7 +2,13 @@ import type { ConstructPackage, TungstenBaseComponent, TungstenBaseComponentType
|
|
|
2
2
|
import type { TrueStore } from '../Store/makeStore.js';
|
|
3
3
|
import type { Endpoint, Path } from '../routing/RouteTypes.js';
|
|
4
4
|
import type { ErrorRouteType } from '../routing/ErrorRouteType.js';
|
|
5
|
+
import type { RoutesArray } from '../routing/routesArray.js';
|
|
5
6
|
import type { ReqRes } from '../ReqRes.js';
|
|
7
|
+
import type { Context } from '../context/registerContext.js';
|
|
8
|
+
import type { NetworkedData } from '../routing/routingRegistry.js';
|
|
9
|
+
import { Instance } from '../Instance/Instance.js';
|
|
10
|
+
import { type MountedTungstenRoot } from '../update/integrateUpdateVdom.js';
|
|
11
|
+
import { UpdateScheduler } from '../update/UpdateScheduler.js';
|
|
6
12
|
export type ComponentProps<ComponentType extends TungstenBaseComponentType<any, any>> = InstanceType<ComponentType>['props'];
|
|
7
13
|
export type TestStoreRegistration<Schema extends object> = {
|
|
8
14
|
getStore: (stores: TrueStore<unknown>[]) => TrueStore<Schema>;
|
|
@@ -22,8 +28,14 @@ export type TestAppOptions<Props extends object> = {
|
|
|
22
28
|
routeData?: unknown;
|
|
23
29
|
globalData?: Record<string, unknown>;
|
|
24
30
|
stores?: readonly TestStoreOverride<any>[];
|
|
25
|
-
routes?: TestRoutes |
|
|
31
|
+
routes?: TestRoutes | RoutesArray | TestRoutesFunction;
|
|
32
|
+
fileVersions?: Record<string, string>;
|
|
33
|
+
context?: Context;
|
|
34
|
+
networkedData?: NetworkedData;
|
|
26
35
|
};
|
|
36
|
+
type TestRoutesFunction = {
|
|
37
|
+
routes(reqRes: ReqRes | null, context: Context): TestRoutes | RoutesArray;
|
|
38
|
+
}['routes'];
|
|
27
39
|
export type TestRoutes = {
|
|
28
40
|
[key in Path]: Endpoint<any, any>;
|
|
29
41
|
} & {
|
|
@@ -43,5 +55,17 @@ export type TestApp<Component extends TungstenBaseComponent> = {
|
|
|
43
55
|
export type CreateTestAppArgs<Props extends object> = object extends Props ? [options?: TestAppOptions<Props>] : keyof Props extends never ? [options?: TestAppOptions<Props>] : [options: TestAppOptions<Props> & {
|
|
44
56
|
props: Props;
|
|
45
57
|
}];
|
|
58
|
+
export declare class TestAppImplementation<Component extends TungstenBaseComponent> implements TestApp<Component> {
|
|
59
|
+
#private;
|
|
60
|
+
readonly document: Document;
|
|
61
|
+
readonly container: HTMLElement;
|
|
62
|
+
readonly component: Component;
|
|
63
|
+
constructor(document: Document, container: HTMLElement, component: Component, instance: Instance, scheduler: UpdateScheduler, root: MountedTungstenRoot<TungstenBaseComponentType<any, any>>, ownsContainer: boolean);
|
|
64
|
+
resolved: () => Promise<void>;
|
|
65
|
+
setProps: (props: Component["props"]) => Promise<void>;
|
|
66
|
+
[Symbol.asyncDispose]: () => Promise<void>;
|
|
67
|
+
unmount: () => Promise<void>;
|
|
68
|
+
}
|
|
46
69
|
export declare function createTestApp<Props extends TungstenComponentPropsBase, Component extends TungstenBaseComponent<any, any>, RouteData = undefined>(RootComponent: new (pkg: ConstructPackage<Props, RouteData>) => Component, ...args: CreateTestAppArgs<Props>): Promise<TestApp<Component>>;
|
|
70
|
+
export {};
|
|
47
71
|
//# sourceMappingURL=createTestApp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTestApp.d.ts","sourceRoot":"","sources":["../../src/testing/createTestApp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,gBAAgB,
|
|
1
|
+
{"version":3,"file":"createTestApp.d.ts","sourceRoot":"","sources":["../../src/testing/createTestApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a),
|
|
|
8
8
|
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"); }
|
|
9
9
|
import { Instance } from '../Instance/Instance.js';
|
|
10
10
|
import { initStores } from '../Servers/initStores.js';
|
|
11
|
+
import { toRoutes } from '../routing/routesArray.js';
|
|
11
12
|
import { createTungstenRootComponent, deleteTungstenRoot } from '../update/integrateUpdateVdom.js';
|
|
12
13
|
import { UpdateScheduler } from '../update/UpdateScheduler.js';
|
|
13
14
|
import { waitForEnvIfLoading } from './loadEnv.js';
|
|
@@ -22,7 +23,7 @@ var _scheduler = /*#__PURE__*/new WeakMap();
|
|
|
22
23
|
var _root = /*#__PURE__*/new WeakMap();
|
|
23
24
|
var _ownsContainer = /*#__PURE__*/new WeakMap();
|
|
24
25
|
var _unmounted = /*#__PURE__*/new WeakMap();
|
|
25
|
-
class TestAppImplementation {
|
|
26
|
+
export class TestAppImplementation {
|
|
26
27
|
constructor(document, container, component, instance, scheduler, root, ownsContainer) {
|
|
27
28
|
_defineProperty(this, "document", void 0);
|
|
28
29
|
_defineProperty(this, "container", void 0);
|
|
@@ -103,6 +104,10 @@ RootComponent, ...args) {
|
|
|
103
104
|
}
|
|
104
105
|
const location = options?.location ?? '/';
|
|
105
106
|
const globalData = options?.globalData ?? {};
|
|
107
|
+
// made once, as a request makes them: the routes function, the stores and the instance must all
|
|
108
|
+
// see the same objects, which separate `?? {}`s at each use did not give them
|
|
109
|
+
const context = options?.context ?? {};
|
|
110
|
+
const networkedData = options?.networkedData ?? {};
|
|
106
111
|
const matchedRouteInfo = {
|
|
107
112
|
key: null,
|
|
108
113
|
params: options?.routeParams ?? {},
|
|
@@ -122,7 +127,7 @@ RootComponent, ...args) {
|
|
|
122
127
|
internalStore,
|
|
123
128
|
stores,
|
|
124
129
|
storeSubscriptions
|
|
125
|
-
} = initStores(location, null, globalData, matchedRouteInfo);
|
|
130
|
+
} = initStores(location, null, globalData, matchedRouteInfo, null, context, networkedData);
|
|
126
131
|
const instanceConfig = {
|
|
127
132
|
prod: false,
|
|
128
133
|
useRootComponent: true,
|
|
@@ -134,8 +139,12 @@ RootComponent, ...args) {
|
|
|
134
139
|
// routing() falls back to the built-in 404 when neither '404' nor 'default' is given
|
|
135
140
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
136
141
|
const appRoutes = options?.routes ?? {};
|
|
137
|
-
|
|
142
|
+
// dev, so a path given twice fails the test
|
|
143
|
+
const routes = toRoutes(typeof appRoutes === 'function' ? appRoutes(null, context, networkedData) : appRoutes, true);
|
|
138
144
|
const instance = new Instance(location, instanceConfig, null, appRoutes, routes, internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, runtimeContext);
|
|
145
|
+
instance.fileVersions = options?.fileVersions;
|
|
146
|
+
instance.context = context;
|
|
147
|
+
instance.networkedData = networkedData;
|
|
139
148
|
try {
|
|
140
149
|
for (const override of options?.stores ?? []) {
|
|
141
150
|
const store = override.registration.getStore(instance.stores);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ConstructPackage, TungstenBaseComponent, TungstenComponentPropsBase } from '../Components.jsx';
|
|
2
|
+
import type { PipelineApp } from '../pipeline/pipelineDefinition.js';
|
|
3
|
+
import { type TestApp, type TestStoreOverride } from './createTestApp.js';
|
|
4
|
+
export type TestPipelineAppOptions<Props extends object> = {
|
|
5
|
+
document?: Document;
|
|
6
|
+
props?: Props;
|
|
7
|
+
container?: HTMLElement;
|
|
8
|
+
location?: string;
|
|
9
|
+
stores?: readonly TestStoreOverride<any>[];
|
|
10
|
+
fileVersions?: Record<string, string>;
|
|
11
|
+
allRoutesData?: object;
|
|
12
|
+
networked?: object;
|
|
13
|
+
};
|
|
14
|
+
export type TestPipelineApp<Component extends TungstenBaseComponent> = TestApp<Component>;
|
|
15
|
+
export type CreateTestPipelineAppArgs<Props extends object> = object extends Props ? [options?: TestPipelineAppOptions<Props>] : keyof Props extends never ? [options?: TestPipelineAppOptions<Props>] : [options: TestPipelineAppOptions<Props> & {
|
|
16
|
+
props: Props;
|
|
17
|
+
}];
|
|
18
|
+
/**
|
|
19
|
+
* createTestApp() for an app built with pipeline() or splitPipeline(): the app's browser stages
|
|
20
|
+
* run - Init, the all-routes data, Post - and the location is routed against its routes, so the
|
|
21
|
+
* test sees the context, stores and route the app's own page would. The app is a .routes()
|
|
22
|
+
* result: the app's own export, a smaller set of routes on the same pipeline, or another pipeline.
|
|
23
|
+
*/
|
|
24
|
+
export declare function createTestPipelineApp<Props extends TungstenComponentPropsBase, Component extends TungstenBaseComponent<any, any>, RouteData = undefined>(app: PipelineApp<any>, RootComponent: new (pkg: ConstructPackage<Props, RouteData>) => Component, ...args: CreateTestPipelineAppArgs<Props>): Promise<TestPipelineApp<Component>>;
|
|
25
|
+
//# sourceMappingURL=createTestPipelineApp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTestPipelineApp.d.ts","sourceRoot":"","sources":["../../src/testing/createTestPipelineApp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,gBAAgB,EAAE,qBAAqB,EAAE,0BAA0B,EACtE,MAAM,mBAAmB,CAAA;AAM1B,OAAO,KAAK,EAAa,WAAW,EAAgB,MAAM,mCAAmC,CAAA;AAa7F,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,iBAAiB,EAAyB,MAAM,oBAAoB,CAAA;AAIhG,MAAM,MAAM,sBAAsB,CAAC,KAAK,SAAS,MAAM,IAAI;IACvD,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,SAAS,CAAC,EAAE,WAAW,CAAA;IAEvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAA;IAE1C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAErC,aAAa,CAAC,EAAE,MAAM,CAAA;IAGtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,qBAAqB,IAAI,OAAO,CAAC,SAAS,CAAC,CAAA;AAEzF,MAAM,MAAM,yBAAyB,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAC5E,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,GACzC,MAAM,KAAK,SAAS,KAAK,GACrB,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,GACzC,CAAC,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAAA;AAoDrE;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACvC,KAAK,SAAS,0BAA0B,EACxC,SAAS,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,EACjD,SAAS,GAAG,SAAS,EAErB,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,EAErB,aAAa,EAAE,KAAK,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,SAAS,EACzE,GAAG,IAAI,EAAE,yBAAyB,CAAC,KAAK,CAAC,GAC1C,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CA+HrC"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { clientRoute } from '../pipeline/pipelineDefinition.js';
|
|
2
|
+
import { Instance } from '../Instance/Instance.js';
|
|
3
|
+
import { JSONstringify } from '../json.js';
|
|
4
|
+
import { initStores } from '../Servers/initStores.js';
|
|
5
|
+
import { routing } from "../Servers/routing.js";
|
|
6
|
+
import { fromTransport, NetworkedTransport } from '../pipeline/networkedTransport.js';
|
|
7
|
+
import { afterRoutingFor, pipelineContext, pipelineRoutes, routingContext, routingNetworkedData } from '../pipeline/runPipeline.js';
|
|
8
|
+
import { splitContext } from '../pipeline/runSplitPipeline.js';
|
|
9
|
+
import { createTungstenRootComponent } from '../update/integrateUpdateVdom.js';
|
|
10
|
+
import { UpdateScheduler } from '../update/UpdateScheduler.js';
|
|
11
|
+
import { TestAppImplementation } from './createTestApp.js';
|
|
12
|
+
import { waitForEnvIfLoading } from './loadEnv.js';
|
|
13
|
+
// the symmetric pipeline's stages, with null for the request
|
|
14
|
+
async function runSymmetric(app, allRoutesData) {
|
|
15
|
+
const init = await app.init?.(null, undefined);
|
|
16
|
+
const data = allRoutesData ?? (await app.allRoutesData?.(null, init)) ?? {};
|
|
17
|
+
const post = await app.post?.(null, init, data);
|
|
18
|
+
const rerun = app.allRoutesData;
|
|
19
|
+
return {
|
|
20
|
+
init,
|
|
21
|
+
context: pipelineContext(init, post),
|
|
22
|
+
routingContext: init,
|
|
23
|
+
routingNetworkedData: undefined,
|
|
24
|
+
networked: {},
|
|
25
|
+
allRoutesData: data,
|
|
26
|
+
rerunAllRoutesData: rerun && (async () => rerun(null, init)),
|
|
27
|
+
afterRouting: undefined
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
async function runSplit(app, allRoutesData, served) {
|
|
31
|
+
const page = JSON.parse(JSONstringify(new NetworkedTransport(served))); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- toJSON gives an object
|
|
32
|
+
const networked = fromTransport(page) ?? {};
|
|
33
|
+
const init = await app.clientInit?.(networked);
|
|
34
|
+
const data = allRoutesData ?? (await app.clientAllRoutesData?.(init)) ?? {};
|
|
35
|
+
const post = await app.clientPost?.(init, data);
|
|
36
|
+
const context = splitContext(init, post);
|
|
37
|
+
const rerun = app.clientAllRoutesData;
|
|
38
|
+
const afterRouting = app.clientAfterRouting;
|
|
39
|
+
return {
|
|
40
|
+
init,
|
|
41
|
+
context,
|
|
42
|
+
routingContext: init?.context,
|
|
43
|
+
routingNetworkedData: init?.networked,
|
|
44
|
+
networked,
|
|
45
|
+
allRoutesData: data,
|
|
46
|
+
rerunAllRoutesData: rerun && (async () => rerun(init)),
|
|
47
|
+
afterRouting: afterRouting && (async (route, allRoutes) => splitContext(await afterRouting(context, route, allRoutes), undefined))
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* createTestApp() for an app built with pipeline() or splitPipeline(): the app's browser stages
|
|
52
|
+
* run - Init, the all-routes data, Post - and the location is routed against its routes, so the
|
|
53
|
+
* test sees the context, stores and route the app's own page would. The app is a .routes()
|
|
54
|
+
* result: the app's own export, a smaller set of routes on the same pipeline, or another pipeline.
|
|
55
|
+
*/
|
|
56
|
+
export async function createTestPipelineApp(app,
|
|
57
|
+
// Props is inferred from both the class and `props`, so literal props are typed by the component
|
|
58
|
+
RootComponent, ...args) {
|
|
59
|
+
await waitForEnvIfLoading();
|
|
60
|
+
const options = args[0];
|
|
61
|
+
const suppliedDocument = options?.document ?? globalThis.document;
|
|
62
|
+
if (suppliedDocument === undefined) {
|
|
63
|
+
// eslint-disable-line @typescript-eslint/no-unnecessary-condition
|
|
64
|
+
throw new Error('createTestPipelineApp() requires options.document when no global document is' + ' available.');
|
|
65
|
+
}
|
|
66
|
+
const document = suppliedDocument;
|
|
67
|
+
const ownsContainer = options?.container === undefined;
|
|
68
|
+
const container = options?.container ?? document.createElement('div');
|
|
69
|
+
if (container.ownerDocument !== document) {
|
|
70
|
+
throw new Error('The TestApp container must belong to options.document.');
|
|
71
|
+
}
|
|
72
|
+
if (container.childNodes.length > 0) {
|
|
73
|
+
throw new Error('The TestApp container must be empty before mounting.');
|
|
74
|
+
}
|
|
75
|
+
const stages = app.split === true ? await runSplit(app, options?.allRoutesData, options?.networked ?? {}) : await runSymmetric(app, options?.allRoutesData);
|
|
76
|
+
const location = options?.location ?? '/';
|
|
77
|
+
const allRoutesData = stages.allRoutesData; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the framework brands what it builds
|
|
78
|
+
const routeContext = routingContext(stages.routingContext);
|
|
79
|
+
const networkedData = routingNetworkedData(stages.routingNetworkedData);
|
|
80
|
+
// dev, so a path given twice fails the test
|
|
81
|
+
const routes = pipelineRoutes(app, null, stages.init, true);
|
|
82
|
+
const matchedRouteInfo = await routing(location, routes, routeContext, networkedData);
|
|
83
|
+
const afterRouting = afterRoutingFor(stages.afterRouting);
|
|
84
|
+
const context = afterRouting === undefined ? stages.context // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- as above
|
|
85
|
+
: await afterRouting(clientRoute(matchedRouteInfo, location), allRoutesData);
|
|
86
|
+
if (ownsContainer) {
|
|
87
|
+
if (document.body === null) {
|
|
88
|
+
// eslint-disable-line @typescript-eslint/no-unnecessary-condition
|
|
89
|
+
throw new Error('The supplied document must have a body element.');
|
|
90
|
+
}
|
|
91
|
+
document.body.appendChild(container);
|
|
92
|
+
}
|
|
93
|
+
const scheduler = new UpdateScheduler();
|
|
94
|
+
const runtimeContext = {
|
|
95
|
+
document,
|
|
96
|
+
window: document.defaultView,
|
|
97
|
+
scheduler,
|
|
98
|
+
navigation: false
|
|
99
|
+
};
|
|
100
|
+
const {
|
|
101
|
+
internalStore,
|
|
102
|
+
stores,
|
|
103
|
+
storeSubscriptions
|
|
104
|
+
} = initStores(location, null, allRoutesData, matchedRouteInfo, null, context, networkedData);
|
|
105
|
+
const instanceConfig = {
|
|
106
|
+
prod: false,
|
|
107
|
+
useRootComponent: true,
|
|
108
|
+
clientSideNav: true,
|
|
109
|
+
siteBasePath: '/',
|
|
110
|
+
staticSite: false,
|
|
111
|
+
csr: false
|
|
112
|
+
};
|
|
113
|
+
const appRoutes = reqRes => pipelineRoutes(app, reqRes, stages.init, true);
|
|
114
|
+
const instance = new Instance(location, instanceConfig, null, appRoutes, routes, internalStore, stores, storeSubscriptions, allRoutesData, matchedRouteInfo, runtimeContext);
|
|
115
|
+
instance.fileVersions = options?.fileVersions;
|
|
116
|
+
instance.context = context;
|
|
117
|
+
instance.networkedData = networkedData;
|
|
118
|
+
instance.pipelineNetworked = stages.networked;
|
|
119
|
+
const rerun = stages.rerunAllRoutesData;
|
|
120
|
+
instance.pipeline = {
|
|
121
|
+
routingContext: routeContext,
|
|
122
|
+
routingNetworkedData: networkedData,
|
|
123
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- as above
|
|
124
|
+
allRoutesData: rerun && (async () => await rerun()),
|
|
125
|
+
afterRouting
|
|
126
|
+
};
|
|
127
|
+
try {
|
|
128
|
+
for (const override of options?.stores ?? []) {
|
|
129
|
+
const store = override.registration.getStore(instance.stores);
|
|
130
|
+
await override.initialize(store);
|
|
131
|
+
}
|
|
132
|
+
const props = options?.props ?? {};
|
|
133
|
+
const root = await createTungstenRootComponent(RootComponent, props, matchedRouteInfo.params, matchedRouteInfo.data, instance, container);
|
|
134
|
+
const testApp = new TestAppImplementation(document, container, root.component, instance, scheduler, root, ownsContainer);
|
|
135
|
+
try {
|
|
136
|
+
await testApp.resolved();
|
|
137
|
+
return testApp;
|
|
138
|
+
} catch (error) {
|
|
139
|
+
await testApp.unmount();
|
|
140
|
+
throw error;
|
|
141
|
+
}
|
|
142
|
+
} catch (error) {
|
|
143
|
+
try {
|
|
144
|
+
instance.disposeRegisteredComponents();
|
|
145
|
+
} catch {
|
|
146
|
+
// Preserve the mount failure.
|
|
147
|
+
}
|
|
148
|
+
scheduler.dispose();
|
|
149
|
+
while (container.firstChild !== null) container.removeChild(container.firstChild);
|
|
150
|
+
if (ownsContainer) container.remove();
|
|
151
|
+
throw error;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { ContentNode } from '../ContentNode.js';
|
|
2
|
+
type Kind = 'text' | 'interruptedText' | ElementKind | 'fragment' | 'className' | 'id' | 'children' | `prop:${string}`;
|
|
3
|
+
type ElementKind = `html:${string}` | `component:${string}`;
|
|
4
|
+
type Test = (seen: unknown) => boolean;
|
|
5
|
+
type Failure = {
|
|
6
|
+
actual: unknown;
|
|
7
|
+
expected: unknown;
|
|
8
|
+
saw: string;
|
|
9
|
+
showDiff: boolean;
|
|
10
|
+
};
|
|
11
|
+
type TrackFn = (match: boolean) => boolean | void;
|
|
12
|
+
type DecideFn = (ofKind: number) => Failure | undefined;
|
|
13
|
+
type Requirement = () => [track: TrackFn, decide: DecideFn];
|
|
14
|
+
type Fact = [
|
|
15
|
+
Kind,
|
|
16
|
+
Test,
|
|
17
|
+
Requirement,
|
|
18
|
+
quantifier: string,
|
|
19
|
+
end: string,
|
|
20
|
+
spoken: string,
|
|
21
|
+
explain?: Explain | undefined
|
|
22
|
+
];
|
|
23
|
+
type Explain = (seen: unknown) => Outcome | undefined;
|
|
24
|
+
type Outcome = 'not content' | {
|
|
25
|
+
misses: Miss[];
|
|
26
|
+
met: BuiltFact[];
|
|
27
|
+
score: number;
|
|
28
|
+
};
|
|
29
|
+
type Miss = {
|
|
30
|
+
fact: BuiltFact;
|
|
31
|
+
failure: Failure;
|
|
32
|
+
sightings: Sighting[];
|
|
33
|
+
};
|
|
34
|
+
export type EnsureOptions = {
|
|
35
|
+
readable?: boolean;
|
|
36
|
+
color?: boolean;
|
|
37
|
+
};
|
|
38
|
+
type Props = Record<string, unknown> & {
|
|
39
|
+
children?: ContentNode;
|
|
40
|
+
};
|
|
41
|
+
type WithFn = (props: Props) => boolean;
|
|
42
|
+
type Quantifiers = {
|
|
43
|
+
readonly no: Ends;
|
|
44
|
+
readonly none: Ends;
|
|
45
|
+
readonly one: Ends;
|
|
46
|
+
readonly two: Ends;
|
|
47
|
+
readonly three: Ends;
|
|
48
|
+
readonly count: (num: number) => Ends;
|
|
49
|
+
readonly a: Ends;
|
|
50
|
+
readonly an: Ends;
|
|
51
|
+
readonly some: Ends;
|
|
52
|
+
readonly all: Ends;
|
|
53
|
+
};
|
|
54
|
+
type StringEnd = ((text: string) => Fact) & {
|
|
55
|
+
contains: (substring: string) => Fact;
|
|
56
|
+
matches: (regex: RegExp) => Fact;
|
|
57
|
+
};
|
|
58
|
+
type ElementEnd = Fact & {
|
|
59
|
+
with: ((facts: Fact[] | WithFn) => Fact) & Quantifiers & {
|
|
60
|
+
children: ((facts: Fact[]) => Fact) & Quantifiers;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
type Ends = {
|
|
64
|
+
text: StringEnd;
|
|
65
|
+
textCi: StringEnd;
|
|
66
|
+
interruptedText: StringEnd;
|
|
67
|
+
html: (tag: string) => ElementEnd;
|
|
68
|
+
component: (name: string) => ElementEnd;
|
|
69
|
+
fragment: () => Fact;
|
|
70
|
+
className: (className?: string) => Fact;
|
|
71
|
+
id: (id?: string) => Fact;
|
|
72
|
+
prop: (prop: string) => Fact & {
|
|
73
|
+
is: (value: unknown) => Fact;
|
|
74
|
+
contains: (substring: string) => Fact;
|
|
75
|
+
matches: (regex: RegExp) => Fact;
|
|
76
|
+
exact: (value: unknown) => Fact;
|
|
77
|
+
subset: (shape: unknown) => Fact;
|
|
78
|
+
duck: (shape: unknown) => Fact;
|
|
79
|
+
content: () => Fact & {
|
|
80
|
+
with: ((facts: Fact[]) => Fact) & Quantifiers;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
declare const _ensure: typeof ensure & Quantifiers;
|
|
85
|
+
export { _ensure as ensure };
|
|
86
|
+
export declare const no: Ends, none: Ends, one: Ends, two: Ends, three: Ends, a: Ends, an: Ends, some: Ends, all: Ends, count: (num: number) => Ends;
|
|
87
|
+
export declare class EnsureError extends Error {
|
|
88
|
+
actual: unknown;
|
|
89
|
+
expected: unknown;
|
|
90
|
+
operator: string;
|
|
91
|
+
showDiff: boolean;
|
|
92
|
+
name: string;
|
|
93
|
+
constructor(message: string, actual: unknown, expected: unknown, operator: string, showDiff: boolean);
|
|
94
|
+
}
|
|
95
|
+
declare function ensure(tree: ContentNode, facts: Fact[], options?: EnsureOptions): void;
|
|
96
|
+
export declare const children: ((facts: Fact[]) => Fact) & Quantifiers;
|
|
97
|
+
type BuiltFact = {
|
|
98
|
+
kind: Kind;
|
|
99
|
+
test: Test;
|
|
100
|
+
track: TrackFn;
|
|
101
|
+
decide: DecideFn;
|
|
102
|
+
explain: Explain | undefined;
|
|
103
|
+
chained: string;
|
|
104
|
+
spoken: string;
|
|
105
|
+
operator: string;
|
|
106
|
+
};
|
|
107
|
+
type Sighting = ['text', string] | [Exclude<Kind, 'text'>, unknown];
|
|
108
|
+
//# sourceMappingURL=ensure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../../src/testing/ensure.ts"],"names":[],"mappings":"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"}
|