1.0.4 • Published 7 years ago
postcss-scss-extract-library v1.0.4
postcss-scss-extract-library
PostCSS plugin to extract mixins, functions, variable definitions from sass.
Installation
With yarn
$ yarn add postcss-scss-extract-libraryOr npm:
$ npm install --save postcss-scss-extract-libraryUsage
const fs = require('fs'),
postcss = require('postcss'),
syntax = require('postcss-scss'),
extract = require('postcss-scss-extract-library')
const scss = fs.readFileSync('scss/input.scss', 'utf-8')
postcss([extract()]).process(scss, {
syntax: syntax,
from: 'scss/input.scss',
})scss/input.scss:
@if $set-spacing-size == 'big' {
$global-spacing: '1.5rem' !global;
}
@else {
$global-spacing: '1rem' !global;
}
@mixin important-element {
color:red;
}
@function get-spacing() {
return $global-spacing;
}
.u-important {
@include important-element;
}
.u-standard-spacing {
padding: get-spacing();
}Will give you:
@if $set-spacing-size == 'big' {
$global-spacing: '1.5rem' !global;
}
@else {
$global-spacing: '1rem' !global;
}
@mixin important-element {
color:red;
}
@function get-spacing() {
return $global-spacing;
}Options
The following is used to determine whether atrules get filtered out:
if atrule has an ancestor in the allowAll list:
do not remove it
else if atrule is in the disallowAll list:
remove itAnd to determine if rules get filtered out:
if rule has ancestor in the allowAll list
keep it
else:
remove itThe allowAll and disallowAll options can be used to determine which atrules and rules get kept.
The default configuration is inteded to keep all sass code that would not generate css if compiled.
Example:
const disallow = extract.defaultDisallowAll.concat(['mixin'])
extract({ disallowAll: disallow, allowAll: ['function', 'import']})Will remove mixins from the generated scss partial.
For more information see the scss-extractor documentation.
1.0.4
7 years ago
1.0.3
7 years ago
1.0.3-alpha.2
7 years ago
1.0.2
7 years ago
1.0.2-alpha.1
7 years ago
1.0.2-alpha.13
7 years ago
1.0.2-alpha.0
7 years ago
1.0.1-1.0.0-alpha.0.0
7 years ago