tungsten 0.7.2 → 0.8.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.
Files changed (740) hide show
  1. package/AGENTS.md +154 -15
  2. package/dist/.build-complete +1 -1
  3. package/dist/Components.d.ts +6 -4
  4. package/dist/Components.js +2 -0
  5. package/dist/Framework.js +7 -7
  6. package/dist/FrameworkConfig.d.ts +8 -2
  7. package/dist/Instance/Instance.d.ts +6 -1
  8. package/dist/Instance/Instance.js +62 -22
  9. package/dist/Servers/DevServer.d.ts +8 -5
  10. package/dist/Servers/DevServer.js +196 -113
  11. package/dist/Servers/ProdServer.d.ts +3 -1
  12. package/dist/Servers/ProdServer.js +136 -34
  13. package/dist/Servers/TungstenServer.d.ts +34 -1
  14. package/dist/Servers/TungstenServer.js +94 -42
  15. package/dist/Servers/loadEnvsDev.js +4 -4
  16. package/dist/Servers/watchedServerMiddleware.d.ts +10 -0
  17. package/dist/Servers/watchedServerMiddleware.js +45 -0
  18. package/dist/TungstenApp.js +2 -1
  19. package/dist/_client/cjsHelpers.d.ts +1 -1
  20. package/dist/_client/hmr.js +1 -1
  21. package/dist/_client/liveReloadSource.js +1 -1
  22. package/dist/_testing/errorRoute.d.ts +8 -0
  23. package/dist/_testing/errorRoute.js +9 -0
  24. package/dist/appBuilder.d.ts +2 -1
  25. package/dist/babelPlugins/BabelTransformComponentStyles.js +5 -3
  26. package/dist/babelPlugins/BabelTransformPackageImports.js +3 -1
  27. package/dist/babelPlugins/StyleCompileError.d.ts +4 -0
  28. package/dist/babelPlugins/StyleCompileError.js +11 -0
  29. package/dist/bin/commands/devmon.js +2 -2
  30. package/dist/bin/vendorHook.js +2 -1
  31. package/dist/build/assetVersions.js +2 -1
  32. package/dist/build/babel.user.common.config.d.ts +3 -5
  33. package/dist/build/compileJavascript.js +12 -27
  34. package/dist/build/componentStylesCache.js +2 -2
  35. package/dist/build/frameworkDestLocation.js +2 -1
  36. package/dist/build/ignoreGlobs.d.ts +2 -0
  37. package/dist/build/ignoreGlobs.js +8 -0
  38. package/dist/build/makeBabelRawConfig.d.ts +2 -2
  39. package/dist/build/makeBabelUserDevConfig.d.ts +2 -2
  40. package/dist/build/makeBabelUserProdConfig.d.ts +2 -2
  41. package/dist/build/rollup.user.prod.config.js +2 -2
  42. package/dist/build/tallyBabel.d.ts +2 -2
  43. package/dist/build/tallyBabel.js +1 -1
  44. package/dist/clone.js +1 -0
  45. package/dist/componentHelpers.d.ts +1 -1
  46. package/dist/componentHelpers.js +3 -4
  47. package/dist/componentProxyHandlers.js +2 -1
  48. package/dist/components/NativeHtml.d.ts +1 -1
  49. package/dist/components/bindable/BindableInputTyped.d.ts +3 -1
  50. package/dist/components/bindable/BindableInputTypedLegacy.d.ts +3 -1
  51. package/dist/components/bindable/bindableHtmlElements.d.ts +3 -3
  52. package/dist/components/library/RichTextEditor/RichTextEditor.d.ts +1 -1
  53. package/dist/components/library/RichTextEditor/StoredContentNode.d.ts +6 -1
  54. package/dist/components/library/RichTextEditor/contentTree.js +33 -13
  55. package/dist/env/setPrivateEnvValidator.js +2 -2
  56. package/dist/env/setPublicEnvValidator.d.ts +2 -2
  57. package/dist/env/setPublicEnvValidator.js +2 -2
  58. package/dist/fileVersions.js +5 -1
  59. package/dist/findProjectDir.js +2 -1
  60. package/dist/findUserConfig.d.ts +1 -1
  61. package/dist/frameworkConfigSchema.d.ts +8 -4
  62. package/dist/frameworkConfigSchema.js +2 -0
  63. package/dist/getRoutes.js +0 -4
  64. package/dist/hydrate/hydrate.js +3 -2
  65. package/dist/hydrate/hydrateGlobalData.d.ts +3 -0
  66. package/dist/hydrate/stubRouting.d.ts +2 -1
  67. package/dist/hydrate/stubRouting.js +7 -5
  68. package/dist/indexInner.d.ts +1 -0
  69. package/dist/indexInner.js +1 -0
  70. package/dist/json.d.ts +4 -0
  71. package/dist/json.js +3 -0
  72. package/dist/makeFinalConfig.js +3 -1
  73. package/dist/mutatingFunctions.d.ts +3 -3
  74. package/dist/pipeline/hydratePipeline.js +46 -5
  75. package/dist/pipeline/pipeline.d.ts +21 -6
  76. package/dist/pipeline/pipeline.js +14 -3
  77. package/dist/pipeline/pipelineDefinition.d.ts +11 -3
  78. package/dist/pipeline/pipelineDefinition.js +2 -0
  79. package/dist/pipeline/runPipeline.d.ts +15 -5
  80. package/dist/pipeline/runPipeline.js +71 -29
  81. package/dist/pipeline/runSplitPipeline.d.ts +2 -2
  82. package/dist/pipeline/runSplitPipeline.js +11 -5
  83. package/dist/pipeline/settleRouting.d.ts +10 -0
  84. package/dist/pipeline/settleRouting.js +54 -0
  85. package/dist/pipeline/splitPipeline.d.ts +9 -6
  86. package/dist/pipeline/splitPipeline.js +6 -4
  87. package/dist/postcssPlugins/TransformCssNames.d.ts +6 -6
  88. package/dist/render/contentTreeToRenderingTree.js +1 -3
  89. package/dist/render/instantiateClassComponent.d.ts +1 -1
  90. package/dist/render/processHead.js +31 -0
  91. package/dist/render/processProps.d.ts +6 -1
  92. package/dist/render/processProps.js +6 -4
  93. package/dist/render/rootToHtml.d.ts +1 -1
  94. package/dist/render/rootToHtml.js +2 -2
  95. package/dist/render/rootToHtmlDev.d.ts +1 -1
  96. package/dist/render/rootToHtmlDev.js +2 -2
  97. package/dist/routing/DataRedirect.d.ts +4 -0
  98. package/dist/routing/DataRedirect.js +1 -0
  99. package/dist/routing/Group.d.ts +1 -1
  100. package/dist/routing/MatchedRoute.d.ts +1 -1
  101. package/dist/routing/MatchedRoute.js +9 -3
  102. package/dist/routing/builder.d.ts +28 -9
  103. package/dist/routing/builder.js +9 -2
  104. package/dist/routing/redirectOf.d.ts +3 -2
  105. package/dist/routing/redirectOf.js +16 -9
  106. package/dist/routing/registerGlobalData.d.ts +4 -3
  107. package/dist/routing/registerRouting.d.ts +2 -1
  108. package/dist/routing/resolveAppRoutes.js +10 -1
  109. package/dist/routing/routesArray.d.ts +3 -2
  110. package/dist/routing/routingBuilder.d.ts +2 -1
  111. package/dist/staticGen/staticGen.js +3 -11
  112. package/dist/style/styleContentSxy.js +8 -8
  113. package/dist/syncServer/preload.js +1 -1
  114. package/dist/testing/createTestApp.d.ts +1 -1
  115. package/dist/testing/ensure.d.ts +1 -1
  116. package/dist/testing/host.d.ts +4 -4
  117. package/dist/testing/hydrateTestApp.d.ts +1 -1
  118. package/dist/testing/loadEnv.js +1 -1
  119. package/dist/testing/pipeline/createTestPipelineApp.js +10 -10
  120. package/dist/testing/pipeline/hostPipeline.d.ts +4 -4
  121. package/dist/testing/pipeline/hydrateTestPipelineApp.js +3 -3
  122. package/dist/testing/pipeline/index.d.ts +2 -0
  123. package/dist/testing/pipeline/index.js +3 -1
  124. package/dist/testing/pipeline/routesOf.d.ts +14 -0
  125. package/dist/testing/pipeline/routesOf.js +19 -0
  126. package/dist/testing/pipeline/testingComponentPackageFromPacket.d.ts +11 -0
  127. package/dist/testing/pipeline/testingComponentPackageFromPacket.js +26 -0
  128. package/dist/testing/testingComponentPackage.d.ts +1 -0
  129. package/dist/testing/testingComponentPackage.js +2 -1
  130. package/dist-ti/AnyComponent.d.ts +7 -0
  131. package/dist-ti/AnyComponentType.d.ts +7 -0
  132. package/dist-ti/AppResponse.d.ts +9 -0
  133. package/dist-ti/AppTypeExtraction.d.ts +3 -0
  134. package/dist-ti/AssignedStyle.d.ts +6 -0
  135. package/dist-ti/Brands.d.ts +17 -0
  136. package/dist-ti/CjsTypes.d.ts +9 -0
  137. package/dist-ti/ComponentInstance.d.ts +3 -0
  138. package/dist-ti/ComponentRenderInfo.type.d.ts +7 -0
  139. package/dist-ti/ComponentStyle.d.ts +7 -0
  140. package/dist-ti/Components.d.ts +344 -0
  141. package/dist-ti/ContentFunction.d.ts +10 -0
  142. package/dist-ti/ContentNode.d.ts +95 -0
  143. package/dist-ti/ContentNodeNew.d.ts +3 -0
  144. package/dist-ti/CssNames.d.ts +10 -0
  145. package/dist-ti/DomNodes.d.ts +4 -0
  146. package/dist-ti/DomPointer.d.ts +24 -0
  147. package/dist-ti/DomRegion.d.ts +23 -0
  148. package/dist-ti/ExtendableHTMLElement.d.ts +6 -0
  149. package/dist-ti/Framework.d.ts +33 -0
  150. package/dist-ti/FrameworkConfig.d.ts +121 -0
  151. package/dist-ti/FunctionComponent.d.ts +14 -0
  152. package/dist-ti/FunctionComponentStandIn.d.ts +62 -0
  153. package/dist-ti/GenericObject.type.d.ts +3 -0
  154. package/dist-ti/HtmlElementAttributes.d.ts +3 -0
  155. package/dist-ti/Instance/ClientRuntimeContext.d.ts +9 -0
  156. package/dist-ti/Instance/Instance.d.ts +89 -0
  157. package/dist-ti/Instance/InstanceConfig.d.ts +14 -0
  158. package/dist-ti/IsDefined.d.ts +3 -0
  159. package/dist-ti/IsIndexableObject.d.ts +3 -0
  160. package/dist-ti/IsNumber.d.ts +3 -0
  161. package/dist-ti/IsObject.d.ts +4 -0
  162. package/dist-ti/Json.type.d.ts +8 -0
  163. package/dist-ti/JsxContent.d.ts +5 -0
  164. package/dist-ti/Key.d.ts +3 -0
  165. package/dist-ti/KeyAttr.d.ts +4 -0
  166. package/dist-ti/MapObject.d.ts +5 -0
  167. package/dist-ti/Mode.d.ts +3 -0
  168. package/dist-ti/Module.d.ts +6 -0
  169. package/dist-ti/NoDeproxy.d.ts +6 -0
  170. package/dist-ti/PopMessage.type.d.ts +7 -0
  171. package/dist-ti/ProcessedStylesObject.d.ts +7 -0
  172. package/dist-ti/RenderFunction.d.ts +4 -0
  173. package/dist-ti/RenderedContentNode.d.ts +83 -0
  174. package/dist-ti/RenderingNode.d.ts +58 -0
  175. package/dist-ti/ReqRes.d.ts +170 -0
  176. package/dist-ti/Sass.d.ts +7 -0
  177. package/dist-ti/Script.d.ts +9 -0
  178. package/dist-ti/ServerRpcFunction.type.d.ts +3 -0
  179. package/dist-ti/Servers/DevServer.d.ts +57 -0
  180. package/dist-ti/Servers/ProdServer.d.ts +38 -0
  181. package/dist-ti/Servers/ServerMiddleware.d.ts +7 -0
  182. package/dist-ti/Servers/StaticSiteServer.d.ts +15 -0
  183. package/dist-ti/Servers/TungstenServer.d.ts +43 -0
  184. package/dist-ti/Servers/cacheVersioned.d.ts +4 -0
  185. package/dist-ti/Servers/devErrorPageAutoRetry.d.ts +5 -0
  186. package/dist-ti/Servers/initStores.d.ts +17 -0
  187. package/dist-ti/Servers/listenVerified.d.ts +13 -0
  188. package/dist-ti/Servers/loadEnvsDev.d.ts +8 -0
  189. package/dist-ti/Servers/portError.d.ts +3 -0
  190. package/dist-ti/Servers/resetRegistrations.d.ts +3 -0
  191. package/dist-ti/Servers/routing.d.ts +7 -0
  192. package/dist-ti/Servers/serveStatic.d.ts +6 -0
  193. package/dist-ti/Servers/stubInstance.d.ts +9 -0
  194. package/dist-ti/Servers/tungstenCorePrivateEnvSchema.d.ts +8 -0
  195. package/dist-ti/Servers/tungstenCorePublicEnvSchema.d.ts +9 -0
  196. package/dist-ti/Servers/watchedServerMiddleware.d.ts +11 -0
  197. package/dist-ti/Store/BaseStoreSchema.d.ts +4 -0
  198. package/dist-ti/Store/InternalStoreSchema.d.ts +22 -0
  199. package/dist-ti/Store/ServerDataLoading.d.ts +5 -0
  200. package/dist-ti/Store/Store.d.ts +3 -0
  201. package/dist-ti/Store/StoreProxyInterface.d.ts +3 -0
  202. package/dist-ti/Store/StoreSchemaClass.d.ts +10 -0
  203. package/dist-ti/Store/StoreSubscriptions.types.d.ts +7 -0
  204. package/dist-ti/Store/TypeSafeStore.d.ts +3 -0
  205. package/dist-ti/Store/createStores.d.ts +9 -0
  206. package/dist-ti/Store/exportStore.d.ts +4 -0
  207. package/dist-ti/Store/getInternalStore.d.ts +5 -0
  208. package/dist-ti/Store/getStore.d.ts +3 -0
  209. package/dist-ti/Store/makeStore.d.ts +53 -0
  210. package/dist-ti/Store/registerStore.d.ts +13 -0
  211. package/dist-ti/Store/storeCreators.d.ts +4 -0
  212. package/dist-ti/StoreBindVariable.d.ts +4 -0
  213. package/dist-ti/StyleProcessor.d.ts +4 -0
  214. package/dist-ti/TElement.d.ts +3 -0
  215. package/dist-ti/TungstenApp.d.ts +27 -0
  216. package/dist-ti/TungstenAppOld.d.ts +3 -0
  217. package/dist-ti/TungstenElement.d.ts +4 -0
  218. package/dist-ti/TungstenError.d.ts +10 -0
  219. package/dist-ti/TungstenStyleObject.d.ts +3 -0
  220. package/dist-ti/__deproxy.d.ts +4 -0
  221. package/dist-ti/_client/RootComponent.d.ts +5 -0
  222. package/dist-ti/_client/cjsHelpers.d.ts +12 -0
  223. package/dist-ti/_client/client.d.ts +15 -0
  224. package/dist-ti/_client/hmr.d.ts +3 -0
  225. package/dist-ti/_client/liveReload.d.ts +3 -0
  226. package/dist-ti/_client/liveReloadSource.d.ts +4 -0
  227. package/dist-ti/_client/rootComponentRelFilePath.d.ts +3 -0
  228. package/dist-ti/_client/routes.d.ts +4 -0
  229. package/dist-ti/_testing/errorRoute.d.ts +9 -0
  230. package/dist-ti/_testing/regexEquals.d.ts +3 -0
  231. package/dist-ti/_testing/should.d.ts +3 -0
  232. package/dist-ti/_testing/sxy-test-runner.types.d.ts +6 -0
  233. package/dist-ti/alive.d.ts +4 -0
  234. package/dist-ti/api/ApiEndpoint.d.ts +4 -0
  235. package/dist-ti/api/ApiMethod.type.d.ts +3 -0
  236. package/dist-ti/api/ApiRoute.d.ts +8 -0
  237. package/dist-ti/api/ApiRoutes.d.ts +6 -0
  238. package/dist-ti/api/Request.d.ts +3 -0
  239. package/dist-ti/api/Response.d.ts +3 -0
  240. package/dist-ti/api/getApiRoutes.d.ts +7 -0
  241. package/dist-ti/api/getExport.d.ts +4 -0
  242. package/dist-ti/api/getExportDev.d.ts +3 -0
  243. package/dist-ti/appBuilder.d.ts +75 -0
  244. package/dist-ti/appOutput.d.ts +7 -0
  245. package/dist-ti/assert.d.ts +3 -0
  246. package/dist-ti/auth/checkPassword.d.ts +4 -0
  247. package/dist-ti/auth/hashPassword.d.ts +4 -0
  248. package/dist-ti/auth/index.d.ts +4 -0
  249. package/dist-ti/babelPlugins/BabelAddDevCacheBust.d.ts +19 -0
  250. package/dist-ti/babelPlugins/BabelExtractComponentStylesheet.d.ts +14 -0
  251. package/dist-ti/babelPlugins/BabelFakeType.d.ts +8 -0
  252. package/dist-ti/babelPlugins/BabelState.type.d.ts +4 -0
  253. package/dist-ti/babelPlugins/BabelTransformBindDirect.d.ts +16 -0
  254. package/dist-ti/babelPlugins/BabelTransformBindVar.d.ts +16 -0
  255. package/dist-ti/babelPlugins/BabelTransformCjsToEsm.d.ts +17 -0
  256. package/dist-ti/babelPlugins/BabelTransformCjsToFunction.d.ts +21 -0
  257. package/dist-ti/babelPlugins/BabelTransformCjsToFunction2.d.ts +22 -0
  258. package/dist-ti/babelPlugins/BabelTransformComponentState.d.ts +27 -0
  259. package/dist-ti/babelPlugins/BabelTransformComponentStyles.d.ts +38 -0
  260. package/dist-ti/babelPlugins/BabelTransformCssImports.d.ts +18 -0
  261. package/dist-ti/babelPlugins/BabelTransformDependencyImportsOld.d.ts +21 -0
  262. package/dist-ti/babelPlugins/BabelTransformDeproxyState.d.ts +23 -0
  263. package/dist-ti/babelPlugins/BabelTransformDocInit.d.ts +10 -0
  264. package/dist-ti/babelPlugins/BabelTransformJsxExtensionsToJs.d.ts +12 -0
  265. package/dist-ti/babelPlugins/BabelTransformJsxSignals.d.ts +3 -0
  266. package/dist-ti/babelPlugins/BabelTransformPackageImports.d.ts +89 -0
  267. package/dist-ti/babelPlugins/BabelTransformReactive.d.ts +16 -0
  268. package/dist-ti/babelPlugins/BabelTransformReactiveSvelteStyle.d.ts +11 -0
  269. package/dist-ti/babelPlugins/BabelTransformRemoveBlocks.d.ts +14 -0
  270. package/dist-ti/babelPlugins/BabelTransformRemoveDevBlocks.d.ts +11 -0
  271. package/dist-ti/babelPlugins/BabelTransformRemoveServerBlocks.d.ts +11 -0
  272. package/dist-ti/babelPlugins/BabelTransformRemoveServerCode.d.ts +3 -0
  273. package/dist-ti/babelPlugins/BabelTransformSxyFrameworkImports.d.ts +11 -0
  274. package/dist-ti/babelPlugins/BabelTransformSxyJsx.d.ts +3 -0
  275. package/dist-ti/babelPlugins/BabelTransformUniqueComponents.d.ts +11 -0
  276. package/dist-ti/babelPlugins/BabelTypes.d.ts +7 -0
  277. package/dist-ti/babelPlugins/StyleCompileError.d.ts +5 -0
  278. package/dist-ti/babelPlugins/fixImportsInSassErrorMessage.d.ts +9 -0
  279. package/dist-ti/babelPlugins/isBareImport.d.ts +3 -0
  280. package/dist-ti/babelPlugins/test.d.ts +3 -0
  281. package/dist-ti/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts +35 -0
  282. package/dist-ti/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts +35 -0
  283. package/dist-ti/babelPlugins/transformPackageImports/getWebLocationOfPackageFile.d.ts +3 -0
  284. package/dist-ti/babelPlugins/transformPackageImports/resolveBareImport.d.ts +3 -0
  285. package/dist-ti/bin/args.d.ts +12 -0
  286. package/dist-ti/bin/commands/build.d.ts +3 -0
  287. package/dist-ti/bin/commands/buildHelp.d.ts +3 -0
  288. package/dist-ti/bin/commands/clean.d.ts +3 -0
  289. package/dist-ti/bin/commands/compile.d.ts +3 -0
  290. package/dist-ti/bin/commands/compileSimplePackage.d.ts +3 -0
  291. package/dist-ti/bin/commands/dev.d.ts +3 -0
  292. package/dist-ti/bin/commands/devmon.d.ts +3 -0
  293. package/dist-ti/bin/commands/help.d.ts +3 -0
  294. package/dist-ti/bin/commands/speed.d.ts +3 -0
  295. package/dist-ti/bin/commands/start.d.ts +3 -0
  296. package/dist-ti/bin/commands/static.d.ts +3 -0
  297. package/dist-ti/bin/index.d.ts +3 -0
  298. package/dist-ti/bin/moduleLoadAnalysis.d.ts +3 -0
  299. package/dist-ti/bin/vendorHook.d.ts +4 -0
  300. package/dist-ti/booleanAttributeValue.d.ts +22 -0
  301. package/dist-ti/browserStorage.d.ts +65 -0
  302. package/dist-ti/build/BabelConfig.d.ts +6 -0
  303. package/dist-ti/build/CompilationInfo.d.ts +18 -0
  304. package/dist-ti/build/CompilationInfoFailure.d.ts +3 -0
  305. package/dist-ti/build/CompilationInfoSuccess.d.ts +3 -0
  306. package/dist-ti/build/Event.type.d.ts +3 -0
  307. package/dist-ti/build/ImportAliases.d.ts +5 -0
  308. package/dist-ti/build/PackageList.d.ts +3 -0
  309. package/dist-ti/build/PackagesCacheInfo.d.ts +3 -0
  310. package/dist-ti/build/ProcessPackageResult.d.ts +16 -0
  311. package/dist-ti/build/ProcessPackageResults.d.ts +4 -0
  312. package/dist-ti/build/PromiseSettledResultIsPromiseRejectedResult.d.ts +6 -0
  313. package/dist-ti/build/assetVersions.d.ts +10 -0
  314. package/dist-ti/build/babel.user.common.config.d.ts +11 -0
  315. package/dist-ti/build/bundle.d.ts +3 -0
  316. package/dist-ti/build/bundleBabelOptions.d.ts +6 -0
  317. package/dist-ti/build/clientModuleAliases.d.ts +3 -0
  318. package/dist-ti/build/clientRoutesFile.d.ts +3 -0
  319. package/dist-ti/build/combineComponentCss.d.ts +3 -0
  320. package/dist-ti/build/compileJavascript.d.ts +30 -0
  321. package/dist-ti/build/compileStyles.d.ts +5 -0
  322. package/dist-ti/build/compileUserApp.d.ts +7 -0
  323. package/dist-ti/build/componentStylesCache.d.ts +11 -0
  324. package/dist-ti/build/copyAssets.d.ts +4 -0
  325. package/dist-ti/build/copyPackageModulesToPackagesFolder.d.ts +5 -0
  326. package/dist-ti/build/copyPublicFiles.d.ts +4 -0
  327. package/dist-ti/build/createClientFiles.d.ts +5 -0
  328. package/dist-ti/build/createInstanceConfigFile.d.ts +5 -0
  329. package/dist-ti/build/createPackageVirtualFileSystem.d.ts +4 -0
  330. package/dist-ti/build/createPackageVirtualFileSystems.d.ts +4 -0
  331. package/dist-ti/build/customImportAliases.d.ts +5 -0
  332. package/dist-ti/build/customPackageEntryPoints.d.ts +7 -0
  333. package/dist-ti/build/devBundle.d.ts +3 -0
  334. package/dist-ti/build/devBundle.rollup.config.d.ts +7 -0
  335. package/dist-ti/build/findRequiredUserModules.d.ts +3 -0
  336. package/dist-ti/build/frameworkDestLocation.d.ts +4 -0
  337. package/dist-ti/build/frameworkStylesheets.d.ts +6 -0
  338. package/dist-ti/build/getAllSxyClientModules.d.ts +5 -0
  339. package/dist-ti/build/getPackageDirForFile.d.ts +3 -0
  340. package/dist-ti/build/getSxyClientPackageAliases.d.ts +4 -0
  341. package/dist-ti/build/getTempDirForAppCompilation.d.ts +4 -0
  342. package/dist-ti/build/ignoreGlobs.d.ts +3 -0
  343. package/dist-ti/build/internalAliases.d.ts +5 -0
  344. package/dist-ti/build/makeBabelRawConfig.d.ts +4 -0
  345. package/dist-ti/build/makeBabelUserDevConfig.d.ts +6 -0
  346. package/dist-ti/build/makeBabelUserProdConfig.d.ts +4 -0
  347. package/dist-ti/build/makeEnvJavascriptContent.d.ts +3 -0
  348. package/dist-ti/build/modifySassImports.d.ts +7 -0
  349. package/dist-ti/build/packageIdentifier.d.ts +7 -0
  350. package/dist-ti/build/processDataToLines.d.ts +3 -0
  351. package/dist-ti/build/resolveSassScssImports.d.ts +4 -0
  352. package/dist-ti/build/rollup.user.prod.config.d.ts +7 -0
  353. package/dist-ti/build/rollupExtractComponentStylesheets.d.ts +13 -0
  354. package/dist-ti/build/rollupProdConstants.d.ts +6 -0
  355. package/dist-ti/build/sassImportParser.d.ts +7 -0
  356. package/dist-ti/build/scssImportParserChatgpt.d.ts +7 -0
  357. package/dist-ti/build/tallyBabel.d.ts +4 -0
  358. package/dist-ti/cacheControl.d.ts +14 -0
  359. package/dist-ti/calculateImportedStaticFileLocations.d.ts +11 -0
  360. package/dist-ti/calledFrom.d.ts +8 -0
  361. package/dist-ti/checkedAttributeToBoolean.d.ts +3 -0
  362. package/dist-ti/checkedValueToBoolean.d.ts +3 -0
  363. package/dist-ti/cliOutput.d.ts +17 -0
  364. package/dist-ti/clone.d.ts +7 -0
  365. package/dist-ti/compat/context.d.ts +26 -0
  366. package/dist-ti/compat/forwardRef.d.ts +10 -0
  367. package/dist-ti/compat/index.d.ts +3 -0
  368. package/dist-ti/compat/propTypes.d.ts +18 -0
  369. package/dist-ti/compat/toTungstenClassComponent.d.ts +3 -0
  370. package/dist-ti/compat/toTungstenFunctionComponent.d.ts +3 -0
  371. package/dist-ti/compat/types.d.ts +17 -0
  372. package/dist-ti/componentClassName.d.ts +3 -0
  373. package/dist-ti/componentHelpers.d.ts +20 -0
  374. package/dist-ti/componentProxyHandlers.d.ts +39 -0
  375. package/dist-ti/componentType.d.ts +3 -0
  376. package/dist-ti/components/Await.d.ts +18 -0
  377. package/dist-ti/components/Fragment.d.ts +9 -0
  378. package/dist-ti/components/GoToComponent.d.ts +11 -0
  379. package/dist-ti/components/Lazy.d.ts +18 -0
  380. package/dist-ti/components/Link.d.ts +15 -0
  381. package/dist-ti/components/NativeHtml.d.ts +11 -0
  382. package/dist-ti/components/NoEscape.d.ts +9 -0
  383. package/dist-ti/components/PopMessages.d.ts +13 -0
  384. package/dist-ti/components/Protected.d.ts +11 -0
  385. package/dist-ti/components/RawHtml.d.ts +37 -0
  386. package/dist-ti/components/RouteRedirectComponent.d.ts +13 -0
  387. package/dist-ti/components/Stylesheet.d.ts +9 -0
  388. package/dist-ti/components/WebRedirectComponent.d.ts +12 -0
  389. package/dist-ti/components/_GoToComponent.d.ts +11 -0
  390. package/dist-ti/components/bindable/BindMode.d.ts +3 -0
  391. package/dist-ti/components/bindable/BindVariable.d.ts +37 -0
  392. package/dist-ti/components/bindable/BindableCheckbox.d.ts +26 -0
  393. package/dist-ti/components/bindable/BindableInput.d.ts +22 -0
  394. package/dist-ti/components/bindable/BindableInputNonString.d.ts +23 -0
  395. package/dist-ti/components/bindable/BindableInputString.d.ts +23 -0
  396. package/dist-ti/components/bindable/BindableInputTyped.d.ts +30 -0
  397. package/dist-ti/components/bindable/BindableInputTypedLegacy.d.ts +34 -0
  398. package/dist-ti/components/bindable/BindableRadio.d.ts +15 -0
  399. package/dist-ti/components/bindable/BindableSelect.d.ts +33 -0
  400. package/dist-ti/components/bindable/BindableSelectNaive.d.ts +3 -0
  401. package/dist-ti/components/bindable/BindableTextarea.d.ts +29 -0
  402. package/dist-ti/components/bindable/bindableCandidates.comparison.d.ts +142 -0
  403. package/dist-ti/components/bindable/bindableHtmlElements.d.ts +28 -0
  404. package/dist-ti/components/library/RichTextEditor/RichTextEditor.d.ts +52 -0
  405. package/dist-ti/components/library/RichTextEditor/StoredContentNode.d.ts +11 -0
  406. package/dist-ti/components/library/RichTextEditor/activeFormats.d.ts +21 -0
  407. package/dist-ti/components/library/RichTextEditor/contentTree.d.ts +31 -0
  408. package/dist-ti/components/library/RichTextEditor/sanitizeAuthoredHtml.d.ts +31 -0
  409. package/dist-ti/components/library/__StatefulMessage/MessageData.d.ts +8 -0
  410. package/dist-ti/components/library/__StatefulMessage/StatefulMessage.d.ts +23 -0
  411. package/dist-ti/components/library/index.d.ts +6 -0
  412. package/dist-ti/components/makeTypedLink.d.ts +10 -0
  413. package/dist-ti/concat.d.ts +3 -0
  414. package/dist-ti/contentNodeSymbols.d.ts +14 -0
  415. package/dist-ti/context/registerContext.d.ts +23 -0
  416. package/dist-ti/copy.d.ts +3 -0
  417. package/dist-ti/createElement.d.ts +3 -0
  418. package/dist-ti/createRef.d.ts +8 -0
  419. package/dist-ti/createRoutes.d.ts +4 -0
  420. package/dist-ti/defaultConfig.d.ts +5 -0
  421. package/dist-ti/deleteDirs.d.ts +3 -0
  422. package/dist-ti/devBanner.d.ts +5 -0
  423. package/dist-ti/docInit.d.ts +17 -0
  424. package/dist-ti/domNodeChecks.d.ts +4 -0
  425. package/dist-ti/env/Env.d.ts +3 -0
  426. package/dist-ti/env/Interfaces.d.ts +10 -0
  427. package/dist-ti/env/addToEnv.d.ts +3 -0
  428. package/dist-ti/env/droppedCoreEnvKeys.d.ts +6 -0
  429. package/dist-ti/env/funcs.d.ts +6 -0
  430. package/dist-ti/env/getEnvSchemas.d.ts +11 -0
  431. package/dist-ti/env/index.d.ts +3 -0
  432. package/dist-ti/env/privateEnv.d.ts +3 -0
  433. package/dist-ti/env/privateEnvOrThrow.d.ts +3 -0
  434. package/dist-ti/env/publicEnv.d.ts +3 -0
  435. package/dist-ti/env/publicEnvOrThrow.d.ts +3 -0
  436. package/dist-ti/env/registerEnvSchemas.d.ts +16 -0
  437. package/dist-ti/env/setPrivateEnvValidator.d.ts +9 -0
  438. package/dist-ti/env/setPublicEnvValidator.d.ts +9 -0
  439. package/dist-ti/env/test.d.ts +3 -0
  440. package/dist-ti/env/types.d.ts +4 -0
  441. package/dist-ti/env/windowGlobalEnvStatement.d.ts +3 -0
  442. package/dist-ti/experiments.d.ts +3 -0
  443. package/dist-ti/filePathFromUrl.d.ts +3 -0
  444. package/dist-ti/fileVersions.d.ts +10 -0
  445. package/dist-ti/findPackageDotJson.d.ts +3 -0
  446. package/dist-ti/findProjectDir.d.ts +6 -0
  447. package/dist-ti/findUserConfig.d.ts +7 -0
  448. package/dist-ti/fixExtension.d.ts +3 -0
  449. package/dist-ti/foreach.d.ts +8 -0
  450. package/dist-ti/frameworkConfigSchema.d.ts +107 -0
  451. package/dist-ti/getArrowFunctionBody.d.ts +3 -0
  452. package/dist-ti/getComponent.d.ts +5 -0
  453. package/dist-ti/getComponentDev.d.ts +4 -0
  454. package/dist-ti/getConfig.d.ts +3 -0
  455. package/dist-ti/getContentFromFunctionComponent.d.ts +4 -0
  456. package/dist-ti/getFrameworkDir.d.ts +3 -0
  457. package/dist-ti/getRoutes.d.ts +7 -0
  458. package/dist-ti/getRoutesDevs.d.ts +5 -0
  459. package/dist-ti/getStackTrace.d.ts +3 -0
  460. package/dist-ti/getStyledContentFromFunctionComponent.d.ts +4 -0
  461. package/dist-ti/getUserConfig.d.ts +4 -0
  462. package/dist-ti/glob.d.ts +6 -0
  463. package/dist-ti/globals.d.ts +3 -0
  464. package/dist-ti/goto.d.ts +3 -0
  465. package/dist-ti/hasDomain.d.ts +21 -0
  466. package/dist-ti/hasValidKey.d.ts +4 -0
  467. package/dist-ti/headChildren.d.ts +3 -0
  468. package/dist-ti/helpers/combineClassNames.d.ts +4 -0
  469. package/dist-ti/helpers/forwardingFetch.d.ts +4 -0
  470. package/dist-ti/helpers/getFetchCompatibleHeaders.d.ts +4 -0
  471. package/dist-ti/helpers/index.d.ts +6 -0
  472. package/dist-ti/helpers/perRequest.d.ts +4 -0
  473. package/dist-ti/hmr/applyHmrModule.d.ts +12 -0
  474. package/dist-ti/hmr/componentIdentity.d.ts +10 -0
  475. package/dist-ti/hmr/instanceRegistry.d.ts +5 -0
  476. package/dist-ti/hmr/liveReloadHub.d.ts +11 -0
  477. package/dist-ti/hmr/refreshStylesheets.d.ts +3 -0
  478. package/dist-ti/hooks/clearCurrentComponent.d.ts +3 -0
  479. package/dist-ti/hooks/getCurrentComponent.d.ts +8 -0
  480. package/dist-ti/hooks/globalObj.d.ts +3 -0
  481. package/dist-ti/hooks/globalType.d.ts +3 -0
  482. package/dist-ti/hooks/index.d.ts +7 -0
  483. package/dist-ti/hooks/setCurrentComponent.d.ts +4 -0
  484. package/dist-ti/hooks/shallowCompare.d.ts +3 -0
  485. package/dist-ti/hooks/useCallback.d.ts +3 -0
  486. package/dist-ti/hooks/useContext.d.ts +3 -0
  487. package/dist-ti/hooks/useEffect.d.ts +3 -0
  488. package/dist-ti/hooks/useInstance.d.ts +4 -0
  489. package/dist-ti/hooks/useMemo.d.ts +3 -0
  490. package/dist-ti/hooks/useReducer.d.ts +3 -0
  491. package/dist-ti/hooks/useRef.d.ts +5 -0
  492. package/dist-ti/hooks/useState.d.ts +4 -0
  493. package/dist-ti/htmlEntities.d.ts +3 -0
  494. package/dist-ti/htmlEventHandlerKey.d.ts +4 -0
  495. package/dist-ti/htmlEvents.d.ts +7 -0
  496. package/dist-ti/hydrate/hydrate.d.ts +21 -0
  497. package/dist-ti/hydrate/hydrateGlobalData.d.ts +14 -0
  498. package/dist-ti/hydrate/reconcileHydratedAttributes.d.ts +26 -0
  499. package/dist-ti/hydrate/renderHydrationMismatchBanner.d.ts +9 -0
  500. package/dist-ti/hydrate/stubRouting.d.ts +10 -0
  501. package/dist-ti/importDevModuleWithRetry.d.ts +5 -0
  502. package/dist-ti/importModule.d.ts +4 -0
  503. package/dist-ti/index.d.ts +5 -0
  504. package/dist-ti/indexInner.d.ts +116 -0
  505. package/dist-ti/info.d.ts +3 -0
  506. package/dist-ti/innerHtmlFromProps.d.ts +19 -0
  507. package/dist-ti/isBrowser.d.ts +3 -0
  508. package/dist-ti/isClient.d.ts +3 -0
  509. package/dist-ti/isDev.d.ts +4 -0
  510. package/dist-ti/isProd.d.ts +3 -0
  511. package/dist-ti/isServer.d.ts +3 -0
  512. package/dist-ti/iterationQueryString.d.ts +3 -0
  513. package/dist-ti/json.d.ts +17 -0
  514. package/dist-ti/jsx-runtime.d.ts +3 -0
  515. package/dist-ti/jsxHelpers.d.ts +4 -0
  516. package/dist-ti/jsxRuntime.d.ts +11 -0
  517. package/dist-ti/jsxRuntimeSignals.d.ts +23 -0
  518. package/dist-ti/loadPackageDotJsonFromDir.d.ts +4 -0
  519. package/dist-ti/logAndReturn.d.ts +4 -0
  520. package/dist-ti/makeFinalConfig.d.ts +4 -0
  521. package/dist-ti/makeInstanceConfigFromFrameworkConfig.d.ts +5 -0
  522. package/dist-ti/makeServerRpc.d.ts +8 -0
  523. package/dist-ti/markOptionSelected.d.ts +18 -0
  524. package/dist-ti/mergeConfigs.d.ts +4 -0
  525. package/dist-ti/moduleReloader.d.ts +3 -0
  526. package/dist-ti/mutatingFunctions.d.ts +13 -0
  527. package/dist-ti/nbsp.d.ts +3 -0
  528. package/dist-ti/objectMap.d.ts +4 -0
  529. package/dist-ti/objectTypesToCopy.d.ts +3 -0
  530. package/dist-ti/objectTypesToProxy.d.ts +3 -0
  531. package/dist-ti/output.d.ts +7 -0
  532. package/dist-ti/packageSettings.d.ts +3 -0
  533. package/dist-ti/pipeLog.d.ts +3 -0
  534. package/dist-ti/pipeline/contextStore.d.ts +13 -0
  535. package/dist-ti/pipeline/hydratePipeline.d.ts +5 -0
  536. package/dist-ti/pipeline/importRoutesModule.d.ts +7 -0
  537. package/dist-ti/pipeline/networkedTransport.d.ts +12 -0
  538. package/dist-ti/pipeline/pipeline.d.ts +124 -0
  539. package/dist-ti/pipeline/pipelineDefinition.d.ts +87 -0
  540. package/dist-ti/pipeline/runPipeline.d.ts +40 -0
  541. package/dist-ti/pipeline/runSplitPipeline.d.ts +11 -0
  542. package/dist-ti/pipeline/settleRouting.d.ts +11 -0
  543. package/dist-ti/pipeline/splitPipeline.d.ts +66 -0
  544. package/dist-ti/pop.d.ts +11 -0
  545. package/dist-ti/possibleEnvFiles.d.ts +3 -0
  546. package/dist-ti/postcssPlugins/TransformCssNames.d.ts +16 -0
  547. package/dist-ti/postcssPlugins/parseSelectors.d.ts +3 -0
  548. package/dist-ti/postcssPlugins/parseSelectorsRich.d.ts +9 -0
  549. package/dist-ti/postcssPlugins/scopeAnimationValue.d.ts +3 -0
  550. package/dist-ti/postcssPlugins/splitCssValue.d.ts +3 -0
  551. package/dist-ti/postcssPlugins/unwrapIgnoreMarker.d.ts +3 -0
  552. package/dist-ti/promise.d.ts +3 -0
  553. package/dist-ti/propsAreEqual.d.ts +9 -0
  554. package/dist-ti/rawHtml/HtmlAllowList.d.ts +18 -0
  555. package/dist-ti/rawHtml/decodeHtmlEntities.d.ts +9 -0
  556. package/dist-ti/rawHtml/filterContentNode.d.ts +21 -0
  557. package/dist-ti/rawHtml/htmlParsingTags.d.ts +24 -0
  558. package/dist-ti/rawHtml/parseHtml.d.ts +50 -0
  559. package/dist-ti/rawHtml/safeHtmlAllowList.d.ts +19 -0
  560. package/dist-ti/rawHtml/sanitizeHtml.d.ts +18 -0
  561. package/dist-ti/rawHtml/tokenizeHtml.d.ts +26 -0
  562. package/dist-ti/reRouting/addRequireResolveHooks.d.ts +3 -0
  563. package/dist-ti/reRouting/importLoader.d.ts +8 -0
  564. package/dist-ti/ref.d.ts +3 -0
  565. package/dist-ti/regexEscape.d.ts +3 -0
  566. package/dist-ti/removeRecursive.d.ts +3 -0
  567. package/dist-ti/render/HeadData.d.ts +22 -0
  568. package/dist-ti/render/SxyFrameworkModule.d.ts +6 -0
  569. package/dist-ti/render/SxyFrameworkModules.d.ts +4 -0
  570. package/dist-ti/render/addImportMap.d.ts +5 -0
  571. package/dist-ti/render/classComponentNodeToRenderingTree.d.ts +7 -0
  572. package/dist-ti/render/componentNodeToRenderingTree.d.ts +7 -0
  573. package/dist-ti/render/contentNodeToHtml.d.ts +19 -0
  574. package/dist-ti/render/contentToHtml.d.ts +10 -0
  575. package/dist-ti/render/contentToHtmlDev.d.ts +10 -0
  576. package/dist-ti/render/contentTreeToRenderingTree.d.ts +7 -0
  577. package/dist-ti/render/debug.d.ts +3 -0
  578. package/dist-ti/render/functionComponentNodeToRenderingTree.d.ts +7 -0
  579. package/dist-ti/render/getFunctionBodyAsString.d.ts +4 -0
  580. package/dist-ti/render/htmlMonoTags.d.ts +7 -0
  581. package/dist-ti/render/htmlNoSelfCloseTags.d.ts +28 -0
  582. package/dist-ti/render/htmlSelfClosableTags.d.ts +7 -0
  583. package/dist-ti/render/htmlSingleOnlyTags.d.ts +9 -0
  584. package/dist-ti/render/htmlVoidTags.d.ts +20 -0
  585. package/dist-ti/render/instantiateClassComponent.d.ts +6 -0
  586. package/dist-ti/render/instantiateComponent.d.ts +6 -0
  587. package/dist-ti/render/instantiateFunctionComponent.d.ts +7 -0
  588. package/dist-ti/render/printComponentNameInSource.d.ts +3 -0
  589. package/dist-ti/render/processBody.d.ts +3 -0
  590. package/dist-ti/render/processHead.d.ts +5 -0
  591. package/dist-ti/render/processHtmlNode.d.ts +4 -0
  592. package/dist-ti/render/processProps.d.ts +3 -0
  593. package/dist-ti/render/processRenderingNodeHtml.d.ts +4 -0
  594. package/dist-ti/render/readDocInitScript.d.ts +4 -0
  595. package/dist-ti/render/renderingTreeToHtml.d.ts +5 -0
  596. package/dist-ti/render/rootToHtml.d.ts +10 -0
  597. package/dist-ti/render/rootToHtmlDev.d.ts +10 -0
  598. package/dist-ti/requests/axios/get.d.ts +3 -0
  599. package/dist-ti/requests/axios/post.d.ts +3 -0
  600. package/dist-ti/requests/fetch/FetchExtras.d.ts +32 -0
  601. package/dist-ti/requests/fetch/_fetchPromise.d.ts +3 -0
  602. package/dist-ti/requests/fetch/delete.d.ts +4 -0
  603. package/dist-ti/requests/fetch/get.d.ts +4 -0
  604. package/dist-ti/requests/fetch/mergeFetchInit.d.ts +3 -0
  605. package/dist-ti/requests/fetch/paramsObjectToParamsString.d.ts +3 -0
  606. package/dist-ti/requests/fetch/patch.d.ts +4 -0
  607. package/dist-ti/requests/fetch/post.d.ts +4 -0
  608. package/dist-ti/requests/fetch/put.d.ts +4 -0
  609. package/dist-ti/requests/index.d.ts +7 -0
  610. package/dist-ti/routesLocationParts.d.ts +7 -0
  611. package/dist-ti/routing/AppRoutes.d.ts +7 -0
  612. package/dist-ti/routing/DataRedirect.d.ts +5 -0
  613. package/dist-ti/routing/Default404.d.ts +6 -0
  614. package/dist-ti/routing/ErrorRouteType.d.ts +9 -0
  615. package/dist-ti/routing/Group.d.ts +13 -0
  616. package/dist-ti/routing/Match.type.d.ts +18 -0
  617. package/dist-ti/routing/MatchedRoute.d.ts +15 -0
  618. package/dist-ti/routing/MatchedRouteInfo.d.ts +14 -0
  619. package/dist-ti/routing/Params.d.ts +3 -0
  620. package/dist-ti/routing/ParamsFromPath.d.ts +11 -0
  621. package/dist-ti/routing/RedirectCode.d.ts +3 -0
  622. package/dist-ti/routing/Route.d.ts +3 -0
  623. package/dist-ti/routing/RouteContent.d.ts +5 -0
  624. package/dist-ti/routing/RouteContentFunction.d.ts +6 -0
  625. package/dist-ti/routing/RouteData.d.ts +3 -0
  626. package/dist-ti/routing/RouteDataFunction.type.d.ts +9 -0
  627. package/dist-ti/routing/RouteDataReturnType.d.ts +12 -0
  628. package/dist-ti/routing/RouteParams.type.d.ts +3 -0
  629. package/dist-ti/routing/RoutePaths.d.ts +13 -0
  630. package/dist-ti/routing/RouteProp.d.ts +11 -0
  631. package/dist-ti/routing/RouteType.d.ts +3 -0
  632. package/dist-ti/routing/RouteTypes.d.ts +20 -0
  633. package/dist-ti/routing/Router.d.ts +3 -0
  634. package/dist-ti/routing/Routes.d.ts +39 -0
  635. package/dist-ti/routing/RoutesFunction.d.ts +14 -0
  636. package/dist-ti/routing/RoutesWithSafeParams.d.ts +3 -0
  637. package/dist-ti/routing/RoutingRedirect.d.ts +9 -0
  638. package/dist-ti/routing/Serializable.d.ts +6 -0
  639. package/dist-ti/routing/TungstenErrorInfo.d.ts +7 -0
  640. package/dist-ti/routing/WebRedirect.d.ts +9 -0
  641. package/dist-ti/routing/builder.d.ts +131 -0
  642. package/dist-ti/routing/builder.trial.d.ts +3 -0
  643. package/dist-ti/routing/compareRequestToRegex.d.ts +10 -0
  644. package/dist-ti/routing/debug.d.ts +3 -0
  645. package/dist-ti/routing/defineRoutes.d.ts +9 -0
  646. package/dist-ti/routing/getPathPriority.d.ts +3 -0
  647. package/dist-ti/routing/matchPath.d.ts +4 -0
  648. package/dist-ti/routing/patternToRegex.d.ts +6 -0
  649. package/dist-ti/routing/pyramidRouting.d.ts +3 -0
  650. package/dist-ti/routing/redirectOf.d.ts +13 -0
  651. package/dist-ti/routing/registerGlobalData.d.ts +19 -0
  652. package/dist-ti/routing/registerRoutes.d.ts +11 -0
  653. package/dist-ti/routing/registerRouting.d.ts +38 -0
  654. package/dist-ti/routing/registrationTypes.d.ts +12 -0
  655. package/dist-ti/routing/resolveAppRoutes.d.ts +6 -0
  656. package/dist-ti/routing/routeSymbols.d.ts +10 -0
  657. package/dist-ti/routing/routeUrl.d.ts +9 -0
  658. package/dist-ti/routing/routesArray.d.ts +31 -0
  659. package/dist-ti/routing/routingBuilder.d.ts +36 -0
  660. package/dist-ti/routing/routingRegistry.d.ts +20 -0
  661. package/dist-ti/routing/runContentFunction.d.ts +3 -0
  662. package/dist-ti/routing/splitRequest.d.ts +18 -0
  663. package/dist-ti/run.d.ts +3 -0
  664. package/dist-ti/server.d.ts +5 -0
  665. package/dist-ti/serverModuleLocation.d.ts +4 -0
  666. package/dist-ti/serverRpc.d.ts +3 -0
  667. package/dist-ti/serverRpcs.d.ts +4 -0
  668. package/dist-ti/settings.d.ts +34 -0
  669. package/dist-ti/signals/tracking.d.ts +34 -0
  670. package/dist-ti/slash.d.ts +3 -0
  671. package/dist-ti/spawnShellCommand.d.ts +4 -0
  672. package/dist-ti/standardSchema.d.ts +38 -0
  673. package/dist-ti/standardizeWebPath.d.ts +3 -0
  674. package/dist-ti/startDevServer.d.ts +3 -0
  675. package/dist-ti/stateTracking.d.ts +48 -0
  676. package/dist-ti/staticGen/RouteDefinition.d.ts +9 -0
  677. package/dist-ti/staticGen/getAppRoutes.d.ts +6 -0
  678. package/dist-ti/staticGen/staticGen.d.ts +4 -0
  679. package/dist-ti/staticGen/staticGenFunctions.d.ts +7 -0
  680. package/dist-ti/style/jssToCss.d.ts +3 -0
  681. package/dist-ti/style/styleContent.d.ts +4 -0
  682. package/dist-ti/style/styleContentReact.d.ts +3 -0
  683. package/dist-ti/style/styleContentReactClassOrClassname.d.ts +3 -0
  684. package/dist-ti/style/styleContentSxy.d.ts +5 -0
  685. package/dist-ti/style/styleContentSxyClassOrClassname.d.ts +3 -0
  686. package/dist-ti/style/styleElementContent.d.ts +3 -0
  687. package/dist-ti/style/unusedStyles.d.ts +10 -0
  688. package/dist-ti/styleProcessors.d.ts +3 -0
  689. package/dist-ti/symbols.d.ts +4 -0
  690. package/dist-ti/sync/index.d.ts +5 -0
  691. package/dist-ti/syncServer/preload.d.ts +3 -0
  692. package/dist-ti/testing/contentToString.d.ts +14 -0
  693. package/dist-ti/testing/createTestApp.d.ts +72 -0
  694. package/dist-ti/testing/display.d.ts +3 -0
  695. package/dist-ti/testing/ensure.d.ts +120 -0
  696. package/dist-ti/testing/ensure.trial.d.ts +3 -0
  697. package/dist-ti/testing/helpers/contentHtmlElements.d.ts +4 -0
  698. package/dist-ti/testing/host.d.ts +189 -0
  699. package/dist-ti/testing/hydrateTestApp.d.ts +57 -0
  700. package/dist-ti/testing/index.d.ts +12 -0
  701. package/dist-ti/testing/installTestDocInit.d.ts +3 -0
  702. package/dist-ti/testing/installTestStyleProcessors.d.ts +3 -0
  703. package/dist-ti/testing/loadEnv.d.ts +7 -0
  704. package/dist-ti/testing/normalize.d.ts +3 -0
  705. package/dist-ti/testing/pipeline/createTestPacketApp.d.ts +31 -0
  706. package/dist-ti/testing/pipeline/createTestPipelineApp.d.ts +71 -0
  707. package/dist-ti/testing/pipeline/hostPipeline.d.ts +26 -0
  708. package/dist-ti/testing/pipeline/hydrateTestPipelineApp.d.ts +31 -0
  709. package/dist-ti/testing/pipeline/index.d.ts +8 -0
  710. package/dist-ti/testing/pipeline/pipelineTestApp.d.ts +35 -0
  711. package/dist-ti/testing/pipeline/routesOf.d.ts +15 -0
  712. package/dist-ti/testing/pipeline/testPipelineRoute.d.ts +3 -0
  713. package/dist-ti/testing/pipeline/testingComponentPackageFromPacket.d.ts +12 -0
  714. package/dist-ti/testing/resolveContent.d.ts +19 -0
  715. package/dist-ti/testing/testEnvIsRequested.d.ts +4 -0
  716. package/dist-ti/testing/testingComponentPackage.d.ts +36 -0
  717. package/dist-ti/throwError.d.ts +5 -0
  718. package/dist-ti/timeProfiler.d.ts +17 -0
  719. package/dist-ti/todo.d.ts +3 -0
  720. package/dist-ti/update/UpdateResult.d.ts +7 -0
  721. package/dist-ti/update/UpdateScheduler.d.ts +18 -0
  722. package/dist-ti/update/guardedUpdate.d.ts +10 -0
  723. package/dist-ti/update/integrateUpdateVdom.d.ts +50 -0
  724. package/dist-ti/update/integrateUpdateVdomPrebuild.d.ts +3 -0
  725. package/dist-ti/update/pendingMounts.d.ts +26 -0
  726. package/dist-ti/validChildren.d.ts +6 -0
  727. package/dist-ti/warnOnFrameworkChange.d.ts +3 -0
  728. package/dist-ti/watch.d.ts +10 -0
  729. package/dist-ti/when.d.ts +4 -0
  730. package/dist-ti/zones/react.d.ts +54 -0
  731. package/package.json +75 -11
  732. package/types/globals.d.ts +65 -0
  733. package/types/helpers.d.ts +2 -1
  734. package/types/index.d.ts +2 -57
  735. package/types-ti/helpers.d.ts +0 -0
  736. package/types-ti/index.d.ts +12 -0
  737. package/types-ti/permissions.d.ts +39 -0
  738. package/vendor/manifest.json +2 -2
  739. package/dist/pipeline/PipelineRequestHandler.d.ts +0 -25
  740. package/dist/pipeline/PipelineRequestHandler.js +0 -104
@@ -4,14 +4,16 @@ import { routeKeyToUrl } from '../routing/routeUrl.js';
4
4
  import { TungstenError } from '../TungstenError.js';
5
5
  // config.serverSideRouting false: the page's first routing is the client's, with its route data. A
6
6
  // redirect to a route routes again, the address bar replaced, before anything is built; one to a
7
- // URL leaves the page, and gives null
8
- export async function stubRouting(location, route, instanceConfig) {
7
+ // URL leaves the page, and gives null. allRoutesData: the pipeline's, beside each routing, whose
8
+ // redirect wins over the route's
9
+ export async function stubRouting(location, route, instanceConfig, allRoutesData) {
9
10
  for (let hops = 0; hops <= 10; hops++) {
10
- const matchedRouteInfo = await route(location);
11
- const redirection = redirectOf(matchedRouteInfo);
11
+ const [matchedRouteInfo, data] = await Promise.all([route(location), allRoutesData?.(location)]);
12
+ const redirection = redirectOf(matchedRouteInfo, data);
12
13
  if (redirection === undefined) return {
13
14
  location,
14
- matchedRouteInfo
15
+ matchedRouteInfo,
16
+ allRoutesData: data
15
17
  };
16
18
  if ('url' in redirection) {
17
19
  window.location.replace(redirection.url);
@@ -63,6 +63,7 @@ export { splitPipeline } from './pipeline/splitPipeline.js';
63
63
  export type { PipelineServerAllRoutesData } from './pipeline/splitPipeline.js';
64
64
  export { contextStore } from './pipeline/contextStore.js';
65
65
  export { hydratePipeline } from './pipeline/hydratePipeline.js';
66
+ export { routesWith, routesListWith, makeRouteWith } from './routing/builder.js';
66
67
  export { registeredRouting } from './routing/routingRegistry.js';
67
68
  export { type Context, type ContextClass, type ContextClasses, registerContext, } from './context/registerContext.js';
68
69
  export { registerNetworkedData, type NetworkedData } from './routing/routingRegistry.js';
@@ -85,6 +85,7 @@ export { contextStore } from './pipeline/contextStore.js';
85
85
  // the generated client.js calls this in place of hydrate() under 'pipeline'
86
86
  export { hydratePipeline } from './pipeline/hydratePipeline.js';
87
87
  // the generated client/routes.js reads this; not meant for app code
88
+ export { routesWith, routesListWith, makeRouteWith } from './routing/builder.js';
88
89
  export { registeredRouting } from './routing/routingRegistry.js';
89
90
  // Context and NetworkedData are the interfaces an app augments, from its classes or its routing
90
91
  export { registerContext } from './context/registerContext.js';
package/dist/json.d.ts CHANGED
@@ -1,4 +1,6 @@
1
+ import type { Json } from './Json.type.js';
1
2
  type Replacer = (this: unknown, key: string, value: unknown) => unknown;
3
+ type Reviver = (this: unknown, key: string, value: unknown) => unknown;
2
4
  type AllowList = (string | number)[] | null;
3
5
  type Space = string | number;
4
6
  type IfAny<T, Then> = 0 extends (1 & T) ? Then : never;
@@ -8,5 +10,7 @@ export declare function JSONstringify(value: object, replacer?: AllowList, space
8
10
  export declare function JSONstringify(value: string | number | boolean | null, replacer?: AllowList, space?: Space): string;
9
11
  export declare function JSONstringify(value: string | number | boolean | null | object, replacer?: AllowList, space?: Space): string;
10
12
  export declare function JSONstringify(value: unknown, replacer?: Replacer | AllowList, space?: Space): string | undefined;
13
+ export declare function JSONparse(text: string): Json;
14
+ export declare function JSONparse(text: string, reviver: Reviver): unknown;
11
15
  export {};
12
16
  //# sourceMappingURL=json.d.ts.map
package/dist/json.js CHANGED
@@ -5,4 +5,7 @@ export function JSONstringify(value, replacer, space) {
5
5
  /* eslint-disable no-restricted-properties -- the typed wrapper */
6
6
  return typeof replacer === 'function' ? JSON.stringify(value, replacer, space) : JSON.stringify(value, replacer, space);
7
7
  /* eslint-enable no-restricted-properties */
8
+ }
9
+ export function JSONparse(text, reviver) {
10
+ return JSON.parse(text, reviver); // eslint-disable-line no-restricted-properties -- the typed wrapper
8
11
  }
@@ -1,6 +1,8 @@
1
1
  import { defaultConfig } from './defaultConfig.js';
2
2
  export function makeFinalConfig(userConfig, overrides = null) {
3
- const finalConfig = structuredClone(defaultConfig);
3
+ const finalConfig = {
4
+ ...structuredClone(defaultConfig)
5
+ };
4
6
  for (const key in userConfig) {
5
7
  //if (Object.prototype.hasOwnProperty.call(userConfig, key)) { // github co-pilot suggestion, unsure if needed
6
8
  finalConfig[key] = userConfig[key]; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
@@ -1,9 +1,9 @@
1
- export declare const arrayMutatingFunctions: readonly ["push", "pop", "shift", "unshift", "sort", "splice", "reverse", "fill", "copyWithin"];
1
+ export declare const arrayMutatingFunctions: readonly ['push', 'pop', 'shift', 'unshift', 'sort', 'splice', 'reverse', 'fill', 'copyWithin'];
2
2
  type ArrayMutatingFunctions = typeof arrayMutatingFunctions[number];
3
3
  export declare const arrayMutatingFunctionInsertsFrom: Partial<Record<ArrayMutatingFunctions, number>>;
4
- export declare const mapMutatingFunctions: readonly ["set", "delete", "clear"];
4
+ export declare const mapMutatingFunctions: readonly ['set', 'delete', 'clear'];
5
5
  type MapMutatingFunctions = typeof mapMutatingFunctions[number];
6
- export declare const setMutatingFunctions: readonly ["add", "delete", "clear"];
6
+ export declare const setMutatingFunctions: readonly ['add', 'delete', 'clear'];
7
7
  type SetMutatingFunctions = typeof setMutatingFunctions[number];
8
8
  export declare function KeyIsArrayMutatingFunction(key: string): key is ArrayMutatingFunctions;
9
9
  export declare function KeyIsMapMutatingFunction(key: string): key is MapMutatingFunctions;
@@ -29,17 +29,48 @@ export async function hydratePipeline(app, RootComponent, instanceConfig, fileVe
29
29
  const routes = pipelineRoutes(app, null, init, isDev);
30
30
  const routeContext = routingContext(ran.routingContext);
31
31
  const networkedData = routingNetworkedData(ran.routingNetworkedData);
32
+ // the server's error page: the app's error page alone, with what clientInit made - the server
33
+ // ran no Post - and, with no shell around it, navigation from it loads pages from the server
34
+ if (typeof __tungsten_error_info__ !== 'undefined' && app.errorPage !== undefined) {
35
+ const noRoute = {
36
+ key: null,
37
+ params: {},
38
+ content: null
39
+ };
40
+ const globalData = __tungsten_global_data__;
41
+ const {
42
+ internalStore,
43
+ stores,
44
+ storeSubscriptions
45
+ } = initStores(location, null, globalData, noRoute, null, routeContext, networkedData);
46
+ const instance = new Instance(location, {
47
+ ...instanceConfig,
48
+ clientSideNav: false
49
+ }, null, appRoutesFor(app, init), routes, internalStore, stores, storeSubscriptions, globalData, noRoute);
50
+ instance.fileVersions = fileVersions;
51
+ instance.context = routeContext;
52
+ instance.networkedData = networkedData;
53
+ instance.pipelineNetworked = ran.networked;
54
+ instance.errorInfo = {
55
+ error: undefined,
56
+ message: __tungsten_error_info__.message
57
+ };
58
+ const ErrorPage = app.errorPage; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- .errorPage() typed it
59
+ await hydrateDocument(instance, ErrorPage, instance.errorInfo);
60
+ return;
61
+ }
32
62
  let allRoutesData;
33
63
  let matchedRouteInfo;
34
64
  if (instanceConfig.serverSideRouting === false) {
35
65
  // a stub page: the client's own all-routes data, beside its first routing, as a navigation's
36
- const [fetched, routed] = await Promise.all([ran.allRoutesData?.(), stubRouting(location, to => routing(to, routes, routeContext, networkedData), instanceConfig)]);
66
+ const fetchData = ran.allRoutesData;
67
+ const routed = await stubRouting(location, to => routing(to, routes, routeContext, networkedData), instanceConfig, fetchData && (async to => fetchData(to)));
37
68
  if (routed === null) return;
38
69
  ({
39
70
  location,
40
71
  matchedRouteInfo
41
72
  } = routed);
42
- allRoutesData = fetched; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the framework brands what it builds
73
+ allRoutesData = routed.allRoutesData; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the framework brands what it builds
43
74
  } else {
44
75
  allRoutesData = __tungsten_global_data__;
45
76
  matchedRouteInfo = hydrationRouting(__tungsten_matched_route_info__, routes);
@@ -62,14 +93,19 @@ export async function hydratePipeline(app, RootComponent, instanceConfig, fileVe
62
93
  routingContext: routeContext,
63
94
  routingNetworkedData: networkedData,
64
95
  allRoutesData: allRoutesDataFor(ran.allRoutesData),
96
+ allRoutesDataFallback: fallbackFor(ran.allRoutesDataFallback),
65
97
  afterRouting
66
98
  };
67
- if (isDev) setCurrentInstance(instance);
68
99
  if (instanceConfig.serverSideRouting !== false && typeof __tungsten_route_data__ !== 'undefined') {
69
100
  instance.routeData = __tungsten_route_data__;
70
101
  }
102
+ await hydrateDocument(instance, RootComponent ?? MatchedRoute);
103
+ }
104
+ // the page's document, from its root component
105
+ async function hydrateDocument(instance, RootComponent, props = {}) {
106
+ if (isDev) setCurrentInstance(instance);
71
107
  const meta = makeDefaultHydrateMeta();
72
- await hydrateRootComponent(instance, RootComponent ?? MatchedRoute, new DomPointer(document, 1), meta);
108
+ await hydrateRootComponent(instance, RootComponent, new DomPointer(document, 1), meta, props);
73
109
  instance.hydrationComplete = true;
74
110
  if (isDev) renderHydrationMismatchBanner(meta.mismatches);
75
111
  if (isDev) renderDocInitErrorBanner();
@@ -79,5 +115,10 @@ const appRoutesFor = (app, init) => reqRes => pipelineRoutes(app, reqRes, init,
79
115
  const allRoutesDataFor = run => {
80
116
  if (run === undefined) return undefined;
81
117
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- the framework brands what it builds
82
- return async () => await run();
118
+ return async location => await run(location);
119
+ };
120
+ const fallbackFor = run => {
121
+ if (run === undefined) return undefined;
122
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- the framework brands what it builds
123
+ return async (location, error) => await run(location, error);
83
124
  };
@@ -1,6 +1,8 @@
1
1
  import type { ComponentStore, ConstructPackage, TungstenComponentPropsBase, TungstenComponentSignalsConstraint, TungstenComponentStateConstraint } from '../Components.jsx';
2
2
  import type { ComponentHelpers } from '../componentHelpers.js';
3
+ import type { TungstenErrorInfo } from '../routing/TungstenErrorInfo.js';
3
4
  import type { RoutesWithSettings } from '../routing/Routes.js';
5
+ import type { DataRedirect } from '../routing/DataRedirect.js';
4
6
  import type { NoDuplicatePaths, RoutesArray } from '../routing/routesArray.js';
5
7
  import type { Serializable } from '../routing/Serializable.js';
6
8
  import type { ReadonlyTrueStore } from '../Store/makeStore.js';
@@ -78,26 +80,39 @@ export type PipelineStageResult<X, Name extends keyof StagesOf<X> = never> = Rec
78
80
  export type PipelineStageContext<X, Name extends keyof StagesOf<X> = never> = RecordOf<X, Name> extends StageRecord<any, infer C> ? (C extends object ? C : Nothing) : never;
79
81
  type Process<Req, Previous, X, G = never> = (reqRes: Req | null, previous: Previous, allRoutesData: G) => MaybePromise<X>;
80
82
  export type SerializableData<G> = G extends object ? Serializable<G> : never;
81
- export type AllRoutesDataProcess<Req, I, G> = (reqRes: Req | null, init: I) => MaybePromise<G & SerializableData<NoInfer<G>>>;
83
+ export type AllRoutesDataProcess<Req, I, G> = (reqRes: Req | null, init: I, location: string) => MaybePromise<(G & SerializableData<NoInfer<G>>) | DataRedirect>;
84
+ export type AllRoutesDataFallback<Req, I, G> = NoInfer<G> | ((reqRes: Req | null, init: I, location: string, error: unknown) => MaybePromise<NoInfer<G> | DataRedirect>);
82
85
  type RoutesFunction<Req, I, G extends object | undefined> = (reqRes: Req | null, init: I) => RoutesWithSettings<G> | RoutesArray<G> | [];
86
+ type HasErrorRoute<Rs> = Rs extends readonly unknown[] ? (number extends Rs['length'] ? true : ('error' extends PathOf<Rs[number]> ? true : false)) : ('error' extends keyof Rs ? true : false);
87
+ type PathOf<E> = E extends {
88
+ path: infer P;
89
+ } ? P : never;
90
+ type ReturnedRoutes<R> = R extends (...args: never[]) => infer Rs ? Rs : R;
91
+ export type RequireErrorRoute<R> = true extends HasErrorRoute<ReturnedRoutes<R>> ? unknown : 'A pipeline needs an \'error\' route: a failed request renders it.';
83
92
  type Routes<Req, I, Ctx, N, G extends object | undefined> = {
84
- <const R extends RoutesFunction<Req, I, G>>(routes: R & NoDuplicatePaths<R>): PipelineApp<R, DeliveredContext<Ctx>, N, G>;
85
- <const R extends RoutesFunction<Req, I, G>>(options: RoutesOptions, routes: R & NoDuplicatePaths<R>): PipelineApp<R, DeliveredContext<Ctx>, N, G>;
93
+ <const R extends RoutesFunction<Req, I, G>>(routes: R & NoDuplicatePaths<R> & RequireErrorRoute<R>): PipelineApp<R, DeliveredContext<Ctx>, N, G>;
94
+ <const R extends RoutesFunction<Req, I, G>>(options: RoutesOptions, routes: R & NoDuplicatePaths<R> & RequireErrorRoute<R>): PipelineApp<R, DeliveredContext<Ctx>, N, G>;
86
95
  };
87
- export type PostStage<Req, I, Ctx, N, G extends object | undefined> = PipelineComponents<Ctx, N, G> & {
96
+ export type ErrorPageComponent<ECtx, EN, G extends object | undefined> = PipelineSimpleComponent<ECtx, EN, G | undefined, TungstenErrorInfo>;
97
+ export type ErrorPageClass<ECtx, EN, G extends object | undefined> = abstract new (pkg: ConstructPackage<TungstenErrorInfo, undefined>) => ErrorPageComponent<ECtx, EN, G>;
98
+ export type RoutesStage<Req, I, Ctx, N, G extends object | undefined, ECtx, EN> = PipelineComponents<Ctx, N, G> & {
99
+ ErrorComponent: ErrorPageClass<ECtx, EN, G> & Statics<typeof PipelineSimpleComponent>;
88
100
  routes: Routes<Req, I, Ctx, N, G>;
89
101
  };
102
+ export type PostStage<Req, I, Ctx, N, G extends object | undefined, ECtx = I, EN = Nothing> = RoutesStage<Req, I, Ctx, N, G, ECtx, EN> & {
103
+ errorPage: (page: ErrorPageClass<ECtx, EN, G>) => RoutesStage<Req, I, Ctx, N, G, ECtx, EN>;
104
+ };
90
105
  export type DataStage<Req, I, G extends object | undefined> = PostStage<Req, I, I, Nothing, G> & {
91
106
  post: <P extends StageContext, This>(this: This, process: Process<Req, I, P, G>) => PostStage<Req, I, P, Nothing, G> & StageMark<This, 'post', P, P>;
92
107
  };
93
108
  export type InitStage<Req, I> = DataStage<Req, I, undefined> & {
94
- allRoutesData: <G extends object, This>(this: This, process: AllRoutesDataProcess<Req, I, G>) => DataStage<Req, I, G> & StageMark<This, 'allRoutesData', G, I>;
109
+ allRoutesData: <G extends object, This>(this: This, process: AllRoutesDataProcess<Req, I, G>, fallback?: AllRoutesDataFallback<Req, I, G>) => DataStage<Req, I, G> & StageMark<This, 'allRoutesData', G, I>;
95
110
  };
96
111
  export type ServerStage<Req> = InitStage<Req, undefined> & {
97
112
  init: <I extends StageContext | undefined, This>(this: This, process: Process<Req, undefined, I>) => InitStage<Req, I> & StageMark<This, 'init', I, I>;
98
113
  };
99
114
  export declare const loosely: <T>(process: unknown) => T;
100
- export declare function postStage<Req, I, Ctx, N, G extends object | undefined>(definition: PipelineDefinition): PostStage<Req, I, Ctx, N, G>;
115
+ export declare function postStage<Req, I, Ctx, N, G extends object | undefined, ECtx = I, EN = Nothing>(definition: PipelineDefinition): PostStage<Req, I, Ctx, N, G, ECtx, EN>;
101
116
  export declare function checkServer(builder: string, lib: ServerKind): void;
102
117
  export type PipelineBuilder = {
103
118
  server: <Kind extends ServerKind>(kind: Kind) => ServerStage<ServerRequests[Kind]>;
@@ -62,12 +62,22 @@ function makeApp(definition, args) {
62
62
  [$pipelineApp]: true
63
63
  };
64
64
  }
65
- export function postStage(definition) {
65
+ function routesStage(definition) {
66
66
  return {
67
67
  ...pipelineComponents,
68
+ ErrorComponent: PipelineSimpleComponent,
68
69
  routes: (...args) => makeApp(definition, args)
69
70
  };
70
71
  }
72
+ export function postStage(definition) {
73
+ return {
74
+ ...routesStage(definition),
75
+ errorPage: page => routesStage({
76
+ ...definition,
77
+ errorPage: loosely(page)
78
+ })
79
+ };
80
+ }
71
81
  function dataStage(definition) {
72
82
  return {
73
83
  ...postStage(definition),
@@ -80,9 +90,10 @@ function dataStage(definition) {
80
90
  function initStage(definition) {
81
91
  return {
82
92
  ...dataStage(definition),
83
- allRoutesData: process => dataStage({
93
+ allRoutesData: (process, fallback) => dataStage({
84
94
  ...definition,
85
- allRoutesData: loosely(process)
95
+ allRoutesData: loosely(process),
96
+ allRoutesDataFallback: loosely(fallback)
86
97
  })
87
98
  };
88
99
  }
@@ -1,3 +1,4 @@
1
+ import type { AnyComponentType } from '../AnyComponentType.js';
1
2
  import type { RouteCacheControl } from '../cacheControl.js';
2
3
  import type { ReqRes } from '../ReqRes.js';
3
4
  import type { MatchedRouteInfo } from '../routing/MatchedRouteInfo.js';
@@ -18,7 +19,7 @@ export type SplitResult = {
18
19
  export type RegisteredServerInit = (reqRes: unknown) => MaybePromise<SplitResult | undefined>;
19
20
  export type RegisteredServerPost = (reqRes: unknown, init: SplitResult | undefined, allRoutesData: AllRoutesDataConstraint) => MaybePromise<SplitResult | undefined>;
20
21
  export type RegisteredClientInit = (networked: object) => MaybePromise<SplitResult | undefined>;
21
- export type RegisteredClientAllRoutesData = (init: SplitResult | undefined) => MaybePromise<object>;
22
+ export type RegisteredClientAllRoutesData = (init: SplitResult | undefined, location: string) => MaybePromise<object>;
22
23
  export type RegisteredClientPost = (init: SplitResult | undefined, allRoutesData: AllRoutesDataConstraint) => MaybePromise<SplitResult | undefined>;
23
24
  export type ClientRoute = {
24
25
  key: RouteKey | null;
@@ -33,7 +34,8 @@ export type ClientStarted = {
33
34
  init: StageContext | undefined;
34
35
  routingContext: object;
35
36
  routingNetworkedData: object;
36
- allRoutesData: (() => MaybePromise<object>) | undefined;
37
+ allRoutesData: ((location: string) => MaybePromise<object>) | undefined;
38
+ allRoutesDataFallback: ((location: string, error: unknown) => Promise<object>) | undefined;
37
39
  networked: object;
38
40
  post: (allRoutesData: AllRoutesDataConstraint) => Promise<ClientPosted>;
39
41
  };
@@ -42,7 +44,10 @@ export type ClientPosted = {
42
44
  afterRouting: ((route: ClientRoute, allRoutesData: AllRoutesDataConstraint) => Promise<object>) | undefined;
43
45
  };
44
46
  export type RegisteredRoutes = (reqRes: unknown, init: StageContext | undefined) => unknown;
45
- export type RegisteredAllRoutesData = (reqRes: unknown, init: StageContext | undefined) => MaybePromise<object>;
47
+ export type RegisteredAllRoutesData = (reqRes: unknown, init: StageContext | undefined, location: string) => MaybePromise<object>;
48
+ export type RegisteredAllRoutesDataFallback = object | ((reqRes: unknown, init: StageContext | undefined, location: string, error: unknown) => MaybePromise<object>);
49
+ export type RegisteredClientAllRoutesDataFallback = object | ((init: SplitResult | undefined, location: string, error: unknown) => MaybePromise<object>);
50
+ export declare const isFallbackFunction: <F extends object>(fallback: F) => fallback is Extract<F, (...args: never[]) => unknown>;
46
51
  export type RoutesOptions = {
47
52
  cacheControl?: RouteCacheControl;
48
53
  };
@@ -52,13 +57,16 @@ export type PipelineDefinition = {
52
57
  client: ClientRun;
53
58
  init?: RegisteredStage;
54
59
  allRoutesData?: RegisteredAllRoutesData;
60
+ allRoutesDataFallback?: RegisteredAllRoutesDataFallback | undefined;
55
61
  post?: RegisteredStage;
56
62
  serverInit?: RegisteredServerInit;
57
63
  serverPost?: RegisteredServerPost;
58
64
  clientInit?: RegisteredClientInit;
59
65
  clientAllRoutesData?: RegisteredClientAllRoutesData;
66
+ clientAllRoutesDataFallback?: RegisteredClientAllRoutesDataFallback | undefined;
60
67
  clientPost?: RegisteredClientPost;
61
68
  clientAfterRouting?: RegisteredClientAfterRouting;
69
+ errorPage?: AnyComponentType;
62
70
  };
63
71
  export declare const $pipelineApp: unique symbol;
64
72
  declare const $appTypes: unique symbol;
@@ -4,6 +4,8 @@ export const clientRoute = (matched, location) => ({
4
4
  data: matched.data,
5
5
  location
6
6
  });
7
+ // a fallback is a G, which is serializable, or a function making one
8
+ export const isFallbackFunction = fallback => typeof fallback === 'function';
7
9
  export const $pipelineApp = Symbol('tungsten pipeline app');
8
10
  export const isPipelineApp = value => typeof value === 'object' && value !== null && $pipelineApp in value;
9
11
  // the routes function as the runners call it
@@ -3,27 +3,37 @@ import type { MatchedRouteInfo } from '../routing/MatchedRouteInfo.js';
3
3
  import type { RoutesWithSettings } from '../routing/Routes.js';
4
4
  import type { ServerDataLoading } from '../Store/ServerDataLoading.js';
5
5
  import type { InstancePipeline } from '../Instance/Instance.js';
6
- import type { AllRoutesDataConstraint, ClientPosted, ClientStarted, PipelineApp, StageContext } from './pipelineDefinition.js';
6
+ import type { AllRoutesDataConstraint, ClientPosted, ClientStarted, PipelineApp, RegisteredAllRoutesDataFallback, StageContext } from './pipelineDefinition.js';
7
7
  export type PipelineRouted = {
8
8
  init: StageContext | undefined;
9
9
  routes: RoutesWithSettings<any>;
10
10
  allRoutesData: AllRoutesDataConstraint;
11
11
  matchedRouteInfo: MatchedRouteInfo;
12
+ recoveredFrom?: unknown;
13
+ };
14
+ export type RequestProgress = {
15
+ init?: {
16
+ value: StageContext | undefined;
17
+ };
18
+ allRoutesData?: unknown;
19
+ failedSteps?: string[];
12
20
  };
13
21
  export type ServerRunner = {
14
- route: (app: PipelineApp, reqRes: unknown, location: string, serverDataLoading: ServerDataLoading | null, dev: boolean) => Promise<PipelineRouted>;
22
+ route: (app: PipelineApp, reqRes: unknown, location: string, serverDataLoading: ServerDataLoading | null, dev: boolean, progress?: RequestProgress) => Promise<PipelineRouted>;
15
23
  post: (app: PipelineApp, reqRes: unknown, init: StageContext | undefined, allRoutesData: AllRoutesDataConstraint) => Promise<StageContext | undefined>;
16
24
  context: (init: StageContext | undefined, post: StageContext | undefined) => object;
17
25
  networked: (init: StageContext | undefined, post: StageContext | undefined) => object | undefined;
18
26
  };
27
+ export declare function runStep<T>(progress: RequestProgress, step: string, run: () => T | Promise<T>): Promise<T>;
19
28
  export declare function pipelineRoutes(app: PipelineApp, reqRes: unknown, init: StageContext | undefined, dev: boolean): RoutesWithSettings<any>;
20
- export declare function routeWithPipeline(app: PipelineApp, reqRes: unknown, location: string, serverDataLoading: ServerDataLoading | null, dev: boolean): Promise<PipelineRouted>;
21
- export declare function routeAfterInit(app: PipelineApp, reqRes: unknown, location: string, serverDataLoading: ServerDataLoading | null, dev: boolean, init: StageContext | undefined, context: object | undefined, networked: object | undefined): Promise<PipelineRouted>;
22
29
  export declare const routingContext: (context: object | undefined) => BrandedContext;
23
30
  export declare const routingNetworkedData: (networked: object | undefined) => BrandedNetworkedData;
24
- export declare const afterRoutingFor: (run: ClientPosted["afterRouting"]) => InstancePipeline["afterRouting"];
31
+ export declare function routeWithPipeline(app: PipelineApp, reqRes: unknown, location: string, serverDataLoading: ServerDataLoading | null, dev: boolean, progress?: RequestProgress): Promise<PipelineRouted>;
32
+ export declare function routeAfterInit(app: PipelineApp, reqRes: unknown, location: string, serverDataLoading: ServerDataLoading | null, dev: boolean, init: StageContext | undefined, context: object | undefined, networked: object | undefined, progress?: RequestProgress): Promise<PipelineRouted>;
33
+ export declare function fromFallback(fallback: RegisteredAllRoutesDataFallback, reqRes: unknown, init: StageContext | undefined, location: string, error: unknown): Promise<object>;
25
34
  export declare function runPost(app: PipelineApp, reqRes: unknown, init: StageContext | undefined, allRoutesData: AllRoutesDataConstraint): Promise<StageContext | undefined>;
26
35
  export declare const pipelineContext: (init: StageContext | undefined, post: StageContext | undefined) => object;
27
36
  export declare const symmetricServer: ServerRunner;
28
37
  export declare function runClientPipeline(app: PipelineApp): Promise<ClientStarted>;
38
+ export declare const afterRoutingFor: (run: ClientPosted['afterRouting']) => InstancePipeline['afterRouting'];
29
39
  //# sourceMappingURL=runPipeline.d.ts.map
@@ -1,8 +1,23 @@
1
1
  import { $cacheControl } from '../cacheControl.js';
2
2
  import { routing } from "../Servers/routing.js";
3
3
  import { toRoutes } from '../routing/routesArray.js';
4
- import { appRoutesFunction } from './pipelineDefinition.js';
5
- // the routes as the router reads them, with the routes options where the object form's settings go
4
+ import { makeTungstenErrorInfo } from '../routing/TungstenErrorInfo.js';
5
+ import { appRoutesFunction, isFallbackFunction } from './pipelineDefinition.js';
6
+ import { settleRouting } from './settleRouting.js';
7
+ // ---- steps ------------------------------------------------------------------
8
+ // Runs one step of a request. If it throws, the step's name is added to progress.failedSteps and
9
+ // the error goes on as before
10
+ export async function runStep(progress, step, run) {
11
+ try {
12
+ return await run();
13
+ } catch (e) {
14
+ (progress.failedSteps ??= []).push(step);
15
+ throw e;
16
+ }
17
+ }
18
+ // ---- routes -----------------------------------------------------------------
19
+ // The app's routes as the router reads them. The routes function gets Init's result; the routes
20
+ // options (cacheControl) go where the object form keeps its settings
6
21
  export function pipelineRoutes(app, reqRes, init, dev) {
7
22
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- typed by the stage
8
23
  const returned = appRoutesFunction(app)(reqRes, init);
@@ -13,59 +28,86 @@ export function pipelineRoutes(app, reqRes, init, dev) {
13
28
  [$cacheControl]: cacheControl
14
29
  } : routes;
15
30
  }
16
- // Init, then the routes; the all-routes data beside routing, as the classic global data runs.
17
- // Route data functions see Init's context
18
- export async function routeWithPipeline(app, reqRes, location, serverDataLoading, dev) {
19
- const init = await app.init?.(reqRes, undefined);
20
- return routeAfterInit(app, reqRes, location, serverDataLoading, dev, init, init, undefined);
31
+ // the context and networked data as the route data functions receive them, branded
32
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
33
+ export const routingContext = context => context ?? {};
34
+ export const routingNetworkedData = networked => networked ?? {}; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
35
+ // ---- on the server ----------------------------------------------------------
36
+ // Init, then routing. Here Init's result is the context the route data functions get
37
+ export async function routeWithPipeline(app, reqRes, location, serverDataLoading, dev, progress = {}) {
38
+ const init = await runStep(progress, 'Init', () => app.init?.(reqRes, undefined));
39
+ progress.init = {
40
+ value: init
41
+ };
42
+ return routeAfterInit(app, reqRes, location, serverDataLoading, dev, init, init, undefined, progress);
21
43
  }
22
- // the route data functions are handed the context and networked data Init made
23
- export async function routeAfterInit(app, reqRes, location, serverDataLoading, dev, init, context, networked) {
44
+ // Routing, with the all-routes data fetched at the same time, as the classic global data is. Both
45
+ // pipelines use it: `context` and `networked` are what the route data functions get (the split
46
+ // pipeline passes Init's two halves)
47
+ export async function routeAfterInit(app, reqRes, location, serverDataLoading, dev, init, context, networked, progress = {}) {
24
48
  const routes = pipelineRoutes(app, reqRes, init, dev);
25
- const [allRoutesData, matchedRouteInfo] = await Promise.all([app.allRoutesData?.(reqRes, init), routing(location, routes, routingContext(context), routingNetworkedData(networked), serverDataLoading)]);
49
+ const getAllRoutesData = app.allRoutesData;
50
+ const fallback = app.allRoutesDataFallback;
51
+ // what arrived, for the error page if a later step fails
52
+ const arrived = data => {
53
+ progress.allRoutesData = data;
54
+ return data;
55
+ };
56
+ const settled = await settleRouting(routes, async () => runStep(progress, 'routing', async () => routing(location, routes, routingContext(context), routingNetworkedData(networked), serverDataLoading)), getAllRoutesData && (async () => runStep(progress, 'all-routes data', async () => arrived(await getAllRoutesData(reqRes, init, location)))), fallback && (async error => runStep(progress, 'all-routes data fallback', async () => arrived(await fromFallback(fallback, reqRes, init, location, error)))), dev ? makeTungstenErrorInfo : serverErrorInfo);
57
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- the stage typed it
58
+ const allRoutesData = settled.allRoutesData;
26
59
  return {
27
60
  init,
28
61
  routes,
29
- allRoutesData,
30
- matchedRouteInfo
62
+ ...settled,
63
+ allRoutesData
31
64
  };
32
65
  }
33
- // the framework brands what it builds
34
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
35
- export const routingContext = context => context ?? {};
36
- export const routingNetworkedData = networked => networked ?? {}; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
37
- // the split pipeline's clientAfterRouting, as the instance calls it after each client routing
38
- export const afterRoutingFor = run => {
39
- if (run === undefined) return undefined;
40
- return async (route, allRoutesData) => await run(route, allRoutesData); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
41
- };
42
- // after routing, and not at all for a redirect
66
+ // in prod the error route is handed a generic message: the error's own stays on the server
67
+ const serverErrorInfo = error => ({
68
+ error,
69
+ message: 'server error'
70
+ });
71
+ // the app's fallback for a failed all-routes data: a value as given, or what its function makes of
72
+ // what the all-routes data function was handed, and the error
73
+ export async function fromFallback(fallback, reqRes, init, location, error) {
74
+ return isFallbackFunction(fallback) ? fallback(reqRes, init, location, error) : fallback;
75
+ }
76
+ // Post, after routing. Not run for a redirect
43
77
  export async function runPost(app, reqRes, init, allRoutesData) {
44
78
  return app.post?.(reqRes, init, allRoutesData);
45
79
  }
46
- // what this.tungsten.context reads: the last stage's context
80
+ // the components' context: Post's, or Init's when there is no Post
47
81
  export const pipelineContext = (init, post) => post ?? init ?? {};
48
- // what the request handler runs, beside the split pipeline's
82
+ // the pipeline's ServerRunner; it writes no networked data into the page
49
83
  export const symmetricServer = {
50
84
  route: routeWithPipeline,
51
85
  post: runPost,
52
86
  context: pipelineContext,
53
87
  networked: () => undefined
54
88
  };
55
- // The browser's run, for hydration: the same stages, with null for the request. Post's all-routes
56
- // data is the one hydration hands it
89
+ // ---- in the browser ---------------------------------------------------------
90
+ // For hydration: the same stages, with null for the request. Post waits for the all-routes data
91
+ // hydration hands it; the all-routes data function is kept to run again before each navigation
57
92
  export async function runClientPipeline(app) {
58
93
  const init = await app.init?.(null, undefined);
59
- const registered = app.allRoutesData;
94
+ const getAllRoutesData = app.allRoutesData;
95
+ const fallback = app.allRoutesDataFallback;
60
96
  return {
61
97
  init,
62
98
  routingContext: init ?? {},
63
99
  routingNetworkedData: {},
64
- allRoutesData: registered && (() => registered(null, init)),
100
+ allRoutesData: getAllRoutesData && (location => getAllRoutesData(null, init, location)),
101
+ allRoutesDataFallback: fallback && (async (location, error) => fromFallback(fallback, null, init, location, error)),
65
102
  networked: {},
66
103
  post: async allRoutesData => ({
67
104
  context: pipelineContext(init, await app.post?.(null, init, allRoutesData)),
68
105
  afterRouting: undefined
69
106
  })
70
107
  };
71
- }
108
+ }
109
+ // the split pipeline's clientAfterRouting, in the form the instance calls after each navigation
110
+ export const afterRoutingFor = run => {
111
+ if (run === undefined) return undefined;
112
+ return async (route, allRoutesData) => await run(route, allRoutesData); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
113
+ };
@@ -1,7 +1,7 @@
1
1
  import type { ServerDataLoading } from '../Store/ServerDataLoading.js';
2
2
  import type { AllRoutesDataConstraint, ClientStarted, PipelineApp, SplitResult } from './pipelineDefinition.js';
3
- import type { PipelineRouted, ServerRunner } from './runPipeline.js';
4
- export declare function routeWithSplitPipeline(app: PipelineApp, reqRes: unknown, location: string, serverDataLoading: ServerDataLoading | null, dev: boolean): Promise<PipelineRouted>;
3
+ import type { PipelineRouted, RequestProgress, ServerRunner } from './runPipeline.js';
4
+ export declare function routeWithSplitPipeline(app: PipelineApp, reqRes: unknown, location: string, serverDataLoading: ServerDataLoading | null, dev: boolean, progress?: RequestProgress): Promise<PipelineRouted>;
5
5
  export declare function runServerPost(app: PipelineApp, reqRes: unknown, init: object | undefined, allRoutesData: AllRoutesDataConstraint): Promise<SplitResult | undefined>;
6
6
  export declare const splitContext: (init: object | undefined, post: object | undefined) => object;
7
7
  export declare const splitNetworked: (init: object | undefined, post: object | undefined) => object | undefined;
@@ -1,5 +1,6 @@
1
1
  import { fromTransport } from './networkedTransport.js';
2
- import { routeAfterInit } from './runPipeline.js';
2
+ import { isFallbackFunction } from './pipelineDefinition.js';
3
+ import { routeAfterInit, runStep } from './runPipeline.js';
3
4
  /*
4
5
  * Runs a split pipeline app: serverInit -> routing -> serverPost on the server, clientInit ->
5
6
  * routing -> clientPost in the browser. The route data functions are handed Init's context and
@@ -7,9 +8,12 @@ import { routeAfterInit } from './runPipeline.js';
7
8
  */
8
9
  // The stages' results. The app holds them loosely, as the builder typed them
9
10
  const asSplit = stage => stage;
10
- export async function routeWithSplitPipeline(app, reqRes, location, serverDataLoading, dev) {
11
- const init = await app.serverInit?.(reqRes);
12
- return routeAfterInit(app, reqRes, location, serverDataLoading, dev, init, init?.context, init?.networked);
11
+ export async function routeWithSplitPipeline(app, reqRes, location, serverDataLoading, dev, progress = {}) {
12
+ const init = await runStep(progress, 'serverInit', () => app.serverInit?.(reqRes));
13
+ progress.init = {
14
+ value: init
15
+ };
16
+ return routeAfterInit(app, reqRes, location, serverDataLoading, dev, init, init?.context, init?.networked, progress);
13
17
  }
14
18
  // after routing, and not at all for a redirect
15
19
  export async function runServerPost(app, reqRes, init, allRoutesData) {
@@ -33,11 +37,13 @@ export async function runSplitClient(app, fromPage) {
33
37
  const networked = fromTransport(fromPage) ?? {};
34
38
  const init = await app.clientInit?.(networked);
35
39
  const registered = app.clientAllRoutesData;
40
+ const fallback = app.clientAllRoutesDataFallback;
36
41
  return {
37
42
  init,
38
43
  routingContext: init?.context ?? {},
39
44
  routingNetworkedData: init?.networked ?? {},
40
- allRoutesData: registered && (() => registered(init)),
45
+ allRoutesData: registered && (location => registered(init, location)),
46
+ allRoutesDataFallback: fallback && (async (location, error) => isFallbackFunction(fallback) ? fallback(init, location, error) : fallback),
41
47
  networked,
42
48
  post: async allRoutesData => {
43
49
  const context = splitContext(init, await app.clientPost?.(init, allRoutesData));
@@ -0,0 +1,10 @@
1
+ import type { MatchedRouteInfo } from '../routing/MatchedRouteInfo.js';
2
+ import type { Routes } from '../routing/Routes.js';
3
+ import type { TungstenErrorInfo } from '../routing/TungstenErrorInfo.js';
4
+ export type Settled = {
5
+ allRoutesData: unknown;
6
+ matchedRouteInfo: MatchedRouteInfo;
7
+ recoveredFrom?: unknown;
8
+ };
9
+ export declare function settleRouting(routes: Routes<any>, route: () => Promise<MatchedRouteInfo>, loadData: (() => Promise<unknown>) | undefined, fallback: ((error: unknown) => Promise<unknown>) | undefined, errorInfo: (error: unknown) => TungstenErrorInfo): Promise<Settled>;
10
+ //# sourceMappingURL=settleRouting.d.ts.map