tungsten 0.6.3 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (532) hide show
  1. package/dist/.build-complete +1 -1
  2. package/dist/Brands.d.ts +16 -0
  3. package/dist/Brands.d.ts.map +1 -0
  4. package/dist/Brands.js +22 -0
  5. package/dist/Components.d.ts +4 -1
  6. package/dist/Components.d.ts.map +1 -1
  7. package/dist/Components.js +24 -6
  8. package/dist/ContentNode.d.ts +3 -2
  9. package/dist/ContentNode.d.ts.map +1 -1
  10. package/dist/ContentNode.js +11 -0
  11. package/dist/Framework.d.ts.map +1 -1
  12. package/dist/Framework.js +23 -4
  13. package/dist/FrameworkConfig.d.ts +9 -1
  14. package/dist/FrameworkConfig.d.ts.map +1 -1
  15. package/dist/FrameworkConfig.types.test.d.ts +2 -0
  16. package/dist/FrameworkConfig.types.test.d.ts.map +1 -0
  17. package/dist/FrameworkConfig.types.test.js +6 -0
  18. package/dist/FunctionComponent.d.ts +1 -0
  19. package/dist/FunctionComponent.d.ts.map +1 -1
  20. package/dist/FunctionComponentStandIn.d.ts.map +1 -1
  21. package/dist/Instance/Instance.d.ts +21 -9
  22. package/dist/Instance/Instance.d.ts.map +1 -1
  23. package/dist/Instance/Instance.js +42 -38
  24. package/dist/Instance/InstanceConfig.d.ts +3 -1
  25. package/dist/Instance/InstanceConfig.d.ts.map +1 -1
  26. package/dist/RenderedContentNode.d.ts.map +1 -1
  27. package/dist/RenderingNode.d.ts.map +1 -1
  28. package/dist/Servers/DevServer.d.ts +4 -2
  29. package/dist/Servers/DevServer.d.ts.map +1 -1
  30. package/dist/Servers/DevServer.js +72 -21
  31. package/dist/Servers/ProdServer.d.ts +5 -2
  32. package/dist/Servers/ProdServer.d.ts.map +1 -1
  33. package/dist/Servers/ProdServer.js +95 -19
  34. package/dist/Servers/StaticSiteServer.d.ts +1 -1
  35. package/dist/Servers/StaticSiteServer.d.ts.map +1 -1
  36. package/dist/Servers/TungstenServer.d.ts +2 -1
  37. package/dist/Servers/TungstenServer.d.ts.map +1 -1
  38. package/dist/Servers/TungstenServer.js +7 -0
  39. package/dist/Servers/cacheVersioned.d.ts +3 -0
  40. package/dist/Servers/cacheVersioned.d.ts.map +1 -0
  41. package/dist/Servers/cacheVersioned.js +23 -0
  42. package/dist/Servers/devErrorPageAutoRetry.d.ts.map +1 -1
  43. package/dist/Servers/devErrorPageAutoRetry.js +1 -0
  44. package/dist/Servers/initStores.d.ts +4 -4
  45. package/dist/Servers/initStores.d.ts.map +1 -1
  46. package/dist/Servers/initStores.js +2 -2
  47. package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
  48. package/dist/Servers/loadEnvsDev.js +7 -6
  49. package/dist/Servers/resetRegistrations.d.ts +2 -0
  50. package/dist/Servers/resetRegistrations.d.ts.map +1 -0
  51. package/dist/Servers/resetRegistrations.js +13 -0
  52. package/dist/Servers/routing.d.ts +3 -2
  53. package/dist/Servers/routing.d.ts.map +1 -1
  54. package/dist/Servers/routing.js +12 -7
  55. package/dist/Servers/stubInstance.d.ts +8 -0
  56. package/dist/Servers/stubInstance.d.ts.map +1 -0
  57. package/dist/Servers/stubInstance.js +40 -0
  58. package/dist/Store/InternalStoreSchema.d.ts +1 -1
  59. package/dist/Store/Store.js +2 -1
  60. package/dist/Store/StoreSchemaClass.d.ts +6 -3
  61. package/dist/Store/StoreSchemaClass.d.ts.map +1 -1
  62. package/dist/Store/StoreSchemaClass.js +8 -1
  63. package/dist/Store/TypeSafeStore.js +2 -1
  64. package/dist/Store/createStores.d.ts +3 -3
  65. package/dist/Store/createStores.d.ts.map +1 -1
  66. package/dist/Store/createStores.js +7 -2
  67. package/dist/Store/getInternalStore.d.ts.map +1 -1
  68. package/dist/Store/registerStore.d.ts.map +1 -1
  69. package/dist/Store/registerStore.js +2 -2
  70. package/dist/Store/storeCreators.d.ts +2 -2
  71. package/dist/Store/storeCreators.d.ts.map +1 -1
  72. package/dist/TungstenApp.d.ts +3 -3
  73. package/dist/TungstenApp.d.ts.map +1 -1
  74. package/dist/_client/cjsHelpers.d.ts.map +1 -1
  75. package/dist/_client/cjsHelpers.js +5 -3
  76. package/dist/_client/client.d.ts +2 -0
  77. package/dist/_client/client.d.ts.map +1 -1
  78. package/dist/_client/client.js +10 -3
  79. package/dist/api/getApiRoutes.d.ts.map +1 -1
  80. package/dist/api/getExport.d.ts +1 -1
  81. package/dist/api/getExport.d.ts.map +1 -1
  82. package/dist/api/getExport.js +2 -1
  83. package/dist/api/getExportDev.d.ts +1 -1
  84. package/dist/api/getExportDev.d.ts.map +1 -1
  85. package/dist/appBuilder.d.ts +69 -0
  86. package/dist/appBuilder.d.ts.map +1 -0
  87. package/dist/appBuilder.js +98 -0
  88. package/dist/appBuilder.types.test.d.ts +110 -0
  89. package/dist/appBuilder.types.test.d.ts.map +1 -0
  90. package/dist/appBuilder.types.test.js +240 -0
  91. package/dist/babelPlugins/BabelTransformBindDirect.js +7 -7
  92. package/dist/babelPlugins/BabelTransformBindVar.js +7 -7
  93. package/dist/babelPlugins/BabelTransformComponentState.d.ts.map +1 -1
  94. package/dist/babelPlugins/BabelTransformComponentStyles.d.ts.map +1 -1
  95. package/dist/babelPlugins/BabelTransformComponentStyles.js +5 -5
  96. package/dist/babelPlugins/BabelTransformCssImports.d.ts.map +1 -1
  97. package/dist/babelPlugins/BabelTransformCssImports.js +2 -2
  98. package/dist/babelPlugins/BabelTransformDeproxyState.d.ts.map +1 -1
  99. package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
  100. package/dist/babelPlugins/BabelTransformPackageImports.js +11 -6
  101. package/dist/babelPlugins/BabelTransformRemoveDevBlocks.d.ts.map +1 -1
  102. package/dist/babelPlugins/BabelTransformRemoveServerBlocks.d.ts.map +1 -1
  103. package/dist/babelPlugins/BabelTypes.d.ts.map +1 -1
  104. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -1
  105. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.js +1 -1
  106. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -1
  107. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.js +2 -2
  108. package/dist/bin/commands/compile.d.ts.map +1 -1
  109. package/dist/bin/commands/compile.js +2 -1
  110. package/dist/build/CompilationInfo.d.ts +3 -0
  111. package/dist/build/CompilationInfo.d.ts.map +1 -1
  112. package/dist/build/assetVersions.d.ts +9 -0
  113. package/dist/build/assetVersions.d.ts.map +1 -0
  114. package/dist/build/assetVersions.js +39 -0
  115. package/dist/build/babel.user.common.config.d.ts.map +1 -1
  116. package/dist/build/bundle.d.ts.map +1 -1
  117. package/dist/build/bundle.js +2 -1
  118. package/dist/build/bundleBabelOptions.d.ts.map +1 -1
  119. package/dist/build/clientRoutesFile.d.ts +2 -0
  120. package/dist/build/clientRoutesFile.d.ts.map +1 -0
  121. package/dist/build/clientRoutesFile.js +13 -0
  122. package/dist/build/compileJavascript.d.ts.map +1 -1
  123. package/dist/build/compileJavascript.js +4 -3
  124. package/dist/build/compileStyles.d.ts +2 -1
  125. package/dist/build/compileStyles.d.ts.map +1 -1
  126. package/dist/build/compileStyles.js +38 -83
  127. package/dist/build/compileUserApp.d.ts.map +1 -1
  128. package/dist/build/componentStylesCache.d.ts.map +1 -1
  129. package/dist/build/componentStylesCache.js +3 -2
  130. package/dist/build/copyAssets.d.ts.map +1 -1
  131. package/dist/build/copyAssets.js +2 -1
  132. package/dist/build/copyPackageModulesToPackagesFolder.d.ts.map +1 -1
  133. package/dist/build/copyPackageModulesToPackagesFolder.js +1 -1
  134. package/dist/build/copyPublicFiles.d.ts.map +1 -1
  135. package/dist/build/copyPublicFiles.js +2 -1
  136. package/dist/build/createClientFiles.d.ts.map +1 -1
  137. package/dist/build/createClientFiles.js +9 -5
  138. package/dist/build/createInstanceConfigFile.d.ts +1 -1
  139. package/dist/build/createInstanceConfigFile.d.ts.map +1 -1
  140. package/dist/build/createInstanceConfigFile.js +9 -3
  141. package/dist/build/frameworkDestLocation.d.ts.map +1 -1
  142. package/dist/build/frameworkDestLocation.js +5 -6
  143. package/dist/build/frameworkStylesheets.d.ts.map +1 -1
  144. package/dist/build/frameworkStylesheets.js +1 -1
  145. package/dist/build/makeBabelRawConfig.d.ts.map +1 -1
  146. package/dist/build/makeBabelUserDevConfig.d.ts +2 -2
  147. package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
  148. package/dist/build/makeBabelUserProdConfig.d.ts.map +1 -1
  149. package/dist/build/rollup.user.prod.config.d.ts.map +1 -1
  150. package/dist/build/rollup.user.prod.config.js +5 -3
  151. package/dist/build/rollupProdConstants.d.ts +5 -0
  152. package/dist/build/rollupProdConstants.d.ts.map +1 -0
  153. package/dist/build/rollupProdConstants.js +21 -0
  154. package/dist/cacheControl.d.ts +13 -0
  155. package/dist/cacheControl.d.ts.map +1 -0
  156. package/dist/cacheControl.js +22 -0
  157. package/dist/compat/types.d.ts +1 -1
  158. package/dist/compat/types.d.ts.map +1 -1
  159. package/dist/componentHelpers.d.ts +19 -0
  160. package/dist/componentHelpers.d.ts.map +1 -0
  161. package/dist/componentHelpers.js +31 -0
  162. package/dist/componentProxyHandlers.d.ts.map +1 -1
  163. package/dist/components/Fragment.d.ts +8 -0
  164. package/dist/components/Fragment.d.ts.map +1 -0
  165. package/dist/components/Fragment.js +10 -0
  166. package/dist/components/Link.d.ts +4 -3
  167. package/dist/components/Link.d.ts.map +1 -1
  168. package/dist/components/Link.js +1 -0
  169. package/dist/components/NoEscape.d.ts +8 -0
  170. package/dist/components/NoEscape.d.ts.map +1 -0
  171. package/dist/components/NoEscape.js +6 -0
  172. package/dist/components/RouteRedirectComponent.d.ts.map +1 -1
  173. package/dist/components/RouteRedirectComponent.js +1 -1
  174. package/dist/components/WebRedirectComponent.d.ts.map +1 -1
  175. package/dist/components/WebRedirectComponent.js +1 -1
  176. package/dist/components/bindable/BindVariable.d.ts +1 -0
  177. package/dist/components/bindable/BindVariable.d.ts.map +1 -1
  178. package/dist/components/bindable/BindableCheckbox.d.ts +7 -7
  179. package/dist/components/bindable/BindableCheckbox.d.ts.map +1 -1
  180. package/dist/components/bindable/BindableInput.d.ts +7 -7
  181. package/dist/components/bindable/BindableInput.d.ts.map +1 -1
  182. package/dist/components/bindable/BindableInputNonString.d.ts +2 -2
  183. package/dist/components/bindable/BindableInputNonString.d.ts.map +1 -1
  184. package/dist/components/bindable/BindableInputString.d.ts +2 -2
  185. package/dist/components/bindable/BindableInputString.d.ts.map +1 -1
  186. package/dist/components/bindable/BindableInputTyped.d.ts +3 -3
  187. package/dist/components/bindable/BindableInputTyped.d.ts.map +1 -1
  188. package/dist/components/bindable/BindableInputTypedLegacy.d.ts +3 -3
  189. package/dist/components/bindable/BindableInputTypedLegacy.d.ts.map +1 -1
  190. package/dist/components/bindable/BindableRadio.js +2 -2
  191. package/dist/components/bindable/BindableSelect.d.ts +13 -10
  192. package/dist/components/bindable/BindableSelect.d.ts.map +1 -1
  193. package/dist/components/bindable/BindableSelectNaive.js +3 -3
  194. package/dist/components/bindable/BindableTextarea.d.ts +7 -7
  195. package/dist/components/bindable/BindableTextarea.d.ts.map +1 -1
  196. package/dist/components/bindable/bindableCandidates.comparison.d.ts +136 -0
  197. package/dist/components/bindable/bindableCandidates.comparison.d.ts.map +1 -0
  198. package/dist/components/bindable/bindableCandidates.comparison.js +268 -0
  199. package/dist/components/bindable/bindableProps.types.test.d.ts +50 -0
  200. package/dist/components/bindable/bindableProps.types.test.d.ts.map +1 -0
  201. package/dist/components/bindable/bindableProps.types.test.js +252 -0
  202. package/dist/components/library/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  203. package/dist/components/library/RichTextEditor/contentTree.d.ts.map +1 -1
  204. package/dist/components/makeTypedLink.d.ts +9 -0
  205. package/dist/components/makeTypedLink.d.ts.map +1 -0
  206. package/dist/components/makeTypedLink.js +15 -0
  207. package/dist/context/registerContext.d.ts +22 -0
  208. package/dist/context/registerContext.d.ts.map +1 -0
  209. package/dist/context/registerContext.js +18 -0
  210. package/dist/env/getEnvSchemas.d.ts.map +1 -1
  211. package/dist/env/getEnvSchemas.js +2 -1
  212. package/dist/fileVersions.d.ts +9 -0
  213. package/dist/fileVersions.d.ts.map +1 -0
  214. package/dist/fileVersions.js +28 -0
  215. package/dist/findUserConfig.d.ts +1 -1
  216. package/dist/findUserConfig.d.ts.map +1 -1
  217. package/dist/findUserConfig.js +2 -1
  218. package/dist/frameworkConfigSchema.d.ts +16 -2
  219. package/dist/frameworkConfigSchema.d.ts.map +1 -1
  220. package/dist/frameworkConfigSchema.js +15 -3
  221. package/dist/getComponent.d.ts.map +1 -1
  222. package/dist/getComponent.js +4 -3
  223. package/dist/getRoutes.d.ts.map +1 -1
  224. package/dist/getRoutes.js +9 -8
  225. package/dist/getUserConfig.d.ts.map +1 -1
  226. package/dist/hmr/applyHmrModule.d.ts.map +1 -1
  227. package/dist/hmr/componentIdentity.js +1 -1
  228. package/dist/hooks/getCurrentComponent.d.ts +1 -1
  229. package/dist/hooks/getCurrentComponent.d.ts.map +1 -1
  230. package/dist/hydrate/hydrate.d.ts +5 -1
  231. package/dist/hydrate/hydrate.d.ts.map +1 -1
  232. package/dist/hydrate/hydrate.js +86 -52
  233. package/dist/hydrate/hydrateGlobalData.d.ts +4 -3
  234. package/dist/hydrate/hydrateGlobalData.d.ts.map +1 -1
  235. package/dist/hydrate/reconcileHydratedAttributes.d.ts +2 -1
  236. package/dist/hydrate/reconcileHydratedAttributes.d.ts.map +1 -1
  237. package/dist/hydrate/reconcileHydratedAttributes.js +4 -3
  238. package/dist/hydrate/renderHydrationMismatchBanner.d.ts.map +1 -1
  239. package/dist/hydrate/renderHydrationMismatchBanner.js +2 -1
  240. package/dist/hydrate/stubRouting.d.ts +8 -0
  241. package/dist/hydrate/stubRouting.d.ts.map +1 -0
  242. package/dist/hydrate/stubRouting.js +25 -0
  243. package/dist/importDevModuleWithRetry.d.ts +2 -1
  244. package/dist/importDevModuleWithRetry.d.ts.map +1 -1
  245. package/dist/importDevModuleWithRetry.js +2 -1
  246. package/dist/importModule.d.ts +3 -0
  247. package/dist/importModule.d.ts.map +1 -0
  248. package/dist/importModule.js +4 -0
  249. package/dist/index.js +2 -1
  250. package/dist/indexInner.d.ts +30 -7
  251. package/dist/indexInner.d.ts.map +1 -1
  252. package/dist/indexInner.js +37 -2
  253. package/dist/json.d.ts +12 -0
  254. package/dist/json.d.ts.map +1 -0
  255. package/dist/json.js +8 -0
  256. package/dist/jsxHelpers.d.ts +3 -0
  257. package/dist/jsxHelpers.d.ts.map +1 -0
  258. package/dist/jsxHelpers.js +6 -0
  259. package/dist/jsxRuntime.d.ts +1 -0
  260. package/dist/jsxRuntime.d.ts.map +1 -1
  261. package/dist/jsxRuntime.js +3 -1
  262. package/dist/jsxRuntimeSignals.d.ts.map +1 -1
  263. package/dist/jsxRuntimeSignals.js +1 -0
  264. package/dist/makeFinalConfig.d.ts.map +1 -1
  265. package/dist/makeFinalConfig.js +2 -0
  266. package/dist/makeInstanceConfigFromFrameworkConfig.d.ts.map +1 -1
  267. package/dist/makeInstanceConfigFromFrameworkConfig.js +2 -0
  268. package/dist/mergeConfigs.d.ts.map +1 -1
  269. package/dist/mergeConfigs.js +2 -6
  270. package/dist/nbsp.d.ts +1 -2
  271. package/dist/nbsp.d.ts.map +1 -1
  272. package/dist/nbsp.js +3 -7
  273. package/dist/objectMap.d.ts +1 -1
  274. package/dist/objectMap.d.ts.map +1 -1
  275. package/dist/pipeline/PipelineRequestHandler.d.ts +25 -0
  276. package/dist/pipeline/PipelineRequestHandler.d.ts.map +1 -0
  277. package/dist/pipeline/PipelineRequestHandler.js +104 -0
  278. package/dist/pipeline/contextStore.d.ts +12 -0
  279. package/dist/pipeline/contextStore.d.ts.map +1 -0
  280. package/dist/pipeline/contextStore.js +13 -0
  281. package/dist/pipeline/hydratePipeline.d.ts +4 -0
  282. package/dist/pipeline/hydratePipeline.d.ts.map +1 -0
  283. package/dist/pipeline/hydratePipeline.js +83 -0
  284. package/dist/pipeline/importRoutesModule.d.ts +6 -0
  285. package/dist/pipeline/importRoutesModule.d.ts.map +1 -0
  286. package/dist/pipeline/importRoutesModule.js +33 -0
  287. package/dist/pipeline/networkedTransport.d.ts +11 -0
  288. package/dist/pipeline/networkedTransport.d.ts.map +1 -0
  289. package/dist/pipeline/networkedTransport.js +54 -0
  290. package/dist/pipeline/pipeline.d.ts +107 -0
  291. package/dist/pipeline/pipeline.d.ts.map +1 -0
  292. package/dist/pipeline/pipeline.js +113 -0
  293. package/dist/pipeline/pipeline.types.test.d.ts +760 -0
  294. package/dist/pipeline/pipeline.types.test.d.ts.map +1 -0
  295. package/dist/pipeline/pipeline.types.test.js +344 -0
  296. package/dist/pipeline/pipelineDefinition.d.ts +78 -0
  297. package/dist/pipeline/pipelineDefinition.d.ts.map +1 -0
  298. package/dist/pipeline/pipelineDefinition.js +11 -0
  299. package/dist/pipeline/pipelineSplit.types.test.d.ts +2445 -0
  300. package/dist/pipeline/pipelineSplit.types.test.d.ts.map +1 -0
  301. package/dist/pipeline/pipelineSplit.types.test.js +440 -0
  302. package/dist/pipeline/runPipeline.d.ts +29 -0
  303. package/dist/pipeline/runPipeline.d.ts.map +1 -0
  304. package/dist/pipeline/runPipeline.js +71 -0
  305. package/dist/pipeline/runSplitPipeline.d.ts +10 -0
  306. package/dist/pipeline/runSplitPipeline.d.ts.map +1 -0
  307. package/dist/pipeline/runSplitPipeline.js +52 -0
  308. package/dist/pipeline/splitPipeline.d.ts +62 -0
  309. package/dist/pipeline/splitPipeline.d.ts.map +1 -0
  310. package/dist/pipeline/splitPipeline.js +76 -0
  311. package/dist/pop.js +1 -1
  312. package/dist/rawHtml/filterContentNode.d.ts.map +1 -1
  313. package/dist/render/HeadData.d.ts +3 -1
  314. package/dist/render/HeadData.d.ts.map +1 -1
  315. package/dist/render/classComponentNodeToRenderingTree.d.ts.map +1 -1
  316. package/dist/render/componentNodeToRenderingTree.d.ts.map +1 -1
  317. package/dist/render/contentToHtml.d.ts +2 -2
  318. package/dist/render/contentToHtml.d.ts.map +1 -1
  319. package/dist/render/contentToHtml.js +2 -1
  320. package/dist/render/contentToHtmlDev.d.ts +1 -1
  321. package/dist/render/contentToHtmlDev.d.ts.map +1 -1
  322. package/dist/render/contentTreeToRenderingTree.d.ts.map +1 -1
  323. package/dist/render/contentTreeToRenderingTree.js +6 -2
  324. package/dist/render/functionComponentNodeToRenderingTree.d.ts.map +1 -1
  325. package/dist/render/functionComponentNodeToRenderingTree.js +2 -2
  326. package/dist/render/instantiateComponent.d.ts.map +1 -1
  327. package/dist/render/processHead.d.ts.map +1 -1
  328. package/dist/render/processHead.js +12 -18
  329. package/dist/render/renderingTreeToHtml.d.ts.map +1 -1
  330. package/dist/render/renderingTreeToHtml.js +6 -3
  331. package/dist/render/rootToHtml.d.ts +2 -2
  332. package/dist/render/rootToHtml.d.ts.map +1 -1
  333. package/dist/requests/fetch/delete.d.ts.map +1 -1
  334. package/dist/requests/fetch/delete.js +5 -2
  335. package/dist/requests/fetch/get.js +1 -1
  336. package/dist/requests/fetch/patch.d.ts.map +1 -1
  337. package/dist/requests/fetch/patch.js +5 -2
  338. package/dist/requests/fetch/post.d.ts.map +1 -1
  339. package/dist/requests/fetch/post.js +5 -2
  340. package/dist/requests/fetch/put.d.ts.map +1 -1
  341. package/dist/requests/fetch/put.js +5 -2
  342. package/dist/routesLocationParts.d.ts +6 -0
  343. package/dist/routesLocationParts.d.ts.map +1 -0
  344. package/dist/routesLocationParts.js +10 -0
  345. package/dist/routing/AppRoutes.d.ts +5 -3
  346. package/dist/routing/AppRoutes.d.ts.map +1 -1
  347. package/dist/routing/MatchedRouteInfo.d.ts +13 -0
  348. package/dist/routing/MatchedRouteInfo.d.ts.map +1 -0
  349. package/dist/routing/MatchedRouteInfo.js +1 -0
  350. package/dist/routing/RouteContentFunction.d.ts +1 -2
  351. package/dist/routing/RouteContentFunction.d.ts.map +1 -1
  352. package/dist/routing/RouteDataFunction.type.d.ts +4 -2
  353. package/dist/routing/RouteDataFunction.type.d.ts.map +1 -1
  354. package/dist/routing/RoutePaths.d.ts +12 -0
  355. package/dist/routing/RoutePaths.d.ts.map +1 -0
  356. package/dist/routing/RouteTypes.d.ts +6 -4
  357. package/dist/routing/RouteTypes.d.ts.map +1 -1
  358. package/dist/routing/Routes.d.ts +20 -11
  359. package/dist/routing/Routes.d.ts.map +1 -1
  360. package/dist/routing/RoutesFunction.d.ts +11 -2
  361. package/dist/routing/RoutesFunction.d.ts.map +1 -1
  362. package/dist/routing/Serializable.d.ts +5 -0
  363. package/dist/routing/Serializable.d.ts.map +1 -0
  364. package/dist/routing/Serializable.js +1 -0
  365. package/dist/routing/builder.d.ts +100 -0
  366. package/dist/routing/builder.d.ts.map +1 -0
  367. package/dist/routing/builder.js +219 -0
  368. package/dist/routing/builder.trial.d.ts +2 -0
  369. package/dist/routing/builder.trial.d.ts.map +1 -0
  370. package/dist/routing/builder.trial.js +85 -0
  371. package/dist/routing/defineRoutes.d.ts +8 -0
  372. package/dist/routing/defineRoutes.d.ts.map +1 -0
  373. package/dist/routing/defineRoutes.js +3 -0
  374. package/dist/routing/pyramidRouting.d.ts +2 -0
  375. package/dist/routing/pyramidRouting.d.ts.map +1 -0
  376. package/dist/routing/pyramidRouting.js +13 -0
  377. package/dist/routing/redirectOf.d.ts +11 -0
  378. package/dist/routing/redirectOf.d.ts.map +1 -0
  379. package/dist/routing/redirectOf.js +32 -0
  380. package/dist/routing/registerGlobalData.d.ts +11 -3
  381. package/dist/routing/registerGlobalData.d.ts.map +1 -1
  382. package/dist/routing/registerGlobalData.js +6 -0
  383. package/dist/routing/registerParts.types.test.d.ts +2 -0
  384. package/dist/routing/registerParts.types.test.d.ts.map +1 -0
  385. package/dist/routing/registerParts.types.test.js +139 -0
  386. package/dist/routing/registerRoutes.d.ts +10 -0
  387. package/dist/routing/registerRoutes.d.ts.map +1 -0
  388. package/dist/routing/registerRoutes.js +9 -0
  389. package/dist/routing/registerRouting.d.ts +36 -0
  390. package/dist/routing/registerRouting.d.ts.map +1 -0
  391. package/dist/routing/registerRouting.js +34 -0
  392. package/dist/routing/registerRouting.types.test.d.ts +80 -0
  393. package/dist/routing/registerRouting.types.test.d.ts.map +1 -0
  394. package/dist/routing/registerRouting.types.test.js +120 -0
  395. package/dist/routing/registrationTypes.d.ts +11 -0
  396. package/dist/routing/registrationTypes.d.ts.map +1 -0
  397. package/dist/routing/registrationTypes.js +1 -0
  398. package/dist/routing/resolveAppRoutes.d.ts +5 -0
  399. package/dist/routing/resolveAppRoutes.d.ts.map +1 -0
  400. package/dist/routing/resolveAppRoutes.js +25 -0
  401. package/dist/routing/routesArray.d.ts +23 -0
  402. package/dist/routing/routesArray.d.ts.map +1 -0
  403. package/dist/routing/routesArray.js +20 -0
  404. package/dist/routing/routesArray.types.test.d.ts +2 -0
  405. package/dist/routing/routesArray.types.test.d.ts.map +1 -0
  406. package/dist/routing/routesArray.types.test.js +132 -0
  407. package/dist/routing/routingBuilder.d.ts +34 -0
  408. package/dist/routing/routingBuilder.d.ts.map +1 -0
  409. package/dist/routing/routingBuilder.js +32 -0
  410. package/dist/routing/routingBuilder.types.test.d.ts +2 -0
  411. package/dist/routing/routingBuilder.types.test.d.ts.map +1 -0
  412. package/dist/routing/routingBuilder.types.test.js +171 -0
  413. package/dist/routing/routingRegistry.d.ts +19 -0
  414. package/dist/routing/routingRegistry.d.ts.map +1 -0
  415. package/dist/routing/routingRegistry.js +29 -0
  416. package/dist/staticGen/getAppRoutes.d.ts +2 -2
  417. package/dist/staticGen/getAppRoutes.d.ts.map +1 -1
  418. package/dist/staticGen/getAppRoutes.js +9 -6
  419. package/dist/staticGen/staticGen.d.ts.map +1 -1
  420. package/dist/staticGen/staticGen.js +8 -2
  421. package/dist/style/styleContentSxy.d.ts.map +1 -1
  422. package/dist/sync/index.d.ts.map +1 -1
  423. package/dist/sync/index.js +2 -0
  424. package/dist/syncServer/index.cjs +1 -2
  425. package/dist/syncServer/preload.js +2 -0
  426. package/dist/testing/contentToString.d.ts +13 -0
  427. package/dist/testing/contentToString.d.ts.map +1 -0
  428. package/dist/testing/contentToString.js +105 -0
  429. package/dist/testing/createTestApp.d.ts +25 -1
  430. package/dist/testing/createTestApp.d.ts.map +1 -1
  431. package/dist/testing/createTestApp.js +12 -3
  432. package/dist/testing/display.d.ts +2 -0
  433. package/dist/testing/display.d.ts.map +1 -0
  434. package/dist/testing/display.js +37 -0
  435. package/dist/testing/ensure.d.ts +119 -0
  436. package/dist/testing/ensure.d.ts.map +1 -0
  437. package/dist/testing/ensure.js +664 -0
  438. package/dist/testing/ensure.trial.d.ts +2 -0
  439. package/dist/testing/ensure.trial.d.ts.map +1 -0
  440. package/dist/testing/ensure.trial.js +9 -0
  441. package/dist/testing/ensure.types.test.d.ts +2 -0
  442. package/dist/testing/ensure.types.test.d.ts.map +1 -0
  443. package/dist/testing/ensure.types.test.js +34 -0
  444. package/dist/testing/helpers/contentHtmlElements.d.ts.map +1 -1
  445. package/dist/testing/host.d.ts +86 -15
  446. package/dist/testing/host.d.ts.map +1 -1
  447. package/dist/testing/host.js +82 -23
  448. package/dist/testing/host.types.test.d.ts +2 -0
  449. package/dist/testing/host.types.test.d.ts.map +1 -0
  450. package/dist/testing/host.types.test.js +81 -0
  451. package/dist/testing/hydrateTestApp.d.ts +17 -0
  452. package/dist/testing/hydrateTestApp.d.ts.map +1 -1
  453. package/dist/testing/hydrateTestApp.js +27 -6
  454. package/dist/testing/index.d.ts +5 -3
  455. package/dist/testing/index.d.ts.map +1 -1
  456. package/dist/testing/index.js +3 -1
  457. package/dist/testing/pipeline/createTestPacketApp.d.ts +30 -0
  458. package/dist/testing/pipeline/createTestPacketApp.d.ts.map +1 -0
  459. package/dist/testing/pipeline/createTestPacketApp.js +45 -0
  460. package/dist/testing/pipeline/createTestPacketApp.types.test.d.ts +3 -0
  461. package/dist/testing/pipeline/createTestPacketApp.types.test.d.ts.map +1 -0
  462. package/dist/testing/pipeline/createTestPacketApp.types.test.js +101 -0
  463. package/dist/testing/pipeline/createTestPipelineApp.d.ts +70 -0
  464. package/dist/testing/pipeline/createTestPipelineApp.d.ts.map +1 -0
  465. package/dist/testing/pipeline/createTestPipelineApp.js +90 -0
  466. package/dist/testing/pipeline/createTestPipelineApp.types.test.d.ts +6 -0
  467. package/dist/testing/pipeline/createTestPipelineApp.types.test.d.ts.map +1 -0
  468. package/dist/testing/pipeline/createTestPipelineApp.types.test.js +146 -0
  469. package/dist/testing/pipeline/hostPipeline.d.ts +25 -0
  470. package/dist/testing/pipeline/hostPipeline.d.ts.map +1 -0
  471. package/dist/testing/pipeline/hostPipeline.js +18 -0
  472. package/dist/testing/pipeline/hydrateTestPipelineApp.d.ts +30 -0
  473. package/dist/testing/pipeline/hydrateTestPipelineApp.d.ts.map +1 -0
  474. package/dist/testing/pipeline/hydrateTestPipelineApp.js +193 -0
  475. package/dist/testing/pipeline/hydrateTestPipelineApp.types.test.d.ts +2 -0
  476. package/dist/testing/pipeline/hydrateTestPipelineApp.types.test.d.ts.map +1 -0
  477. package/dist/testing/pipeline/hydrateTestPipelineApp.types.test.js +27 -0
  478. package/dist/testing/pipeline/index.d.ts +5 -0
  479. package/dist/testing/pipeline/index.d.ts.map +1 -0
  480. package/dist/testing/pipeline/index.js +4 -0
  481. package/dist/testing/pipeline/pipelineTestApp.d.ts +34 -0
  482. package/dist/testing/pipeline/pipelineTestApp.d.ts.map +1 -0
  483. package/dist/testing/pipeline/pipelineTestApp.js +100 -0
  484. package/dist/testing/pipeline/testPipelineRoute.d.ts +2 -0
  485. package/dist/testing/pipeline/testPipelineRoute.d.ts.map +1 -0
  486. package/dist/testing/pipeline/testPipelineRoute.js +1 -0
  487. package/dist/testing/resolveContent.d.ts +18 -0
  488. package/dist/testing/resolveContent.d.ts.map +1 -0
  489. package/dist/testing/resolveContent.js +73 -0
  490. package/dist/testing/testingComponentPackage.d.ts +3 -1
  491. package/dist/testing/testingComponentPackage.d.ts.map +1 -1
  492. package/dist/testing/testingComponentPackage.js +16 -1
  493. package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
  494. package/dist/update/integrateUpdateVdom.js +35 -31
  495. package/dist/update/integrateUpdateVdomPrebuild.js +20 -20
  496. package/dist/validChildren.d.ts.map +1 -1
  497. package/dist/zones/react.d.ts.map +1 -1
  498. package/package.json +23 -19
  499. package/types/helpers.d.ts +11 -2
  500. package/types/jsx/html.d.ts +29 -25
  501. package/types/jsx/jsx.d.ts +8 -8
  502. package/types/modules.d.ts +14 -3
  503. package/types/testing.d.ts +0 -0
  504. package/vendor/babel-core.js +5 -5
  505. package/vendor/babel-parser.js +1 -1
  506. package/vendor/babel-preset-react.js +32 -34
  507. package/vendor/babel-preset-typescript.js +5 -5
  508. package/vendor/chalk-extensions.js +3 -146
  509. package/vendor/chokidar.js +311 -5
  510. package/vendor/chunk-B34JUlnS.js +169 -0
  511. package/vendor/{chunk-Bu8ZRE-c.js → chunk-B9ttgKqg.js} +28 -25
  512. package/vendor/{chunk-D2EnpcLg.js → chunk-BGvapINa.js} +3 -164
  513. package/vendor/{chunk-Cqrj-Zqr.js → chunk-BmAiqUzD.js} +22 -8
  514. package/vendor/{chunk-BiUcnLhT.js → chunk-But4T5N_.js} +8 -3
  515. package/vendor/{chunk-OUnVY4Wm.js → chunk-DuR6SGzI.js} +162 -35
  516. package/vendor/css-select.js +3383 -0
  517. package/vendor/dotenv.js +2 -2
  518. package/vendor/express.js +61 -10
  519. package/vendor/manifest.json +4 -3
  520. package/vendor/postcss.js +1 -1
  521. package/vendor/precinct.js +5914 -3591
  522. package/vendor/valibot.js +418 -504
  523. package/dist/Servers/MatchedRouteInfo.d.ts +0 -11
  524. package/dist/Servers/MatchedRouteInfo.d.ts.map +0 -1
  525. package/dist/routing/__fluentRouteBuilder.d.ts +0 -80
  526. package/dist/routing/__fluentRouteBuilder.d.ts.map +0 -1
  527. package/dist/routing/__fluentRouteBuilder.js +0 -183
  528. package/dist/routing/__fluentRoutes.d.ts +0 -2
  529. package/dist/routing/__fluentRoutes.d.ts.map +0 -1
  530. package/dist/routing/__fluentRoutes.js +0 -59
  531. package/vendor/chunk-Hy-cCmu-.js +0 -23
  532. /package/dist/{Servers/MatchedRouteInfo.js → routing/RoutePaths.js} +0 -0
@@ -0,0 +1,83 @@
1
+ import { DomPointer } from '../DomPointer.js';
2
+ import { stubRouting } from '../hydrate/stubRouting.js';
3
+ import { routing } from "../Servers/routing.js";
4
+ import { renderDocInitErrorBanner } from '../docInit.js';
5
+ import { setCurrentInstance } from '../hmr/instanceRegistry.js';
6
+ import { hydrateRootComponent, hydrationRouting, makeDefaultHydrateMeta } from "../hydrate/hydrate.js";
7
+ import { renderHydrationMismatchBanner } from '../hydrate/renderHydrationMismatchBanner.js';
8
+ import { Instance } from '../Instance/Instance.js';
9
+ import { isDev } from '../isDev.js';
10
+ import { isProd } from '../isProd.js';
11
+ import { MatchedRoute } from '../routing/MatchedRoute.js';
12
+ import { urlToLocation } from '../routing/routeUrl.js';
13
+ import { initStores } from '../Servers/initStores.js';
14
+ import { TungstenError } from '../TungstenError.js';
15
+ import { clientRoute, isPipelineApp } from './pipelineDefinition.js';
16
+ import { afterRoutingFor, pipelineRoutes, routingContext, routingNetworkedData } from './runPipeline.js';
17
+ // hydrate() for config.registration 'pipeline': the app's own client run makes the context, with
18
+ // the all-routes data and any networked data carried over from the server's render. Its own copy
19
+ // of hydrate()'s steps, so neither path branches on the other; it names neither pipeline, so the
20
+ // bundle holds only the one the app built. app: the routes module's export
21
+ export async function hydratePipeline(app, RootComponent, instanceConfig, fileVersions) {
22
+ if (isDev) renderDocInitErrorBanner();
23
+ if (!isPipelineApp(app)) {
24
+ throw new TungstenError(`config.registration is 'pipeline', but the routes module exports no pipeline app under` + ` config.routesLocation's name: export the result of the pipeline's .routes().`);
25
+ }
26
+ let location = urlToLocation(window.location, instanceConfig.siteBasePath, isProd && instanceConfig.staticSite);
27
+ const ran = await app.client(app, __tungsten_networked_data__);
28
+ const init = ran.init;
29
+ const routes = pipelineRoutes(app, null, init, isDev);
30
+ const routeContext = routingContext(ran.routingContext);
31
+ const networkedData = routingNetworkedData(ran.routingNetworkedData);
32
+ let allRoutesData;
33
+ let matchedRouteInfo;
34
+ if (instanceConfig.serverSideRouting === false) {
35
+ // a stub page: the client's own all-routes data, beside its first routing, as a navigation's
36
+ const [fetched, routed] = await Promise.all([ran.allRoutesData?.(), stubRouting(location, to => routing(to, routes, routeContext, networkedData), instanceConfig)]);
37
+ if (routed === null) return;
38
+ ({
39
+ location,
40
+ matchedRouteInfo
41
+ } = routed);
42
+ allRoutesData = fetched; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the framework brands what it builds
43
+ } else {
44
+ allRoutesData = __tungsten_global_data__;
45
+ matchedRouteInfo = hydrationRouting(__tungsten_matched_route_info__, routes);
46
+ }
47
+ const posted = await ran.post(allRoutesData);
48
+ const afterRouting = afterRoutingFor(posted.afterRouting);
49
+ const brandedContext = afterRouting === undefined ? posted.context // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the framework brands what it builds
50
+ : await afterRouting(clientRoute(matchedRouteInfo, location), allRoutesData);
51
+ const {
52
+ internalStore,
53
+ stores,
54
+ storeSubscriptions
55
+ } = initStores(location, null, allRoutesData, matchedRouteInfo, null, brandedContext, networkedData);
56
+ const instance = new Instance(location, instanceConfig, null, appRoutesFor(app, init), routes, internalStore, stores, storeSubscriptions, allRoutesData, matchedRouteInfo);
57
+ instance.fileVersions = fileVersions;
58
+ instance.context = brandedContext;
59
+ instance.networkedData = networkedData;
60
+ instance.pipelineNetworked = ran.networked;
61
+ instance.pipeline = {
62
+ routingContext: routeContext,
63
+ routingNetworkedData: networkedData,
64
+ allRoutesData: allRoutesDataFor(ran.allRoutesData),
65
+ afterRouting
66
+ };
67
+ if (isDev) setCurrentInstance(instance);
68
+ if (instanceConfig.serverSideRouting !== false && typeof __tungsten_route_data__ !== 'undefined') {
69
+ instance.routeData = __tungsten_route_data__;
70
+ }
71
+ const meta = makeDefaultHydrateMeta();
72
+ await hydrateRootComponent(instance, RootComponent ?? MatchedRoute, new DomPointer(document, 1), meta);
73
+ instance.hydrationComplete = true;
74
+ if (isDev) renderHydrationMismatchBanner(meta.mismatches);
75
+ if (isDev) renderDocInitErrorBanner();
76
+ }
77
+ const appRoutesFor = (app, init) => reqRes => pipelineRoutes(app, reqRes, init, isDev);
78
+ // before each client navigation, as before SSR
79
+ const allRoutesDataFor = run => {
80
+ if (run === undefined) return undefined;
81
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- the framework brands what it builds
82
+ return async () => await run();
83
+ };
@@ -0,0 +1,6 @@
1
+ import type { CompilationInfo } from '../build/CompilationInfo.js';
2
+ import type { FrameworkConfigComplete } from '../FrameworkConfig.js';
3
+ import type { PipelineApp } from './pipelineDefinition.js';
4
+ export declare function importRoutesModule(compilationInfo: CompilationInfo, config: FrameworkConfigComplete, iteration: number | null): Promise<PipelineApp>;
5
+ export declare function pipelineAppFrom(module: unknown, routesLocation: FrameworkConfigComplete['routesLocation']): PipelineApp;
6
+ //# sourceMappingURL=importRoutesModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importRoutesModule.d.ts","sourceRoot":"","sources":["../../src/pipeline/importRoutesModule.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAY1D,wBAAsB,kBAAkB,CACpC,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAC5F,OAAO,CAAC,WAAW,CAAC,CAOtB;AAED,wBAAgB,eAAe,CAC3B,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,GAC3E,WAAW,CAoBb"}
@@ -0,0 +1,33 @@
1
+ import { join } from 'path';
2
+ import { fixExtension } from '../fixExtension.js';
3
+ import { importDevModuleWithRetry } from '../importDevModuleWithRetry.js';
4
+ import { importModule } from '../importModule.js';
5
+ import { iterationQueryString } from '../iterationQueryString.js';
6
+ import { routesLocationParts } from '../routesLocationParts.js';
7
+ import { TungstenError } from '../TungstenError.js';
8
+ import { isPipelineApp } from './pipelineDefinition.js';
9
+ // The pipeline's routes module, for the app its .routes() call made, exported under
10
+ // config.routesLocation's name. In dev, each iteration imports it again, for the request
11
+ export async function importRoutesModule(compilationInfo, config, iteration) {
12
+ const {
13
+ routesFile
14
+ } = routesLocationParts(config.routesLocation);
15
+ const filePath = 'file://' + fixExtension(join(compilationInfo.buildCodeLocation, routesFile));
16
+ const module = iteration === null ? await importModule(filePath) : await importDevModuleWithRetry(iterationQueryString(filePath, iteration));
17
+ return pipelineAppFrom(module, config.routesLocation);
18
+ }
19
+ export function pipelineAppFrom(module, routesLocation) {
20
+ const {
21
+ routesFile,
22
+ routeExport
23
+ } = routesLocationParts(routesLocation);
24
+ if (routeExport === undefined) {
25
+ throw new TungstenError(`config.registration is 'pipeline', but config.routesLocation names the file` + ` ${routesFile} without an export name: give it as [file, exportName], the export` + ` being the pipeline's .routes() result.`);
26
+ }
27
+ const exported = typeof module === 'object' && module !== null ? module[routeExport] // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- a module namespace
28
+ : undefined;
29
+ if (!isPipelineApp(exported)) {
30
+ throw new TungstenError(`config.registration is 'pipeline', but ${routesFile} exports no pipeline app as` + ` ${routeExport} (config.routesLocation): export the result of the pipeline's` + ` .routes(), e.g. export const ${routeExport} = app.routes(...).`);
31
+ }
32
+ return exported;
33
+ }
@@ -0,0 +1,11 @@
1
+ export declare class NetworkedTransport {
2
+ #private;
3
+ readonly networked: object | undefined;
4
+ constructor(networked: object | undefined);
5
+ snapshotAfterRouting(): void;
6
+ toJSON(): {
7
+ [k: string]: unknown;
8
+ };
9
+ }
10
+ export declare function fromTransport(half: object | undefined): object | undefined;
11
+ //# sourceMappingURL=networkedTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networkedTransport.d.ts","sourceRoot":"","sources":["../../src/pipeline/networkedTransport.ts"],"names":[],"mappings":"AAqBA,qBAAa,kBAAkB;;IAEf,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;gBAA7B,SAAS,EAAE,MAAM,GAAG,SAAS;IAElD,oBAAoB;IASpB,MAAM;;;CAWT;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAM1E"}
@@ -0,0 +1,54 @@
1
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
2
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
3
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
6
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
7
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
8
+ import { contextStore, contextStoreSettings } from './contextStore.js';
9
+ // a store in the networked data crosses as its values, under this key, and is rebuilt on the client
10
+ const $store = '__tungstenContextStore';
11
+ const storeValues = store => Object.fromEntries(
12
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- a contextStore()'s cells
13
+ Object.entries(store).map(([key, cell]) => [key, cell.get()]));
14
+ const isStoreOnPage = value => typeof value === 'object' && value !== null && $store in value;
15
+ // The split pipeline's networked data, as processHead writes it into the page: toJSON() runs when
16
+ // the page is written, after the render, which is when an 'afterRender' store is read. An
17
+ // 'afterRouting' store is read by snapshotAfterRouting(), before the render
18
+ var _afterRouting = /*#__PURE__*/new WeakMap();
19
+ export class NetworkedTransport {
20
+ constructor(networked) {
21
+ _defineProperty(this, "networked", void 0);
22
+ _classPrivateFieldInitSpec(this, _afterRouting, new Map());
23
+ this.networked = networked;
24
+ }
25
+ snapshotAfterRouting() {
26
+ for (const value of Object.values(this.networked ?? {})) {
27
+ if (typeof value !== 'object' || value === null) continue;
28
+ if (contextStoreSettings(value)?.sync === 'afterRouting') {
29
+ _classPrivateFieldGet(_afterRouting, this).set(value, storeValues(value));
30
+ }
31
+ }
32
+ }
33
+ toJSON() {
34
+ const entries = Object.entries(this.networked ?? {});
35
+ return Object.fromEntries(entries.map(([key, value]) => {
36
+ const settings = typeof value === 'object' && value !== null ? contextStoreSettings(value) : undefined;
37
+ if (settings === undefined) return [key, value];
38
+ const values = _classPrivateFieldGet(_afterRouting, this).get(value) ?? storeValues(value); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- settings were found for it
39
+ return [key, {
40
+ [$store]: {
41
+ values,
42
+ sync: settings.sync
43
+ }
44
+ }];
45
+ }));
46
+ }
47
+ }
48
+ // the networked data from the page, its stores rebuilt
49
+ export function fromTransport(half) {
50
+ if (half === undefined) return undefined;
51
+ return Object.fromEntries(Object.entries(half).map(([key, value]) => [key, isStoreOnPage(value) ? contextStore(value[$store].values, {
52
+ sync: value[$store].sync
53
+ }) : value]));
54
+ }
@@ -0,0 +1,107 @@
1
+ import type { ComponentStore, ConstructPackage, TungstenComponentPropsBase, TungstenComponentSignalsConstraint, TungstenComponentStateConstraint } from '../Components.jsx';
2
+ import type { ComponentHelpers } from '../componentHelpers.js';
3
+ import type { RoutesWithSettings } from '../routing/Routes.js';
4
+ import type { NoDuplicatePaths, RoutesArray } from '../routing/routesArray.js';
5
+ import type { Serializable } from '../routing/Serializable.js';
6
+ import type { ReadonlyTrueStore } from '../Store/makeStore.js';
7
+ import type { MaybePromise, PipelineApp, PipelineDefinition, RoutesOptions, ServerKind, ServerRequests, StageContext } from './pipelineDefinition.js';
8
+ import { TungstenBaseSimpleStoreComponent, TungstenBaseStatefulStoreComponent, TungstenSignalsComponent, TungstenSimpleComponent, TungstenStatefulComponent } from '../Components.jsx';
9
+ type Props = TungstenComponentPropsBase;
10
+ type State = TungstenComponentStateConstraint;
11
+ type Signals = TungstenComponentSignalsConstraint;
12
+ export type Nothing = Record<never, never>;
13
+ export type DeliveredContext<Ctx> = Ctx extends object ? Ctx : Nothing;
14
+ export type PipelineHelpers<Ctx, N, G extends object | undefined> = Omit<ComponentHelpers, 'context' | 'allRoutesData' | 'networked'> & {
15
+ readonly context: DeliveredContext<Ctx>;
16
+ readonly networked: N & object;
17
+ readonly allRoutesData: G;
18
+ };
19
+ export declare abstract class PipelineSimpleComponent<Ctx, N, G extends object | undefined, P extends Props = Props, RD = undefined> extends TungstenSimpleComponent<P, RD> {
20
+ get tungsten(): PipelineHelpers<Ctx, N, G>;
21
+ }
22
+ export declare abstract class PipelineStatefulComponent<Ctx, N, G extends object | undefined, P extends Props, S extends State, RD = undefined> extends TungstenStatefulComponent<P, S, RD> {
23
+ get tungsten(): PipelineHelpers<Ctx, N, G>;
24
+ }
25
+ export declare abstract class PipelineSignalsComponent<Ctx, N, G extends object | undefined, P extends Props, Sg extends Signals, RD = undefined> extends TungstenSignalsComponent<P, Sg, RD> {
26
+ get tungsten(): PipelineHelpers<Ctx, N, G>;
27
+ }
28
+ type SelectStore<Ctx, N, G extends object | undefined, Schema extends object> = (context: PipelineHelpers<Ctx, N, G>['context'], networked: N) => ReadonlyTrueStore<Schema>;
29
+ export declare abstract class PipelineSimpleStoreComponent<Ctx, N, G extends object | undefined, St extends object, P extends Props = Props, RD = undefined> extends TungstenBaseSimpleStoreComponent<P, RD, St> {
30
+ get tungsten(): PipelineHelpers<Ctx, N, G>;
31
+ protected createStore<Schema extends object>(select: SelectStore<Ctx, N, G, Schema>): ComponentStore<Schema>;
32
+ }
33
+ export declare abstract class PipelineStatefulStoreComponent<Ctx, N, G extends object | undefined, St extends object, P extends Props, S extends State, RD = undefined> extends TungstenBaseStatefulStoreComponent<P, S, RD, St> {
34
+ get tungsten(): PipelineHelpers<Ctx, N, G>;
35
+ protected createStore<Schema extends object>(select: SelectStore<Ctx, N, G, Schema>): ComponentStore<Schema>;
36
+ }
37
+ type Statics<T> = Omit<T, 'prototype'>;
38
+ export type PipelineComponents<Ctx, N, G extends object | undefined> = {
39
+ SimpleComponent: (abstract new <P extends Props = Props, RD = undefined>(pkg: ConstructPackage<P, RD>) => PipelineSimpleComponent<Ctx, N, G, P, RD>) & Statics<typeof PipelineSimpleComponent>;
40
+ StatefulComponent: (abstract new <P extends Props = Props, S extends State = State, RD = undefined>(pkg: ConstructPackage<P, RD>) => PipelineStatefulComponent<Ctx, N, G, P, S, RD>) & Statics<typeof PipelineStatefulComponent>;
41
+ SignalsComponent: (abstract new <P extends Props = Props, Sg extends Signals = Signals, RD = undefined>(pkg: ConstructPackage<P, RD>) => PipelineSignalsComponent<Ctx, N, G, P, Sg, RD>) & Statics<typeof PipelineSignalsComponent>;
42
+ SimpleStoreComponent: (abstract new <St extends object, P extends Props = Props, RD = undefined>(pkg: ConstructPackage<P, RD>) => PipelineSimpleStoreComponent<Ctx, N, G, St, P, RD>) & Statics<typeof PipelineSimpleStoreComponent>;
43
+ StatefulStoreComponent: (abstract new <St extends object, P extends Props = Props, S extends State = State, RD = undefined>(pkg: ConstructPackage<P, RD>) => PipelineStatefulStoreComponent<Ctx, N, G, St, P, S, RD>) & Statics<typeof PipelineStatefulStoreComponent>;
44
+ };
45
+ type StageTypes<X> = X extends {
46
+ SimpleStoreComponent: abstract new (...args: any) => PipelineSimpleStoreComponent<infer Ctx, infer N, any, any, any, any>;
47
+ } ? {
48
+ context: Ctx extends object ? Ctx : Nothing;
49
+ networked: N;
50
+ } : never;
51
+ export type PipelineContext<X> = StageTypes<X>['context'];
52
+ export type PipelineNetworked<X> = StageTypes<X>['networked'];
53
+ export type PipelineResult<X> = StageTypes<X>;
54
+ export type PipelineInit<X> = X extends {
55
+ routes: Routes<any, infer I, any, any, any>;
56
+ } ? I : never;
57
+ declare const $stage: unique symbol;
58
+ type StageRecord<Result, Ctx> = {
59
+ result: Result;
60
+ context: Ctx;
61
+ };
62
+ type Marked<Result, Ctx, Stages> = {
63
+ readonly [$stage]?: StageRecord<Result, Ctx> & {
64
+ stages: Stages;
65
+ };
66
+ };
67
+ type StagesOf<X> = X extends {
68
+ readonly [$stage]?: {
69
+ stages: infer S;
70
+ };
71
+ } ? S : unknown;
72
+ export type StageMark<This, Name extends string, Result, Ctx> = Marked<Result, Ctx, StagesOf<This> & {
73
+ [K in Name]: StageRecord<Result, Ctx>;
74
+ }>;
75
+ type OwnRecord<X> = X extends Marked<infer R, infer C, any> ? StageRecord<R, C> : never;
76
+ type RecordOf<X, Name> = [Name] extends [never] ? OwnRecord<X> : Name extends keyof StagesOf<X> ? StagesOf<X>[Name] : never;
77
+ export type PipelineStageResult<X, Name extends keyof StagesOf<X> = never> = RecordOf<X, Name> extends StageRecord<infer R, any> ? R : never;
78
+ export type PipelineStageContext<X, Name extends keyof StagesOf<X> = never> = RecordOf<X, Name> extends StageRecord<any, infer C> ? (C extends object ? C : Nothing) : never;
79
+ type Process<Req, Previous, X, G = never> = (reqRes: Req | null, previous: Previous, allRoutesData: G) => MaybePromise<X>;
80
+ export type SerializableData<G> = G extends object ? Serializable<G> : never;
81
+ export type AllRoutesDataProcess<Req, I, G> = (reqRes: Req | null, init: I) => MaybePromise<G & SerializableData<NoInfer<G>>>;
82
+ type RoutesFunction<Req, I, G extends object | undefined> = (reqRes: Req | null, init: I) => RoutesWithSettings<G> | RoutesArray<G> | [];
83
+ type Routes<Req, I, Ctx, N, G extends object | undefined> = {
84
+ <const R extends RoutesFunction<Req, I, G>>(routes: R & NoDuplicatePaths<R>): PipelineApp<R, DeliveredContext<Ctx>, N, G>;
85
+ <const R extends RoutesFunction<Req, I, G>>(options: RoutesOptions, routes: R & NoDuplicatePaths<R>): PipelineApp<R, DeliveredContext<Ctx>, N, G>;
86
+ };
87
+ export type PostStage<Req, I, Ctx, N, G extends object | undefined> = PipelineComponents<Ctx, N, G> & {
88
+ routes: Routes<Req, I, Ctx, N, G>;
89
+ };
90
+ export type DataStage<Req, I, G extends object | undefined> = PostStage<Req, I, I, Nothing, G> & {
91
+ post: <P extends StageContext, This>(this: This, process: Process<Req, I, P, G>) => PostStage<Req, I, P, Nothing, G> & StageMark<This, 'post', P, P>;
92
+ };
93
+ export type InitStage<Req, I> = DataStage<Req, I, undefined> & {
94
+ allRoutesData: <G extends object, This>(this: This, process: AllRoutesDataProcess<Req, I, G>) => DataStage<Req, I, G> & StageMark<This, 'allRoutesData', G, I>;
95
+ };
96
+ export type ServerStage<Req> = InitStage<Req, undefined> & {
97
+ init: <I extends StageContext | undefined, This>(this: This, process: Process<Req, undefined, I>) => InitStage<Req, I> & StageMark<This, 'init', I, I>;
98
+ };
99
+ export declare const loosely: <T>(process: unknown) => T;
100
+ export declare function postStage<Req, I, Ctx, N, G extends object | undefined>(definition: PipelineDefinition): PostStage<Req, I, Ctx, N, G>;
101
+ export declare function checkServer(builder: string, lib: ServerKind): void;
102
+ export type PipelineBuilder = {
103
+ server: <Kind extends ServerKind>(kind: Kind) => ServerStage<ServerRequests[Kind]>;
104
+ };
105
+ export declare const pipeline: PipelineBuilder;
106
+ export {};
107
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/pipeline/pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ import { TungstenBaseSimpleStoreComponent, TungstenBaseStatefulStoreComponent, TungstenSignalsComponent, TungstenSimpleComponent, TungstenStatefulComponent } from "../Components.js";
2
+ import { $pipelineApp } from './pipelineDefinition.js';
3
+ import { runClientPipeline } from './runPipeline.js';
4
+ const pipelineHelpers = helpers =>
5
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- the same values
6
+ helpers;
7
+ export class PipelineSimpleComponent extends TungstenSimpleComponent {
8
+ get tungsten() {
9
+ return pipelineHelpers(super.tungsten);
10
+ }
11
+ }
12
+ export class PipelineStatefulComponent extends TungstenStatefulComponent {
13
+ get tungsten() {
14
+ return pipelineHelpers(super.tungsten);
15
+ }
16
+ }
17
+ export class PipelineSignalsComponent extends TungstenSignalsComponent {
18
+ get tungsten() {
19
+ return pipelineHelpers(super.tungsten);
20
+ }
21
+ }
22
+ // The app makes its store components: `store = this.createStore(context => context.store)`
23
+ export class PipelineSimpleStoreComponent extends TungstenBaseSimpleStoreComponent {
24
+ get tungsten() {
25
+ return pipelineHelpers(super.tungsten);
26
+ }
27
+ createStore(select) {
28
+ const {
29
+ context,
30
+ networked
31
+ } = this.tungsten;
32
+ return this.__proxyStore(select(context, networked));
33
+ }
34
+ }
35
+ export class PipelineStatefulStoreComponent extends TungstenBaseStatefulStoreComponent {
36
+ get tungsten() {
37
+ return pipelineHelpers(super.tungsten);
38
+ }
39
+ createStore(select) {
40
+ const {
41
+ context,
42
+ networked
43
+ } = this.tungsten;
44
+ return this.__proxyStore(select(context, networked));
45
+ }
46
+ }
47
+ const pipelineComponents = {
48
+ SimpleComponent: PipelineSimpleComponent,
49
+ StatefulComponent: PipelineStatefulComponent,
50
+ SignalsComponent: PipelineSignalsComponent,
51
+ SimpleStoreComponent: PipelineSimpleStoreComponent,
52
+ StatefulStoreComponent: PipelineStatefulStoreComponent
53
+ };
54
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- typed by the stage
55
+ export const loosely = process => process;
56
+ function makeApp(definition, args) {
57
+ const [routesOptions, routes] = args.length === 2 ? args : [{}, args[0]];
58
+ return {
59
+ ...definition,
60
+ routes,
61
+ routesOptions,
62
+ [$pipelineApp]: true
63
+ };
64
+ }
65
+ export function postStage(definition) {
66
+ return {
67
+ ...pipelineComponents,
68
+ routes: (...args) => makeApp(definition, args)
69
+ };
70
+ }
71
+ function dataStage(definition) {
72
+ return {
73
+ ...postStage(definition),
74
+ post: process => postStage({
75
+ ...definition,
76
+ post: loosely(process)
77
+ })
78
+ };
79
+ }
80
+ function initStage(definition) {
81
+ return {
82
+ ...dataStage(definition),
83
+ allRoutesData: process => dataStage({
84
+ ...definition,
85
+ allRoutesData: loosely(process)
86
+ })
87
+ };
88
+ }
89
+ function serverStage(definition) {
90
+ return {
91
+ ...initStage(definition),
92
+ init: process => initStage({
93
+ ...definition,
94
+ init: loosely(process)
95
+ })
96
+ };
97
+ }
98
+ export function checkServer(builder, lib) {
99
+ if (lib === 'hono') {
100
+ throw new Error(`${builder}.server('hono'): tungsten serves pages with express only, so far`);
101
+ }
102
+ }
103
+ // the entry point: `export const app = pipeline.server('express').init(...).post(...)`. The split
104
+ // pipeline is splitPipeline, from its own module
105
+ export const pipeline = {
106
+ server: lib => {
107
+ checkServer('pipeline', lib);
108
+ return serverStage({
109
+ server: lib,
110
+ client: runClientPipeline
111
+ });
112
+ }
113
+ };