@xmachines/docs 7.0.0 → 7.2.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 +1 -1
- package/api/@xmachines/core/README.md +1 -1
- package/api/@xmachines/core/cache/functions/createLruCache.md +7 -7
- package/api/@xmachines/core/cache/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/core/errors/classes/BaseError.md +15 -23
- package/api/@xmachines/core/errors/classes/DisposeConflictError.md +11 -11
- package/api/@xmachines/core/utils/functions/asDisposable.md +9 -9
- package/api/@xmachines/core/utils/functions/createNullRecord.md +4 -4
- package/api/@xmachines/core/utils/functions/createWarnOnce.md +1 -1
- package/api/@xmachines/core/utils/functions/describeValue.md +1 -1
- package/api/@xmachines/core/utils/functions/isError.md +1 -1
- package/api/@xmachines/core/utils/functions/isThenable.md +4 -4
- package/api/@xmachines/core/utils/functions/releaseQuietly.md +1 -1
- package/api/@xmachines/core/utils/functions/rethrowLater.md +1 -1
- package/api/@xmachines/core/utils/functions/safeString.md +1 -1
- package/api/@xmachines/core/utils/functions/shallowEqualExcept.md +1 -1
- package/api/@xmachines/core/utils/type-aliases/DisposeKey.md +1 -1
- package/api/@xmachines/core/utils/type-aliases/DisposeMember.md +1 -1
- package/api/@xmachines/core/utils/variables/DISPOSE.md +1 -1
- package/api/@xmachines/play/README.md +1 -1
- package/api/@xmachines/play/errors/classes/NonNullableError.md +11 -11
- package/api/@xmachines/play/errors/classes/PlayError.md +11 -11
- package/api/@xmachines/play/index/functions/assertNonNullable.md +4 -4
- package/api/@xmachines/play/index/type-aliases/PlayEvent.md +9 -9
- package/api/@xmachines/play-actor/README.md +5 -3
- package/api/@xmachines/play-actor/interfaces/ActorEvent.md +4 -4
- package/api/@xmachines/play-actor/interfaces/PlayActor.md +9 -9
- package/api/@xmachines/play-atom/README.md +1 -1
- package/api/@xmachines/play-atom/functions/watchAtom.md +4 -4
- package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +4 -4
- package/api/@xmachines/play-atom/interfaces/Atom.md +9 -9
- package/api/@xmachines/play-atom/interfaces/AtomObserver.md +9 -9
- package/api/@xmachines/play-atom/interfaces/AtomOptions.md +7 -7
- package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +2 -2
- package/api/@xmachines/play-atom/interfaces/BaseAtom.md +7 -7
- package/api/@xmachines/play-atom/interfaces/CreateAtom.md +9 -9
- package/api/@xmachines/play-atom/interfaces/Readable.md +7 -7
- package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +7 -7
- package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +1 -1
- package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +5 -5
- package/api/@xmachines/play-atom/variables/createAsyncAtom.md +4 -4
- package/api/@xmachines/play-atom/variables/createAtom.md +1 -1
- package/api/@xmachines/play-atom/variables/createWritableAtom.md +4 -4
- package/api/@xmachines/play-dom/README.md +1 -1
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +5 -5
- package/api/@xmachines/play-dom/functions/createPlayUI.md +2 -2
- package/api/@xmachines/play-dom/functions/createRenderer.md +4 -4
- package/api/@xmachines/play-dom/functions/defineRegistry.md +3 -3
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +14 -13
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -5
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +15 -15
- package/api/@xmachines/play-dom/type-aliases/ActionFn.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/Actions.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +7 -7
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
- package/api/@xmachines/play-dom-router/README.md +1 -1
- package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +7 -7
- package/api/@xmachines/play-dom-router/classes/RouteMap.md +5 -5
- 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/createRouter.md +1 -1
- package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +5 -5
- 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 +10 -10
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +9 -9
- 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/RouteMapOptions.md +6 -6
- 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/RouterConnection.md +8 -8
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
- package/api/@xmachines/play-pattern/README.md +1 -1
- package/api/@xmachines/play-pattern/functions/buildPath.md +2 -2
- package/api/@xmachines/play-pattern/functions/createLruCache.md +7 -7
- package/api/@xmachines/play-pattern/functions/getIndexKey.md +1 -1
- package/api/@xmachines/play-pattern/functions/isDotSegment.md +1 -1
- package/api/@xmachines/play-pattern/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-pattern/interfaces/GroupPart.md +6 -6
- package/api/@xmachines/play-pattern/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +5 -5
- package/api/@xmachines/play-pattern/interfaces/ParamPart.md +9 -9
- package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-pattern/interfaces/PatternParam.md +6 -6
- package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PathParams.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +1 -1
- package/api/@xmachines/play-react/README.md +1 -1
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +36 -75
- package/api/@xmachines/play-react/functions/defineRegistry.md +3 -3
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useAtomEffect.md +2 -2
- package/api/@xmachines/play-react/functions/useBoundProp.md +3 -3
- package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-react/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +8 -8
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +15 -14
- 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/type-aliases/ComponentFn.md +4 -4
- 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 -2
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
- package/api/@xmachines/play-react-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +6 -6
- 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 +6 -6
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-router/README.md +1 -1
- package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +11 -11
- package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +13 -13
- package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +11 -11
- package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +13 -13
- package/api/@xmachines/play-router/index/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +14 -14
- package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
- package/api/@xmachines/play-router/index/functions/buildRouteTree.md +4 -4
- package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/createLruCache.md +7 -7
- package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
- package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
- package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
- package/api/@xmachines/play-router/index/functions/extractRouteParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
- package/api/@xmachines/play-router/index/functions/findRouteByPath.md +1 -1
- package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
- package/api/@xmachines/play-router/index/functions/joinBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
- package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/openProviderBridge.md +9 -9
- package/api/@xmachines/play-router/index/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-router/index/functions/pickOwnParams.md +6 -6
- package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
- package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-router/index/functions/splitLocation.md +1 -1
- package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
- package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
- package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +9 -9
- package/api/@xmachines/play-router/index/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/LocationLike.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +8 -8
- package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +14 -14
- package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +16 -16
- package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/Routable.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +10 -10
- package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RouteNode.md +12 -12
- package/api/@xmachines/play-router/index/interfaces/RouteObject.md +7 -7
- package/api/@xmachines/play-router/index/interfaces/RouteTree.md +10 -10
- package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +9 -8
- package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +7 -7
- package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +3 -3
- package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
- package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
- package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +5 -5
- package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +7 -7
- package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +1 -1
- package/api/@xmachines/play-solid/README.md +1 -1
- package/api/@xmachines/play-solid/functions/defineRegistry.md +3 -3
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/useBoundProp.md +3 -3
- package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-solid/functions/useStateBinding.md +3 -3
- package/api/@xmachines/play-solid/functions/useStateValue.md +3 -3
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-solid/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +15 -14
- 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 +4 -4
- 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 +2 -2
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +9 -9
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +6 -6
- 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 +6 -6
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
- package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-svelte/README.md +1 -1
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +4 -4
- 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/BaseComponentProps.md +13 -13
- package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +14 -14
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +9 -9
- 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/ActionFn.md +4 -4
- package/api/@xmachines/play-svelte/type-aliases/Actions.md +3 -3
- package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/README.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +8 -8
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +10 -10
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +6 -6
- 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/RouterConnection.md +8 -8
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/README.md +1 -1
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +8 -8
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +11 -11
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +6 -6
- 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/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-sveltekit-router/interfaces/SvelteKitRouterBridgeOptions.md +8 -8
- package/api/@xmachines/play-sveltekit-router/type-aliases/ShallowNavigation.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/README.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.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 +6 -6
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +9 -9
- package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-tanstack-router/README.md +1 -1
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/README.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +6 -6
- 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 +6 -6
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-url/README.md +1 -1
- package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +12 -12
- package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +12 -12
- package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +13 -13
- package/api/@xmachines/play-url/index/functions/buildPath.md +2 -2
- package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/createLruCache.md +7 -7
- package/api/@xmachines/play-url/index/functions/getCandidates.md +4 -4
- package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +5 -5
- package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
- package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
- package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
- package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-url/index/functions/pickOwnParams.md +6 -6
- package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
- package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
- package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +9 -9
- package/api/@xmachines/play-url/index/interfaces/GroupPart.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/ParamPart.md +9 -9
- package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-url/index/interfaces/PatternParam.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +7 -7
- package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +2 -2
- package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
- package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
- package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
- package/api/@xmachines/play-view/README.md +1 -1
- package/api/@xmachines/play-view/errors/classes/InvalidViewOutletError.md +13 -13
- package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +12 -12
- package/api/@xmachines/play-view/errors/classes/ViewElementKeyCollisionError.md +13 -13
- package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +4 -4
- package/api/@xmachines/play-view/index/functions/bindStoreHandlers.md +4 -4
- package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
- package/api/@xmachines/play-view/index/functions/composeViews.md +1 -1
- package/api/@xmachines/play-view/index/functions/createActorProxy.md +4 -4
- package/api/@xmachines/play-view/index/functions/createRenderErrorBinding.md +4 -4
- package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
- package/api/@xmachines/play-view/index/functions/createViewSession.md +4 -4
- package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
- package/api/@xmachines/play-view/index/functions/forwardRenderError.md +1 -1
- package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
- package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
- package/api/@xmachines/play-view/index/functions/reuseComposedState.md +1 -1
- package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
- package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
- package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +11 -11
- package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +10 -10
- package/api/@xmachines/play-view/index/interfaces/ComposedView.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/HandlerFactory.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +8 -8
- package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +4 -4
- package/api/@xmachines/play-view/index/interfaces/ViewMeta.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/ViewOutlet.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ViewSession.md +10 -10
- package/api/@xmachines/play-view/index/interfaces/ViewSessionOptions.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ViewSessionSnapshot.md +11 -11
- package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +4 -4
- package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/ViewTree.md +6 -6
- package/api/@xmachines/play-view/index/interfaces/ViewTreeChild.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/Viewable.md +4 -4
- package/api/@xmachines/play-view/index/type-aliases/StateUpdater.md +1 -1
- package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +5 -5
- package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
- package/api/@xmachines/play-vue/README.md +1 -1
- package/api/@xmachines/play-vue/functions/defineRegistry.md +4 -4
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/functions/useBoundProp.md +3 -3
- package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +8 -8
- package/api/@xmachines/play-vue/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +5 -5
- package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +4 -4
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +9 -9
- package/api/@xmachines/play-vue/variables/ActionProvider.md +35 -54
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +4 -2
- package/api/@xmachines/play-vue/variables/Renderer.md +61 -78
- package/api/@xmachines/play-vue/variables/StateProvider.md +44 -63
- package/api/@xmachines/play-vue/variables/ValidationProvider.md +26 -45
- package/api/@xmachines/play-vue/variables/VisibilityProvider.md +17 -30
- package/api/@xmachines/play-vue-router/README.md +2 -2
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +11 -11
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +11 -11
- package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
- package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +90 -105
- package/api/@xmachines/play-xstate/README.md +1 -1
- package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +11 -11
- package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +12 -12
- package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +11 -11
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +13 -13
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +13 -13
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +14 -14
- package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +13 -13
- package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +13 -13
- package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +44 -68
- package/api/@xmachines/play-xstate/index/functions/compose.md +22 -22
- package/api/@xmachines/play-xstate/index/functions/definePlayer.md +9 -9
- package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +10 -10
- package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +7 -7
- package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +12 -12
- package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +5 -5
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +6 -6
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +5 -5
- package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +2 -2
- package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +4 -4
- package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +4 -4
- package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +7 -7
- package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +7 -7
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +7 -7
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +10 -10
- package/api/@xmachines/play-xstate/with-view/functions/withView.md +4 -4
- package/api/@xmachines/shared/README.md +3 -3
- package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +2 -2
- package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutput.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutputFile.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +4 -4
- package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +4 -4
- package/api/@xmachines/shared/vite-aliases/functions/xmTestTarget.md +2 -2
- package/api/@xmachines/shared/vite-aliases/type-aliases/XmTestTarget.md +1 -1
- package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +2 -2
- package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
- package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +6 -6
- package/api/trains.json +30 -0
- package/contributing/configuration.md +24 -50
- package/contributing/deployment.md +128 -158
- package/contributing/development.md +5 -5
- package/contributing/testing.md +5 -3
- package/examples/@xmachines/play-dom-gallery-demo/README.md +127 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/createConfirmDialog.md +33 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/createDebugPanel.md +31 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/initApp.md +22 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/initShell.md +33 -0
- package/examples/@xmachines/play-dom-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-dom-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-dom-gallery-demo/interfaces/ShellOptions.md +18 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Button.md +12 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Field.md +30 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Page.md +16 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Panel.md +15 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Text.md +15 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-dom-demo/variables/authCatalog.md → play-dom-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-dom-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-dom-router-demo/README.md +38 -31
- package/examples/@xmachines/play-dom-router-donut-demo/README.md +78 -0
- package/examples/@xmachines/play-dom-router-flight-demo/README.md +76 -0
- package/examples/@xmachines/play-dom-router-todomvc-demo/README.md +76 -0
- package/examples/@xmachines/play-dom-router-trivia-demo/README.md +76 -0
- package/examples/@xmachines/play-react-gallery-demo/README.md +123 -0
- package/examples/@xmachines/play-react-gallery-demo/functions/App.md +13 -0
- package/examples/@xmachines/play-react-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-react-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Button.md +12 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/DebugPanel.md +21 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Field.md +24 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Page.md +14 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Panel.md +15 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Shell.md +26 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Text.md +15 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-vue-demo/variables/authCatalog.md → play-react-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-react-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-react-router-demo/README.md +17 -6
- package/examples/@xmachines/play-react-router-donut-demo/README.md +85 -0
- package/examples/@xmachines/play-react-router-flight-demo/README.md +74 -0
- package/examples/@xmachines/play-react-router-todomvc-demo/README.md +74 -0
- package/examples/@xmachines/play-react-router-trivia-demo/README.md +74 -0
- package/examples/@xmachines/play-solid-gallery-demo/README.md +123 -0
- package/examples/@xmachines/play-solid-gallery-demo/functions/App.md +13 -0
- package/examples/@xmachines/play-solid-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-solid-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Button.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/DebugPanel.md +22 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Field.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Page.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Panel.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Shell.md +26 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Text.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-react-demo/variables/authCatalog.md → play-solid-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-solid-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-solid-router-demo/README.md +8 -6
- package/examples/@xmachines/play-solid-router-donut-demo/README.md +86 -0
- package/examples/@xmachines/play-solid-router-flight-demo/README.md +75 -0
- package/examples/@xmachines/play-solid-router-todomvc-demo/README.md +75 -0
- package/examples/@xmachines/play-solid-router-trivia-demo/README.md +75 -0
- package/examples/@xmachines/play-svelte-gallery-demo/README.md +130 -0
- package/examples/@xmachines/play-svelte-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-svelte-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/App.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/App.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-solid-demo/variables/authCatalog.md → play-svelte-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-svelte-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-svelte-spa-router-demo/README.md +8 -8
- package/examples/@xmachines/play-svelte-spa-router-donut-demo/README.md +77 -0
- package/examples/@xmachines/play-svelte-spa-router-flight-demo/README.md +76 -0
- package/examples/@xmachines/play-svelte-spa-router-todomvc-demo/README.md +76 -0
- package/examples/@xmachines/play-svelte-spa-router-trivia-demo/README.md +76 -0
- package/examples/@xmachines/play-sveltekit-router-demo/README.md +8 -8
- package/examples/@xmachines/play-sveltekit-router-donut-demo/README.md +103 -0
- package/examples/@xmachines/play-sveltekit-router-flight-demo/README.md +86 -0
- package/examples/@xmachines/play-sveltekit-router-todomvc-demo/README.md +86 -0
- package/examples/@xmachines/play-sveltekit-router-trivia-demo/README.md +86 -0
- package/examples/@xmachines/play-tanstack-react-router-demo/README.md +19 -14
- package/examples/@xmachines/play-tanstack-react-router-donut-demo/README.md +78 -0
- package/examples/@xmachines/play-tanstack-react-router-flight-demo/README.md +74 -0
- package/examples/@xmachines/play-tanstack-react-router-todomvc-demo/README.md +74 -0
- package/examples/@xmachines/play-tanstack-react-router-trivia-demo/README.md +74 -0
- package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +19 -12
- package/examples/@xmachines/play-tanstack-solid-router-donut-demo/README.md +91 -0
- package/examples/@xmachines/play-tanstack-solid-router-flight-demo/README.md +80 -0
- package/examples/@xmachines/play-tanstack-solid-router-todomvc-demo/README.md +80 -0
- package/examples/@xmachines/play-tanstack-solid-router-trivia-demo/README.md +80 -0
- package/examples/@xmachines/play-vue-gallery-demo/README.md +120 -0
- package/examples/@xmachines/play-vue-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-vue-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/App.md +11 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/demoComponents.md +11 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/todoMvcCatalog.md +151 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-vue-router-demo/README.md +14 -8
- package/examples/@xmachines/play-vue-router-donut-demo/README.md +78 -0
- package/examples/@xmachines/play-vue-router-flight-demo/README.md +76 -0
- package/examples/@xmachines/play-vue-router-todomvc-demo/README.md +76 -0
- package/examples/@xmachines/play-vue-router-trivia-demo/README.md +76 -0
- package/examples/README.md +44 -6
- package/examples/routing-patterns.md +3 -1
- package/examples/xstate-example-ports.md +106 -0
- package/guides/getting-started.md +3 -1
- package/guides/inspector.md +3 -3
- package/package.json +30 -6
- package/examples/@xmachines/play-dom-demo/README.md +0 -162
- package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +0 -27
- package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +0 -24
- package/examples/@xmachines/play-dom-demo/functions/initShell.md +0 -25
- package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-dom-demo/variables/About.md +0 -12
- package/examples/@xmachines/play-dom-demo/variables/Button.md +0 -12
- package/examples/@xmachines/play-dom-demo/variables/Contact.md +0 -12
- package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Field.md +0 -19
- package/examples/@xmachines/play-dom-demo/variables/Home.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Login.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +0 -16
- package/examples/@xmachines/play-dom-demo/variables/Navigation.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Overview.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Panel.md +0 -14
- package/examples/@xmachines/play-dom-demo/variables/Profile.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Settings.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Stats.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-react-demo/README.md +0 -163
- package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-react-demo/variables/About.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Button.md +0 -12
- package/examples/@xmachines/play-react-demo/variables/Contact.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Dashboard.md +0 -15
- package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +0 -16
- package/examples/@xmachines/play-react-demo/variables/Field.md +0 -18
- package/examples/@xmachines/play-react-demo/variables/Home.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Login.md +0 -16
- package/examples/@xmachines/play-react-demo/variables/NavBar.md +0 -16
- package/examples/@xmachines/play-react-demo/variables/NavBarView.md +0 -15
- package/examples/@xmachines/play-react-demo/variables/Navigation.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Overview.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Panel.md +0 -15
- package/examples/@xmachines/play-react-demo/variables/Profile.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Settings.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Shell.md +0 -19
- package/examples/@xmachines/play-react-demo/variables/Stats.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-solid-demo/README.md +0 -163
- package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/About.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Button.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/Contact.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +0 -17
- package/examples/@xmachines/play-solid-demo/variables/Field.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/Home.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Login.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/NavBar.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +0 -15
- package/examples/@xmachines/play-solid-demo/variables/Navigation.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Overview.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Panel.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/Profile.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Settings.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Shell.md +0 -18
- package/examples/@xmachines/play-solid-demo/variables/Stats.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-svelte-demo/README.md +0 -137
- package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +0 -9
- package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-svelte-demo/variables/App.md +0 -9
- package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +0 -197
- package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-vue-demo/README.md +0 -159
- package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-vue-demo/variables/App.md +0 -9
- package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +0 -11
|
@@ -8,11 +8,11 @@ This document describes how `@xmachines/xmachines-js` packages are built, versio
|
|
|
8
8
|
|
|
9
9
|
All `@xmachines/*` packages are published to the **public npm registry** (`registry.npmjs.org`). Every package uses `"publishConfig": { "access": "public" }` so scoped packages are accessible without an npm org subscription. See the [Published Packages](#published-packages) table for the full list.
|
|
10
10
|
|
|
11
|
-
| Target | Config File
|
|
12
|
-
| --------------- |
|
|
13
|
-
| npm registry | `
|
|
14
|
-
| GitLab Releases | `
|
|
15
|
-
| GitLab CI | `.gitlab-ci.yml`
|
|
11
|
+
| Target | Config File | Purpose |
|
|
12
|
+
| --------------- | ------------------------------------------------- | ------------------------------------------------------ |
|
|
13
|
+
| npm registry | `publish-release`, on the tag pipeline of a train | Publish the public packages of the train |
|
|
14
|
+
| GitLab Releases | `publish-release`, on the tag pipeline of a train | Attach tarball artifacts to the GitLab release tag |
|
|
15
|
+
| GitLab CI | `.gitlab-ci.yml` | Trigger builds, tests, and releases on push / MR / tag |
|
|
16
16
|
|
|
17
17
|
The root `package.json` is marked `"private": true` and is **never published** to npm.
|
|
18
18
|
|
|
@@ -20,32 +20,38 @@ The root `package.json` is marked `"private": true` and is **never published** t
|
|
|
20
20
|
|
|
21
21
|
## Published Packages
|
|
22
22
|
|
|
23
|
-
The
|
|
24
|
-
|
|
25
|
-
| Package | Directory |
|
|
26
|
-
| ------------------------------------------------------------------------------------------------- | ------------------------------------- |
|
|
27
|
-
| [`@xmachines/
|
|
28
|
-
| [`@xmachines/play`](../api/@xmachines/play/README.md) | `packages/play` |
|
|
29
|
-
| [`@xmachines/play-actor`](../api/@xmachines/play-actor/README.md) | `packages/play-actor` |
|
|
30
|
-
| [`@xmachines/play-atom`](../api/@xmachines/play-atom/README.md) | `packages/play-atom` |
|
|
31
|
-
| [`@xmachines/play-
|
|
32
|
-
| [`@xmachines/play-dom`](../api/@xmachines/play-dom/README.md)
|
|
33
|
-
| [`@xmachines/play-
|
|
34
|
-
| [`@xmachines/play-react`](../api/@xmachines/play-react/README.md) | `packages/play-react` |
|
|
35
|
-
| [`@xmachines/play-react-router`](../api/@xmachines/play-react-router/README.md) | `packages/play-react-router` |
|
|
36
|
-
| [`@xmachines/play-
|
|
37
|
-
| [`@xmachines/play-solid
|
|
38
|
-
| [`@xmachines/play-
|
|
39
|
-
| [`@xmachines/play-
|
|
40
|
-
| [`@xmachines/play-svelte-spa-router`](../api/@xmachines/play-svelte-spa-router/README.md) | `packages/play-svelte-spa-router` |
|
|
41
|
-
| [`@xmachines/play-
|
|
42
|
-
| [`@xmachines/play-tanstack-
|
|
43
|
-
| [`@xmachines/play-
|
|
44
|
-
| [`@xmachines/play-
|
|
45
|
-
| [`@xmachines/play-
|
|
46
|
-
| [`@xmachines/
|
|
47
|
-
|
|
48
|
-
|
|
23
|
+
The release is in **trains**, each released on its own: `core`, `play` and `docs`. A train publishes every package under its paths that is not private, at the version of the train's release (`release.config.mjs`, `trains`):
|
|
24
|
+
|
|
25
|
+
| Package | Directory | Train |
|
|
26
|
+
| ------------------------------------------------------------------------------------------------- | ------------------------------------- | ------ |
|
|
27
|
+
| [`@xmachines/core`](../api/@xmachines/core/README.md) | `packages/core` | `core` |
|
|
28
|
+
| [`@xmachines/play`](../api/@xmachines/play/README.md) | `packages/play` | `play` |
|
|
29
|
+
| [`@xmachines/play-actor`](../api/@xmachines/play-actor/README.md) | `packages/play-actor` | `play` |
|
|
30
|
+
| [`@xmachines/play-atom`](../api/@xmachines/play-atom/README.md) | `packages/play-atom` | `play` |
|
|
31
|
+
| [`@xmachines/play-dom`](../api/@xmachines/play-dom/README.md) | `packages/play-dom` | `play` |
|
|
32
|
+
| [`@xmachines/play-dom-router`](../api/@xmachines/play-dom-router/README.md) | `packages/play-dom-router` | `play` |
|
|
33
|
+
| [`@xmachines/play-pattern`](../api/@xmachines/play-pattern/README.md) | `packages/play-pattern` | `play` |
|
|
34
|
+
| [`@xmachines/play-react`](../api/@xmachines/play-react/README.md) | `packages/play-react` | `play` |
|
|
35
|
+
| [`@xmachines/play-react-router`](../api/@xmachines/play-react-router/README.md) | `packages/play-react-router` | `play` |
|
|
36
|
+
| [`@xmachines/play-router`](../api/@xmachines/play-router/README.md) | `packages/play-router` | `play` |
|
|
37
|
+
| [`@xmachines/play-solid`](../api/@xmachines/play-solid/README.md) | `packages/play-solid` | `play` |
|
|
38
|
+
| [`@xmachines/play-solid-router`](../api/@xmachines/play-solid-router/README.md) | `packages/play-solid-router` | `play` |
|
|
39
|
+
| [`@xmachines/play-svelte`](../api/@xmachines/play-svelte/README.md) | `packages/play-svelte` | `play` |
|
|
40
|
+
| [`@xmachines/play-svelte-spa-router`](../api/@xmachines/play-svelte-spa-router/README.md) | `packages/play-svelte-spa-router` | `play` |
|
|
41
|
+
| [`@xmachines/play-sveltekit-router`](../api/@xmachines/play-sveltekit-router/README.md) | `packages/play-sveltekit-router` | `play` |
|
|
42
|
+
| [`@xmachines/play-tanstack-react-router`](../api/@xmachines/play-tanstack-react-router/README.md) | `packages/play-tanstack-react-router` | `play` |
|
|
43
|
+
| [`@xmachines/play-tanstack-router`](../api/@xmachines/play-tanstack-router/README.md) | `packages/play-tanstack-router` | `play` |
|
|
44
|
+
| [`@xmachines/play-tanstack-solid-router`](../api/@xmachines/play-tanstack-solid-router/README.md) | `packages/play-tanstack-solid-router` | `play` |
|
|
45
|
+
| [`@xmachines/play-url`](../api/@xmachines/play-url/README.md) | `packages/play-url` | `play` |
|
|
46
|
+
| [`@xmachines/play-view`](../api/@xmachines/play-view/README.md) | `packages/play-view` | `play` |
|
|
47
|
+
| [`@xmachines/play-vue`](../api/@xmachines/play-vue/README.md) | `packages/play-vue` | `play` |
|
|
48
|
+
| [`@xmachines/play-vue-router`](../api/@xmachines/play-vue-router/README.md) | `packages/play-vue-router` | `play` |
|
|
49
|
+
| [`@xmachines/play-xstate`](../api/@xmachines/play-xstate/README.md) | `packages/play-xstate` | `play` |
|
|
50
|
+
| [`@xmachines/docs`](../README.md) | `packages/docs` | `docs` |
|
|
51
|
+
|
|
52
|
+
Every package of `packages/play-*` that is not private is on the `play` train. [`@xmachines/shared`](../api/@xmachines/shared/README.md) is private: it holds the configs every package is built with, and no train publishes it.
|
|
53
|
+
|
|
54
|
+
**Example demo packages** (under `packages/*/examples/*`, every one but the `shared` packages) are private and **not published** to npm, but the `play` train packs them beside its packages and attaches them to its GitLab release as assets for testing. It also packs the shared package of the demos, `packages/play-actor/examples/shared`, because each demo depends on it and no registry holds it.
|
|
49
55
|
|
|
50
56
|
Each published package includes only the directories listed in its `files` field: `dist`, `README.md`, and `LICENSE` (or equivalent for packages without a compilation step).
|
|
51
57
|
|
|
@@ -57,13 +63,14 @@ Each published package includes only the directories listed in its `files` field
|
|
|
57
63
|
|
|
58
64
|
Pipeline runs are triggered by `.gitlab-ci.yml` under the following conditions:
|
|
59
65
|
|
|
60
|
-
| Trigger
|
|
61
|
-
|
|
|
62
|
-
| Push to `main` / `rc` / `beta` / `alpha` / `pre` | Full pipeline; the release
|
|
63
|
-
| Merge request
|
|
64
|
-
| Web / API / trigger / parent pipeline
|
|
66
|
+
| Trigger | Pipeline runs |
|
|
67
|
+
| --------------------------------------------------------- | -------------------------------------------------- |
|
|
68
|
+
| Push to `main` / `next` / `rc` / `beta` / `alpha` / `pre` | Full pipeline; the release jobs wait to be started |
|
|
69
|
+
| Merge request | Full pipeline, no release job |
|
|
70
|
+
| Web / API / trigger / parent pipeline | Full pipeline |
|
|
71
|
+
| A release tag, `<train>-v<version>` | `publish-release` alone, which publishes the train |
|
|
65
72
|
|
|
66
|
-
No rule admits
|
|
73
|
+
No rule admits another tag, so pushing one runs nothing.
|
|
67
74
|
|
|
68
75
|
The pipeline includes two reusable CI components, both pinned in `.gitlab-ci.yml` — which is the version to trust, rather than a number repeated here:
|
|
69
76
|
|
|
@@ -112,42 +119,30 @@ To run the same check on your machine, run `pnpm run docs` and then `pnpm run te
|
|
|
112
119
|
|
|
113
120
|
### Release Job Detail
|
|
114
121
|
|
|
115
|
-
The `semantic-release`
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
semantic-release:
|
|
119
|
-
id_tokens:
|
|
120
|
-
NPM_ID_TOKEN:
|
|
121
|
-
aud: "npm:registry.npmjs.org"
|
|
122
|
-
artifacts:
|
|
123
|
-
when: always
|
|
124
|
-
expire_in: 1 week
|
|
125
|
-
paths:
|
|
126
|
-
- dist/releases/*.tgz
|
|
127
|
-
```
|
|
122
|
+
The `semantic-release` job is the job of the `to-be-continuous/semantic-release` component, with its own rules: manual on every release branch, and a `resource_group` that runs one release at a time. One click releases every train: the job runs semantic-release once for each train that the pipeline's input `release-trains` names, all three by default, in the order of the trains of `release.config.mjs`: `core`, then `play`, then `docs`, whatever order they were ticked in. A train with no commit that releases it releases nothing, and the next one runs. A run that fails stops the job; retry it, and each train it released already has nothing left to release. To release some trains alone, tick them in the multi-select `release-trains` of **Run pipeline**, or set `RELEASE_TRAINS` as you start the job, as `docs`: the input is the default of the global variable `RELEASE_TRAINS`, which a CI/CD variable overrides, as a to-be-continuous component maps its inputs. A name of no train fails the job.
|
|
123
|
+
|
|
124
|
+
The component turns `release.config.mjs` into `.releaserc.json`, of `RELEASE_TRAIN=docs`, whose run names every plugin of the others' runs too, and installs semantic-release and each plugin that the config names, globally. The config is therefore literals: it imports no plugin, and holds no top-level await. The job then removes `.releaserc.json`, so each run reads `release.config.mjs` of its own train.
|
|
128
125
|
|
|
129
|
-
The job
|
|
126
|
+
The job releases from the tip of its branch: a release of an earlier pipeline may have pushed a release commit since, and semantic-release releases nothing of a branch behind its remote. The job checks the tip out when every commit past its pipeline's commit is a release commit, and fails otherwise, as a branch that moved on needs the pipeline of its tip. Each run of a train then starts at the release commit of the run before it.
|
|
130
127
|
|
|
131
128
|
The `semantic-release` command is called with `--no-ci` to allow it to run inside CI without triggering its own CI-environment mode.
|
|
132
129
|
|
|
133
130
|
### Release Smoke Test Job
|
|
134
131
|
|
|
135
|
-
The `release-pack-smoke` job
|
|
132
|
+
The `release-pack-smoke` job runs automatically on `main` and in a merge train, and manually on a merge request:
|
|
136
133
|
|
|
137
134
|
```bash
|
|
138
135
|
pnpm run build
|
|
139
|
-
|
|
136
|
+
semantic-release-trains-smoke
|
|
140
137
|
```
|
|
141
138
|
|
|
142
|
-
`
|
|
139
|
+
`semantic-release-trains-smoke`, of `@wtf/semantic-release-trains-publish`, reads the trains of `release.config.mjs` and:
|
|
143
140
|
|
|
144
|
-
1.
|
|
145
|
-
2.
|
|
146
|
-
3.
|
|
147
|
-
4. Asserts the install succeeds — any missing files, broken exports, or pack-time errors surface here.
|
|
148
|
-
5. Cleans up temp directories and tarballs after each check.
|
|
141
|
+
1. Packs every package of every train, and each private package of its `pack` globs, as the release packs it: each `workspace:` range resolved, the `source` export condition stripped. The globs name the demos, and the shared package of the demos, which each demo depends on and which no registry holds.
|
|
142
|
+
2. Checks each tarball: every entry of its `files` present, no `source` condition left, and no file a `forbid` glob names, as a typecheck build.
|
|
143
|
+
3. Installs each tarball in a temporary project, with every other package that it packed in place of the registry's, and imports each of its exports.
|
|
149
144
|
|
|
150
|
-
|
|
145
|
+
The publish plugin runs the same check on the tag, of the tarballs it is about to publish, before the first publish.
|
|
151
146
|
|
|
152
147
|
---
|
|
153
148
|
|
|
@@ -155,117 +150,111 @@ This smoke test runs **before** the actual publish so packaging problems are cau
|
|
|
155
150
|
|
|
156
151
|
### Branch Model
|
|
157
152
|
|
|
158
|
-
Releases are driven by commit history on the release branches:
|
|
153
|
+
Releases are driven by the commit history of each train on the release branches:
|
|
159
154
|
|
|
160
|
-
| Branch | Channel | Tag format
|
|
161
|
-
| ------- | ---------------- |
|
|
162
|
-
| `main` | stable (default) | `v1.2.3`
|
|
163
|
-
| `
|
|
164
|
-
| `
|
|
165
|
-
| `
|
|
166
|
-
| `
|
|
155
|
+
| Branch | Channel | Tag format (of `play`) | Behaviour |
|
|
156
|
+
| ------- | ---------------- | ---------------------- | ----------------------------- |
|
|
157
|
+
| `main` | stable (default) | `play-v1.2.3` | Full production release |
|
|
158
|
+
| `next` | `next` | `play-v1.2.3-next.N` | The line on XState 6 |
|
|
159
|
+
| `rc` | `rc` | `play-v1.2.3-rc.N` | Release candidate pre-release |
|
|
160
|
+
| `beta` | `beta` | `play-v1.2.3-beta.N` | Beta pre-release |
|
|
161
|
+
| `alpha` | `alpha` | `play-v1.2.3-alpha.N` | Alpha pre-release |
|
|
162
|
+
| `pre` | `pre` | `play-v1.2.3-pre.N` | Pre-release |
|
|
167
163
|
|
|
168
164
|
The channel becomes the npm dist-tag verbatim, which is why none of them contains a slash: npm reads a slash in a version selector as a GitHub shorthand, so such a tag cannot be installed.
|
|
169
165
|
|
|
170
|
-
|
|
166
|
+
The tag format of a train is `<train>-v${version}`. Every train continued from 7.0.0, the last release of one version for everything: `core-v7.0.0`, `play-v7.0.0` and `docs-v7.0.0` name its commit.
|
|
171
167
|
|
|
172
|
-
|
|
168
|
+
#### `next` after a release of `main`
|
|
173
169
|
|
|
174
|
-
|
|
170
|
+
`main` stays on XState 5 and merges into `next`. **After each release on `main`, merge `main` into `next`**, by a merge request from `main` to `next`, kept unsquashed, that keeps `main` (its source branch is never deleted).
|
|
175
171
|
|
|
176
|
-
|
|
177
|
-
corepack enable
|
|
178
|
-
pnpm install --frozen-lockfile
|
|
179
|
-
node scripts/set-workspace-versions.mjs ${nextRelease.version}
|
|
180
|
-
pnpm run build
|
|
181
|
-
pnpm --filter @xmachines/docs run typedoc --gitRevision v${nextRelease.version}
|
|
182
|
-
pnpm --filter @xmachines/docs run format
|
|
183
|
-
git add -A packages/docs/api packages/docs/examples/@xmachines packages/docs/examples/README.md
|
|
184
|
-
```
|
|
172
|
+
A prerelease of `next` builds on the last release of its train that `next` reaches: from `play-v7.0.0`, a breaking change on `next` releases `play` `8.0.0-next.1`, then `8.0.0-next.2`, and so on. That claims 8.0.0 for the line of XState 6. When `main` takes that major first, by a breaking release of the same train, `play` 8.0.0 is something else, and `next` would go on with `8.0.0-next.N`, which sorts below 8.0.0 and does not hold it. The merge of `main` corrects it: `play-v8.0.0` is then reachable from `next`, the breaking change of `next` is not in it, and the next prerelease is `9.0.0-next.1`. A user of `@next` sees the major move from 8 to 9, as semver allows. The same holds for `core` and `docs`, each by its own version.
|
|
185
173
|
|
|
186
|
-
|
|
174
|
+
### Which Commits Release a Train
|
|
187
175
|
|
|
188
|
-
|
|
189
|
-
2. **Install** — `pnpm install --frozen-lockfile` installs the exact dependency versions recorded in the lockfile.
|
|
190
|
-
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.
|
|
191
|
-
4. **Build** — runs `vite build && tsc --build` to produce compiled `dist/` output — JavaScript then declarations — in all packages.
|
|
192
|
-
5. **Generate API docs** — runs TypeDoc to regenerate `packages/docs/api/` and `packages/docs/examples/@xmachines/` at the release git revision. TypeDoc also rewrites the demo lists of `packages/docs/examples/README.md`.
|
|
193
|
-
6. **Format docs** — runs `oxfmt` on the docs package to ensure consistent formatting.
|
|
194
|
-
7. **Stage the generated docs** — `git add -A packages/docs/api packages/docs/examples/@xmachines packages/docs/examples/README.md`. The git plugin stages what `git ls-files -m -o` reports, and that never reports a DELETION. A page that TypeDoc removed, because an export was renamed or deleted, therefore stayed in git forever while the docs tarball packed from the working tree was correct. `git add -A` stages the removals, and the git plugin commits the index.
|
|
176
|
+
A commit counts for a train when it changes a file under the train's paths, or one of its `shared` files. A breaking change of `core` therefore makes a major release of `core` alone.
|
|
195
177
|
|
|
196
|
-
|
|
178
|
+
- `core`: `packages/core`.
|
|
179
|
+
- `play`: `packages/play` and `packages/play-*`, the demos too.
|
|
180
|
+
- `docs`: `packages/docs`, and every file of `core` and of `play`: the reference documents them, so a release of either is a release of `docs`. Release `docs` last.
|
|
197
181
|
|
|
198
|
-
|
|
182
|
+
The files every package is built with count for every train: the root `package.json`, `pnpm-lock.yaml`, `pnpm-workspace.yaml`, `tsconfig.json`, `vite.config.ts`, and `packages/shared`.
|
|
199
183
|
|
|
200
|
-
|
|
201
|
-
node scripts/publish-release.mjs
|
|
202
|
-
```
|
|
184
|
+
Release the trains in order: `core`, then `play`, then `docs`. `play` depends on `core`, and `dependencies: "fail"` of the config fails a run of `play` while `core` has commits that would release and are not released: its publish would pin `core`'s last release, without what those commits changed. The job runs them in that order; one of the input `play` alone fails so. `docs` depends on both by the `dependsOn` of its train, as its package depends on neither, and fails so too: its reference would show their old version badges until its next release.
|
|
203
185
|
|
|
204
|
-
|
|
186
|
+
### Branch Phase
|
|
205
187
|
|
|
206
|
-
The
|
|
188
|
+
The job of a train runs these plugins, in this order:
|
|
207
189
|
|
|
208
|
-
The
|
|
190
|
+
1. **The analyzer and the notes generator**, each wrapped by an entry of `@wtf/semantic-release-trains` (`wrap`), which gives it the train's commits alone. Each entry of the trains plugin also checks the trains: no file on two of them, and the trains the train depends on released. `type!:` is a breaking change, by `parserOpts` at the root of the config.
|
|
191
|
+
2. **`@semantic-release/changelog`** writes the train's changelog, the `CHANGELOG.md` of its first path: `packages/core/CHANGELOG.md`, `packages/play/CHANGELOG.md`, `packages/docs/CHANGELOG.md`. The root `CHANGELOG.md` holds the history up to 7.0.0.
|
|
192
|
+
3. **`@wtf/semantic-release-replace`** writes the version into the badge of each README of the train, by the `badge` template at the root of the config: a RegExp of the badge of shields.io, its version written as `shields` escapes it. `tests/readme-badges.test.ts` holds the template to every badge of the READMEs.
|
|
193
|
+
4. **Of `docs` alone**, the reference: `corepack enable`, `pnpm install --frozen-lockfile`, `pnpm run build`, TypeDoc at the revision `docs-v${nextRelease.version}`, and `oxfmt` of the docs package, each a `@semantic-release/exec` step. Then an entry of `@wtf/semantic-release-trains` of `generated: true` stages the trees TypeDoc writes, deletions too: the git plugin stages what `git ls-files -m -o` reports, which never reports a deletion, so a page of an export that was renamed or removed would stay in git for ever.
|
|
194
|
+
5. **`@semantic-release/git`** commits the changelog, the READMEs of the train, and of `docs` the reference (`packages/docs/api/**`, `packages/docs/examples/@xmachines/**` and the demo lists of `packages/docs/examples/README.md`), as:
|
|
209
195
|
|
|
210
|
-
|
|
196
|
+
```
|
|
197
|
+
chore(release): <train> <version>
|
|
198
|
+
```
|
|
211
199
|
|
|
212
|
-
|
|
200
|
+
The release notes are NOT interpolated into the message. `@semantic-release/git` runs `git commit -m <message>`, and the notes of a long release overflow the argument limit of the OS. The notes land in the changelog, which the same commit carries.
|
|
213
201
|
|
|
214
|
-
|
|
215
|
-
- `CHANGELOG.md`
|
|
216
|
-
- `package.json`, `pnpm-lock.yaml` and `pnpm-workspace.yaml` (root)
|
|
217
|
-
- The `package.json` of every scanned package, and the `README.md` of every one — the release stamps the version badge of a README at the same moment as the manifest
|
|
218
|
-
- `packages/docs/api/**` (generated API documentation)
|
|
219
|
-
- `packages/docs/examples/@xmachines/**` (generated demo documentation)
|
|
220
|
-
- `packages/docs/examples/README.md` (TypeDoc rewrites its demo lists)
|
|
202
|
+
The message carries no `[skip ci]`. The release commit needs no pipeline of its own, but the TAG that points at it does: that pipeline is where the publish happens. A `workflow:` rule skips the branch pipeline of the commit instead.
|
|
221
203
|
|
|
222
|
-
|
|
204
|
+
6. semantic-release pushes the tag `<train>-v<version>`. It publishes nothing.
|
|
223
205
|
|
|
224
|
-
|
|
206
|
+
### Publish Phase
|
|
225
207
|
|
|
226
|
-
|
|
227
|
-
chore(release): <version>
|
|
228
|
-
```
|
|
208
|
+
The tag's pipeline builds the tagged commit, and its `publish-release` job runs `semantic-release-trains-tag`, of `@wtf/semantic-release-trains`. It runs semantic-release's own config, plugins and branches for the tag, with its version and its channel, and the plugins of the tag's run of `release.config.mjs`:
|
|
229
209
|
|
|
230
|
-
|
|
210
|
+
1. **The notes generator**, on the train, writes the notes again of the same commits.
|
|
211
|
+
2. **`@wtf/semantic-release-trains-publish`** packs each package of the train into `dist/releases/`, the demos too, with each `workspace:` range resolved (a package of the same train to the release's version, one of another train to that train's last release) and the `source` export condition stripped; runs the smoke test of the tarballs; and publishes each package that is not private, in the order of their dependencies, under the dist-tag of the channel, with provenance. `NPM_DIST_TAG` overrides the dist-tag for a one-off.
|
|
212
|
+
3. **`@semantic-release/gitlab`** creates the GitLab release of the tag, its notes those of the release, its assets every tarball of `dist/releases/` — after the publish succeeded, so a release entry never advertises a tarball that npm refused.
|
|
231
213
|
|
|
232
|
-
|
|
214
|
+
The tag pipeline is what makes the provenance attestation meaningful. npm records the commit of the pipeline in the attestation. On a tag pipeline that commit IS the commit that the tag names. A publish from the branch pipeline attests the PARENT of the release commit instead: a revision that the tag does not name.
|
|
233
215
|
|
|
234
|
-
|
|
216
|
+
The job is idempotent. It skips every package that the registry already serves at this version, so one retry of the job finishes a run that died partway. Nothing to untag, nothing to force-push. A version below the one its dist-tag points at publishes nothing, so a retry of an older release's job moves no dist-tag back.
|
|
235
217
|
|
|
236
218
|
---
|
|
237
219
|
|
|
238
|
-
##
|
|
220
|
+
## Versions
|
|
239
221
|
|
|
240
|
-
|
|
222
|
+
No version is written into git. Every `package.json` holds `0.0.0-development`, and each `@xmachines/*` dependency of the workspace is `workspace:*` within a train, `workspace:^` across trains. The tag is the version of a train, and the publish writes it into the manifests it packs, each `workspace:*` resolved to an exact version, so a package always depends on the exact version of a sibling of its train that was released with it. A dependency on a package of another train resolves to the range of that train's last release, by its tags, as `^7.0.0`: an exact pin would hold back each release of that train alone, a peer of it failing the install of the new version, and a dependency of it installing a second copy.
|
|
241
223
|
|
|
242
|
-
|
|
243
|
-
- Rewrites `dependencies`, `devDependencies`, `peerDependencies`, and `optionalDependencies` ranges for any `@xmachines/*` workspace package to the exact new version (no `^` or `~` prefix — a strict pinned version is written).
|
|
224
|
+
Why the versions stay out of git:
|
|
244
225
|
|
|
245
|
-
|
|
226
|
+
- **`main` merges into `next`.** With versions in git, `main` holds 7.x and `next` holds 8.0.0-next.N in the same `package.json` files, and each merge of `main` conflicts in the version of every package that either line released since the last merge.
|
|
227
|
+
- **The trains stay apart.** The release commit of a train touches its changelog and its READMEs alone: no two trains write the same file, and the release commit of one train never counts as a change of another.
|
|
228
|
+
- **One source of truth.** The tag and npm hold the version, and nothing in git has to agree with them, so no release can stop between writing versions and tagging.
|
|
229
|
+
|
|
230
|
+
What it costs:
|
|
231
|
+
|
|
232
|
+
- A checkout says `0.0.0-development`: a package built from git, or packed by hand, carries no real version. Only the publish of the tag's pipeline writes one. No source reads its own version from its `package.json`; keep it so.
|
|
233
|
+
- The README badges carry the version, by the release commit of the train, and the manifests do not.
|
|
234
|
+
- `npm version`, and any tool that bumps a `package.json`, has nothing to do here.
|
|
246
235
|
|
|
247
236
|
---
|
|
248
237
|
|
|
249
238
|
## Credentials and Protected Variables
|
|
250
239
|
|
|
251
|
-
| Variable | Source | Purpose
|
|
252
|
-
| --------------------------- | --------------------------------------- |
|
|
253
|
-
| `NPM_ID_TOKEN` | GitLab CI OIDC (auto-generated per job) | Authenticates `
|
|
254
|
-
| `GL_TOKEN` / `GITLAB_TOKEN` | GitLab CI group variable (
|
|
255
|
-
| `CI_JOB_TOKEN` | GitLab CI built-in | Used by the `to-be-continuous` components for GitLab API calls
|
|
240
|
+
| Variable | Source | Purpose |
|
|
241
|
+
| --------------------------- | --------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
|
|
242
|
+
| `NPM_ID_TOKEN` | GitLab CI OIDC (auto-generated per job) | Authenticates the publish of `publish-release` to npm registry via OIDC token exchange |
|
|
243
|
+
| `GL_TOKEN` / `GITLAB_TOKEN` | GitLab CI group variable (protected) | Authenticates the git push back of semantic-release, and the GitLab release that `publish-release` creates |
|
|
244
|
+
| `CI_JOB_TOKEN` | GitLab CI built-in | Used by the `to-be-continuous` components for GitLab API calls |
|
|
256
245
|
|
|
257
246
|
**No static npm token is committed to the repository.** The `NPM_ID_TOKEN` is a short-lived OIDC token generated for each CI job with audience `npm:registry.npmjs.org`.
|
|
258
247
|
|
|
259
248
|
To publish packages, a maintainer must:
|
|
260
249
|
|
|
261
|
-
1. Have push access to a release-eligible branch (`main`, `rc`, `beta`, `alpha`, `pre`).
|
|
250
|
+
1. Have push access to a release-eligible branch (`main`, `next`, `rc`, `beta`, `alpha`, `pre`). `GITLAB_TOKEN` is a protected variable, so each of these branches is protected, and a new release branch must be too. The tags of the trains (`core-v*`, `play-v*`, `docs-v*`) are protected, so the tag's pipeline gets the token for the GitLab release.
|
|
262
251
|
2. Ensure the GitLab project CI/CD variables include the required tokens.
|
|
263
252
|
|
|
264
253
|
---
|
|
265
254
|
|
|
266
255
|
## Artifacts
|
|
267
256
|
|
|
268
|
-
Release tarballs are stored as
|
|
257
|
+
Release tarballs are stored as artifacts of the `publish-release` job, with no expiry:
|
|
269
258
|
|
|
270
259
|
```
|
|
271
260
|
dist/releases/*.tgz
|
|
@@ -273,7 +262,7 @@ dist/releases/*.tgz
|
|
|
273
262
|
|
|
274
263
|
The same tarballs are attached to the GitLab Release entry as permanent downloadable assets. Tarballs are **not committed** to git (the `dist/` directory is gitignored).
|
|
275
264
|
|
|
276
|
-
The
|
|
265
|
+
The release commit of `docs` **commits** the generated documentation (`packages/docs/api/` and `packages/docs/examples/@xmachines/`) to git, with the demo lists that TypeDoc writes into the hand-written `packages/docs/examples/README.md`. The release commit of each train holds its changelog and its stamped READMEs.
|
|
277
266
|
|
|
278
267
|
---
|
|
279
268
|
|
|
@@ -295,7 +284,7 @@ There is no automated rollback mechanism. To revert a release:
|
|
|
295
284
|
npm unpublish @xmachines/play@<bad-version>
|
|
296
285
|
```
|
|
297
286
|
|
|
298
|
-
3. **Patch release** — push a `fix:` commit to `main` (or the relevant branch)
|
|
287
|
+
3. **Patch release** — push a `fix:` commit to `main` (or the relevant branch) and release its train, a patch release by semantic-release. This is the preferred long-term approach for production issues.
|
|
299
288
|
|
|
300
289
|
4. **GitLab Release** — delete or edit the GitLab Release entry via the GitLab UI or API to remove broken tarballs. This does not affect what is on npm.
|
|
301
290
|
|
|
@@ -368,50 +357,31 @@ Then, for EACH package:
|
|
|
368
357
|
|
|
369
358
|
## Recovering a Failed Release
|
|
370
359
|
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
1. **Delete the release tag.** semantic-release creates the tag _before_ publishing, so a re-run while it exists is a no-op ([semantic-release#3178](https://github.com/semantic-release/semantic-release/issues/3178)):
|
|
374
|
-
```bash
|
|
375
|
-
glab api --method DELETE "projects/xmachin-es%2Fxmachines-js/repository/tags/vX.Y.Z"
|
|
376
|
-
```
|
|
377
|
-
2. **Re-run the `semantic-release` job.**
|
|
378
|
-
|
|
379
|
-
The config detects a staged-but-untagged version (a recovery re-run) and automatically demotes any package already on npm at that version to pack-only — re-packing it for the release assets but **not** re-publishing it — so the re-run publishes only what's missing, with no manual input. `SEMREL_SKIP_STEPS` (a regex matched against release step IDs) remains available as a manual override to force-skip specific steps.
|
|
360
|
+
**A publish that failed** (e.g. one package's trusted publisher isn't set up) has pushed the tag, published some packages and left the rest missing. Fix the cause, then retry the `publish-release` job of the tag: every package npm already has is skipped, and the GitLab release is created once every package is published.
|
|
380
361
|
|
|
381
|
-
|
|
362
|
+
**A branch job that failed** before `@semantic-release/git` pushed the release commit is retried as it is. One that failed after, as of the push of the tag, cannot be: the retry runs behind the release commit, where semantic-release releases nothing. Push the missing tag by hand, at the release commit, with semantic-release's note of its channel (`refs/notes/semantic-release-<tag>`, `{"channels":[<channel>]}`, `null` of `main`'s) added to the tag's commit; its pipeline publishes it.
|
|
382
363
|
|
|
383
364
|
---
|
|
384
365
|
|
|
385
366
|
## Local Release Dry-Run (Manual)
|
|
386
367
|
|
|
387
|
-
To preview what
|
|
368
|
+
To preview what the release of a train would do, without a tag and without a publish:
|
|
388
369
|
|
|
389
370
|
```bash
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
pnpm exec semantic-release --dry-run --no-ci
|
|
371
|
+
npm install --global semantic-release@25 @semantic-release/changelog @semantic-release/exec \
|
|
372
|
+
@semantic-release/git @semantic-release/gitlab @wtf/semantic-release-trains \
|
|
373
|
+
@wtf/semantic-release-replace @wtf/semantic-release-trains-publish
|
|
374
|
+
RELEASE_TRAIN=play semantic-release --dry-run --no-ci
|
|
395
375
|
```
|
|
396
376
|
|
|
397
|
-
To test
|
|
377
|
+
To test the packaging locally (the same check run by `release-pack-smoke` in CI):
|
|
398
378
|
|
|
399
379
|
```bash
|
|
400
380
|
pnpm run build
|
|
401
|
-
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
This packs every publishable package, installs each tarball in a temporary project, and verifies the install succeeds.
|
|
405
|
-
|
|
406
|
-
To manually version and pack a single package for local inspection:
|
|
407
|
-
|
|
408
|
-
```bash
|
|
409
|
-
# From the repo root
|
|
410
|
-
pnpm --filter @xmachines/play run build
|
|
411
|
-
pnpm --filter @xmachines/play pack
|
|
381
|
+
semantic-release-trains-smoke
|
|
412
382
|
```
|
|
413
383
|
|
|
414
|
-
**Do not run `npm publish` manually.** All publishing must go through
|
|
384
|
+
**Do not run `npm publish` manually.** All publishing must go through the release in CI to keep the changelogs, git tags, and npm versions in sync. [Bootstrapping a New Package](#bootstrapping-a-new-package) is the ONE exception, and it publishes a version that holds no code.
|
|
415
385
|
|
|
416
386
|
---
|
|
417
387
|
|
|
@@ -422,6 +392,6 @@ The project does not include application runtime monitoring (no Sentry, Datadog,
|
|
|
422
392
|
Post-release health checks:
|
|
423
393
|
|
|
424
394
|
- **npm package availability** — verify new versions appear on `https://www.npmjs.com/package/@xmachines/<pkg>` after the pipeline completes.
|
|
425
|
-
- **GitLab pipeline status** — monitor the `semantic-release` job
|
|
395
|
+
- **GitLab pipeline status** — monitor the `semantic-release` job of the train, then the `publish-release` job of its tag.
|
|
426
396
|
- **GitLab Releases page** — confirm the release tag and tarball assets appear at `https://gitlab.com/xmachin-es/xmachines-js/-/releases`.
|
|
427
|
-
- **`packages/docs/api/` commit** — confirm the
|
|
397
|
+
- **`packages/docs/api/` commit** — confirm the release commit of `docs` updated the API docs on the target branch.
|
|
@@ -199,7 +199,7 @@ React 18 and vue-router 4 are supported by intent — nothing known depends on 1
|
|
|
199
199
|
|
|
200
200
|
[`@xmachines/play`](../api/@xmachines/play/README.md) holds `PlayError`, and the documentation sends a consumer to `err instanceof PlayError`. That check answers `false` for an error of the second copy. [`@xmachines/core`](../api/@xmachines/core/README.md) holds `BaseError`, the base of `PlayError`, and `err instanceof BaseError` fails in the same way.
|
|
201
201
|
|
|
202
|
-
A dependency invites that second copy.
|
|
202
|
+
A dependency invites that second copy. The publish resolves a `workspace:*` range to an EXACT version, so two packages of two releases name two versions, and an installer resolves both. A peer moves the choice to the consumer, who brings one copy. The `@xmachines/json-render-*` packages carry the same rule for the same reason.
|
|
203
203
|
|
|
204
204
|
Each of the three needs a `devDependency` beside the peer, because the workspace installs no peer. Without that entry a package resolves the specifier through the hoisting of another package, and it compiles until that other package stops declaring it.
|
|
205
205
|
|
|
@@ -542,7 +542,7 @@ Release branches are managed by the project maintainers:
|
|
|
542
542
|
| `alpha` | Pre-release alpha channel |
|
|
543
543
|
| `pre` | Pre-release channel |
|
|
544
544
|
|
|
545
|
-
**Do not** manually version packages or create release branches — semantic-release owns the version, and a release is cut by starting
|
|
545
|
+
**Do not** manually version packages or create release branches — semantic-release owns the version of each train (`core`, `play`, `docs`), and a release is cut by starting the manual CI job of the train.
|
|
546
546
|
|
|
547
547
|
---
|
|
548
548
|
|
|
@@ -576,13 +576,13 @@ This project uses **Conventional Commits** — changelogs and version bumps are
|
|
|
576
576
|
Breaking changes: append `!` after the type (`feat!:`) AND write a `BREAKING CHANGE:`
|
|
577
577
|
footer. The two do different work, and neither one replaces the other:
|
|
578
578
|
|
|
579
|
-
- The `!` decides the BUMP. `release.config.mjs` gives
|
|
580
|
-
`breakingHeaderPattern`, because the angular preset reads `!` not at all: without that
|
|
579
|
+
- The `!` decides the BUMP. `release.config.mjs` gives every semantic-release plugin a
|
|
580
|
+
`breakingHeaderPattern`, at the root of the config, because the angular preset reads `!` not at all: without that
|
|
581
581
|
pattern, `feat!: …` parses with no type, and a release made of nothing but such commits
|
|
582
582
|
is no release.
|
|
583
583
|
- The footer writes the NOTE. The changelog lists a breaking change from the footer alone,
|
|
584
584
|
so a `!` commit with no footer bumps the major and tells a reader nothing about what
|
|
585
|
-
broke. Seven commits shipped that way once, and none of them appears in
|
|
585
|
+
broke. Seven commits shipped that way once, and none of them appears in the changelog.
|
|
586
586
|
|
|
587
587
|
Write the footer as one paragraph that names the old form and the new one:
|
|
588
588
|
|
package/contributing/testing.md
CHANGED
|
@@ -84,7 +84,7 @@ The two scripts set `XM_TEST_TARGET=dist`, and the config helpers of [`@xmachine
|
|
|
84
84
|
- **A specifier.** The alias map drops each published package. [`@xmachines/play-xstate/routing`](../api/@xmachines/play-xstate/README.md) then resolves through the `exports` map of the package to `dist/with-routing.js`. The `source` condition is not set either, so the resolution is the one that a consumer gets.
|
|
85
85
|
- **A path into `src/`.** A test imports the module under test by path, as `../src/define-player.js`, and that import reaches no exports map. The `xmBuildOutput` plugin moves it to `dist/define-player.js`, which is the file that the package entry imports. The test and the package then share ONE module, and a `vi.mock` of the `src/` path replaces the module of the build. The build keeps the module structure, so each source file has one counterpart.
|
|
86
86
|
|
|
87
|
-
The private packages — the demos and the `examples/shared` fixtures —
|
|
87
|
+
The private packages — the demos and the `examples/shared` fixtures — are never published. Both runs read their source, and that source imports the packages from `dist/`. The release packs the demos as assets, with the shared package of the demos. The build therefore compiles each packed package whose exports map names `dist/`, from its `vite.lib.config.ts`: the shared package of the demos, and the DOM, React and Solid galleries, which the router demos import.
|
|
88
88
|
|
|
89
89
|
The plugin fails an import when the build output holds no counterpart. The import then names both files. A fallback to the source would hide the defect that the dist run exists to find. The plugin also fails the run when anything loads a `src/` file of a published package by another route.
|
|
90
90
|
|
|
@@ -587,18 +587,20 @@ Tests run in GitLab CI using the `to-be-continuous/node` pipeline component (ver
|
|
|
587
587
|
|
|
588
588
|
```bash
|
|
589
589
|
pnpm run test:dist --coverage # test:dist
|
|
590
|
-
pnpm run test:browser:dist --coverage # test:browser:dist, on the Playwright image
|
|
590
|
+
pnpm run test:browser:dist --coverage --shard=$CI_NODE_INDEX/$CI_NODE_TOTAL # test:browser:dist, on the Playwright image
|
|
591
591
|
pnpm run test:docs:examples # test:docs:examples
|
|
592
592
|
```
|
|
593
593
|
|
|
594
594
|
CI runs the suites on the build output alone. `test:dist` and `test:browser:dist` take `dist/` from `node-build` through `needs:`, so they test the build that the pipeline produced. They block: a failure is a defect of the tarball that a consumer installs, and it holds the release, because `semantic-release` runs in a later stage. `test:docs:examples` reads the source, so it waits for no build.
|
|
595
595
|
|
|
596
|
+
`test:browser:dist` runs in four shards of a parallel job. One process that runs every browser project holds a Vite server for each one, and the job ran out of memory. Each shard runs a quarter of the test files. To run one shard locally, give `--shard=1/4` to `pnpm run test:browser:dist`.
|
|
597
|
+
|
|
596
598
|
The jobs pass no reporter flag. `vitest.config.ts` and `vitest.browser.config.ts` own the reporters, the JUnit file and the coverage directory, and they read `COVERAGE_REPORTS_DIR` — which the dist jobs set to `reports/`. A new package therefore needs no CI change. `test:docs:examples` shares the root config with `test:dist`, so it names its own JUnit file on the command line.
|
|
597
599
|
|
|
598
600
|
**Artifacts:**
|
|
599
601
|
|
|
600
602
|
- `test:dist`: JUnit at `reports/test-results.xml`, and Cobertura at `reports/cobertura-coverage.xml`. GitLab reads the coverage percentage from the `All files` line.
|
|
601
|
-
- `test:browser:dist`: JUnit at `reports/browser-results.xml`, and its own Cobertura report. GitLab merges the
|
|
603
|
+
- `test:browser:dist`: in each shard, JUnit at `reports/browser-results.xml`, and its own Cobertura report. GitLab merges the Cobertura reports.
|
|
602
604
|
- `test:docs:examples`: JUnit at `reports/docs-examples.xml`.
|
|
603
605
|
|
|
604
606
|
Coverage and test results are always uploaded (`when: always`) so failures are visible even when the job itself fails.
|