2.0 KiB
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.1.0 capabilities
- Import a focused subset of JSON Schema, SQL
CREATE TABLEDDL, 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, and 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
- Export JSON, spreadsheet-safe CSV, NDJSON, XML, SQL
INSERTstatements, 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, and production-scale data loads are
out of scope in v0.1.0.
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.