Extension overview
Use this page when you want to extend schema-dsl but are not sure whether you need a custom DSL type, a validation keyword, runtime isolation, or plugin packaging.
The extension system has several layers. They can be combined, but they solve different jobs.
Which extension should I use?
Custom Extension Entries
The custom DSL type chapter owns DSL literals, s('...') seed builders, s.xxx() factories, parameters, and the decision not to expose custom base-builder methods for ordinary business types:
Global and runtime-scoped extensions
Use the global schema-dsl/pure entry when an application has one extension set loaded at startup:
Use schema-dsl/runtime when a framework, plugin host, tenant, test suite, or worker needs isolated extension state:
Recommended reading path
- Read Custom DSL Types for reusable business types, parameters, and
s.xxx()factories. - Read Custom Validation Keywords when the validator needs a new keyword.
- Read Framework Integration before wiring extensions into a real application or framework.
- Read Plugin Manager (Advanced) only when you need plugin lifecycle and hooks.
Corresponding sample file
Example entry: extensions-overview.ts Note: Shows custom DSL type, runtime-scoped type, and validation keyword paths side by side.