{"_id":"@avensio/jsonld-schema","name":"@avensio/jsonld-schema","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@avensio/jsonld-schema","version":"1.0.0","description":"Generated TypeScript toolkit for Schema.org JSON-LD with typed class definitions, creator helpers, structured diagnostics, dynamic validators, tree-shakable ESM modules, and bundled vocabulary data.","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","author":{"name":"Armin Kunkel"},"license":"MIT","keywords":["jsonld","schema.org","structured data","semantic web","linked data","typescript","validators","creators","microdata","schema","seo","search engine optimization","schema validation","json-ld"],"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AvensioDev/jsonld-schema.git"},"bugs":{"url":"https://github.com/AvensioDev/jsonld-schema/issues"},"homepage":"https://docs.avensio.de/packages/jsonld-schema/docs/","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json","./creators":{"types":"./dist/classes/creators.d.ts","import":"./dist/classes/creators.js","default":"./dist/classes/creators.js"},"./classes":{"types":"./dist/classes/index.d.ts"},"./classes/*":{"types":"./dist/classes/*.d.ts"},"./validation":{"types":"./dist/validation/index.d.ts","import":"./dist/validation/index.js","default":"./dist/validation/index.js"},"./validation/core":{"types":"./dist/validation/core.d.ts","import":"./dist/validation/core.js","default":"./dist/validation/core.js"},"./validation/classes":{"types":"./dist/validation/classes/index.d.ts","import":"./dist/validation/classes/index.js","default":"./dist/validation/classes/index.js"},"./validation/classes/*":{"types":"./dist/validation/classes/index.d.ts","import":"./dist/validation/classes/*.js","default":"./dist/validation/classes/*.js"},"./validation/properties":{"types":"./dist/validation/properties/index.d.ts","import":"./dist/validation/properties/index.js","default":"./dist/validation/properties/index.js"},"./validation/properties/*":{"types":"./dist/validation/properties/index.d.ts","import":"./dist/validation/properties/*.js","default":"./dist/validation/properties/*.js"},"./presets/types/*":"./dist/presets/types/*.json","./data/classes.json":"./dist/data/classes.json","./data/contexts.json":"./dist/data/contexts.json","./data/datatypes.json":"./dist/data/datatypes.json","./data/otherTypes.json":"./dist/data/otherTypes.json","./data/properties.json":"./dist/data/properties.json"},"typesVersions":{"*":{"classes":["dist/classes/index.d.ts"],"classes/*":["dist/classes/*.d.ts"],"creators":["dist/classes/creators.d.ts"],"validation":["dist/validation/index.d.ts"],"validation/core":["dist/validation/core.d.ts"],"validation/classes":["dist/validation/classes/index.d.ts"],"validation/classes/*":["dist/validation/classes/index.d.ts"],"validation/properties":["dist/validation/properties/index.d.ts"],"validation/properties/*":["dist/validation/properties/index.d.ts"]}},"devDependencies":{"@avensio/async-pool":"^1.0.2","@avensio/graph":"^1.0.0","@commitlint/cli":"^20.1.0","@commitlint/config-conventional":"^20.0.0","@eslint/js":"^9.39.1","@types/node":"^24.9.2","@typescript-eslint/eslint-plugin":"^8.46.2","@typescript-eslint/parser":"^8.46.2","@vite-pwa/assets-generator":"^1.0.2","@vite-pwa/vitepress":"^1.0.1","@vitest/browser":"^4.0.6","@vitest/coverage-v8":"^4.0.6","@vitest/ui":"^4.0.6","changelogen":"^0.6.2","eslint":"^9.39.0","eslint-plugin-import":"^2.32.0","rollup":"^4.52.5","tsx":"^4.20.6","typedoc":"^0.28.14","typedoc-plugin-frontmatter":"^1.3.0","typedoc-plugin-markdown":"^4.9.0","typedoc-plugin-mdn-links":"^5.0.10","typedoc-plugin-mermaid":"^1.12.0","typescript":"^5.9.3","typescript-eslint":"^8.46.3","vite":"^7.1.12","vite-plugin-dts":"^4.5.4","vitepress":"^1.6.4","vitest":"^4.0.6"},"scripts":{"hooks:install":"node ./scripts/hooks/commit-msg.mjs","release":"pnpm run build && pnpm run test && pnpm run changelog","changelog":"changelogen --release --push --yes","dev:check":"node -e \"const [major, minor] = process.versions.node.split('.').map(Number); if (major < 23 || (major === 23 && minor < 6)) throw new Error('Needs Node.js >=23.6.0')\"","schema:check":"node scripts/schema-check.ts","generate:schema":"tsx src/generator/generate.ts","build":"pnpm run generate:schema","lint":"eslint src","lint:fix":"pnpm lint --fix","test":"vitest run --coverage test/","docs:dev":"vitepress dev docs/ --open","docs:api":"typedoc --options typedoc.config.ts src","docs:build":"pnpm docs:api && vitepress build docs/","postdocs:build":"echo 'docs.avensio.de' > ./docs/.vitepress/dist/CNAME","docs:preview":"vitepress preview docs/","docs:pwa-assets":"pwa-assets-generator --config pwa-assets.config.ts","clean":"rm -rf node_modules/ && rm -rf dist/"},"_id":"@avensio/jsonld-schema@1.0.0","_integrity":"sha512-VO9FoIIdiW5i1Rp6J35CcbDKmCAIJLuijqrqjQFsenzT80ng/DkCYk1CJK1CAmYLojBwbqa3dabg+8/j7cFD3Q==","_resolved":"/tmp/2a34ce50545b65d0cc46c4cece16ffc6/avensio-jsonld-schema-1.0.0.tgz","_from":"file:avensio-jsonld-schema-1.0.0.tgz","_nodeVersion":"26.4.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-VO9FoIIdiW5i1Rp6J35CcbDKmCAIJLuijqrqjQFsenzT80ng/DkCYk1CJK1CAmYLojBwbqa3dabg+8/j7cFD3Q==","shasum":"67818597dc0c6d51a0166ffb5dc1cb033587dc0b","tarball":"https://registry.npmjs.org/@avensio/jsonld-schema/-/jsonld-schema-1.0.0.tgz","fileCount":3735,"unpackedSize":8338529,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCb8gS/GWJq4LW10MUYZzS99VHjQBVhe9jjfywc7CL6nQIhAJSOF/pLNkvBhMVaysqF35ltMrCB0uy2jGf/+V0f/HQ2"}]},"_npmUser":{"name":"armandos","email":"dev@avensio.de"},"directories":{},"maintainers":[{"name":"armandos","email":"dev@avensio.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jsonld-schema_1.0.0_1784305666397_0.6867711046338802"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-17T16:27:45.846Z","1.0.0":"2026-07-17T16:27:46.638Z","modified":"2026-07-17T16:27:46.974Z"},"maintainers":[{"name":"armandos","email":"dev@avensio.de"}],"description":"Generated TypeScript toolkit for Schema.org JSON-LD with typed class definitions, creator helpers, structured diagnostics, dynamic validators, tree-shakable ESM modules, and bundled vocabulary data.","homepage":"https://docs.avensio.de/packages/jsonld-schema/docs/","keywords":["jsonld","schema.org","structured data","semantic web","linked data","typescript","validators","creators","microdata","schema","seo","search engine optimization","schema validation","json-ld"],"repository":{"type":"git","url":"git+https://github.com/AvensioDev/jsonld-schema.git"},"author":{"name":"Armin Kunkel"},"bugs":{"url":"https://github.com/AvensioDev/jsonld-schema/issues"},"license":"MIT","readme":"# Schema.org Type Toolkit\n\n[![npm version](https://img.shields.io/npm/v/%40avensio%2Fjsonld-schema)](https://www.npmjs.com/package/@avensio/jsonld-schema)\n[![npm downloads](https://img.shields.io/npm/dm/%40avensio%2Fjsonld-schema)](https://www.npmjs.com/package/@avensio/jsonld-schema)\n[![Documentation](https://img.shields.io/badge/docs-docs.avensio.de-0969da)](https://docs.avensio.de/packages/jsonld-schema/docs/)\n[![GitHub](https://img.shields.io/badge/GitHub-AvensioDev%2Fjsonld--schema-181717?logo=github)](https://github.com/AvensioDev/jsonld-schema)\n[![License](https://img.shields.io/npm/l/%40avensio%2Fjsonld-schema)](./LICENSE)\n\n[Documentation](https://docs.avensio.de/packages/jsonld-schema/docs/) · [GitHub](https://github.com/AvensioDev/jsonld-schema)\n\nA generated toolkit for working with the Schema.org vocabulary. It bundles typed class definitions, property validators, and helpers for building and validating JSON-LD payloads without losing tree-shaking or TypeScript safety.\n\n---\n\n## Features\n\n- Typed interfaces for every Schema.org `rdfs:Class`\n- Diagnostics-first validators that return structured `Diagnostic[]` objects\n- Branded runtime types (for example `URL`, `Text`) for precise validation\n- On-demand validators with granular static and dynamic imports\n- Generated creator helpers that apply `@context`, `@type`, and default scaffolding\n- Build artifacts optimised for tree-shaking; import only what you actually need\n\n---\n\n## Documentation\n\n- [Documentation website](https://docs.avensio.de/packages/jsonld-schema/docs/)\n- [Getting Started](docs/installation-usage.md)\n- [Generator Architecture](docs/development/architecture.md)\n- [Development Workflow](docs/development/workflow.md)\n- [Validation & Diagnostics](docs/validation/usage.md)\n- Presets: [Overview](docs/presets/overview.md) · [Types](docs/presets/types.md) · [Optimizations](docs/presets/optimizations.md)\n\n---\n\n## Installation\n\n```bash\npnpm add @avensio/jsonld-schema\n# or\nnpm install @avensio/jsonld-schema\n```\n\nThe package is published as modular ESM with TypeScript declarations. The generated files use platform-neutral APIs and work in modern Node.js and browser projects.\n\n---\n\n## Project Layout\n\n| Directory | Purpose |\n|-----------|---------|\n| `src/generator/` | Schema generation scripts and utilities |\n| `src/schema/` | Generated sources: classes, creators, validation modules, raw data |\n| `src/index.ts` | Entry point exposing generated exports |\n| `dist/` | Compiled distribution output (never edit by hand) |\n| `test/` | Vitest suites that mirror the public API surface |\n\n---\n\n## Usage\n\n### Static import (tree-shaking friendly)\n\n```ts\nimport { validateOrder } from '@avensio/jsonld-schema/validation/classes/Order.validator'\nimport type { Order } from '@avensio/jsonld-schema/classes/Order'\n\nconst order: Order = {\n  '@context': 'https://schema.org',\n  '@type': 'Order',\n  name: 'Example order'\n}\n\nconst diagnostics = await validateOrder(order)\nconsole.log(diagnostics)\n```\n\n### Dynamic import (tooling, CLI, SSR)\n\n```ts\nconst { validateOrder } = await import('@avensio/jsonld-schema/validation/classes/Order.validator')\nconst diagnostics = await validateOrder({ '@type': 'Order' })\n```\n\nDynamic imports keep initial bundles minimal and pull validators only when they are used.\n\n---\n\n## Validation philosophy\n\nValidators return `Diagnostic[]` rather than booleans so that tooling can explain every issue at once. Each diagnostic contains an identifier, path, severity, and helpful message. TypeScript types remain untouched, keeping runtime validation separate from compile time expectations.\n\nBranded primitive types enrich values such as `URL` or `Number` with runtime metadata, allowing validators to distinguish between `string` values that look like URLs and those that do not.\n\n---\n\n## Package exports\n\n```json\n{\n  \".\": \"./dist/index.js\",\n  \"./classes/*\": \"./dist/classes/*.d.ts\",\n  \"./creators\": \"./dist/classes/creators.js\",\n  \"./validation/classes/*\": \"./dist/validation/classes/*.js\",\n  \"./validation/properties/*\": \"./dist/validation/properties/*.js\",\n  \"./presets/types/*\": \"./dist/presets/types/*.json\"\n}\n```\n\nInternal maps reside in `dist/validation/*.map.js` for tooling that needs lookup tables.\n\n---\n\n## Schema coverage snapshot\n\n| Group | Count |\n|-------|-------|\n| `rdfs:Class` | 1001 |\n| Non `rdfs:Class` nodes | 537 |\n| Properties | 1684 |\n| Datatypes | 13 |\n| **Total** | **3235** |\n\nThe numbers reflect the Schema.org data snapshot bundled in `src/schema/data/` and will change when the generator fetches fresh vocabulary data.\n\n---\n\n## Contributing\n\nPlease read [`CONTRIBUTING.md`](CONTRIBUTING.md) for development setup, coding standards, and review expectations. Regenerate the schema (`pnpm run generate:schema`) and run the full test suite (`pnpm test`) before opening a pull request.\n\n---\n\n## License\n\nReleased under the [MIT License](LICENSE)\n\n## Licensing Note for Schema Data\n\nThis package build includes code licensed under the repository's software license (MIT) and also schema data derived from Schema.org.\n\n- Schema.org Terms: https://schema.org/docs/terms.html\n- Upstream license for schema and related schema content: CC BY-SA 3.0\n- License URL: https://creativecommons.org/licenses/by-sa/3.0/\n\nSee [THIRD_PARTY_LICENSES.md](THIRD_PARTY_LICENSES.md) for details.\n","readmeFilename":"README.md","_rev":"1-b0824f6ebe778918fb942d60c60af0ef"}