diff --git a/src/index.js b/src/index.js index 709b1cd..5af4818 100644 --- a/src/index.js +++ b/src/index.js @@ -128,6 +128,15 @@ const processor = postcss.plugin('postcss-modules-scope', function(options) { // Find any :local classes css.walkRules(rule => { + if ( + rule.nodes && + rule.selector.slice(0, 2) === '--' && + rule.selector.slice(-1) === ':' + ) { + // ignore custom property set + return; + } + let parsedSelector = selectorParser().astSync(rule); rule.selector = traverseNode(parsedSelector.clone()).toString(); diff --git a/test/test-cases/ignore-custom-property-set/expected.css b/test/test-cases/ignore-custom-property-set/expected.css new file mode 100644 index 0000000..5d4cb10 --- /dev/null +++ b/test/test-cases/ignore-custom-property-set/expected.css @@ -0,0 +1,6 @@ +:root { + --title-align: center; + --sr-only: { + position: absolute; + } +} diff --git a/test/test-cases/ignore-custom-property-set/source.css b/test/test-cases/ignore-custom-property-set/source.css new file mode 100644 index 0000000..5d4cb10 --- /dev/null +++ b/test/test-cases/ignore-custom-property-set/source.css @@ -0,0 +1,6 @@ +:root { + --title-align: center; + --sr-only: { + position: absolute; + } +}