diff --git a/package.json b/package.json index 15bbd17..365c87d 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "postcss-modules-local-by-default": "^1.1.1", "postcss-modules-parser": "^1.1.0", "postcss-modules-scope": "^1.0.2", - "postcss-modules-values": "^1.2.2" + "postcss-modules-values": "^1.2.2", + "postcss-nested": "^1.0.1" }, "description": "Transforms styleName to className using compile time CSS module resolution.", "devDependencies": { diff --git a/src/requireCssModule.js b/src/requireCssModule.js index 28e8703..b7ea0b7 100644 --- a/src/requireCssModule.js +++ b/src/requireCssModule.js @@ -11,6 +11,7 @@ import postcss from 'postcss'; import genericNames from 'generic-names'; import ExtractImports from 'postcss-modules-extract-imports'; import LocalByDefault from 'postcss-modules-local-by-default'; +import Nested from 'postcss-nested'; import Parser from 'postcss-modules-parser'; import Scope from 'postcss-modules-scope'; import Values from 'postcss-modules-values'; @@ -66,6 +67,7 @@ export default (cssSourceFilePath: string, options: OptionsType): StyleModuleMap }; const plugins = [ + Nested, Values, LocalByDefault, ExtractImports, diff --git a/test/fixtures/react-css-modules/resolves styleName from nested class in scss/actual.js b/test/fixtures/react-css-modules/resolves styleName from nested class in scss/actual.js new file mode 100644 index 0000000..b4ccea8 --- /dev/null +++ b/test/fixtures/react-css-modules/resolves styleName from nested class in scss/actual.js @@ -0,0 +1,3 @@ +import './bar.scss'; + +
; diff --git a/test/fixtures/react-css-modules/resolves styleName from nested class in scss/bar.scss b/test/fixtures/react-css-modules/resolves styleName from nested class in scss/bar.scss new file mode 100644 index 0000000..71fe056 --- /dev/null +++ b/test/fixtures/react-css-modules/resolves styleName from nested class in scss/bar.scss @@ -0,0 +1,6 @@ +.a { + background-color: #ffffff; + &_modified { + background-color: #000000; + } +} \ No newline at end of file diff --git a/test/fixtures/react-css-modules/resolves styleName from nested class in scss/expected.js b/test/fixtures/react-css-modules/resolves styleName from nested class in scss/expected.js new file mode 100644 index 0000000..417f11d --- /dev/null +++ b/test/fixtures/react-css-modules/resolves styleName from nested class in scss/expected.js @@ -0,0 +1,3 @@ +import './bar.scss'; + +; diff --git a/test/fixtures/react-css-modules/resolves styleName from nested class in scss/options.json b/test/fixtures/react-css-modules/resolves styleName from nested class in scss/options.json new file mode 100644 index 0000000..9e9fa1f --- /dev/null +++ b/test/fixtures/react-css-modules/resolves styleName from nested class in scss/options.json @@ -0,0 +1,13 @@ +{ + "plugins": [ + [ + "../../../../src", + { + "generateScopedName": "[name]__[local]", + "filetypes": { + ".scss": "postcss-scss" + } + } + ] + ] +}