Files
zemion f1c41e7079
Verify / verify (push) Canceled after 0s
Release Fixture Tools 0.2.0
2026-09-02 13:00:37 +02:00
..
2026-09-01 13:03:32 +02:00
2026-09-02 13:00:37 +02:00
2026-09-02 13:00:37 +02:00
2026-09-01 13:03:32 +02:00
2026-09-01 13:03:32 +02:00
2026-09-01 13:03:32 +02:00
2026-09-02 13:00:37 +02:00
2026-09-01 13:03:32 +02:00
2026-09-02 13:00:37 +02:00
2026-09-02 13:00:37 +02:00
2026-09-02 13:00:37 +02:00

Fixture Tools

Generate deterministic, privacy-safe synthetic test fixtures entirely in the browser. Fixture Tools is a local-first module in the add·ideas Toolbox.

v0.2.0 capabilities

  • Import a focused subset of JSON Schema, SQL CREATE TABLE DDL, XSD, CSV headings, or the app's portable fixture-model JSON
  • Review and edit normalized tables, fields, types, required/unique rules, numeric and length ranges, enumerations, scalar foreign keys, composite unique constraints, and composite foreign-key relationships
  • Generate reproducible rows from a text seed with uniform, sequential, normal, and constant distributions
  • Deliberately exercise boundary values or inject invalid values, with a separate violation ledger so negative-test fixtures cannot be mistaken for valid data
  • Preserve referential integrity and field uniqueness for valid generated rows
  • Generate tables in a deterministic dependency-topological order, with an explicit error for cyclic references
  • Audit positive, boundary and intentional-negative exercise counts in a constraint coverage matrix
  • Select deterministic provider profiles (person, network, commerce), with a typed extension point for additional local profiles
  • Export JSON, spreadsheet-safe CSV, NDJSON, XML, SQL INSERT statements, or a reusable fixture recipe
  • Use only reserved example domains for generated email addresses

Honest scope

The importers normalize common declarative constructs; they are not complete JSON Schema, SQL, or XML Schema validators. Remote references, schema code, database connections, XML entities, XSD choice/identity constraints, SQL dialects beyond common table/column clauses, cyclic relational recipes, and production-scale data loads are out of scope in v0.2.0. Coverage counts describe generated exercises; they do not prove schema or application coverage.

Inputs are capped at 2 MiB. A recipe can contain at most 20 tables and 100 fields per table; generation is capped at 50,000 total rows and 8 MiB per serialized output, with no more than 100,000 generated field values. Synthetic data is not anonymization and must not be assumed to represent real populations. The seeded generator is reproducible, not cryptographically random.

Development

npm ci
npm run check
npm run test:browser

npm run release:artifact creates a deterministic release ZIP and SHA-256 sidecar after all checks pass.

License

GPL-3.0-or-later. See LICENSE. Dependency notices are recorded in THIRD_PARTY_NOTICES.md.