extract-sass-to-js
sass-extract-js
Fork ofPlugin for [sass-extract][sass-extract] to convert Sass global variables into a plain Javascript object.
Intro
Using extract-sass-to-js
we can mix and match the world of CSS-in-JS along with common SASS approaches or even CSS modules. We can actually extract global SASS variables and pass them through a <ThemeProvider />
or actually any provider used by styled-components
, emotion
and so on.
Usage
You'll need to install [sass-extract][sass-extract], [sass-extract-loader][sass-extract-loader], [node-sass][node-sass], and this plugin.
$ yarn add sass-extract sass-extract-loader node-sass extract-sass-to-js
Usage
Assuming you're using webpack, you'll need to use sass-extract-loader to require/transform your sass variables file. Then you can pass the styles as a theme via a ThemeProvider component like this:
// Require your sass variables using sass-extract-loader and specify the pluginconst theme = ; // Pass the vars into your ThemeProvider component;
Then use themes in your styled components:
; const Button = styledbutton` background-color: ;`;
Plugin Instance
You can also create a plugin instance with your desired options and pass the instance directly inside the plugins array.
;; // Create a plugin instance, passing in your optionsconst instance = ; // Call the `renderSync` function with the path to your Sass file// and pass the plugin instance in the plugins arrayconst rendered = sassExtract;
License
MIT