Internal Rust crate for the parser/public-product track.
Current scope:
- style-language detection for
.module.css,.module.scss,.module.less - byte-span tokenization
- shallow stylesheet parsing into rule / at-rule / declaration / comment nodes with structured prelude / header / value payloads
- parser diagnostics for unterminated comments, strings, and blocks
- bounded Rust-vs-TS parity and CSS Modules intermediate producer binaries
- parser canonical-candidate / canonical-producer artifacts over those bounded outputs
- CSS custom property declaration/reference seed facts in the CSS Modules intermediate producer, including selector attachment and wrapper context
- Sass symbol seed facts in the CSS Modules intermediate producer for variables,
mixins, functions, static
@use/@forward/@importmodule edges, and@usenamespace seeds - same-file Sass resolution seeds for variables, mixin includes, and declared function calls
- selector attachment seeds for Sass variable refs, mixin includes, and declared function calls
- selector-scoped Sass symbol occurrence facts with same-file resolution status, byte spans, and shared-style text ranges
Non-goals in this first scaffold:
- no TS/runtime integration yet
- no public package commitment
- no provider-facing Sass symbol feature yet
- no cross-file Sass module resolution yet
Primary check:
cargo test --manifest-path rust/Cargo.toml -p engine-style-parserpnpm check:rust-parser-css-modules-intermediatepnpm check:rust-parser-index-producerpnpm check:rust-parser-canonical-candidatepnpm check:rust-parser-evaluator-candidatespnpm check:rust-parser-canonical-producerpnpm check:rust-parser-consumer-boundarypnpm check:rust-parser-lanepnpm check:rust-parser-public-product
This crate is intentionally internal. publish = false remains in effect at the workspace level.