| Area | Change |
|---|---|
| Built-in TS strip | A programmatic @babel/preset-typescript pass now runs inside the parser. No Babel config required; works on .ts, .tsx, .js, .jsx, .cts, .mts. |
| SSR onClick helper | zeroSSR.onClick(key, values) is fully static-analysed. Injects an optional 650 B runtime only when used; remains tree-shaken otherwise. |
| CSS-variable mode | useUI('--blur', '0px') syncs state directly to a CSS custom property—no re-render, GPU-grade animations. |
| Dashed-key object fix | Build-time resolver now handles { 'dark-mode': 'theme' }['dark-mode'] and y[x] where x = 'test-toggle'. |
| Boolean & ternary accuracy | !!true, !5, and bool ? y[x] : z resolve correctly; added string-boolean coercion guards. |
| Robust file scan | Fast-glob pattern covers JS/TS and CSS/SCSS/Sass/Less; hooks parsed only from code, tokens scanned from all files. |
| Error-caching scanner | Token scanner caches both results and first failure; prevents log spam on repeated builds. |
| Cache key upgrade | File-level LRU keyed by mtime:size for perfect change detection. |
What's Changed
- feat: update to node-v22 by @Austin1serb in #15
- feat:eslint plugin by @Austin1serb in #16
- added useScopedUI hook by @Austin1serb in #17
- feat:css-varables-toggle by @Austin1serb in #18
- Feat:ssr safe onClick handler experimental by @Austin1serb in #19
- Upgrade/resolver by @Austin1serb in #20
- 0.3.4 by @Austin1serb in #21
Full Changelog: v0.2.3...v0.3.4