Skip to content

Commit 84d957c

Browse files
feat: added the implementation option
1 parent 7bd4618 commit 84d957c

9 files changed

+626
-741
lines changed

README.md

Lines changed: 44 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ module.exports = {
3333
module: {
3434
rules: [
3535
{
36-
test: /\.less$/,
36+
test: /\.less$/i,
3737
loader: "less-loader", // compiles Less to CSS
3838
},
3939
],
@@ -51,6 +51,7 @@ And run `webpack` via your preferred method.
5151
| **[`additionalData`](#additionalData)** | `{String\|Function}` | `undefined` | Prepends/Appends `Less` code to the actual entry file. |
5252
| **[`sourceMap`](#sourcemap)** | `{Boolean}` | `compiler.devtool` | Enables/Disables generation of source maps. |
5353
| **[`webpackImporter`](#webpackimporter)** | `{Boolean}` | `true` | Enables/Disables the default Webpack importer. |
54+
| **[`implementation`](#implementation)** | `{Object}` | `less` | Setup Less implementation to use. |
5455

5556
### `lessOptions`
5657

@@ -70,7 +71,7 @@ module.exports = {
7071
module: {
7172
rules: [
7273
{
73-
test: /\.less$/,
74+
test: /\.less$/i,
7475
use: [
7576
{
7677
loader: "style-loader",
@@ -102,7 +103,7 @@ module.exports = {
102103
module: {
103104
rules: [
104105
{
105-
test: /\.less$/,
106+
test: /\.less$/i,
106107
use: [
107108
"style-loader",
108109
"css-loader",
@@ -152,7 +153,7 @@ module.exports = {
152153
module: {
153154
rules: [
154155
{
155-
test: /\.less$/,
156+
test: /\.less$/i,
156157
use: [
157158
"style-loader",
158159
"css-loader",
@@ -178,7 +179,7 @@ module.exports = {
178179
module: {
179180
rules: [
180181
{
181-
test: /\.less$/,
182+
test: /\.less$/i,
182183
use: [
183184
"style-loader",
184185
"css-loader",
@@ -212,7 +213,7 @@ module.exports = {
212213
module: {
213214
rules: [
214215
{
215-
test: /\.less$/,
216+
test: /\.less$/i,
216217
use: [
217218
"style-loader",
218219
"css-loader",
@@ -308,6 +309,40 @@ module.exports = {
308309
};
309310
```
310311

312+
### `implementation`
313+
314+
Type: `Object`
315+
316+
> ⚠ less-loader compatible with Less 3 and 4 versions
317+
318+
The special `implementation` option determines which implementation of Less to use. Overrides the locally installed `peerDependency` version of `less`.
319+
320+
**This option is only really useful for downstream tooling authors to ease the Less 3-to-4 transition.**
321+
322+
**webpack.config.js**
323+
324+
```js
325+
module.exports = {
326+
module: {
327+
rules: [
328+
{
329+
test: /\.less$/i,
330+
use: [
331+
"style-loader",
332+
"css-loader",
333+
{
334+
loader: "less-loader",
335+
options: {
336+
implementation: require("less"),
337+
},
338+
},
339+
],
340+
},
341+
],
342+
},
343+
};
344+
```
345+
311346
## Examples
312347

313348
### Normal usage
@@ -321,7 +356,7 @@ module.exports = {
321356
module: {
322357
rules: [
323358
{
324-
test: /\.less$/,
359+
test: /\.less$/i,
325360
use: [
326361
{
327362
loader: "style-loader", // creates style nodes from JS strings
@@ -353,7 +388,7 @@ module.exports = {
353388
module: {
354389
rules: [
355390
{
356-
test: /\.less$/,
391+
test: /\.less$/i,
357392
use: [
358393
"style-loader",
359394
{
@@ -406,7 +441,7 @@ module.exports = {
406441
module: {
407442
rules: [
408443
{
409-
test: /\.less$/,
444+
test: /\.less$/i,
410445
use: [
411446
{
412447
loader: "style-loader",

0 commit comments

Comments
 (0)