diff --git a/package.json b/package.json index e5743b3..749188d 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.0" }, "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 nested styles/actual.js b/test/fixtures/react-css-modules/resolves nested styles/actual.js new file mode 100644 index 0000000..c0e8179 --- /dev/null +++ b/test/fixtures/react-css-modules/resolves nested styles/actual.js @@ -0,0 +1,3 @@ +import './bar.css'; + +
; diff --git a/test/fixtures/react-css-modules/resolves nested styles/bar.css b/test/fixtures/react-css-modules/resolves nested styles/bar.css new file mode 100644 index 0000000..bba2d85 --- /dev/null +++ b/test/fixtures/react-css-modules/resolves nested styles/bar.css @@ -0,0 +1,3 @@ +.a { + &-b: {} +} diff --git a/test/fixtures/react-css-modules/resolves nested styles/expected.js b/test/fixtures/react-css-modules/resolves nested styles/expected.js new file mode 100644 index 0000000..2c0128c --- /dev/null +++ b/test/fixtures/react-css-modules/resolves nested styles/expected.js @@ -0,0 +1,3 @@ +import './bar.css'; + +
; diff --git a/test/fixtures/react-css-modules/resolves nested styles/options.json b/test/fixtures/react-css-modules/resolves nested styles/options.json new file mode 100644 index 0000000..6f54db7 --- /dev/null +++ b/test/fixtures/react-css-modules/resolves nested styles/options.json @@ -0,0 +1,10 @@ +{ + "plugins": [ + [ + "../../../../src", + { + "generateScopedName": "[name]__[local]" + } + ] + ] +}