Unable to use meta.get-mixin to pass mixin as a value to another mixin, then use it in its content.
curlykay opened this issue · comments
Bug report
I get a compilation error when I use the following SCSS code snippet in the project.
@use "sass:meta";
@mixin theme-style($mixin) {
:root {
@include meta.apply($mixin);
}
}
@mixin light() {
--text-color: #000;
}
@include theme-style(meta.get-mixin("light"));
Since it gave the right result in the SCSS playground, I don't think it's a bug in sass.
https://sass-lang.com/playground/#eJxNjcEKwyAQRO9+xWJ70IPFXPXir0i6JILGEDeQEPLvbZem9DYMb950XVgbgmyxNVeQovRChJK2NAGNWNA02jOqO1caDgHgllqJE0BIU5/XJ8Jn+4jznPeL9W/gFOdPl9MwktLfoTGEG5m+5ro4uFlrPbOX7/+c3QOSYZGSbJJa+xdXFTwC
![image](https://private-user-images.githubusercontent.com/35558285/293204256-bd046553-c284-4342-888d-acfcfde99b26.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwNDUzOTUsIm5iZiI6MTcyMDA0NTA5NSwicGF0aCI6Ii8zNTU1ODI4NS8yOTMyMDQyNTYtYmQwNDY1NTMtYzI4NC00MzQyLTg4OGQtYWNmY2ZkZTk5YjI2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAzVDIyMTgxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI1MTY5NDk4MDE0NDIwNWY0YWM5NTFiNWNlYmNhNzQ5MWJlMjI5NmQ3YjE5YzBlNGQ4NmJiMjc0Yzk2NTM5Y2UmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.NHuy941PxC89VV8MN7cP-gex3Aua-NPEgX0yLeXkplU)
PS: This is the smallest complete SCSS snippet I have simplified for verification purposes. If you need the SCSS code from my project, please let me know.
Actual Behavior
print error:
Bad state: Can't access __parent outside of a module.
![image](https://private-user-images.githubusercontent.com/35558285/293204988-0986347c-1180-4147-9f0f-bf51216a01a9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwNDUzOTUsIm5iZiI6MTcyMDA0NTA5NSwicGF0aCI6Ii8zNTU1ODI4NS8yOTMyMDQ5ODgtMDk4NjM0N2MtMTE4MC00MTQ3LTlmMGYtYmY1MTIxNmEwMWE5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAzVDIyMTgxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTcxYjBiMTFkM2Y5YjZhZDRhYmUxY2Y5MDE1NWMzYWU1OTgyMzBiMmNiYTJmODA3YTUzMjM5OWRmNjQwYmE0NDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.wb0rdGpSg4PwGLlKF6CmmujQ2h8JOfwGuoGqngxpZ-4)
Expected Behavior
Generating CSS Output Correctly:
:root {
--text-color: #000;
}
How Do We Reproduce?
You can reproduce it just by importing this SCSS snippet into any Webpack project that uses sass-loader.
Please paste the results of npx webpack-cli info
here, and mention other relevant information
System:
OS: macOS 13.4.1
CPU: (8) x64 Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz
Memory: 12.07 MB / 8.00 GB
Binaries:
Node: 18.18.2 - ~/Library/pnpm/node
Yarn: 1.22.17 - /usr/local/bin/yarn
npm: 8.4.1 - /usr/local/bin/npm
Browsers:
Chrome: 120.0.6099.129
Edge: 120.0.2210.91
Safari: 16.5.1
Packages:
sass: ^1.69.5 => 1.69.5
css-loader: ^6.8.1 => 6.8.1
sass-loader: ^13.3.3 => 13.3.3
style-loader: ^3.3.3 => 3.3.3
webpack: ^5.89.0 => 5.89.0
webpack-cli: ^5.1.4 => 5.1.4
Please open an issue in dart-sass
repo, it is a bug, we can't fix it here, thank you
Thank you for your response and hint.