-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
41 lines (38 loc) · 1.16 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const postcss = require('postcss')
const {
shouldBeTransformed
} = require('./utilities/helper.js')
module.exports = postcss.plugin('postcss-rfs-autopilot', ({
includedRules,
excludedRules,
includedSelectors,
excludedSelectors,
includedUnits,
excludedUnits,
silentConsole
}) => {
const options = {
includedRules: includedRules || [
'*'
],
excludedRules: excludedRules || [],
includedSelectors: includedSelectors || [
'*'
],
excludedSelectors: excludedSelectors || [],
includedUnits: includedUnits || ['px', 'rem'],
excludedUnits: excludedUnits || [],
silentConsole: silentConsole || false
}
// Filter includedRules here with excludedRules
// options.includedRules = filterIdenticalValues(options.includedRules, options.excludedRules)
// options.includedSelectors = filterIdenticalValues(options.includedSelectors, options.excludedSelectors)
// options.includedUnits = filterIdenticalValues(options.includedUnits, options.excludedUnits)
return (root, result) => {
root.walkDecls((decl) => {
if (shouldBeTransformed(decl, options)) {
decl.value = `rfs(${decl.value})`
}
})
}
})