tungsten 0.6.2 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) 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 +7 -1
  14. package/dist/FrameworkConfig.d.ts.map +1 -1
  15. package/dist/FunctionComponent.d.ts +1 -0
  16. package/dist/FunctionComponent.d.ts.map +1 -1
  17. package/dist/FunctionComponentStandIn.d.ts.map +1 -1
  18. package/dist/Instance/Instance.d.ts +29 -12
  19. package/dist/Instance/Instance.d.ts.map +1 -1
  20. package/dist/Instance/Instance.js +59 -21
  21. package/dist/Instance/InstanceConfig.d.ts +2 -1
  22. package/dist/Instance/InstanceConfig.d.ts.map +1 -1
  23. package/dist/RenderedContentNode.d.ts.map +1 -1
  24. package/dist/RenderingNode.d.ts.map +1 -1
  25. package/dist/Servers/DevServer.d.ts +4 -2
  26. package/dist/Servers/DevServer.d.ts.map +1 -1
  27. package/dist/Servers/DevServer.js +62 -20
  28. package/dist/Servers/ProdServer.d.ts +4 -2
  29. package/dist/Servers/ProdServer.d.ts.map +1 -1
  30. package/dist/Servers/ProdServer.js +77 -18
  31. package/dist/Servers/StaticSiteServer.d.ts +1 -1
  32. package/dist/Servers/StaticSiteServer.d.ts.map +1 -1
  33. package/dist/Servers/TungstenServer.d.ts +2 -1
  34. package/dist/Servers/TungstenServer.d.ts.map +1 -1
  35. package/dist/Servers/TungstenServer.js +7 -0
  36. package/dist/Servers/cacheVersioned.d.ts +3 -0
  37. package/dist/Servers/cacheVersioned.d.ts.map +1 -0
  38. package/dist/Servers/cacheVersioned.js +23 -0
  39. package/dist/Servers/devErrorPageAutoRetry.d.ts.map +1 -1
  40. package/dist/Servers/devErrorPageAutoRetry.js +1 -0
  41. package/dist/Servers/initStores.d.ts +4 -4
  42. package/dist/Servers/initStores.d.ts.map +1 -1
  43. package/dist/Servers/initStores.js +2 -2
  44. package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
  45. package/dist/Servers/loadEnvsDev.js +7 -6
  46. package/dist/Servers/resetRegistrations.d.ts +2 -0
  47. package/dist/Servers/resetRegistrations.d.ts.map +1 -0
  48. package/dist/Servers/resetRegistrations.js +13 -0
  49. package/dist/Servers/routing.d.ts +3 -2
  50. package/dist/Servers/routing.d.ts.map +1 -1
  51. package/dist/Servers/routing.js +3 -2
  52. package/dist/Store/InternalStoreSchema.d.ts +1 -1
  53. package/dist/Store/Store.js +2 -1
  54. package/dist/Store/StoreSchemaClass.d.ts +6 -3
  55. package/dist/Store/StoreSchemaClass.d.ts.map +1 -1
  56. package/dist/Store/StoreSchemaClass.js +8 -1
  57. package/dist/Store/TypeSafeStore.js +2 -1
  58. package/dist/Store/createStores.d.ts +3 -3
  59. package/dist/Store/createStores.d.ts.map +1 -1
  60. package/dist/Store/createStores.js +7 -2
  61. package/dist/Store/getInternalStore.d.ts.map +1 -1
  62. package/dist/Store/registerStore.d.ts.map +1 -1
  63. package/dist/Store/registerStore.js +2 -2
  64. package/dist/Store/storeCreators.d.ts +2 -2
  65. package/dist/Store/storeCreators.d.ts.map +1 -1
  66. package/dist/TungstenApp.d.ts +3 -3
  67. package/dist/TungstenApp.d.ts.map +1 -1
  68. package/dist/_client/cjsHelpers.d.ts.map +1 -1
  69. package/dist/_client/cjsHelpers.js +5 -3
  70. package/dist/_client/client.d.ts +2 -0
  71. package/dist/_client/client.d.ts.map +1 -1
  72. package/dist/_client/client.js +10 -3
  73. package/dist/api/getApiRoutes.d.ts.map +1 -1
  74. package/dist/api/getExport.d.ts +1 -1
  75. package/dist/api/getExport.d.ts.map +1 -1
  76. package/dist/api/getExport.js +2 -1
  77. package/dist/api/getExportDev.d.ts +1 -1
  78. package/dist/api/getExportDev.d.ts.map +1 -1
  79. package/dist/appBuilder.d.ts +69 -0
  80. package/dist/appBuilder.d.ts.map +1 -0
  81. package/dist/appBuilder.js +98 -0
  82. package/dist/appBuilder.types.test.d.ts +110 -0
  83. package/dist/appBuilder.types.test.d.ts.map +1 -0
  84. package/dist/appBuilder.types.test.js +240 -0
  85. package/dist/babelPlugins/BabelTransformBindDirect.js +7 -7
  86. package/dist/babelPlugins/BabelTransformBindVar.js +7 -7
  87. package/dist/babelPlugins/BabelTransformComponentState.d.ts.map +1 -1
  88. package/dist/babelPlugins/BabelTransformComponentStyles.d.ts.map +1 -1
  89. package/dist/babelPlugins/BabelTransformComponentStyles.js +5 -5
  90. package/dist/babelPlugins/BabelTransformCssImports.d.ts.map +1 -1
  91. package/dist/babelPlugins/BabelTransformCssImports.js +2 -2
  92. package/dist/babelPlugins/BabelTransformDeproxyState.d.ts.map +1 -1
  93. package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
  94. package/dist/babelPlugins/BabelTransformPackageImports.js +11 -6
  95. package/dist/babelPlugins/BabelTransformRemoveDevBlocks.d.ts.map +1 -1
  96. package/dist/babelPlugins/BabelTransformRemoveServerBlocks.d.ts.map +1 -1
  97. package/dist/babelPlugins/BabelTypes.d.ts.map +1 -1
  98. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -1
  99. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.js +1 -1
  100. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -1
  101. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.js +2 -2
  102. package/dist/bin/commands/compile.d.ts.map +1 -1
  103. package/dist/bin/commands/compile.js +2 -1
  104. package/dist/build/CompilationInfo.d.ts +3 -0
  105. package/dist/build/CompilationInfo.d.ts.map +1 -1
  106. package/dist/build/assetVersions.d.ts +9 -0
  107. package/dist/build/assetVersions.d.ts.map +1 -0
  108. package/dist/build/assetVersions.js +39 -0
  109. package/dist/build/babel.user.common.config.d.ts.map +1 -1
  110. package/dist/build/bundle.d.ts.map +1 -1
  111. package/dist/build/bundle.js +2 -1
  112. package/dist/build/bundleBabelOptions.d.ts.map +1 -1
  113. package/dist/build/clientRoutesFile.d.ts +2 -0
  114. package/dist/build/clientRoutesFile.d.ts.map +1 -0
  115. package/dist/build/clientRoutesFile.js +13 -0
  116. package/dist/build/compileJavascript.d.ts.map +1 -1
  117. package/dist/build/compileJavascript.js +4 -3
  118. package/dist/build/compileStyles.d.ts +2 -1
  119. package/dist/build/compileStyles.d.ts.map +1 -1
  120. package/dist/build/compileStyles.js +38 -83
  121. package/dist/build/compileUserApp.d.ts.map +1 -1
  122. package/dist/build/componentStylesCache.d.ts.map +1 -1
  123. package/dist/build/componentStylesCache.js +3 -2
  124. package/dist/build/copyAssets.d.ts.map +1 -1
  125. package/dist/build/copyAssets.js +2 -1
  126. package/dist/build/copyPackageModulesToPackagesFolder.d.ts.map +1 -1
  127. package/dist/build/copyPackageModulesToPackagesFolder.js +1 -1
  128. package/dist/build/copyPublicFiles.d.ts.map +1 -1
  129. package/dist/build/copyPublicFiles.js +2 -1
  130. package/dist/build/createClientFiles.d.ts.map +1 -1
  131. package/dist/build/createClientFiles.js +9 -5
  132. package/dist/build/createInstanceConfigFile.d.ts +1 -1
  133. package/dist/build/createInstanceConfigFile.d.ts.map +1 -1
  134. package/dist/build/createInstanceConfigFile.js +9 -3
  135. package/dist/build/frameworkDestLocation.d.ts.map +1 -1
  136. package/dist/build/frameworkDestLocation.js +5 -6
  137. package/dist/build/frameworkStylesheets.d.ts.map +1 -1
  138. package/dist/build/frameworkStylesheets.js +1 -1
  139. package/dist/build/makeBabelRawConfig.d.ts.map +1 -1
  140. package/dist/build/makeBabelUserDevConfig.d.ts +2 -2
  141. package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
  142. package/dist/build/makeBabelUserProdConfig.d.ts.map +1 -1
  143. package/dist/build/rollup.user.prod.config.d.ts.map +1 -1
  144. package/dist/build/rollup.user.prod.config.js +5 -3
  145. package/dist/build/rollupProdConstants.d.ts +5 -0
  146. package/dist/build/rollupProdConstants.d.ts.map +1 -0
  147. package/dist/build/rollupProdConstants.js +21 -0
  148. package/dist/cacheControl.d.ts +13 -0
  149. package/dist/cacheControl.d.ts.map +1 -0
  150. package/dist/cacheControl.js +22 -0
  151. package/dist/compat/types.d.ts +1 -1
  152. package/dist/compat/types.d.ts.map +1 -1
  153. package/dist/componentHelpers.d.ts +18 -0
  154. package/dist/componentHelpers.d.ts.map +1 -0
  155. package/dist/componentHelpers.js +28 -0
  156. package/dist/componentProxyHandlers.d.ts.map +1 -1
  157. package/dist/components/Fragment.d.ts +8 -0
  158. package/dist/components/Fragment.d.ts.map +1 -0
  159. package/dist/components/Fragment.js +10 -0
  160. package/dist/components/Link.d.ts +4 -3
  161. package/dist/components/Link.d.ts.map +1 -1
  162. package/dist/components/Link.js +1 -0
  163. package/dist/components/NoEscape.d.ts +8 -0
  164. package/dist/components/NoEscape.d.ts.map +1 -0
  165. package/dist/components/NoEscape.js +6 -0
  166. package/dist/components/RouteRedirectComponent.d.ts.map +1 -1
  167. package/dist/components/RouteRedirectComponent.js +1 -1
  168. package/dist/components/WebRedirectComponent.d.ts.map +1 -1
  169. package/dist/components/WebRedirectComponent.js +1 -1
  170. package/dist/components/bindable/BindVariable.d.ts +1 -0
  171. package/dist/components/bindable/BindVariable.d.ts.map +1 -1
  172. package/dist/components/bindable/BindableCheckbox.d.ts +7 -7
  173. package/dist/components/bindable/BindableCheckbox.d.ts.map +1 -1
  174. package/dist/components/bindable/BindableInput.d.ts +7 -7
  175. package/dist/components/bindable/BindableInput.d.ts.map +1 -1
  176. package/dist/components/bindable/BindableInputNonString.d.ts +2 -2
  177. package/dist/components/bindable/BindableInputNonString.d.ts.map +1 -1
  178. package/dist/components/bindable/BindableInputString.d.ts +2 -2
  179. package/dist/components/bindable/BindableInputString.d.ts.map +1 -1
  180. package/dist/components/bindable/BindableInputTyped.d.ts +3 -3
  181. package/dist/components/bindable/BindableInputTyped.d.ts.map +1 -1
  182. package/dist/components/bindable/BindableInputTypedLegacy.d.ts +3 -3
  183. package/dist/components/bindable/BindableInputTypedLegacy.d.ts.map +1 -1
  184. package/dist/components/bindable/BindableRadio.js +2 -2
  185. package/dist/components/bindable/BindableSelect.d.ts +13 -10
  186. package/dist/components/bindable/BindableSelect.d.ts.map +1 -1
  187. package/dist/components/bindable/BindableSelectNaive.js +3 -3
  188. package/dist/components/bindable/BindableTextarea.d.ts +7 -7
  189. package/dist/components/bindable/BindableTextarea.d.ts.map +1 -1
  190. package/dist/components/bindable/bindableCandidates.comparison.d.ts +136 -0
  191. package/dist/components/bindable/bindableCandidates.comparison.d.ts.map +1 -0
  192. package/dist/components/bindable/bindableCandidates.comparison.js +268 -0
  193. package/dist/components/bindable/bindableProps.types.test.d.ts +50 -0
  194. package/dist/components/bindable/bindableProps.types.test.d.ts.map +1 -0
  195. package/dist/components/bindable/bindableProps.types.test.js +252 -0
  196. package/dist/components/library/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  197. package/dist/components/library/RichTextEditor/contentTree.d.ts.map +1 -1
  198. package/dist/components/makeTypedLink.d.ts +9 -0
  199. package/dist/components/makeTypedLink.d.ts.map +1 -0
  200. package/dist/components/makeTypedLink.js +15 -0
  201. package/dist/context/registerContext.d.ts +22 -0
  202. package/dist/context/registerContext.d.ts.map +1 -0
  203. package/dist/context/registerContext.js +18 -0
  204. package/dist/env/getEnvSchemas.d.ts.map +1 -1
  205. package/dist/env/getEnvSchemas.js +2 -1
  206. package/dist/fileVersions.d.ts +9 -0
  207. package/dist/fileVersions.d.ts.map +1 -0
  208. package/dist/fileVersions.js +28 -0
  209. package/dist/findUserConfig.d.ts +1 -1
  210. package/dist/findUserConfig.d.ts.map +1 -1
  211. package/dist/findUserConfig.js +2 -1
  212. package/dist/frameworkConfigSchema.d.ts +14 -2
  213. package/dist/frameworkConfigSchema.d.ts.map +1 -1
  214. package/dist/frameworkConfigSchema.js +11 -2
  215. package/dist/getComponent.d.ts.map +1 -1
  216. package/dist/getComponent.js +4 -3
  217. package/dist/getRoutes.d.ts.map +1 -1
  218. package/dist/getRoutes.js +9 -8
  219. package/dist/hmr/applyHmrModule.d.ts.map +1 -1
  220. package/dist/hmr/componentIdentity.js +1 -1
  221. package/dist/hooks/getCurrentComponent.d.ts +1 -1
  222. package/dist/hooks/getCurrentComponent.d.ts.map +1 -1
  223. package/dist/hydrate/hydrate.d.ts +5 -1
  224. package/dist/hydrate/hydrate.d.ts.map +1 -1
  225. package/dist/hydrate/hydrate.js +59 -46
  226. package/dist/hydrate/hydrateGlobalData.d.ts +4 -3
  227. package/dist/hydrate/hydrateGlobalData.d.ts.map +1 -1
  228. package/dist/hydrate/reconcileHydratedAttributes.d.ts +2 -1
  229. package/dist/hydrate/reconcileHydratedAttributes.d.ts.map +1 -1
  230. package/dist/hydrate/reconcileHydratedAttributes.js +4 -3
  231. package/dist/hydrate/renderHydrationMismatchBanner.d.ts.map +1 -1
  232. package/dist/hydrate/renderHydrationMismatchBanner.js +2 -1
  233. package/dist/importDevModuleWithRetry.d.ts +2 -1
  234. package/dist/importDevModuleWithRetry.d.ts.map +1 -1
  235. package/dist/importDevModuleWithRetry.js +2 -1
  236. package/dist/importModule.d.ts +3 -0
  237. package/dist/importModule.d.ts.map +1 -0
  238. package/dist/importModule.js +4 -0
  239. package/dist/index.js +2 -1
  240. package/dist/indexInner.d.ts +30 -7
  241. package/dist/indexInner.d.ts.map +1 -1
  242. package/dist/indexInner.js +37 -2
  243. package/dist/json.d.ts +12 -0
  244. package/dist/json.d.ts.map +1 -0
  245. package/dist/json.js +8 -0
  246. package/dist/jsxHelpers.d.ts +3 -0
  247. package/dist/jsxHelpers.d.ts.map +1 -0
  248. package/dist/jsxHelpers.js +6 -0
  249. package/dist/jsxRuntime.d.ts +1 -0
  250. package/dist/jsxRuntime.d.ts.map +1 -1
  251. package/dist/jsxRuntime.js +3 -1
  252. package/dist/jsxRuntimeSignals.d.ts.map +1 -1
  253. package/dist/jsxRuntimeSignals.js +1 -0
  254. package/dist/makeInstanceConfigFromFrameworkConfig.d.ts.map +1 -1
  255. package/dist/makeInstanceConfigFromFrameworkConfig.js +1 -0
  256. package/dist/mergeConfigs.d.ts.map +1 -1
  257. package/dist/mergeConfigs.js +2 -6
  258. package/dist/nbsp.d.ts +1 -2
  259. package/dist/nbsp.d.ts.map +1 -1
  260. package/dist/nbsp.js +3 -7
  261. package/dist/objectMap.d.ts +1 -1
  262. package/dist/objectMap.d.ts.map +1 -1
  263. package/dist/pipeline/PipelineRequestHandler.d.ts +25 -0
  264. package/dist/pipeline/PipelineRequestHandler.d.ts.map +1 -0
  265. package/dist/pipeline/PipelineRequestHandler.js +96 -0
  266. package/dist/pipeline/contextStore.d.ts +12 -0
  267. package/dist/pipeline/contextStore.d.ts.map +1 -0
  268. package/dist/pipeline/contextStore.js +13 -0
  269. package/dist/pipeline/hydratePipeline.d.ts +4 -0
  270. package/dist/pipeline/hydratePipeline.d.ts.map +1 -0
  271. package/dist/pipeline/hydratePipeline.js +64 -0
  272. package/dist/pipeline/importRoutesModule.d.ts +6 -0
  273. package/dist/pipeline/importRoutesModule.d.ts.map +1 -0
  274. package/dist/pipeline/importRoutesModule.js +33 -0
  275. package/dist/pipeline/networkedTransport.d.ts +11 -0
  276. package/dist/pipeline/networkedTransport.d.ts.map +1 -0
  277. package/dist/pipeline/networkedTransport.js +54 -0
  278. package/dist/pipeline/pipeline.d.ts +105 -0
  279. package/dist/pipeline/pipeline.d.ts.map +1 -0
  280. package/dist/pipeline/pipeline.js +108 -0
  281. package/dist/pipeline/pipeline.types.test.d.ts +650 -0
  282. package/dist/pipeline/pipeline.types.test.d.ts.map +1 -0
  283. package/dist/pipeline/pipeline.types.test.js +342 -0
  284. package/dist/pipeline/pipelineDefinition.d.ts +67 -0
  285. package/dist/pipeline/pipelineDefinition.d.ts.map +1 -0
  286. package/dist/pipeline/pipelineDefinition.js +11 -0
  287. package/dist/pipeline/pipelineSplit.types.test.d.ts +1971 -0
  288. package/dist/pipeline/pipelineSplit.types.test.d.ts.map +1 -0
  289. package/dist/pipeline/pipelineSplit.types.test.js +440 -0
  290. package/dist/pipeline/runPipeline.d.ts +31 -0
  291. package/dist/pipeline/runPipeline.d.ts.map +1 -0
  292. package/dist/pipeline/runPipeline.js +71 -0
  293. package/dist/pipeline/runSplitPipeline.d.ts +10 -0
  294. package/dist/pipeline/runSplitPipeline.d.ts.map +1 -0
  295. package/dist/pipeline/runSplitPipeline.js +48 -0
  296. package/dist/pipeline/splitPipeline.d.ts +62 -0
  297. package/dist/pipeline/splitPipeline.d.ts.map +1 -0
  298. package/dist/pipeline/splitPipeline.js +76 -0
  299. package/dist/pop.js +1 -1
  300. package/dist/rawHtml/filterContentNode.d.ts.map +1 -1
  301. package/dist/render/HeadData.d.ts +3 -1
  302. package/dist/render/HeadData.d.ts.map +1 -1
  303. package/dist/render/classComponentNodeToRenderingTree.d.ts.map +1 -1
  304. package/dist/render/componentNodeToRenderingTree.d.ts.map +1 -1
  305. package/dist/render/contentToHtml.d.ts +2 -2
  306. package/dist/render/contentToHtml.d.ts.map +1 -1
  307. package/dist/render/contentToHtml.js +2 -1
  308. package/dist/render/contentToHtmlDev.d.ts +1 -1
  309. package/dist/render/contentToHtmlDev.d.ts.map +1 -1
  310. package/dist/render/contentTreeToRenderingTree.d.ts.map +1 -1
  311. package/dist/render/contentTreeToRenderingTree.js +2 -1
  312. package/dist/render/functionComponentNodeToRenderingTree.d.ts.map +1 -1
  313. package/dist/render/functionComponentNodeToRenderingTree.js +2 -2
  314. package/dist/render/instantiateComponent.d.ts.map +1 -1
  315. package/dist/render/processHead.d.ts.map +1 -1
  316. package/dist/render/processHead.js +12 -18
  317. package/dist/render/renderingTreeToHtml.d.ts.map +1 -1
  318. package/dist/render/renderingTreeToHtml.js +6 -3
  319. package/dist/render/rootToHtml.d.ts +2 -2
  320. package/dist/render/rootToHtml.d.ts.map +1 -1
  321. package/dist/requests/fetch/delete.d.ts.map +1 -1
  322. package/dist/requests/fetch/delete.js +5 -2
  323. package/dist/requests/fetch/get.js +1 -1
  324. package/dist/requests/fetch/patch.d.ts.map +1 -1
  325. package/dist/requests/fetch/patch.js +5 -2
  326. package/dist/requests/fetch/post.d.ts.map +1 -1
  327. package/dist/requests/fetch/post.js +5 -2
  328. package/dist/requests/fetch/put.d.ts.map +1 -1
  329. package/dist/requests/fetch/put.js +5 -2
  330. package/dist/routesLocationParts.d.ts +6 -0
  331. package/dist/routesLocationParts.d.ts.map +1 -0
  332. package/dist/routesLocationParts.js +10 -0
  333. package/dist/routing/AppRoutes.d.ts +5 -3
  334. package/dist/routing/AppRoutes.d.ts.map +1 -1
  335. package/dist/routing/MatchedRouteInfo.d.ts +11 -0
  336. package/dist/routing/MatchedRouteInfo.d.ts.map +1 -0
  337. package/dist/routing/RouteContentFunction.d.ts +1 -2
  338. package/dist/routing/RouteContentFunction.d.ts.map +1 -1
  339. package/dist/routing/RouteDataFunction.type.d.ts +4 -2
  340. package/dist/routing/RouteDataFunction.type.d.ts.map +1 -1
  341. package/dist/routing/RoutePaths.d.ts +12 -0
  342. package/dist/routing/RoutePaths.d.ts.map +1 -0
  343. package/dist/routing/RoutePaths.js +1 -0
  344. package/dist/routing/RouteTypes.d.ts +6 -4
  345. package/dist/routing/RouteTypes.d.ts.map +1 -1
  346. package/dist/routing/Routes.d.ts +17 -11
  347. package/dist/routing/Routes.d.ts.map +1 -1
  348. package/dist/routing/RoutesFunction.d.ts +11 -2
  349. package/dist/routing/RoutesFunction.d.ts.map +1 -1
  350. package/dist/routing/Serializable.d.ts +5 -0
  351. package/dist/routing/Serializable.d.ts.map +1 -0
  352. package/dist/routing/Serializable.js +1 -0
  353. package/dist/routing/builder.d.ts +99 -0
  354. package/dist/routing/builder.d.ts.map +1 -0
  355. package/dist/routing/builder.js +213 -0
  356. package/dist/routing/builder.trial.d.ts +2 -0
  357. package/dist/routing/builder.trial.d.ts.map +1 -0
  358. package/dist/routing/builder.trial.js +85 -0
  359. package/dist/routing/defineRoutes.d.ts +8 -0
  360. package/dist/routing/defineRoutes.d.ts.map +1 -0
  361. package/dist/routing/defineRoutes.js +3 -0
  362. package/dist/routing/pyramidRouting.d.ts +2 -0
  363. package/dist/routing/pyramidRouting.d.ts.map +1 -0
  364. package/dist/routing/pyramidRouting.js +13 -0
  365. package/dist/routing/registerGlobalData.d.ts +11 -3
  366. package/dist/routing/registerGlobalData.d.ts.map +1 -1
  367. package/dist/routing/registerGlobalData.js +6 -0
  368. package/dist/routing/registerParts.types.test.d.ts +2 -0
  369. package/dist/routing/registerParts.types.test.d.ts.map +1 -0
  370. package/dist/routing/registerParts.types.test.js +139 -0
  371. package/dist/routing/registerRoutes.d.ts +10 -0
  372. package/dist/routing/registerRoutes.d.ts.map +1 -0
  373. package/dist/routing/registerRoutes.js +9 -0
  374. package/dist/routing/registerRouting.d.ts +36 -0
  375. package/dist/routing/registerRouting.d.ts.map +1 -0
  376. package/dist/routing/registerRouting.js +34 -0
  377. package/dist/routing/registerRouting.types.test.d.ts +80 -0
  378. package/dist/routing/registerRouting.types.test.d.ts.map +1 -0
  379. package/dist/routing/registerRouting.types.test.js +120 -0
  380. package/dist/routing/registrationTypes.d.ts +11 -0
  381. package/dist/routing/registrationTypes.d.ts.map +1 -0
  382. package/dist/routing/registrationTypes.js +1 -0
  383. package/dist/routing/resolveAppRoutes.d.ts +5 -0
  384. package/dist/routing/resolveAppRoutes.d.ts.map +1 -0
  385. package/dist/routing/resolveAppRoutes.js +25 -0
  386. package/dist/routing/routeUrl.d.ts +4 -0
  387. package/dist/routing/routeUrl.d.ts.map +1 -1
  388. package/dist/routing/routeUrl.js +4 -0
  389. package/dist/routing/routesArray.d.ts +23 -0
  390. package/dist/routing/routesArray.d.ts.map +1 -0
  391. package/dist/routing/routesArray.js +20 -0
  392. package/dist/routing/routesArray.types.test.d.ts +2 -0
  393. package/dist/routing/routesArray.types.test.d.ts.map +1 -0
  394. package/dist/routing/routesArray.types.test.js +132 -0
  395. package/dist/routing/routingBuilder.d.ts +34 -0
  396. package/dist/routing/routingBuilder.d.ts.map +1 -0
  397. package/dist/routing/routingBuilder.js +33 -0
  398. package/dist/routing/routingBuilder.types.test.d.ts +2 -0
  399. package/dist/routing/routingBuilder.types.test.d.ts.map +1 -0
  400. package/dist/routing/routingBuilder.types.test.js +171 -0
  401. package/dist/routing/routingRegistry.d.ts +19 -0
  402. package/dist/routing/routingRegistry.d.ts.map +1 -0
  403. package/dist/routing/routingRegistry.js +29 -0
  404. package/dist/staticGen/getAppRoutes.d.ts +2 -2
  405. package/dist/staticGen/getAppRoutes.d.ts.map +1 -1
  406. package/dist/staticGen/getAppRoutes.js +9 -6
  407. package/dist/staticGen/staticGen.d.ts.map +1 -1
  408. package/dist/staticGen/staticGen.js +8 -2
  409. package/dist/style/styleContentSxy.d.ts.map +1 -1
  410. package/dist/sync/index.d.ts.map +1 -1
  411. package/dist/sync/index.js +2 -0
  412. package/dist/syncServer/index.cjs +1 -2
  413. package/dist/syncServer/preload.js +2 -0
  414. package/dist/testing/createTestApp.d.ts +25 -1
  415. package/dist/testing/createTestApp.d.ts.map +1 -1
  416. package/dist/testing/createTestApp.js +12 -3
  417. package/dist/testing/createTestPipelineApp.d.ts +25 -0
  418. package/dist/testing/createTestPipelineApp.d.ts.map +1 -0
  419. package/dist/testing/createTestPipelineApp.js +153 -0
  420. package/dist/testing/ensure.d.ts +108 -0
  421. package/dist/testing/ensure.d.ts.map +1 -0
  422. package/dist/testing/ensure.js +522 -0
  423. package/dist/testing/ensure.trial.d.ts +2 -0
  424. package/dist/testing/ensure.trial.d.ts.map +1 -0
  425. package/dist/testing/ensure.trial.js +9 -0
  426. package/dist/testing/helpers/contentHtmlElements.d.ts.map +1 -1
  427. package/dist/testing/host.d.ts +80 -9
  428. package/dist/testing/host.d.ts.map +1 -1
  429. package/dist/testing/host.js +81 -20
  430. package/dist/testing/hostPipeline.d.ts +157 -0
  431. package/dist/testing/hostPipeline.d.ts.map +1 -0
  432. package/dist/testing/hostPipeline.js +341 -0
  433. package/dist/testing/hydrateTestApp.d.ts +17 -0
  434. package/dist/testing/hydrateTestApp.d.ts.map +1 -1
  435. package/dist/testing/hydrateTestApp.js +26 -6
  436. package/dist/testing/hydrateTestPipelineApp.d.ts +30 -0
  437. package/dist/testing/hydrateTestPipelineApp.d.ts.map +1 -0
  438. package/dist/testing/hydrateTestPipelineApp.js +190 -0
  439. package/dist/testing/index.d.ts +6 -3
  440. package/dist/testing/index.d.ts.map +1 -1
  441. package/dist/testing/index.js +4 -1
  442. package/dist/testing/resolveContent.d.ts +16 -0
  443. package/dist/testing/resolveContent.d.ts.map +1 -0
  444. package/dist/testing/resolveContent.js +65 -0
  445. package/dist/testing/testingComponentPackage.d.ts +3 -1
  446. package/dist/testing/testingComponentPackage.d.ts.map +1 -1
  447. package/dist/testing/testingComponentPackage.js +16 -1
  448. package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
  449. package/dist/update/integrateUpdateVdom.js +35 -31
  450. package/dist/update/integrateUpdateVdomPrebuild.js +20 -20
  451. package/dist/validChildren.d.ts.map +1 -1
  452. package/dist/zones/react.d.ts.map +1 -1
  453. package/package.json +20 -18
  454. package/types/helpers.d.ts +11 -2
  455. package/types/jsx/html.d.ts +29 -25
  456. package/types/jsx/jsx.d.ts +8 -8
  457. package/types/modules.d.ts +14 -3
  458. package/types/testing.d.ts +0 -0
  459. package/vendor/babel-core.js +5 -5
  460. package/vendor/babel-parser.js +1 -1
  461. package/vendor/babel-preset-react.js +32 -34
  462. package/vendor/babel-preset-typescript.js +5 -5
  463. package/vendor/chalk-extensions.js +3 -146
  464. package/vendor/chokidar.js +311 -5
  465. package/vendor/chunk-B34JUlnS.js +169 -0
  466. package/vendor/{chunk-Bu8ZRE-c.js → chunk-B9ttgKqg.js} +28 -25
  467. package/vendor/{chunk-D2EnpcLg.js → chunk-BGvapINa.js} +3 -164
  468. package/vendor/{chunk-Cqrj-Zqr.js → chunk-BmAiqUzD.js} +22 -8
  469. package/vendor/{chunk-BiUcnLhT.js → chunk-But4T5N_.js} +8 -3
  470. package/vendor/{chunk-OUnVY4Wm.js → chunk-DuR6SGzI.js} +162 -35
  471. package/vendor/dotenv.js +2 -2
  472. package/vendor/express.js +61 -10
  473. package/vendor/manifest.json +2 -2
  474. package/vendor/postcss.js +1 -1
  475. package/vendor/precinct.js +5914 -3591
  476. package/vendor/valibot.js +418 -504
  477. package/dist/Servers/MatchedRouteInfo.d.ts +0 -11
  478. package/dist/Servers/MatchedRouteInfo.d.ts.map +0 -1
  479. package/dist/routing/__fluentRouteBuilder.d.ts +0 -80
  480. package/dist/routing/__fluentRouteBuilder.d.ts.map +0 -1
  481. package/dist/routing/__fluentRouteBuilder.js +0 -183
  482. package/dist/routing/__fluentRoutes.d.ts +0 -2
  483. package/dist/routing/__fluentRoutes.d.ts.map +0 -1
  484. package/dist/routing/__fluentRoutes.js +0 -59
  485. package/vendor/chunk-Hy-cCmu-.js +0 -23
  486. /package/dist/{Servers → routing}/MatchedRouteInfo.js +0 -0
@@ -2,7 +2,13 @@ import type { ConstructPackage, TungstenBaseComponent, TungstenBaseComponentType
2
2
  import type { TrueStore } from '../Store/makeStore.js';
3
3
  import type { Endpoint, Path } from '../routing/RouteTypes.js';
4
4
  import type { ErrorRouteType } from '../routing/ErrorRouteType.js';
5
+ import type { RoutesArray } from '../routing/routesArray.js';
5
6
  import type { ReqRes } from '../ReqRes.js';
7
+ import type { Context } from '../context/registerContext.js';
8
+ import type { NetworkedData } from '../routing/routingRegistry.js';
9
+ import { Instance } from '../Instance/Instance.js';
10
+ import { type MountedTungstenRoot } from '../update/integrateUpdateVdom.js';
11
+ import { UpdateScheduler } from '../update/UpdateScheduler.js';
6
12
  export type ComponentProps<ComponentType extends TungstenBaseComponentType<any, any>> = InstanceType<ComponentType>['props'];
7
13
  export type TestStoreRegistration<Schema extends object> = {
8
14
  getStore: (stores: TrueStore<unknown>[]) => TrueStore<Schema>;
@@ -22,8 +28,14 @@ export type TestAppOptions<Props extends object> = {
22
28
  routeData?: unknown;
23
29
  globalData?: Record<string, unknown>;
24
30
  stores?: readonly TestStoreOverride<any>[];
25
- routes?: TestRoutes | ((reqRes: ReqRes | null) => TestRoutes);
31
+ routes?: TestRoutes | RoutesArray | TestRoutesFunction;
32
+ fileVersions?: Record<string, string>;
33
+ context?: Context;
34
+ networkedData?: NetworkedData;
26
35
  };
36
+ type TestRoutesFunction = {
37
+ routes(reqRes: ReqRes | null, context: Context): TestRoutes | RoutesArray;
38
+ }['routes'];
27
39
  export type TestRoutes = {
28
40
  [key in Path]: Endpoint<any, any>;
29
41
  } & {
@@ -43,5 +55,17 @@ export type TestApp<Component extends TungstenBaseComponent> = {
43
55
  export type CreateTestAppArgs<Props extends object> = object extends Props ? [options?: TestAppOptions<Props>] : keyof Props extends never ? [options?: TestAppOptions<Props>] : [options: TestAppOptions<Props> & {
44
56
  props: Props;
45
57
  }];
58
+ export declare class TestAppImplementation<Component extends TungstenBaseComponent> implements TestApp<Component> {
59
+ #private;
60
+ readonly document: Document;
61
+ readonly container: HTMLElement;
62
+ readonly component: Component;
63
+ constructor(document: Document, container: HTMLElement, component: Component, instance: Instance, scheduler: UpdateScheduler, root: MountedTungstenRoot<TungstenBaseComponentType<any, any>>, ownsContainer: boolean);
64
+ resolved: () => Promise<void>;
65
+ setProps: (props: Component["props"]) => Promise<void>;
66
+ [Symbol.asyncDispose]: () => Promise<void>;
67
+ unmount: () => Promise<void>;
68
+ }
46
69
  export declare function createTestApp<Props extends TungstenComponentPropsBase, Component extends TungstenBaseComponent<any, any>, RouteData = undefined>(RootComponent: new (pkg: ConstructPackage<Props, RouteData>) => Component, ...args: CreateTestAppArgs<Props>): Promise<TestApp<Component>>;
70
+ export {};
47
71
  //# sourceMappingURL=createTestApp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createTestApp.d.ts","sourceRoot":"","sources":["../../src/testing/createTestApp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createTestApp.d.ts","sourceRoot":"","sources":["../../src/testing/createTestApp.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a),
8
8
  function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
9
9
  import { Instance } from '../Instance/Instance.js';
10
10
  import { initStores } from '../Servers/initStores.js';
11
+ import { toRoutes } from '../routing/routesArray.js';
11
12
  import { createTungstenRootComponent, deleteTungstenRoot } from '../update/integrateUpdateVdom.js';
12
13
  import { UpdateScheduler } from '../update/UpdateScheduler.js';
13
14
  import { waitForEnvIfLoading } from './loadEnv.js';
@@ -22,7 +23,7 @@ var _scheduler = /*#__PURE__*/new WeakMap();
22
23
  var _root = /*#__PURE__*/new WeakMap();
23
24
  var _ownsContainer = /*#__PURE__*/new WeakMap();
24
25
  var _unmounted = /*#__PURE__*/new WeakMap();
25
- class TestAppImplementation {
26
+ export class TestAppImplementation {
26
27
  constructor(document, container, component, instance, scheduler, root, ownsContainer) {
27
28
  _defineProperty(this, "document", void 0);
28
29
  _defineProperty(this, "container", void 0);
@@ -103,6 +104,10 @@ RootComponent, ...args) {
103
104
  }
104
105
  const location = options?.location ?? '/';
105
106
  const globalData = options?.globalData ?? {};
107
+ // made once, as a request makes them: the routes function, the stores and the instance must all
108
+ // see the same objects, which separate `?? {}`s at each use did not give them
109
+ const context = options?.context ?? {};
110
+ const networkedData = options?.networkedData ?? {};
106
111
  const matchedRouteInfo = {
107
112
  key: null,
108
113
  params: options?.routeParams ?? {},
@@ -122,7 +127,7 @@ RootComponent, ...args) {
122
127
  internalStore,
123
128
  stores,
124
129
  storeSubscriptions
125
- } = initStores(location, null, globalData, matchedRouteInfo);
130
+ } = initStores(location, null, globalData, matchedRouteInfo, null, context, networkedData);
126
131
  const instanceConfig = {
127
132
  prod: false,
128
133
  useRootComponent: true,
@@ -134,8 +139,12 @@ RootComponent, ...args) {
134
139
  // routing() falls back to the built-in 404 when neither '404' nor 'default' is given
135
140
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
136
141
  const appRoutes = options?.routes ?? {};
137
- const routes = typeof appRoutes === 'function' ? appRoutes(null) : appRoutes;
142
+ // dev, so a path given twice fails the test
143
+ const routes = toRoutes(typeof appRoutes === 'function' ? appRoutes(null, context, networkedData) : appRoutes, true);
138
144
  const instance = new Instance(location, instanceConfig, null, appRoutes, routes, internalStore, stores, storeSubscriptions, globalData, matchedRouteInfo, runtimeContext);
145
+ instance.fileVersions = options?.fileVersions;
146
+ instance.context = context;
147
+ instance.networkedData = networkedData;
139
148
  try {
140
149
  for (const override of options?.stores ?? []) {
141
150
  const store = override.registration.getStore(instance.stores);
@@ -0,0 +1,25 @@
1
+ import type { ConstructPackage, TungstenBaseComponent, TungstenComponentPropsBase } from '../Components.jsx';
2
+ import type { PipelineApp } from '../pipeline/pipelineDefinition.js';
3
+ import { type TestApp, type TestStoreOverride } from './createTestApp.js';
4
+ export type TestPipelineAppOptions<Props extends object> = {
5
+ document?: Document;
6
+ props?: Props;
7
+ container?: HTMLElement;
8
+ location?: string;
9
+ stores?: readonly TestStoreOverride<any>[];
10
+ fileVersions?: Record<string, string>;
11
+ allRoutesData?: object;
12
+ networked?: object;
13
+ };
14
+ export type TestPipelineApp<Component extends TungstenBaseComponent> = TestApp<Component>;
15
+ export type CreateTestPipelineAppArgs<Props extends object> = object extends Props ? [options?: TestPipelineAppOptions<Props>] : keyof Props extends never ? [options?: TestPipelineAppOptions<Props>] : [options: TestPipelineAppOptions<Props> & {
16
+ props: Props;
17
+ }];
18
+ /**
19
+ * createTestApp() for an app built with pipeline() or splitPipeline(): the app's browser stages
20
+ * run - Init, the all-routes data, Post - and the location is routed against its routes, so the
21
+ * test sees the context, stores and route the app's own page would. The app is a .routes()
22
+ * result: the app's own export, a smaller set of routes on the same pipeline, or another pipeline.
23
+ */
24
+ export declare function createTestPipelineApp<Props extends TungstenComponentPropsBase, Component extends TungstenBaseComponent<any, any>, RouteData = undefined>(app: PipelineApp<any>, RootComponent: new (pkg: ConstructPackage<Props, RouteData>) => Component, ...args: CreateTestPipelineAppArgs<Props>): Promise<TestPipelineApp<Component>>;
25
+ //# sourceMappingURL=createTestPipelineApp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTestPipelineApp.d.ts","sourceRoot":"","sources":["../../src/testing/createTestPipelineApp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,gBAAgB,EAAE,qBAAqB,EAAE,0BAA0B,EACtE,MAAM,mBAAmB,CAAA;AAM1B,OAAO,KAAK,EAAa,WAAW,EAAgB,MAAM,mCAAmC,CAAA;AAa7F,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,iBAAiB,EAAyB,MAAM,oBAAoB,CAAA;AAIhG,MAAM,MAAM,sBAAsB,CAAC,KAAK,SAAS,MAAM,IAAI;IACvD,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,SAAS,CAAC,EAAE,WAAW,CAAA;IAEvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAA;IAE1C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAErC,aAAa,CAAC,EAAE,MAAM,CAAA;IAGtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,qBAAqB,IAAI,OAAO,CAAC,SAAS,CAAC,CAAA;AAEzF,MAAM,MAAM,yBAAyB,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,KAAK,GAC5E,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,GACzC,MAAM,KAAK,SAAS,KAAK,GACrB,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,GACzC,CAAC,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAAA;AAoDrE;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACvC,KAAK,SAAS,0BAA0B,EACxC,SAAS,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,EACjD,SAAS,GAAG,SAAS,EAErB,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,EAErB,aAAa,EAAE,KAAK,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,SAAS,EACzE,GAAG,IAAI,EAAE,yBAAyB,CAAC,KAAK,CAAC,GAC1C,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CA+HrC"}
@@ -0,0 +1,153 @@
1
+ import { clientRoute } from '../pipeline/pipelineDefinition.js';
2
+ import { Instance } from '../Instance/Instance.js';
3
+ import { JSONstringify } from '../json.js';
4
+ import { initStores } from '../Servers/initStores.js';
5
+ import { routing } from "../Servers/routing.js";
6
+ import { fromTransport, NetworkedTransport } from '../pipeline/networkedTransport.js';
7
+ import { afterRoutingFor, pipelineContext, pipelineRoutes, routingContext, routingNetworkedData } from '../pipeline/runPipeline.js';
8
+ import { splitContext } from '../pipeline/runSplitPipeline.js';
9
+ import { createTungstenRootComponent } from '../update/integrateUpdateVdom.js';
10
+ import { UpdateScheduler } from '../update/UpdateScheduler.js';
11
+ import { TestAppImplementation } from './createTestApp.js';
12
+ import { waitForEnvIfLoading } from './loadEnv.js';
13
+ // the symmetric pipeline's stages, with null for the request
14
+ async function runSymmetric(app, allRoutesData) {
15
+ const init = await app.init?.(null, undefined);
16
+ const data = allRoutesData ?? (await app.allRoutesData?.(null, init)) ?? {};
17
+ const post = await app.post?.(null, init, data);
18
+ const rerun = app.allRoutesData;
19
+ return {
20
+ init,
21
+ context: pipelineContext(init, post),
22
+ routingContext: init,
23
+ routingNetworkedData: undefined,
24
+ networked: {},
25
+ allRoutesData: data,
26
+ rerunAllRoutesData: rerun && (async () => rerun(null, init)),
27
+ afterRouting: undefined
28
+ };
29
+ }
30
+ async function runSplit(app, allRoutesData, served) {
31
+ const page = JSON.parse(JSONstringify(new NetworkedTransport(served))); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- toJSON gives an object
32
+ const networked = fromTransport(page) ?? {};
33
+ const init = await app.clientInit?.(networked);
34
+ const data = allRoutesData ?? (await app.clientAllRoutesData?.(init)) ?? {};
35
+ const post = await app.clientPost?.(init, data);
36
+ const context = splitContext(init, post);
37
+ const rerun = app.clientAllRoutesData;
38
+ const afterRouting = app.clientAfterRouting;
39
+ return {
40
+ init,
41
+ context,
42
+ routingContext: init?.context,
43
+ routingNetworkedData: init?.networked,
44
+ networked,
45
+ allRoutesData: data,
46
+ rerunAllRoutesData: rerun && (async () => rerun(init)),
47
+ afterRouting: afterRouting && (async (route, allRoutes) => splitContext(await afterRouting(context, route, allRoutes), undefined))
48
+ };
49
+ }
50
+ /**
51
+ * createTestApp() for an app built with pipeline() or splitPipeline(): the app's browser stages
52
+ * run - Init, the all-routes data, Post - and the location is routed against its routes, so the
53
+ * test sees the context, stores and route the app's own page would. The app is a .routes()
54
+ * result: the app's own export, a smaller set of routes on the same pipeline, or another pipeline.
55
+ */
56
+ export async function createTestPipelineApp(app,
57
+ // Props is inferred from both the class and `props`, so literal props are typed by the component
58
+ RootComponent, ...args) {
59
+ await waitForEnvIfLoading();
60
+ const options = args[0];
61
+ const suppliedDocument = options?.document ?? globalThis.document;
62
+ if (suppliedDocument === undefined) {
63
+ // eslint-disable-line @typescript-eslint/no-unnecessary-condition
64
+ throw new Error('createTestPipelineApp() requires options.document when no global document is' + ' available.');
65
+ }
66
+ const document = suppliedDocument;
67
+ const ownsContainer = options?.container === undefined;
68
+ const container = options?.container ?? document.createElement('div');
69
+ if (container.ownerDocument !== document) {
70
+ throw new Error('The TestApp container must belong to options.document.');
71
+ }
72
+ if (container.childNodes.length > 0) {
73
+ throw new Error('The TestApp container must be empty before mounting.');
74
+ }
75
+ const stages = app.split === true ? await runSplit(app, options?.allRoutesData, options?.networked ?? {}) : await runSymmetric(app, options?.allRoutesData);
76
+ const location = options?.location ?? '/';
77
+ const allRoutesData = stages.allRoutesData; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- the framework brands what it builds
78
+ const routeContext = routingContext(stages.routingContext);
79
+ const networkedData = routingNetworkedData(stages.routingNetworkedData);
80
+ // dev, so a path given twice fails the test
81
+ const routes = pipelineRoutes(app, null, stages.init, true);
82
+ const matchedRouteInfo = await routing(location, routes, routeContext, networkedData);
83
+ const afterRouting = afterRoutingFor(stages.afterRouting);
84
+ const context = afterRouting === undefined ? stages.context // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- as above
85
+ : await afterRouting(clientRoute(matchedRouteInfo, location), allRoutesData);
86
+ if (ownsContainer) {
87
+ if (document.body === null) {
88
+ // eslint-disable-line @typescript-eslint/no-unnecessary-condition
89
+ throw new Error('The supplied document must have a body element.');
90
+ }
91
+ document.body.appendChild(container);
92
+ }
93
+ const scheduler = new UpdateScheduler();
94
+ const runtimeContext = {
95
+ document,
96
+ window: document.defaultView,
97
+ scheduler,
98
+ navigation: false
99
+ };
100
+ const {
101
+ internalStore,
102
+ stores,
103
+ storeSubscriptions
104
+ } = initStores(location, null, allRoutesData, matchedRouteInfo, null, context, networkedData);
105
+ const instanceConfig = {
106
+ prod: false,
107
+ useRootComponent: true,
108
+ clientSideNav: true,
109
+ siteBasePath: '/',
110
+ staticSite: false,
111
+ csr: false
112
+ };
113
+ const appRoutes = reqRes => pipelineRoutes(app, reqRes, stages.init, true);
114
+ const instance = new Instance(location, instanceConfig, null, appRoutes, routes, internalStore, stores, storeSubscriptions, allRoutesData, matchedRouteInfo, runtimeContext);
115
+ instance.fileVersions = options?.fileVersions;
116
+ instance.context = context;
117
+ instance.networkedData = networkedData;
118
+ instance.pipelineNetworked = stages.networked;
119
+ const rerun = stages.rerunAllRoutesData;
120
+ instance.pipeline = {
121
+ routingContext: routeContext,
122
+ routingNetworkedData: networkedData,
123
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- as above
124
+ allRoutesData: rerun && (async () => await rerun()),
125
+ afterRouting
126
+ };
127
+ try {
128
+ for (const override of options?.stores ?? []) {
129
+ const store = override.registration.getStore(instance.stores);
130
+ await override.initialize(store);
131
+ }
132
+ const props = options?.props ?? {};
133
+ const root = await createTungstenRootComponent(RootComponent, props, matchedRouteInfo.params, matchedRouteInfo.data, instance, container);
134
+ const testApp = new TestAppImplementation(document, container, root.component, instance, scheduler, root, ownsContainer);
135
+ try {
136
+ await testApp.resolved();
137
+ return testApp;
138
+ } catch (error) {
139
+ await testApp.unmount();
140
+ throw error;
141
+ }
142
+ } catch (error) {
143
+ try {
144
+ instance.disposeRegisteredComponents();
145
+ } catch {
146
+ // Preserve the mount failure.
147
+ }
148
+ scheduler.dispose();
149
+ while (container.firstChild !== null) container.removeChild(container.firstChild);
150
+ if (ownsContainer) container.remove();
151
+ throw error;
152
+ }
153
+ }
@@ -0,0 +1,108 @@
1
+ import type { ContentNode } from '../ContentNode.js';
2
+ type Kind = 'text' | 'interruptedText' | ElementKind | 'fragment' | 'className' | 'id' | 'children' | `prop:${string}`;
3
+ type ElementKind = `html:${string}` | `component:${string}`;
4
+ type Test = (seen: unknown) => boolean;
5
+ type Failure = {
6
+ actual: unknown;
7
+ expected: unknown;
8
+ saw: string;
9
+ showDiff: boolean;
10
+ };
11
+ type TrackFn = (match: boolean) => boolean | void;
12
+ type DecideFn = (ofKind: number) => Failure | undefined;
13
+ type Requirement = () => [track: TrackFn, decide: DecideFn];
14
+ type Fact = [
15
+ Kind,
16
+ Test,
17
+ Requirement,
18
+ quantifier: string,
19
+ end: string,
20
+ spoken: string,
21
+ explain?: Explain | undefined
22
+ ];
23
+ type Explain = (seen: unknown) => Outcome | undefined;
24
+ type Outcome = 'not content' | {
25
+ misses: Miss[];
26
+ met: BuiltFact[];
27
+ score: number;
28
+ };
29
+ type Miss = {
30
+ fact: BuiltFact;
31
+ failure: Failure;
32
+ sightings: Sighting[];
33
+ };
34
+ export type EnsureOptions = {
35
+ readable?: boolean;
36
+ color?: boolean;
37
+ };
38
+ type Props = Record<string, unknown> & {
39
+ children?: ContentNode;
40
+ };
41
+ type WithFn = (props: Props) => boolean;
42
+ type Quantifiers = {
43
+ readonly no: Ends;
44
+ readonly none: Ends;
45
+ readonly one: Ends;
46
+ readonly two: Ends;
47
+ readonly three: Ends;
48
+ readonly count: (num: number) => Ends;
49
+ readonly a: Ends;
50
+ readonly an: Ends;
51
+ readonly some: Ends;
52
+ readonly all: Ends;
53
+ };
54
+ type StringEnd = ((text: string) => Fact) & {
55
+ contains: (substring: string) => Fact;
56
+ matches: (regex: RegExp) => Fact;
57
+ };
58
+ type ElementEnd = Fact & {
59
+ with: ((facts: Fact[] | WithFn) => Fact) & Quantifiers & {
60
+ children: ((facts: Fact[]) => Fact) & Quantifiers;
61
+ };
62
+ };
63
+ type Ends = {
64
+ text: StringEnd;
65
+ textCi: StringEnd;
66
+ interruptedText: StringEnd;
67
+ html: (tag: string) => ElementEnd;
68
+ component: (name: string) => ElementEnd;
69
+ fragment: () => Fact;
70
+ className: (className?: string) => Fact;
71
+ id: (id?: string) => Fact;
72
+ prop: (prop: string) => Fact & {
73
+ is: (value: unknown) => Fact;
74
+ contains: (substring: string) => Fact;
75
+ matches: (regex: RegExp) => Fact;
76
+ exact: (value: unknown) => Fact;
77
+ subset: (shape: unknown) => Fact;
78
+ duck: (shape: unknown) => Fact;
79
+ content: () => Fact & {
80
+ with: ((facts: Fact[]) => Fact) & Quantifiers;
81
+ };
82
+ };
83
+ };
84
+ declare const _ensure: typeof ensure & Quantifiers;
85
+ export { _ensure as ensure };
86
+ export declare const no: Ends, none: Ends, one: Ends, two: Ends, three: Ends, a: Ends, an: Ends, some: Ends, all: Ends, count: (num: number) => Ends;
87
+ export declare class EnsureError extends Error {
88
+ actual: unknown;
89
+ expected: unknown;
90
+ operator: string;
91
+ showDiff: boolean;
92
+ name: string;
93
+ constructor(message: string, actual: unknown, expected: unknown, operator: string, showDiff: boolean);
94
+ }
95
+ declare function ensure(tree: ContentNode, facts: Fact[], options?: EnsureOptions): void;
96
+ export declare const children: ((facts: Fact[]) => Fact) & Quantifiers;
97
+ type BuiltFact = {
98
+ kind: Kind;
99
+ test: Test;
100
+ track: TrackFn;
101
+ decide: DecideFn;
102
+ explain: Explain | undefined;
103
+ chained: string;
104
+ spoken: string;
105
+ operator: string;
106
+ };
107
+ type Sighting = ['text', string] | [Exclude<Kind, 'text'>, unknown];
108
+ //# sourceMappingURL=ensure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../../src/testing/ensure.ts"],"names":[],"mappings":"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"}