@xmachines/docs 2.0.0-alpha.1 → 2.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 +6 -5
- package/api/@xmachines/play/README.md +1 -4
- package/api/@xmachines/play/classes/NonNullableError.md +11 -11
- package/api/@xmachines/play/classes/PlayError.md +11 -11
- package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
- package/api/@xmachines/play/type-aliases/PlayEvent.md +4 -4
- package/api/@xmachines/play-actor/README.md +81 -26
- package/api/@xmachines/play-actor/classes/AbstractActor.md +35 -20
- package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +1 -1
- package/api/@xmachines/play-actor/functions/composePlayState.md +26 -0
- package/api/@xmachines/play-actor/functions/createViewStoreLifecycle.md +21 -0
- package/api/@xmachines/play-actor/functions/guardContextWrites.md +41 -0
- package/api/@xmachines/play-actor/functions/refreshContextSubtree.md +27 -0
- package/api/@xmachines/play-actor/functions/reuseComposedState.md +41 -0
- package/api/@xmachines/play-actor/functions/shallowEqualExcept.md +28 -0
- package/api/@xmachines/play-actor/functions/toAtomState.md +1 -1
- package/api/@xmachines/play-actor/functions/typedSpec.md +23 -26
- package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +7 -7
- package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +7 -7
- package/api/@xmachines/play-actor/interfaces/PlaySpec.md +12 -14
- package/api/@xmachines/play-actor/interfaces/ResolveViewStoreOptions.md +11 -0
- package/api/@xmachines/play-actor/interfaces/Routable.md +5 -5
- package/api/@xmachines/play-actor/interfaces/ViewStoreLifecycle.md +50 -0
- package/api/@xmachines/play-actor/interfaces/ViewStoreResolution.md +15 -0
- package/api/@xmachines/play-actor/interfaces/Viewable.md +4 -4
- package/api/@xmachines/play-actor/variables/CONTEXT_STATE_KEY.md +15 -0
- package/api/@xmachines/play-dom/README.md +6 -3
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
- package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
- package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
- package/api/@xmachines/play-dom/functions/createValidationRegistry.md +22 -0
- package/api/@xmachines/play-dom/functions/defineRegistry.md +5 -5
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +9 -8
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +10 -10
- package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +2 -0
- package/api/@xmachines/play-dom/interfaces/FieldValidationState.md +16 -0
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -5
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +12 -12
- package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +2 -0
- package/api/@xmachines/play-dom/interfaces/ValidationRegistry.md +21 -0
- package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +10 -0
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
- package/api/@xmachines/play-dom/variables/schema.md +35 -45
- package/api/@xmachines/play-dom-router/README.md +3 -3
- 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 +2 -2
- package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +8 -8
- package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +6 -6
- 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 +4 -4
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
- package/api/@xmachines/play-react/README.md +4 -3
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
- package/api/@xmachines/play-react/functions/defineRegistry.md +5 -5
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useFieldValidation.md +31 -0
- 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/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-react/interfaces/ComponentContext.md +9 -8
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +6 -6
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +5 -5
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
- package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-react-router/README.md +2 -4
- 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 +2 -2
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-react-router/interfaces/PlayActor.md +7 -7
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +8 -8
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +7 -7
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +7 -7
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +4 -4
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +5 -5
- 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 +9 -17
- 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 +2 -2
- 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 +2 -2
- 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 +6 -6
- package/api/@xmachines/play-router/interfaces/LocationLike.md +5 -5
- package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +5 -7
- package/api/@xmachines/play-router/interfaces/MachineNodeData.md +7 -7
- package/api/@xmachines/play-router/interfaces/PlayActor.md +7 -7
- package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +8 -8
- package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +5 -5
- package/api/@xmachines/play-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-router/interfaces/RouteInfo.md +10 -10
- package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +4 -4
- package/api/@xmachines/play-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +5 -5
- package/api/@xmachines/play-router/interfaces/RouteNode.md +12 -12
- package/api/@xmachines/play-router/interfaces/RouteObject.md +4 -4
- package/api/@xmachines/play-router/interfaces/RouteTree.md +7 -7
- 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 +2 -2
- package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
- package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +4 -4
- package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalOptions.md +4 -4
- 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/type-aliases/WatcherNotify.md +1 -1
- package/api/@xmachines/play-solid/README.md +2 -2
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
- 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/variables/ActorContext.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-solid-router/README.md +7 -7
- 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 +2 -2
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +35 -20
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +7 -7
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +8 -8
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +7 -7
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +7 -7
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +4 -4
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
- 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 +22 -4
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
- 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/DefineRegistryOptions.md +6 -6
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/README.md +19 -28
- 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 +2 -2
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +8 -8
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +5 -5
- 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 +7 -7
- 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 +2 -2
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +8 -8
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +4 -4
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +5 -5
- 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 +3 -3
- 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 +2 -2
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +2 -2
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +8 -8
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +4 -4
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +5 -5
- 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/README.md +2 -0
- 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 +7 -7
- 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 +2 -2
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +8 -8
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +5 -5
- 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 +3 -5
- package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
- 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/useFieldValidation.md +31 -0
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +7 -7
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +10 -10
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +7 -7
- 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/ComponentsMap.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +4 -4
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-vue-router/README.md +3 -3
- 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 +2 -2
- package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +7 -7
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +8 -8
- package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +4 -4
- package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +5 -5
- 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 +100 -111
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +81 -58
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +5 -12
- package/api/@xmachines/play-xstate/functions/composeGuards.md +23 -24
- package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +22 -17
- package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +7 -2
- package/api/@xmachines/play-xstate/functions/definePlayer.md +3 -3
- package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
- package/api/@xmachines/play-xstate/functions/eventMatches.md +7 -2
- package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +11 -45
- package/api/@xmachines/play-xstate/functions/hasContext.md +7 -4
- package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
- package/api/@xmachines/play-xstate/functions/negateGuard.md +21 -16
- package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +5 -5
- package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +4 -4
- package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +10 -11
- package/api/@xmachines/play-xstate/interfaces/RouteContext.md +7 -7
- package/api/@xmachines/play-xstate/interfaces/RouteObject.md +4 -4
- package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +9 -25
- package/api/@xmachines/play-xstate/type-aliases/Guard.md +7 -5
- package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +7 -5
- package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +11 -15
- package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +6 -13
- package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -16
- 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 +12 -7
- package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +9 -4
- 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 +6 -6
- package/contributing/architecture.md +27 -28
- package/contributing/configuration.md +10 -10
- package/contributing/deployment.md +51 -30
- package/contributing/development.md +62 -21
- package/contributing/testing.md +36 -14
- 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-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-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-svelte-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
- 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/README.md +4 -1
- package/examples/basic-state-machine.md +24 -24
- package/examples/form-validation.md +110 -121
- package/examples/multi-router-integration.md +0 -2
- package/examples/routing-patterns.md +60 -94
- package/examples/traffic-light.md +57 -48
- package/guides/README.md +6 -2
- package/guides/actor-model.md +1 -1
- package/guides/getting-started.md +89 -90
- package/guides/inspector.md +197 -0
- package/guides/state-machines.md +55 -69
- package/package.json +10 -7
- package/rfc/play.md +15 -6
- package/api/@xmachines/play-xstate/functions/createRoutedMachine.md +0 -87
- package/api/@xmachines/play-xstate/type-aliases/PlayRoutePayload.md +0 -30
- package/api/@xmachines/play-xstate/type-aliases/SetupLike.md +0 -33
- package/api/@xmachines/play-xstate/type-aliases/WithOptional.md +0 -31
- package/api/@xmachines/play-xstate/variables/emptyEventSchema.md +0 -37
- package/api/@xmachines/play-xstate/variables/playMetaSchema.md +0 -40
- package/api/@xmachines/play-xstate/variables/playRouteEventSchema.md +0 -9
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
[API](../../../README.md) / [@xmachines/play-xstate](../README.md) / GuardArray
|
|
2
2
|
|
|
3
|
-
# Type Alias: GuardArray\<TContext, TEvent
|
|
3
|
+
# ~~Type Alias: GuardArray\<TContext, TEvent\>~~
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
6
|
type GuardArray<TContext, TEvent> = (Guard<TContext, TEvent> | string)[];
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/guards/types.ts:
|
|
9
|
+
Defined in: [packages/play-xstate/src/guards/types.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-xstate/src/guards/types.ts#L22)
|
|
10
10
|
|
|
11
|
-
Array of guard predicates or guard names
|
|
12
|
-
|
|
13
|
-
Per CONTEXT.md: Array means AND - all guards must pass
|
|
11
|
+
Array of guard predicates or guard names — an array means AND: all must pass.
|
|
14
12
|
|
|
15
13
|
## Type Parameters
|
|
16
14
|
|
|
@@ -18,3 +16,7 @@ Per CONTEXT.md: Array means AND - all guards must pass
|
|
|
18
16
|
| -------------- | --------------------------------------------------- |
|
|
19
17
|
| `TContext` | `Record`\<`string`, `unknown`\> |
|
|
20
18
|
| `TEvent` | [`PlayEvent`](../../play/type-aliases/PlayEvent.md) |
|
|
19
|
+
|
|
20
|
+
## Deprecated
|
|
21
|
+
|
|
22
|
+
The guard utilities will be removed in the next major.
|
|
@@ -3,28 +3,24 @@
|
|
|
3
3
|
# Type Alias: PlayerFactory\<TMachine\>
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
|
-
type PlayerFactory<TMachine> =
|
|
6
|
+
type PlayerFactory<TMachine> =
|
|
7
|
+
undefined extends InputFrom<TMachine>
|
|
8
|
+
? (input?, options?) => PlayerActor<TMachine>
|
|
9
|
+
: (input, options?) => PlayerActor<TMachine>;
|
|
7
10
|
```
|
|
8
11
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/types.ts:
|
|
12
|
+
Defined in: [packages/play-xstate/src/types.ts:131](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-xstate/src/types.ts#L131)
|
|
10
13
|
|
|
11
|
-
Factory function returned by definePlayer()
|
|
14
|
+
Factory function returned by definePlayer() — each call creates an
|
|
15
|
+
independent actor instance from the same configuration.
|
|
12
16
|
|
|
13
|
-
|
|
17
|
+
Input requiredness mirrors XState's `createActor`: a machine whose input
|
|
18
|
+
cannot be `undefined` makes the factory's first argument required, so
|
|
19
|
+
forgetting it is a compile error instead of an actor that starts in an
|
|
20
|
+
error status with a `null` initial route.
|
|
14
21
|
|
|
15
22
|
## Type Parameters
|
|
16
23
|
|
|
17
24
|
| Type Parameter |
|
|
18
25
|
| ---------------------------------------------------------------------------------------------- |
|
|
19
26
|
| `TMachine` _extends_ [`AnyStateMachine`](https://www.jsdocs.io/package/xstate#AnyStateMachine) |
|
|
20
|
-
|
|
21
|
-
## Parameters
|
|
22
|
-
|
|
23
|
-
| Parameter | Type |
|
|
24
|
-
| ---------- | ----------------------------------------------------------------------------------------- |
|
|
25
|
-
| `input?` | [`InputFrom`](https://www.jsdocs.io/package/xstate#InputFrom)\<`TMachine`\> |
|
|
26
|
-
| `options?` | [`PlayerFactoryResumeOptions`](../interfaces/PlayerFactoryResumeOptions.md)\<`TMachine`\> |
|
|
27
|
-
|
|
28
|
-
## Returns
|
|
29
|
-
|
|
30
|
-
[`PlayerActor`](../classes/PlayerActor.md)\<`TMachine`\>
|
|
@@ -6,7 +6,7 @@
|
|
|
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:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L70)
|
|
10
10
|
|
|
11
11
|
Minimal structural constraint for machine configs accepted by
|
|
12
12
|
`formatPlayRouteTransitions`.
|
|
@@ -15,15 +15,8 @@ This is intentionally loose so the function accepts both the bare `createMachine
|
|
|
15
15
|
config object and the stricter `setup().createMachine` config without requiring
|
|
16
16
|
any type casts at the call site. The generic `T extends RouteMachineConfig`
|
|
17
17
|
parameter on `formatPlayRouteTransitions` preserves the original concrete type
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
Known limitation: a config authored as a STANDALONE value
|
|
21
|
-
(`const config = formatPlayRouteTransitions({...})`) is typed against this
|
|
22
|
-
loose shape only, so inline transition functions lose parameter inference
|
|
23
|
-
(implicit-any under strict mode). Written inline inside a
|
|
24
|
-
`setup().createMachine(formatPlayRouteTransitions({...}))` call, contextual
|
|
25
|
-
typing still flows. [createRoutedMachine](../functions/createRoutedMachine.md) is the recommended entry
|
|
26
|
-
point either way — it keeps the setup's exact `createMachine` signature.
|
|
18
|
+
through the transform, so the return value remains directly usable by
|
|
19
|
+
`setup().createMachine()`.
|
|
27
20
|
|
|
28
21
|
## Indexable
|
|
29
22
|
|
|
@@ -39,7 +32,7 @@ point either way — it keeps the setup's exact `createMachine` signature.
|
|
|
39
32
|
optional context?: unknown;
|
|
40
33
|
```
|
|
41
34
|
|
|
42
|
-
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:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L71)
|
|
43
36
|
|
|
44
37
|
---
|
|
45
38
|
|
|
@@ -49,7 +42,7 @@ Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:7
|
|
|
49
42
|
optional on?: Record<string, unknown>;
|
|
50
43
|
```
|
|
51
44
|
|
|
52
|
-
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:73](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L73)
|
|
53
46
|
|
|
54
47
|
---
|
|
55
48
|
|
|
@@ -59,4 +52,4 @@ Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:7
|
|
|
59
52
|
optional states?: Record<string, unknown>;
|
|
60
53
|
```
|
|
61
54
|
|
|
62
|
-
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:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L72)
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
type RouteMetadata = string | RouteObject;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-xstate/src/routing/types.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0
|
|
9
|
+
Defined in: [packages/play-xstate/src/routing/types.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-xstate/src/routing/types.ts#L6)
|
|
@@ -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:
|
|
9
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L32)
|
|
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:
|
|
32
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L34)
|
|
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:
|
|
44
|
+
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:36](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L36)
|
|
45
45
|
|
|
46
46
|
State metadata — `meta.route` marks the state as routable.
|
|
47
47
|
|
|
@@ -56,24 +56,12 @@ form (`{ path, title }`), matching [RouteMetadata](RouteMetadata.md).
|
|
|
56
56
|
|
|
57
57
|
---
|
|
58
58
|
|
|
59
|
-
### route?
|
|
60
|
-
|
|
61
|
-
```ts
|
|
62
|
-
optional route?: unknown;
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/format-play-route-transitions.ts#L26)
|
|
66
|
-
|
|
67
|
-
XState v6 native route config; injected as `{}` when absent.
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
59
|
### states?
|
|
72
60
|
|
|
73
61
|
```ts
|
|
74
62
|
optional states?: Record<string, RouteStateNode>;
|
|
75
63
|
```
|
|
76
64
|
|
|
77
|
-
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:44](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L44)
|
|
78
66
|
|
|
79
67
|
Nested child states, recursively crawled for additional route declarations.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
[API](../../README.md) / @xmachines/shared
|
|
2
2
|
|
|
3
|
-
<!-- generated-by: gsd-doc-writer -->
|
|
4
|
-
|
|
5
3
|
# `@xmachines/shared`
|
|
6
4
|
|
|
7
5
|
Shared configurations for XMachines packages — TypeScript, linting, formatting, and Vitest setup used across the monorepo.
|
|
8
6
|
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
9
|
Part of the [xmachines-js monorepo](../../README.md).
|
|
10
10
|
|
|
11
11
|
## Installation
|
|
@@ -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/v2.0.0
|
|
9
|
+
Defined in: [vite-aliases.ts:221](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/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:
|
|
9
|
+
Defined in: [vite-aliases.ts:338](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/shared/config/vite-aliases.ts#L338)
|
|
10
10
|
|
|
11
11
|
Returns the shared Vite `cacheDir` for this workspace package.
|
|
12
12
|
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
# Function: xmOptimizeDeps()
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
|
-
function xmOptimizeDeps(
|
|
6
|
+
function xmOptimizeDeps(include?): DepOptimizationOptions;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [vite-aliases.ts:
|
|
9
|
+
Defined in: [vite-aliases.ts:291](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/shared/config/vite-aliases.ts#L291)
|
|
10
10
|
|
|
11
11
|
Returns the standard Vite `optimizeDeps` config for browser test projects.
|
|
12
12
|
|
|
@@ -16,14 +16,19 @@ 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
|
-
|
|
20
|
-
|
|
19
|
+
Every entry has to be a dependency the calling package declares. pnpm gives each
|
|
20
|
+
package its own `node_modules`, so a specifier the project does not declare cannot
|
|
21
|
+
be resolved from its root — and the optimizer only warns: `Failed to resolve
|
|
22
|
+
dependency: <name>, present in client 'optimizeDeps.include'` on stderr, with the
|
|
23
|
+
run carrying on. That reads as a failure inside a passing job, and it hides the
|
|
24
|
+
same message when it is real. So nothing is pre-bundled by default: pass the
|
|
25
|
+
packages this project actually depends on.
|
|
21
26
|
|
|
22
27
|
## Parameters
|
|
23
28
|
|
|
24
|
-
| Parameter | Type | Default value | Description
|
|
25
|
-
| --------- | ---------- | ------------- |
|
|
26
|
-
| `
|
|
29
|
+
| Parameter | Type | Default value | Description |
|
|
30
|
+
| --------- | ---------- | ------------- | -------------------------------------------------------------- |
|
|
31
|
+
| `include` | `string`[] | `[]` | Package specifiers to pre-bundle, each declared by the caller. |
|
|
27
32
|
|
|
28
33
|
## Returns
|
|
29
34
|
|
|
@@ -6,7 +6,7 @@
|
|
|
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/v2.0.0
|
|
9
|
+
Defined in: [vite-aliases.ts:258](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/shared/config/vite-aliases.ts#L258)
|
|
10
10
|
|
|
11
11
|
Full Vite `resolve` config for @xmachines/* workspace packages.
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function xmSvelteRunes(): object;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [vite-aliases.ts:
|
|
9
|
+
Defined in: [vite-aliases.ts:317](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/shared/config/vite-aliases.ts#L317)
|
|
10
10
|
|
|
11
11
|
Svelte plugin options that enforce runes mode for workspace sources only.
|
|
12
12
|
|
|
@@ -24,10 +24,15 @@ import { xmSvelteRunes } from "@xmachines/shared/vite-aliases";
|
|
|
24
24
|
|
|
25
25
|
export default defineConfig({ plugins: [svelte(xmSvelteRunes())] });
|
|
26
26
|
|
|
27
|
+
`packages/play-svelte/svelte.config.js` states the same policy a second
|
|
28
|
+
time, because that file is published and this package is not — see
|
|
29
|
+
`tests/svelte-runes-policy.test.ts`, which holds the two together. Change
|
|
30
|
+
one and change the other.
|
|
31
|
+
|
|
27
32
|
## Returns
|
|
28
33
|
|
|
29
34
|
`object`
|
|
30
35
|
|
|
31
|
-
| Name | Type | Defined in
|
|
32
|
-
| ------------------------- | ------------------------------------------------------- |
|
|
33
|
-
| `dynamicCompileOptions()` | (`data`) => \| \{ `runes`: `boolean`; \} \| `undefined` | [vite-aliases.ts:
|
|
36
|
+
| Name | Type | Defined in |
|
|
37
|
+
| ------------------------- | ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
|
38
|
+
| `dynamicCompileOptions()` | (`data`) => \| \{ `runes`: `boolean`; \} \| `undefined` | [vite-aliases.ts:318](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/shared/config/vite-aliases.ts#L318) |
|
|
@@ -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/v2.0.0
|
|
9
|
+
Defined in: [vitest.ts:167](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/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/v2.0.0
|
|
9
|
+
Defined in: [vitest.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/shared/config/vitest.ts#L64)
|
|
10
10
|
|
|
11
11
|
Create a Vitest config with XMachines workspace defaults.
|
|
12
12
|
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: XmBrowserConfigOptions
|
|
4
4
|
|
|
5
|
-
Defined in: [vitest.ts:117](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0
|
|
5
|
+
Defined in: [vitest.ts:117](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/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.
|
|
9
9
|
|
|
10
10
|
## Properties
|
|
11
11
|
|
|
12
|
-
| Property | Type | Description | Defined in
|
|
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/v2.0.0
|
|
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/v2.0.0
|
|
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/v2.0.0
|
|
12
|
+
| Property | Type | Description | Defined in |
|
|
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/v2.0.0/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/v2.0.0/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/v2.0.0/packages/shared/config/vitest.ts#L138) |
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
<!-- generated-by: gsd-doc-writer -->
|
|
2
|
-
|
|
3
1
|
# Architecture
|
|
4
2
|
|
|
5
3
|
XMachines Play implements the **Universal Player Architecture** — a layered, actor-authority design where XState machines are the single source of truth for routing, navigation, and view selection. Infrastructure (routers, renderers) is strictly passive: it observes actor signals and reflects them, never enforcing guards or making decisions.
|
|
6
4
|
|
|
7
5
|
## System Overview
|
|
8
6
|
|
|
9
|
-
XMachines JS is the JavaScript/TypeScript reference implementation of the **Universal Player Architecture** ([Play RFC](../rfc/play.md)). It is a monorepo of modular packages that strictly separates **business logic (the Actor)** from **infrastructure (router adapters and view renderers)**. An XState
|
|
7
|
+
XMachines JS is the JavaScript/TypeScript reference implementation of the **Universal Player Architecture** ([Play RFC](../rfc/play.md)). It is a monorepo of modular packages that strictly separates **business logic (the Actor)** from **infrastructure (router adapters and view renderers)**. An XState v5 state machine is the single source of truth; it owns all state, guards, and route validity. Infrastructure is passive: it observes TC39 Signals emitted by the Actor and proposes state changes via typed events. The Actor's guards make every navigation and transition decision. Communication across the boundary is exclusively through TC39 Signals — never subscriptions, callbacks, or direct state mutation. Five architectural invariants (documented in the [Play RFC](../rfc/play.md)) enforce this contract across the entire package graph.
|
|
10
8
|
|
|
11
9
|
## Architectural Invariants
|
|
12
10
|
|
|
@@ -76,7 +74,7 @@ graph TD
|
|
|
76
74
|
| [`@xmachines/play`](../api/@xmachines/play/README.md) | Core protocol types and error base class | `packages/play/src/index.ts` |
|
|
77
75
|
| [`@xmachines/play-signals`](../api/@xmachines/play-signals/README.md) | TC39 Signal polyfill isolation wrapper | `packages/play-signals/src/index.ts` |
|
|
78
76
|
| [`@xmachines/play-actor`](../api/@xmachines/play-actor/README.md) | `AbstractActor` base class + capability interfaces | `packages/play-actor/src/abstract-actor.ts` |
|
|
79
|
-
| [`@xmachines/play-xstate`](../api/@xmachines/play-xstate/README.md) | XState
|
|
77
|
+
| [`@xmachines/play-xstate`](../api/@xmachines/play-xstate/README.md) | XState v5 adapter: `definePlayer`, `PlayerActor` | `packages/play-xstate/src/player-actor.ts` |
|
|
80
78
|
| [`@xmachines/play-router`](../api/@xmachines/play-router/README.md) | Route extraction, `RouteMap`, `RouterBridgeBase` | `packages/play-router/src/router-bridge-base.ts` |
|
|
81
79
|
| [`@xmachines/play-react`](../api/@xmachines/play-react/README.md) | React renderer: `ActorProvider`, `PlayRenderer` | `packages/play-react/src/ActorProvider.tsx` |
|
|
82
80
|
| [`@xmachines/play-vue`](../api/@xmachines/play-vue/README.md) | Vue 3 renderer: `ActorProvider.vue`, `PlayRenderer.vue` | `packages/play-vue/src/ActorProvider.vue` |
|
|
@@ -101,8 +99,8 @@ graph TD
|
|
|
101
99
|
```mermaid
|
|
102
100
|
flowchart TD
|
|
103
101
|
A["XState machine transition"]
|
|
104
|
-
B["PlayerActor
|
|
105
|
-
C["
|
|
102
|
+
B["PlayerActor observes its own transitions"]
|
|
103
|
+
C["actor.state Signal.State updated — synchronous, no batching"]
|
|
106
104
|
D["actor.currentRoute Signal.Computed recomputes\nderives URL from meta.route + context.params"]
|
|
107
105
|
E["validateAndCacheView(snapshot)\nactor.currentView Signal.State updated"]
|
|
108
106
|
F["Framework signal watcher fires\nmicrotask"]
|
|
@@ -169,11 +167,11 @@ flowchart TD
|
|
|
169
167
|
```mermaid
|
|
170
168
|
flowchart TD
|
|
171
169
|
A["XState snapshot.getMeta()"]
|
|
172
|
-
B["resolveViewMeta(meta)\nfinds
|
|
173
|
-
C["
|
|
174
|
-
D["
|
|
175
|
-
E["
|
|
176
|
-
F["
|
|
170
|
+
B["resolveViewMeta(meta)\nfinds deepest meta.view with root + elements\n(its record key becomes viewKey)"]
|
|
171
|
+
C["snapshot.context\nprojected wholesale as the /context slice"]
|
|
172
|
+
D["composePlayState(spec.state, slice)\nstate: { ...authored, context: slice }"]
|
|
173
|
+
E["reuseComposedState (in validateAndCacheView)\ncarry previous state reference when the slice is value-unchanged"]
|
|
174
|
+
F["Derived PlaySpec (with viewKey) set on currentView signal"]
|
|
177
175
|
|
|
178
176
|
A --> B --> C --> D --> E --> F
|
|
179
177
|
```
|
|
@@ -225,15 +223,15 @@ Optional capability interface. Exposes `currentView: Signal.State<PlaySpec | nul
|
|
|
225
223
|
|
|
226
224
|
### [`PlaySpec`](../api/@xmachines/play-actor/interfaces/PlaySpec.md)
|
|
227
225
|
|
|
228
|
-
Extends `@xmachines/json-render-core` `Spec`
|
|
226
|
+
Extends `@xmachines/json-render-core` `Spec`. `deriveCurrentView` projects the machine's whole context into the derived spec's `state` under the read-only `/context` subtree, and stamps a `viewKey` from the selected meta entry so providers can reseed vs refresh their store. Specs read context through the ordinary `{ $state: "/context/…" }` grammar; element props are never enriched. `typedSpec()` type-checks the spec literal at the definition site (XState's `meta` is untyped).
|
|
229
227
|
|
|
230
228
|
### [`PlayerActor<TMachine>`](../api/@xmachines/play-xstate/classes/PlayerActor.md)
|
|
231
229
|
|
|
232
|
-
Concrete XState
|
|
230
|
+
Concrete XState v5 actor implementing the full signal protocol. Extends [`AbstractActor`](../api/@xmachines/play-actor/classes/AbstractActor.md) — and so XState's own `Actor`, receiving the machine in its constructor, so an instance IS the actor rather than a wrapper around one; implements both [`Routable`](../api/@xmachines/play-actor/interfaces/Routable.md) and [`Viewable`](../api/@xmachines/play-actor/interfaces/Viewable.md). Bridges its own subscription to TC39 Signals. Exposes: `state`, `currentRoute`, `currentView`, `initialRoute`, `send()`, `start()`, `stop()`, `can()`, `dispose()`.
|
|
233
231
|
|
|
234
232
|
### [`definePlayer(config)`](../api/@xmachines/play-xstate/functions/definePlayer.md) → [`PlayerFactory`](../api/@xmachines/play-xstate/type-aliases/PlayerFactory.md)
|
|
235
233
|
|
|
236
|
-
Factory creator.
|
|
234
|
+
Factory creator. Each call constructs one `PlayerActor`, which is itself the XState actor and derives its own `initialRoute` from its pre-start snapshot. Restoring a snapshot is the exception: the default initial route can only come from XState's pure `initialTransition` helper, whose inert actor scope constructs a throwaway actor and evaluates the initial transition twice. Returns `(input?, restore?) => PlayerActor<TMachine>`.
|
|
237
235
|
|
|
238
236
|
```typescript
|
|
239
237
|
import { definePlayer } from "@xmachines/play-xstate";
|
|
@@ -285,7 +283,7 @@ Subscribe to a single TC39 signal with microtask batching and memory-safe cleanu
|
|
|
285
283
|
|
|
286
284
|
### [`formatPlayRouteTransitions(machineConfig)`](../api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md)
|
|
287
285
|
|
|
288
|
-
Crawls machine state configs looking for states with `meta.route` and
|
|
286
|
+
Crawls machine state configs looking for states with `meta.route` and auto-generates `play.route` transition handlers at the root machine level. Each generated transition targets the matching state, guards on `event.to === "#stateId"`, and assigns `event.params` and `event.query` to context. Returns the same config type `T` — directly usable by `setup().createMachine()`.
|
|
289
287
|
|
|
290
288
|
## View Renderer Pattern
|
|
291
289
|
|
|
@@ -348,13 +346,13 @@ packages/
|
|
|
348
346
|
│ └── src/ # Re-exports signal-polyfill; watchSignal utility
|
|
349
347
|
├── play-actor/ # Layer 1: AbstractActor base + Routable, Viewable, PlaySpec interfaces
|
|
350
348
|
│
|
|
351
|
-
├── play-xstate/ # Layer 2: Concrete XState
|
|
349
|
+
├── play-xstate/ # Layer 2: Concrete XState v5 actor: definePlayer, PlayerActor
|
|
352
350
|
│ └── src/
|
|
353
351
|
│ ├── player-actor.ts # PlayerActor — concrete actor
|
|
354
352
|
│ ├── define-player.ts # definePlayer factory
|
|
355
353
|
│ ├── guards/ # composeGuards, composeGuardsOr, negateGuard, hasContext...
|
|
356
354
|
│ ├── routing/ # deriveRoute, buildRouteUrl, formatPlayRouteTransitions
|
|
357
|
-
│ └──
|
|
355
|
+
│ └── view/ # deriveCurrentView (meta.view → PlaySpec)
|
|
358
356
|
│
|
|
359
357
|
├── play-router/ # Layer 2: Route extraction, bidirectional mapping, bridge base
|
|
360
358
|
│ └── src/
|
|
@@ -467,11 +465,10 @@ flowchart TD
|
|
|
467
465
|
PE --> IME["InvalidMachineError\nPLAY_XSTATE_INVALID_MACHINE"]
|
|
468
466
|
PE --> MRP["MissingRouteParamError\nPLAY_XSTATE_ROUTE_PARAM_MISSING"]
|
|
469
467
|
PE --> MSI["MissingStateIdError\nPLAY_XSTATE_MISSING_STATE_ID"]
|
|
470
|
-
PE --> MQC["MissingQueryContextError\nPLAY_XSTATE_MISSING_QUERY_CONTEXT"]
|
|
468
|
+
PE --> MQC["MissingQueryContextError\nPLAY_XSTATE_MISSING_QUERY_CONTEXT\n(deprecated — never thrown)"]
|
|
471
469
|
PE --> IRE["InvalidRouteMetadataError\nPLAY_XSTATE_INVALID_ROUTE_METADATA"]
|
|
470
|
+
PE --> ATN["ActorThrewNonErrorError\nPLAY_XSTATE_NON_ERROR_THROWN"]
|
|
472
471
|
PE --> EGA["EmptyGuardArrayError\nPLAY_XSTATE_EMPTY_GUARD_ARRAY"]
|
|
473
|
-
PE --> UGN["UnresolvableGuardNameError\nPLAY_XSTATE_UNRESOLVABLE_GUARD_NAME"]
|
|
474
|
-
PE --> IGE["InvalidGuardEntryError\nPLAY_XSTATE_INVALID_GUARD_ENTRY"]
|
|
475
472
|
```
|
|
476
473
|
|
|
477
474
|
Package-specific errors are exported from `./errors` subpath imports:
|
|
@@ -484,14 +481,16 @@ import { InvalidEventError } from "@xmachines/play-xstate/errors";
|
|
|
484
481
|
|
|
485
482
|
**Error behavior by case:**
|
|
486
483
|
|
|
487
|
-
| Error | Package | Behavior
|
|
488
|
-
| ---------------------------- | ------------- |
|
|
489
|
-
| `MissingRouteParamError` | `play-xstate` | Transient — `currentRoute` returns `null`; does not throw
|
|
490
|
-
| `MissingQueryContextError` | `play-xstate` |
|
|
491
|
-
| `
|
|
492
|
-
| `
|
|
493
|
-
| `
|
|
494
|
-
|
|
|
484
|
+
| Error | Package | Behavior |
|
|
485
|
+
| ---------------------------- | ------------- | ------------------------------------------------------------------------------------------ |
|
|
486
|
+
| `MissingRouteParamError` | `play-xstate` | Transient — `currentRoute` returns `null`; does not throw |
|
|
487
|
+
| `MissingQueryContextError` | `play-xstate` | Deprecated — never thrown; exported only so existing `instanceof` handlers keep compiling |
|
|
488
|
+
| `ActorThrewNonErrorError` | `play-xstate` | Constructed for `onError` when the machine throws a non-`Error`; original value on `cause` |
|
|
489
|
+
| `EmptyGuardArrayError` | `play-xstate` | Structural programmer error — `composeGuards`/`composeGuardsOr` called with `[]` |
|
|
490
|
+
| `RouterSyncError` | `play-router` | Wraps router sync failures |
|
|
491
|
+
| `DuplicateBridgeError` | `play-router` | Two bridges registered for the same actor |
|
|
492
|
+
| `URLPatternUnavailableError` | `play-router` | URLPattern API missing — load `urlpattern-polyfill` |
|
|
493
|
+
| View errors | `play-xstate` | Caught in `validateAndCacheView()`; forwarded to `onError` hook; last valid view retained |
|
|
495
494
|
|
|
496
495
|
## Application Bootstrap (React example)
|
|
497
496
|
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
<!-- generated-by: gsd-doc-writer -->
|
|
2
|
-
|
|
3
1
|
# Configuration
|
|
4
2
|
|
|
5
3
|
This document describes every configuration file, environment variable, and per-package override used by the `xmachines-js` monorepo.
|
|
@@ -133,7 +131,6 @@ The root config extends the shared base (`@xmachines/shared/oxlint`) and adds wo
|
|
|
133
131
|
export default defineConfig({
|
|
134
132
|
extends: [sharedConfig],
|
|
135
133
|
ignorePatterns: [
|
|
136
|
-
".planning",
|
|
137
134
|
".opencode",
|
|
138
135
|
"node_modules",
|
|
139
136
|
"dist",
|
|
@@ -185,7 +182,6 @@ export default defineConfig({
|
|
|
185
182
|
...sharedConfig,
|
|
186
183
|
ignorePatterns: [
|
|
187
184
|
...(sharedConfig.ignorePatterns ?? []),
|
|
188
|
-
".planning",
|
|
189
185
|
".opencode",
|
|
190
186
|
".agents",
|
|
191
187
|
".githuman",
|
|
@@ -295,7 +291,7 @@ Provides two helpers used in all `vitest.config.ts` and `vite.config.ts` files:
|
|
|
295
291
|
- **`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
292
|
- **`xmResolve(import.meta.url)`** — returns a full Vite `resolve` config with `xmAliases` plus `preserveSymlinks: true` and `conditions: ["source"]`.
|
|
297
293
|
- **`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
|
-
- **`xmOptimizeDeps(
|
|
294
|
+
- **`xmOptimizeDeps(include?)`** — returns an `optimizeDeps.include` list holding exactly the specifiers passed in. Nothing is pre-bundled by default, and every entry has to be a package the calling project declares: pnpm gives each package its own `node_modules`, so Vite cannot resolve an undeclared specifier — it warns on stderr and carries on, which reads as a failure in a passing job.
|
|
299
295
|
|
|
300
296
|
### Release — `release.config.mjs`
|
|
301
297
|
|
|
@@ -306,11 +302,15 @@ Defines the release branches and plugin chain used by the GitLab CI semantic-rel
|
|
|
306
302
|
|
|
307
303
|
**Release branches:**
|
|
308
304
|
|
|
309
|
-
| Branch
|
|
310
|
-
|
|
|
311
|
-
| `main`
|
|
312
|
-
| `
|
|
313
|
-
| `beta`
|
|
305
|
+
| Branch | Channel | Pre-release |
|
|
306
|
+
| ------- | --------- | ----------- |
|
|
307
|
+
| `main` | (default) | No |
|
|
308
|
+
| `rc` | `rc` | `rc` |
|
|
309
|
+
| `beta` | `beta` | `true` |
|
|
310
|
+
| `alpha` | `alpha` | `alpha` |
|
|
311
|
+
| `pre` | `pre` | `pre` |
|
|
312
|
+
|
|
313
|
+
Only `main` is a protected branch today. That works because `GITLAB_TOKEN` — which the release needs, since `CI_JOB_TOKEN` can push neither the release commit nor the tag — is an _unprotected_ group variable and so reaches every one of these refs. If it is ever made protected, each of these branches has to be protected too, or the release fails in verify-conditions with `EGITNOPERMISSION` rather than at the registry.
|
|
314
314
|
|
|
315
315
|
**Tag format:** `v${version}`
|
|
316
316
|
|