@xmachines/docs 1.0.0-beta.46 → 1.0.0-beta.50

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 (347) hide show
  1. package/README.md +135 -7
  2. package/api/@xmachines/play/README.md +134 -57
  3. package/api/@xmachines/play/classes/NonNullableError.md +4 -4
  4. package/api/@xmachines/play/classes/PlayError.md +4 -4
  5. package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
  6. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  7. package/api/@xmachines/play-actor/README.md +130 -155
  8. package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
  9. package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
  10. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +5 -5
  11. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +5 -5
  12. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
  13. package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
  14. package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
  15. package/api/@xmachines/play-dom/README.md +140 -232
  16. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  17. package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
  18. package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
  19. package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
  20. package/api/@xmachines/play-dom/functions/defineRegistry.md +1 -1
  21. package/api/@xmachines/play-dom/functions/renderSpec.md +3 -3
  22. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +7 -7
  23. package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +13 -13
  24. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +6 -6
  25. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +4 -4
  26. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +12 -12
  27. package/api/@xmachines/play-dom/interfaces/EventHandle.md +4 -4
  28. package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
  29. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +5 -5
  30. package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +5 -5
  31. package/api/@xmachines/play-dom/type-aliases/ActionFn.md +1 -1
  32. package/api/@xmachines/play-dom/type-aliases/Actions.md +1 -1
  33. package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +7 -7
  34. package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +1 -1
  35. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +1 -1
  36. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +1 -1
  37. package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +2 -2
  38. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -1
  39. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -1
  40. package/api/@xmachines/play-dom/type-aliases/DomSchema.md +1 -1
  41. package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
  42. package/api/@xmachines/play-dom/type-aliases/SetState.md +1 -1
  43. package/api/@xmachines/play-dom/variables/schema.md +1 -1
  44. package/api/@xmachines/play-dom-router/README.md +160 -158
  45. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  46. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  47. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
  48. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  49. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
  50. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  51. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
  52. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +6 -6
  53. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  54. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
  55. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +2 -2
  56. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  57. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  58. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
  59. package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +1 -1
  60. package/api/@xmachines/play-react/README.md +109 -320
  61. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
  62. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  63. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  64. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  65. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +8 -8
  66. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  67. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  68. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +8 -8
  69. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
  70. package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
  71. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  72. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  73. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  74. package/api/@xmachines/play-react-router/README.md +107 -124
  75. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +23 -23
  76. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  77. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
  78. package/api/@xmachines/play-react-router/functions/createRouteMap.md +1 -1
  79. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  80. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
  81. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  82. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +2 -2
  83. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  84. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  85. package/api/@xmachines/play-router/README.md +235 -475
  86. package/api/@xmachines/play-router/classes/RouteMap.md +4 -4
  87. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +23 -23
  88. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  89. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  90. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  91. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
  92. package/api/@xmachines/play-router/functions/createRouteMatcher.md +1 -1
  93. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  94. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  95. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  96. package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
  97. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  98. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  99. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  100. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  101. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  102. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  103. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  104. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  105. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  106. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  107. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  108. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  109. package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
  110. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  111. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  112. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +6 -6
  113. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  114. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +2 -2
  115. package/api/@xmachines/play-router/interfaces/RouteMapping.md +3 -3
  116. package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
  117. package/api/@xmachines/play-router/interfaces/RouteMatcher.md +4 -4
  118. package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
  119. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  120. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  121. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  122. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  123. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  124. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  125. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  126. package/api/@xmachines/play-signals/README.md +105 -73
  127. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  128. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  129. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  130. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  131. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  132. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  133. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  134. package/api/@xmachines/play-solid/README.md +117 -263
  135. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  136. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  137. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +8 -8
  138. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +8 -8
  139. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +5 -5
  140. package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
  141. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  142. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  143. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  144. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  145. package/api/@xmachines/play-solid-router/README.md +93 -606
  146. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  147. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +24 -24
  148. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
  149. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
  150. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
  151. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
  152. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  153. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +2 -2
  154. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  155. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  156. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  157. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  158. package/api/@xmachines/play-svelte/README.md +111 -103
  159. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  160. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  161. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  162. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  163. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +8 -8
  164. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
  165. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +11 -11
  166. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
  167. package/api/@xmachines/play-svelte/type-aliases/PlayActor.md +1 -1
  168. package/api/@xmachines/play-svelte-spa-router/README.md +156 -17
  169. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  170. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  171. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
  172. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +4 -4
  173. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +6 -6
  174. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +2 -2
  175. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  176. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  177. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  178. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  179. package/api/@xmachines/play-sveltekit-router/README.md +168 -17
  180. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  181. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  182. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
  183. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
  184. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  185. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +6 -6
  186. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +2 -2
  187. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  188. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  189. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  190. package/api/@xmachines/play-tanstack-react-router/README.md +147 -122
  191. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  192. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +23 -23
  193. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  194. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  195. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  196. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  197. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
  198. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  199. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +2 -2
  200. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  201. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  202. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  203. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  204. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +4 -4
  205. package/api/@xmachines/play-tanstack-solid-router/README.md +195 -173
  206. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  207. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +24 -24
  208. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  209. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
  210. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
  211. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  212. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +2 -2
  213. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  214. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  215. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  216. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  217. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +3 -3
  218. package/api/@xmachines/play-vue/README.md +126 -271
  219. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  220. package/api/@xmachines/play-vue/functions/getPlayViewContext.md +1 -1
  221. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  222. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +5 -5
  223. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +8 -8
  224. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
  225. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +1 -1
  226. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  227. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  228. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  229. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  230. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  231. package/api/@xmachines/play-vue-router/README.md +148 -528
  232. package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
  233. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +24 -24
  234. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  235. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
  236. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +2 -2
  237. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
  238. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  239. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  240. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  241. package/api/@xmachines/play-xstate/README.md +167 -496
  242. package/api/@xmachines/play-xstate/classes/PlayerActor.md +12 -12
  243. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  244. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  245. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  246. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  247. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  248. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  249. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  250. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  251. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  252. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  253. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  254. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  255. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  256. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  257. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  258. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  259. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  260. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  261. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  262. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  263. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  264. package/api/@xmachines/shared/README.md +81 -294
  265. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  266. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  267. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  268. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  269. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  270. package/contributing/README.md +10 -0
  271. package/contributing/configuration.md +540 -0
  272. package/contributing/deployment.md +314 -0
  273. package/contributing/development.md +617 -0
  274. package/contributing/testing.md +460 -0
  275. package/examples/@xmachines/play-dom-demo/README.md +3 -3
  276. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
  277. package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
  278. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  279. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  280. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  281. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  282. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  283. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  284. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
  285. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  286. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  287. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  288. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  289. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  290. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  291. package/examples/@xmachines/play-dom-router-demo/README.md +2 -2
  292. package/examples/@xmachines/play-react-demo/README.md +1 -1
  293. package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
  294. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  295. package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
  296. package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
  297. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
  298. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
  299. package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
  300. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  301. package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
  302. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
  303. package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
  304. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  305. package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
  306. package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
  307. package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
  308. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  309. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  310. package/examples/@xmachines/play-react-router-demo/README.md +1 -1
  311. package/examples/@xmachines/play-solid-demo/README.md +1 -1
  312. package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
  313. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  314. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  315. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  316. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  317. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
  318. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  319. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  320. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  321. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
  322. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  323. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  324. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  325. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  326. package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
  327. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  328. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  329. package/examples/@xmachines/play-svelte-demo/README.md +1 -1
  330. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
  331. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
  332. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +2 -2
  333. package/examples/@xmachines/play-sveltekit-router-demo/README.md +2 -2
  334. package/examples/@xmachines/play-vue-demo/README.md +1 -1
  335. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
  336. package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
  337. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +1 -1
  338. package/examples/README.md +24 -25
  339. package/examples/form-validation.md +2 -2
  340. package/guides/README.md +11 -7
  341. package/guides/actor-model.md +18 -18
  342. package/guides/architecture.md +500 -0
  343. package/guides/getting-started.md +351 -142
  344. package/guides/signals.md +19 -19
  345. package/guides/state-machines.md +16 -16
  346. package/package.json +7 -5
  347. package/guides/installation.md +0 -257
@@ -0,0 +1,314 @@
1
+ <!-- generated-by: gsd-doc-writer -->
2
+
3
+ # Deployment
4
+
5
+ This document describes how `@xmachines/xmachines-js` packages are built, versioned, and published to npm. All releases are automated through [semantic-release](https://semantic-release.gitbook.io/) running inside a GitLab CI pipeline. No manual `npm publish` commands are required for normal releases.
6
+
7
+ ---
8
+
9
+ ## Deployment Targets
10
+
11
+ All `@xmachines/*` packages are published to the **public npm registry** (`registry.npmjs.org`). Every package uses `"publishConfig": { "access": "public" }` so scoped packages are accessible without an npm org subscription. See the [Published Packages](#published-packages) table for the full list.
12
+
13
+ | Target | Config File | Purpose |
14
+ | --------------- | ---------------------------------------------------------------------- | ------------------------------------------------------ |
15
+ | npm registry | `.releaserc.json` (per-package `@semantic-release/npm` plugin entries) | Publish all public packages |
16
+ | GitLab Releases | `.releaserc.json` (`@semantic-release/gitlab` plugin) | Attach tarball artifacts to the GitLab release tag |
17
+ | GitLab CI | `.gitlab-ci.yml` | Trigger builds, tests, and releases on push / MR / tag |
18
+
19
+ The root `package.json` is marked `"private": true` and is **never published** to npm.
20
+
21
+ ---
22
+
23
+ ## Published Packages
24
+
25
+ The following packages are published on every release (derived from `.releaserc.json`):
26
+
27
+ | Package | Directory |
28
+ | ------------------------------------------------------------------------------------------------- | ------------------------------------- |
29
+ | [`@xmachines/shared`](../api/@xmachines/shared/README.md) | `packages/shared` |
30
+ | [`@xmachines/play`](../api/@xmachines/play/README.md) | `packages/play` |
31
+ | [`@xmachines/play-actor`](../api/@xmachines/play-actor/README.md) | `packages/play-actor` |
32
+ | [`@xmachines/play-signals`](../api/@xmachines/play-signals/README.md) | `packages/play-signals` |
33
+ | [`@xmachines/play-router`](../api/@xmachines/play-router/README.md) | `packages/play-router` |
34
+ | [`@xmachines/play-dom`](../api/@xmachines/play-dom/README.md) | `packages/play-dom` |
35
+ | [`@xmachines/play-dom-router`](../api/@xmachines/play-dom-router/README.md) | `packages/play-dom-router` |
36
+ | [`@xmachines/play-react`](../api/@xmachines/play-react/README.md) | `packages/play-react` |
37
+ | [`@xmachines/play-react-router`](../api/@xmachines/play-react-router/README.md) | `packages/play-react-router` |
38
+ | [`@xmachines/play-solid`](../api/@xmachines/play-solid/README.md) | `packages/play-solid` |
39
+ | [`@xmachines/play-solid-router`](../api/@xmachines/play-solid-router/README.md) | `packages/play-solid-router` |
40
+ | [`@xmachines/play-svelte`](../api/@xmachines/play-svelte/README.md) | `packages/play-svelte` |
41
+ | [`@xmachines/play-sveltekit-router`](../api/@xmachines/play-sveltekit-router/README.md) | `packages/play-sveltekit-router` |
42
+ | [`@xmachines/play-svelte-spa-router`](../api/@xmachines/play-svelte-spa-router/README.md) | `packages/play-svelte-spa-router` |
43
+ | [`@xmachines/play-tanstack-react-router`](../api/@xmachines/play-tanstack-react-router/README.md) | `packages/play-tanstack-react-router` |
44
+ | [`@xmachines/play-tanstack-solid-router`](../api/@xmachines/play-tanstack-solid-router/README.md) | `packages/play-tanstack-solid-router` |
45
+ | [`@xmachines/play-vue`](../api/@xmachines/play-vue/README.md) | `packages/play-vue` |
46
+ | [`@xmachines/play-vue-router`](../api/@xmachines/play-vue-router/README.md) | `packages/play-vue-router` |
47
+ | [`@xmachines/play-xstate`](../api/@xmachines/play-xstate/README.md) | `packages/play-xstate` |
48
+ | [`@xmachines/docs`](../README.md) | `packages/docs` |
49
+
50
+ **Example demo packages** (under `packages/*/examples/demo`) are **not published** to npm (`"npmPublish": false`) but are still packed into release tarballs and attached as GitLab release assets for testing.
51
+
52
+ Each published package includes only the directories listed in its `files` field: `dist`, `README.md`, and `LICENSE` (or equivalent for packages without a compilation step).
53
+
54
+ ---
55
+
56
+ ## Build Pipeline
57
+
58
+ ### CI Pipeline Stages
59
+
60
+ Pipeline runs are triggered by `.gitlab-ci.yml` under the following conditions:
61
+
62
+ | Trigger | Pipeline runs |
63
+ | --------------------------------------------- | --------------------------------------------- |
64
+ | Push to `main` / `master` / `beta` / `pre/rc` | Full pipeline including release |
65
+ | Merge request | Full pipeline (release job skipped or manual) |
66
+ | Tag push (`$CI_COMMIT_TAG`) | Full pipeline |
67
+
68
+ The pipeline includes two reusable CI components:
69
+
70
+ - **`to-be-continuous/node/gitlab-ci-node@5.1.2`** — handles install, lint, build, test, and audit
71
+ - **`to-be-continuous/semantic-release/gitlab-ci-semrel@4.1.0`** — runs `semantic-release` on eligible branches
72
+
73
+ The `node-build` job runs with:
74
+
75
+ ```bash
76
+ npm run build # tsc --build (TypeScript composite build)
77
+ npm test:coverage # vitest run --coverage (with JUnit + Cobertura reporters)
78
+ ```
79
+
80
+ Coverage is extracted from the `node-build` job via the regex:
81
+
82
+ ```
83
+ /All files[^|]*\|[^|]*\s+([\d\.]+)/
84
+ ```
85
+
86
+ JUnit results are published as `reports/junit.xml` and Cobertura coverage as `reports/coverage/cobertura-coverage.xml`.
87
+
88
+ ### Release Job Detail
89
+
90
+ The `semantic-release` CI job is configured with:
91
+
92
+ ```yaml
93
+ semantic-release:
94
+ id_tokens:
95
+ NPM_ID_TOKEN:
96
+ aud: "npm:registry.npmjs.org"
97
+ artifacts:
98
+ when: always
99
+ expire_in: 1 week
100
+ paths:
101
+ - dist/releases/*.tgz
102
+ ```
103
+
104
+ The job uses a GitLab OIDC id token (`NPM_ID_TOKEN`) scoped to `npm:registry.npmjs.org` rather than a static `NPM_TOKEN`. <!-- VERIFY: Confirm the GitLab project is configured with an npm OIDC provider/trust policy that accepts this token audience for the @xmachines npm org -->
105
+
106
+ The `semantic-release` command is called with `--no-ci` to allow it to run inside CI without triggering its own CI-environment mode.
107
+
108
+ ### Release Smoke Test Job
109
+
110
+ The `release-pack-smoke` job is defined in `.gitlab-ci.yml` and runs on the same trigger rules as other CI jobs (automatically on `main` pushes and tags, manually on MRs):
111
+
112
+ ```bash
113
+ npm run build
114
+ node scripts/release-pack-smoke.mjs
115
+ ```
116
+
117
+ `scripts/release-pack-smoke.mjs`:
118
+
119
+ 1. Reads `.releaserc.json` to find all `@semantic-release/npm` plugin entries where `npmPublish` is not `false`.
120
+ 2. For each publishable package: runs `npm pack --json` in the package directory.
121
+ 3. Creates a temporary directory, runs `npm init -y`, and installs the local tarball with `--ignore-scripts`.
122
+ 4. Asserts the install succeeds — any missing files, broken exports, or pack-time errors surface here.
123
+ 5. Cleans up temp directories and tarballs after each check.
124
+
125
+ This smoke test runs **before** the actual publish so packaging problems are caught in CI rather than on npm.
126
+
127
+ ---
128
+
129
+ ## Semantic Release Process
130
+
131
+ ### Branch Model
132
+
133
+ Releases are driven by commit history on protected branches:
134
+
135
+ | Branch | Channel | Tag format | Behaviour |
136
+ | -------- | ---------------- | --------------- | ----------------------------- |
137
+ | `main` | stable (default) | `v1.2.3` | Full production release |
138
+ | `beta` | `beta` | `v1.2.3-beta.N` | Beta pre-release |
139
+ | `pre/rc` | `pre/rc` | `v1.2.3-rc.N` | Release candidate pre-release |
140
+
141
+ Tag format is `v${version}` (e.g., `v1.0.0-beta.46`).
142
+
143
+ ### Prepare Phase
144
+
145
+ Before any package is published, semantic-release runs the `prepareCmd` from `.releaserc.json`:
146
+
147
+ ```bash
148
+ npm install --prefix . @npmcli/arborist
149
+ npm run apply-patches
150
+ node scripts/set-workspace-versions.mjs ${nextRelease.version}
151
+ npm run build
152
+ npm run typedoc -w @xmachines/docs -- --gitRevision v${nextRelease.version}
153
+ npm run format -w @xmachines/docs
154
+ ```
155
+
156
+ Step by step:
157
+
158
+ 1. **Install Arborist** — ensures the workspace introspection tool is available.
159
+ 2. **Apply patches** — runs `patch-package` to apply any patches in the `patches/` directory.
160
+ 3. **Sync versions** — `scripts/set-workspace-versions.mjs` sets the same release version across every `package.json` in the workspace (root + all packages), including cross-package workspace dependency ranges.
161
+ 4. **Build** — runs `tsc --build` to produce compiled `dist/` output in all packages.
162
+ 5. **Generate API docs** — runs TypeDoc to regenerate `packages/docs/api/` at the release git revision.
163
+ 6. **Format docs** — runs `oxfmt` on the docs package to ensure consistent formatting.
164
+
165
+ ### Publish Phase
166
+
167
+ Each publishable package is published in sequence via individual `@semantic-release/npm` plugin entries. Each entry specifies:
168
+
169
+ - `pkgRoot` — the package directory relative to the workspace root
170
+ - `tarballDir` — `dist/releases/` where the packed `.tgz` is saved
171
+
172
+ Example (from `.releaserc.json`):
173
+
174
+ ```json
175
+ ["@semantic-release/npm", { "pkgRoot": "packages/play", "tarballDir": "dist/releases" }]
176
+ ```
177
+
178
+ ### Post-Release Phase
179
+
180
+ After all packages are published:
181
+
182
+ 1. **`@semantic-release/git`** commits updated files back to the repository:
183
+ - `CHANGELOG.md`
184
+ - `package.json` and `package-lock.json` (root)
185
+ - `packages/*/{package.json,examples/*/package.json}` (all workspace packages)
186
+ - `packages/docs/api/**` (generated API documentation)
187
+
188
+ Commit message format:
189
+
190
+ ```
191
+ chore(release): <version>
192
+
193
+ <release notes>
194
+
195
+ [skip ci]
196
+ ```
197
+
198
+ 2. **`@semantic-release/gitlab`** creates a GitLab Release entry attached to the version tag, with all `dist/releases/*.tgz` tarballs as downloadable assets labelled "Release tarballs".
199
+
200
+ 3. **`@semantic-release/changelog`** updates `CHANGELOG.md` with generated release notes.
201
+
202
+ ---
203
+
204
+ ## Version Synchronisation
205
+
206
+ All packages in the monorepo share a **single version** at all times. This is enforced during release by `scripts/set-workspace-versions.mjs`, which:
207
+
208
+ - Sets `version` in every workspace `package.json` (including the root) to the new release version.
209
+ - Rewrites `dependencies`, `devDependencies`, `peerDependencies`, and `optionalDependencies` ranges for any `@xmachines/*` workspace package to the exact new version (no `^` or `~` prefix — a strict pinned version is written).
210
+
211
+ This means packages always depend on the exact same version of sibling packages that was released together.
212
+
213
+ ---
214
+
215
+ ## Credentials and Protected Variables
216
+
217
+ | Variable | Source | Purpose |
218
+ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
219
+ | `NPM_ID_TOKEN` | GitLab CI OIDC (auto-generated per job) | Authenticates `semantic-release` to npm registry via OIDC token exchange |
220
+ | `GL_TOKEN` / `GITLAB_TOKEN` | <!-- VERIFY: Confirm variable name used by `@semantic-release/gitlab` plugin in CI project settings --> GitLab CI protected variable | Authenticates `@semantic-release/gitlab` for release creation and git push back |
221
+ | `CI_JOB_TOKEN` | GitLab CI built-in | Used by the `to-be-continuous` components for GitLab API calls <!-- VERIFY: Confirm which CI component uses CI_JOB_TOKEN vs GL_TOKEN --> |
222
+
223
+ **No static npm token is committed to the repository.** The `NPM_ID_TOKEN` is a short-lived OIDC token generated for each CI job with audience `npm:registry.npmjs.org`. <!-- VERIFY: Confirm the npm organization (`@xmachines`) has an OIDC provider configured at registry.npmjs.org to trust the GitLab issuer -->
224
+
225
+ To publish packages, a maintainer must:
226
+
227
+ 1. Have push access to a release-eligible branch (`main`, `beta`, `pre/rc`).
228
+ 2. Ensure the GitLab project CI/CD variables include the required tokens. <!-- VERIFY: List the exact variable names configured in the GitLab project's CI/CD settings -->
229
+
230
+ ---
231
+
232
+ ## Artifacts
233
+
234
+ Release tarballs are stored as GitLab CI artifacts for **1 week** after each pipeline:
235
+
236
+ ```
237
+ dist/releases/*.tgz
238
+ ```
239
+
240
+ The same tarballs are attached to the GitLab Release entry as permanent downloadable assets. Tarballs are **not committed** to git (the `dist/` directory is gitignored).
241
+
242
+ The API documentation (`packages/docs/api/`) **is committed** to git by the post-release git commit and is the only generated artifact tracked in version control.
243
+
244
+ ---
245
+
246
+ ## Rollback Procedure
247
+
248
+ There is no automated rollback mechanism. To revert a release:
249
+
250
+ 1. **npm deprecate** (preferred) — deprecate the bad version on npm so it is hidden from installs:
251
+
252
+ ```bash
253
+ npm deprecate @xmachines/play@<bad-version> "Deprecated: use <good-version>"
254
+ ```
255
+
256
+ Repeat for each affected package.
257
+
258
+ 2. **npm unpublish** — unpublish the bad version if it was published within 72 hours and no dependents exist:
259
+
260
+ ```bash
261
+ npm unpublish @xmachines/play@<bad-version>
262
+ ```
263
+
264
+ <!-- VERIFY: Confirm npm unpublish is allowed for the @xmachines org — unpublish is blocked after 72 hours or if the package has dependents -->
265
+
266
+ 3. **Patch release** — push a `fix:` commit to `main` (or the relevant branch) to trigger a patch version release via semantic-release. This is the preferred long-term approach for production issues.
267
+
268
+ 4. **GitLab Release** — delete or edit the GitLab Release entry via the GitLab UI or API to remove broken tarballs. This does not affect what is on npm. <!-- VERIFY: Confirm maintainer has "Maintainer" or "Owner" role in the GitLab project to delete releases -->
269
+
270
+ ---
271
+
272
+ ## Local Release Dry-Run (Manual)
273
+
274
+ To preview what semantic-release would do without publishing:
275
+
276
+ ```bash
277
+ # Install dependencies first
278
+ npm ci
279
+
280
+ # Run semantic-release in dry-run mode
281
+ npx semantic-release --dry-run --no-ci
282
+ ```
283
+
284
+ To test package packaging locally (the same check run by `release-pack-smoke` in CI):
285
+
286
+ ```bash
287
+ npm run build
288
+ node scripts/release-pack-smoke.mjs
289
+ ```
290
+
291
+ This packs every publishable package, installs each tarball in a temporary project, and verifies the install succeeds.
292
+
293
+ To manually version and pack a single package for local inspection:
294
+
295
+ ```bash
296
+ # From the repo root
297
+ npm run build -w packages/play
298
+ npm pack --workspaces --workspace=packages/play
299
+ ```
300
+
301
+ **Do not run `npm publish` manually.** All publishing must go through semantic-release in CI to keep `CHANGELOG.md`, git tags, and npm versions in sync.
302
+
303
+ ---
304
+
305
+ ## Monitoring
306
+
307
+ The project does not include application runtime monitoring (no Sentry, Datadog, or OpenTelemetry) — it is a library monorepo, not a deployed service.
308
+
309
+ Post-release health checks:
310
+
311
+ - **npm package availability** — verify new versions appear on `https://www.npmjs.com/package/@xmachines/<pkg>` after the pipeline completes. <!-- VERIFY: npm propagation may take a few minutes -->
312
+ - **GitLab pipeline status** — monitor the `semantic-release` job in the GitLab CI UI for the release commit.
313
+ - **GitLab Releases page** — confirm the release tag and tarball assets appear at `https://gitlab.com/xmachin-es/xmachines-js/-/releases`.
314
+ - **`packages/docs/api/` commit** — confirm the post-release git commit updated API docs on the target branch.