Core
Framework-agnostic form engine exports for advanced integrations.
Core owns the model and pure behavior that every renderer and builder depends on: Form Definitions, validation, rules, resolution, migration, renderability checks, submission projection, and builder mutations.
Most React apps do not import Core directly; use the main package entrypoint first:
import type { FormDefinition } from "@mackehansson/schemaform";
import { SchemaForm } from "@mackehansson/schemaform-shadcn";Use the narrower Core entrypoint when you are writing non-React tooling, importers, migrations, tests, or a custom renderer outside the default component:
import {
resolveForm,
toSubmissionPayload,
type FormDefinition,
} from "@mackehansson/schemaform/core";Source Map
Core source lives in packages/schemaform/src. The main barrel is packages/schemaform/src/core/index.ts.
The copy unit manifest remains available in apps/schemaform/schemaform.json if you want to fork Core into app-owned code, but copying Core is an advanced path.
What To Customize
Core is the right place to change durable form behavior: supported schema constructs, rule effects, validation policy, default widget selection, migrations, and submission projection.
Avoid putting React state, ShadCN components, persistence, or routing into Core. Those belong above the engine.