@zonekit/validator
v0.2.0
Published
Structural and semantic validation for Zonekit configuration
Downloads
184
Maintainers
Readme
@zonekit/validator
Structural and semantic validation for Zonekit configuration.
Use @zonekit/validator to validate authored Zonekit config, runtime boundary payloads, and publishing metadata. It combines schema validation with semantic checks like reachability, cross-reference integrity, guard usage, flag references, and federation compatibility.
Installation
pnpm add @zonekit/validatorQuick start
import { validateAll } from "@zonekit/validator";
const result = validateAll(config);
if (!result.valid) {
for (const error of result.errors) {
console.error(`[${error.severity}] ${error.path}: ${error.message}`);
}
}Common use cases
- validate a full authored
ZonekitConfigbefore merge or publish - validate a resolved config or manifest at runtime boundaries
- validate lock files, contracts, or metadata in release tooling
- validate manifest files from disk in Node-based CI
Key exports
Orchestrator
validateAll(config)runs structural and semantic validation over a fullZonekitConfig.validateZonekitConfig(config)runs schema validation only on authored config input.
Boundary validators
validateConfigResponse(data)validates resolved-config payloads.validateManifestResponse(data)validates manifest payloads.validateRemoteModule(data)validates remote module shapes.BoundaryValidationErroris thrown when a boundary validator fails.
Contract and metadata validators
validateContract(contract)validates a config contract declaration.validateLockFile(lockFile)validates a lock file structure.validateMeta(meta)validates published metadata like hash and schema version.
Utilities
isSchemaCompatible(version, range)checks schema-version compatibility.
Entry points
| Path | Environment |
|---|---|
| @zonekit/validator | Default universal entry point |
| @zonekit/validator/node | Node-only manifest file validation via validateManifestFile |
| @zonekit/validator/browser | Browser-safe subset: boundary validators, validateZonekitConfig, and isSchemaCompatible |
Error shape
All non-throwing validators return a ValidationResult with valid and errors. Each ValidationError includes path, message, suggestion, and severity.
Notes
- Use
validateAll()in CI and pre-publish checks when you want the strongest authored-config validation. - Use
validateZonekitConfig()when you only need schema conformance. - Use the boundary validators at HTTP or federation boundaries where bad payloads should fail fast.
- Use
@zonekit/validator/nodeonly when you specifically needvalidateManifestFile().
License
MIT
Read more:
