Summary
- generate first-class declarations for STX Vue-style script components and Blade-style
@tscomponents - derive props from
defineProps, runtime prop schemas,props as Props, and legacy$props.nameaccess - retain typed emits, slots, exposed values, named exports, and strict
@stacksjs/stxcomponent contracts - discover, watch, auto-include, emit, and rewrite
.stxentrypoints - harden shared SFC scanning around strings, nested setup values,
defineSlots, and shorthand exposed values
Impact
STX component consumers now receive useful generated .d.ts files through both the semantic inference path and the annotation-first isolated-declarations path. Existing STX component libraries using legacy $props syntax also gain inferred public prop contracts without source migrations.
Validation
bun run test— 1,611 passedbun run typecheckbun run lintbun run buildzig build testinpackages/zig-dtsx- focused STX/Vue suite with strict
tscdeclaration consumption - all 514
.stxfiles in~/Code/Tools/stxprocessed successfully in semantic and isolated modes