This plugin integrates babel-plugin-react-css-modules into the core of Laravel Mix. Shoutout to both @JeffreyWay and @gajus for their outstanding work!
Just import the package and it will automagically attach itself to Laravel Mix. Then just call reactCSSModules
and all CSS files will be correctly processed.
let mix = require('laravel-mix');
require('laravel-mix-react-css-modules');
mix.react('resources/assets/app.js', 'public/js')
.reactCSSModules();
It is also possible to modify the way a classname is generated, by supplying a new syntax to the function. Check this to see how the syntax works.
let mix = require('laravel-mix');
require('laravel-mix-react-css-modules');
// DEFAULT: [name]__[local]___[hash:base64:5]
mix.react('resources/assets/app.js', 'public/js')
.reactCSSModules('[path]__[name]___[hash:base64]');