@@ -25,7 +25,10 @@ module.exports = {
2525 use: [
2626 " style-loader" ,
2727 " @teamsupercell/typings-for-css-modules-loader" ,
28- " css-loader"
28+ {
29+ loader: " css-loader" ,
30+ options: { modules: true }
31+ }
2932 ]
3033 }
3134 ]
@@ -59,7 +62,10 @@ module.exports = {
5962 " // autogenerated by typings-for-css-modules-loader. \n // Please do not change this file!"
6063 }
6164 },
62- " css-loader"
65+ {
66+ loader: " css-loader" ,
67+ options: { modules: true }
68+ }
6369 ]
6470 }
6571 ]
@@ -84,7 +90,10 @@ module.exports = {
8490 formatter: " prettier"
8591 }
8692 },
87- " css-loader"
93+ {
94+ loader: " css-loader" ,
95+ options: { modules: true }
96+ }
8897 ]
8998 }
9099 ]
@@ -110,7 +119,10 @@ module.exports = {
110119 eol: " \r\n "
111120 }
112121 },
113- " css-loader"
122+ {
123+ loader: " css-loader" ,
124+ options: { modules: true }
125+ }
114126 ]
115127 }
116128 ]
@@ -167,6 +179,46 @@ console.log(locals.someOtherClass);
167179
168180![ typed-css-modules] ( https://cloud.githubusercontent.com/assets/749171/16340497/c1cb6888-3a28-11e6-919b-f2f51a282bba.gif )
169181
182+ ## Upgrade from v1:
183+ - Update webpack config
184+ - This package no longer replaces ` css-loader ` , but it has to be added alongside ` css-loader ` :
185+ - ` css-loader ` is no longer a peer dependency due to the change above
186+ - ` css-loader ` will need to be configured to output CSS Modules (e.g. ` options: { modules: true; } ` )
187+ ``` diff
188+ module.exports = {
189+ module: {
190+ rules: [
191+ {
192+ test: /\.css$/i,
193+ use: [
194+ "style-loader",
195+ {
196+ loader: "@teamsupercell/typings-for-css-modules-loader",
197+ options: {
198+ // pass all the options for `css-loader` to `css-loader`, eg.
199+ - namedExport: true,
200+ - modules: true
201+ }
202+ },
203+ + {
204+ + loader: "css-loader",
205+ + options: {
206+ + modules: true
207+ + }
208+ + },
209+ ]
210+ }
211+ ]
212+ }
213+ };
214+ ```
215+ - Ensure all the typescript files import styles as default
216+ ``` diff
217+ - import * as styles from './styles.css';
218+ + import styles from './styles.css';
219+ ```
220+ - Add ` allowSyntheticDefaultImports ` TypeScript compiler option if there are type errors related to default imports
221+
170222## Support
171223
172224As the loader just acts as an intermediary it can handle all kind of css preprocessors (` sass ` , ` scss ` , ` stylus ` , ` less ` , ...).
0 commit comments