Repository navigation
v0.3.0
v0.3.0 — StyleCompilation architecture, LSP redesign, analysis dispatcher
Full architectural rewrite from the legacy SolidGraph/CSSGraph/cross-file/ system to a Roslyn-inspired compilation model.
Highlights
- StyleCompilation — immutable compilation object replacing the ad-hoc graph caching layer. Owns all CSS/Solid trees and a unified SymbolTable.
- Cascade binder — full CSS cascade resolution per element with selector matching, specificity ordering, conditional guard tracking, and layout fact computation.
- Analysis dispatcher — tiered rule execution framework. 70+ rules migrated to self-contained modules with typed registry subscriptions.
- Incremental tracker — dependency graph-based change propagation for minimal re-analysis.
- LSP redesign — immutable Session model, unified diagnostic pipeline (push + pull), compilation builder, cancellation support, daemon rewrite.
- Tailwind integration —
TailwindValidatorwired throughSymbolTable.hasClassName()for class-name-aware rules. Arbitrary value batch validation across CLI, daemon, and LSP.
Bug fixes
css-layout-conditional-offset-shift: suppressed false positives for elements insideposition: fixed/absolutecontainers.no-duplicate-selectors: accounts for parent at-rule context.- Monorepo support: workspace files synced into TS program.
- Replaced all
Bun.spawncalls with Nodechild_processfor runtime compatibility.
Breaking changes
- Deleted
cross-file/directory,cache.ts,SolidGraph/CSSGraphclasses. - Rule IDs unchanged but internal registration API moved from imperative visitors to
defineAnalysisRule+registerConditionalDeltaAction/registerElementAction/ etc.
See PR #33 for the full diff.