@xmachines/docs 1.0.0-beta.9 → 1.1.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 (544) hide show
  1. package/README.md +135 -7
  2. package/api/@xmachines/play/README.md +159 -39
  3. package/api/@xmachines/play/classes/NonNullableError.md +189 -0
  4. package/api/@xmachines/play/classes/PlayError.md +251 -0
  5. package/api/@xmachines/play/functions/assertNonNullable.md +56 -0
  6. package/api/@xmachines/play/type-aliases/PlayEvent.md +6 -6
  7. package/api/@xmachines/play-actor/README.md +153 -160
  8. package/api/@xmachines/play-actor/classes/AbstractActor.md +106 -121
  9. package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +40 -0
  10. package/api/@xmachines/play-actor/functions/toAtomState.md +33 -0
  11. package/api/@xmachines/play-actor/functions/typedSpec.md +54 -0
  12. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +46 -0
  13. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +33 -0
  14. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +28 -0
  15. package/api/@xmachines/play-actor/interfaces/Routable.md +6 -21
  16. package/api/@xmachines/play-actor/interfaces/Viewable.md +12 -6
  17. package/api/@xmachines/play-dom/README.md +385 -0
  18. package/api/@xmachines/play-dom/classes/PlayRenderer.md +115 -0
  19. package/api/@xmachines/play-dom/functions/createPlayUI.md +28 -0
  20. package/api/@xmachines/play-dom/functions/createRenderer.md +44 -0
  21. package/api/@xmachines/play-dom/functions/defineRegistry.md +26 -0
  22. package/api/@xmachines/play-dom/functions/renderSpec.md +67 -0
  23. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +23 -0
  24. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +34 -0
  25. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +17 -0
  26. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +28 -0
  27. package/api/@xmachines/play-dom/interfaces/EventHandle.md +15 -0
  28. package/api/@xmachines/play-dom/interfaces/MountOptions.md +18 -0
  29. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +30 -0
  30. package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +26 -0
  31. package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +32 -0
  32. package/api/@xmachines/play-dom/type-aliases/ActionFn.md +46 -0
  33. package/api/@xmachines/play-dom/type-aliases/Actions.md +18 -0
  34. package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +114 -0
  35. package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +25 -0
  36. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +26 -0
  37. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +15 -0
  38. package/api/@xmachines/play-dom/type-aliases/ConfirmHandler.md +44 -0
  39. package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +39 -0
  40. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +20 -0
  41. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +9 -0
  42. package/api/@xmachines/play-dom/type-aliases/DomSchema.md +9 -0
  43. package/api/@xmachines/play-dom/type-aliases/MountFn.md +27 -0
  44. package/api/@xmachines/play-dom/type-aliases/RenderErrorHandler.md +23 -0
  45. package/api/@xmachines/play-dom/type-aliases/SetState.md +30 -0
  46. package/api/@xmachines/play-dom/variables/schema.md +62 -0
  47. package/api/@xmachines/play-dom-router/README.md +272 -0
  48. package/api/@xmachines/play-dom-router/functions/connectRouter.md +43 -0
  49. package/api/@xmachines/{play-router → play-dom-router}/functions/createBrowserHistory.md +10 -2
  50. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +39 -0
  51. package/api/@xmachines/play-dom-router/functions/createRouter.md +54 -0
  52. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +176 -0
  53. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +69 -0
  54. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +15 -0
  55. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +129 -0
  56. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +68 -0
  57. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +54 -0
  58. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +121 -0
  59. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +13 -0
  60. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +27 -0
  61. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +104 -0
  62. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +28 -0
  63. package/api/@xmachines/play-react/README.md +185 -333
  64. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +46 -42
  65. package/api/@xmachines/play-react/functions/ActionProvider.md +21 -0
  66. package/api/@xmachines/play-react/functions/JSONUIProvider.md +21 -0
  67. package/api/@xmachines/play-react/functions/Renderer.md +21 -0
  68. package/api/@xmachines/play-react/functions/StateProvider.md +27 -0
  69. package/api/@xmachines/play-react/functions/ValidationProvider.md +21 -0
  70. package/api/@xmachines/play-react/functions/VisibilityProvider.md +21 -0
  71. package/api/@xmachines/play-react/functions/defineRegistry.md +49 -0
  72. package/api/@xmachines/play-react/functions/useActor.md +13 -0
  73. package/api/@xmachines/play-react/functions/useBoundProp.md +45 -0
  74. package/api/@xmachines/play-react/functions/usePlayView.md +32 -0
  75. package/api/@xmachines/play-react/functions/useSignalEffect.md +29 -20
  76. package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +15 -0
  77. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +27 -0
  78. package/api/@xmachines/play-react/interfaces/ComponentContext.md +37 -0
  79. package/api/@xmachines/play-react/interfaces/JSONUIProviderProps.md +22 -0
  80. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +7 -7
  81. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
  82. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +26 -0
  83. package/api/@xmachines/play-react/interfaces/RendererProps.md +17 -0
  84. package/api/@xmachines/play-react/interfaces/StateProviderProps.md +16 -0
  85. package/api/@xmachines/play-react/interfaces/ValidationProviderProps.md +14 -0
  86. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +20 -0
  87. package/api/@xmachines/play-react/interfaces/VisibilityProviderProps.md +13 -0
  88. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +11 -0
  89. package/api/@xmachines/play-react/type-aliases/ComponentFn.md +36 -0
  90. package/api/@xmachines/play-react/type-aliases/RenderErrorHandler.md +23 -0
  91. package/api/@xmachines/play-react/variables/ActorProvider.md +33 -0
  92. package/api/@xmachines/play-react/variables/PlayRenderer.md +6 -56
  93. package/api/@xmachines/play-react/variables/PlayUIProvider.md +43 -0
  94. package/api/@xmachines/play-react-router/README.md +130 -115
  95. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +19 -242
  96. package/api/@xmachines/play-react-router/classes/RouteMap.md +48 -36
  97. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +45 -0
  98. package/api/@xmachines/play-react-router/functions/createRouteMap.md +39 -0
  99. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +23 -12
  100. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +68 -0
  101. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +22 -12
  102. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
  103. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +25 -9
  104. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +13 -0
  105. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +19 -9
  106. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +8 -8
  107. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  108. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +32 -0
  109. package/api/@xmachines/play-router/README.md +275 -352
  110. package/api/@xmachines/play-router/classes/RouteMap.md +149 -0
  111. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +21 -221
  112. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +32 -0
  113. package/api/@xmachines/play-router/functions/buildRouteTree.md +12 -2
  114. package/api/@xmachines/play-router/functions/createRouteMap.md +22 -36
  115. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +46 -0
  116. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +14 -7
  117. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +10 -46
  118. package/api/@xmachines/play-router/functions/extractQuery.md +22 -0
  119. package/api/@xmachines/play-router/functions/extractRouteParams.md +54 -0
  120. package/api/@xmachines/play-router/functions/findRouteById.md +2 -2
  121. package/api/@xmachines/play-router/functions/findRouteByPath.md +2 -2
  122. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +2 -2
  123. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +2 -2
  124. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +43 -0
  125. package/api/@xmachines/play-router/functions/isRouteReachable.md +38 -0
  126. package/api/@xmachines/play-router/functions/machineToGraph.md +19 -0
  127. package/api/@xmachines/play-router/functions/routeExists.md +2 -2
  128. package/api/@xmachines/play-router/functions/sanitizePathname.md +40 -0
  129. package/api/@xmachines/play-router/functions/validateRouteFormat.md +10 -9
  130. package/api/@xmachines/play-router/functions/validateStateExists.md +9 -9
  131. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +13 -0
  132. package/api/@xmachines/play-router/interfaces/LocationLike.md +27 -0
  133. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +15 -0
  134. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +17 -0
  135. package/api/@xmachines/play-router/interfaces/PlayActor.md +68 -0
  136. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +22 -12
  137. package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +17 -0
  138. package/api/@xmachines/play-router/interfaces/RoutableActor.md +64 -0
  139. package/api/@xmachines/play-router/interfaces/RouteInfo.md +11 -11
  140. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +13 -0
  141. package/api/@xmachines/play-router/interfaces/RouteMapping.md +27 -0
  142. package/api/@xmachines/play-router/interfaces/RouteMatch.md +12 -0
  143. package/api/@xmachines/play-router/interfaces/RouteNode.md +13 -13
  144. package/api/@xmachines/play-router/interfaces/RouteObject.md +5 -5
  145. package/api/@xmachines/play-router/interfaces/RouteTree.md +8 -7
  146. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +55 -0
  147. package/api/@xmachines/play-router/interfaces/RouterBridge.md +8 -8
  148. package/api/@xmachines/play-router/interfaces/WindowLike.md +65 -0
  149. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +20 -0
  150. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +2 -2
  151. package/api/@xmachines/play-signals/README.md +117 -65
  152. package/api/@xmachines/play-signals/functions/watchSignal.md +42 -0
  153. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +7 -5
  154. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +3 -3
  155. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +7 -5
  156. package/api/@xmachines/play-signals/interfaces/SignalState.md +4 -4
  157. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +5 -5
  158. package/api/@xmachines/play-signals/namespaces/Signal/README.md +1 -1
  159. package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +7 -7
  160. package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +8 -8
  161. package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +7 -7
  162. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/README.md +1 -1
  163. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +9 -9
  164. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +2 -2
  165. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +2 -2
  166. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +2 -2
  167. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +2 -2
  168. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +2 -2
  169. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +2 -2
  170. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +2 -2
  171. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +2 -2
  172. package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +2 -2
  173. package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +2 -2
  174. package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +2 -2
  175. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +2 -2
  176. package/api/@xmachines/play-solid/README.md +196 -233
  177. package/api/@xmachines/play-solid/functions/ActionProvider.md +19 -0
  178. package/api/@xmachines/play-solid/functions/JSONUIProvider.md +21 -0
  179. package/api/@xmachines/play-solid/functions/Renderer.md +21 -0
  180. package/api/@xmachines/play-solid/functions/StateProvider.md +19 -0
  181. package/api/@xmachines/play-solid/functions/ValidationProvider.md +19 -0
  182. package/api/@xmachines/play-solid/functions/VisibilityProvider.md +20 -0
  183. package/api/@xmachines/play-solid/functions/defineRegistry.md +49 -0
  184. package/api/@xmachines/play-solid/functions/useAction.md +24 -0
  185. package/api/@xmachines/play-solid/functions/useActions.md +13 -0
  186. package/api/@xmachines/play-solid/functions/useActor.md +13 -0
  187. package/api/@xmachines/play-solid/functions/useBoundProp.md +45 -0
  188. package/api/@xmachines/play-solid/functions/useFieldValidation.md +29 -0
  189. package/api/@xmachines/play-solid/functions/useIsVisible.md +19 -0
  190. package/api/@xmachines/play-solid/functions/useOptionalValidation.md +13 -0
  191. package/api/@xmachines/play-solid/functions/usePlayView.md +30 -0
  192. package/api/@xmachines/play-solid/functions/useStateBinding.md +25 -0
  193. package/api/@xmachines/play-solid/functions/useStateStore.md +13 -0
  194. package/api/@xmachines/play-solid/functions/useStateValue.md +25 -0
  195. package/api/@xmachines/play-solid/functions/useVisibility.md +13 -0
  196. package/api/@xmachines/play-solid/interfaces/ActionProviderProps.md +12 -0
  197. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +30 -0
  198. package/api/@xmachines/play-solid/interfaces/ComponentContext.md +37 -0
  199. package/api/@xmachines/play-solid/interfaces/DefineRegistryResult.md +15 -0
  200. package/api/@xmachines/play-solid/interfaces/JSONUIProviderProps.md +22 -0
  201. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +26 -0
  202. package/api/@xmachines/play-solid/interfaces/RendererProps.md +17 -0
  203. package/api/@xmachines/play-solid/interfaces/StateProviderProps.md +13 -0
  204. package/api/@xmachines/play-solid/interfaces/ValidationProviderProps.md +11 -0
  205. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +21 -0
  206. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +11 -0
  207. package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +36 -0
  208. package/api/@xmachines/play-solid/type-aliases/ComponentRegistry.md +11 -0
  209. package/api/@xmachines/play-solid/type-aliases/RenderErrorHandler.md +23 -0
  210. package/api/@xmachines/play-solid/type-aliases/SetState.md +21 -0
  211. package/api/@xmachines/play-solid/type-aliases/VisibilityProviderProps.md +9 -0
  212. package/api/@xmachines/play-solid/variables/ActorContext.md +13 -0
  213. package/api/@xmachines/play-solid/variables/ActorProvider.md +27 -0
  214. package/api/@xmachines/play-solid/variables/PlayRenderer.md +6 -62
  215. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +26 -0
  216. package/api/@xmachines/play-solid-router/README.md +151 -559
  217. package/api/@xmachines/play-solid-router/classes/RouteMap.md +31 -32
  218. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +27 -242
  219. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +44 -0
  220. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +18 -11
  221. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +99 -114
  222. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +68 -0
  223. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +22 -12
  224. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +30 -0
  225. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +25 -9
  226. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +13 -0
  227. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +20 -7
  228. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +8 -8
  229. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +34 -0
  230. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +8 -4
  231. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +22 -19
  232. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +52 -0
  233. package/api/@xmachines/play-svelte/README.md +270 -0
  234. package/api/@xmachines/play-svelte/functions/defineRegistry.md +31 -0
  235. package/api/@xmachines/play-svelte/functions/getActorContext.md +21 -0
  236. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +19 -0
  237. package/api/@xmachines/play-svelte/functions/setActorContext.md +19 -0
  238. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +44 -0
  239. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +29 -0
  240. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +29 -0
  241. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +24 -0
  242. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +43 -0
  243. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +24 -0
  244. package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +30 -0
  245. package/api/@xmachines/play-svelte/type-aliases/Actions.md +17 -0
  246. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +11 -0
  247. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +18 -0
  248. package/api/@xmachines/play-svelte/type-aliases/JSONUIProviderProps.md +7 -0
  249. package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +9 -0
  250. package/api/@xmachines/play-svelte/type-aliases/RenderErrorHandler.md +23 -0
  251. package/api/@xmachines/play-svelte/type-aliases/SetState.md +21 -0
  252. package/api/@xmachines/play-svelte/variables/PlayRenderer.md +9 -0
  253. package/api/@xmachines/play-svelte-spa-router/README.md +197 -0
  254. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +149 -0
  255. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +32 -0
  256. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +39 -0
  257. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +17 -0
  258. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +129 -0
  259. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +13 -0
  260. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +27 -0
  261. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +104 -0
  262. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +65 -0
  263. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +9 -0
  264. package/api/@xmachines/play-sveltekit-router/README.md +212 -0
  265. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +149 -0
  266. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +32 -0
  267. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +39 -0
  268. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +13 -0
  269. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +27 -0
  270. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +129 -0
  271. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +13 -0
  272. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +27 -0
  273. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +104 -0
  274. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +9 -0
  275. package/api/@xmachines/play-tanstack-react-router/README.md +155 -125
  276. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +48 -36
  277. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +31 -252
  278. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +45 -0
  279. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +22 -36
  280. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +23 -12
  281. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +28 -0
  282. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +68 -0
  283. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +22 -12
  284. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
  285. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +25 -9
  286. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +13 -0
  287. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +19 -9
  288. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +6 -6
  289. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +8 -8
  290. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  291. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +2 -2
  292. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +40 -18
  293. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +34 -0
  294. package/api/@xmachines/play-tanstack-router/README.md +61 -0
  295. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +131 -0
  296. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +57 -0
  297. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +100 -0
  298. package/api/@xmachines/play-tanstack-solid-router/README.md +216 -175
  299. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +31 -32
  300. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +121 -0
  301. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +44 -0
  302. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +18 -11
  303. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +68 -0
  304. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +22 -12
  305. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +31 -0
  306. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +23 -9
  307. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +13 -0
  308. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +14 -10
  309. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +8 -8
  310. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  311. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +8 -4
  312. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +3 -3
  313. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +40 -18
  314. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +33 -0
  315. package/api/@xmachines/play-vue/README.md +190 -210
  316. package/api/@xmachines/play-vue/functions/defineRegistry.md +32 -0
  317. package/api/@xmachines/play-vue/functions/getPlayViewContext.md +28 -0
  318. package/api/@xmachines/play-vue/functions/useActor.md +13 -0
  319. package/api/@xmachines/play-vue/functions/useBoundProp.md +45 -0
  320. package/api/@xmachines/play-vue/interfaces/ActionProviderProps.md +12 -0
  321. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +25 -0
  322. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +37 -0
  323. package/api/@xmachines/play-vue/interfaces/DefineRegistryResult.md +15 -0
  324. package/api/@xmachines/play-vue/interfaces/JSONUIProviderProps.md +21 -0
  325. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +24 -0
  326. package/api/@xmachines/play-vue/interfaces/RendererProps.md +17 -0
  327. package/api/@xmachines/play-vue/interfaces/StateProviderProps.md +15 -0
  328. package/api/@xmachines/play-vue/interfaces/ValidationProviderProps.md +11 -0
  329. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +21 -0
  330. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +5 -0
  331. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +11 -0
  332. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +16 -0
  333. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +35 -0
  334. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +15 -0
  335. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +22 -0
  336. package/api/@xmachines/play-vue/type-aliases/RenderErrorHandler.md +23 -0
  337. package/api/@xmachines/play-vue/variables/ActionProvider.md +64 -0
  338. package/api/@xmachines/play-vue/variables/JSONUIProvider.md +105 -0
  339. package/api/@xmachines/play-vue/variables/PlayRenderer.md +2 -2
  340. package/api/@xmachines/play-vue/variables/Renderer.md +88 -0
  341. package/api/@xmachines/play-vue/variables/StateProvider.md +79 -0
  342. package/api/@xmachines/play-vue/variables/ValidationProvider.md +55 -0
  343. package/api/@xmachines/play-vue/variables/VisibilityProvider.md +40 -0
  344. package/api/@xmachines/play-vue-router/README.md +173 -486
  345. package/api/@xmachines/play-vue-router/classes/RouteMap.md +56 -116
  346. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +23 -271
  347. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +26 -6
  348. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +68 -0
  349. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +22 -12
  350. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +13 -0
  351. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +20 -8
  352. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +8 -8
  353. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +8 -4
  354. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +12 -6
  355. package/api/@xmachines/play-xstate/README.md +203 -354
  356. package/api/@xmachines/play-xstate/classes/PlayerActor.md +195 -201
  357. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +24 -20
  358. package/api/@xmachines/play-xstate/functions/composeGuards.md +8 -3
  359. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +8 -3
  360. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +43 -0
  361. package/api/@xmachines/play-xstate/functions/definePlayer.md +14 -63
  362. package/api/@xmachines/play-xstate/functions/deriveRoute.md +3 -3
  363. package/api/@xmachines/play-xstate/functions/eventMatches.md +8 -3
  364. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +3 -3
  365. package/api/@xmachines/play-xstate/functions/hasContext.md +8 -5
  366. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +2 -2
  367. package/api/@xmachines/play-xstate/functions/negateGuard.md +8 -3
  368. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +10 -14
  369. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +22 -0
  370. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +14 -16
  371. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +15 -13
  372. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +17 -0
  373. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +8 -3
  374. package/api/@xmachines/play-xstate/type-aliases/Guard.md +8 -6
  375. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +9 -7
  376. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +15 -18
  377. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +15 -5
  378. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +9 -0
  379. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +22 -6
  380. package/api/@xmachines/shared/README.md +95 -295
  381. package/api/@xmachines/shared/vite-aliases/README.md +11 -0
  382. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +38 -0
  383. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +27 -0
  384. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +35 -0
  385. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +42 -0
  386. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +33 -0
  387. package/api/@xmachines/shared/vitest/README.md +12 -0
  388. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +42 -0
  389. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +34 -0
  390. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +16 -0
  391. package/api/README.md +6 -7
  392. package/api/llms.txt +72 -23
  393. package/contributing/README.md +10 -0
  394. package/contributing/architecture.md +601 -0
  395. package/contributing/configuration.md +368 -0
  396. package/contributing/deployment.md +333 -0
  397. package/contributing/development.md +503 -0
  398. package/contributing/testing.md +461 -0
  399. package/examples/@xmachines/play-dom-demo/README.md +181 -0
  400. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +24 -0
  401. package/examples/@xmachines/play-dom-demo/functions/initShell.md +25 -0
  402. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +9 -0
  403. package/examples/@xmachines/play-dom-demo/variables/About.md +12 -0
  404. package/examples/@xmachines/play-dom-demo/variables/Contact.md +12 -0
  405. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +13 -0
  406. package/examples/@xmachines/play-dom-demo/variables/Home.md +13 -0
  407. package/examples/@xmachines/play-dom-demo/variables/Login.md +13 -0
  408. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +16 -0
  409. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +13 -0
  410. package/examples/@xmachines/play-dom-demo/variables/Overview.md +13 -0
  411. package/examples/@xmachines/play-dom-demo/variables/Profile.md +13 -0
  412. package/examples/@xmachines/play-dom-demo/variables/Settings.md +13 -0
  413. package/examples/@xmachines/play-dom-demo/variables/Stats.md +13 -0
  414. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +172 -0
  415. package/examples/@xmachines/play-dom-router-demo/README.md +145 -0
  416. package/examples/@xmachines/play-react-demo/README.md +187 -0
  417. package/examples/@xmachines/play-react-demo/functions/App.md +13 -0
  418. package/examples/@xmachines/play-react-demo/functions/DebugPanel.md +20 -0
  419. package/examples/@xmachines/play-react-demo/functions/HeaderNav.md +20 -0
  420. package/examples/@xmachines/play-react-demo/functions/Shell.md +22 -0
  421. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +9 -0
  422. package/examples/@xmachines/play-react-demo/variables/About.md +14 -0
  423. package/examples/@xmachines/play-react-demo/variables/Contact.md +14 -0
  424. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +15 -0
  425. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +16 -0
  426. package/examples/@xmachines/play-react-demo/variables/Home.md +14 -0
  427. package/examples/@xmachines/play-react-demo/variables/Login.md +16 -0
  428. package/examples/@xmachines/play-react-demo/variables/NavBar.md +16 -0
  429. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +15 -0
  430. package/examples/@xmachines/play-react-demo/variables/Navigation.md +14 -0
  431. package/examples/@xmachines/play-react-demo/variables/Overview.md +14 -0
  432. package/examples/@xmachines/play-react-demo/variables/Profile.md +14 -0
  433. package/examples/@xmachines/play-react-demo/variables/Settings.md +14 -0
  434. package/examples/@xmachines/play-react-demo/variables/Shell.md +19 -0
  435. package/examples/@xmachines/play-react-demo/variables/Stats.md +14 -0
  436. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +172 -0
  437. package/examples/@xmachines/play-react-router-demo/README.md +151 -0
  438. package/examples/@xmachines/play-solid-demo/README.md +187 -0
  439. package/examples/@xmachines/play-solid-demo/functions/App.md +13 -0
  440. package/examples/@xmachines/play-solid-demo/functions/DebugPanel.md +20 -0
  441. package/examples/@xmachines/play-solid-demo/functions/HeaderNav.md +20 -0
  442. package/examples/@xmachines/play-solid-demo/functions/Shell.md +22 -0
  443. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +9 -0
  444. package/examples/@xmachines/play-solid-demo/variables/About.md +9 -0
  445. package/examples/@xmachines/play-solid-demo/variables/Contact.md +9 -0
  446. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +9 -0
  447. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +17 -0
  448. package/examples/@xmachines/play-solid-demo/variables/Home.md +9 -0
  449. package/examples/@xmachines/play-solid-demo/variables/Login.md +9 -0
  450. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +11 -0
  451. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +15 -0
  452. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +9 -0
  453. package/examples/@xmachines/play-solid-demo/variables/Overview.md +9 -0
  454. package/examples/@xmachines/play-solid-demo/variables/Profile.md +9 -0
  455. package/examples/@xmachines/play-solid-demo/variables/Settings.md +9 -0
  456. package/examples/@xmachines/play-solid-demo/variables/Shell.md +18 -0
  457. package/examples/@xmachines/play-solid-demo/variables/Stats.md +9 -0
  458. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +172 -0
  459. package/examples/@xmachines/play-solid-router-demo/README.md +137 -0
  460. package/examples/@xmachines/play-svelte-demo/README.md +143 -0
  461. package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +9 -0
  462. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +9 -0
  463. package/examples/@xmachines/play-svelte-demo/variables/App.md +9 -0
  464. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +172 -0
  465. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +129 -0
  466. package/examples/@xmachines/play-sveltekit-router-demo/README.md +133 -0
  467. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +156 -0
  468. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +139 -0
  469. package/examples/@xmachines/play-vue-demo/README.md +183 -0
  470. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +9 -0
  471. package/examples/@xmachines/play-vue-demo/variables/App.md +9 -0
  472. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +172 -0
  473. package/examples/@xmachines/play-vue-router-demo/README.md +139 -0
  474. package/examples/README.md +78 -30
  475. package/examples/basic-state-machine.md +73 -31
  476. package/examples/form-validation.md +259 -118
  477. package/examples/multi-router-integration.md +312 -194
  478. package/examples/routing-patterns.md +228 -189
  479. package/examples/traffic-light.md +112 -65
  480. package/guides/README.md +7 -21
  481. package/guides/actor-model.md +180 -0
  482. package/guides/getting-started.md +627 -137
  483. package/guides/signals.md +166 -0
  484. package/guides/state-machines.md +284 -0
  485. package/package.json +21 -7
  486. package/rfc/broker.md +100 -0
  487. package/rfc/browser.md +44 -0
  488. package/rfc/cli.md +118 -0
  489. package/rfc/git.md +61 -0
  490. package/rfc/mcp.md +43 -0
  491. package/rfc/node.md +36 -0
  492. package/rfc/play.md +472 -0
  493. package/rfc/rest.md +102 -0
  494. package/rfc/run.md +159 -0
  495. package/rfc/streams.md +168 -0
  496. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +0 -17
  497. package/api/@xmachines/play-catalog/README.md +0 -331
  498. package/api/@xmachines/play-catalog/functions/defineCatalog.md +0 -98
  499. package/api/@xmachines/play-catalog/functions/defineComponents.md +0 -134
  500. package/api/@xmachines/play-catalog/type-aliases/Catalog.md +0 -48
  501. package/api/@xmachines/play-catalog/type-aliases/ComponentsFor.md +0 -20
  502. package/api/@xmachines/play-catalog/type-aliases/InferComponentProps.md +0 -65
  503. package/api/@xmachines/play-catalog/type-aliases/NoExtraKeys.md +0 -17
  504. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +0 -15
  505. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +0 -19
  506. package/api/@xmachines/play-react-router-demo/README.md +0 -137
  507. package/api/@xmachines/play-router/classes/BaseRouteMap.md +0 -142
  508. package/api/@xmachines/play-router/functions/connectRouter.md +0 -67
  509. package/api/@xmachines/play-router/functions/crawlMachine.md +0 -92
  510. package/api/@xmachines/play-router/functions/createRouter.md +0 -76
  511. package/api/@xmachines/play-router/functions/extractRoute.md +0 -45
  512. package/api/@xmachines/play-router/interfaces/BaseRouteMapping.md +0 -27
  513. package/api/@xmachines/play-router/interfaces/BrowserHistory.md +0 -172
  514. package/api/@xmachines/play-router/interfaces/BrowserWindow.md +0 -69
  515. package/api/@xmachines/play-router/interfaces/ConnectRouterOptions.md +0 -13
  516. package/api/@xmachines/play-router/interfaces/RouteMap.md +0 -56
  517. package/api/@xmachines/play-router/interfaces/StateVisit.md +0 -15
  518. package/api/@xmachines/play-router/interfaces/VanillaRouter.md +0 -28
  519. package/api/@xmachines/play-router-demo/README.md +0 -137
  520. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +0 -15
  521. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +0 -19
  522. package/api/@xmachines/play-solid-router-demo/README.md +0 -127
  523. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +0 -19
  524. package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +0 -38
  525. package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +0 -33
  526. package/api/@xmachines/play-tanstack-react-router/variables/extractMachineRoutes.md +0 -64
  527. package/api/@xmachines/play-tanstack-react-router-demo/README.md +0 -126
  528. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +0 -343
  529. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +0 -19
  530. package/api/@xmachines/play-tanstack-solid-router-demo/README.md +0 -126
  531. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +0 -14
  532. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +0 -201
  533. package/api/@xmachines/play-vue-router-demo/README.md +0 -133
  534. package/api/@xmachines/play-xstate/functions/mergeViewProps.md +0 -26
  535. package/api/@xmachines/play-xstate/functions/stateMatches.md +0 -25
  536. package/api/@xmachines/play-xstate/functions/validateComponentBinding.md +0 -39
  537. package/api/@xmachines/play-xstate/functions/validateViewProps.md +0 -80
  538. package/api/@xmachines/play-xstate/interfaces/CatalogEntry.md +0 -16
  539. package/api/@xmachines/play-xstate/type-aliases/Catalog.md +0 -21
  540. package/api/@xmachines/play-xstate/type-aliases/ValidationResult.md +0 -17
  541. package/api/@xmachines/play-xstate/type-aliases/ViewMergeContext.md +0 -35
  542. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +0 -29
  543. package/api/@xmachines/shared/functions/xmAliases.md +0 -24
  544. package/guides/installation.md +0 -323
@@ -1,38 +1,46 @@
1
- [Documentation](../../README.md) / @xmachines/shared
1
+ [API](../../README.md) / @xmachines/shared
2
2
 
3
- # @xmachines/shared
3
+ # `@xmachines/shared`
4
4
 
5
- **Shared TypeScript, linting, and formatting configurations for XMachines monorepo**
5
+ Shared configurations for XMachines packages — TypeScript, linting, formatting, and Vitest setup used across the monorepo.
6
6
 
7
- Centralized config enabling composite build system with project references.
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
8
 
9
- ## Overview
10
-
11
- `@xmachines/shared` provides shared configuration files for all XMachines packages, establishing consistent TypeScript compilation, linting rules, formatting, and Vitest setup across the monorepo.
12
-
13
- **Enhancement:** Added TypeScript composite build system with project references enabling correct build order, incremental compilation, and IDE source navigation via declaration maps.
9
+ Part of the [xmachines-js monorepo](../../README.md).
14
10
 
15
11
  ## Installation
16
12
 
17
- This package is automatically available to all workspace packages via npm workspaces.
13
+ This package is an internal monorepo dependency. It is **not intended for installation by external consumers**.
18
14
 
19
- ## Contents
15
+ Within the monorepo it is referenced by package name:
20
16
 
21
- Configuration files in `config/` directory:
17
+ ```json
18
+ {
19
+ "dependencies": {
20
+ "@xmachines/shared": "*"
21
+ }
22
+ }
23
+ ```
22
24
 
23
- - **`config/tsconfig.json`** - TypeScript compiler settings with composite project support
24
- - **`config/oxlint.json`** - Linting rules and plugins
25
- - **`config/oxfmt.json`** - Code formatting preferences
26
- - **`config/vitest.ts`** - Shared Vitest config helper (`defineXmVitestConfig`)
27
- - **`config/vitest.setup.ts`** - Shared cross-runtime Vitest setup (polyfills, jest-dom matchers)
28
- - **`config/vitest.node.setup.ts`** - Node-only Vitest setup (Node runtime/version preflight)
29
- - **`config/vite-aliases.ts`** - Workspace alias mapping for `@xmachines/*`
25
+ ## Exports
26
+
27
+ | Export | File | Description |
28
+ | ------------------------------------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------- |
29
+ | `@xmachines/shared/tsconfig` | `config/tsconfig.json` | Base TypeScript configuration for all packages |
30
+ | `@xmachines/shared/tsconfig-test` | `config/tsconfig.test.json` | TypeScript configuration for test files (no emit, `allowImportingTsExtensions`, Vitest globals) |
31
+ | `@xmachines/shared/oxlint` | `config/oxlint.config.ts` | Shared oxlint configuration |
32
+ | `@xmachines/shared/oxfmt` | `config/oxfmt.config.ts` | Shared oxfmt formatter configuration |
33
+ | `@xmachines/shared/vite-aliases` | `config/vite-aliases.ts` | Vite resolve aliases for all `@xmachines/*` workspace packages |
34
+ | `@xmachines/shared/vitest` | `config/vitest.ts` | `defineXmVitestConfig` helper for per-package Vitest configs |
35
+ | `@xmachines/shared/vitest-setup` | `config/vitest.setup.ts` | Shared Vitest setup — extends matchers with `@testing-library/jest-dom` |
36
+ | `@xmachines/shared/vitest-node-setup` | `config/vitest.node.setup.ts` | Node.js runtime guard — asserts `Node.js >= 22` |
37
+ | `@xmachines/shared/vitest-urlpattern-setup` | `config/vitest.urlpattern.setup.ts` | Optional URLPattern polyfill setup for route-matching tests |
30
38
 
31
39
  ## Usage
32
40
 
33
41
  ### TypeScript Configuration
34
42
 
35
- **Recommended (short alias):**
43
+ Extend the base TypeScript config in any package:
36
44
 
37
45
  ```json
38
46
  {
@@ -45,335 +53,127 @@ Configuration files in `config/` directory:
45
53
  }
46
54
  ```
47
55
 
48
- **Alternative (full path):**
56
+ For test-specific TypeScript settings (no emit, `allowImportingTsExtensions`, Vitest globals), extend:
49
57
 
50
58
  ```json
51
59
  {
52
- "extends": "@xmachines/shared/config/tsconfig.json",
53
- "compilerOptions": {
54
- "composite": true,
55
- "rootDir": "./src",
56
- "outDir": "./dist"
57
- }
60
+ "extends": "@xmachines/shared/tsconfig-test",
61
+ "include": ["src/**/*", "test/**/*"]
58
62
  }
59
63
  ```
60
64
 
61
- > **Note:** Both import styles work. The short alias is recommended for cleaner config files.
65
+ ### Linting (`oxlint`)
62
66
 
63
- ### Oxlint Configuration
67
+ Reference the shared oxlint config from a package's `oxlint.config.ts`:
64
68
 
65
- **Recommended:**
66
-
67
- ```json
68
- {
69
- "extends": ["@xmachines/shared/oxlint"]
70
- }
69
+ ```typescript
70
+ import sharedConfig from "@xmachines/shared/oxlint";
71
+ export default sharedConfig;
71
72
  ```
72
73
 
73
- ### Oxfmt Configuration
74
-
75
- **Recommended:**
74
+ The shared config enables the `typescript`, `unicorn`, and `import` plugins with:
76
75
 
77
- ```json
78
- {
79
- "extends": ["@xmachines/shared/oxfmt"]
80
- }
81
- ```
82
-
83
- ### Vite Alias Configuration
76
+ - `correctness` rules as errors
77
+ - `suspicious` and `perf` rules as warnings
78
+ - `import/no-cycle` and `typescript/no-explicit-any` as errors
79
+ - `typescript/no-unused-vars` as an error (ignoring `_`-prefixed names)
84
80
 
85
- Use the shared alias helper in Vite and Vitest configs so workspace packages resolve to source files without requiring `dist/` builds:
81
+ ### Formatting (`oxfmt`)
86
82
 
87
- ```ts
88
- import { defineConfig } from "vite";
89
- import { xmAliases } from "@xmachines/shared/vite-aliases";
83
+ Reference the shared oxfmt config from a package's `oxfmt.config.ts`:
90
84
 
91
- export default defineConfig({
92
- resolve: {
93
- alias: xmAliases(import.meta.url),
94
- },
95
- });
85
+ ```typescript
86
+ import sharedConfig from "@xmachines/shared/oxfmt";
87
+ export default sharedConfig;
96
88
  ```
97
89
 
98
- This is especially important after `npm run clean`, where package `exports` targeting `dist/` are temporarily unavailable until rebuild.
90
+ Key formatting rules: 4-space tab width using actual tabs, 100-character print width, double quotes, trailing commas, final newline. JSON/YAML files use 2-space indentation.
99
91
 
100
92
  ### Vitest Configuration
101
93
 
102
- Use the shared helper so package configs inherit common aliasing and runtime setup:
94
+ Use `defineXmVitestConfig` for per-package Vitest configs. It automatically injects shared setup files and wires `@xmachines/*` source aliases:
103
95
 
104
- ```ts
96
+ ```typescript
97
+ // vitest.config.ts
105
98
  import { defineXmVitestConfig } from "@xmachines/shared/vitest";
106
99
 
107
100
  export default defineXmVitestConfig(import.meta.url, {
108
101
  test: {
109
- environment: "node",
110
- include: ["test/**/*.test.ts"],
111
- exclude: ["node_modules/**"],
102
+ globals: true,
112
103
  },
113
104
  });
114
105
  ```
115
106
 
116
- **Browser project example:**
107
+ **What `defineXmVitestConfig` applies automatically:**
117
108
 
118
- ```ts
119
- import { defineXmVitestConfig } from "@xmachines/shared/vitest";
120
- import { playwright } from "@vitest/browser-playwright";
109
+ - `resolve.alias` from `xmAliases(import.meta.url)` — resolves `@xmachines/*` to TypeScript source
110
+ - `config/vitest.node.setup.ts` Node.js runtime guard (skipped in browser mode)
111
+ - `config/vitest.setup.ts` `@testing-library/jest-dom` matcher extensions
112
+
113
+ For packages that test URL routing, add the URLPattern polyfill setup:
121
114
 
115
+ ```typescript
122
116
  export default defineXmVitestConfig(import.meta.url, {
123
117
  test: {
124
- name: "my-demo-browser",
125
- browser: {
126
- enabled: true,
127
- provider: playwright(),
128
- headless: true,
129
- instances: [{ browser: "chromium" }],
130
- },
131
- include: ["test/browser/**/*.browser.test.ts"],
132
- exclude: ["node_modules/**"],
118
+ globals: true,
119
+ setupFiles: ["@xmachines/shared/vitest-urlpattern-setup"],
133
120
  },
134
121
  });
135
122
  ```
136
123
 
137
- What the shared Vitest layer provides automatically:
138
-
139
- - `resolve.alias` for all `@xmachines/*` packages via `xmAliases(...)`
140
- - Shared setup injection (`config/vitest.setup.ts`) unless already present
141
- - Node setup injection (`config/vitest.node.setup.ts`) for non-browser projects
142
- - Runtime preflight:
143
- - Node.js runtime/version check (`>=22`) in node setup
144
- - DOM matcher extension via `@testing-library/jest-dom/vitest`
145
-
146
- ### Vitest Setup Injection Rules
147
-
148
- `defineXmVitestConfig(...)` applies setup files predictably:
149
-
150
- 1. It normalizes `test.setupFiles` into an array.
151
- 2. It injects `config/vitest.setup.ts` if missing.
152
- 3. It injects `config/vitest.node.setup.ts` only when `test.browser.enabled !== true`.
153
- 4. It avoids duplicates by checking filenames (suffix match).
154
- 5. Injected setup files run before user-provided setup files.
155
-
156
- This gives a safe default for Node package tests while keeping browser projects compatible.
124
+ ### Vite Aliases
157
125
 
158
- ### Vitest Exports
159
-
160
- `@xmachines/shared` exports these Vitest entry points:
161
-
162
- - `@xmachines/shared/vitest` → `config/vitest.ts`
163
- - `@xmachines/shared/vitest-setup` → `config/vitest.setup.ts`
164
- - `@xmachines/shared/vitest-node-setup` → `config/vitest.node.setup.ts`
165
- - `@xmachines/shared/vitest-urlpattern-setup` → `config/vitest.urlpattern.setup.ts`
166
-
167
- Use `@xmachines/shared/vitest` for package config files; direct setup exports are for advanced customization only.
168
-
169
- `vitest-urlpattern-setup` must be added explicitly to `setupFiles` in packages that exercise URLPattern-based route matching (e.g. `play-router` and its adapter packages). It mirrors what consumers must do in production on Node < 24 or older browsers.
170
-
171
- ## Configuration Details
172
-
173
- ### TypeScript (`config/tsconfig.json`)
174
-
175
- - **Target:** ESNext (Node.js 22+)
176
- - **Module:** NodeNext (ESM with `.js` extensions required)
177
- - **Strict:** Full strict mode enabled
178
- - **Output:** Colocated `.d.ts` files with source maps
179
- - **Composite:** Enabled for project references ()
180
-
181
- **Important:** You must use `.js` extensions in imports:
126
+ For Vite-based demo or app packages, resolve all `@xmachines/*` packages to TypeScript source (no prior build required):
182
127
 
183
128
  ```typescript
184
- import { foo } from "./bar.js"; // ✅ Correct
185
- import { foo } from "./bar"; // ❌ Wrong
186
- ```
187
-
188
- ### Oxlint (`config/oxlint.json`)
189
-
190
- - **Plugins:** TypeScript, Unicorn, Import
191
- - **Categories:** Correctness (error), Suspicious (warn), Performance (warn)
192
- - **Key Rules:**
193
- - Circular dependency detection (`import/no-cycle`)
194
- - Unused variables (allow `_` prefix)
195
- - TypeScript-specific checks
196
-
197
- ### Oxfmt (`config/oxfmt.json`)
198
-
199
- - **Line Width:** 100 characters
200
- - **Indentation:** Tabs (4 spaces)
201
- - **Style:** Double quotes, semicolons, trailing commas
202
- - **Final Newline:** Always insert
203
-
204
- ### Vitest (`config/vitest.ts`, `config/vitest.setup.ts`, `config/vitest.node.setup.ts`, `config/vitest.urlpattern.setup.ts`)
205
-
206
- - **Helper API:** `defineXmVitestConfig(importMetaUrl, overrides)` merges shared defaults with package-specific Vitest config
207
- - **Auto-aliasing:** `resolve.alias` is wired to `xmAliases(importMetaUrl)` so workspace packages resolve to source
208
- - **Cross-runtime setup (`config/vitest.setup.ts`):**
209
- - extends `expect` with `@testing-library/jest-dom/vitest`
210
- - **URLPattern setup (`config/vitest.urlpattern.setup.ts`):**
211
- - loads `urlpattern-polyfill` — opt-in per package via `setupFiles: ["@xmachines/shared/vitest-urlpattern-setup"]`
212
- - required for packages exercising URLPattern-based route matching (play-router and adapters)
213
- - mirrors what consumers must do in production on Node < 24 or older browsers
214
- - **Node-only setup (`config/vitest.node.setup.ts`):**
215
- - asserts Node runtime (`process.release.name === "node"`)
216
- - enforces Node version `>=22`
217
- - **Browser behavior:** Browser projects do not receive node-only setup injection
218
- - **Override model:** Package-level config still controls test environment, includes/excludes, plugins, coverage, and browser provider
219
-
220
- ### Vite Aliases (`config/vite-aliases.ts`)
221
-
222
- - **Helper API:** `xmAliases(importMetaUrl)` returns a complete `resolve.alias` map for all `@xmachines/*` workspace packages
223
- - **Root discovery:** Walks upward from `import.meta.url` until it finds the workspace root (`package.json` with `workspaces`)
224
- - **Source-first resolution:** Maps package imports to `packages/*/src/index.ts` for fast local dev without prebuild
225
- - **Extra aliases:** Includes `@xmachines/play-router-shared` and `@xmachines/play-router-shared/index.css` for demo shared assets
226
- - **Primary use cases:** `vite.config.ts`, `vitest` browser configs, and any local tooling relying on Vite resolver semantics
227
-
228
- ### Vite Alias Troubleshooting
229
-
230
- - **`[xmAliases] Could not find workspace root`**
231
- - Ensure `xmAliases` receives `import.meta.url` from the calling config file.
232
- - Ensure the config file lives somewhere under the monorepo root.
233
- - **Workspace package import resolves to missing `dist/` files**
234
- - Ensure config includes `resolve.alias: xmAliases(import.meta.url)`.
235
- - Re-run after cleaning caches when lockfile/deps changed.
236
-
237
- ### Vitest Troubleshooting
238
-
239
- - **`URLPattern is unavailable after setup`**
240
- - Ensure `test.setupFiles` is not replacing shared setup unexpectedly.
241
- - Ensure config is created via `defineXmVitestConfig(...)`.
242
- - **`Node runtime is required for this Vitest configuration`**
243
- - This indicates node-only setup loaded in a browser project.
244
- - Set `test.browser.enabled: true` in that project config.
245
- - **Workspace import resolution failures (e.g. `@xmachines/play-signals`)**
246
- - Confirm config uses `defineXmVitestConfig(import.meta.url, ...)` so aliases are injected.
247
-
248
- ## TypeScript Composite Build System
249
-
250
- This package introduced TypeScript project references for proper build-order management in the monorepo.
251
-
252
- ### What This Means
253
-
254
- - **Root `tsconfig.json`** coordinates all packages via `references` array
255
- - **Each package** has `composite: true` enabling incremental builds
256
- - **Packages with dependencies** declare `references` to their deps
257
- - **TypeScript builds in correct order automatically** (no manual sequencing needed)
258
-
259
- ### Building
129
+ // vite.config.ts
130
+ import { defineConfig } from "vite";
131
+ import { xmResolve } from "@xmachines/shared/vite-aliases";
260
132
 
261
- ```bash
262
- npm run build # Root-level tsc --build handles everything
263
- npm run build -w <pkg> # Automatically builds dependencies first
133
+ export default defineConfig({
134
+ resolve: xmResolve(import.meta.url),
135
+ });
264
136
  ```
265
137
 
266
- The root build command uses `tsc --build` which:
267
-
268
- - Understands the dependency graph
269
- - Builds packages in correct order
270
- - Only rebuilds changed packages (incremental)
271
- - Produces `.d.ts.map` files for IDE navigation
138
+ Use `xmAliases` for alias-only setup, or `xmResolve` for the full resolve config including `conditions: ["source"]` and `preserveSymlinks: true`.
272
139
 
273
- ### Declaration Maps
140
+ For browser test projects, use `xmOptimizeDeps` to pre-bundle packages and avoid mid-run optimizer restarts, and `xmCacheDir` to share a single Vite dep cache across the workspace:
274
141
 
275
- The base config enables **declaration maps** (`declarationMap: true`) for better IDE experience in composite projects.
276
-
277
- When TypeScript compiles with `declarationMap: true`, it produces `.d.ts.map` files that map type definitions back to source. This enables:
278
-
279
- - **Go to Definition** jumps to `.ts` source files (not compiled `.d.ts`)
280
- - **Rename refactoring** works across package boundaries
281
- - **Error messages** reference source locations
282
-
283
- **Cost:** Slightly larger `dist/` output (~10% more)
284
- **Benefit:** Dramatically better IDE experience
285
-
286
- ### Project References
287
-
288
- Packages with internal dependencies should declare `references` in their `tsconfig.json`:
142
+ ```typescript
143
+ import { xmResolve, xmOptimizeDeps, xmCacheDir } from "@xmachines/shared/vite-aliases";
289
144
 
290
- ```json
291
- {
292
- "extends": "@xmachines/shared/tsconfig",
293
- "compilerOptions": {
294
- "composite": true,
295
- "rootDir": "./src",
296
- "outDir": "./dist"
297
- },
298
- "references": [{ "path": "../dependency-package" }]
299
- }
145
+ export default defineConfig({
146
+ cacheDir: xmCacheDir(import.meta.url, "my-project"),
147
+ resolve: xmResolve(import.meta.url),
148
+ optimizeDeps: xmOptimizeDeps(["my-framework-package"]),
149
+ });
300
150
  ```
301
151
 
302
- The root `tsconfig.json` maintains the full package reference graph, enabling TypeScript to:
303
-
304
- - Build packages in correct dependency order
305
- - Support incremental builds (only rebuild what changed)
306
- - Enable cross-package type checking and navigation
307
-
308
- ### Adding New Packages
152
+ ## Key TypeScript Settings
309
153
 
310
- When creating a new package:
154
+ The base `config/tsconfig.json` configures:
311
155
 
312
- 1. **Add to root tsconfig.json references:**
156
+ - **Target:** `ESNext`, **Module:** `NodeNext` with `moduleResolution: NodeNext`
157
+ - **Strict mode:** full strict, `noUnusedLocals`, `noUnusedParameters`, `exactOptionalPropertyTypes`, `noImplicitReturns`, `noImplicitOverride`
158
+ - **Emit:** `declaration`, `declarationMap`, `sourceMap` enabled
159
+ - **Interop:** `verbatimModuleSyntax`, `isolatedModules`
160
+ - **Custom condition:** `"source"` — used by `xmAliases` to resolve packages to TypeScript source in dev/test
313
161
 
314
- ```json
315
- {
316
- "references": [{ "path": "./packages/your-new-package" }]
317
- }
318
- ```
162
+ ## Testing
319
163
 
320
- 2. **Enable composite in package tsconfig.json:**
321
-
322
- ```json
323
- {
324
- "extends": "@xmachines/shared/tsconfig",
325
- "compilerOptions": {
326
- "composite": true,
327
- "rootDir": "./src",
328
- "outDir": "./dist"
329
- }
330
- }
331
- ```
332
-
333
- 3. **Declare dependencies (if any):**
334
- ```json
335
- {
336
- "references": [{ "path": "../dependency-package" }]
337
- }
338
- ```
339
-
340
- ### IDE Benefits
341
-
342
- With `declarationMap: true` in the base config:
343
-
344
- - **Go to Definition** jumps to source files (not compiled `.d.ts`)
345
- - **Real-time errors** across package boundaries
346
- - **Refactoring works** across the entire monorepo
347
-
348
- No build required for IDE features - TypeScript understands the source graph directly.
349
-
350
- See `AGENTS.md` (section: TypeScript Composite Build System) for complete composite build documentation.
351
-
352
- ## Adding New Configurations
353
-
354
- To add a new shared configuration (e.g., for Jest, Vitest, etc.):
164
+ ```bash
165
+ # Run tests for this package
166
+ pnpm --filter @xmachines/shared test
355
167
 
356
- 1. Create `config/<tool>.json` (or `.js`, `.ts` as appropriate)
357
- 2. Add exports to `package.json` exports field:
358
- ```json
359
- {
360
- "exports": {
361
- "./<tool>": "./config/<tool>.json",
362
- "./config/<tool>.json": "./config/<tool>.json"
363
- }
364
- }
365
- ```
366
- 3. Document in this README with usage examples
367
- 4. Note whether the tool supports package exports or requires relative paths
168
+ # Or from the package directory
169
+ pnpm test
170
+ ```
368
171
 
369
172
  ## License
370
173
 
371
- Copyright (c) 2016 [Mikael Karon](mailto:mikael@karon.se). All rights reserved.
372
-
373
- This work is licensed under the terms of the MIT license.
374
- For a copy, see <https://opensource.org/licenses/MIT>.
174
+ MIT see [LICENSE](LICENSE).
375
175
 
376
- ## Functions
176
+ ## Modules
377
177
 
378
- - [defineXmVitestConfig](functions/defineXmVitestConfig.md)
379
- - [xmAliases](functions/xmAliases.md)
178
+ - [vite-aliases](vite-aliases/README.md)
179
+ - [vitest](vitest/README.md)
@@ -0,0 +1,11 @@
1
+ [API](../../../README.md) / [@xmachines/shared](../README.md) / vite-aliases
2
+
3
+ # vite-aliases
4
+
5
+ ## Functions
6
+
7
+ - [xmAliases](functions/xmAliases.md)
8
+ - [xmCacheDir](functions/xmCacheDir.md)
9
+ - [xmOptimizeDeps](functions/xmOptimizeDeps.md)
10
+ - [xmResolve](functions/xmResolve.md)
11
+ - [xmSvelteRunes](functions/xmSvelteRunes.md)
@@ -0,0 +1,38 @@
1
+ [API](../../../../README.md) / [@xmachines/shared](../../README.md) / [vite-aliases](../README.md) / xmAliases
2
+
3
+ # Function: xmAliases()
4
+
5
+ ```ts
6
+ function xmAliases(importMetaUrl): Record<string, string>;
7
+ ```
8
+
9
+ Defined in: [vite-aliases.ts:221](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/shared/config/vite-aliases.ts#L221)
10
+
11
+ Vite resolve.alias entries for all @xmachines/* workspace packages.
12
+
13
+ Maps every package to its TypeScript source entry so that `pnpm run dev`
14
+ works without a prior `pnpm run build`. Required because `pnpm run clean`
15
+ removes all dist/ directories — including transitive dependencies —
16
+ leaving Vite unable to resolve package.json `exports` that point to dist/.
17
+
18
+ The map is derived from the workspace layout at config-load time (see
19
+ `buildAliases`), so adding a new package needs no edit here. A few
20
+ special-case subpath aliases are maintained explicitly on top.
21
+
22
+ Usage in a demo vite.config.ts:
23
+
24
+ import { xmAliases } from "@xmachines/shared/vite-aliases";
25
+
26
+ export default defineConfig({
27
+ resolve: { alias: xmAliases(import.meta.url) },
28
+ });
29
+
30
+ ## Parameters
31
+
32
+ | Parameter | Type | Description |
33
+ | --------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------ |
34
+ | `importMetaUrl` | `string` | Pass `import.meta.url` from the calling config file. Used to locate the workspace root (the directory containing `packages/`). |
35
+
36
+ ## Returns
37
+
38
+ `Record`\<`string`, `string`\>
@@ -0,0 +1,27 @@
1
+ [API](../../../../README.md) / [@xmachines/shared](../../README.md) / [vite-aliases](../README.md) / xmCacheDir
2
+
3
+ # Function: xmCacheDir()
4
+
5
+ ```ts
6
+ function xmCacheDir(importMetaUrl, name): string;
7
+ ```
8
+
9
+ Defined in: [vite-aliases.ts:333](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/shared/config/vite-aliases.ts#L333)
10
+
11
+ Returns the shared Vite `cacheDir` for this workspace package.
12
+
13
+ All browser test projects use a single cache under `<workspace-root>/node_modules/.vite/`
14
+ keyed by the project name. This means the dep optimizer runs once per project
15
+ across the whole workspace rather than once per local `node_modules/.vite/` directory,
16
+ and a lockfile change only triggers one rebuild per project — not one per local cache.
17
+
18
+ ## Parameters
19
+
20
+ | Parameter | Type | Description |
21
+ | --------------- | -------- | ---------------------------------------------------- |
22
+ | `importMetaUrl` | `string` | Pass `import.meta.url` from the calling config file. |
23
+ | `name` | `string` | Unique project name (matches `test.name`). |
24
+
25
+ ## Returns
26
+
27
+ `string`
@@ -0,0 +1,35 @@
1
+ [API](../../../../README.md) / [@xmachines/shared](../../README.md) / [vite-aliases](../README.md) / xmOptimizeDeps
2
+
3
+ # Function: xmOptimizeDeps()
4
+
5
+ ```ts
6
+ function xmOptimizeDeps(include?): DepOptimizationOptions;
7
+ ```
8
+
9
+ Defined in: [vite-aliases.ts:291](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/shared/config/vite-aliases.ts#L291)
10
+
11
+ Returns the standard Vite `optimizeDeps` config for browser test projects.
12
+
13
+ Tells Vite's dep optimizer which packages to pre-bundle at startup rather than
14
+ discovering them lazily at runtime. Without this, adding or changing dependencies
15
+ (e.g. a lockfile change) causes Vite to re-optimize mid-run, producing the
16
+ "Re-optimizing dependencies because lockfile has changed" warnings that slow down
17
+ and occasionally destabilise browser test runs.
18
+
19
+ Every entry has to be a dependency the calling package declares. pnpm gives each
20
+ package its own `node_modules`, so a specifier the project does not declare cannot
21
+ be resolved from its root — and the optimizer only warns: `Failed to resolve
22
+ dependency: <name>, present in client 'optimizeDeps.include'` on stderr, with the
23
+ run carrying on. That reads as a failure inside a passing job, and it hides the
24
+ same message when it is real. So nothing is pre-bundled by default: pass the
25
+ packages this project actually depends on.
26
+
27
+ ## Parameters
28
+
29
+ | Parameter | Type | Default value | Description |
30
+ | --------- | ---------- | ------------- | -------------------------------------------------------------- |
31
+ | `include` | `string`[] | `[]` | Package specifiers to pre-bundle, each declared by the caller. |
32
+
33
+ ## Returns
34
+
35
+ `DepOptimizationOptions`
@@ -0,0 +1,42 @@
1
+ [API](../../../../README.md) / [@xmachines/shared](../../README.md) / [vite-aliases](../README.md) / xmResolve
2
+
3
+ # Function: xmResolve()
4
+
5
+ ```ts
6
+ function xmResolve(importMetaUrl, extra?): ResolveOptions & object;
7
+ ```
8
+
9
+ Defined in: [vite-aliases.ts:258](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/shared/config/vite-aliases.ts#L258)
10
+
11
+ Full Vite `resolve` config for @xmachines/* workspace packages.
12
+
13
+ Combines `xmAliases` with `conditions: ["source"]` so Vite resolves every
14
+ `@xmachines/*` package to its TypeScript source via the `"source"` export
15
+ condition — without requiring a prior `pnpm run build`.
16
+
17
+ `preserveSymlinks` defaults to `false`: under pnpm every dependency is a
18
+ symlink into the content-addressed store, and preserving symlink paths
19
+ prevents Vite from deduplicating packages and from resolving nested
20
+ dependencies of pre-bundled modules (vitest's own browser-mode chunks fail
21
+ to load). Callers can still override it explicitly.
22
+
23
+ Use this instead of manually setting `resolve.alias: xmAliases(...)`:
24
+
25
+ ```ts
26
+ import { xmResolve } from "@xmachines/shared/vite-aliases";
27
+
28
+ export default defineConfig({
29
+ resolve: xmResolve(import.meta.url),
30
+ });
31
+ ```
32
+
33
+ ## Parameters
34
+
35
+ | Parameter | Type | Description |
36
+ | --------------- | ---------------------------------------- | ---------------------------------------------------- |
37
+ | `importMetaUrl` | `string` | Pass `import.meta.url` from the calling config file. |
38
+ | `extra?` | `Partial`\<`ResolveOptions` & `object`\> | - |
39
+
40
+ ## Returns
41
+
42
+ `ResolveOptions` & `object`
@@ -0,0 +1,33 @@
1
+ [API](../../../../README.md) / [@xmachines/shared](../../README.md) / [vite-aliases](../README.md) / xmSvelteRunes
2
+
3
+ # Function: xmSvelteRunes()
4
+
5
+ ```ts
6
+ function xmSvelteRunes(): object;
7
+ ```
8
+
9
+ Defined in: [vite-aliases.ts:312](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/shared/config/vite-aliases.ts#L312)
10
+
11
+ Svelte plugin options that enforce runes mode for workspace sources only.
12
+
13
+ Forcing `compilerOptions.runes` globally also applies to third-party
14
+ `.svelte` files pulled in through Vite dependency optimization — e.g.
15
+ `@testing-library/svelte-core`'s `wrapper-scaffold-legacy.svelte`, which is
16
+ intentionally written in legacy syntax and fails to compile in runes mode.
17
+ Scoping the flag with `dynamicCompileOptions` keeps the strictness for our
18
+ own components while letting node_modules compile in their intended mode.
19
+
20
+ Usage:
21
+
22
+ import { svelte } from "@sveltejs/vite-plugin-svelte";
23
+ import { xmSvelteRunes } from "@xmachines/shared/vite-aliases";
24
+
25
+ export default defineConfig({ plugins: [svelte(xmSvelteRunes())] });
26
+
27
+ ## Returns
28
+
29
+ `object`
30
+
31
+ | Name | Type | Defined in |
32
+ | ------------------------- | ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
33
+ | `dynamicCompileOptions()` | (`data`) => \| \{ `runes`: `boolean`; \} \| `undefined` | [vite-aliases.ts:313](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/shared/config/vite-aliases.ts#L313) |