webpack/css-loader
CSS Loader
30 Releases
Latest: 4mo ago
v7.1.4Latest
🐛 Bug Fixes
- update peer dependency for @rspack/core v2 ([#1652](https://github.com/webpack/css-loader/issues/1652)) ([aeddefe](https://github.com/webpack/css-loader/commit/aeddefee8feb6fe22dd3f98cd2fc2bac50dc7c45))
v7.1.3
🐛 Bug Fixes
- allow to use `module` class name ([#1649](https://github.com/webpack/css-loader/issues/1649)) ([01869bc](https://github.com/webpack/css-loader/commit/01869bcace63d17c4bfafedbc29c11965e62360d))
- use official `createHash` for hashes ([#1618](https://github.com/webpack/css-loader/issues/1618)) ([06587e5](https://github.com/webpack/css-loader/commit/06587e54c6a580ee0c20e47021943aa9989acd5c))
- use official `hash*` options for hashes ([#1619](https://github.com/webpack/css-loader/issues/1619)) ([9544c3e](https://github.com/webpack/css-loader/commit/9544c3e9a90c1c58476d3d87188f8ff39105294f))
v7.1.2
🐛 Bug Fixes
- keep order of `@import`s with the `webpackIgnore` comment ([#1600](https://github.com/webpack-contrib/css-loader/issues/1600)) ([76757ef](https://github.com/webpack-contrib/css-loader/commit/76757ef30ec37f88ccf9d8b82d8d84b7625c5d66))
v7.1.1
🐛 Bug Fixes
- automatically rename class `default` to `_default` when named export is enabled ([#1590](https://github.com/webpack-contrib/css-loader/issues/1590)) ([d6c31a1](https://github.com/webpack-contrib/css-loader/commit/d6c31a17a0dde3e2bcf2b5e55f913c3645d32868))
v7.1.0
✨ Features
- added the `getJSON` option to output CSS modules mapping ([#1577](https://github.com/webpack-contrib/css-loader/issues/1577)) ([af834b4](https://github.com/webpack-contrib/css-loader/commit/af834b43b375f336108d74ff7bd9ed13bc79200a))
v7.0.0
💥 ⚠ BREAKING CHANGES
- The `modules.namedExport` option is `true` by default if you enable the `esModule` option
- Migration guide:
- Before:
- ```js
- import style from "./style.css";
- console.log(style.myClass);
- ```
- After:
- + 22 more
✨ Features
- The `modules.namedExports` option works fine with any `modules.exportLocalsConvention` values ([f96a110](https://github.com/webpack-contrib/css-loader/commit/f96a11007da55a632de7f58167895e1b5814d717))
- Added dashed variants for the `modules.exportLocalsConvention` options ([40e1668](https://github.com/webpack-contrib/css-loader/commit/40e1668b8366f0df63343efe706ba848c2b5dfb2))
v6.11.0
✨ Features
- supports multiple composes ([#1582](https://github.com/webpack-contrib/css-loader/issues/1582)) ([bbca614](https://github.com/webpack-contrib/css-loader/commit/bbca61411dc5f82964653a6d1aa27854519b743d))
🐛 Bug Fixes
- do not break `@scope` at-rule without params ([#1581](https://github.com/webpack-contrib/css-loader/issues/1581)) ([e022e3b](https://github.com/webpack-contrib/css-loader/commit/e022e3bb405472ac7d51ff1114783fc2811dfe04))
v6.10.0
✨ Features
- add `@rspack/core` as an optional peer dependency ([#1568](https://github.com/webpack-contrib/css-loader/issues/1568)) ([3924679](https://github.com/webpack-contrib/css-loader/commit/3924679cb9a8f31996c742290a71a3446c9782b9))
- pass the `resourceQuery` and `resourceFragment` to the `auto` and `mode` callback ([#1569](https://github.com/webpack-contrib/css-loader/issues/1569)) ([d641c4d](https://github.com/webpack-contrib/css-loader/commit/d641c4d48264518dfeb77d7e1e8ef03bbb09b645))
- support named exports with any characters ([6f43929](https://github.com/webpack-contrib/css-loader/commit/6f439299838eab7e6fb18f6e9f47b9dee2208463))
v6.9.1
🐛 Bug Fixes
- css nesting support
- `@scope` at-rule support
v6.9.0
✨ Features
- updated generateExportEntry to expose node details ([#1556](https://github.com/webpack-contrib/css-loader/issues/1556)) ([05002f3](https://github.com/webpack-contrib/css-loader/commit/05002f39e29afd7e12f9efca4d073bc23e3d2150))
🐛 Bug Fixes
- css experiment detection ([#1559](https://github.com/webpack-contrib/css-loader/issues/1559)) ([f2cfe30](https://github.com/webpack-contrib/css-loader/commit/f2cfe30a8f6b0053a268c0d9c1943bb3c8f01338))
v6.8.1
🐛 Bug Fixes
- use `cause` for original errors and warnings ([#1526](https://github.com/webpack-contrib/css-loader/issues/1526)) ([ae3d8ae](https://github.com/webpack-contrib/css-loader/commit/ae3d8ae54ecb5706fe9c3449487cc8306699469f))
v6.8.0
✨ Features
- use template literal when it possible to prevent `Maximum call stack size exceeded` ([#1525](https://github.com/webpack-contrib/css-loader/issues/1525)) ([6eb5661](https://github.com/webpack-contrib/css-loader/commit/6eb56618185e974abf339c952c263cc7b8a9a066))
🐛 Bug Fixes
- warning and error serialization ([#1523](https://github.com/webpack-contrib/css-loader/issues/1523)) ([3e52969](https://github.com/webpack-contrib/css-loader/commit/3e52969f0f6b1c9d4d16db41ebff8804b340742c))
v6.7.4
🐛 Bug Fixes
- bugs in css modules ([c3099fb](https://github.com/webpack-contrib/css-loader/commit/c3099fb0cf03927f879f911ab5f51d9edc20d871))
- output warning when built-in CSS support enabled ([#1520](https://github.com/webpack-contrib/css-loader/issues/1520)) ([0700ce8](https://github.com/webpack-contrib/css-loader/commit/0700ce8cfab2f25d538eaa2309ae80e1a097a6c1))
v6.7.3
🐛 Bug Fixes
- remove `sourceURL` from emitted CSS ([#1487](https://github.com/webpack-contrib/css-loader/issues/1487)) ([962924c](https://github.com/webpack-contrib/css-loader/commit/962924c79e274be9f6f81d39eac651c1a4876bc2))
v6.7.2
🐛 Bug Fixes
- css modules generation with inline syntax ([#1480](https://github.com/webpack-contrib/css-loader/issues/1480)) ([2f4c273](https://github.com/webpack-contrib/css-loader/commit/2f4c27399fdadace5af221ae8df95a36642a377e))
v6.7.1
🐛 Bug Fixes
- defaultGetLocalIdent export ([#1427](https://github.com/webpack-contrib/css-loader/issues/1427)) ([74dac1e](https://github.com/webpack-contrib/css-loader/commit/74dac1e428569236d386ff4e0f971e35c334087a))
v6.7.0
✨ Features
- re-export defaultGetLocalIdent ([#1423](https://github.com/webpack-contrib/css-loader/issues/1423)) ([207cf36](https://github.com/webpack-contrib/css-loader/commit/207cf36d541423f12a8d6680b21530c52a2f07d5))
v6.6.0
✨ Features
- added the `hashStrategy` option ([ca4abce](https://github.com/webpack-contrib/css-loader/commit/ca4abce74d01bc13959e30a4dbbd1ca3a0516d72))
v6.5.1
🐛 Bug Fixes
- regression with unicode characters in locals ([b7a8441](https://github.com/webpack-contrib/css-loader/commit/b7a84414fb3f6e6ff413cbbb7004fa74a78da331))
- runtime path generation ([#1393](https://github.com/webpack-contrib/css-loader/issues/1393)) ([feafea8](https://github.com/webpack-contrib/css-loader/commit/feafea812a95db05e9b52beaced0def611bba5c8))
v6.5.0
✨ Features
- support absolute URL in `url()` when `experiments.buildHttp` enabled ([#1389](https://github.com/webpack-contrib/css-loader/issues/1389)) ([8946be4](https://github.com/webpack-contrib/css-loader/commit/8946be4d0f2c0237cd5fa846d67d469ff20058a4))
🐛 Bug Fixes
- respect `nosources` in the `devtool` option ([c60eff2](https://github.com/webpack-contrib/css-loader/commit/c60eff212337c8a65995f6675d25f49bb515e77d))
v6.4.0
✨ Features
- generate more collision resistant for locals ([c7db752](https://github.com/webpack-contrib/css-loader/commit/c7db752fe6a9c7ff28d165fd24a37be08ef83af5))
🐛 Bug Fixes
- classes generation for client and server bundling ([303a3a1](https://github.com/webpack-contrib/css-loader/commit/303a3a171793cf1044c131e291f5c29f9ab86c77))
v6.3.0
✨ Features
- added `[folder]` placeholder ([a0dee4f](https://github.com/webpack-contrib/css-loader/commit/a0dee4fd34dd1b9892dac7645a4e57ec134e561b))
- added the `exportType` option with `'array'`, `'string'` and `'css-style-sheet'` values ([c6d2066](https://github.com/webpack-contrib/css-loader/commit/c6d20664ca03226ace26b9766e484e437ec74f60))
- `'array'` - the default export is `Array` with API for `style-loader` and other
- `'string'` - the default export is `String` you don't need [`to-string-loader`](https://www.npmjs.com/package/to-string-loader) loader anymore
- `'css-style-sheet'` - the default export is a [`constructable stylesheet`](https://developers.google.com/web/updates/2019/02/constructable-stylesheets), you can use `import sheet from './styles.css' assert { type: 'css' };` like in a browser, more information you can find [here](https://github.com/webpack-contrib/css-loader#css-style-sheet)
- supported `supports()` and `layer()` functions in `@import` at-rules ([#1377](https://github.com/webpack-contrib/css-loader/issues/1377)) ([bce2c17](https://github.com/webpack-contrib/css-loader/commit/bce2c17524290591be243829187f909a0ae5a6f7))
- fix multiple merging multiple `@media` at-rules ([#1377](https://github.com/webpack-contrib/css-loader/issues/1377)) ([bce2c17](https://github.com/webpack-contrib/css-loader/commit/bce2c17524290591be243829187f909a0ae5a6f7))
🐛 Bug Fixes
- reduce runtime ([#1378](https://github.com/webpack-contrib/css-loader/issues/1378)) ([cf3a3a7](https://github.com/webpack-contrib/css-loader/commit/cf3a3a7346aa73637ee6aae6fef5648965c31a47))
v6.2.0
✨ Features
- allow the `exportLocalsConvention` option can be a function useful for named export ([#1351](https://github.com/webpack-contrib/css-loader/issues/1351)) ([3c4b357](https://github.com/webpack-contrib/css-loader/commit/3c4b35718273baaf9e0480db715b596fbe5d7453))
v6.1.0
✨ Features
- add `link` in schema ([#1345](https://github.com/webpack-contrib/css-loader/issues/1345)) ([7d4e493](https://github.com/webpack-contrib/css-loader/commit/7d4e4931390f9e9356af45ae03057d1505d73109))
🐛 Bug Fixes
- respect the `localIdentRegExp` option ([#1349](https://github.com/webpack-contrib/css-loader/issues/1349)) ([42f150b](https://github.com/webpack-contrib/css-loader/commit/42f150b429afad9b0851d2e6bd75cec120885aa4))
v6.0.0
📦 Notes
- using `~` is deprecated when the `esModules` option is enabled (enabled by default) and can be removed from your code (we recommend it) (`url(~package/image.png)` -> `url(package/image.png)`, `@import url(~package/style.css)` -> `@import url(package/style.css)`, `composes: import from '~package/one.css';` -> `composes: import from 'package/one.css';`), but we still support it for historical reasons. Why can you remove it? The loader will first try to resolve `@import`/`url()`/etc as relative, if it cannot be resolved, the loader will try to resolve `@import`/`url()`/etc inside [`node_modules` or modules directories](https://webpack.js.org/configuration/resolve/#resolvemodules).
- `file-loader` and `url-loader` are deprecated, please migrate on [`asset modules`](https://webpack.js.org/guides/asset-modules/), since v6 `css-loader` is generating `new URL(...)` syntax, it enables by default built-in [`assets modules`](https://webpack.js.org/guides/asset-modules/), i.e. `type: 'asset'` for all `url()`
💥 ⚠ BREAKING CHANGES
- minimum supported `Node.js` version is `12.13.0`
- minimum supported `webpack` version is `5`, we recommend to update to the latest version for better performance
- for `url` and `import` options `Function` type was removed in favor `Object` type with the `filter` property, i.e. before `{ url: () => true }`, now `{ url: { filter: () => true } }` and before `{ import: () => true }`, now `{ import: { filter: () => true } }`
- the `modules.compileType` option was removed in favor the `modules.mode` option with `icss` value, also the `modules` option can have `icss` string value
- `new URL()` syntax used for `url()`, only when the `esModules` option is enabled (enabled by default), it means you can bundle CSS for libraries
- [data URI](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) are handling in `url()`, it means you can register loaders for them, [example](https://webpack.js.org/configuration/module/#rulescheme)
- aliases with `false` value for `url()` now generate empty data URI (i.e. `data:0,`), only when the `esModules` option is enabled (enabled by default)
- `[ext]` placeholder don't need `.` (dot) before for the `localIdentName` option, i.e. please change `.[ext]` on `[ext]` (no dot before)
- + 3 more
✨ Features
- supported [`resolve.byDependency.css`](https://webpack.js.org/configuration/resolve/#resolvebydependency) resolve options for `@import`
- supported [`resolve.byDependency.icss`](https://webpack.js.org/configuration/resolve/#resolvebydependency) resolve CSS modules and ICSS imports (i.e. `composes`/etc)
- added `modules.localIdentHashFunction`, `modules.localIdentHashDigest`, `modules.localIdentHashDigestLength` options for better class hashing controlling
- less dependencies
🐛 Bug Fixes
- better performance
- fixed circular `@import`
v5.2.7
🐛 Bug Fixes
- fix crash when source map is unavailable with external URL in `[@import](https://github.com/import)` ([bb76fe4](https://github.com/webpack-contrib/css-loader/commit/bb76fe48a198e74cacf29ad4b1c01d485f4db11f))
v5.2.6
🐛 Bug Fixes
- always write locals export when css modules/icss enabled ([#1315](https://github.com/webpack-contrib/css-loader/issues/1315)) ([075d9bd](https://github.com/webpack-contrib/css-loader/commit/075d9bd044a78543479cbf10ccd3c386a3e434e6))
v5.2.5
🐛 Bug Fixes
- compatibility with named export and es5 ([#1314](https://github.com/webpack-contrib/css-loader/issues/1314)) ([0cf8cde](https://github.com/webpack-contrib/css-loader/commit/0cf8cdedd8667b1ba13d3b4322087943a25176f6))
v5.2.4
🐛 Bug Fixes
- do not crash on 'false' aliases ([#1292](https://github.com/webpack-contrib/css-loader/issues/1292)) ([e913cb1](https://github.com/webpack-contrib/css-loader/commit/e913cb1d73a4f5c3c4464e0446a885e9f677a005))
v5.2.3
🐛 Bug Fixes
- improve performance
