tungsten 0.7.0 → 0.7.2
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/AGENTS.md +1246 -0
- package/dist/.build-complete +1 -1
- package/dist/FrameworkConfig.d.ts +2 -0
- package/dist/Instance/Instance.js +6 -33
- package/dist/Instance/InstanceConfig.d.ts +1 -0
- package/dist/Servers/DevServer.js +10 -1
- package/dist/Servers/ProdServer.d.ts +1 -0
- package/dist/Servers/ProdServer.js +18 -1
- package/dist/Servers/routing.js +9 -5
- package/dist/Servers/stubInstance.d.ts +8 -0
- package/dist/Servers/stubInstance.js +40 -0
- package/dist/build/createInstanceConfigFile.js +1 -1
- package/dist/componentHelpers.d.ts +2 -1
- package/dist/componentHelpers.js +3 -0
- package/dist/frameworkConfigSchema.d.ts +2 -0
- package/dist/frameworkConfigSchema.js +4 -1
- package/dist/hydrate/hydrate.js +31 -10
- package/dist/hydrate/stubRouting.d.ts +8 -0
- package/dist/hydrate/stubRouting.js +25 -0
- package/dist/makeFinalConfig.js +2 -0
- package/dist/makeInstanceConfigFromFrameworkConfig.js +1 -0
- package/dist/pipeline/PipelineRequestHandler.js +9 -1
- package/dist/pipeline/hydratePipeline.js +28 -9
- package/dist/pipeline/pipeline.d.ts +35 -33
- package/dist/pipeline/pipeline.js +10 -5
- package/dist/pipeline/pipelineDefinition.d.ts +20 -9
- package/dist/pipeline/runPipeline.d.ts +6 -8
- package/dist/pipeline/runPipeline.js +8 -8
- package/dist/pipeline/runSplitPipeline.d.ts +3 -3
- package/dist/pipeline/runSplitPipeline.js +12 -8
- package/dist/pipeline/splitPipeline.d.ts +8 -8
- package/dist/render/contentTreeToRenderingTree.js +4 -1
- package/dist/routing/MatchedRouteInfo.d.ts +2 -0
- package/dist/routing/MatchedRouteInfo.js +1 -1
- package/dist/routing/RouteContentFunction.d.ts +1 -1
- package/dist/routing/RouteTypes.d.ts +1 -1
- package/dist/routing/Routes.d.ts +9 -4
- package/dist/routing/builder.d.ts +2 -1
- package/dist/routing/builder.js +6 -0
- package/dist/routing/redirectOf.d.ts +11 -0
- package/dist/routing/redirectOf.js +32 -0
- package/dist/routing/routesArray.d.ts +2 -2
- package/dist/routing/routingBuilder.js +0 -1
- package/dist/testing/contentToString.d.ts +13 -0
- package/dist/testing/contentToString.js +105 -0
- package/dist/testing/display.d.ts +2 -0
- package/dist/testing/display.js +37 -0
- package/dist/testing/ensure.d.ts +52 -41
- package/dist/testing/ensure.js +204 -62
- package/dist/testing/host.d.ts +25 -25
- package/dist/testing/host.js +1 -3
- package/dist/testing/hydrateTestApp.js +4 -3
- package/dist/testing/index.d.ts +2 -3
- package/dist/testing/index.js +1 -2
- package/dist/testing/pipeline/createTestPacketApp.d.ts +30 -0
- package/dist/testing/pipeline/createTestPacketApp.js +45 -0
- package/dist/testing/pipeline/createTestPipelineApp.d.ts +70 -0
- package/dist/testing/pipeline/createTestPipelineApp.js +90 -0
- package/dist/testing/pipeline/hostPipeline.d.ts +25 -0
- package/dist/testing/pipeline/hostPipeline.js +18 -0
- package/dist/testing/{hydrateTestPipelineApp.d.ts → pipeline/hydrateTestPipelineApp.d.ts} +6 -6
- package/dist/testing/{hydrateTestPipelineApp.js → pipeline/hydrateTestPipelineApp.js} +22 -19
- package/dist/testing/pipeline/index.d.ts +5 -0
- package/dist/testing/pipeline/index.js +4 -0
- package/dist/testing/pipeline/pipelineTestApp.d.ts +34 -0
- package/dist/testing/pipeline/pipelineTestApp.js +100 -0
- package/dist/testing/pipeline/testPipelineRoute.d.ts +2 -0
- package/dist/testing/pipeline/testPipelineRoute.js +1 -0
- package/dist/testing/resolveContent.d.ts +2 -0
- package/dist/testing/resolveContent.js +9 -1
- package/package.json +10 -5
- package/vendor/css-select.js +3383 -0
- package/vendor/manifest.json +4 -3
- package/dist/AnyComponent.d.ts.map +0 -1
- package/dist/AnyComponentType.d.ts.map +0 -1
- package/dist/AppResponse.d.ts.map +0 -1
- package/dist/AppTypeExtraction.d.ts.map +0 -1
- package/dist/AssignedStyle.d.ts.map +0 -1
- package/dist/Brands.d.ts.map +0 -1
- package/dist/CjsTypes.d.ts.map +0 -1
- package/dist/ComponentInstance.d.ts.map +0 -1
- package/dist/ComponentRenderInfo.type.d.ts.map +0 -1
- package/dist/ComponentStyle.d.ts.map +0 -1
- package/dist/Components.d.ts.map +0 -1
- package/dist/ContentFunction.d.ts.map +0 -1
- package/dist/ContentNode.d.ts.map +0 -1
- package/dist/ContentNodeNew.d.ts.map +0 -1
- package/dist/CssNames.d.ts.map +0 -1
- package/dist/DomNodes.d.ts.map +0 -1
- package/dist/DomPointer.d.ts.map +0 -1
- package/dist/DomRegion.d.ts.map +0 -1
- package/dist/ExtendableHTMLElement.d.ts.map +0 -1
- package/dist/Framework.d.ts.map +0 -1
- package/dist/FrameworkConfig.d.ts.map +0 -1
- package/dist/FunctionComponent.d.ts.map +0 -1
- package/dist/FunctionComponentStandIn.d.ts.map +0 -1
- package/dist/GenericObject.type.d.ts.map +0 -1
- package/dist/HtmlElementAttributes.d.ts.map +0 -1
- package/dist/Instance/ClientRuntimeContext.d.ts.map +0 -1
- package/dist/Instance/Instance.d.ts.map +0 -1
- package/dist/Instance/InstanceConfig.d.ts.map +0 -1
- package/dist/IsDefined.d.ts.map +0 -1
- package/dist/IsIndexableObject.d.ts.map +0 -1
- package/dist/IsNumber.d.ts.map +0 -1
- package/dist/IsObject.d.ts.map +0 -1
- package/dist/Json.type.d.ts.map +0 -1
- package/dist/JsxContent.d.ts.map +0 -1
- package/dist/Key.d.ts.map +0 -1
- package/dist/KeyAttr.d.ts.map +0 -1
- package/dist/MapObject.d.ts.map +0 -1
- package/dist/Mode.d.ts.map +0 -1
- package/dist/Module.d.ts.map +0 -1
- package/dist/NoDeproxy.d.ts.map +0 -1
- package/dist/PopMessage.type.d.ts.map +0 -1
- package/dist/ProcessedStylesObject.d.ts.map +0 -1
- package/dist/RenderFunction.d.ts.map +0 -1
- package/dist/RenderedContentNode.d.ts.map +0 -1
- package/dist/RenderingNode.d.ts.map +0 -1
- package/dist/ReqRes.d.ts.map +0 -1
- package/dist/Sass.d.ts.map +0 -1
- package/dist/Script.d.ts.map +0 -1
- package/dist/ServerRpcFunction.type.d.ts.map +0 -1
- package/dist/Servers/DevServer.d.ts.map +0 -1
- package/dist/Servers/ProdServer.d.ts.map +0 -1
- package/dist/Servers/ServerMiddleware.d.ts.map +0 -1
- package/dist/Servers/StaticSiteServer.d.ts.map +0 -1
- package/dist/Servers/TungstenServer.d.ts.map +0 -1
- package/dist/Servers/cacheVersioned.d.ts.map +0 -1
- package/dist/Servers/devErrorPageAutoRetry.d.ts.map +0 -1
- package/dist/Servers/initStores.d.ts.map +0 -1
- package/dist/Servers/listenVerified.d.ts.map +0 -1
- package/dist/Servers/loadEnvsDev.d.ts.map +0 -1
- package/dist/Servers/portError.d.ts.map +0 -1
- package/dist/Servers/resetRegistrations.d.ts.map +0 -1
- package/dist/Servers/routing.d.ts.map +0 -1
- package/dist/Servers/serveStatic.d.ts.map +0 -1
- package/dist/Servers/tungstenCorePrivateEnvSchema.d.ts.map +0 -1
- package/dist/Servers/tungstenCorePublicEnvSchema.d.ts.map +0 -1
- package/dist/Store/BaseStoreSchema.d.ts.map +0 -1
- package/dist/Store/InternalStoreSchema.d.ts.map +0 -1
- package/dist/Store/ServerDataLoading.d.ts.map +0 -1
- package/dist/Store/Store.d.ts.map +0 -1
- package/dist/Store/StoreProxyInterface.d.ts.map +0 -1
- package/dist/Store/StoreSchemaClass.d.ts.map +0 -1
- package/dist/Store/StoreSubscriptions.types.d.ts.map +0 -1
- package/dist/Store/TypeSafeStore.d.ts.map +0 -1
- package/dist/Store/createStores.d.ts.map +0 -1
- package/dist/Store/exportStore.d.ts.map +0 -1
- package/dist/Store/getInternalStore.d.ts.map +0 -1
- package/dist/Store/getStore.d.ts.map +0 -1
- package/dist/Store/makeStore.d.ts.map +0 -1
- package/dist/Store/registerStore.d.ts.map +0 -1
- package/dist/Store/storeCreators.d.ts.map +0 -1
- package/dist/StoreBindVariable.d.ts.map +0 -1
- package/dist/StyleProcessor.d.ts.map +0 -1
- package/dist/TElement.d.ts.map +0 -1
- package/dist/TungstenApp.d.ts.map +0 -1
- package/dist/TungstenAppOld.d.ts.map +0 -1
- package/dist/TungstenElement.d.ts.map +0 -1
- package/dist/TungstenError.d.ts.map +0 -1
- package/dist/TungstenStyleObject.d.ts.map +0 -1
- package/dist/__deproxy.d.ts.map +0 -1
- package/dist/_client/RootComponent.d.ts.map +0 -1
- package/dist/_client/cjsHelpers.d.ts.map +0 -1
- package/dist/_client/client.d.ts.map +0 -1
- package/dist/_client/hmr.d.ts.map +0 -1
- package/dist/_client/liveReload.d.ts.map +0 -1
- package/dist/_client/liveReloadSource.d.ts.map +0 -1
- package/dist/_client/rootComponentRelFilePath.d.ts.map +0 -1
- package/dist/_client/routes.d.ts.map +0 -1
- package/dist/_testing/regexEquals.d.ts.map +0 -1
- package/dist/_testing/should.d.ts.map +0 -1
- package/dist/_testing/sxy-test-runner.types.d.ts.map +0 -1
- package/dist/alive.d.ts.map +0 -1
- package/dist/api/ApiEndpoint.d.ts.map +0 -1
- package/dist/api/ApiMethod.type.d.ts.map +0 -1
- package/dist/api/ApiRoute.d.ts.map +0 -1
- package/dist/api/ApiRoutes.d.ts.map +0 -1
- package/dist/api/Request.d.ts.map +0 -1
- package/dist/api/Response.d.ts.map +0 -1
- package/dist/api/getApiRoutes.d.ts.map +0 -1
- package/dist/api/getExport.d.ts.map +0 -1
- package/dist/api/getExportDev.d.ts.map +0 -1
- package/dist/appBuilder.d.ts.map +0 -1
- package/dist/appBuilder.types.test.d.ts +0 -110
- package/dist/appBuilder.types.test.d.ts.map +0 -1
- package/dist/appBuilder.types.test.js +0 -240
- package/dist/appOutput.d.ts.map +0 -1
- package/dist/assert.d.ts.map +0 -1
- package/dist/auth/checkPassword.d.ts.map +0 -1
- package/dist/auth/hashPassword.d.ts.map +0 -1
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/babelPlugins/BabelAddDevCacheBust.d.ts.map +0 -1
- package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts.map +0 -1
- package/dist/babelPlugins/BabelFakeType.d.ts.map +0 -1
- package/dist/babelPlugins/BabelState.type.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformBindDirect.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformBindVar.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformCjsToEsm.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformCjsToFunction.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformCjsToFunction2.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformComponentState.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformComponentStyles.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformCssImports.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformDependencyImportsOld.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformDeproxyState.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformDocInit.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformJsxExtensionsToJs.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformJsxSignals.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformReactive.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformReactiveSvelteStyle.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformRemoveBlocks.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformRemoveDevBlocks.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformRemoveServerBlocks.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformRemoveServerCode.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformSxyFrameworkImports.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformSxyJsx.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTransformUniqueComponents.d.ts.map +0 -1
- package/dist/babelPlugins/BabelTypes.d.ts.map +0 -1
- package/dist/babelPlugins/fixImportsInSassErrorMessage.d.ts.map +0 -1
- package/dist/babelPlugins/isBareImport.d.ts.map +0 -1
- package/dist/babelPlugins/test.d.ts.map +0 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +0 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +0 -1
- package/dist/babelPlugins/transformPackageImports/getWebLocationOfPackageFile.d.ts.map +0 -1
- package/dist/babelPlugins/transformPackageImports/resolveBareImport.d.ts.map +0 -1
- package/dist/bin/args.d.ts.map +0 -1
- package/dist/bin/commands/build.d.ts.map +0 -1
- package/dist/bin/commands/buildHelp.d.ts.map +0 -1
- package/dist/bin/commands/clean.d.ts.map +0 -1
- package/dist/bin/commands/compile.d.ts.map +0 -1
- package/dist/bin/commands/compileSimplePackage.d.ts.map +0 -1
- package/dist/bin/commands/dev.d.ts.map +0 -1
- package/dist/bin/commands/devmon.d.ts.map +0 -1
- package/dist/bin/commands/help.d.ts.map +0 -1
- package/dist/bin/commands/speed.d.ts.map +0 -1
- package/dist/bin/commands/start.d.ts.map +0 -1
- package/dist/bin/commands/static.d.ts.map +0 -1
- package/dist/bin/index.d.ts.map +0 -1
- package/dist/bin/moduleLoadAnalysis.d.ts.map +0 -1
- package/dist/bin/vendorHook.d.ts.map +0 -1
- package/dist/booleanAttributeValue.d.ts.map +0 -1
- package/dist/browserStorage.d.ts.map +0 -1
- package/dist/build/BabelConfig.d.ts.map +0 -1
- package/dist/build/CompilationInfo.d.ts.map +0 -1
- package/dist/build/CompilationInfoFailure.d.ts.map +0 -1
- package/dist/build/CompilationInfoSuccess.d.ts.map +0 -1
- package/dist/build/Event.type.d.ts.map +0 -1
- package/dist/build/ImportAliases.d.ts.map +0 -1
- package/dist/build/PackageList.d.ts.map +0 -1
- package/dist/build/PackagesCacheInfo.d.ts.map +0 -1
- package/dist/build/ProcessPackageResult.d.ts.map +0 -1
- package/dist/build/ProcessPackageResults.d.ts.map +0 -1
- package/dist/build/PromiseSettledResultIsPromiseRejectedResult.d.ts.map +0 -1
- package/dist/build/assetVersions.d.ts.map +0 -1
- package/dist/build/babel.user.common.config.d.ts.map +0 -1
- package/dist/build/bundle.d.ts.map +0 -1
- package/dist/build/bundleBabelOptions.d.ts.map +0 -1
- package/dist/build/clientModuleAliases.d.ts.map +0 -1
- package/dist/build/clientRoutesFile.d.ts.map +0 -1
- package/dist/build/combineComponentCss.d.ts.map +0 -1
- package/dist/build/compileJavascript.d.ts.map +0 -1
- package/dist/build/compileStyles.d.ts.map +0 -1
- package/dist/build/compileUserApp.d.ts.map +0 -1
- package/dist/build/componentStylesCache.d.ts.map +0 -1
- package/dist/build/copyAssets.d.ts.map +0 -1
- package/dist/build/copyPackageModulesToPackagesFolder.d.ts.map +0 -1
- package/dist/build/copyPublicFiles.d.ts.map +0 -1
- package/dist/build/createClientFiles.d.ts.map +0 -1
- package/dist/build/createInstanceConfigFile.d.ts.map +0 -1
- package/dist/build/createPackageVirtualFileSystem.d.ts.map +0 -1
- package/dist/build/createPackageVirtualFileSystems.d.ts.map +0 -1
- package/dist/build/customImportAliases.d.ts.map +0 -1
- package/dist/build/customPackageEntryPoints.d.ts.map +0 -1
- package/dist/build/devBundle.d.ts.map +0 -1
- package/dist/build/devBundle.rollup.config.d.ts.map +0 -1
- package/dist/build/findRequiredUserModules.d.ts.map +0 -1
- package/dist/build/frameworkDestLocation.d.ts.map +0 -1
- package/dist/build/frameworkStylesheets.d.ts.map +0 -1
- package/dist/build/getAllSxyClientModules.d.ts.map +0 -1
- package/dist/build/getPackageDirForFile.d.ts.map +0 -1
- package/dist/build/getSxyClientPackageAliases.d.ts.map +0 -1
- package/dist/build/getTempDirForAppCompilation.d.ts.map +0 -1
- package/dist/build/internalAliases.d.ts.map +0 -1
- package/dist/build/makeBabelRawConfig.d.ts.map +0 -1
- package/dist/build/makeBabelUserDevConfig.d.ts.map +0 -1
- package/dist/build/makeBabelUserProdConfig.d.ts.map +0 -1
- package/dist/build/makeEnvJavascriptContent.d.ts.map +0 -1
- package/dist/build/modifySassImports.d.ts.map +0 -1
- package/dist/build/packageIdentifier.d.ts.map +0 -1
- package/dist/build/processDataToLines.d.ts.map +0 -1
- package/dist/build/resolveSassScssImports.d.ts.map +0 -1
- package/dist/build/rollup.user.prod.config.d.ts.map +0 -1
- package/dist/build/rollupExtractComponentStylesheets.d.ts.map +0 -1
- package/dist/build/rollupProdConstants.d.ts.map +0 -1
- package/dist/build/sassImportParser.d.ts.map +0 -1
- package/dist/build/scssImportParserChatgpt.d.ts.map +0 -1
- package/dist/build/tallyBabel.d.ts.map +0 -1
- package/dist/cacheControl.d.ts.map +0 -1
- package/dist/calculateImportedStaticFileLocations.d.ts.map +0 -1
- package/dist/calledFrom.d.ts.map +0 -1
- package/dist/checkedAttributeToBoolean.d.ts.map +0 -1
- package/dist/checkedValueToBoolean.d.ts.map +0 -1
- package/dist/cliOutput.d.ts.map +0 -1
- package/dist/clone.d.ts.map +0 -1
- package/dist/compat/context.d.ts.map +0 -1
- package/dist/compat/forwardRef.d.ts.map +0 -1
- package/dist/compat/index.d.ts.map +0 -1
- package/dist/compat/propTypes.d.ts.map +0 -1
- package/dist/compat/toTungstenClassComponent.d.ts.map +0 -1
- package/dist/compat/toTungstenFunctionComponent.d.ts.map +0 -1
- package/dist/compat/types.d.ts.map +0 -1
- package/dist/componentClassName.d.ts.map +0 -1
- package/dist/componentHelpers.d.ts.map +0 -1
- package/dist/componentProxyHandlers.d.ts.map +0 -1
- package/dist/componentType.d.ts.map +0 -1
- package/dist/components/Await.d.ts.map +0 -1
- package/dist/components/Fragment.d.ts.map +0 -1
- package/dist/components/GoToComponent.d.ts.map +0 -1
- package/dist/components/Lazy.d.ts.map +0 -1
- package/dist/components/Link.d.ts.map +0 -1
- package/dist/components/NativeHtml.d.ts.map +0 -1
- package/dist/components/NoEscape.d.ts.map +0 -1
- package/dist/components/PopMessages.d.ts.map +0 -1
- package/dist/components/Protected.d.ts.map +0 -1
- package/dist/components/RawHtml.d.ts.map +0 -1
- package/dist/components/RouteRedirectComponent.d.ts.map +0 -1
- package/dist/components/Stylesheet.d.ts.map +0 -1
- package/dist/components/WebRedirectComponent.d.ts.map +0 -1
- package/dist/components/_GoToComponent.d.ts.map +0 -1
- package/dist/components/bindable/BindMode.d.ts.map +0 -1
- package/dist/components/bindable/BindVariable.d.ts.map +0 -1
- package/dist/components/bindable/BindableCheckbox.d.ts.map +0 -1
- package/dist/components/bindable/BindableInput.d.ts.map +0 -1
- package/dist/components/bindable/BindableInputNonString.d.ts.map +0 -1
- package/dist/components/bindable/BindableInputString.d.ts.map +0 -1
- package/dist/components/bindable/BindableInputTyped.d.ts.map +0 -1
- package/dist/components/bindable/BindableInputTypedLegacy.d.ts.map +0 -1
- package/dist/components/bindable/BindableRadio.d.ts.map +0 -1
- package/dist/components/bindable/BindableSelect.d.ts.map +0 -1
- package/dist/components/bindable/BindableSelectNaive.d.ts.map +0 -1
- package/dist/components/bindable/BindableTextarea.d.ts.map +0 -1
- package/dist/components/bindable/bindableCandidates.comparison.d.ts.map +0 -1
- package/dist/components/bindable/bindableHtmlElements.d.ts.map +0 -1
- package/dist/components/bindable/bindableProps.types.test.d.ts +0 -50
- package/dist/components/bindable/bindableProps.types.test.d.ts.map +0 -1
- package/dist/components/bindable/bindableProps.types.test.js +0 -252
- package/dist/components/library/RichTextEditor/RichTextEditor.d.ts.map +0 -1
- package/dist/components/library/RichTextEditor/StoredContentNode.d.ts.map +0 -1
- package/dist/components/library/RichTextEditor/activeFormats.d.ts.map +0 -1
- package/dist/components/library/RichTextEditor/contentTree.d.ts.map +0 -1
- package/dist/components/library/RichTextEditor/sanitizeAuthoredHtml.d.ts.map +0 -1
- package/dist/components/library/__StatefulMessage/MessageData.d.ts.map +0 -1
- package/dist/components/library/__StatefulMessage/StatefulMessage.d.ts.map +0 -1
- package/dist/components/library/index.d.ts.map +0 -1
- package/dist/components/makeTypedLink.d.ts.map +0 -1
- package/dist/concat.d.ts.map +0 -1
- package/dist/contentNodeSymbols.d.ts.map +0 -1
- package/dist/context/registerContext.d.ts.map +0 -1
- package/dist/copy.d.ts.map +0 -1
- package/dist/createElement.d.ts.map +0 -1
- package/dist/createRef.d.ts.map +0 -1
- package/dist/createRoutes.d.ts.map +0 -1
- package/dist/defaultConfig.d.ts.map +0 -1
- package/dist/deleteDirs.d.ts.map +0 -1
- package/dist/devBanner.d.ts.map +0 -1
- package/dist/docInit.d.ts.map +0 -1
- package/dist/domNodeChecks.d.ts.map +0 -1
- package/dist/env/Env.d.ts.map +0 -1
- package/dist/env/Interfaces.d.ts.map +0 -1
- package/dist/env/addToEnv.d.ts.map +0 -1
- package/dist/env/droppedCoreEnvKeys.d.ts.map +0 -1
- package/dist/env/funcs.d.ts.map +0 -1
- package/dist/env/getEnvSchemas.d.ts.map +0 -1
- package/dist/env/index.d.ts.map +0 -1
- package/dist/env/privateEnv.d.ts.map +0 -1
- package/dist/env/privateEnvOrThrow.d.ts.map +0 -1
- package/dist/env/publicEnv.d.ts.map +0 -1
- package/dist/env/publicEnvOrThrow.d.ts.map +0 -1
- package/dist/env/registerEnvSchemas.d.ts.map +0 -1
- package/dist/env/setPrivateEnvValidator.d.ts.map +0 -1
- package/dist/env/setPublicEnvValidator.d.ts.map +0 -1
- package/dist/env/test.d.ts.map +0 -1
- package/dist/env/types.d.ts.map +0 -1
- package/dist/env/windowGlobalEnvStatement.d.ts.map +0 -1
- package/dist/experiments.d.ts.map +0 -1
- package/dist/filePathFromUrl.d.ts.map +0 -1
- package/dist/fileVersions.d.ts.map +0 -1
- package/dist/findPackageDotJson.d.ts.map +0 -1
- package/dist/findProjectDir.d.ts.map +0 -1
- package/dist/findUserConfig.d.ts.map +0 -1
- package/dist/fixExtension.d.ts.map +0 -1
- package/dist/foreach.d.ts.map +0 -1
- package/dist/frameworkConfigSchema.d.ts.map +0 -1
- package/dist/getArrowFunctionBody.d.ts.map +0 -1
- package/dist/getComponent.d.ts.map +0 -1
- package/dist/getComponentDev.d.ts.map +0 -1
- package/dist/getConfig.d.ts.map +0 -1
- package/dist/getContentFromFunctionComponent.d.ts.map +0 -1
- package/dist/getFrameworkDir.d.ts.map +0 -1
- package/dist/getRoutes.d.ts.map +0 -1
- package/dist/getRoutesDevs.d.ts.map +0 -1
- package/dist/getStackTrace.d.ts.map +0 -1
- package/dist/getStyledContentFromFunctionComponent.d.ts.map +0 -1
- package/dist/getUserConfig.d.ts.map +0 -1
- package/dist/glob.d.ts.map +0 -1
- package/dist/globals.d.ts.map +0 -1
- package/dist/goto.d.ts.map +0 -1
- package/dist/hasDomain.d.ts.map +0 -1
- package/dist/hasValidKey.d.ts.map +0 -1
- package/dist/headChildren.d.ts.map +0 -1
- package/dist/helpers/combineClassNames.d.ts.map +0 -1
- package/dist/helpers/forwardingFetch.d.ts.map +0 -1
- package/dist/helpers/getFetchCompatibleHeaders.d.ts.map +0 -1
- package/dist/helpers/index.d.ts.map +0 -1
- package/dist/helpers/perRequest.d.ts.map +0 -1
- package/dist/hmr/applyHmrModule.d.ts.map +0 -1
- package/dist/hmr/componentIdentity.d.ts.map +0 -1
- package/dist/hmr/instanceRegistry.d.ts.map +0 -1
- package/dist/hmr/liveReloadHub.d.ts.map +0 -1
- package/dist/hmr/refreshStylesheets.d.ts.map +0 -1
- package/dist/hooks/clearCurrentComponent.d.ts.map +0 -1
- package/dist/hooks/getCurrentComponent.d.ts.map +0 -1
- package/dist/hooks/globalObj.d.ts.map +0 -1
- package/dist/hooks/globalType.d.ts.map +0 -1
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/setCurrentComponent.d.ts.map +0 -1
- package/dist/hooks/shallowCompare.d.ts.map +0 -1
- package/dist/hooks/useCallback.d.ts.map +0 -1
- package/dist/hooks/useContext.d.ts.map +0 -1
- package/dist/hooks/useEffect.d.ts.map +0 -1
- package/dist/hooks/useInstance.d.ts.map +0 -1
- package/dist/hooks/useMemo.d.ts.map +0 -1
- package/dist/hooks/useReducer.d.ts.map +0 -1
- package/dist/hooks/useRef.d.ts.map +0 -1
- package/dist/hooks/useState.d.ts.map +0 -1
- package/dist/htmlEntities.d.ts.map +0 -1
- package/dist/htmlEventHandlerKey.d.ts.map +0 -1
- package/dist/htmlEvents.d.ts.map +0 -1
- package/dist/hydrate/hydrate.d.ts.map +0 -1
- package/dist/hydrate/hydrateGlobalData.d.ts.map +0 -1
- package/dist/hydrate/reconcileHydratedAttributes.d.ts.map +0 -1
- package/dist/hydrate/renderHydrationMismatchBanner.d.ts.map +0 -1
- package/dist/importDevModuleWithRetry.d.ts.map +0 -1
- package/dist/importModule.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/indexInner.d.ts.map +0 -1
- package/dist/info.d.ts.map +0 -1
- package/dist/innerHtmlFromProps.d.ts.map +0 -1
- package/dist/isBrowser.d.ts.map +0 -1
- package/dist/isClient.d.ts.map +0 -1
- package/dist/isDev.d.ts.map +0 -1
- package/dist/isProd.d.ts.map +0 -1
- package/dist/isServer.d.ts.map +0 -1
- package/dist/iterationQueryString.d.ts.map +0 -1
- package/dist/json.d.ts.map +0 -1
- package/dist/jsx-runtime.d.ts.map +0 -1
- package/dist/jsxHelpers.d.ts.map +0 -1
- package/dist/jsxRuntime.d.ts.map +0 -1
- package/dist/jsxRuntimeSignals.d.ts.map +0 -1
- package/dist/loadPackageDotJsonFromDir.d.ts.map +0 -1
- package/dist/logAndReturn.d.ts.map +0 -1
- package/dist/makeFinalConfig.d.ts.map +0 -1
- package/dist/makeInstanceConfigFromFrameworkConfig.d.ts.map +0 -1
- package/dist/makeServerRpc.d.ts.map +0 -1
- package/dist/markOptionSelected.d.ts.map +0 -1
- package/dist/mergeConfigs.d.ts.map +0 -1
- package/dist/moduleReloader.d.ts.map +0 -1
- package/dist/mutatingFunctions.d.ts.map +0 -1
- package/dist/nbsp.d.ts.map +0 -1
- package/dist/objectMap.d.ts.map +0 -1
- package/dist/objectTypesToCopy.d.ts.map +0 -1
- package/dist/objectTypesToProxy.d.ts.map +0 -1
- package/dist/output.d.ts.map +0 -1
- package/dist/packageSettings.d.ts.map +0 -1
- package/dist/pipeLog.d.ts.map +0 -1
- package/dist/pipeline/PipelineRequestHandler.d.ts.map +0 -1
- package/dist/pipeline/contextStore.d.ts.map +0 -1
- package/dist/pipeline/hydratePipeline.d.ts.map +0 -1
- package/dist/pipeline/importRoutesModule.d.ts.map +0 -1
- package/dist/pipeline/networkedTransport.d.ts.map +0 -1
- package/dist/pipeline/pipeline.d.ts.map +0 -1
- package/dist/pipeline/pipeline.types.test.d.ts +0 -650
- package/dist/pipeline/pipeline.types.test.d.ts.map +0 -1
- package/dist/pipeline/pipeline.types.test.js +0 -342
- package/dist/pipeline/pipelineDefinition.d.ts.map +0 -1
- package/dist/pipeline/pipelineSplit.types.test.d.ts +0 -1971
- package/dist/pipeline/pipelineSplit.types.test.d.ts.map +0 -1
- package/dist/pipeline/pipelineSplit.types.test.js +0 -440
- package/dist/pipeline/runPipeline.d.ts.map +0 -1
- package/dist/pipeline/runSplitPipeline.d.ts.map +0 -1
- package/dist/pipeline/splitPipeline.d.ts.map +0 -1
- package/dist/pop.d.ts.map +0 -1
- package/dist/possibleEnvFiles.d.ts.map +0 -1
- package/dist/postcssPlugins/TransformCssNames.d.ts.map +0 -1
- package/dist/postcssPlugins/parseSelectors.d.ts.map +0 -1
- package/dist/postcssPlugins/parseSelectorsRich.d.ts.map +0 -1
- package/dist/postcssPlugins/scopeAnimationValue.d.ts.map +0 -1
- package/dist/postcssPlugins/splitCssValue.d.ts.map +0 -1
- package/dist/postcssPlugins/unwrapIgnoreMarker.d.ts.map +0 -1
- package/dist/promise.d.ts.map +0 -1
- package/dist/propsAreEqual.d.ts.map +0 -1
- package/dist/rawHtml/HtmlAllowList.d.ts.map +0 -1
- package/dist/rawHtml/decodeHtmlEntities.d.ts.map +0 -1
- package/dist/rawHtml/filterContentNode.d.ts.map +0 -1
- package/dist/rawHtml/htmlParsingTags.d.ts.map +0 -1
- package/dist/rawHtml/parseHtml.d.ts.map +0 -1
- package/dist/rawHtml/safeHtmlAllowList.d.ts.map +0 -1
- package/dist/rawHtml/sanitizeHtml.d.ts.map +0 -1
- package/dist/rawHtml/tokenizeHtml.d.ts.map +0 -1
- package/dist/reRouting/addRequireResolveHooks.d.ts.map +0 -1
- package/dist/reRouting/importLoader.d.ts.map +0 -1
- package/dist/ref.d.ts.map +0 -1
- package/dist/regexEscape.d.ts.map +0 -1
- package/dist/removeRecursive.d.ts.map +0 -1
- package/dist/render/HeadData.d.ts.map +0 -1
- package/dist/render/SxyFrameworkModule.d.ts.map +0 -1
- package/dist/render/SxyFrameworkModules.d.ts.map +0 -1
- package/dist/render/addImportMap.d.ts.map +0 -1
- package/dist/render/classComponentNodeToRenderingTree.d.ts.map +0 -1
- package/dist/render/componentNodeToRenderingTree.d.ts.map +0 -1
- package/dist/render/contentNodeToHtml.d.ts.map +0 -1
- package/dist/render/contentToHtml.d.ts.map +0 -1
- package/dist/render/contentToHtmlDev.d.ts.map +0 -1
- package/dist/render/contentTreeToRenderingTree.d.ts.map +0 -1
- package/dist/render/debug.d.ts.map +0 -1
- package/dist/render/functionComponentNodeToRenderingTree.d.ts.map +0 -1
- package/dist/render/getFunctionBodyAsString.d.ts.map +0 -1
- package/dist/render/htmlMonoTags.d.ts.map +0 -1
- package/dist/render/htmlNoSelfCloseTags.d.ts.map +0 -1
- package/dist/render/htmlSelfClosableTags.d.ts.map +0 -1
- package/dist/render/htmlSingleOnlyTags.d.ts.map +0 -1
- package/dist/render/htmlVoidTags.d.ts.map +0 -1
- package/dist/render/instantiateClassComponent.d.ts.map +0 -1
- package/dist/render/instantiateComponent.d.ts.map +0 -1
- package/dist/render/instantiateFunctionComponent.d.ts.map +0 -1
- package/dist/render/printComponentNameInSource.d.ts.map +0 -1
- package/dist/render/processBody.d.ts.map +0 -1
- package/dist/render/processHead.d.ts.map +0 -1
- package/dist/render/processHtmlNode.d.ts.map +0 -1
- package/dist/render/processProps.d.ts.map +0 -1
- package/dist/render/processRenderingNodeHtml.d.ts.map +0 -1
- package/dist/render/readDocInitScript.d.ts.map +0 -1
- package/dist/render/renderingTreeToHtml.d.ts.map +0 -1
- package/dist/render/rootToHtml.d.ts.map +0 -1
- package/dist/render/rootToHtmlDev.d.ts.map +0 -1
- package/dist/requests/axios/get.d.ts.map +0 -1
- package/dist/requests/axios/post.d.ts.map +0 -1
- package/dist/requests/fetch/FetchExtras.d.ts.map +0 -1
- package/dist/requests/fetch/_fetchPromise.d.ts.map +0 -1
- package/dist/requests/fetch/delete.d.ts.map +0 -1
- package/dist/requests/fetch/get.d.ts.map +0 -1
- package/dist/requests/fetch/mergeFetchInit.d.ts.map +0 -1
- package/dist/requests/fetch/paramsObjectToParamsString.d.ts.map +0 -1
- package/dist/requests/fetch/patch.d.ts.map +0 -1
- package/dist/requests/fetch/post.d.ts.map +0 -1
- package/dist/requests/fetch/put.d.ts.map +0 -1
- package/dist/requests/index.d.ts.map +0 -1
- package/dist/routesLocationParts.d.ts.map +0 -1
- package/dist/routing/AppRoutes.d.ts.map +0 -1
- package/dist/routing/Default404.d.ts.map +0 -1
- package/dist/routing/ErrorRouteType.d.ts.map +0 -1
- package/dist/routing/Group.d.ts.map +0 -1
- package/dist/routing/Match.type.d.ts.map +0 -1
- package/dist/routing/MatchedRoute.d.ts.map +0 -1
- package/dist/routing/MatchedRouteInfo.d.ts.map +0 -1
- package/dist/routing/Params.d.ts.map +0 -1
- package/dist/routing/ParamsFromPath.d.ts.map +0 -1
- package/dist/routing/RedirectCode.d.ts.map +0 -1
- package/dist/routing/Route.d.ts.map +0 -1
- package/dist/routing/RouteContent.d.ts.map +0 -1
- package/dist/routing/RouteContentFunction.d.ts.map +0 -1
- package/dist/routing/RouteData.d.ts.map +0 -1
- package/dist/routing/RouteDataFunction.type.d.ts.map +0 -1
- package/dist/routing/RouteDataReturnType.d.ts.map +0 -1
- package/dist/routing/RouteParams.type.d.ts.map +0 -1
- package/dist/routing/RoutePaths.d.ts.map +0 -1
- package/dist/routing/RouteProp.d.ts.map +0 -1
- package/dist/routing/RouteType.d.ts.map +0 -1
- package/dist/routing/RouteTypes.d.ts.map +0 -1
- package/dist/routing/Router.d.ts.map +0 -1
- package/dist/routing/Routes.d.ts.map +0 -1
- package/dist/routing/RoutesFunction.d.ts.map +0 -1
- package/dist/routing/RoutesWithSafeParams.d.ts.map +0 -1
- package/dist/routing/RoutingRedirect.d.ts.map +0 -1
- package/dist/routing/Serializable.d.ts.map +0 -1
- package/dist/routing/TungstenErrorInfo.d.ts.map +0 -1
- package/dist/routing/WebRedirect.d.ts.map +0 -1
- package/dist/routing/builder.d.ts.map +0 -1
- package/dist/routing/builder.trial.d.ts.map +0 -1
- package/dist/routing/compareRequestToRegex.d.ts.map +0 -1
- package/dist/routing/debug.d.ts.map +0 -1
- package/dist/routing/defineRoutes.d.ts.map +0 -1
- package/dist/routing/getPathPriority.d.ts.map +0 -1
- package/dist/routing/matchPath.d.ts.map +0 -1
- package/dist/routing/patternToRegex.d.ts.map +0 -1
- package/dist/routing/pyramidRouting.d.ts.map +0 -1
- package/dist/routing/registerGlobalData.d.ts.map +0 -1
- package/dist/routing/registerParts.types.test.d.ts +0 -2
- package/dist/routing/registerParts.types.test.d.ts.map +0 -1
- package/dist/routing/registerParts.types.test.js +0 -139
- package/dist/routing/registerRoutes.d.ts.map +0 -1
- package/dist/routing/registerRouting.d.ts.map +0 -1
- package/dist/routing/registerRouting.types.test.d.ts +0 -80
- package/dist/routing/registerRouting.types.test.d.ts.map +0 -1
- package/dist/routing/registerRouting.types.test.js +0 -120
- package/dist/routing/registrationTypes.d.ts.map +0 -1
- package/dist/routing/resolveAppRoutes.d.ts.map +0 -1
- package/dist/routing/routeSymbols.d.ts.map +0 -1
- package/dist/routing/routeUrl.d.ts.map +0 -1
- package/dist/routing/routesArray.d.ts.map +0 -1
- package/dist/routing/routesArray.types.test.d.ts +0 -2
- package/dist/routing/routesArray.types.test.d.ts.map +0 -1
- package/dist/routing/routesArray.types.test.js +0 -132
- package/dist/routing/routingBuilder.d.ts.map +0 -1
- package/dist/routing/routingBuilder.types.test.d.ts +0 -2
- package/dist/routing/routingBuilder.types.test.d.ts.map +0 -1
- package/dist/routing/routingBuilder.types.test.js +0 -171
- package/dist/routing/routingRegistry.d.ts.map +0 -1
- package/dist/routing/runContentFunction.d.ts.map +0 -1
- package/dist/routing/splitRequest.d.ts.map +0 -1
- package/dist/run.d.ts.map +0 -1
- package/dist/server.d.ts.map +0 -1
- package/dist/serverModuleLocation.d.ts.map +0 -1
- package/dist/serverRpc.d.ts.map +0 -1
- package/dist/serverRpcs.d.ts.map +0 -1
- package/dist/settings.d.ts.map +0 -1
- package/dist/signals/tracking.d.ts.map +0 -1
- package/dist/slash.d.ts.map +0 -1
- package/dist/spawnShellCommand.d.ts.map +0 -1
- package/dist/standardSchema.d.ts.map +0 -1
- package/dist/standardizeWebPath.d.ts.map +0 -1
- package/dist/startDevServer.d.ts.map +0 -1
- package/dist/stateTracking.d.ts.map +0 -1
- package/dist/staticGen/RouteDefinition.d.ts.map +0 -1
- package/dist/staticGen/getAppRoutes.d.ts.map +0 -1
- package/dist/staticGen/staticGen.d.ts.map +0 -1
- package/dist/staticGen/staticGenFunctions.d.ts.map +0 -1
- package/dist/style/jssToCss.d.ts.map +0 -1
- package/dist/style/styleContent.d.ts.map +0 -1
- package/dist/style/styleContentReact.d.ts.map +0 -1
- package/dist/style/styleContentReactClassOrClassname.d.ts.map +0 -1
- package/dist/style/styleContentSxy.d.ts.map +0 -1
- package/dist/style/styleContentSxyClassOrClassname.d.ts.map +0 -1
- package/dist/style/styleElementContent.d.ts.map +0 -1
- package/dist/style/unusedStyles.d.ts.map +0 -1
- package/dist/styleProcessors.d.ts.map +0 -1
- package/dist/symbols.d.ts.map +0 -1
- package/dist/sync/index.d.ts.map +0 -1
- package/dist/syncServer/index.d.cts.map +0 -1
- package/dist/syncServer/preload.d.ts.map +0 -1
- package/dist/testing/createTestApp.d.ts.map +0 -1
- package/dist/testing/createTestPipelineApp.d.ts +0 -25
- package/dist/testing/createTestPipelineApp.d.ts.map +0 -1
- package/dist/testing/createTestPipelineApp.js +0 -153
- package/dist/testing/ensure.d.ts.map +0 -1
- package/dist/testing/ensure.trial.d.ts.map +0 -1
- package/dist/testing/helpers/contentHtmlElements.d.ts.map +0 -1
- package/dist/testing/host.d.ts.map +0 -1
- package/dist/testing/hostPipeline.d.ts +0 -157
- package/dist/testing/hostPipeline.d.ts.map +0 -1
- package/dist/testing/hostPipeline.js +0 -341
- package/dist/testing/hydrateTestApp.d.ts.map +0 -1
- package/dist/testing/hydrateTestPipelineApp.d.ts.map +0 -1
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing/installTestDocInit.d.ts.map +0 -1
- package/dist/testing/installTestStyleProcessors.d.ts.map +0 -1
- package/dist/testing/loadEnv.d.ts.map +0 -1
- package/dist/testing/normalize.d.ts.map +0 -1
- package/dist/testing/resolveContent.d.ts.map +0 -1
- package/dist/testing/testEnvIsRequested.d.ts.map +0 -1
- package/dist/testing/testingComponentPackage.d.ts.map +0 -1
- package/dist/throwError.d.ts.map +0 -1
- package/dist/timeProfiler.d.ts.map +0 -1
- package/dist/todo.d.ts.map +0 -1
- package/dist/update/UpdateResult.d.ts.map +0 -1
- package/dist/update/UpdateScheduler.d.ts.map +0 -1
- package/dist/update/guardedUpdate.d.ts.map +0 -1
- package/dist/update/integrateUpdateVdom.d.ts.map +0 -1
- package/dist/update/integrateUpdateVdomPrebuild.d.ts.map +0 -1
- package/dist/update/pendingMounts.d.ts.map +0 -1
- package/dist/validChildren.d.ts.map +0 -1
- package/dist/warnOnFrameworkChange.d.ts.map +0 -1
- package/dist/watch.d.ts.map +0 -1
- package/dist/when.d.ts.map +0 -1
- package/dist/zones/react.d.ts.map +0 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { isPipelineApp } from '../../pipeline/pipelineDefinition.js';
|
|
2
|
+
import { routingNetworkedData } from '../../pipeline/runPipeline.js';
|
|
3
|
+
import { routing } from "../../Servers/routing.js";
|
|
4
|
+
import { toRoutes } from '../../routing/routesArray.js';
|
|
5
|
+
import { waitForEnvIfLoading } from '../loadEnv.js';
|
|
6
|
+
import { mountPipelineTestApp, pipelineTestTarget } from './pipelineTestApp.js';
|
|
7
|
+
/**
|
|
8
|
+
* createTestPipelineApp() with the pipeline's result in place of the pipeline: the component is
|
|
9
|
+
* handed the packet's context, networked data and all-routes data as they are, with no stages run.
|
|
10
|
+
* There are no routes; the location still reaches the instance.
|
|
11
|
+
*/
|
|
12
|
+
export async function createTestPacketApp(packet,
|
|
13
|
+
// Props is inferred from both the class and `props`, so literal props are typed by the component
|
|
14
|
+
RootComponent, ...args) {
|
|
15
|
+
await waitForEnvIfLoading();
|
|
16
|
+
const options = args[0];
|
|
17
|
+
if (isPipelineApp(packet) || typeof packet === 'object' && 'routes' in packet) {
|
|
18
|
+
throw new Error('createTestPacketApp() takes what a pipeline makes, { context, networked,' + ' allRoutesData }: for a pipeline or app, use createTestPipelineApp().');
|
|
19
|
+
}
|
|
20
|
+
const target = pipelineTestTarget(options, 'createTestPacketApp()');
|
|
21
|
+
const given = packet; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the constraint above
|
|
22
|
+
const location = options?.location ?? '/';
|
|
23
|
+
const context = given.context ?? {}; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the framework brands what it builds
|
|
24
|
+
const allRoutesData = given.allRoutesData; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- as above
|
|
25
|
+
const networkedData = routingNetworkedData(undefined);
|
|
26
|
+
const routes = toRoutes([], true);
|
|
27
|
+
const matchedRouteInfo = await routing(location, routes, context, networkedData);
|
|
28
|
+
return mountPipelineTestApp(target, {
|
|
29
|
+
location,
|
|
30
|
+
routes,
|
|
31
|
+
matchedRouteInfo,
|
|
32
|
+
allRoutesData,
|
|
33
|
+
context,
|
|
34
|
+
networkedData,
|
|
35
|
+
appRoutes: () => routes,
|
|
36
|
+
networked: given.networked ?? {},
|
|
37
|
+
// a navigation keeps the packet's all-routes data
|
|
38
|
+
pipeline: {
|
|
39
|
+
routingContext: context,
|
|
40
|
+
routingNetworkedData: networkedData,
|
|
41
|
+
allRoutesData: undefined,
|
|
42
|
+
afterRouting: undefined
|
|
43
|
+
}
|
|
44
|
+
}, RootComponent, options);
|
|
45
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { ConstructPackage, TungstenBaseComponent, TungstenComponentPropsBase } from '../../Components.jsx';
|
|
2
|
+
import type { AllRoutesDataConstraint, PipelineApp } from '../../pipeline/pipelineDefinition.js';
|
|
3
|
+
import type { TestApp } from '../createTestApp.js';
|
|
4
|
+
import type { PipelineTestAppOptions } from './pipelineTestApp.js';
|
|
5
|
+
type StageForApp<App> = {
|
|
6
|
+
routes: (routes: () => []) => App;
|
|
7
|
+
};
|
|
8
|
+
type AppOf<A> = A extends PipelineApp<any, any, any, any> ? A : A extends StageForApp<infer App> ? App : never;
|
|
9
|
+
type AppTypes<A> = AppOf<A> extends PipelineApp<any, infer Ctx, infer N, infer G extends AllRoutesDataConstraint> ? {
|
|
10
|
+
context: Ctx;
|
|
11
|
+
networked: N & object;
|
|
12
|
+
allRoutesData: G;
|
|
13
|
+
} : never;
|
|
14
|
+
export type PipelineAppForComponent<C> = C extends {
|
|
15
|
+
readonly tungsten: {
|
|
16
|
+
readonly context: infer Ctx;
|
|
17
|
+
readonly networked: infer N;
|
|
18
|
+
readonly allRoutesData: infer G;
|
|
19
|
+
};
|
|
20
|
+
} ? PipelineApp<any, Ctx, N, G> : 'invalid component';
|
|
21
|
+
export type PipelineForComponent<C> = PipelineAppForComponent<C> extends infer App ? App extends PipelineApp<any, any, any, any> ? StageForApp<App> : App : never;
|
|
22
|
+
type ComponentReads<C> = C extends {
|
|
23
|
+
readonly tungsten: {
|
|
24
|
+
readonly context: infer Ctx;
|
|
25
|
+
readonly networked: infer N;
|
|
26
|
+
readonly allRoutesData: infer G;
|
|
27
|
+
};
|
|
28
|
+
} ? {
|
|
29
|
+
context: Ctx;
|
|
30
|
+
networked: N;
|
|
31
|
+
allRoutesData: G;
|
|
32
|
+
} : never;
|
|
33
|
+
type DifferingKeys<Made, Read> = {
|
|
34
|
+
[K in keyof Made & keyof Read]: [Made[K]] extends [Read[K]] ? never : K;
|
|
35
|
+
}[keyof Made & keyof Read];
|
|
36
|
+
type Mismatch<Made, Read> = [DifferingKeys<Made, Read>] extends [never] ? unknown : DifferingKeys<Made, Read> extends infer Ks extends keyof Made & keyof Read ? {
|
|
37
|
+
'pipeline does not provide required data:': {
|
|
38
|
+
[K in Ks]: Read[K];
|
|
39
|
+
};
|
|
40
|
+
'pipeline provided:': {
|
|
41
|
+
[K in Ks]: Made[K];
|
|
42
|
+
};
|
|
43
|
+
} : never;
|
|
44
|
+
export type AppCheck<A, C> = [AppOf<A>] extends [never] ? A extends {
|
|
45
|
+
clientAllRoutesData: unknown;
|
|
46
|
+
} ? {
|
|
47
|
+
'add .clientAllRoutesData(): the server makes all-routes data, so the client must': true;
|
|
48
|
+
} : {
|
|
49
|
+
'not a .routes() app, or a stage .routes() can follow': true;
|
|
50
|
+
} : [ComponentReads<C>] extends [never] ? {
|
|
51
|
+
'not a tungsten component': true;
|
|
52
|
+
} : Mismatch<AppTypes<A>, ComponentReads<C>>;
|
|
53
|
+
export declare const toApp: (pipelineOrApp: unknown) => PipelineApp;
|
|
54
|
+
export type TestPipelineAppOptions<Props extends object, A = PipelineApp> = PipelineTestAppOptions<Props> & {
|
|
55
|
+
allRoutesData?: AppTypes<A>['allRoutesData'];
|
|
56
|
+
networked?: AppTypes<A>['networked'];
|
|
57
|
+
};
|
|
58
|
+
export type TestPipelineApp<Component extends TungstenBaseComponent> = TestApp<Component>;
|
|
59
|
+
export type CreateTestPipelineAppArgs<Props extends object, A = PipelineApp> = object extends Props ? [options?: TestPipelineAppOptions<Props, A>] : [options: TestPipelineAppOptions<Props, A> & {
|
|
60
|
+
props: Props;
|
|
61
|
+
}];
|
|
62
|
+
/**
|
|
63
|
+
* createTestApp() for an app built with pipeline() or splitPipeline(): the app's browser stages
|
|
64
|
+
* run - Init, the all-routes data, Post - and the location is routed against its routes, so the
|
|
65
|
+
* test sees the context, stores and route the app's own page would. The app is a .routes()
|
|
66
|
+
* result: the app's own export, a smaller set of routes on the same pipeline, or another pipeline.
|
|
67
|
+
*/
|
|
68
|
+
export declare function createTestPipelineApp<Props extends TungstenComponentPropsBase, Component extends TungstenBaseComponent<any, any>, A extends object, RouteData = undefined>(pipelineOrApp: A & AppCheck<A, Component>, RootComponent: new (pkg: ConstructPackage<Props, RouteData>) => Component, ...args: CreateTestPipelineAppArgs<Props, A>): Promise<TestPipelineApp<Component>>;
|
|
69
|
+
export {};
|
|
70
|
+
//# sourceMappingURL=createTestPipelineApp.d.ts.map
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { clientRoute, isPipelineApp } from '../../pipeline/pipelineDefinition.js';
|
|
2
|
+
import { JSONstringify } from '../../json.js';
|
|
3
|
+
import { routing } from "../../Servers/routing.js";
|
|
4
|
+
import { fromTransport, NetworkedTransport } from '../../pipeline/networkedTransport.js';
|
|
5
|
+
import { afterRoutingFor, pipelineContext, pipelineRoutes, routingContext, routingNetworkedData } from '../../pipeline/runPipeline.js';
|
|
6
|
+
import { splitContext } from '../../pipeline/runSplitPipeline.js';
|
|
7
|
+
import { waitForEnvIfLoading } from '../loadEnv.js';
|
|
8
|
+
import { mountPipelineTestApp, pipelineTestTarget } from './pipelineTestApp.js';
|
|
9
|
+
// the app, or the stage ended with empty routes
|
|
10
|
+
export const toApp = pipelineOrApp => isPipelineApp(pipelineOrApp) ? pipelineOrApp : pipelineOrApp.routes(() => []); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the harnesses' constraint: a stage
|
|
11
|
+
// the symmetric pipeline's stages, with null for the request
|
|
12
|
+
async function runSymmetric(app, allRoutesData) {
|
|
13
|
+
const init = await app.init?.(null, undefined);
|
|
14
|
+
const data = allRoutesData ?? (await app.allRoutesData?.(null, init));
|
|
15
|
+
const post = await app.post?.(null, init, data);
|
|
16
|
+
const rerun = app.allRoutesData;
|
|
17
|
+
return {
|
|
18
|
+
init,
|
|
19
|
+
context: pipelineContext(init, post),
|
|
20
|
+
routingContext: init,
|
|
21
|
+
routingNetworkedData: undefined,
|
|
22
|
+
networked: {},
|
|
23
|
+
allRoutesData: data,
|
|
24
|
+
rerunAllRoutesData: rerun && (async () => rerun(null, init)),
|
|
25
|
+
afterRouting: undefined
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
async function runSplit(app, allRoutesData, served) {
|
|
29
|
+
const page = JSON.parse(JSONstringify(new NetworkedTransport(served))); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- toJSON gives an object
|
|
30
|
+
const networked = fromTransport(page) ?? {};
|
|
31
|
+
const init = await app.clientInit?.(networked);
|
|
32
|
+
const data = allRoutesData ?? (await app.clientAllRoutesData?.(init));
|
|
33
|
+
const post = await app.clientPost?.(init, data);
|
|
34
|
+
const context = splitContext(init, post);
|
|
35
|
+
const rerun = app.clientAllRoutesData;
|
|
36
|
+
const afterRouting = app.clientAfterRouting;
|
|
37
|
+
return {
|
|
38
|
+
init,
|
|
39
|
+
context,
|
|
40
|
+
routingContext: init?.context,
|
|
41
|
+
routingNetworkedData: init?.networked,
|
|
42
|
+
networked,
|
|
43
|
+
allRoutesData: data,
|
|
44
|
+
rerunAllRoutesData: rerun && (async () => rerun(init)),
|
|
45
|
+
afterRouting: afterRouting && (async (route, allRoutes) => splitContext(await afterRouting(context, route, allRoutes), undefined))
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* createTestApp() for an app built with pipeline() or splitPipeline(): the app's browser stages
|
|
50
|
+
* run - Init, the all-routes data, Post - and the location is routed against its routes, so the
|
|
51
|
+
* test sees the context, stores and route the app's own page would. The app is a .routes()
|
|
52
|
+
* result: the app's own export, a smaller set of routes on the same pipeline, or another pipeline.
|
|
53
|
+
*/
|
|
54
|
+
export async function createTestPipelineApp(pipelineOrApp,
|
|
55
|
+
// Props is inferred from both the class and `props`, so literal props are typed by the component
|
|
56
|
+
RootComponent, ...args) {
|
|
57
|
+
await waitForEnvIfLoading();
|
|
58
|
+
const options = args[0];
|
|
59
|
+
const target = pipelineTestTarget(options, 'createTestPipelineApp()');
|
|
60
|
+
const app = toApp(pipelineOrApp);
|
|
61
|
+
const stages = app.split === true ? await runSplit(app, options?.allRoutesData, options?.networked ?? {}) : await runSymmetric(app, options?.allRoutesData);
|
|
62
|
+
const location = options?.location ?? '/';
|
|
63
|
+
const allRoutesData = stages.allRoutesData; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the framework brands what it builds
|
|
64
|
+
const routeContext = routingContext(stages.routingContext);
|
|
65
|
+
const networkedData = routingNetworkedData(stages.routingNetworkedData);
|
|
66
|
+
// dev, so a path given twice fails the test
|
|
67
|
+
const routes = pipelineRoutes(app, null, stages.init, true);
|
|
68
|
+
const matchedRouteInfo = await routing(location, routes, routeContext, networkedData);
|
|
69
|
+
const afterRouting = afterRoutingFor(stages.afterRouting);
|
|
70
|
+
const context = afterRouting === undefined ? stages.context // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- as above
|
|
71
|
+
: await afterRouting(clientRoute(matchedRouteInfo, location), allRoutesData);
|
|
72
|
+
const rerun = stages.rerunAllRoutesData;
|
|
73
|
+
return mountPipelineTestApp(target, {
|
|
74
|
+
location,
|
|
75
|
+
routes,
|
|
76
|
+
matchedRouteInfo,
|
|
77
|
+
allRoutesData,
|
|
78
|
+
context,
|
|
79
|
+
networkedData,
|
|
80
|
+
appRoutes: reqRes => pipelineRoutes(app, reqRes, stages.init, true),
|
|
81
|
+
networked: stages.networked,
|
|
82
|
+
pipeline: {
|
|
83
|
+
routingContext: routeContext,
|
|
84
|
+
routingNetworkedData: networkedData,
|
|
85
|
+
allRoutesData: rerun && (async () => await rerun()),
|
|
86
|
+
// eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- as above
|
|
87
|
+
afterRouting
|
|
88
|
+
}
|
|
89
|
+
}, RootComponent, options);
|
|
90
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { TungstenBaseComponent, TungstenComponentClass, TungstenComponentPropsBase } from '../../Components.jsx';
|
|
2
|
+
import type { ContentNodeElement } from '../../ContentNode.js';
|
|
3
|
+
import type { AppDataOptions, DontResolve, Hosted, HostedResolved, Resolve, ResolveOption, RouteOptions } from '../host.js';
|
|
4
|
+
export type { ComponentApi, Hosted, HostedResolved, HostedRoute, HostStoreOptions, Navigation, StateSetter, } from '../host.js';
|
|
5
|
+
export type HostPipelineOptions = RouteOptions & ResolveOption & AppDataOptions;
|
|
6
|
+
export type HostPipelineResolveOptions = RouteOptions & AppDataOptions & Resolve;
|
|
7
|
+
export type HostPipelineDontResolveOptions = RouteOptions & AppDataOptions & DontResolve;
|
|
8
|
+
type AnyClassComponent = TungstenBaseComponent<any, any>;
|
|
9
|
+
/** host() for a pipeline component: its data comes from the context, so there is no store option */
|
|
10
|
+
export declare function hostPipeline<Props extends TungstenComponentPropsBase, Component extends AnyClassComponent>(ComponentType: TungstenComponentClass<Props, Component>, props?: Props, options?: HostPipelineResolveOptions): Promise<HostedResolved<Component>>;
|
|
11
|
+
export declare function hostPipeline<Props extends TungstenComponentPropsBase, Component extends AnyClassComponent>(ComponentType: TungstenComponentClass<Props, Component>, props?: Props, options?: HostPipelineDontResolveOptions): Promise<Hosted<Component>>;
|
|
12
|
+
export declare function hostPipeline<Props extends TungstenComponentPropsBase, Component extends AnyClassComponent>(ComponentType: TungstenComponentClass<Props, Component>, props?: Props, options?: HostPipelineOptions): Promise<HostedResolved<Component> | Hosted<Component>>;
|
|
13
|
+
export declare namespace hostPipeline {
|
|
14
|
+
var generic: typeof hostPipelineGeneric;
|
|
15
|
+
var jsx: typeof hostPipelineJsx;
|
|
16
|
+
}
|
|
17
|
+
/** host.generic() with hostPipeline()'s options */
|
|
18
|
+
export declare function hostPipelineGeneric<Props extends TungstenComponentPropsBase, Component extends AnyClassComponent>(ComponentType: TungstenComponentClass<Props, Component>, options?: HostPipelineResolveOptions): (props: Props) => Promise<HostedResolved<Component>>;
|
|
19
|
+
export declare function hostPipelineGeneric<Props extends TungstenComponentPropsBase, Component extends AnyClassComponent>(ComponentType: TungstenComponentClass<Props, Component>, options: HostPipelineDontResolveOptions): (props: Props) => Promise<Hosted<Component>>;
|
|
20
|
+
export declare function hostPipelineGeneric<Props extends TungstenComponentPropsBase, Component extends AnyClassComponent>(ComponentType: TungstenComponentClass<Props, Component>, options?: HostPipelineOptions): (props: Props) => Promise<Hosted<Component> | HostedResolved<Component>>;
|
|
21
|
+
/** host.jsx() with hostPipeline()'s options */
|
|
22
|
+
export declare function hostPipelineJsx<Component extends AnyClassComponent = AnyClassComponent>(element: ContentNodeElement, options?: HostPipelineResolveOptions): Promise<HostedResolved<Component>>;
|
|
23
|
+
export declare function hostPipelineJsx<Component extends AnyClassComponent = AnyClassComponent>(element: ContentNodeElement, options: HostPipelineDontResolveOptions): Promise<Hosted<Component>>;
|
|
24
|
+
export declare function hostPipelineJsx<Component extends AnyClassComponent = AnyClassComponent>(element: ContentNodeElement, options?: HostPipelineOptions): Promise<Hosted<Component> | HostedResolved<Component>>;
|
|
25
|
+
//# sourceMappingURL=hostPipeline.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { host, hostJsx } from '../host.js';
|
|
2
|
+
// host()'s implementation signature, which its overloads hide
|
|
3
|
+
const hostImplementation = host;
|
|
4
|
+
// Implementation
|
|
5
|
+
export async function hostPipeline(ComponentType, props, options) {
|
|
6
|
+
return hostImplementation(ComponentType, props, options);
|
|
7
|
+
}
|
|
8
|
+
// implementation
|
|
9
|
+
export function hostPipelineGeneric(ComponentType, options) {
|
|
10
|
+
return async props => hostImplementation(ComponentType, props, options);
|
|
11
|
+
}
|
|
12
|
+
// implementation
|
|
13
|
+
export async function hostPipelineJsx(element, options) {
|
|
14
|
+
return hostJsx(element, options); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the overloads above type them
|
|
15
|
+
}
|
|
16
|
+
// the variants hang off hostPipeline() too, as host()'s do
|
|
17
|
+
hostPipeline.generic = hostPipelineGeneric;
|
|
18
|
+
hostPipeline.jsx = hostPipelineJsx;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ConstructPackage, TungstenBaseComponent, TungstenComponentPropsBase } from '
|
|
2
|
-
import type { ReqRes } from '
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type { HydrateTestApp } from '
|
|
1
|
+
import type { ConstructPackage, TungstenBaseComponent, TungstenComponentPropsBase } from '../../Components.jsx';
|
|
2
|
+
import type { ReqRes } from '../../ReqRes.js';
|
|
3
|
+
import type { TestStoreOverride } from '../createTestApp.js';
|
|
4
|
+
import type { AppCheck } from './createTestPipelineApp.js';
|
|
5
|
+
import type { HydrateTestApp } from '../hydrateTestApp.js';
|
|
6
6
|
export type HydrateTestPipelineAppOptions<Props extends object> = {
|
|
7
7
|
document?: Document;
|
|
8
8
|
props?: Props;
|
|
@@ -25,6 +25,6 @@ type HydrateTestPipelineAppArgs<Props extends object> = object extends Props ? [
|
|
|
25
25
|
* hydrates the parsed HTML. So a component whose markup depends on a context only one side makes
|
|
26
26
|
* shows up in `mismatches`, or throws on a structural difference.
|
|
27
27
|
*/
|
|
28
|
-
export declare function hydrateTestPipelineApp<Props extends TungstenComponentPropsBase, Component extends TungstenBaseComponent<any, any>, RouteData = undefined>(
|
|
28
|
+
export declare function hydrateTestPipelineApp<Props extends TungstenComponentPropsBase, Component extends TungstenBaseComponent<any, any>, A extends object, RouteData = undefined>(pipelineOrApp: A & AppCheck<A, Component>, RootComponent: new (pkg: ConstructPackage<Props, RouteData>) => Component, ...args: HydrateTestPipelineAppArgs<Props>): Promise<HydrateTestPipelineApp<Component>>;
|
|
29
29
|
export {};
|
|
30
30
|
//# sourceMappingURL=hydrateTestPipelineApp.d.ts.map
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import { $props, $type } from '
|
|
2
|
-
import { DomPointer } from '
|
|
3
|
-
import { hydrateRootComponent, hydrationRouting, makeDefaultHydrateMeta } from "
|
|
4
|
-
import { Instance } from '
|
|
5
|
-
import { JSONstringify } from '
|
|
6
|
-
import { NetworkedTransport } from '
|
|
7
|
-
import { afterRoutingFor, pipelineRoutes, routingContext, routingNetworkedData, symmetricServer } from '
|
|
8
|
-
import { clientRoute } from '
|
|
9
|
-
import { splitServer } from '
|
|
10
|
-
import { contentTreeToRenderingTree } from '
|
|
11
|
-
import { renderingNodeToHtml } from '
|
|
12
|
-
import { initStores } from '
|
|
13
|
-
import { UpdateScheduler } from '
|
|
14
|
-
import { bridgeHappyDomGlobals, HydrateTestAppImplementation, requireClient } from '
|
|
15
|
-
import {
|
|
1
|
+
import { $props, $type } from '../../contentNodeSymbols.js';
|
|
2
|
+
import { DomPointer } from '../../DomPointer.js';
|
|
3
|
+
import { hydrateRootComponent, hydrationRouting, makeDefaultHydrateMeta } from "../../hydrate/hydrate.js";
|
|
4
|
+
import { Instance } from '../../Instance/Instance.js';
|
|
5
|
+
import { JSONstringify } from '../../json.js';
|
|
6
|
+
import { NetworkedTransport } from '../../pipeline/networkedTransport.js';
|
|
7
|
+
import { afterRoutingFor, pipelineRoutes, routingContext, routingNetworkedData, symmetricServer } from '../../pipeline/runPipeline.js';
|
|
8
|
+
import { clientRoute } from '../../pipeline/pipelineDefinition.js';
|
|
9
|
+
import { splitServer } from '../../pipeline/runSplitPipeline.js';
|
|
10
|
+
import { contentTreeToRenderingTree } from '../../render/contentTreeToRenderingTree.js';
|
|
11
|
+
import { renderingNodeToHtml } from '../../render/renderingTreeToHtml.js';
|
|
12
|
+
import { initStores } from '../../Servers/initStores.js';
|
|
13
|
+
import { UpdateScheduler } from '../../update/UpdateScheduler.js';
|
|
14
|
+
import { bridgeHappyDomGlobals, HydrateTestAppImplementation, requireClient } from '../hydrateTestApp.js';
|
|
15
|
+
import { toApp } from './createTestPipelineApp.js';
|
|
16
|
+
import { waitForEnvIfLoading } from '../loadEnv.js';
|
|
16
17
|
// the framework brands what it builds
|
|
17
18
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
18
19
|
const asGlobalData = data => data;
|
|
@@ -31,9 +32,10 @@ const appRoutesFor = (app, init) => reqRes => pipelineRoutes(app, reqRes, init,
|
|
|
31
32
|
* hydrates the parsed HTML. So a component whose markup depends on a context only one side makes
|
|
32
33
|
* shows up in `mismatches`, or throws on a structural difference.
|
|
33
34
|
*/
|
|
34
|
-
export async function hydrateTestPipelineApp(
|
|
35
|
+
export async function hydrateTestPipelineApp(pipelineOrApp, RootComponent, ...args) {
|
|
35
36
|
requireClient('hydrateTestPipelineApp()');
|
|
36
37
|
await waitForEnvIfLoading();
|
|
38
|
+
const app = toApp(pipelineOrApp);
|
|
37
39
|
const options = args[0];
|
|
38
40
|
const suppliedDocument = options?.document ?? globalThis.document;
|
|
39
41
|
if (suppliedDocument === undefined) {
|
|
@@ -131,7 +133,7 @@ export async function hydrateTestPipelineApp(app, RootComponent, ...args) {
|
|
|
131
133
|
container.innerHTML = html;
|
|
132
134
|
bridgeHappyDomGlobals(document);
|
|
133
135
|
// Client pass: the app's own client run, with the page's data, as hydratePipeline() runs it
|
|
134
|
-
const ran = await app.client(app,
|
|
136
|
+
const ran = await app.client(app, fromPage);
|
|
135
137
|
const routes = pipelineRoutes(app, null, ran.init, true);
|
|
136
138
|
const {
|
|
137
139
|
key,
|
|
@@ -145,8 +147,9 @@ export async function hydrateTestPipelineApp(app, RootComponent, ...args) {
|
|
|
145
147
|
data
|
|
146
148
|
} : {})
|
|
147
149
|
}, routes);
|
|
148
|
-
const
|
|
149
|
-
const
|
|
150
|
+
const posted = await ran.post(serverGlobalData);
|
|
151
|
+
const afterRouting = afterRoutingFor(posted.afterRouting);
|
|
152
|
+
const context = afterRouting === undefined ? asContext(posted.context) : await afterRouting(clientRoute(matchedRouteInfo, location), serverGlobalData);
|
|
150
153
|
const networkedData = routingNetworkedData(ran.routingNetworkedData);
|
|
151
154
|
const scheduler = new UpdateScheduler();
|
|
152
155
|
const {
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { type AppCheck, type CreateTestPipelineAppArgs, type TestPipelineApp, type TestPipelineAppOptions, createTestPipelineApp, } from './createTestPipelineApp.js';
|
|
2
|
+
export { type CreateTestPacketAppArgs, type PacketForComponent, type TestPacketAppOptions, createTestPacketApp, } from './createTestPacketApp.js';
|
|
3
|
+
export { type HydrateTestPipelineApp, type HydrateTestPipelineAppOptions, hydrateTestPipelineApp, } from './hydrateTestPipelineApp.js';
|
|
4
|
+
export { type HostPipelineDontResolveOptions, type HostPipelineOptions, type HostPipelineResolveOptions, type HostStoreOptions, type Hosted, type HostedResolved, type HostedRoute, hostPipeline, hostPipelineGeneric, hostPipelineJsx, } from './hostPipeline.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { createTestPipelineApp } from './createTestPipelineApp.js';
|
|
2
|
+
export { createTestPacketApp } from './createTestPacketApp.js';
|
|
3
|
+
export { hydrateTestPipelineApp } from './hydrateTestPipelineApp.js';
|
|
4
|
+
export { hostPipeline, hostPipelineGeneric, hostPipelineJsx } from './hostPipeline.js';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ConstructPackage, TungstenBaseComponent } from '../../Components.jsx';
|
|
2
|
+
import type { AsGlobalData, BrandedContext, BrandedNetworkedData } from '../../Brands.js';
|
|
3
|
+
import type { InstancePipeline } from '../../Instance/Instance.js';
|
|
4
|
+
import type { AppRoutes } from '../../routing/AppRoutes.js';
|
|
5
|
+
import type { MatchedRouteInfo } from '../../routing/MatchedRouteInfo.js';
|
|
6
|
+
import type { RoutesWithSettings } from '../../routing/Routes.js';
|
|
7
|
+
import { type TestApp, type TestStoreOverride } from '../createTestApp.js';
|
|
8
|
+
export type PipelineTestAppOptions<Props extends object> = {
|
|
9
|
+
document?: Document;
|
|
10
|
+
props?: Props;
|
|
11
|
+
container?: HTMLElement;
|
|
12
|
+
location?: string;
|
|
13
|
+
stores?: readonly TestStoreOverride<any>[];
|
|
14
|
+
fileVersions?: Record<string, string>;
|
|
15
|
+
};
|
|
16
|
+
export type PipelineTestTarget = {
|
|
17
|
+
document: Document;
|
|
18
|
+
container: HTMLElement;
|
|
19
|
+
ownsContainer: boolean;
|
|
20
|
+
};
|
|
21
|
+
export type PipelineTestData = {
|
|
22
|
+
location: string;
|
|
23
|
+
routes: RoutesWithSettings<any>;
|
|
24
|
+
appRoutes: AppRoutes<any>;
|
|
25
|
+
matchedRouteInfo: MatchedRouteInfo;
|
|
26
|
+
allRoutesData: AsGlobalData;
|
|
27
|
+
context: BrandedContext;
|
|
28
|
+
networkedData: BrandedNetworkedData;
|
|
29
|
+
networked: object;
|
|
30
|
+
pipeline: InstancePipeline;
|
|
31
|
+
};
|
|
32
|
+
export declare function pipelineTestTarget(options: PipelineTestAppOptions<object> | undefined, name: string): PipelineTestTarget;
|
|
33
|
+
export declare function mountPipelineTestApp<Props extends object, Component extends TungstenBaseComponent, RouteData>(target: PipelineTestTarget, data: PipelineTestData, RootComponent: new (pkg: ConstructPackage<Props, RouteData>) => Component, options: PipelineTestAppOptions<Props> | undefined): Promise<TestApp<Component>>;
|
|
34
|
+
//# sourceMappingURL=pipelineTestApp.d.ts.map
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Instance } from '../../Instance/Instance.js';
|
|
2
|
+
import { initStores } from '../../Servers/initStores.js';
|
|
3
|
+
import { createTungstenRootComponent } from '../../update/integrateUpdateVdom.js';
|
|
4
|
+
import { UpdateScheduler } from '../../update/UpdateScheduler.js';
|
|
5
|
+
import { TestAppImplementation } from '../createTestApp.js';
|
|
6
|
+
// checked before anything runs
|
|
7
|
+
export function pipelineTestTarget(options, name) {
|
|
8
|
+
const suppliedDocument = options?.document ?? globalThis.document;
|
|
9
|
+
if (suppliedDocument === undefined) {
|
|
10
|
+
// eslint-disable-line @typescript-eslint/no-unnecessary-condition
|
|
11
|
+
throw new Error(`${name} requires options.document when no global document is available.`);
|
|
12
|
+
}
|
|
13
|
+
const document = suppliedDocument;
|
|
14
|
+
const ownsContainer = options?.container === undefined;
|
|
15
|
+
const container = options?.container ?? document.createElement('div');
|
|
16
|
+
if (container.ownerDocument !== document) {
|
|
17
|
+
throw new Error('The TestApp container must belong to options.document.');
|
|
18
|
+
}
|
|
19
|
+
if (container.childNodes.length > 0) {
|
|
20
|
+
throw new Error('The TestApp container must be empty before mounting.');
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
document,
|
|
24
|
+
container,
|
|
25
|
+
ownsContainer
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export async function mountPipelineTestApp(target, data, RootComponent, options) {
|
|
29
|
+
const {
|
|
30
|
+
document,
|
|
31
|
+
container,
|
|
32
|
+
ownsContainer
|
|
33
|
+
} = target;
|
|
34
|
+
const {
|
|
35
|
+
location,
|
|
36
|
+
allRoutesData,
|
|
37
|
+
matchedRouteInfo,
|
|
38
|
+
context,
|
|
39
|
+
networkedData
|
|
40
|
+
} = data;
|
|
41
|
+
if (ownsContainer) {
|
|
42
|
+
if (document.body === null) {
|
|
43
|
+
// eslint-disable-line @typescript-eslint/no-unnecessary-condition
|
|
44
|
+
throw new Error('The supplied document must have a body element.');
|
|
45
|
+
}
|
|
46
|
+
document.body.appendChild(container);
|
|
47
|
+
}
|
|
48
|
+
const scheduler = new UpdateScheduler();
|
|
49
|
+
const runtimeContext = {
|
|
50
|
+
document,
|
|
51
|
+
window: document.defaultView,
|
|
52
|
+
scheduler,
|
|
53
|
+
navigation: false
|
|
54
|
+
};
|
|
55
|
+
const {
|
|
56
|
+
internalStore,
|
|
57
|
+
stores,
|
|
58
|
+
storeSubscriptions
|
|
59
|
+
} = initStores(location, null, allRoutesData, matchedRouteInfo, null, context, networkedData);
|
|
60
|
+
const instanceConfig = {
|
|
61
|
+
prod: false,
|
|
62
|
+
useRootComponent: true,
|
|
63
|
+
clientSideNav: true,
|
|
64
|
+
siteBasePath: '/',
|
|
65
|
+
staticSite: false,
|
|
66
|
+
csr: false
|
|
67
|
+
};
|
|
68
|
+
const instance = new Instance(location, instanceConfig, null, data.appRoutes, data.routes, internalStore, stores, storeSubscriptions, allRoutesData, matchedRouteInfo, runtimeContext);
|
|
69
|
+
instance.fileVersions = options?.fileVersions;
|
|
70
|
+
instance.context = context;
|
|
71
|
+
instance.networkedData = networkedData;
|
|
72
|
+
instance.pipelineNetworked = data.networked;
|
|
73
|
+
instance.pipeline = data.pipeline;
|
|
74
|
+
try {
|
|
75
|
+
for (const override of options?.stores ?? []) {
|
|
76
|
+
const store = override.registration.getStore(instance.stores);
|
|
77
|
+
await override.initialize(store);
|
|
78
|
+
}
|
|
79
|
+
const props = options?.props ?? {};
|
|
80
|
+
const root = await createTungstenRootComponent(RootComponent, props, matchedRouteInfo.params, matchedRouteInfo.data, instance, container);
|
|
81
|
+
const testApp = new TestAppImplementation(document, container, root.component, instance, scheduler, root, ownsContainer);
|
|
82
|
+
try {
|
|
83
|
+
await testApp.resolved();
|
|
84
|
+
return testApp;
|
|
85
|
+
} catch (error) {
|
|
86
|
+
await testApp.unmount();
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
89
|
+
} catch (error) {
|
|
90
|
+
try {
|
|
91
|
+
instance.disposeRegisteredComponents();
|
|
92
|
+
} catch {
|
|
93
|
+
// Preserve the mount failure.
|
|
94
|
+
}
|
|
95
|
+
scheduler.dispose();
|
|
96
|
+
while (container.firstChild !== null) container.removeChild(container.firstChild);
|
|
97
|
+
if (ownsContainer) container.remove();
|
|
98
|
+
throw error;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -12,5 +12,7 @@ import type { ContentNode } from '../ContentNode.js';
|
|
|
12
12
|
* by name and by prop as well as by what it put on the page.
|
|
13
13
|
*/
|
|
14
14
|
export declare function resolveContent(content: ContentNode, parentComponent: AnyComponent | null, instance: Instance, constructed?: Constructed): Promise<ContentNode>;
|
|
15
|
+
/** On a component node resolveContent resolved: the children it was passed, its own now output */
|
|
16
|
+
export declare const $passedChildren: unique symbol;
|
|
15
17
|
export type Constructed = (component: object) => void;
|
|
16
18
|
//# sourceMappingURL=resolveContent.d.ts.map
|
|
@@ -32,8 +32,16 @@ constructed) {
|
|
|
32
32
|
if (!ContentNodeElementIsComponent(content)) {
|
|
33
33
|
return withChildren(content, await resolveContent(content[$props].children, parentComponent, instance, constructed));
|
|
34
34
|
}
|
|
35
|
-
|
|
35
|
+
const output = await rendered(content, parentComponent, instance, constructed);
|
|
36
|
+
const resolved = withChildren(content, output);
|
|
37
|
+
// non-enumerable, so a resolved node still deep-equals one written by hand
|
|
38
|
+
Object.defineProperty(resolved, $passedChildren, {
|
|
39
|
+
value: content[$props].children
|
|
40
|
+
});
|
|
41
|
+
return resolved;
|
|
36
42
|
}
|
|
43
|
+
/** On a component node resolveContent resolved: the children it was passed, its own now output */
|
|
44
|
+
export const $passedChildren = Symbol('passedChildren');
|
|
37
45
|
// what the component put on the page, resolved in its turn.
|
|
38
46
|
// As render/componentNodeToRenderingTree: a component the app renders on the client alone never
|
|
39
47
|
// runs its content here, so its placeholder stands for it
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tungsten",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -13,16 +13,20 @@
|
|
|
13
13
|
"./library": "./dist/components/library/index.js",
|
|
14
14
|
"./react-zone": "./dist/zones/react.js",
|
|
15
15
|
"./testing": "./dist/testing/index.js",
|
|
16
|
+
"./testing/pipeline": "./dist/testing/pipeline/index.js",
|
|
16
17
|
"./jsx-runtime": "./dist/jsx-runtime.js",
|
|
17
18
|
"./*": "./dist/*",
|
|
18
19
|
"./types/*": "./types/*"
|
|
19
20
|
},
|
|
20
21
|
"files": [
|
|
21
22
|
"dist",
|
|
23
|
+
"!dist/**/*.d.*ts.map",
|
|
22
24
|
"!dist/**/*.sxyt.*",
|
|
25
|
+
"!dist/**/*.test.*",
|
|
23
26
|
"vendor",
|
|
24
27
|
"types",
|
|
25
|
-
"readme.md"
|
|
28
|
+
"readme.md",
|
|
29
|
+
"AGENTS.md"
|
|
26
30
|
],
|
|
27
31
|
"keywords": [],
|
|
28
32
|
"author": "",
|
|
@@ -51,6 +55,7 @@
|
|
|
51
55
|
"chalk-extensions": "^2.0.24",
|
|
52
56
|
"chokidar": "^3.6.0",
|
|
53
57
|
"cjs-module-lexer": "^1.4.3",
|
|
58
|
+
"css-select": "^7.0.0",
|
|
54
59
|
"csstype": "^3.2.3",
|
|
55
60
|
"deep-eql": "^4.1.4",
|
|
56
61
|
"dotenv": "^16.6.1",
|
|
@@ -120,13 +125,13 @@
|
|
|
120
125
|
},
|
|
121
126
|
"scripts": {
|
|
122
127
|
"__build": "pnpm clean && pnpm build-prep && pnpm build-watch",
|
|
123
|
-
"build": "run-s -c clean build-prep build-watch",
|
|
124
|
-
"build
|
|
128
|
+
"build-old": "run-s -c clean build-prep build-watch",
|
|
129
|
+
"build": "rimraf dist && tscmon --on-first-success \"pnpm build-babel\"",
|
|
125
130
|
"clean": "rimraf intermed dist",
|
|
126
131
|
"build-prep": "pnpm build-ts-once",
|
|
127
132
|
"build-watch": "run-p build-ts build-babel",
|
|
128
133
|
"build-quick": "pnpm build-watch",
|
|
129
|
-
"build-once": "rimraf
|
|
134
|
+
"build-once": "rimraf dist && pnpm build-ts-once && pnpm build-babel-once && pnpm build-component-styles",
|
|
130
135
|
"build-component-styles": "node scripts/buildComponentStyles.ts",
|
|
131
136
|
"build-vendor": "node scripts/bundleVendor.ts",
|
|
132
137
|
"build-once-nd": "rimraf intermed dist.building && pnpm build-ts-once && pnpm build-babel-staged && node scripts/syncDist.ts && node scripts/writeBuildMarker.ts",
|