All notable user-facing changes to this project are documented here.
- Added
interface-forge/json-schemawithJsonSchemaFactoryfor optional AJV-backed JSON Schema data generation and validation. - Added JSON Schema support for object, primitive, array, nested object,
enum,const, common string/number/array constraints, selected formats, and shallow local$defs/definitionsreferences. - Added
factory.sequence.increment(),factory.sequence.template(), andfactory.sequence.date()helpers for stateful sequence values in factory schemas. - Added
IncrementSequenceGenerator,TemplateSequenceGenerator, andDateSequenceGeneratorexports for direct generator usage.
- Added JSON Schema integration documentation and installation guidance.
- Updated generator documentation to cover
factory.sequenceand direct generator usage.
- Exported
BaseGenerator,CycleGenerator, andSampleGeneratorfrom the rootinterface-forgeentrypoint so the documented imports work.
- Modernized project tooling around
prek,gitfluff,oxlint,oxfmt, ai-rulez v4, and pnpm 11. - Consolidated documentation dependencies into the root pnpm workspace lockfile.
- Adjusted the npm trusted publishing workflow to restore npm registry configuration, update npm before publishing, and publish without a user token.
- Adjusted the npm trusted publishing workflow to avoid
NODE_AUTH_TOKENconflicts during provenance publishing.
- Added the npm publish workflow using trusted publishing and provenance.
- Updated the Vite config to use the Vitest config entrypoint.
- Raised the Node.js engine requirement to Node 20 or newer.
- Moved docs, build, and test packages out of production dependencies.
- Refreshed the development dependency stack, including Faker 10, Vitest 4, Docusaurus 3.9, and React 19.2.
- Added GitHub Sponsors links to the README and documentation.
- Refreshed dependencies, including Faker 10, TypeScript 5.9, Zod 4.1, Vite 7.1, and React 19.1 for docs.
- Updated GitHub Actions dependencies through Dependabot.
- Relaxed the optional Zod peer dependency to
>=3.0.0, improving compatibility for Zod v3 and v4 consumers.
- Passed
kwargsoverrides into factory functions as a third argument acrossbuild,buildAsync,batch,batchAsync,extend,compose, and partial factories. - Added context-aware override examples.
- Improved browser compatibility for fixture functionality.
- Migrated and reorganized documentation around Docusaurus.
- Reintroduced fixture generation through
build()andbuildAsync()options. - Added
generateFixture,fixtures,FixtureConfiguration, fixture metadata, configurable fixture paths, and signature validation. - Added fixture support for
ZodFactory, including schema-aware fixture signatures.
- Added
FixtureErrorandFixtureValidationErrorexports for fixture read/write and validation failures. - Improved generic typing in factory composition and extension paths.
- Added fixture generation documentation with basic usage, configuration, custom paths, validation, and Zod examples.
- Added partial factory support through
Factory.partial(). - Added type-level tests for partial factory behavior.
- Fixed a type regression from
2.4.0. - Improved conditional return typing for partial factories.
- Added async batch support.
- Added adapter examples for Mongoose, Prisma, and TypeORM.
- Improved factory depth control and centralized the default max depth constant.
- Refined persistence adapter typing.
- Improved Zod nested deep merge behavior.
- Reorganized shared utilities.
- Added Zod v3 compatibility.
- Expanded custom Zod type registration support.
- Updated README examples and generated assets for the Zod integration.
- Added factory composition and extension APIs.
- Added before/after build hooks and async build support.
- Added recursion depth control.
- Added custom error classes.
- Added generator utilities.
- Added optional
interface-forge/zodentrypoint for Zod schema integration. - Added examples and generated API documentation.
- Maintenance release with version and dependency updates.
- Updated build, lint, and packaging tooling.
- Migrated to pnpm 10.
- Refreshed README content.
- Updated dependencies and type annotations.
- Fixed publish, prepublish, dependency, pre-commit, and Husky configuration issues.
- Simplified the public API around
Factorywithbuild,batch,use,iterate, andsample.
- Removed legacy
TypeFactory,FixtureFactory, old helper utilities, fixture APIs, and the previous changelog.
- Migrated tests from Jest to Vitest.
- Added CodeQL and refreshed lint/dependency tooling.
- Fixed release workflow issues and updated pnpm GitHub Actions usage.
- Migrated package management to pnpm.
- Upgraded
@tool-belt/type-predicates.
- Updated dependencies and GitHub Actions.
- Added Dependabot configuration.
- Fixed an incorrect documentation link.
- Added security policy documentation.
- Updated dependencies and project badges.
- Fixed fixture comparisons involving
undefined.
- Added contributor documentation.
- Updated type guard dependencies.
- Maintenance release.
- Refactored schema parsing, recursive validators, recursive merge logic, and fixture file handling.
- Added derived schema values.
- Added the first Docusaurus documentation site.
- Fixed fixture directory creation with
fs.mkdirSync.
- Added
__fixtures__directory behavior for fixture files.
- Improved fixture path validation and documentation.
- Reintroduced the default fixture path.
- Fixed fixture filename validation and normalization.
- Simplified
FixtureFactoryconstruction by removing the file path constructor argument.
- Added
FixtureFactoryand fixture generation methods.
- Fixed async default counter behavior.
- Removed counter resets from batch methods.
- Added synchronous generation APIs with
buildSyncandbatchSync. - Added
.sample().
- Replaced
.bind()with.use().
- Fixed an iteration error.
- Updated build options.
- Fixed nested schema value resolution.
- Fixed
isOfTypenull handling.
- Added required build arguments.
- Updated typings and dependencies.
- Fixed iteration logic.
- Updated README and package metadata.
- Initial release of Interface Forge with core typed factory behavior.