@xmachines/docs 1.0.0-beta.55 → 1.0.0-beta.57
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 +4 -4
- package/api/@xmachines/play/README.md +3 -3
- package/api/@xmachines/play/classes/NonNullableError.md +7 -7
- package/api/@xmachines/play/classes/PlayError.md +7 -7
- package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
- package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
- package/api/@xmachines/play-actor/README.md +7 -7
- package/api/@xmachines/play-actor/classes/AbstractActor.md +14 -14
- package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +1 -1
- package/api/@xmachines/play-actor/functions/toAtomState.md +1 -1
- package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
- package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +7 -7
- package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +8 -8
- package/api/@xmachines/play-actor/interfaces/PlaySpec.md +3 -3
- package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
- package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
- package/api/@xmachines/play-dom/README.md +13 -19
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +12 -11
- package/api/@xmachines/play-dom/functions/createPlayUI.md +5 -5
- package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
- package/api/@xmachines/play-dom/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-dom/functions/renderSpec.md +2 -2
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +9 -9
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +12 -11
- package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +7 -7
- package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +19 -18
- package/api/@xmachines/play-dom/interfaces/EventHandle.md +6 -6
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +14 -13
- package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +14 -13
- package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +12 -11
- package/api/@xmachines/play-dom/type-aliases/ActionFn.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/Actions.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +9 -9
- package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +2 -2
- package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/ConfirmHandler.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +5 -5
- package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/DomSchema.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/RenderErrorHandler.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/SetState.md +3 -3
- package/api/@xmachines/play-dom/variables/schema.md +26 -20
- package/api/@xmachines/play-dom-router/README.md +4 -4
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
- package/api/@xmachines/play-react/README.md +9 -15
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +18 -18
- package/api/@xmachines/play-react/functions/ActionProvider.md +1 -1
- package/api/@xmachines/play-react/functions/JSONUIProvider.md +1 -1
- package/api/@xmachines/play-react/functions/Renderer.md +1 -1
- package/api/@xmachines/play-react/functions/StateProvider.md +1 -1
- package/api/@xmachines/play-react/functions/ValidationProvider.md +1 -1
- package/api/@xmachines/play-react/functions/VisibilityProvider.md +1 -1
- package/api/@xmachines/play-react/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useBoundProp.md +2 -2
- package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +8 -8
- package/api/@xmachines/play-react/interfaces/ComponentContext.md +1 -1
- package/api/@xmachines/play-react/interfaces/JSONUIProviderProps.md +13 -12
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +8 -8
- package/api/@xmachines/play-react/interfaces/RendererProps.md +8 -8
- package/api/@xmachines/play-react/interfaces/StateProviderProps.md +1 -1
- package/api/@xmachines/play-react/interfaces/ValidationProviderProps.md +1 -1
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-react/interfaces/VisibilityProviderProps.md +1 -1
- package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-react/type-aliases/ComponentFn.md +1 -1
- package/api/@xmachines/play-react/type-aliases/RenderErrorHandler.md +1 -1
- package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
- package/api/@xmachines/play-react/variables/PlayRenderer.md +2 -2
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-react-router/README.md +5 -5
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +4 -4
- package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-react-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-react-router/interfaces/PlayActor.md +5 -5
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
- package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-router/README.md +5 -5
- package/api/@xmachines/play-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-router/classes/RouterBridgeBase.md +4 -4
- package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
- package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
- package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
- package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
- package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
- package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
- package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
- package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
- package/api/@xmachines/play-router/functions/routeExists.md +1 -1
- package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
- package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
- package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
- package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
- package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
- package/api/@xmachines/play-router/interfaces/PlayActor.md +5 -5
- package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +3 -3
- package/api/@xmachines/play-router/interfaces/RoutableActor.md +4 -4
- package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
- package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
- package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
- package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
- package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
- package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-signals/README.md +5 -5
- package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
- package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
- package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
- package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +3 -3
- package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +4 -4
- package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +5 -5
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +1 -1
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +1 -1
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
- package/api/@xmachines/play-solid/README.md +13 -19
- package/api/@xmachines/play-solid/functions/ActionProvider.md +1 -1
- package/api/@xmachines/play-solid/functions/JSONUIProvider.md +1 -1
- package/api/@xmachines/play-solid/functions/Renderer.md +1 -1
- package/api/@xmachines/play-solid/functions/StateProvider.md +1 -1
- package/api/@xmachines/play-solid/functions/ValidationProvider.md +1 -1
- package/api/@xmachines/play-solid/functions/VisibilityProvider.md +1 -1
- package/api/@xmachines/play-solid/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-solid/functions/useAction.md +1 -1
- package/api/@xmachines/play-solid/functions/useActions.md +1 -1
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/useBoundProp.md +2 -2
- package/api/@xmachines/play-solid/functions/useFieldValidation.md +1 -1
- package/api/@xmachines/play-solid/functions/useIsVisible.md +1 -1
- package/api/@xmachines/play-solid/functions/useOptionalValidation.md +1 -1
- package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-solid/functions/useStateBinding.md +1 -1
- package/api/@xmachines/play-solid/functions/useStateStore.md +1 -1
- package/api/@xmachines/play-solid/functions/useStateValue.md +1 -1
- package/api/@xmachines/play-solid/functions/useVisibility.md +1 -1
- package/api/@xmachines/play-solid/interfaces/ActionProviderProps.md +1 -1
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +8 -8
- package/api/@xmachines/play-solid/interfaces/ComponentContext.md +1 -1
- package/api/@xmachines/play-solid/interfaces/DefineRegistryResult.md +1 -1
- package/api/@xmachines/play-solid/interfaces/JSONUIProviderProps.md +13 -12
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +8 -8
- package/api/@xmachines/play-solid/interfaces/RendererProps.md +8 -8
- package/api/@xmachines/play-solid/interfaces/StateProviderProps.md +1 -1
- package/api/@xmachines/play-solid/interfaces/ValidationProviderProps.md +1 -1
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +1 -1
- package/api/@xmachines/play-solid/type-aliases/ComponentRegistry.md +2 -8
- package/api/@xmachines/play-solid/type-aliases/RenderErrorHandler.md +1 -1
- package/api/@xmachines/play-solid/type-aliases/SetState.md +1 -1
- package/api/@xmachines/play-solid/type-aliases/VisibilityProviderProps.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +2 -2
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-solid-router/README.md +5 -5
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +5 -5
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +13 -13
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
- package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
- package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-svelte/README.md +26 -31
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +2 -2
- package/api/@xmachines/play-svelte/functions/getActorContext.md +2 -2
- package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
- package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +1 -1
- package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +1 -1
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +6 -6
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +1 -1
- package/api/@xmachines/play-svelte/type-aliases/Actions.md +1 -1
- package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +1 -1
- package/api/@xmachines/play-svelte/type-aliases/JSONUIProviderProps.md +7 -0
- package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +1 -1
- package/api/@xmachines/play-svelte/type-aliases/RenderErrorHandler.md +17 -1
- package/api/@xmachines/play-svelte/type-aliases/SetState.md +1 -1
- package/api/@xmachines/play-svelte/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/README.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-sveltekit-router/README.md +6 -6
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/README.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +4 -4
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +4 -4
- package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +2 -2
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/README.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-vue/README.md +12 -18
- package/api/@xmachines/play-vue/functions/defineRegistry.md +3 -3
- package/api/@xmachines/play-vue/functions/getPlayViewContext.md +1 -1
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/functions/useBoundProp.md +2 -2
- package/api/@xmachines/play-vue/interfaces/ActionProviderProps.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +5 -5
- package/api/@xmachines/play-vue/interfaces/ComponentContext.md +1 -1
- package/api/@xmachines/play-vue/interfaces/DefineRegistryResult.md +1 -1
- package/api/@xmachines/play-vue/interfaces/JSONUIProviderProps.md +12 -11
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +8 -8
- package/api/@xmachines/play-vue/interfaces/RendererProps.md +8 -8
- package/api/@xmachines/play-vue/interfaces/StateProviderProps.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ValidationProviderProps.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
- package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
- package/api/@xmachines/play-vue/type-aliases/RenderErrorHandler.md +1 -1
- package/api/@xmachines/play-vue/variables/ActionProvider.md +1 -1
- package/api/@xmachines/play-vue/variables/JSONUIProvider.md +10 -1
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-vue/variables/Renderer.md +10 -1
- package/api/@xmachines/play-vue/variables/StateProvider.md +1 -1
- package/api/@xmachines/play-vue/variables/ValidationProvider.md +1 -1
- package/api/@xmachines/play-vue/variables/VisibilityProvider.md +1 -1
- package/api/@xmachines/play-vue-router/README.md +4 -4
- package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +5 -5
- package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +5 -5
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +2 -2
- package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-xstate/README.md +3 -3
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +31 -31
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
- package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
- package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
- package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
- package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
- package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
- package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
- package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
- package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
- package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
- package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
- package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
- package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
- package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
- package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
- package/api/@xmachines/play-xstate/interfaces/RouteObject.md +2 -2
- package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
- package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
- package/api/@xmachines/shared/README.md +2 -2
- package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +3 -3
- package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +2 -2
- package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
- package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
- package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
- package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
- package/api/llms.txt +2 -2
- package/contributing/architecture.md +9 -9
- package/contributing/configuration.md +12 -12
- package/contributing/deployment.md +9 -9
- package/contributing/development.md +43 -43
- package/contributing/testing.md +15 -15
- package/examples/@xmachines/play-dom-demo/README.md +12 -12
- package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
- package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
- package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-dom-router-demo/README.md +12 -12
- package/examples/@xmachines/play-react-demo/README.md +13 -13
- package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
- package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-react-router-demo/README.md +12 -12
- package/examples/@xmachines/play-solid-demo/README.md +12 -12
- package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
- package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-solid-router-demo/README.md +12 -12
- package/examples/@xmachines/play-svelte-demo/README.md +12 -12
- package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +1 -1
- package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-svelte-demo/variables/App.md +1 -1
- package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-svelte-spa-router-demo/README.md +12 -12
- package/examples/@xmachines/play-sveltekit-router-demo/README.md +12 -12
- package/examples/@xmachines/play-tanstack-react-router-demo/README.md +12 -12
- package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +12 -12
- package/examples/@xmachines/play-vue-demo/README.md +14 -14
- package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
- package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-vue-router-demo/README.md +12 -12
- package/examples/README.md +3 -3
- package/examples/form-validation.md +2 -2
- package/guides/getting-started.md +35 -42
- package/guides/signals.md +2 -2
- package/guides/state-machines.md +1 -1
- package/package.json +2 -2
- package/rfc/play.md +16 -16
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
type RouteStateNode = object;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/play-xstate/src/routing/format-play-route-transitions.ts#L13)
|
|
10
10
|
|
|
11
11
|
Minimal structural shape of a single XState state node as read by
|
|
12
12
|
`formatPlayRouteTransitions` when crawling the machine config.
|
|
@@ -29,7 +29,7 @@ the index signature.
|
|
|
29
29
|
optional id?: string;
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
32
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/play-xstate/src/routing/format-play-route-transitions.ts#L15)
|
|
33
33
|
|
|
34
34
|
Optional explicit state ID (e.g. `"home"`, `"settings"`). Used as the `#id` target in `play.route` events.
|
|
35
35
|
|
|
@@ -41,7 +41,7 @@ Optional explicit state ID (e.g. `"home"`, `"settings"`). Used as the `#id` targ
|
|
|
41
41
|
optional meta?: object;
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
44
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/play-xstate/src/routing/format-play-route-transitions.ts#L17)
|
|
45
45
|
|
|
46
46
|
State metadata — `meta.route` marks the state as routable.
|
|
47
47
|
|
|
@@ -61,6 +61,6 @@ URL path template (e.g. `"/profile/:username"`, `"/settings/:section?"`).
|
|
|
61
61
|
optional states?: Record<string, RouteStateNode>;
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
64
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/play-xstate/src/routing/format-play-route-transitions.ts#L22)
|
|
65
65
|
|
|
66
66
|
Nested child states, recursively crawled for additional route declarations.
|
|
@@ -163,10 +163,10 @@ The base `config/tsconfig.json` configures:
|
|
|
163
163
|
|
|
164
164
|
```bash
|
|
165
165
|
# Run tests for this package
|
|
166
|
-
|
|
166
|
+
pnpm --filter @xmachines/shared test
|
|
167
167
|
|
|
168
168
|
# Or from the package directory
|
|
169
|
-
|
|
169
|
+
pnpm test
|
|
170
170
|
```
|
|
171
171
|
|
|
172
172
|
## License
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function xmAliases(importMetaUrl): Record<string, string>;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [vite-aliases.ts:221](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [vite-aliases.ts:221](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/shared/config/vite-aliases.ts#L221)
|
|
10
10
|
|
|
11
11
|
Vite resolve.alias entries for all @xmachines/\* workspace packages.
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function xmCacheDir(importMetaUrl, name): string;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [vite-aliases.ts:330](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [vite-aliases.ts:330](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/shared/config/vite-aliases.ts#L330)
|
|
10
10
|
|
|
11
11
|
Returns the shared Vite `cacheDir` for this workspace package.
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function xmOptimizeDeps(extra?): DepOptimizationOptions;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [vite-aliases.ts:286](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [vite-aliases.ts:286](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/shared/config/vite-aliases.ts#L286)
|
|
10
10
|
|
|
11
11
|
Returns the standard Vite `optimizeDeps` config for browser test projects.
|
|
12
12
|
|
|
@@ -16,8 +16,8 @@ discovering them lazily at runtime. Without this, adding or changing dependencie
|
|
|
16
16
|
"Re-optimizing dependencies because lockfile has changed" warnings that slow down
|
|
17
17
|
and occasionally destabilise browser test runs.
|
|
18
18
|
|
|
19
|
-
Pass `extra` to include framework-specific packages (e.g. `["@json-render
|
|
20
|
-
The base set (`@json-render
|
|
19
|
+
Pass `extra` to include framework-specific packages (e.g. `["@xmachines/json-render-vue/schema"]`).
|
|
20
|
+
The base set (`@xmachines/json-render-core`) is always included.
|
|
21
21
|
|
|
22
22
|
## Parameters
|
|
23
23
|
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
function xmResolve(importMetaUrl, extra?): ResolveOptions & object;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [vite-aliases.ts:258](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [vite-aliases.ts:258](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/shared/config/vite-aliases.ts#L258)
|
|
10
10
|
|
|
11
11
|
Full Vite `resolve` config for @xmachines/\* workspace packages.
|
|
12
12
|
|
|
13
13
|
Combines `xmAliases` with `conditions: ["source"]` so Vite resolves every
|
|
14
14
|
`@xmachines/*` package to its TypeScript source via the `"source"` export
|
|
15
|
-
condition — without requiring a prior `
|
|
15
|
+
condition — without requiring a prior `pnpm run build`.
|
|
16
16
|
|
|
17
17
|
`preserveSymlinks` defaults to `false`: under pnpm every dependency is a
|
|
18
18
|
symlink into the content-addressed store, and preserving symlink paths
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function xmSvelteRunes(): object;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [vite-aliases.ts:309](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [vite-aliases.ts:309](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/shared/config/vite-aliases.ts#L309)
|
|
10
10
|
|
|
11
11
|
Svelte plugin options that enforce runes mode for workspace sources only.
|
|
12
12
|
|
|
@@ -30,4 +30,4 @@ export default defineConfig({ plugins: [svelte(xmSvelteRunes())] });
|
|
|
30
30
|
|
|
31
31
|
| Name | Type | Defined in |
|
|
32
32
|
| ------------------------- | ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
|
|
33
|
-
| `dynamicCompileOptions()` | (`data`) => \| \{ `runes`: `boolean`; \} \| `undefined` | [vite-aliases.ts:310](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
33
|
+
| `dynamicCompileOptions()` | (`data`) => \| \{ `runes`: `boolean`; \} \| `undefined` | [vite-aliases.ts:310](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/shared/config/vite-aliases.ts#L310) |
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function defineXmBrowserConfig(importMetaUrl, overrides, options?): UserConfig;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [vitest.ts:167](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [vitest.ts:167](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/shared/config/vitest.ts#L167)
|
|
10
10
|
|
|
11
11
|
Create a Vitest browser-mode config with XMachines workspace defaults.
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function defineXmVitestConfig(importMetaUrl, overrides): UserConfig;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [vitest.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [vitest.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/shared/config/vitest.ts#L64)
|
|
10
10
|
|
|
11
11
|
Create a Vitest config with XMachines workspace defaults.
|
|
12
12
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: XmBrowserConfigOptions
|
|
4
4
|
|
|
5
|
-
Defined in: [vitest.ts:117](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [vitest.ts:117](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/shared/config/vitest.ts#L117)
|
|
6
6
|
|
|
7
7
|
Options for [defineXmBrowserConfig](../functions/defineXmBrowserConfig.md) that live outside the plain
|
|
8
8
|
Vitest config overrides.
|
|
@@ -11,6 +11,6 @@ Vitest config overrides.
|
|
|
11
11
|
|
|
12
12
|
| Property | Type | Description | Defined in |
|
|
13
13
|
| -------------------------------------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
|
|
14
|
-
| <a id="property-base"></a> `base?` | `UserConfig` | Base Vite config to layer the browser test config on top of (typically a demo's `vite.config.ts`). When set, the base is expected to provide its own `resolve`/`plugins`, so the `cacheDir` and `resolve` defaults are not applied — mirroring the previous `mergeConfig(viteConfig, ...)` pattern in demo browser configs. | [vitest.ts:125](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
15
|
-
| <a id="property-optimizedeps"></a> `optimizeDeps?` | `string`[] | Extra package specifiers to pre-bundle via `xmOptimizeDeps` (e.g. `["@json-render
|
|
16
|
-
| <a id="property-resolve"></a> `resolve?` | `Partial`\<`ResolveOptions` & `object`\> | Extra resolve options forwarded to `xmResolve` (e.g. `conditions` or additional `alias` entries). Not applied when `base` is set — the base config owns `resolve` in that layout. | [vitest.ts:138](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
14
|
+
| <a id="property-base"></a> `base?` | `UserConfig` | Base Vite config to layer the browser test config on top of (typically a demo's `vite.config.ts`). When set, the base is expected to provide its own `resolve`/`plugins`, so the `cacheDir` and `resolve` defaults are not applied — mirroring the previous `mergeConfig(viteConfig, ...)` pattern in demo browser configs. | [vitest.ts:125](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/shared/config/vitest.ts#L125) |
|
|
15
|
+
| <a id="property-optimizedeps"></a> `optimizeDeps?` | `string`[] | Extra package specifiers to pre-bundle via `xmOptimizeDeps` (e.g. `["@xmachines/json-render-vue", "@xmachines/json-render-vue/schema"]`). Ignored when `overrides.optimizeDeps` is set, which then replaces the default `xmOptimizeDeps()` wholesale. | [vitest.ts:132](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/shared/config/vitest.ts#L132) |
|
|
16
|
+
| <a id="property-resolve"></a> `resolve?` | `Partial`\<`ResolveOptions` & `object`\> | Extra resolve options forwarded to `xmResolve` (e.g. `conditions` or additional `alias` entries). Not applied when `base` is set — the base config owns `resolve` in that layout. | [vitest.ts:138](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.57/packages/shared/config/vitest.ts#L138) |
|
package/api/llms.txt
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
## Package Roles
|
|
19
19
|
|
|
20
|
-
- `Core runtime`: [@xmachines/play](@xmachines/play/README.md), [@xmachines/play-actor](@xmachines/play-actor/README.md), [@xmachines/play-signals](@xmachines/play-signals/README.md), [@xmachines/play-router](@xmachines/play-router/README.md), and [@xmachines/play-xstate](@xmachines/play-xstate/README.md). Catalog and component registry are provided by `@json-render
|
|
20
|
+
- `Core runtime`: [@xmachines/play](@xmachines/play/README.md), [@xmachines/play-actor](@xmachines/play-actor/README.md), [@xmachines/play-signals](@xmachines/play-signals/README.md), [@xmachines/play-router](@xmachines/play-router/README.md), and [@xmachines/play-xstate](@xmachines/play-xstate/README.md). Catalog and component registry are provided by `@xmachines/json-render-core` and the framework rendering packages.
|
|
21
21
|
- `Rendering`: [@xmachines/play-react](@xmachines/play-react/README.md), [@xmachines/play-solid](@xmachines/play-solid/README.md), [@xmachines/play-svelte](@xmachines/play-svelte/README.md), and [@xmachines/play-vue](@xmachines/play-vue/README.md).
|
|
22
22
|
- `Router adapters`: [@xmachines/play-react-router](@xmachines/play-react-router/README.md), [@xmachines/play-tanstack-react-router](@xmachines/play-tanstack-react-router/README.md), [@xmachines/play-solid-router](@xmachines/play-solid-router/README.md), [@xmachines/play-tanstack-solid-router](@xmachines/play-tanstack-solid-router/README.md), [@xmachines/play-vue-router](@xmachines/play-vue-router/README.md), [@xmachines/play-sveltekit-router](@xmachines/play-sveltekit-router/README.md), and [@xmachines/play-svelte-spa-router](@xmachines/play-svelte-spa-router/README.md), all built on top of [Routable](@xmachines/play-actor/interfaces/Routable.md) actors and shared route metadata.
|
|
23
23
|
- `Shared tooling`: [@xmachines/shared](@xmachines/shared/README.md) for shared config and workspace-level support files.
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
```javascript
|
|
58
58
|
import { definePlayer } from '@xmachines/play-xstate';
|
|
59
59
|
import { createRouteMapFromTree, extractMachineRoutes, extractRouteParams } from '@xmachines/play-router';
|
|
60
|
-
import { defineRegistry } from '@json-render
|
|
60
|
+
import { defineRegistry } from '@xmachines/json-render-react';
|
|
61
61
|
import { PlayRenderer } from '@xmachines/play-react';
|
|
62
62
|
|
|
63
63
|
const createPlayer = definePlayer({ machine });
|
|
@@ -107,7 +107,7 @@ flowchart TD
|
|
|
107
107
|
E["validateAndCacheView(snapshot)\nactor.currentView Signal.State updated"]
|
|
108
108
|
F["Framework signal watcher fires\nmicrotask"]
|
|
109
109
|
G["ActorProvider reads actor.currentView.get()"]
|
|
110
|
-
H["PlayRenderer renders via @json-render
|
|
110
|
+
H["PlayRenderer renders via @xmachines/json-render-* Renderer"]
|
|
111
111
|
|
|
112
112
|
A --> B --> C --> D --> E --> F --> G --> H
|
|
113
113
|
```
|
|
@@ -225,7 +225,7 @@ Optional capability interface. Exposes `currentView: Signal.State<PlaySpec | nul
|
|
|
225
225
|
|
|
226
226
|
### [`PlaySpec`](../api/@xmachines/play-actor/interfaces/PlaySpec.md)
|
|
227
227
|
|
|
228
|
-
Extends `@json-render
|
|
228
|
+
Extends `@xmachines/json-render-core` `Spec` with `readonly contextProps?: readonly string[]` — an explicit allowlist of machine context fields that `deriveCurrentView` merges into element props. Only fields named here are ever exposed to components. `typedSpec<TContext>()` provides compile-time validation of `contextProps` entries against the machine's context type.
|
|
229
229
|
|
|
230
230
|
### [`PlayerActor<TMachine>`](../api/@xmachines/play-xstate/classes/PlayerActor.md)
|
|
231
231
|
|
|
@@ -291,12 +291,12 @@ Crawls machine state configs looking for states with `meta.route` and auto-gener
|
|
|
291
291
|
|
|
292
292
|
All five view renderer packages follow an identical structural pattern:
|
|
293
293
|
|
|
294
|
-
| Component | Role
|
|
295
|
-
| ---------------- |
|
|
296
|
-
| `ActorProvider` | Subscribes to `actor.currentView` signal; owns signal lifecycle; provides view context
|
|
297
|
-
| `PlayUIProvider` | Convenience wrapper combining `ActorProvider` + framework's `JSONUIProvider`
|
|
298
|
-
| `PlayRenderer` | Zero-prop leaf component; reads from context; delegates to `@json-render
|
|
299
|
-
| `useActor()` | Hook/composable for accessing the raw actor in consuming components
|
|
294
|
+
| Component | Role |
|
|
295
|
+
| ---------------- | ------------------------------------------------------------------------------------------------ |
|
|
296
|
+
| `ActorProvider` | Subscribes to `actor.currentView` signal; owns signal lifecycle; provides view context |
|
|
297
|
+
| `PlayUIProvider` | Convenience wrapper combining `ActorProvider` + framework's `JSONUIProvider` |
|
|
298
|
+
| `PlayRenderer` | Zero-prop leaf component; reads from context; delegates to `@xmachines/json-render-*` `Renderer` |
|
|
299
|
+
| `useActor()` | Hook/composable for accessing the raw actor in consuming components |
|
|
300
300
|
|
|
301
301
|
**Framework-specific signal bridging:**
|
|
302
302
|
|
|
@@ -445,7 +445,7 @@ With `declarationMap: true` in the base tsconfig (from `@xmachines/shared/tsconf
|
|
|
445
445
|
| Actor logic (`play-xstate`) | Protocol layer | View renderers, router adapters |
|
|
446
446
|
| Router infrastructure (`play-router`) | Protocol layer, `@statelyai/graph` | View renderers |
|
|
447
447
|
| Router adapters (`play-*-router`) | `play-router`, protocol layer, framework router lib | Other view renderers |
|
|
448
|
-
| View renderers (`play-*`) | Protocol layer, `@json-render
|
|
448
|
+
| View renderers (`play-*`) | Protocol layer, `@xmachines/json-render-*` | Router adapters |
|
|
449
449
|
|
|
450
450
|
## Error Handling
|
|
451
451
|
|
|
@@ -118,13 +118,13 @@ All packages extend this base. Key compiler settings:
|
|
|
118
118
|
|
|
119
119
|
**Location:** `packages/shared/config/tsconfig.test.json`
|
|
120
120
|
|
|
121
|
-
Test builds add `noEmit: true`, `allowImportingTsExtensions: true`, and `vitest/globals` types. Used by `
|
|
121
|
+
Test builds add `noEmit: true`, `allowImportingTsExtensions: true`, and `vitest/globals` types. Used by `pnpm run test:build` to type-check test files without emitting output.
|
|
122
122
|
|
|
123
123
|
### Linting — `oxlint.config.ts` (root)
|
|
124
124
|
|
|
125
125
|
**Location:** `/oxlint.config.ts`
|
|
126
126
|
**Tool:** [oxlint](https://oxc.rs/docs/guide/usage/linter) `^1.62.0`
|
|
127
|
-
**Run:** `
|
|
127
|
+
**Run:** `pnpm run lint` / `pnpm run lint:fix`
|
|
128
128
|
|
|
129
129
|
The root config extends the shared base (`@xmachines/shared/oxlint`) and adds workspace-level ignore patterns:
|
|
130
130
|
|
|
@@ -175,7 +175,7 @@ export default defineConfig({
|
|
|
175
175
|
|
|
176
176
|
**Location:** `/oxfmt.config.ts`
|
|
177
177
|
**Tool:** [oxfmt](https://oxc.rs/docs/guide/usage/formatter) `^0.47.0`
|
|
178
|
-
**Run:** `
|
|
178
|
+
**Run:** `pnpm run format` / `pnpm run format:check`
|
|
179
179
|
|
|
180
180
|
The root config extends the shared base and adds workspace-level ignore patterns:
|
|
181
181
|
|
|
@@ -232,7 +232,7 @@ export default defineConfig({
|
|
|
232
232
|
|
|
233
233
|
**Location:** `/vitest.config.ts`
|
|
234
234
|
**Tool:** [Vitest](https://vitest.dev/) `^4.1.5`
|
|
235
|
-
**Run:** `
|
|
235
|
+
**Run:** `pnpm test` / `pnpm run test:coverage`
|
|
236
236
|
|
|
237
237
|
Root Vitest config is a **workspace coordinator** that lists all per-package configs under `test.projects`. It sets conservative monorepo-wide defaults:
|
|
238
238
|
|
|
@@ -258,7 +258,7 @@ Root Vitest config is a **workspace coordinator** that lists all per-package con
|
|
|
258
258
|
Coverage provider: `v8`. Individual packages may declare higher per-package thresholds in their own `vitest.config.ts`.
|
|
259
259
|
|
|
260
260
|
**Browser test config:** `/vitest.browser.config.ts`
|
|
261
|
-
Run with `
|
|
261
|
+
Run with `pnpm run test:browser`. Uses Playwright Chromium via Vitest browser mode. `testTimeout` is `20000` ms; `maxWorkers` is `2` (default; demo integration projects override with `pool: "threads"` + `maxWorkers: 2`).
|
|
262
262
|
|
|
263
263
|
### Per-Package Vitest Config — `@xmachines/shared/vitest`
|
|
264
264
|
|
|
@@ -292,7 +292,7 @@ export default defineXmVitestConfig(import.meta.url, {
|
|
|
292
292
|
|
|
293
293
|
Provides two helpers used in all `vitest.config.ts` and `vite.config.ts` files:
|
|
294
294
|
|
|
295
|
-
- **`xmAliases(import.meta.url)`** — returns a `Record<string, string>` mapping every `@xmachines/*` package to its TypeScript source entry. Enables tests and dev servers to run without a prior `
|
|
295
|
+
- **`xmAliases(import.meta.url)`** — returns a `Record<string, string>` mapping every `@xmachines/*` package to its TypeScript source entry. Enables tests and dev servers to run without a prior `pnpm run build`.
|
|
296
296
|
- **`xmResolve(import.meta.url)`** — returns a full Vite `resolve` config with `xmAliases` plus `preserveSymlinks: true` and `conditions: ["source"]`.
|
|
297
297
|
- **`xmCacheDir(import.meta.url, name)`** — returns a shared Vite cache path under `node_modules/.vite/<name>` to prevent redundant dep optimizer runs across projects.
|
|
298
298
|
- **`xmOptimizeDeps(extra?)`** — returns a standard `optimizeDeps.include` list; pass framework-specific extras to pre-bundle them at startup.
|
|
@@ -320,12 +320,12 @@ Defines the release branches and plugin chain used by the GitLab CI semantic-rel
|
|
|
320
320
|
2. `@semantic-release/release-notes-generator` — builds release notes
|
|
321
321
|
3. `@semantic-release/changelog` — writes `CHANGELOG.md`
|
|
322
322
|
4. `@semantic-release/exec` steps (in order):
|
|
323
|
-
- `
|
|
324
|
-
- `
|
|
323
|
+
- `corepack` — `corepack enable`
|
|
324
|
+
- `install` — `pnpm install --frozen-lockfile`
|
|
325
325
|
- `set-workspace-versions` — updates all `package.json` files to the new version
|
|
326
|
-
- `build` — `
|
|
327
|
-
- `typedoc` — `
|
|
328
|
-
- `format-docs` — `
|
|
326
|
+
- `build` — `pnpm run build`
|
|
327
|
+
- `typedoc` — `pnpm --filter @xmachines/docs run typedoc`
|
|
328
|
+
- `format-docs` — `pnpm --filter @xmachines/docs run format`
|
|
329
329
|
5. `@semantic-release/npm` — one entry per published package (20 packages) + pack-only for demo apps
|
|
330
330
|
6. `@semantic-release/git` — commits `CHANGELOG.md`, updated `package.json` files, and generated API docs
|
|
331
331
|
7. `@semantic-release/gitlab` — creates a GitLab release with tarball assets
|
|
@@ -365,4 +365,4 @@ When adding a new package, update these configuration files:
|
|
|
365
365
|
4. **`/vitest.browser.config.ts`** (if the package has browser tests) — add the browser config path to `test.projects`.
|
|
366
366
|
5. **`/release.config.mjs`** — add an entry to `NPM_PACKAGES` array with the package's `pkgRoot`.
|
|
367
367
|
|
|
368
|
-
See [AGENTS.md](
|
|
368
|
+
See [AGENTS.md](https://gitlab.com/xmachin-es/xmachines-js/-/blob/main/AGENTS.md) for the full new-package checklist.
|
|
@@ -73,8 +73,8 @@ The pipeline includes two reusable CI components:
|
|
|
73
73
|
The `node-build` job runs with:
|
|
74
74
|
|
|
75
75
|
```bash
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
pnpm run build # tsc --build (TypeScript composite build)
|
|
77
|
+
pnpm run test:coverage # vitest run --coverage (with JUnit + Cobertura reporters)
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
Coverage is extracted from the `node-build` job via the regex:
|
|
@@ -110,7 +110,7 @@ The `semantic-release` command is called with `--no-ci` to allow it to run insid
|
|
|
110
110
|
The `release-pack-smoke` job is defined in `.gitlab-ci.yml` and runs on the same trigger rules as other CI jobs (automatically on `main` pushes and tags, manually on MRs):
|
|
111
111
|
|
|
112
112
|
```bash
|
|
113
|
-
|
|
113
|
+
pnpm run build
|
|
114
114
|
node scripts/release-pack-smoke.mjs
|
|
115
115
|
```
|
|
116
116
|
|
|
@@ -156,7 +156,7 @@ pnpm --filter @xmachines/docs run format
|
|
|
156
156
|
Step by step:
|
|
157
157
|
|
|
158
158
|
1. **Enable corepack** — activates the pinned pnpm version.
|
|
159
|
-
2. **Install** — `pnpm install --frozen-lockfile` installs
|
|
159
|
+
2. **Install** — `pnpm install --frozen-lockfile` installs the exact dependency versions recorded in the lockfile.
|
|
160
160
|
3. **Sync versions** — `scripts/set-workspace-versions.mjs` sets the same release version across every `package.json` in the workspace (root + all packages), including cross-package workspace dependency ranges.
|
|
161
161
|
4. **Build** — runs `tsc --build` to produce compiled `dist/` output in all packages.
|
|
162
162
|
5. **Generate API docs** — runs TypeDoc to regenerate `packages/docs/api/` at the release git revision.
|
|
@@ -275,16 +275,16 @@ To preview what semantic-release would do without publishing:
|
|
|
275
275
|
|
|
276
276
|
```bash
|
|
277
277
|
# Install dependencies first
|
|
278
|
-
|
|
278
|
+
pnpm install --frozen-lockfile
|
|
279
279
|
|
|
280
280
|
# Run semantic-release in dry-run mode
|
|
281
|
-
|
|
281
|
+
pnpm exec semantic-release --dry-run --no-ci
|
|
282
282
|
```
|
|
283
283
|
|
|
284
284
|
To test package packaging locally (the same check run by `release-pack-smoke` in CI):
|
|
285
285
|
|
|
286
286
|
```bash
|
|
287
|
-
|
|
287
|
+
pnpm run build
|
|
288
288
|
node scripts/release-pack-smoke.mjs
|
|
289
289
|
```
|
|
290
290
|
|
|
@@ -294,8 +294,8 @@ To manually version and pack a single package for local inspection:
|
|
|
294
294
|
|
|
295
295
|
```bash
|
|
296
296
|
# From the repo root
|
|
297
|
-
|
|
298
|
-
|
|
297
|
+
pnpm --filter @xmachines/play run build
|
|
298
|
+
pnpm --filter @xmachines/play pack
|
|
299
299
|
```
|
|
300
300
|
|
|
301
301
|
**Do not run `npm publish` manually.** All publishing must go through semantic-release in CI to keep `CHANGELOG.md`, git tags, and npm versions in sync.
|
|
@@ -21,25 +21,25 @@ This guide covers everything you need to set up a local development environment,
|
|
|
21
21
|
### Prerequisites
|
|
22
22
|
|
|
23
23
|
- **Node.js** `>= 22.0.0`
|
|
24
|
-
- **
|
|
24
|
+
- **pnpm** via corepack (`corepack enable`; version pinned by the `packageManager` field — the project uses pnpm workspaces)
|
|
25
25
|
- **Git**
|
|
26
26
|
|
|
27
|
-
No global tool installs are required beyond Node.js. All build, lint, and format tooling is installed locally via `
|
|
27
|
+
No global tool installs are required beyond Node.js. All build, lint, and format tooling is installed locally via `pnpm install --frozen-lockfile`.
|
|
28
28
|
|
|
29
29
|
### Clone and Install
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
32
|
git clone git@gitlab.com:xmachin-es/xmachines-js.git
|
|
33
33
|
cd xmachines-js
|
|
34
|
-
|
|
34
|
+
pnpm install --frozen-lockfile
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
> **Use `
|
|
37
|
+
> **Use `pnpm install --frozen-lockfile` (not `pnpm install`)** — it installs the exact versions from the lockfile.
|
|
38
38
|
|
|
39
39
|
### Build
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
|
-
|
|
42
|
+
pnpm run build
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
The root-level `tsc --build` command uses TypeScript project references to build all packages in the correct dependency order automatically. You never need to sequence builds manually.
|
|
@@ -47,7 +47,7 @@ The root-level `tsc --build` command uses TypeScript project references to build
|
|
|
47
47
|
To build a single package (and its upstream dependencies):
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
|
|
50
|
+
pnpm --filter @xmachines/<package-name> run build
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
### Dev Container (Optional)
|
|
@@ -55,7 +55,7 @@ npm run build -w @xmachines/<package-name>
|
|
|
55
55
|
A fully configured dev container is provided at `.devcontainer/`. It includes Docker-outside-of-Docker, Claude Code, and OpenCode.
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
|
|
58
|
+
pnpm run devcontainer:up
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
Or open the repository in VS Code and choose **Reopen in Container** when prompted.
|
|
@@ -63,9 +63,9 @@ Or open the repository in VS Code and choose **Reopen in Container** when prompt
|
|
|
63
63
|
### Verify Your Setup
|
|
64
64
|
|
|
65
65
|
```bash
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
pnpm test # Run the full test suite
|
|
67
|
+
pnpm run lint # Check for lint errors
|
|
68
|
+
pnpm run format:check # Check formatting without modifying files
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
All three should pass without errors on a freshly cloned repository.
|
|
@@ -74,7 +74,7 @@ All three should pass without errors on a freshly cloned repository.
|
|
|
74
74
|
|
|
75
75
|
## Monorepo Structure
|
|
76
76
|
|
|
77
|
-
The repository is organized as
|
|
77
|
+
The repository is organized as a **pnpm workspaces** monorepo with all packages under `packages/`:
|
|
78
78
|
|
|
79
79
|
```
|
|
80
80
|
packages/
|
|
@@ -123,23 +123,23 @@ packages/<name>/
|
|
|
123
123
|
|
|
124
124
|
All commands are run from the **repository root** unless otherwise noted.
|
|
125
125
|
|
|
126
|
-
| Command
|
|
127
|
-
|
|
|
128
|
-
| `
|
|
129
|
-
| `
|
|
130
|
-
| `
|
|
131
|
-
| `
|
|
132
|
-
| `
|
|
133
|
-
| `
|
|
134
|
-
| `
|
|
135
|
-
| `
|
|
136
|
-
| `
|
|
137
|
-
| `
|
|
138
|
-
| `
|
|
139
|
-
| `
|
|
140
|
-
| `
|
|
141
|
-
| `
|
|
142
|
-
| `
|
|
126
|
+
| Command | Description |
|
|
127
|
+
| ------------------------------------------ | --------------------------------------------------------------------- |
|
|
128
|
+
| `pnpm run build` | TypeScript composite build — all packages in dependency order |
|
|
129
|
+
| `pnpm --filter @xmachines/<pkg> run build` | Build a single package (and its deps) |
|
|
130
|
+
| `pnpm run clean` | Remove coverage, Vite caches, and all `dist/` directories in packages |
|
|
131
|
+
| `pnpm test` | Run all unit/integration tests once |
|
|
132
|
+
| `pnpm run test:watch` | Re-run tests on file changes (interactive) |
|
|
133
|
+
| `pnpm run test:browser` | Run Playwright browser tests |
|
|
134
|
+
| `pnpm run test:coverage` | Run tests with V8 coverage reporting |
|
|
135
|
+
| `pnpm run coverage:report` | Run tests and write an HTML coverage report |
|
|
136
|
+
| `pnpm run coverage:summary` | Run tests and write a JSON summary report |
|
|
137
|
+
| `pnpm run test:build` | Type-check test files without running them (`tsconfig.test.json`) |
|
|
138
|
+
| `pnpm run lint` | Lint all packages with oxlint |
|
|
139
|
+
| `pnpm run lint:fix` | Auto-fix lint issues |
|
|
140
|
+
| `pnpm run format` | Format all files with oxfmt |
|
|
141
|
+
| `pnpm run format:check` | Check formatting (CI mode — no writes) |
|
|
142
|
+
| `pnpm run docs` | Build packages, generate TypeDoc API docs, then format |
|
|
143
143
|
|
|
144
144
|
---
|
|
145
145
|
|
|
@@ -280,8 +280,8 @@ All style rules are **mandatory** — CI enforces them on every merge request.
|
|
|
280
280
|
oxfmt (Biome-based) is configured via `oxfmt.config.ts` at the root (extends `@xmachines/shared/oxfmt`).
|
|
281
281
|
|
|
282
282
|
```bash
|
|
283
|
-
|
|
284
|
-
|
|
283
|
+
pnpm run format # Format all files
|
|
284
|
+
pnpm run format:check # Check without writing (CI mode)
|
|
285
285
|
```
|
|
286
286
|
|
|
287
287
|
Key settings (from `packages/shared/config/oxfmt.config.ts`):
|
|
@@ -300,8 +300,8 @@ Key settings (from `packages/shared/config/oxfmt.config.ts`):
|
|
|
300
300
|
oxlint is configured via `oxlint.config.ts` at the root (extends `@xmachines/shared/oxlint`).
|
|
301
301
|
|
|
302
302
|
```bash
|
|
303
|
-
|
|
304
|
-
|
|
303
|
+
pnpm run lint # Lint all packages
|
|
304
|
+
pnpm run lint:fix # Auto-fix lint issues
|
|
305
305
|
```
|
|
306
306
|
|
|
307
307
|
Active plugins: `typescript`, `unicorn`, `import`. Key rules:
|
|
@@ -425,23 +425,23 @@ feat(play-react): add PlayRenderer suspense boundary
|
|
|
425
425
|
2. **Run the full check suite** from the repo root:
|
|
426
426
|
|
|
427
427
|
```bash
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
428
|
+
pnpm run build
|
|
429
|
+
pnpm test
|
|
430
|
+
pnpm run lint
|
|
431
|
+
pnpm run format:check
|
|
432
432
|
```
|
|
433
433
|
|
|
434
434
|
3. **Write tests** — new code must meet coverage thresholds (80% lines/functions/statements and 75% branches at the monorepo level; core packages enforce higher per-package thresholds)
|
|
435
435
|
4. **Add JSDoc** — all new public exports require JSDoc with `@param`, `@returns`, and `@see` RFC links
|
|
436
|
-
5. **Never edit `packages/docs/api/`** — API docs are auto-generated; edit source JSDoc and regenerate with `
|
|
436
|
+
5. **Never edit `packages/docs/api/`** — API docs are auto-generated; edit source JSDoc and regenerate with `pnpm run docs`
|
|
437
437
|
|
|
438
438
|
### Merge Request Checklist
|
|
439
439
|
|
|
440
440
|
- [ ] Branch is up to date with `main`
|
|
441
|
-
- [ ] All tests pass (`
|
|
442
|
-
- [ ] Lint passes (`
|
|
443
|
-
- [ ] Formatting is correct (`
|
|
444
|
-
- [ ] Build succeeds (`
|
|
441
|
+
- [ ] All tests pass (`pnpm test`)
|
|
442
|
+
- [ ] Lint passes (`pnpm run lint`)
|
|
443
|
+
- [ ] Formatting is correct (`pnpm run format:check`)
|
|
444
|
+
- [ ] Build succeeds (`pnpm run build`)
|
|
445
445
|
- [ ] New code has tests at or above coverage thresholds
|
|
446
446
|
- [ ] All new public exports have JSDoc
|
|
447
447
|
- [ ] Conventional commit format used on all commits
|
|
@@ -453,10 +453,10 @@ The GitLab CI pipeline runs automatically on merge requests, pushes to `main`, a
|
|
|
453
453
|
|
|
454
454
|
| Job | Command | Artifacts |
|
|
455
455
|
| ------------------ | ------------------------------------- | -------------------------------------- |
|
|
456
|
-
| Build | `
|
|
456
|
+
| Build | `pnpm run build` | — |
|
|
457
457
|
| Test with coverage | `vitest run --coverage` | JUnit XML, Cobertura coverage report |
|
|
458
458
|
| Lint | `oxlint .` | — |
|
|
459
|
-
| Audit | `
|
|
459
|
+
| Audit | `pnpm audit --audit-level=high` | — |
|
|
460
460
|
| Semantic release | (automated on `main`/`beta`/`pre/rc`) | CHANGELOG, npm publish, GitLab release |
|
|
461
461
|
|
|
462
462
|
---
|