@mackehansson/schemaform
Installation

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.

On this page