Skip to content

Installation

The compiler and workspace packages are Node-side build/test tooling and must not enter the Angular browser bundle. The schema package has one explicit browser-safe entry point, @formly-contract/schema/field-type-authoring, for paired custom-field declarations and production type registration.

  • Node.js >=22.13.0 <23; repository reference 22.22.1
  • pnpm 10.23.0
  • Angular 20.x for @formly-contract/angular
  • Formly 6.x

The compatibility suite is pinned to Angular 20.3.29 and Formly 6.1.8. Compiler-only consumers do not load Angular and peer only on Formly 6.x.

Evaluate the GitHub pilot release candidate

Section titled “Evaluate the GitHub pilot release candidate”

Before npm publication, download every asset from the newest pilot-rc.* GitHub prerelease. Keep the four package tarballs, formly-contract-pilot.json, and formly-contract-pilot.pnpmfile.cjs in one directory. The manifest records each package SHA-256, the pnpm-hook SHA-256, exact pnpm version, and install arguments verified by the release candidate’s temporary consumer smoke test.

The pilot RC is installable evaluation evidence, not an npm publication or a stable compatibility promise. Third-party Angular, Formly, TypeScript, and pnpm dependencies still come from the consumer’s registry or package cache.

The packages are prepared for public npm release but may still need to be linked before the npm bootstrap completes. Clone this repository beside the consumer and build the four publishable packages:

Terminal window
git clone https://github.com/dills122/formly-contract.git
cd formly-contract
pnpm install --frozen-lockfile
pnpm --filter @formly-contract/schema build
pnpm --filter @formly-contract/compiler build
pnpm --filter @formly-contract/workspace build
pnpm --filter @formly-contract/angular build

In the consuming repository, add sibling links with paths adjusted for your layout:

{
"dependencies": {
"@formly-contract/schema": "link:../formly-contract/packages/schema"
},
"devDependencies": {
"@formly-contract/compiler": "link:../formly-contract/packages/compiler",
"@formly-contract/workspace": "link:../formly-contract/packages/workspace",
"@formly-contract/angular": "link:../formly-contract/packages/angular"
}
}

Keep schema in regular dependencies when production Angular code imports its field-type-authoring subpath. If schema is used only from Node tooling, it may remain dev-only. The schema root is Node-oriented; browser code must import the dedicated subpath.

Install through the consumer’s normal pnpm workflow, then verify the binary:

Terminal window
pnpm install
pnpm exec formly-contracts --help

A successful check begins with Usage: formly-contracts <command> [options].

When a sibling checkout is not available on the consuming machine, build and retain the required pilot tarballs plus a checksum/install manifest:

Terminal window
pnpm pilot:pack

Copy artifacts/pilot/ to the consumer, then run the pnpm command described by formly-contract-pilot.json. The pilot remains a retained evaluation handoff even though workspace and Angular are now on the public release path. The manifest contains schema, compiler, workspace, and Angular and is checked in a temporary consumer predeclared with the compatibility suite’s pinned Angular 20.3.29 and Formly 6.1.8 runtime stack. The check installs the exact manifest arguments, imports @formly-contract/angular/jit, and runs formly-contracts-angular --help. Its checksummed pnpm hook redirects only dependencies among those four unpublished packages to bundled tarballs; inspect and retain that file beside the tarballs when copying the bundle. Third-party Angular, Formly, TypeScript, and pnpm dependencies still require the consumer’s normal registry or package cache; this is not an offline dependency bundle.

Run the documentation site from this monorepo with:

Terminal window
pnpm docs:dev

Build the static site and validate its internal routes with:

Terminal window
pnpm check:docs

Generated Astro output stays under apps/docs/dist/ and is ignored by Git.