Architecture: How to handle SCSS files in in-browser rspack preview?

Documentation for Sessions

🏗️ Architecture: How to handle SCSS files in in-browser rspack preview?

Date: 2026-03-15
Time: 18:07:55 UTC
Session: gspace1-224.6
Agent: angular
Confidence: 90%
Status: ✅ Documented


📋 Decision Context

Question:

How to handle SCSS files in in-browser rspack preview?

Task: Fix SCSS compilation in preview pipeline


🎯 Decision Made

Chosen:

Lightweight SCSS nesting flattener that compiles nesting + & parent selectors to flat CSS before rspack compilation. No full dart-sass runtime.

Options Considered:

  1. Load full dart-sass (4MB) in browser
  2. Use sass-embedded WASM build
  3. Lightweight nesting flattener
  4. Forbid SCSS in generated code, use CSS only

💭 Reasoning

Generated platform code only uses SCSS nesting and & parent selectors — no $variables, @mixin, @use, @import. Full dart-sass is 4MB JS. Our flattener is ~200 lines, handles all actual use cases, and runs synchronously in the enrichFileMap pipeline. If generated code ever uses full Sass features, swap for WASM dart-sass.


📁 Files Involved


🔗 Related


Auto-generated by MCP Smart Consolidation