Skip to content

API Stability

This document classifies every public export from the @formosaic/* packages by stability level and intended audience.

Stability Levels

  • Stable: Covered by semver. Breaking changes require a major version bump.
  • Internal: Not part of the public API. May change or be removed in any release.

Audience Categories

  • All consumers: Anyone using Formosaic to render forms.
  • Advanced: Consumers who need direct access to the rules engine or dependency graph.
  • Extension authors: Developers registering custom validators, value functions, or locales.
  • Adapter authors: Developers building or maintaining adapter packages.
  • Adapter + CI: Adapter authors using the contract test infrastructure.
  • Schema importers: Consumers converting from external schema formats.
  • DevTools only: Internal debugging/profiling tools.

Types and Interfaces

ExportStabilityAudience
IFormConfigStableAll consumers
IFieldConfigStableAll consumers
IFieldPropsStableAll consumers
IRuleStableAll consumers
IConditionStableAll consumers
IOptionStableAll consumers
IRuntimeFieldStateStableAll consumers
IRuntimeFormStateStableAll consumers
IWizardConfigStableAll consumers

Components

ExportStabilityAudience
FormosaicStableAll consumers
FormFieldsStableAll consumers
FieldWrapperStableAll consumers
WizardFormStableAll consumers
FieldArrayStableAll consumers
ConfirmInputsModalStableAll consumers
FormErrorBoundaryStableAll consumers
FormDevToolsInternalDevTools only

Providers and Context

ExportStabilityAudience
RulesEngineProviderStableAll consumers
InjectedFieldProviderStableAll consumers

Hooks

ExportStabilityAudience
useDraftPersistenceStableAll consumers
useBeforeUnloadStableAll consumers
useFormAnalyticsStableAll consumers

Rules Engine (Advanced)

ExportStabilityAudience
evaluateAllRulesStableAdvanced
evaluateAffectedFieldsStableAdvanced
buildDependencyGraphStableAdvanced
evaluateConditionStableAdvanced
topologicalSortStableAdvanced

Registries (Extension Authors)

ExportStabilityAudience
registerValidatorsStableExtension authors
registerValueFunctionsStableExtension authors
registerLocaleStableExtension authors
getLocaleStringStableExtension authors
resetLocaleStableExtension authors

Adapter Utilities

ExportPathStabilityAudience
GetFieldDataTestId@formosaic/core/adapter-utilsStableAdapter authors
FieldClassName@formosaic/core/adapter-utilsStableAdapter authors
getFieldState@formosaic/core/adapter-utilsStableAdapter authors
formatDateTime@formosaic/core/adapter-utilsStableAdapter authors

Contract Test Infrastructure

ExportPathStabilityAudience
runAdapterContractTests@formosaic/core/testingStableAdapter + CI
TIER_1_FIELDS@formosaic/core/testingStableAdapter + CI
ALL_FIELD_TYPES@formosaic/core/testingStableAdapter + CI
runParityTests@formosaic/core/testingStableAdapter + CI

Schema Import/Export

ExportStabilityAudience
fromRjsfSchemaStableSchema importers
toRjsfSchemaStableSchema importers
fromZodSchemaStableSchema importers

Internal / DevTools

ExportStabilityAudience
RenderTrackerInternalDevTools only
EventTimelineInternalDevTools only
FormDevToolsInternalDevTools only
RuleTracerInternalDevTools only

Notes

  • Internal/DevTools exports live in @formosaic/core/devtools and are fully tree-shakeable — they will not appear in production bundles when unused.
  • Schema importers live in @formosaic/core/rjsf and @formosaic/core/zod subpath exports.
  • The @formosaic/core/adapter-utils and @formosaic/core/testing subpath exports keep adapter and test dependencies isolated from the main bundle.

Released under the MIT License.