SigilJS 0.18.0 — Public 0.x Release
SigilJS 0.18.0 is now ready as a serious public 0.x release.
SigilJS is an executable data contract layer for JavaScript:
Define structure once. Enforce, transform, project, and prove it everywhere.This release represents a major stabilization pass over the core library. The stable core has been hardened, tested, documented, packaged, and verified through real consumer-style usage.
What SigilJS does
SigilJS lets you define runtime contracts in plain JavaScript and use those contracts across system boundaries:
import { sigil, optional, oneOf } from '@weipertda/sigiljs'
const User = sigil.exact({
id: String,
name: String,
role: oneOf('admin', 'user'),
age: optional(Number)
})
const result = User.safeParse(input)
if (result.success) {
console.log(result.data)
}From one contract, you can:
• Validate runtime data
• Parse trusted values
• Produce structured errors
• Transform and serialize values
• Generate JSON Schema
• Generate TypeScript definitions
• Generate OpenAPI schemas
• Generate form constraints
• Generate mocks, cases, and test reports
• Compare contract versions with diff()Release highlights
This release includes:
• Stable-core hardening
• Stable-core regression matrix
• TypeScript declaration support
• Real-world usage trials
• Release candidate dry run
• Public package readiness checks
• Packaged CLI smoke testing
• Fresh consumer install testing
• Docs and examples cleanup
• Zero runtime dependenciesThe stable core is now ready for broader public usage feedback.
Package quality gates
Before this release, SigilJS passed:
• bun run check:release
• bun run lint
• bun test
• bun run check:types
• npm pack --dry-run --json
• Fresh tarball install smoke test
• Packaged CLI smoke test
• TypeScript consumer smoke test
• Examples/recipes smoke testCurrent verification:
• 605 tests passing
• 0 failing tests
• TypeScript declarations passing
• npm package dry run passing
• Zero runtime dependencies
• Single packageStability posture
This is not a 1.0.0 release.
SigilJS is ready for serious 0.x usage and feedback, but I am intentionally keeping the following surfaces experimental while they gather more real-world use:
• CLI
• .sigil text format
• httpContract()
• toFormConstraints()The core contract APIs are the focus of this release:
sigil()
sigil.exact()
optional()
union()
oneOf()
realType()
parse()
safeParse()
assert()
check()
transform()
serialize()
describe()
toJSONSchema()
toTypeScript()
toOpenAPI()
mock()
cases()
test()
diff()Install
npm install @weipertda/sigiljsWhy this release matters
The goal of SigilJS is not to be another validator.
A sigil is not just a schema.
It is a contract object. One runtime source of truth that can enforce, transform, project, and prove the structure of data across application boundaries.
This release makes that foundation much more stable and much more ready for real usage.
What comes next
Next priorities:
• Public usage feedback
• CLI field usage
• HTTP/framework usage trials
• Form/UI usage trials
• Continued documentation polish
• Careful movement toward a future 1.0SigilJS will stay focused on a small, trustworthy, stable core before any 1.0.0 commitment.
Links
Package:
@weipertda/sigiljsInstall:
npm install @weipertda/sigiljs