0.2.2 (2026-10-12)
0.2.1 (2026-10-12)
- release: override @semantic-release/github to ^12.0.10 to fix fail-step crash (55fa26e)
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
From this point forward, entries in this file are generated automatically by
semantic-release from
Conventional Commits on main — see
.releaserc.json and the docs site's Contributing
section. New entries are prepended above this line by CI; do not hand-edit past releases.
0.2.0 - 2026-07-09
- Zod v4 schema-based generation at the
@sahinur/forgedata/zodsubpath:fromZodSchema(forge, schema)generates a fake value matching any Zod schema, fully typed viaz.infer<T>. Covers primitives (format-aware strings, number min/max/int),object/array/tuple/record/map/set,enum/native enum,literal,union/discriminated union,optional/nullable/default/catch, and recursive schemas viaz.lazy()(depth-capped)..transform()/.pipe()are run through the schema's realsafeParse()so output reflects the actual post-transform shape.zodis an optional peer dependency (^4.0.0); the main entry point never imports it, exactly like the React integration.
0.1.1 - 2026-07-09
binpath andtypesVersionsformatting cleaned up pernpm pkg fix.- Bumped
@typescript-eslintto v8 to clear a TypeScript-version support warning under TS 5.9+.
0.1.0 - 2026-07-09
Initial release. Published as the scoped package @sahinur/forgedata — the
unscoped forgedata name is blocked by npm's anti-typosquatting policy
(flagged as too similar to the popular form-data package). The CLI command
itself is still the short forgedata regardless of package scope.
- Core
ForgeDataclass with a shared, seedable PRNG (mulberry32) so seeding one instance makes all of its output deterministic. - 16 generator modules, 111+ generators total:
person,internet,company,finance,location,commerce,phone,date,image,lorem,color,vehicle,animal,science,ai,misc. - 9 built-in locales (
en,bn,hi,ar,ja,fr,de,es,zh) and a custom locale API (forge.defineLocale()). - Custom generator API (
forge.define()/forge.custom.<name>()). - Unique-value generator (
forge.unique.email()/username()/uuid()/wrap()/clear()). - Randomness helpers:
shuffle,pick,pickMultiple,randomEnum,weighted,probability,randomArray,randomObjectKey/Value. - Generator introspection:
forge.listGenerators()/forge.invoke(), built by walking the real module classes rather than a hand-maintained registry. - React integration at the
@sahinur/forgedata/reactsubpath:ForgeDataProvider,useForgeData(),useGenerator().reactis an optional peer dependency. - CLI (
forgedatabin):listandgeneratecommands with--seed/--locale/--count/--jsonflags. - ESM + CommonJS builds with full TypeScript declarations for the main entry,
@sahinur/forgedata/react, and the CLI. - 100% statement/branch/function/line test coverage (enforced in CI).
- Zero runtime dependencies; only web-standard APIs (
btoa, etc.) so the package runs unmodified on Node.js 18+, Bun, Deno, and in browsers.