statelyai/xstate 63a8a4bd..5f0c9068
base and head as given
- A runtime validation subsystem was added to the core package.
- Core now exposes validator configuration, requests, and structured validation errors.
- files changed
- 20
- in a component
- 13
- lines in components
- 1,084
- components
- 4
- public routes changed
- 0
- schema statements
- 0
- new dependencies
- 0
- excluded by role
- 7
Runtime schema validation
Added- Before
- Runtime schema validation did not exist
- After
- Actors validate schemas at runtime
Applications can install a Standard Schema validator on machines and actor logic. It rejects invalid inputs, events, results, outputs and emitted events with structured errors; the build-size benchmark includes a validated machine.
In favour
- In favour: Structured errors identify the failed boundary, actor, event, and schema issues
- In favour: Validation remains optional for actor logic without validator configuration
Against
- Against: Enabled validators run for every input, event, and transition result
Inspect 10 source files behind this explanation
- packages/core/src/setup.ts
- packages/core/src/actors/logic.ts
- packages/core/src/validation/index.ts
- packages/core/src/StateMachine.ts
- packages/core/src/actors/observable.ts
- packages/core/src/validation.types.ts
- packages/core/src/actors/promise.ts
- packages/core/src/createActor.ts
- packages/core/src/validation.ts
- scripts/bundle-size.mjs
1 new dependency between components — Validation → Core Source
What else could behave differently
20 components · 95 filesThese components import changed code, directly or through other files. A traced dependency is a place to review, not a confirmed runtime failure.
Reached 3
| Component | Symbol | Cited at | Files | Reached by |
|---|---|---|---|---|
| Core Sourcepackages/core/src/ | Signature changed createCallbackLogic1 of 25 changed symbols reaching it | packages/core/src/actors/callback.ts:240-308 | 33 | 23 direct · 10 at two stepsTrace pathShortest component path from the changed symbol:
Later steps follow file imports; they do not prove this symbol is called. |
| packages/xstate-store/src/ | Signature changed ActorLogic1 of 25 changed symbols reaching it | packages/core/src/types.ts:2209-2302 | 2 | 1 direct · 1 at two stepsTrace pathShortest component path from the changed symbol:
Later steps follow file imports; they do not prove this symbol is called. |
| scripts/type-error-fixtures/ | Signature changed createCallbackLogic1 of 25 changed symbols reaching it | packages/core/src/actors/callback.ts:240-308 | 3 | none direct · 3 at two stepsTrace pathShortest component path from the changed symbol:
Later steps follow file imports; they do not prove this symbol is called. |
Held back 6
| Component | Files | Reached by | Resolution |
|---|---|---|---|
| packages/xstate-store-angular/src/ | 1 | none direct · 1 at three steps | precise |
| packages/xstate-store-preact/src/ | 1 | none direct · 1 at three steps | precise |
| packages/xstate-store-react/src/ | 1 | none direct · 1 at three steps | precise |
| packages/xstate-store-solid/src/ | 1 | none direct · 1 at three steps | precise |
| packages/xstate-store-svelte/src/ | 1 | none direct · 1 at three steps | precise |
| packages/xstate-store-vue/src/ | 1 | none direct · 1 at three steps | precise |
Ranked lower 11
| Component | Files | Reached by |
|---|---|---|
| packages/xstate-react/src/ | 6 | 4 direct · 2 at two steps |
| packages/core/src/actors/ | 8 | 7 direct · 1 at two steps |
| packages/xstate-solid/src/ | 5 | 3 direct · 2 at two steps |
| packages/xstate-svelte/src/ | 5 | 3 direct · 2 at two steps |
| packages/xstate-vue/src/ | 5 | 3 direct · 2 at two steps |
| templates/react-ts/src/ | 3 | none direct · 2 at two steps · 1 at three steps |
| templates/vanilla-ts/src/ | 2 | none direct · 2 at two steps |
| templates/svelte-ts/src/ | 1 | none direct · 1 at two steps |
| templates/vue-ts/src/ | 1 | none direct · 1 at two steps |
| packages/core/src/graph/ | 14 | 8 direct · 6 at two steps |
| packages/core/src/validation/ | 1 | 1 direct |
Statements 3
createCallbackLogic signature change reached 33 files in core source. 2310ActorLogic signature change reached 2 files in xstate-store. 11createCallbackLogic signature change reached 3 files in type-error fixtures. 3248 reached files belong to no component — tests, docs and config.
Routes, schema, dependencies
No public URL, no migration and no new package.
Inspect components, files and symbols
Component
File
Function
imports what changeddownstream of it, one mark per step
Diff
Analysis scope
1126 → 4- files at head1,126
- components26
- changed by this change4
Where the new files landed
3 new files| New file | Belongs to | Used by | Calls | Serves |
|---|---|---|---|---|
| packages/core/src/2 new files | Core Sourcebase frame | ActorsValidation | nothing outside its own component | — |
| packages/core/src/validation/index.ts | Validationnew territory | nothing in the existing application | Core Source | — |
4 added files carry no component — 2 test, 1 config, 1 docs.
20 files changed, 26 claims stated. 20 components reached in total.