@xmachines/docs 1.0.0-beta.9 → 1.0.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.
- package/README.md +137 -7
- package/api/@xmachines/play/README.md +160 -38
- package/api/@xmachines/play/classes/NonNullableError.md +189 -0
- package/api/@xmachines/play/classes/PlayError.md +251 -0
- package/api/@xmachines/play/functions/assertNonNullable.md +56 -0
- package/api/@xmachines/play/type-aliases/PlayEvent.md +6 -6
- package/api/@xmachines/play-actor/README.md +141 -160
- package/api/@xmachines/play-actor/classes/AbstractActor.md +91 -122
- package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +40 -0
- package/api/@xmachines/play-actor/functions/toAtomState.md +33 -0
- package/api/@xmachines/play-actor/functions/typedSpec.md +54 -0
- package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +46 -0
- package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +33 -0
- package/api/@xmachines/play-actor/interfaces/PlaySpec.md +28 -0
- package/api/@xmachines/play-actor/interfaces/Routable.md +6 -21
- package/api/@xmachines/play-actor/interfaces/Viewable.md +12 -6
- package/api/@xmachines/play-dom/README.md +384 -0
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +115 -0
- package/api/@xmachines/play-dom/functions/createPlayUI.md +28 -0
- package/api/@xmachines/play-dom/functions/createRenderer.md +44 -0
- package/api/@xmachines/play-dom/functions/defineRegistry.md +26 -0
- package/api/@xmachines/play-dom/functions/renderSpec.md +67 -0
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +23 -0
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +34 -0
- package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +17 -0
- package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +28 -0
- package/api/@xmachines/play-dom/interfaces/EventHandle.md +15 -0
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +18 -0
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +30 -0
- package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +26 -0
- package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +32 -0
- package/api/@xmachines/play-dom/type-aliases/ActionFn.md +46 -0
- package/api/@xmachines/play-dom/type-aliases/Actions.md +18 -0
- package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +114 -0
- package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +25 -0
- package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +26 -0
- package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +15 -0
- package/api/@xmachines/play-dom/type-aliases/ConfirmHandler.md +44 -0
- package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +39 -0
- package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +20 -0
- package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +9 -0
- package/api/@xmachines/play-dom/type-aliases/DomSchema.md +9 -0
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +27 -0
- package/api/@xmachines/play-dom/type-aliases/RenderErrorHandler.md +23 -0
- package/api/@xmachines/play-dom/type-aliases/SetState.md +30 -0
- package/api/@xmachines/play-dom/variables/schema.md +62 -0
- package/api/@xmachines/play-dom-router/README.md +271 -0
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +43 -0
- package/api/@xmachines/{play-router → play-dom-router}/functions/createBrowserHistory.md +10 -2
- package/api/@xmachines/play-dom-router/functions/createRouteMap.md +39 -0
- package/api/@xmachines/play-dom-router/functions/createRouter.md +54 -0
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +176 -0
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +69 -0
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +15 -0
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +129 -0
- package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +68 -0
- package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +54 -0
- package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +121 -0
- package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +27 -0
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +104 -0
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +28 -0
- package/api/@xmachines/play-react/README.md +185 -334
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +46 -42
- package/api/@xmachines/play-react/functions/ActionProvider.md +21 -0
- package/api/@xmachines/play-react/functions/JSONUIProvider.md +21 -0
- package/api/@xmachines/play-react/functions/Renderer.md +21 -0
- package/api/@xmachines/play-react/functions/StateProvider.md +27 -0
- package/api/@xmachines/play-react/functions/ValidationProvider.md +21 -0
- package/api/@xmachines/play-react/functions/VisibilityProvider.md +21 -0
- package/api/@xmachines/play-react/functions/defineRegistry.md +49 -0
- package/api/@xmachines/play-react/functions/useActor.md +13 -0
- package/api/@xmachines/play-react/functions/useBoundProp.md +45 -0
- package/api/@xmachines/play-react/functions/usePlayView.md +32 -0
- package/api/@xmachines/play-react/functions/useSignalEffect.md +29 -20
- package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +15 -0
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +27 -0
- package/api/@xmachines/play-react/interfaces/ComponentContext.md +37 -0
- package/api/@xmachines/play-react/interfaces/JSONUIProviderProps.md +22 -0
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +7 -7
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +26 -0
- package/api/@xmachines/play-react/interfaces/RendererProps.md +17 -0
- package/api/@xmachines/play-react/interfaces/StateProviderProps.md +16 -0
- package/api/@xmachines/play-react/interfaces/ValidationProviderProps.md +14 -0
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +20 -0
- package/api/@xmachines/play-react/interfaces/VisibilityProviderProps.md +13 -0
- package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +11 -0
- package/api/@xmachines/play-react/type-aliases/ComponentFn.md +36 -0
- package/api/@xmachines/play-react/type-aliases/RenderErrorHandler.md +23 -0
- package/api/@xmachines/play-react/variables/ActorProvider.md +33 -0
- package/api/@xmachines/play-react/variables/PlayRenderer.md +6 -56
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +43 -0
- package/api/@xmachines/play-react-router/README.md +130 -114
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +19 -242
- package/api/@xmachines/play-react-router/classes/RouteMap.md +48 -36
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +45 -0
- package/api/@xmachines/play-react-router/functions/createRouteMap.md +39 -0
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +23 -12
- package/api/@xmachines/play-react-router/interfaces/PlayActor.md +68 -0
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +22 -12
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +25 -9
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +19 -9
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +8 -8
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
- package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +32 -0
- package/api/@xmachines/play-router/README.md +275 -353
- package/api/@xmachines/play-router/classes/RouteMap.md +149 -0
- package/api/@xmachines/play-router/classes/RouterBridgeBase.md +21 -221
- package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +32 -0
- package/api/@xmachines/play-router/functions/buildRouteTree.md +12 -2
- package/api/@xmachines/play-router/functions/createRouteMap.md +22 -36
- package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +46 -0
- package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +14 -7
- package/api/@xmachines/play-router/functions/extractMachineRoutes.md +10 -46
- package/api/@xmachines/play-router/functions/extractQuery.md +22 -0
- package/api/@xmachines/play-router/functions/extractRouteParams.md +54 -0
- package/api/@xmachines/play-router/functions/findRouteById.md +2 -2
- package/api/@xmachines/play-router/functions/findRouteByPath.md +2 -2
- package/api/@xmachines/play-router/functions/getNavigableRoutes.md +2 -2
- package/api/@xmachines/play-router/functions/getRoutableRoutes.md +2 -2
- package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +43 -0
- package/api/@xmachines/play-router/functions/isRouteReachable.md +38 -0
- package/api/@xmachines/play-router/functions/machineToGraph.md +19 -0
- package/api/@xmachines/play-router/functions/routeExists.md +2 -2
- package/api/@xmachines/play-router/functions/sanitizePathname.md +40 -0
- package/api/@xmachines/play-router/functions/validateRouteFormat.md +10 -9
- package/api/@xmachines/play-router/functions/validateStateExists.md +9 -9
- package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +13 -0
- package/api/@xmachines/play-router/interfaces/LocationLike.md +27 -0
- package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +15 -0
- package/api/@xmachines/play-router/interfaces/MachineNodeData.md +17 -0
- package/api/@xmachines/play-router/interfaces/PlayActor.md +68 -0
- package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +22 -12
- package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +17 -0
- package/api/@xmachines/play-router/interfaces/RoutableActor.md +64 -0
- package/api/@xmachines/play-router/interfaces/RouteInfo.md +11 -11
- package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-router/interfaces/RouteMapping.md +27 -0
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +12 -0
- package/api/@xmachines/play-router/interfaces/RouteNode.md +13 -13
- package/api/@xmachines/play-router/interfaces/RouteObject.md +5 -5
- package/api/@xmachines/play-router/interfaces/RouteTree.md +8 -7
- package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +55 -0
- package/api/@xmachines/play-router/interfaces/RouterBridge.md +8 -8
- package/api/@xmachines/play-router/interfaces/WindowLike.md +65 -0
- package/api/@xmachines/play-router/type-aliases/MachineGraph.md +20 -0
- package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +2 -2
- package/api/@xmachines/play-signals/README.md +116 -65
- package/api/@xmachines/play-signals/functions/watchSignal.md +42 -0
- package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +7 -5
- package/api/@xmachines/play-signals/interfaces/SignalComputed.md +3 -3
- package/api/@xmachines/play-signals/interfaces/SignalOptions.md +7 -5
- package/api/@xmachines/play-signals/interfaces/SignalState.md +4 -4
- package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +5 -5
- package/api/@xmachines/play-signals/namespaces/Signal/README.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +7 -7
- package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +8 -8
- package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +7 -7
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/README.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +9 -9
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +2 -2
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +2 -2
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +2 -2
- package/api/@xmachines/play-solid/README.md +196 -234
- package/api/@xmachines/play-solid/functions/ActionProvider.md +19 -0
- package/api/@xmachines/play-solid/functions/JSONUIProvider.md +21 -0
- package/api/@xmachines/play-solid/functions/Renderer.md +21 -0
- package/api/@xmachines/play-solid/functions/StateProvider.md +19 -0
- package/api/@xmachines/play-solid/functions/ValidationProvider.md +19 -0
- package/api/@xmachines/play-solid/functions/VisibilityProvider.md +20 -0
- package/api/@xmachines/play-solid/functions/defineRegistry.md +49 -0
- package/api/@xmachines/play-solid/functions/useAction.md +24 -0
- package/api/@xmachines/play-solid/functions/useActions.md +13 -0
- package/api/@xmachines/play-solid/functions/useActor.md +13 -0
- package/api/@xmachines/play-solid/functions/useBoundProp.md +45 -0
- package/api/@xmachines/play-solid/functions/useFieldValidation.md +29 -0
- package/api/@xmachines/play-solid/functions/useIsVisible.md +19 -0
- package/api/@xmachines/play-solid/functions/useOptionalValidation.md +13 -0
- package/api/@xmachines/play-solid/functions/usePlayView.md +30 -0
- package/api/@xmachines/play-solid/functions/useStateBinding.md +25 -0
- package/api/@xmachines/play-solid/functions/useStateStore.md +13 -0
- package/api/@xmachines/play-solid/functions/useStateValue.md +25 -0
- package/api/@xmachines/play-solid/functions/useVisibility.md +13 -0
- package/api/@xmachines/play-solid/interfaces/ActionProviderProps.md +12 -0
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +30 -0
- package/api/@xmachines/play-solid/interfaces/ComponentContext.md +37 -0
- package/api/@xmachines/play-solid/interfaces/DefineRegistryResult.md +15 -0
- package/api/@xmachines/play-solid/interfaces/JSONUIProviderProps.md +22 -0
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +26 -0
- package/api/@xmachines/play-solid/interfaces/RendererProps.md +17 -0
- package/api/@xmachines/play-solid/interfaces/StateProviderProps.md +13 -0
- package/api/@xmachines/play-solid/interfaces/ValidationProviderProps.md +11 -0
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +21 -0
- package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +11 -0
- package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +36 -0
- package/api/@xmachines/play-solid/type-aliases/ComponentRegistry.md +11 -0
- package/api/@xmachines/play-solid/type-aliases/RenderErrorHandler.md +23 -0
- package/api/@xmachines/play-solid/type-aliases/SetState.md +21 -0
- package/api/@xmachines/play-solid/type-aliases/VisibilityProviderProps.md +9 -0
- package/api/@xmachines/play-solid/variables/ActorContext.md +13 -0
- package/api/@xmachines/play-solid/variables/ActorProvider.md +27 -0
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +6 -62
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +26 -0
- package/api/@xmachines/play-solid-router/README.md +151 -560
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +31 -32
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +27 -242
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +44 -0
- package/api/@xmachines/play-solid-router/functions/createRouteMap.md +18 -11
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +84 -115
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +68 -0
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +22 -12
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +30 -0
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +25 -9
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +20 -7
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +8 -8
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +34 -0
- package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +8 -4
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +22 -19
- package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +52 -0
- package/api/@xmachines/play-svelte/README.md +269 -0
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +31 -0
- package/api/@xmachines/play-svelte/functions/getActorContext.md +21 -0
- package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +19 -0
- package/api/@xmachines/play-svelte/functions/setActorContext.md +19 -0
- package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +44 -0
- package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +29 -0
- package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +29 -0
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +24 -0
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +43 -0
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +24 -0
- package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +30 -0
- package/api/@xmachines/play-svelte/type-aliases/Actions.md +17 -0
- package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +11 -0
- package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +18 -0
- package/api/@xmachines/play-svelte/type-aliases/JSONUIProviderProps.md +7 -0
- package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +9 -0
- package/api/@xmachines/play-svelte/type-aliases/RenderErrorHandler.md +23 -0
- package/api/@xmachines/play-svelte/type-aliases/SetState.md +21 -0
- package/api/@xmachines/play-svelte/variables/PlayRenderer.md +9 -0
- package/api/@xmachines/play-svelte-spa-router/README.md +199 -0
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +149 -0
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +32 -0
- package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +39 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +17 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +129 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +27 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +104 -0
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +65 -0
- package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +9 -0
- package/api/@xmachines/play-sveltekit-router/README.md +211 -0
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +149 -0
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +32 -0
- package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +39 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +13 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +27 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +129 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +27 -0
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +104 -0
- package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +9 -0
- package/api/@xmachines/play-tanstack-react-router/README.md +155 -126
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +48 -36
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +31 -252
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +45 -0
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +22 -36
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +23 -12
- package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +28 -0
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +68 -0
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +22 -12
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +25 -9
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +19 -9
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +8 -8
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +2 -2
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +40 -18
- package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +34 -0
- package/api/@xmachines/play-tanstack-router/README.md +58 -0
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +131 -0
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +57 -0
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +100 -0
- package/api/@xmachines/play-tanstack-solid-router/README.md +215 -175
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +31 -32
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +121 -0
- package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +44 -0
- package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +18 -11
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +68 -0
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +22 -12
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +31 -0
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +23 -9
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +14 -10
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +8 -8
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +8 -4
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +40 -18
- package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +33 -0
- package/api/@xmachines/play-vue/README.md +192 -210
- package/api/@xmachines/play-vue/functions/defineRegistry.md +32 -0
- package/api/@xmachines/play-vue/functions/getPlayViewContext.md +28 -0
- package/api/@xmachines/play-vue/functions/useActor.md +13 -0
- package/api/@xmachines/play-vue/functions/useBoundProp.md +45 -0
- package/api/@xmachines/play-vue/interfaces/ActionProviderProps.md +12 -0
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +25 -0
- package/api/@xmachines/play-vue/interfaces/ComponentContext.md +37 -0
- package/api/@xmachines/play-vue/interfaces/DefineRegistryResult.md +15 -0
- package/api/@xmachines/play-vue/interfaces/JSONUIProviderProps.md +21 -0
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +24 -0
- package/api/@xmachines/play-vue/interfaces/RendererProps.md +17 -0
- package/api/@xmachines/play-vue/interfaces/StateProviderProps.md +15 -0
- package/api/@xmachines/play-vue/interfaces/ValidationProviderProps.md +11 -0
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +21 -0
- package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +5 -0
- package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +11 -0
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +16 -0
- package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +35 -0
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +15 -0
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +22 -0
- package/api/@xmachines/play-vue/type-aliases/RenderErrorHandler.md +23 -0
- package/api/@xmachines/play-vue/variables/ActionProvider.md +64 -0
- package/api/@xmachines/play-vue/variables/JSONUIProvider.md +105 -0
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +2 -2
- package/api/@xmachines/play-vue/variables/Renderer.md +88 -0
- package/api/@xmachines/play-vue/variables/StateProvider.md +79 -0
- package/api/@xmachines/play-vue/variables/ValidationProvider.md +55 -0
- package/api/@xmachines/play-vue/variables/VisibilityProvider.md +40 -0
- package/api/@xmachines/play-vue-router/README.md +173 -487
- package/api/@xmachines/play-vue-router/classes/RouteMap.md +56 -116
- package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +23 -271
- package/api/@xmachines/play-vue-router/functions/createRouteMap.md +26 -6
- package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +68 -0
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +22 -12
- package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +13 -0
- package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +20 -8
- package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +8 -8
- package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +8 -4
- package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +12 -6
- package/api/@xmachines/play-xstate/README.md +178 -347
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +161 -191
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +31 -20
- package/api/@xmachines/play-xstate/functions/composeGuards.md +2 -2
- package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +2 -2
- package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +38 -0
- package/api/@xmachines/play-xstate/functions/definePlayer.md +14 -63
- package/api/@xmachines/play-xstate/functions/deriveRoute.md +3 -3
- package/api/@xmachines/play-xstate/functions/eventMatches.md +2 -2
- package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +3 -3
- package/api/@xmachines/play-xstate/functions/hasContext.md +2 -2
- package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +2 -2
- package/api/@xmachines/play-xstate/functions/negateGuard.md +2 -2
- package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +10 -14
- package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +22 -0
- package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +12 -13
- package/api/@xmachines/play-xstate/interfaces/RouteContext.md +15 -13
- package/api/@xmachines/play-xstate/interfaces/RouteObject.md +17 -0
- package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +2 -2
- package/api/@xmachines/play-xstate/type-aliases/Guard.md +2 -2
- package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +3 -3
- package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +10 -9
- package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +15 -5
- package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +9 -0
- package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +22 -6
- package/api/@xmachines/shared/README.md +95 -295
- package/api/@xmachines/shared/vite-aliases/README.md +11 -0
- package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +38 -0
- package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +27 -0
- package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +30 -0
- package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +42 -0
- package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +33 -0
- package/api/@xmachines/shared/vitest/README.md +12 -0
- package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +42 -0
- package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +34 -0
- package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +16 -0
- package/api/README.md +6 -7
- package/api/llms.txt +72 -23
- package/contributing/README.md +10 -0
- package/contributing/architecture.md +599 -0
- package/contributing/configuration.md +368 -0
- package/contributing/deployment.md +312 -0
- package/contributing/development.md +464 -0
- package/contributing/testing.md +453 -0
- package/examples/@xmachines/play-dom-demo/README.md +181 -0
- package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +24 -0
- package/examples/@xmachines/play-dom-demo/functions/initShell.md +24 -0
- package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-dom-demo/variables/About.md +12 -0
- package/examples/@xmachines/play-dom-demo/variables/Contact.md +12 -0
- package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/Home.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/Login.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +16 -0
- package/examples/@xmachines/play-dom-demo/variables/Navigation.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/Overview.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/Profile.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/Settings.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/Stats.md +13 -0
- package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-dom-router-demo/README.md +145 -0
- package/examples/@xmachines/play-react-demo/README.md +187 -0
- package/examples/@xmachines/play-react-demo/functions/App.md +13 -0
- package/examples/@xmachines/play-react-demo/functions/DebugPanel.md +20 -0
- package/examples/@xmachines/play-react-demo/functions/HeaderNav.md +20 -0
- package/examples/@xmachines/play-react-demo/functions/Shell.md +22 -0
- package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-react-demo/variables/About.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/Contact.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/Dashboard.md +15 -0
- package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +15 -0
- package/examples/@xmachines/play-react-demo/variables/Home.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/Login.md +16 -0
- package/examples/@xmachines/play-react-demo/variables/NavBar.md +16 -0
- package/examples/@xmachines/play-react-demo/variables/NavBarView.md +15 -0
- package/examples/@xmachines/play-react-demo/variables/Navigation.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/Overview.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/Profile.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/Settings.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/Shell.md +18 -0
- package/examples/@xmachines/play-react-demo/variables/Stats.md +14 -0
- package/examples/@xmachines/play-react-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-react-router-demo/README.md +151 -0
- package/examples/@xmachines/play-solid-demo/README.md +187 -0
- package/examples/@xmachines/play-solid-demo/functions/App.md +13 -0
- package/examples/@xmachines/play-solid-demo/functions/DebugPanel.md +20 -0
- package/examples/@xmachines/play-solid-demo/functions/HeaderNav.md +20 -0
- package/examples/@xmachines/play-solid-demo/functions/Shell.md +22 -0
- package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/About.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/Contact.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +15 -0
- package/examples/@xmachines/play-solid-demo/variables/Home.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/Login.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/NavBar.md +11 -0
- package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +15 -0
- package/examples/@xmachines/play-solid-demo/variables/Navigation.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/Overview.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/Profile.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/Settings.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/Shell.md +17 -0
- package/examples/@xmachines/play-solid-demo/variables/Stats.md +9 -0
- package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-solid-router-demo/README.md +137 -0
- package/examples/@xmachines/play-svelte-demo/README.md +143 -0
- package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +9 -0
- package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-demo/variables/App.md +9 -0
- package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-svelte-spa-router-demo/README.md +129 -0
- package/examples/@xmachines/play-sveltekit-router-demo/README.md +133 -0
- package/examples/@xmachines/play-tanstack-react-router-demo/README.md +156 -0
- package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +139 -0
- package/examples/@xmachines/play-vue-demo/README.md +183 -0
- package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-vue-demo/variables/App.md +9 -0
- package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-vue-router-demo/README.md +139 -0
- package/examples/README.md +78 -30
- package/examples/basic-state-machine.md +75 -31
- package/examples/form-validation.md +261 -118
- package/examples/multi-router-integration.md +314 -194
- package/examples/routing-patterns.md +230 -189
- package/examples/traffic-light.md +114 -65
- package/guides/README.md +9 -21
- package/guides/actor-model.md +180 -0
- package/guides/getting-started.md +619 -137
- package/guides/signals.md +166 -0
- package/guides/state-machines.md +284 -0
- package/package.json +18 -7
- package/rfc/broker.md +100 -0
- package/rfc/browser.md +44 -0
- package/rfc/cli.md +118 -0
- package/rfc/git.md +61 -0
- package/rfc/mcp.md +43 -0
- package/rfc/node.md +36 -0
- package/rfc/play.md +472 -0
- package/rfc/rest.md +102 -0
- package/rfc/run.md +159 -0
- package/rfc/streams.md +168 -0
- package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +0 -17
- package/api/@xmachines/play-catalog/README.md +0 -331
- package/api/@xmachines/play-catalog/functions/defineCatalog.md +0 -98
- package/api/@xmachines/play-catalog/functions/defineComponents.md +0 -134
- package/api/@xmachines/play-catalog/type-aliases/Catalog.md +0 -48
- package/api/@xmachines/play-catalog/type-aliases/ComponentsFor.md +0 -20
- package/api/@xmachines/play-catalog/type-aliases/InferComponentProps.md +0 -65
- package/api/@xmachines/play-catalog/type-aliases/NoExtraKeys.md +0 -17
- package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +0 -15
- package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +0 -19
- package/api/@xmachines/play-react-router-demo/README.md +0 -137
- package/api/@xmachines/play-router/classes/BaseRouteMap.md +0 -142
- package/api/@xmachines/play-router/functions/connectRouter.md +0 -67
- package/api/@xmachines/play-router/functions/crawlMachine.md +0 -92
- package/api/@xmachines/play-router/functions/createRouter.md +0 -76
- package/api/@xmachines/play-router/functions/extractRoute.md +0 -45
- package/api/@xmachines/play-router/interfaces/BaseRouteMapping.md +0 -27
- package/api/@xmachines/play-router/interfaces/BrowserHistory.md +0 -172
- package/api/@xmachines/play-router/interfaces/BrowserWindow.md +0 -69
- package/api/@xmachines/play-router/interfaces/ConnectRouterOptions.md +0 -13
- package/api/@xmachines/play-router/interfaces/RouteMap.md +0 -56
- package/api/@xmachines/play-router/interfaces/StateVisit.md +0 -15
- package/api/@xmachines/play-router/interfaces/VanillaRouter.md +0 -28
- package/api/@xmachines/play-router-demo/README.md +0 -137
- package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +0 -15
- package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +0 -19
- package/api/@xmachines/play-solid-router-demo/README.md +0 -127
- package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +0 -19
- package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +0 -38
- package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +0 -33
- package/api/@xmachines/play-tanstack-react-router/variables/extractMachineRoutes.md +0 -64
- package/api/@xmachines/play-tanstack-react-router-demo/README.md +0 -126
- package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +0 -343
- package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +0 -19
- package/api/@xmachines/play-tanstack-solid-router-demo/README.md +0 -126
- package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +0 -14
- package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +0 -201
- package/api/@xmachines/play-vue-router-demo/README.md +0 -133
- package/api/@xmachines/play-xstate/functions/mergeViewProps.md +0 -26
- package/api/@xmachines/play-xstate/functions/stateMatches.md +0 -25
- package/api/@xmachines/play-xstate/functions/validateComponentBinding.md +0 -39
- package/api/@xmachines/play-xstate/functions/validateViewProps.md +0 -80
- package/api/@xmachines/play-xstate/interfaces/CatalogEntry.md +0 -16
- package/api/@xmachines/play-xstate/type-aliases/Catalog.md +0 -21
- package/api/@xmachines/play-xstate/type-aliases/ValidationResult.md +0 -17
- package/api/@xmachines/play-xstate/type-aliases/ViewMergeContext.md +0 -35
- package/api/@xmachines/shared/functions/defineXmVitestConfig.md +0 -29
- package/api/@xmachines/shared/functions/xmAliases.md +0 -24
- package/guides/installation.md +0 -323
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
[
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / PlayerFactory
|
|
2
2
|
|
|
3
3
|
# Type Alias: PlayerFactory\<TMachine\>
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
|
-
type PlayerFactory<TMachine> = (input?) => PlayerActor<TMachine>;
|
|
6
|
+
type PlayerFactory<TMachine> = (input?, options?) => PlayerActor<TMachine>;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/types.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/types.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/types.ts#L57)
|
|
10
10
|
|
|
11
11
|
Factory function returned by definePlayer()
|
|
12
12
|
|
|
@@ -14,15 +14,16 @@ Per CONTEXT.md: Factory supports creating multiple actor instances
|
|
|
14
14
|
|
|
15
15
|
## Type Parameters
|
|
16
16
|
|
|
17
|
-
| Type Parameter
|
|
18
|
-
|
|
|
19
|
-
| `TMachine` _extends_ `AnyStateMachine` |
|
|
17
|
+
| Type Parameter |
|
|
18
|
+
| ---------------------------------------------------------------------------------------------- |
|
|
19
|
+
| `TMachine` _extends_ [`AnyStateMachine`](https://www.jsdocs.io/package/xstate#AnyStateMachine) |
|
|
20
20
|
|
|
21
21
|
## Parameters
|
|
22
22
|
|
|
23
|
-
| Parameter
|
|
24
|
-
|
|
|
25
|
-
| `input?`
|
|
23
|
+
| Parameter | Type |
|
|
24
|
+
| ---------- | ----------------------------------------------------------------------------------------- |
|
|
25
|
+
| `input?` | [`InputFrom`](https://www.jsdocs.io/package/xstate#InputFrom)\<`TMachine`\> |
|
|
26
|
+
| `options?` | [`PlayerFactoryResumeOptions`](../interfaces/PlayerFactoryResumeOptions.md)\<`TMachine`\> |
|
|
26
27
|
|
|
27
28
|
## Returns
|
|
28
29
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / RouteMachineConfig
|
|
2
2
|
|
|
3
3
|
# Type Alias: RouteMachineConfig
|
|
4
4
|
|
|
@@ -6,7 +6,17 @@
|
|
|
6
6
|
type RouteMachineConfig = object;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L53)
|
|
10
|
+
|
|
11
|
+
Minimal structural constraint for machine configs accepted by
|
|
12
|
+
`formatPlayRouteTransitions`.
|
|
13
|
+
|
|
14
|
+
This is intentionally loose so the function accepts both the bare `createMachine`
|
|
15
|
+
config object and the stricter `setup().createMachine` config without requiring
|
|
16
|
+
any type casts at the call site. The generic `T extends RouteMachineConfig`
|
|
17
|
+
parameter on `formatPlayRouteTransitions` preserves the original concrete type
|
|
18
|
+
through the transform, so the return value remains directly usable by
|
|
19
|
+
`setup().createMachine()`.
|
|
10
20
|
|
|
11
21
|
## Indexable
|
|
12
22
|
|
|
@@ -22,7 +32,7 @@ Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:2
|
|
|
22
32
|
optional context?: unknown;
|
|
23
33
|
```
|
|
24
34
|
|
|
25
|
-
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:
|
|
35
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L54)
|
|
26
36
|
|
|
27
37
|
---
|
|
28
38
|
|
|
@@ -32,7 +42,7 @@ Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:3
|
|
|
32
42
|
optional on?: Record<string, unknown>;
|
|
33
43
|
```
|
|
34
44
|
|
|
35
|
-
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:
|
|
45
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L56)
|
|
36
46
|
|
|
37
47
|
---
|
|
38
48
|
|
|
@@ -42,4 +52,4 @@ Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:3
|
|
|
42
52
|
optional states?: Record<string, unknown>;
|
|
43
53
|
```
|
|
44
54
|
|
|
45
|
-
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:
|
|
55
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:55](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L55)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / RouteMetadata
|
|
2
|
+
|
|
3
|
+
# Type Alias: RouteMetadata
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type RouteMetadata = string | RouteObject;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-xstate/src/routing/types.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/types.ts#L6)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[
|
|
1
|
+
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / RouteStateNode
|
|
2
2
|
|
|
3
3
|
# Type Alias: RouteStateNode
|
|
4
4
|
|
|
@@ -6,7 +6,14 @@
|
|
|
6
6
|
type RouteStateNode = object;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L15)
|
|
10
|
+
|
|
11
|
+
Minimal structural shape of a single XState state node as read by
|
|
12
|
+
`formatPlayRouteTransitions` when crawling the machine config.
|
|
13
|
+
|
|
14
|
+
Only the fields the function actually inspects are typed here; all other
|
|
15
|
+
state-node fields (e.g. `on`, `entry`, `after`) pass through unmodified via
|
|
16
|
+
the index signature.
|
|
10
17
|
|
|
11
18
|
## Indexable
|
|
12
19
|
|
|
@@ -22,7 +29,9 @@ Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:1
|
|
|
22
29
|
optional id?: string;
|
|
23
30
|
```
|
|
24
31
|
|
|
25
|
-
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:
|
|
32
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L17)
|
|
33
|
+
|
|
34
|
+
Optional explicit state ID (e.g. `"home"`, `"settings"`). Used as the `#id` target in `play.route` events.
|
|
26
35
|
|
|
27
36
|
---
|
|
28
37
|
|
|
@@ -32,14 +41,19 @@ Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:1
|
|
|
32
41
|
optional meta?: object;
|
|
33
42
|
```
|
|
34
43
|
|
|
35
|
-
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:
|
|
44
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:19](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L19)
|
|
45
|
+
|
|
46
|
+
State metadata — `meta.route` marks the state as routable.
|
|
36
47
|
|
|
37
48
|
#### route?
|
|
38
49
|
|
|
39
50
|
```ts
|
|
40
|
-
optional route?:
|
|
51
|
+
optional route?: RouteMetadata;
|
|
41
52
|
```
|
|
42
53
|
|
|
54
|
+
URL path template — string form (e.g. `"/profile/:username"`) or object
|
|
55
|
+
form (`{ path, title }`), matching [RouteMetadata](RouteMetadata.md).
|
|
56
|
+
|
|
43
57
|
---
|
|
44
58
|
|
|
45
59
|
### states?
|
|
@@ -48,4 +62,6 @@ optional route?: string;
|
|
|
48
62
|
optional states?: Record<string, RouteStateNode>;
|
|
49
63
|
```
|
|
50
64
|
|
|
51
|
-
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:
|
|
65
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L27)
|
|
66
|
+
|
|
67
|
+
Nested child states, recursively crawled for additional route declarations.
|
|
@@ -1,38 +1,46 @@
|
|
|
1
|
-
[
|
|
1
|
+
[API](../../README.md) / @xmachines/shared
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<!-- generated-by: gsd-doc-writer -->
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
# `@xmachines/shared`
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Shared configurations for XMachines packages — TypeScript, linting, formatting, and Vitest setup used across the monorepo.
|
|
8
8
|
|
|
9
|
-
|
|
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
|
|
13
|
+
This package is an internal monorepo dependency. It is **not intended for installation by external consumers**.
|
|
18
14
|
|
|
19
|
-
|
|
15
|
+
Within the monorepo it is referenced by package name:
|
|
20
16
|
|
|
21
|
-
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@xmachines/shared": "*"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
```
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
|
|
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
|
-
|
|
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
|
-
|
|
56
|
+
For test-specific TypeScript settings (no emit, `allowImportingTsExtensions`, Vitest globals), extend:
|
|
49
57
|
|
|
50
58
|
```json
|
|
51
59
|
{
|
|
52
|
-
"extends": "@xmachines/shared/
|
|
53
|
-
"
|
|
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
|
-
|
|
65
|
+
### Linting (`oxlint`)
|
|
62
66
|
|
|
63
|
-
|
|
67
|
+
Reference the shared oxlint config from a package's `oxlint.config.ts`:
|
|
64
68
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
**Recommended:**
|
|
74
|
+
The shared config enables the `typescript`, `unicorn`, and `import` plugins with:
|
|
76
75
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
|
|
81
|
+
### Formatting (`oxfmt`)
|
|
86
82
|
|
|
87
|
-
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
},
|
|
95
|
-
});
|
|
85
|
+
```typescript
|
|
86
|
+
import sharedConfig from "@xmachines/shared/oxfmt";
|
|
87
|
+
export default sharedConfig;
|
|
96
88
|
```
|
|
97
89
|
|
|
98
|
-
|
|
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
|
|
94
|
+
Use `defineXmVitestConfig` for per-package Vitest configs. It automatically injects shared setup files and wires `@xmachines/*` source aliases:
|
|
103
95
|
|
|
104
|
-
```
|
|
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
|
-
|
|
110
|
-
include: ["test/**/*.test.ts"],
|
|
111
|
-
exclude: ["node_modules/**"],
|
|
102
|
+
globals: true,
|
|
112
103
|
},
|
|
113
104
|
});
|
|
114
105
|
```
|
|
115
106
|
|
|
116
|
-
**
|
|
107
|
+
**What `defineXmVitestConfig` applies automatically:**
|
|
117
108
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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
|
-
|
|
125
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
185
|
-
import {
|
|
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
|
-
|
|
262
|
-
|
|
263
|
-
|
|
133
|
+
export default defineConfig({
|
|
134
|
+
resolve: xmResolve(import.meta.url),
|
|
135
|
+
});
|
|
264
136
|
```
|
|
265
137
|
|
|
266
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
"
|
|
294
|
-
|
|
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
|
-
|
|
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
|
-
|
|
154
|
+
The base `config/tsconfig.json` configures:
|
|
311
155
|
|
|
312
|
-
|
|
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
|
-
|
|
315
|
-
{
|
|
316
|
-
"references": [{ "path": "./packages/your-new-package" }]
|
|
317
|
-
}
|
|
318
|
-
```
|
|
162
|
+
## Testing
|
|
319
163
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
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
|
-
|
|
357
|
-
|
|
358
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
176
|
+
## Modules
|
|
377
177
|
|
|
378
|
-
- [
|
|
379
|
-
- [
|
|
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)
|