2.3 KiB
Schema Tools
Inspect, validate, compare, and derive examples from schemas locally in the browser.
Schema Tools is a standalone local-first application in the add·ideas Toolbox. Files and pasted schemas are processed in the browser and are not uploaded.
Version 0.1 scope
- Safe local workspaces of up to 20 JSON Schema, OpenAPI, XSD, Relax NG XML-syntax, or Schematron documents
- Reference inventory and graph with local relative resolution, fragments, missing-target diagnostics, and explicit blocking of remote, absolute, and escaping references
- Focused, CSP-safe JSON Schema instance validation for Draft 6/7, 2019-09, and 2020-12 with bounded local JSON Pointer references
- Focused OpenAPI 3.0/3.1 structural inspection, operation inventory, component/request-schema sample generation, and obvious breaking-change signals
- Well-formedness and structural inspection for XSD, Relax NG XML syntax, and Schematron, plus bounded heuristic XSD/Relax NG samples
- Conservative comparisons for required properties, types, enums, declarations, operations, parameters, and responses
- Inert rendering, offline PWA support, responsive Toolbox shell integration, and deterministic release archives
Each document is limited to 2 MiB of text, the workspace to 8 MiB and 20 documents, and parsed trees, references, instances, samples, validation work, and diagnostic output have independent bounds. DTD/entity declarations, remote references, Schematron XPath, extension code, JSON Schema pattern, and patternProperties are never executed. JSON Schema validation covers a documented assertion subset rather than claiming full specification conformance. XML languages receive structural inspection—not instance validation—and OpenAPI checks are intentionally focused.
See Architecture and Privacy and security for the exact capability boundaries.
Development
Requires Node.js 22 and npm 11.
npm ci
npm run check
npm run test:browser
Release
npm run release:artifact creates deterministic release/schema-tools-0.1.0.zip and checksum files.
Licence
GPL-3.0-or-later. Runtime dependencies retain their own licences; see THIRD_PARTY_NOTICES.md.