sass / dart-sass

The reference implementation of Sass, written in Dart.
https://sass-lang.com/dart-sass
MIT License
3.87k stars 350 forks source link

@use file cannot use variables starting with $-- #2252

Closed ksh033 closed 3 months ago

ksh033 commented 3 months ago

var.scss file $--color-success: #4ec89c !default; $color-success: #4ec89c !default;

var.scss file

@use 'var.scss' as *;

.el-table .row-success {
  background: $--color-success;
}

compile scss

`const sass = require('sass')

const result = sass.compile('./test.scss')`

sass.Exception

throw error; ^

sass.Exception [Error]: Undefined variable. ╷ 4 │ background: $--color-success; │ ^^^^^^^^^^^^^^^^ ╵ test.scss 4:15 root stylesheet at Object.wrapException (D:\work\bosssoft\bs\vue\bs-project\node_modules.pnpm\sass@1.77.2\node_modules\sass\sass.dart.js:2161:43) at _EvaluateVisitor1.visitVariableExpression$1 (D:\work\bosssoft\bs\vue\bs-project\node_modules.pnpm\sass@1.77.2\node_modules\sass\sass.dart.js:95365:15) at VariableExpression0.accept$1$1 (D:\work\bosssoft\bs\vue\bs-project\node_modules.pnpm\sass@1.77.2\node_modules\sass\sass.dart.js:115679:22)
at VariableExpression0.accept$1 (D:\work\bosssoft\bs\vue\bs-project\node_modules.pnpm\sass@1.77.2\node_modules\sass\sass.dart.js:115682:19) at _EvaluateVisitor1.visitDeclaration$1 (D:\work\bosssoft\bs\vue\bs-project\node_modules.pnpm\sass@1.77.2\node_modules\sass\sass.dart.js:94576:22)
at Declaration0.accept$1$1 (D:\work\bosssoft\bs\vue\bs-project\node_modules.pnpm\sass@1.77.2\node_modules\sass\sass.dart.js:93197:22) at Declaration0.accept$1 (D:\work\bosssoft\bs\vue\bs-project\node_modules.pnpm\sass@1.77.2\node_modules\sass\sass.dart.js:93200:19) at _EvaluateVisitor_visitStyleRule__closure1.call$0 (D:\work\bosssoft\bs\vue\bs-project\node_modules.pnpm\sass@1.77.2\node_modules\sass\sass.dart.js:97526:16) at _EvaluateVisitor1._evaluate0$_withStyleRule$1$2 (D:\work\bosssoft\bs\vue\bs-project\node_modules.pnpm\sass@1.77.2\node_modules\sass\sass.dart.js:96365:25) at _EvaluateVisitor1._evaluate0$_withStyleRule$2 (D:\work\bosssoft\bs\vue\bs-project\node_modules.pnpm\sass@1.77.2\node_modules\sass\sass.dart.js:96370:19)

nex3 commented 3 months ago

This is intentional. Members beginning with - are private to the module that defines them.