sass-loader 11.0.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -7
- package/dist/utils.js +91 -33
- package/package.json +31 -31
- package/CHANGELOG.md +0 -560
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img height="
|
|
2
|
+
<img height="170"
|
|
3
3
|
src="https://worldvectorlogo.com/logos/sass-1.svg">
|
|
4
4
|
<a href="https://github.com/webpack/webpack">
|
|
5
5
|
<img width="200" height="200"
|
|
@@ -31,9 +31,9 @@ npm install sass-loader sass webpack --save-dev
|
|
|
31
31
|
|
|
32
32
|
This allows you to control the versions of all your dependencies, and to choose which Sass implementation to use.
|
|
33
33
|
|
|
34
|
-
> ℹ️ We recommend using [Dart Sass](https://github.com/sass/dart-sass).
|
|
34
|
+
> ℹ️ We highly recommend using [Dart Sass](https://github.com/sass/dart-sass).
|
|
35
35
|
|
|
36
|
-
> ⚠ [Node Sass](https://github.com/sass/node-sass) does not work with [Yarn PnP](https://classic.yarnpkg.com/en/docs/pnp/) feature.
|
|
36
|
+
> ⚠ [Node Sass](https://github.com/sass/node-sass) does not work with [Yarn PnP](https://classic.yarnpkg.com/en/docs/pnp/) feature and doesn't support [@use rule](https://sass-lang.com/documentation/at-rules/use).
|
|
37
37
|
|
|
38
38
|
Chain the `sass-loader` with the [css-loader](https://github.com/webpack-contrib/css-loader) and the [style-loader](https://github.com/webpack-contrib/style-loader) to immediately apply all styles to the DOM or the [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) to extract it into a separate file.
|
|
39
39
|
|
|
@@ -91,14 +91,15 @@ Thus you can import your Sass modules from `node_modules`.
|
|
|
91
91
|
```
|
|
92
92
|
|
|
93
93
|
Using `~` is deprecated and can be removed from your code (**we recommend it**), but we still support it for historical reasons.
|
|
94
|
-
Why you
|
|
95
|
-
|
|
94
|
+
Why can you remove it? The loader will first try to resolve `@import` as a relative path. If it cannot be resolved, then the loader will try to resolve `@import` inside [`node_modules`](https://webpack.js.org/configuration/resolve/#resolvemodules).
|
|
95
|
+
|
|
96
|
+
Prepending module paths with a `~` tells webpack to search through [`node_modules`](https://webpack.js.org/configuration/resolve/#resolvemodules).
|
|
96
97
|
|
|
97
98
|
```scss
|
|
98
99
|
@import "~bootstrap";
|
|
99
100
|
```
|
|
100
101
|
|
|
101
|
-
It's important to
|
|
102
|
+
It's important to prepend it with only `~`, because `~/` resolves to the home directory.
|
|
102
103
|
Webpack needs to distinguish between `bootstrap` and `~bootstrap` because CSS and Sass files have no special syntax for importing relative files.
|
|
103
104
|
Writing `@import "style.scss"` is the same as `@import "./style.scss";`
|
|
104
105
|
|
|
@@ -195,7 +196,9 @@ module.exports = {
|
|
|
195
196
|
Note that when using `sass` (`Dart Sass`), **synchronous compilation is twice as fast as asynchronous compilation** by default, due to the overhead of asynchronous callbacks.
|
|
196
197
|
To avoid this overhead, you can use the [fibers](https://www.npmjs.com/package/fibers) package to call asynchronous importers from the synchronous code path.
|
|
197
198
|
|
|
198
|
-
We automatically inject the [`fibers`](https://github.com/laverdet/node-fibers) package (setup `sassOptions.fiber`) if is possible (i.e. you need install the [`fibers`](https://github.com/laverdet/node-fibers) package).
|
|
199
|
+
We automatically inject the [`fibers`](https://github.com/laverdet/node-fibers) package (setup `sassOptions.fiber`) for `Node.js` less v16.0.0 if is possible (i.e. you need install the [`fibers`](https://github.com/laverdet/node-fibers) package).
|
|
200
|
+
|
|
201
|
+
> Fibers is not compatible with `Node.js` v16.0.0 or later ([see introduction to readme](https://github.com/laverdet/node-fibers)).
|
|
199
202
|
|
|
200
203
|
**package.json**
|
|
201
204
|
|
package/dist/utils.js
CHANGED
|
@@ -9,6 +9,7 @@ exports.getWebpackResolver = getWebpackResolver;
|
|
|
9
9
|
exports.getWebpackImporter = getWebpackImporter;
|
|
10
10
|
exports.getRenderFunctionFromSassImplementation = getRenderFunctionFromSassImplementation;
|
|
11
11
|
exports.normalizeSourceMap = normalizeSourceMap;
|
|
12
|
+
exports.isSupportedFibers = isSupportedFibers;
|
|
12
13
|
|
|
13
14
|
var _url = _interopRequireDefault(require("url"));
|
|
14
15
|
|
|
@@ -39,9 +40,7 @@ function getDefaultSassImplementation() {
|
|
|
39
40
|
return require(sassImplPkg);
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
42
|
-
*
|
|
43
|
-
* This function is not Webpack-specific and can be used by tools wishing to
|
|
44
|
-
* mimic `sass-loader`'s behaviour, so its signature should not be changed.
|
|
43
|
+
* This function is not Webpack-specific and can be used by tools wishing to mimic `sass-loader`'s behaviour, so its signature should not be changed.
|
|
45
44
|
*/
|
|
46
45
|
|
|
47
46
|
|
|
@@ -85,6 +84,11 @@ function getSassImplementation(loaderContext, implementation) {
|
|
|
85
84
|
|
|
86
85
|
loaderContext.emitError(new Error(`Unknown Sass implementation "${implementationName}".`));
|
|
87
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* @param {any} loaderContext
|
|
89
|
+
* @returns {boolean}
|
|
90
|
+
*/
|
|
91
|
+
|
|
88
92
|
|
|
89
93
|
function isProductionLikeMode(loaderContext) {
|
|
90
94
|
return loaderContext.mode === "production" || !loaderContext.mode;
|
|
@@ -92,10 +96,17 @@ function isProductionLikeMode(loaderContext) {
|
|
|
92
96
|
|
|
93
97
|
function proxyCustomImporters(importers, loaderContext) {
|
|
94
98
|
return [].concat(importers).map(importer => function proxyImporter(...args) {
|
|
95
|
-
|
|
96
|
-
|
|
99
|
+
const self = { ...this,
|
|
100
|
+
webpackLoaderContext: loaderContext
|
|
101
|
+
};
|
|
102
|
+
return importer.apply(self, args);
|
|
97
103
|
});
|
|
98
104
|
}
|
|
105
|
+
|
|
106
|
+
function isSupportedFibers() {
|
|
107
|
+
const [nodeVersion] = process.versions.node.split(".");
|
|
108
|
+
return Number(nodeVersion) < 16;
|
|
109
|
+
}
|
|
99
110
|
/**
|
|
100
111
|
* Derives the sass options from the loader context and normalizes its values with sane defaults.
|
|
101
112
|
*
|
|
@@ -112,7 +123,7 @@ async function getSassOptions(loaderContext, loaderOptions, content, implementat
|
|
|
112
123
|
const options = (0, _full.klona)(loaderOptions.sassOptions ? typeof loaderOptions.sassOptions === "function" ? loaderOptions.sassOptions(loaderContext) || {} : loaderOptions.sassOptions : {});
|
|
113
124
|
const isDartSass = implementation.info.includes("dart-sass");
|
|
114
125
|
|
|
115
|
-
if (isDartSass) {
|
|
126
|
+
if (isDartSass && isSupportedFibers()) {
|
|
116
127
|
const shouldTryToResolveFibers = !options.fiber && options.fiber !== false;
|
|
117
128
|
|
|
118
129
|
if (shouldTryToResolveFibers) {
|
|
@@ -175,7 +186,9 @@ async function getSassOptions(loaderContext, loaderOptions, content, implementat
|
|
|
175
186
|
options.includePaths = [].concat(process.cwd()).concat( // We use `includePaths` in context for resolver, so it should be always absolute
|
|
176
187
|
(options.includePaths || []).map(includePath => _path.default.isAbsolute(includePath) ? includePath : _path.default.join(process.cwd(), includePath))).concat(process.env.SASS_PATH ? process.env.SASS_PATH.split(process.platform === "win32" ? ";" : ":") : []);
|
|
177
188
|
return options;
|
|
178
|
-
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
const MODULE_REQUEST_REGEX = /^[^?]*~/; // Examples:
|
|
179
192
|
// - ~package
|
|
180
193
|
// - ~package/
|
|
181
194
|
// - ~@org
|
|
@@ -183,9 +196,7 @@ async function getSassOptions(loaderContext, loaderOptions, content, implementat
|
|
|
183
196
|
// - ~@org/package
|
|
184
197
|
// - ~@org/package/
|
|
185
198
|
|
|
186
|
-
|
|
187
|
-
const isModuleImport = /^~([^/]+|[^/]+\/|@[^/]+[/][^/]+|@[^/]+\/?|@[^/]+[/][^/]+\/)$/;
|
|
188
|
-
const MODULE_REQUEST_REGEX = /^[^?]*~/;
|
|
199
|
+
const IS_MODULE_IMPORT = /^~([^/]+|[^/]+\/|@[^/]+[/][^/]+|@[^/]+\/?|@[^/]+[/][^/]+\/)$/;
|
|
189
200
|
/**
|
|
190
201
|
* When `sass`/`node-sass` tries to resolve an import, it uses a special algorithm.
|
|
191
202
|
* Since the `sass-loader` uses webpack to resolve the modules, we need to simulate that algorithm.
|
|
@@ -197,12 +208,12 @@ const MODULE_REQUEST_REGEX = /^[^?]*~/;
|
|
|
197
208
|
*
|
|
198
209
|
* @param {string} url
|
|
199
210
|
* @param {boolean} forWebpackResolver
|
|
200
|
-
* @param {
|
|
211
|
+
* @param {boolean} fromImport
|
|
201
212
|
* @returns {Array<string>}
|
|
202
213
|
*/
|
|
203
214
|
|
|
204
215
|
function getPossibleRequests( // eslint-disable-next-line no-shadow
|
|
205
|
-
url, forWebpackResolver = false) {
|
|
216
|
+
url, forWebpackResolver = false, fromImport = false) {
|
|
206
217
|
let request = url; // In case there is module request, send this to webpack resolver
|
|
207
218
|
|
|
208
219
|
if (forWebpackResolver) {
|
|
@@ -210,7 +221,7 @@ url, forWebpackResolver = false) {
|
|
|
210
221
|
request = request.replace(MODULE_REQUEST_REGEX, "");
|
|
211
222
|
}
|
|
212
223
|
|
|
213
|
-
if (
|
|
224
|
+
if (IS_MODULE_IMPORT.test(url)) {
|
|
214
225
|
request = request[request.length - 1] === "/" ? request : `${request}/`;
|
|
215
226
|
return [...new Set([request, url])];
|
|
216
227
|
}
|
|
@@ -218,7 +229,7 @@ url, forWebpackResolver = false) {
|
|
|
218
229
|
// @see https://github.com/webpack-contrib/sass-loader/issues/167
|
|
219
230
|
|
|
220
231
|
|
|
221
|
-
const
|
|
232
|
+
const extension = _path.default.extname(request).toLowerCase(); // Because @import is also defined in CSS, Sass needs a way of compiling plain CSS @imports without trying to import the files at compile time.
|
|
222
233
|
// To accomplish this, and to ensure SCSS is as much of a superset of CSS as possible, Sass will compile any @imports with the following characteristics to plain CSS imports:
|
|
223
234
|
// - imports where the URL ends with .css.
|
|
224
235
|
// - imports where the URL begins http:// or https://.
|
|
@@ -228,15 +239,19 @@ url, forWebpackResolver = false) {
|
|
|
228
239
|
// The `node-sass` package sends `@import` ending on `.css` to importer, it is bug, so we skip resolve
|
|
229
240
|
|
|
230
241
|
|
|
231
|
-
if (
|
|
242
|
+
if (extension === ".css") {
|
|
232
243
|
return [];
|
|
233
244
|
}
|
|
234
245
|
|
|
235
246
|
const dirname = _path.default.dirname(request);
|
|
236
247
|
|
|
248
|
+
const normalizedDirname = dirname === "." ? "" : `${dirname}/`;
|
|
249
|
+
|
|
237
250
|
const basename = _path.default.basename(request);
|
|
238
251
|
|
|
239
|
-
|
|
252
|
+
const basenameWithoutExtension = _path.default.basename(request, extension);
|
|
253
|
+
|
|
254
|
+
return [...new Set([].concat(fromImport ? [`${normalizedDirname}_${basenameWithoutExtension}.import${extension}`, `${normalizedDirname}${basenameWithoutExtension}.import${extension}`] : []).concat([`${normalizedDirname}_${basename}`, `${normalizedDirname}${basename}`]).concat(forWebpackResolver ? [url] : []))];
|
|
240
255
|
}
|
|
241
256
|
|
|
242
257
|
function promiseResolve(callbackResolve) {
|
|
@@ -268,12 +283,11 @@ const IS_NATIVE_WIN32_PATH = /^[a-z]:[/\\]|^\\\\/i;
|
|
|
268
283
|
* @param {Object} implementation - The imported Sass implementation, both
|
|
269
284
|
* `sass` (Dart Sass) and `node-sass` are supported.
|
|
270
285
|
* @param {string[]} [includePaths] - The list of include paths passed to Sass.
|
|
271
|
-
* @param {boolean} [rootContext] - The configured Webpack root context.
|
|
272
286
|
*
|
|
273
287
|
* @throws If a compatible Sass implementation cannot be found.
|
|
274
288
|
*/
|
|
275
289
|
|
|
276
|
-
function getWebpackResolver(resolverFactory, implementation, includePaths = []
|
|
290
|
+
function getWebpackResolver(resolverFactory, implementation, includePaths = []) {
|
|
277
291
|
async function startResolving(resolutionMap) {
|
|
278
292
|
if (resolutionMap.length === 0) {
|
|
279
293
|
return Promise.reject();
|
|
@@ -308,8 +322,16 @@ function getWebpackResolver(resolverFactory, implementation, includePaths = [],
|
|
|
308
322
|
}
|
|
309
323
|
}
|
|
310
324
|
|
|
311
|
-
const isDartSass = implementation.info.includes("dart-sass");
|
|
312
|
-
|
|
325
|
+
const isDartSass = implementation.info.includes("dart-sass"); // We only have one difference with the built-in sass resolution logic and out resolution logic:
|
|
326
|
+
// First, we look at the files starting with `_`, then without `_` (i.e. `_name.sass`, `_name.scss`, `_name.css`, `name.sass`, `name.scss`, `name.css`),
|
|
327
|
+
// although `sass` look together by extensions (i.e. `_name.sass`/`name.sass`/`_name.scss`/`name.scss`/`_name.css`/`name.css`).
|
|
328
|
+
// It shouldn't be a problem because `sass` throw errors:
|
|
329
|
+
// - on having `_name.sass` and `name.sass` (extension can be `sass`, `scss` or `css`) in the same directory
|
|
330
|
+
// - on having `_name.sass` and `_name.scss` in the same directory
|
|
331
|
+
//
|
|
332
|
+
// Also `sass` prefer `sass`/`scss` over `css`.
|
|
333
|
+
|
|
334
|
+
const sassModuleResolve = promiseResolve(resolverFactory({
|
|
313
335
|
alias: [],
|
|
314
336
|
aliasFields: [],
|
|
315
337
|
conditionNames: [],
|
|
@@ -322,7 +344,20 @@ function getWebpackResolver(resolverFactory, implementation, includePaths = [],
|
|
|
322
344
|
restrictions: [/\.((sa|sc|c)ss)$/i],
|
|
323
345
|
preferRelative: true
|
|
324
346
|
}));
|
|
325
|
-
const
|
|
347
|
+
const sassImportResolve = promiseResolve(resolverFactory({
|
|
348
|
+
alias: [],
|
|
349
|
+
aliasFields: [],
|
|
350
|
+
conditionNames: [],
|
|
351
|
+
descriptionFiles: [],
|
|
352
|
+
extensions: [".sass", ".scss", ".css"],
|
|
353
|
+
exportsFields: [],
|
|
354
|
+
mainFields: [],
|
|
355
|
+
mainFiles: ["_index.import", "_index", "index.import", "index"],
|
|
356
|
+
modules: [],
|
|
357
|
+
restrictions: [/\.((sa|sc|c)ss)$/i],
|
|
358
|
+
preferRelative: true
|
|
359
|
+
}));
|
|
360
|
+
const webpackModuleResolve = promiseResolve(resolverFactory({
|
|
326
361
|
dependencyType: "sass",
|
|
327
362
|
conditionNames: ["sass", "style"],
|
|
328
363
|
mainFields: ["sass", "style", "main", "..."],
|
|
@@ -331,7 +366,23 @@ function getWebpackResolver(resolverFactory, implementation, includePaths = [],
|
|
|
331
366
|
restrictions: [/\.((sa|sc|c)ss)$/i],
|
|
332
367
|
preferRelative: true
|
|
333
368
|
}));
|
|
334
|
-
|
|
369
|
+
const webpackImportResolve = promiseResolve(resolverFactory({
|
|
370
|
+
dependencyType: "sass",
|
|
371
|
+
conditionNames: ["sass", "style"],
|
|
372
|
+
mainFields: ["sass", "style", "main", "..."],
|
|
373
|
+
mainFiles: ["_index.import", "_index", "index.import", "index", "..."],
|
|
374
|
+
extensions: [".sass", ".scss", ".css"],
|
|
375
|
+
restrictions: [/\.((sa|sc|c)ss)$/i],
|
|
376
|
+
preferRelative: true
|
|
377
|
+
}));
|
|
378
|
+
return (context, request, fromImport) => {
|
|
379
|
+
// See https://github.com/webpack/webpack/issues/12340
|
|
380
|
+
// Because `node-sass` calls our importer before `1. Filesystem imports relative to the base file.`
|
|
381
|
+
// custom importer may not return `{ file: '/path/to/name.ext' }` and therefore our `context` will be relative
|
|
382
|
+
if (!isDartSass && !_path.default.isAbsolute(context)) {
|
|
383
|
+
return Promise.reject();
|
|
384
|
+
}
|
|
385
|
+
|
|
335
386
|
const originalRequest = request;
|
|
336
387
|
const isFileScheme = originalRequest.slice(0, 5).toLowerCase() === "file:";
|
|
337
388
|
|
|
@@ -362,12 +413,12 @@ function getWebpackResolver(resolverFactory, implementation, includePaths = [],
|
|
|
362
413
|
// 4. Filesystem imports relative to an `includePaths` path.
|
|
363
414
|
// 5. Filesystem imports relative to a `SASS_PATH` path.
|
|
364
415
|
//
|
|
365
|
-
//
|
|
366
|
-
const sassPossibleRequests = getPossibleRequests(request); // `node-sass` calls our importer before `1. Filesystem imports relative to the base file.`, so we need emulate this too
|
|
416
|
+
// `sass` run custom importers before `3`, `4` and `5` points, we need to emulate this behavior to avoid wrong resolution.
|
|
417
|
+
const sassPossibleRequests = getPossibleRequests(request, false, fromImport); // `node-sass` calls our importer before `1. Filesystem imports relative to the base file.`, so we need emulate this too
|
|
367
418
|
|
|
368
419
|
if (!isDartSass) {
|
|
369
420
|
resolutionMap = resolutionMap.concat({
|
|
370
|
-
resolve:
|
|
421
|
+
resolve: fromImport ? sassImportResolve : sassModuleResolve,
|
|
371
422
|
context: _path.default.dirname(context),
|
|
372
423
|
possibleRequests: sassPossibleRequests
|
|
373
424
|
});
|
|
@@ -376,16 +427,16 @@ function getWebpackResolver(resolverFactory, implementation, includePaths = [],
|
|
|
376
427
|
resolutionMap = resolutionMap.concat( // eslint-disable-next-line no-shadow
|
|
377
428
|
includePaths.map(context => {
|
|
378
429
|
return {
|
|
379
|
-
resolve:
|
|
430
|
+
resolve: fromImport ? sassImportResolve : sassModuleResolve,
|
|
380
431
|
context,
|
|
381
432
|
possibleRequests: sassPossibleRequests
|
|
382
433
|
};
|
|
383
434
|
}));
|
|
384
435
|
}
|
|
385
436
|
|
|
386
|
-
const webpackPossibleRequests = getPossibleRequests(request, true,
|
|
437
|
+
const webpackPossibleRequests = getPossibleRequests(request, true, fromImport);
|
|
387
438
|
resolutionMap = resolutionMap.concat({
|
|
388
|
-
resolve:
|
|
439
|
+
resolve: fromImport ? webpackImportResolve : webpackModuleResolve,
|
|
389
440
|
context: _path.default.dirname(context),
|
|
390
441
|
possibleRequests: webpackPossibleRequests
|
|
391
442
|
});
|
|
@@ -393,19 +444,22 @@ function getWebpackResolver(resolverFactory, implementation, includePaths = [],
|
|
|
393
444
|
};
|
|
394
445
|
}
|
|
395
446
|
|
|
396
|
-
const
|
|
447
|
+
const MATCH_CSS = /\.css$/i;
|
|
397
448
|
|
|
398
449
|
function getWebpackImporter(loaderContext, implementation, includePaths) {
|
|
399
|
-
const resolve = getWebpackResolver(loaderContext.getResolve, implementation, includePaths
|
|
400
|
-
return (originalUrl, prev, done)
|
|
401
|
-
|
|
450
|
+
const resolve = getWebpackResolver(loaderContext.getResolve, implementation, includePaths);
|
|
451
|
+
return function importer(originalUrl, prev, done) {
|
|
452
|
+
const {
|
|
453
|
+
fromImport
|
|
454
|
+
} = this;
|
|
455
|
+
resolve(prev, originalUrl, fromImport).then(result => {
|
|
402
456
|
// Add the result as dependency.
|
|
403
457
|
// Although we're also using stats.includedFiles, this might come in handy when an error occurs.
|
|
404
458
|
// In this case, we don't get stats.includedFiles from node-sass/sass.
|
|
405
459
|
loaderContext.addDependency(_path.default.normalize(result)); // By removing the CSS file extension, we trigger node-sass to include the CSS file instead of just linking it.
|
|
406
460
|
|
|
407
461
|
done({
|
|
408
|
-
file: result.replace(
|
|
462
|
+
file: result.replace(MATCH_CSS, "")
|
|
409
463
|
});
|
|
410
464
|
}) // Catch all resolving errors, return the original file and pass responsibility back to other custom importers
|
|
411
465
|
.catch(() => {
|
|
@@ -443,6 +497,10 @@ function getRenderFunctionFromSassImplementation(implementation) {
|
|
|
443
497
|
}
|
|
444
498
|
|
|
445
499
|
const ABSOLUTE_SCHEME = /^[A-Za-z0-9+\-.]+:/;
|
|
500
|
+
/**
|
|
501
|
+
* @param {string} source
|
|
502
|
+
* @returns {"absolute" | "scheme-relative" | "path-absolute" | "path-absolute"}
|
|
503
|
+
*/
|
|
446
504
|
|
|
447
505
|
function getURLType(source) {
|
|
448
506
|
if (source[0] === "/") {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sass-loader",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.0",
|
|
4
4
|
"description": "Sass loader for webpack",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "webpack-contrib/sass-loader",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
},
|
|
14
14
|
"main": "dist/cjs.js",
|
|
15
15
|
"engines": {
|
|
16
|
-
"node": ">=
|
|
16
|
+
"node": ">= 12.13.0"
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
19
|
"start": "npm run build -- -w",
|
|
@@ -31,18 +31,17 @@
|
|
|
31
31
|
"test:coverage": "npm run test:only -- --collectCoverageFrom=\"src/**/*.js\" --coverage",
|
|
32
32
|
"pretest": "npm run lint",
|
|
33
33
|
"test": "npm run test:coverage",
|
|
34
|
-
"prepare": "npm run build",
|
|
35
|
-
"release": "standard-version"
|
|
36
|
-
"defaults": "webpack-defaults"
|
|
34
|
+
"prepare": "husky install && npm run build",
|
|
35
|
+
"release": "standard-version"
|
|
37
36
|
},
|
|
38
37
|
"files": [
|
|
39
38
|
"dist"
|
|
40
39
|
],
|
|
41
40
|
"peerDependencies": {
|
|
42
|
-
"
|
|
43
|
-
"node-sass": "^4.0.0 || ^5.0.0",
|
|
41
|
+
"fibers": ">= 3.1.0",
|
|
42
|
+
"node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0",
|
|
44
43
|
"sass": "^1.3.0",
|
|
45
|
-
"
|
|
44
|
+
"webpack": "^5.0.0"
|
|
46
45
|
},
|
|
47
46
|
"peerDependenciesMeta": {
|
|
48
47
|
"node-sass": {
|
|
@@ -60,40 +59,41 @@
|
|
|
60
59
|
"neo-async": "^2.6.2"
|
|
61
60
|
},
|
|
62
61
|
"devDependencies": {
|
|
63
|
-
"@babel/cli": "^7.
|
|
64
|
-
"@babel/core": "^7.
|
|
65
|
-
"@babel/preset-env": "^7.
|
|
66
|
-
"@commitlint/cli": "^
|
|
67
|
-
"@commitlint/config-conventional": "^
|
|
68
|
-
"@webpack-contrib/defaults": "^6.3.0",
|
|
62
|
+
"@babel/cli": "^7.14.3",
|
|
63
|
+
"@babel/core": "^7.14.3",
|
|
64
|
+
"@babel/preset-env": "^7.14.2",
|
|
65
|
+
"@commitlint/cli": "^12.1.4",
|
|
66
|
+
"@commitlint/config-conventional": "^12.1.4",
|
|
69
67
|
"@webpack-contrib/eslint-config-webpack": "^3.0.0",
|
|
70
|
-
"babel-jest": "^
|
|
71
|
-
"bootstrap": "^4.5.3",
|
|
68
|
+
"babel-jest": "^27.0.1",
|
|
72
69
|
"bootstrap-sass": "^3.4.1",
|
|
70
|
+
"bootstrap-v4": "npm:bootstrap@^4.5.3",
|
|
71
|
+
"bootstrap-v5": "npm:bootstrap@^5.0.1",
|
|
73
72
|
"cross-env": "^7.0.3",
|
|
74
|
-
"css-loader": "^5.
|
|
73
|
+
"css-loader": "^5.2.6",
|
|
75
74
|
"del": "^6.0.0",
|
|
76
75
|
"del-cli": "^3.0.1",
|
|
77
|
-
"enhanced-resolve": "^5.
|
|
78
|
-
"eslint": "^7.
|
|
79
|
-
"eslint-config-prettier": "^
|
|
80
|
-
"eslint-plugin-import": "^2.
|
|
76
|
+
"enhanced-resolve": "^5.8.2",
|
|
77
|
+
"eslint": "^7.27.0",
|
|
78
|
+
"eslint-config-prettier": "^8.3.0",
|
|
79
|
+
"eslint-plugin-import": "^2.23.3",
|
|
81
80
|
"fibers": "^5.0.0",
|
|
82
81
|
"file-loader": "^6.2.0",
|
|
83
82
|
"foundation-sites": "^6.6.3",
|
|
84
|
-
"husky": "^
|
|
85
|
-
"jest": "^
|
|
86
|
-
"lint-staged": "^
|
|
83
|
+
"husky": "^6.0.0",
|
|
84
|
+
"jest": "^27.0.1",
|
|
85
|
+
"lint-staged": "^11.0.0",
|
|
87
86
|
"material-components-web": "^8.0.0",
|
|
88
|
-
"memfs": "^3.2.
|
|
89
|
-
"node-sass": "^
|
|
87
|
+
"memfs": "^3.2.2",
|
|
88
|
+
"node-sass": "^6.0.0",
|
|
89
|
+
"node-sass-glob-importer": "^5.3.2",
|
|
90
90
|
"npm-run-all": "^4.1.5",
|
|
91
|
-
"prettier": "^2.
|
|
92
|
-
"sass": "^1.
|
|
93
|
-
"semver": "^7.3.
|
|
94
|
-
"standard-version": "^9.
|
|
91
|
+
"prettier": "^2.3.0",
|
|
92
|
+
"sass": "^1.34.0",
|
|
93
|
+
"semver": "^7.3.5",
|
|
94
|
+
"standard-version": "^9.3.0",
|
|
95
95
|
"style-loader": "^2.0.0",
|
|
96
|
-
"webpack": "^5.
|
|
96
|
+
"webpack": "^5.37.1"
|
|
97
97
|
},
|
|
98
98
|
"keywords": [
|
|
99
99
|
"sass",
|
package/CHANGELOG.md
DELETED
|
@@ -1,560 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
|
-
|
|
5
|
-
## [11.0.0](https://github.com/webpack-contrib/sass-loader/compare/v10.1.1...v11.0.0) (2021-02-05)
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
### Notes
|
|
9
|
-
|
|
10
|
-
* using `~` is deprecated and can be removed from your code (**we recommend it**), but we still support it for historical reasons.
|
|
11
|
-
|
|
12
|
-
Why you can removed it?
|
|
13
|
-
The loader will first try to resolve `@import`/`@use` as relative, if it cannot be resolved, the loader will try to resolve `@import`/`@use` inside [`node_modules`](https://webpack.js.org/configuration/resolve/#resolve-modules).
|
|
14
|
-
|
|
15
|
-
### ⚠ BREAKING CHANGES
|
|
16
|
-
|
|
17
|
-
* minimum supported `webpack` version is `5`
|
|
18
|
-
|
|
19
|
-
### Features
|
|
20
|
-
|
|
21
|
-
* supported the [`resolve.byDependency`](https://webpack.js.org/configuration/resolve/#resolvebydependency) option, you can setup `{ resolve: { byDependency: { sass: { mainFiles: ['custom', '...'] } } } }`
|
|
22
|
-
|
|
23
|
-
### [10.1.1](https://github.com/webpack-contrib/sass-loader/compare/v10.1.0...v10.1.1) (2021-01-11)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
### Bug Fixes
|
|
27
|
-
|
|
28
|
-
* problem with resolving and the `includePaths` option ([#913](https://github.com/webpack-contrib/sass-loader/issues/913)) ([cadc75e](https://github.com/webpack-contrib/sass-loader/commit/cadc75e80caf7d32ea47de1cbaab639f9204c0eb))
|
|
29
|
-
|
|
30
|
-
## [10.1.0](https://github.com/webpack-contrib/sass-loader/compare/v10.0.5...v10.1.0) (2020-11-11)
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
### Features
|
|
34
|
-
|
|
35
|
-
* allow the `additionalData` to be async ([#902](https://github.com/webpack-contrib/sass-loader/issues/902)) ([9d925ff](https://github.com/webpack-contrib/sass-loader/commit/9d925ff794e1e4cb9db253a6867bfa2405ec3428))
|
|
36
|
-
|
|
37
|
-
### [10.0.5](https://github.com/webpack-contrib/sass-loader/compare/v10.0.4...v10.0.5) (2020-11-02)
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
### Bug Fixes
|
|
41
|
-
|
|
42
|
-
* support node-sass v5.0.0 ([#899](https://github.com/webpack-contrib/sass-loader/issues/899)) ([c3e279f](https://github.com/webpack-contrib/sass-loader/commit/c3e279fb4668fce4c597a6c8cd1d0f2ff8bc95e5))
|
|
43
|
-
|
|
44
|
-
### [10.0.4](https://github.com/webpack-contrib/sass-loader/compare/v10.0.3...v10.0.4) (2020-10-22)
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
### Bug Fixes
|
|
48
|
-
|
|
49
|
-
* compatibility with the filesystem cache ([#896](https://github.com/webpack-contrib/sass-loader/issues/896)) ([e31f9b6](https://github.com/webpack-contrib/sass-loader/commit/e31f9b682f62e957fd2075582c3cf6cf0daf6b52))
|
|
50
|
-
|
|
51
|
-
### [10.0.3](https://github.com/webpack-contrib/sass-loader/compare/v10.0.2...v10.0.3) (2020-10-09)
|
|
52
|
-
|
|
53
|
-
### Chore
|
|
54
|
-
|
|
55
|
-
* update `schema-utils`
|
|
56
|
-
|
|
57
|
-
### [10.0.2](https://github.com/webpack-contrib/sass-loader/compare/v10.0.1...v10.0.2) (2020-09-03)
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
### Bug Fixes
|
|
61
|
-
|
|
62
|
-
* source maps generation ([#886](https://github.com/webpack-contrib/sass-loader/issues/886)) ([8327d55](https://github.com/webpack-contrib/sass-loader/commit/8327d55df9e8fc6e24d2759d7bd50174ed1ff1e4))
|
|
63
|
-
|
|
64
|
-
### [10.0.1](https://github.com/webpack-contrib/sass-loader/compare/v10.0.0...v10.0.1) (2020-08-25)
|
|
65
|
-
|
|
66
|
-
### Chore
|
|
67
|
-
|
|
68
|
-
* update deps
|
|
69
|
-
|
|
70
|
-
## [10.0.0](https://github.com/webpack-contrib/sass-loader/compare/v10.0.0-rc.0...v10.0.0) (2020-08-24)
|
|
71
|
-
|
|
72
|
-
### Bug Fixes
|
|
73
|
-
|
|
74
|
-
* handle absolute windows path in source maps
|
|
75
|
-
|
|
76
|
-
## [10.0.0-rc.0](https://github.com/webpack-contrib/sass-loader/compare/v9.0.3...v10.0.0-rc.0) (2020-08-24)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
### ⚠ BREAKING CHANGES
|
|
80
|
-
|
|
81
|
-
* loader generates absolute `sources` in source maps, also avoids modifying `sass` source maps if the `sourceMap` option is `false`
|
|
82
|
-
|
|
83
|
-
### [9.0.3](https://github.com/webpack-contrib/sass-loader/compare/v9.0.2...v9.0.3) (2020-08-05)
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
### Bug Fixes
|
|
87
|
-
|
|
88
|
-
* resolution algorithm ([#875](https://github.com/webpack-contrib/sass-loader/issues/875)) ([ea73cfa](https://github.com/webpack-contrib/sass-loader/commit/ea73cfab047c751e1055d0c2ec58ef503f7dbe36))
|
|
89
|
-
|
|
90
|
-
### [9.0.2](https://github.com/webpack-contrib/sass-loader/compare/v9.0.1...v9.0.2) (2020-07-07)
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
### Bug Fixes
|
|
94
|
-
|
|
95
|
-
* resolution algorithm for `node-sass` ([#866](https://github.com/webpack-contrib/sass-loader/issues/866)) ([4584c90](https://github.com/webpack-contrib/sass-loader/commit/4584c9054befbc56661e2781a55df96fb9f94673))
|
|
96
|
-
|
|
97
|
-
### [9.0.1](https://github.com/webpack-contrib/sass-loader/compare/v9.0.0...v9.0.1) (2020-07-03)
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
### Bug Fixes
|
|
101
|
-
|
|
102
|
-
* do not crash on errors ([#860](https://github.com/webpack-contrib/sass-loader/issues/860)) ([e854933](https://github.com/webpack-contrib/sass-loader/commit/e8549330f8d9373ff8baccffbfd3e0c3b6f3ef61))
|
|
103
|
-
|
|
104
|
-
## [9.0.0](https://github.com/webpack-contrib/sass-loader/compare/v8.0.2...v9.0.0) (2020-07-02)
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
### ⚠ BREAKING CHANGES
|
|
108
|
-
|
|
109
|
-
* minimum supported Nodejs version is `10.13`
|
|
110
|
-
* prefer `sass` (`dart-sass`) by default, it is strongly recommended to migrate on `sass` (`dart-sass`)
|
|
111
|
-
* the `prependData` option was removed in favor the `additionalData` option, see [docs](https://github.com/webpack-contrib/sass-loader#additionaldata)
|
|
112
|
-
* when the `sourceMap` is `true`, `sassOptions.sourceMap`, `sassOptions.sourceMapContents`, `sassOptions.sourceMapEmbed`, `sassOptions.sourceMapRoot` and `sassOptions.omitSourceMapUrl` will be ignored.
|
|
113
|
-
|
|
114
|
-
### Features
|
|
115
|
-
|
|
116
|
-
* pass the loader context to custom importers under the `this.webpackLoaderContext` property ([#853](https://github.com/webpack-contrib/sass-loader/issues/853)) ([d487683](https://github.com/webpack-contrib/sass-loader/commit/d487683221fcd1e5a173e083b4b40644751c8cb1))
|
|
117
|
-
* supports for `process.cwd()` resolution logic by default ([#837](https://github.com/webpack-contrib/sass-loader/issues/837)) ([0c8d3b3](https://github.com/webpack-contrib/sass-loader/commit/0c8d3b3fb1cf371779b4a886cfc4e60facf68759))
|
|
118
|
-
* supports for `SASS-PATH` env variable resolution logic by default ([#836](https://github.com/webpack-contrib/sass-loader/issues/836)) ([8376179](https://github.com/webpack-contrib/sass-loader/commit/83761798380dcccc5a2badde3b3affe2bac385e8))
|
|
119
|
-
* supports for the `sass` property for the `exports` field from `package.json` (conditional exports, for more information read [docs](https://nodejs.org/api/esm.html))
|
|
120
|
-
|
|
121
|
-
### Bug Fixes
|
|
122
|
-
|
|
123
|
-
* avoid different content on different os ([#832](https://github.com/webpack-contrib/sass-loader/issues/832)) ([68dd278](https://github.com/webpack-contrib/sass-loader/commit/68dd27883ce0536adc5bc170816242c67fb118ff))
|
|
124
|
-
* resolution logic when the `includePaths` option used was improved ([#827](https://github.com/webpack-contrib/sass-loader/issues/827)) ([cbe5ad4](https://github.com/webpack-contrib/sass-loader/commit/cbe5ad407582a617be097d3eadd3ad8619e52507))
|
|
125
|
-
* resolution logic for `file://` scheme was improved ([17832fd](https://github.com/webpack-contrib/sass-loader/commit/17832fdb11f91593f4e2995003d67aebefb3be90))
|
|
126
|
-
* resolution logic for absolute paths and server relative URLs was improved
|
|
127
|
-
* source maps generation was improved
|
|
128
|
-
|
|
129
|
-
### [8.0.2](https://github.com/webpack-contrib/sass-loader/compare/v8.0.1...v8.0.2) (2020-01-13)
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
### Bug Fixes
|
|
133
|
-
|
|
134
|
-
* compatibility with node@8 ([#798](https://github.com/webpack-contrib/sass-loader/issues/798)) ([6f3852f](https://github.com/webpack-contrib/sass-loader/commit/6f3852f7d393dd0bc8f8d264d81ecc941bc72511))
|
|
135
|
-
|
|
136
|
-
### [8.0.1](https://github.com/webpack-contrib/sass-loader/compare/v8.0.0...v8.0.1) (2020-01-10)
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
### Bug Fixes
|
|
140
|
-
|
|
141
|
-
* support webpack@5 ([#794](https://github.com/webpack-contrib/sass-loader/issues/794)) ([6c59e37](https://github.com/webpack-contrib/sass-loader/commit/6c59e37e3f67668d7a3908444ddfc0176bc5601f))
|
|
142
|
-
|
|
143
|
-
## [8.0.0](https://github.com/webpack-contrib/sass-loader/compare/v7.3.1...v8.0.0) (2019-08-29)
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
### ⚠ BREAKING CHANGES
|
|
147
|
-
|
|
148
|
-
* minimum required `webpack` version is `4.36.0`
|
|
149
|
-
* minimum required `node.js` version is `8.9.0`
|
|
150
|
-
* move all sass (`includePaths`, `importer`, `functions`, `outputStyle`) options to the `sassOptions` option. The `functions` option can't be used as `Function`, you should use `sassOption` as `Function` to achieve this.
|
|
151
|
-
* the `data` option was renamed to the `prependData` option
|
|
152
|
-
* default value of the `sourceMap` option depends on the `devtool` value (`eval`/`false` values don't enable source map generation)
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
### Features
|
|
156
|
-
|
|
157
|
-
* automatically use the `fibers` package if it is possible ([#744](https://github.com/webpack-contrib/sass-loader/issues/744)) ([96184e1](https://github.com/webpack-contrib/sass-loader/commit/96184e1))
|
|
158
|
-
* source map generation depends on the `devtool` option ([#743](https://github.com/webpack-contrib/sass-loader/issues/743)) ([fcea88e](https://github.com/webpack-contrib/sass-loader/commit/fcea88e))
|
|
159
|
-
* validate loader options ([#737](https://github.com/webpack-contrib/sass-loader/issues/737)) ([7b543fc](https://github.com/webpack-contrib/sass-loader/commit/7b543fc))
|
|
160
|
-
* reworked error handling from `node-sass`/`sass`
|
|
161
|
-
* improve resolution for `@import` (including support `_index` and `index` files in a directory)
|
|
162
|
-
|
|
163
|
-
### Bug Fixes
|
|
164
|
-
|
|
165
|
-
* compatibility with `pnp`
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
### [7.3.1](https://github.com/webpack-contrib/sass-loader/compare/v7.3.0...v7.3.1) (2019-08-20)
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
### Bug Fixes
|
|
172
|
-
|
|
173
|
-
* minimum `node` version in `package.json` ([#733](https://github.com/webpack-contrib/sass-loader/issues/733)) ([1175920](https://github.com/webpack-contrib/sass-loader/commit/1175920))
|
|
174
|
-
|
|
175
|
-
## [7.3.0](https://github.com/webpack-contrib/sass-loader/compare/v7.2.0...v7.3.0) (2019-08-20)
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
### Bug Fixes
|
|
179
|
-
|
|
180
|
-
* handle module import ending `/` as module ([#728](https://github.com/webpack-contrib/sass-loader/issues/728)) ([997a255](https://github.com/webpack-contrib/sass-loader/commit/997a255))
|
|
181
|
-
* resolution algorithm ([#720](https://github.com/webpack-contrib/sass-loader/issues/720)) ([0e94940](https://github.com/webpack-contrib/sass-loader/commit/0e94940))
|
|
182
|
-
* use "compressed" output when mode is "production" ([#723](https://github.com/webpack-contrib/sass-loader/issues/723)) ([b2af379](https://github.com/webpack-contrib/sass-loader/commit/b2af379))
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
### Features
|
|
186
|
-
|
|
187
|
-
* `webpackImporter` option ([#732](https://github.com/webpack-contrib/sass-loader/issues/732)) ([6f4ea37](https://github.com/webpack-contrib/sass-loader/commit/6f4ea37))
|
|
188
|
-
|
|
189
|
-
<a name="7.2.0"></a>
|
|
190
|
-
# [7.2.0](https://github.com/webpack-contrib/sass-loader/compare/v7.1.0...v7.2.0) (2019-08-08)
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
### Bug Fixes
|
|
194
|
-
|
|
195
|
-
* better handle stdin in sources ([#681](https://github.com/webpack-contrib/sass-loader/issues/681)) ([e279f2a](https://github.com/webpack-contrib/sass-loader/commit/e279f2a))
|
|
196
|
-
* prefer `sass`/`scss`/`css` extensions ([#711](https://github.com/webpack-contrib/sass-loader/issues/711)) ([6fc9d4e](https://github.com/webpack-contrib/sass-loader/commit/6fc9d4e))
|
|
197
|
-
* relax node engine ([#708](https://github.com/webpack-contrib/sass-loader/issues/708)) ([2a51502](https://github.com/webpack-contrib/sass-loader/commit/2a51502))
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
### Features
|
|
201
|
-
|
|
202
|
-
* allow passing `functions` option as function ([#651](https://github.com/webpack-contrib/sass-loader/issues/651)) ([6c9654d](https://github.com/webpack-contrib/sass-loader/commit/6c9654d))
|
|
203
|
-
* support `data` as `Function` ([#648](https://github.com/webpack-contrib/sass-loader/issues/648)) ([aa64e1b](https://github.com/webpack-contrib/sass-loader/commit/aa64e1b))
|
|
204
|
-
* support `sass` and `style` fields in `package.json` ([#647](https://github.com/webpack-contrib/sass-loader/issues/647)) ([a8709c9](https://github.com/webpack-contrib/sass-loader/commit/a8709c9))
|
|
205
|
-
* support auto resolving `dart-sass` ([ff90dd6](https://github.com/webpack-contrib/sass-loader/commit/ff90dd6))
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
<a name="7.1.0"></a>
|
|
210
|
-
# [7.1.0](https://github.com/webpack-contrib/sass-loader/compare/v7.0.3...v7.1.0) (2018-08-01)
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
### Features
|
|
214
|
-
|
|
215
|
-
* Make this package implementation-agnostic (#573) ([bed9fb5](https://github.com/webpack-contrib/sass-loader/commit/bed9fb5)), closes [#435](https://github.com/webpack-contrib/sass-loader/issues/435)
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
<a name="7.0.3"></a>
|
|
220
|
-
## [7.0.3](https://github.com/webpack-contrib/sass-loader/compare/v7.0.2...v7.0.3) (2018-06-05)
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
### Bug Fixes
|
|
224
|
-
|
|
225
|
-
* Bare imports not working sometimes (#579) ([c348281](https://github.com/webpack-contrib/sass-loader/commit/c348281)), closes [#566](https://github.com/webpack-contrib/sass-loader/issues/566)
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
<a name="7.0.2"></a>
|
|
230
|
-
## [7.0.2](https://github.com/webpack-contrib/sass-loader/compare/v7.0.1...v7.0.2) (2018-06-02)
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
### Bug Fixes
|
|
234
|
-
|
|
235
|
-
* Errors being swallowed when trying to load node-sass (#576) ([6dfb274](https://github.com/webpack-contrib/sass-loader/commit/6dfb274)), closes [#563](https://github.com/webpack-contrib/sass-loader/issues/563)
|
|
236
|
-
* Report error to user for problems loading node-sass (#562) ([2529c07](https://github.com/webpack-contrib/sass-loader/commit/2529c07))
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
<a name="7.0.1"></a>
|
|
241
|
-
## [7.0.1](https://github.com/webpack-contrib/sass-loader/compare/v7.0.0...v7.0.1) (2018-04-13)
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
### Bug Fixes
|
|
245
|
-
|
|
246
|
-
* Wrong import precedence (#557) ([f4eeff1](https://github.com/webpack-contrib/sass-loader/commit/f4eeff1))
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
<a name="7.0.0"></a>
|
|
251
|
-
# [7.0.0](https://github.com/webpack-contrib/sass-loader/compare/v6.0.7...v7.0.0) (2018-04-13)
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
### Features
|
|
255
|
-
|
|
256
|
-
* Refactor resolving and simplify webpack config aliases (#479) ([e0fde1a](https://github.com/webpack-contrib/sass-loader/commit/e0fde1a))
|
|
257
|
-
* Remove `node-sass` from `peerDependencies` (#533) ([6439cef](https://github.com/webpack-contrib/sass-loader/commit/6439cef))
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
### BREAKING CHANGES
|
|
261
|
-
|
|
262
|
-
* Drop official node 4 support
|
|
263
|
-
* This slightly changes the resolving algorithm. Should not break in normal usage, but might break in complex configurations.
|
|
264
|
-
* The sass-loader throws an error at runtime now and refuses to compile if the peer dependency is wrong. This could break applications where npm's peer dependency warning was just ignored.
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
<a name="6.0.7"></a>
|
|
269
|
-
## [6.0.7](https://github.com/webpack-contrib/sass-loader/compare/v6.0.6...v6.0.7) (2018-03-03)
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
### Bug Fixes
|
|
273
|
-
|
|
274
|
-
* **package:** add `webpack >= v4.0.0` (`peerDependencies`) ([#541](https://github.com/webpack-contrib/sass-loader/issues/541)) ([620bdd4](https://github.com/webpack-contrib/sass-loader/commit/620bdd4))
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
### Performance Improvements
|
|
278
|
-
|
|
279
|
-
* use `neo-async` instead `async` ([#538](https://github.com/webpack-contrib/sass-loader/issues/538)) ([fab89dc](https://github.com/webpack-contrib/sass-loader/commit/fab89dc))
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
<a name="6.0.6"></a>
|
|
284
|
-
## [6.0.6](https://github.com/webpack-contrib/sass-loader/compare/v6.0.5...v6.0.6) (2017-06-14)
|
|
285
|
-
|
|
286
|
-
### Chore
|
|
287
|
-
|
|
288
|
-
* Adds Webpack 3.x version range to peerDependencies
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
<a name="6.0.5"></a>
|
|
292
|
-
# [6.0.5](https://github.com/webpack-contrib/sass-loader/compare/v6.0.5...v6.0.4) (2017-05-10)
|
|
293
|
-
|
|
294
|
-
### Bug Fixes
|
|
295
|
-
|
|
296
|
-
* importing file directly from scoped npm package [#450](https://github.com/webpack-contrib/sass-loader/pull/450) ([5d06e9d](https://github.com/webpack-contrib/sass-loader/commit/5d06e9d))
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
<a name="6.0.4"></a>
|
|
300
|
-
# [6.0.4](https://github.com/webpack-contrib/sass-loader/compare/v6.0.4...v6.0.3) (2017-05-09)
|
|
301
|
-
|
|
302
|
-
### Bug Fixes
|
|
303
|
-
|
|
304
|
-
* fix: Resolving of scoped npm packages [#447](https://github.com/webpack-contrib/sass-loader/pull/447)
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
<a name="6.0.3"></a>
|
|
308
|
-
# [6.0.3](https://github.com/webpack-contrib/sass-loader/compare/v6.0.3...v6.0.2) (2017-03-07)
|
|
309
|
-
|
|
310
|
-
### Bug Fixes
|
|
311
|
-
|
|
312
|
-
* Fix regression with empty files [#398](https://github.com/webpack-contrib/sass-loader/pull/398)
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
### Chore
|
|
316
|
-
|
|
317
|
-
* Reduce npm package size by using the [files](https://docs.npmjs.com/files/package.json#files) property in the `package.json`
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
<a name="6.0.2"></a>
|
|
321
|
-
# [6.0.2](https://github.com/webpack-contrib/sass-loader/compare/v6.0.2...v6.0.1) (2017-02-21)
|
|
322
|
-
|
|
323
|
-
### Chore
|
|
324
|
-
|
|
325
|
-
* Update dependencies [#383](https://github.com/webpack-contrib/sass-loader/pull/383)
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
<a name="6.0.1"></a>
|
|
329
|
-
# [6.0.1](https://github.com/webpack-contrib/sass-loader/compare/v6.0.1...v6.0.0) (2017-02-17)
|
|
330
|
-
|
|
331
|
-
### Bug Fixes
|
|
332
|
-
|
|
333
|
-
* Fix source maps in certain CWDs. [#377](https://github.com/webpack-contrib/sass-loader/pull/377)
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
<a name="6.0.0"></a>
|
|
337
|
-
# [6.0.0](https://github.com/webpack-contrib/sass-loader/compare/v6.0.0...v5.0.1) (2017-02-13)
|
|
338
|
-
|
|
339
|
-
### Bug Fixes
|
|
340
|
-
|
|
341
|
-
* Improve source map support. [#374](https://github.com/webpack-contrib/sass-loader/issues/374)
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
### BREAKING CHANGES
|
|
345
|
-
|
|
346
|
-
* This is breaking for the resolve-url-loader
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
<a name="5.0.1"></a>
|
|
350
|
-
# [5.0.1](https://github.com/webpack-contrib/sass-loader/compare/v5.0.1...v5.0.0) (2017-02-13)
|
|
351
|
-
|
|
352
|
-
### Bug Fixes
|
|
353
|
-
|
|
354
|
-
* Fix bug where multiple compilations interfered with each other. [#369](https://github.com/webpack-contrib/sass-loader/pull/369)
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
<a name="5.0.0"></a>
|
|
358
|
-
# [5.0.0](https://github.com/webpack-contrib/sass-loader/compare/v5.0.0...v4.1.1) (2017-02-13)
|
|
359
|
-
|
|
360
|
-
### Code Refactoring
|
|
361
|
-
|
|
362
|
-
* Remove synchronous compilation support [#334](https://github.com/webpack-contrib/sass-loader/pull/334)
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
### BREAKING CHANGES
|
|
366
|
-
|
|
367
|
-
* Remove node 0.12 support. [29b30755021a834e622bf4b5bb9db4d6e5913905](https://github.com/webpack-contrib/sass-loader/commit/29b30755021a834e622bf4b5bb9db4d6e5913905)
|
|
368
|
-
* Remove official node-sass@3 and webpack@1 support. [5a6bcb96d8bd7a7a11c33252ba739ffe09ca38c5](https://github.com/webpack-contrib/sass-loader/commit/5a6bcb96d8bd7a7a11c33252ba739ffe09ca38c5)
|
|
369
|
-
* Remove synchronous compilation support. [#334](https://github.com/webpack-contrib/sass-loader/pull/334)
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
<a name="4.1.1"></a>
|
|
373
|
-
# [4.1.1](https://github.com/webpack-contrib/sass-loader/compare/v4.1.1...v4.1.0) (2016-12-21)
|
|
374
|
-
|
|
375
|
-
### Chore
|
|
376
|
-
|
|
377
|
-
* Update webpack peer dependency to support 2.2.0rc. [#330](https://github.com/webpack-contrib/sass-loader/pull/330)
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
<a name="4.1.0"></a>
|
|
381
|
-
# [4.1.0](https://github.com/webpack-contrib/sass-loader/compare/v4.1.0...v4.0.2) (2016-12-14)
|
|
382
|
-
|
|
383
|
-
### Features
|
|
384
|
-
|
|
385
|
-
* Update `node-sass@4.0.0` [#319](https://github.com/webpack-contrib/sass-loader/pull/319)
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
<a name="4.0.2"></a>
|
|
389
|
-
# [4.0.2](https://github.com/webpack-contrib/sass-loader/compare/v4.0.2...v4.0.1) (2016-07-07)
|
|
390
|
-
|
|
391
|
-
### Bug Fixes
|
|
392
|
-
|
|
393
|
-
* Fix wrong context in customImporters [#281](https://github.com/webpack-contrib/sass-loader/pull/281)
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
<a name="4.0.1"></a>
|
|
397
|
-
# [4.0.1](https://github.com/webpack-contrib/sass-loader/compare/v4.0.1...v4.0.0) (2016-07-01)
|
|
398
|
-
|
|
399
|
-
### Bug Fixes
|
|
400
|
-
|
|
401
|
-
* Fix custom importers receiving `'stdin'` as second argument instead of the actual `resourcePath` [#267](https://github.com/webpack-contrib/sass-loader/pull/267)
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
<a name="4.0.0"></a>
|
|
405
|
-
# [4.0.0](https://github.com/webpack-contrib/sass-loader/compare/v4.0.0...v3.2.2) (2016-06-27)
|
|
406
|
-
|
|
407
|
-
### Bug Fixes
|
|
408
|
-
|
|
409
|
-
* Fix incorrect source map paths [#250](https://github.com/webpack-contrib/sass-loader/pull/250)
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
### BREAKING CHANGES
|
|
413
|
-
|
|
414
|
-
* Release new major version because the previous release was a breaking change in certain scenarios
|
|
415
|
-
See: https://github.com/webpack-contrib/sass-loader/pull/250#issuecomment-228663059
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
<a name="3.2.2"></a>
|
|
419
|
-
# [3.2.2](https://github.com/webpack-contrib/sass-loader/compare/v3.2.2...v3.2.1) (2016-06-26)
|
|
420
|
-
|
|
421
|
-
### Bug Fixes
|
|
422
|
-
|
|
423
|
-
* Fix incorrect source map paths [#250](https://github.com/webpack-contrib/sass-loader/pull/250)
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
<a name="3.2.1"></a>
|
|
427
|
-
# [3.2.1](https://github.com/webpack-contrib/sass-loader/compare/v3.2.1...v3.2.0) (2016-06-19)
|
|
428
|
-
|
|
429
|
-
### Bug Fixes
|
|
430
|
-
|
|
431
|
-
* Add `webpack@^2.1.0-beta` as peer dependency [#233](https://github.com/webpack-contrib/sass-loader/pull/233)
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
<a name="3.2.0"></a>
|
|
435
|
-
# [3.2.0](https://github.com/webpack-contrib/sass-loader/compare/v3.2.0...v3.1.2) (2016-03-12)
|
|
436
|
-
|
|
437
|
-
### Features
|
|
438
|
-
|
|
439
|
-
* Append file content instead of overwriting when `data`-option is already present [#216](https://github.com/webpack-contrib/sass-loader/pull/216)
|
|
440
|
-
* Make `indentedSyntax` option a bit smarter [#196](https://github.com/webpack-contrib/sass-loader/pull/196)
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
<a name="3.1.2"></a>
|
|
444
|
-
# [3.1.2](https://github.com/webpack-contrib/sass-loader/compare/v3.1.2...v3.1.1) (2015-11-22)
|
|
445
|
-
|
|
446
|
-
### Bug Fixes
|
|
447
|
-
|
|
448
|
-
* Fix loader query not overriding webpack config [#189](https://github.com/webpack-contrib/sass-loader/pull/189)
|
|
449
|
-
* Update peer-dependencies [#182](https://github.com/webpack-contrib/sass-loader/pull/182)
|
|
450
|
-
- `node-sass^3.4.2`
|
|
451
|
-
- `webpack^1.12.6`
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
<a name="3.1.1"></a>
|
|
455
|
-
# [3.1.1](https://github.com/webpack-contrib/sass-loader/compare/v3.1.1...v3.1.0) (2015-10-26)
|
|
456
|
-
|
|
457
|
-
### Bug Fixes
|
|
458
|
-
|
|
459
|
-
* Fix missing module `object-assign` [#178](https://github.com/webpack-contrib/sass-loader/issues/178)
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
<a name="3.1.0"></a>
|
|
463
|
-
# [3.1.0](https://github.com/webpack-contrib/sass-loader/compare/v3.1.0...v3.0.0) (2015-10-25)
|
|
464
|
-
|
|
465
|
-
### Bug Fixes
|
|
466
|
-
|
|
467
|
-
* Fix a problem where modules with a `.` in their names were not resolved [#167](https://github.com/webpack-contrib/sass-loader/issues/167)
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
### Features
|
|
471
|
-
|
|
472
|
-
* Add possibility to also define all options in your `webpack.config.js` [#152](https://github.com/webpack-contrib/sass-loader/pull/152) [#170](https://github.com/webpack-contrib/sass-loader/pull/170)
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
<a name="3.0.0"></a>
|
|
476
|
-
# [3.0.0](https://github.com/webpack-contrib/sass-loader/compare/v3.0.0...v2.0.1) (2015-09-29)
|
|
477
|
-
|
|
478
|
-
### Bug Fixes
|
|
479
|
-
|
|
480
|
-
* Fix crash when Sass reported an error without `file` [#158](https://github.com/webpack-contrib/sass-loader/pull/158)
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
### BREAKING CHANGES
|
|
484
|
-
|
|
485
|
-
* Add `node-sass@^3.3.3` and `webpack@^1.12.2` as peer-dependency [#165](https://github.com/webpack-contrib/sass-loader/pull/165) [#166](https://github.com/webpack-contrib/sass-loader/pull/166) [#169](https://github.com/webpack-contrib/sass-loader/pull/169)
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
<a name="2.0.1"></a>
|
|
489
|
-
# [2.0.1](https://github.com/webpack-contrib/sass-loader/compare/v2.0.1...v2.0.0) (2015-08-14)
|
|
490
|
-
|
|
491
|
-
### Bug Fixes
|
|
492
|
-
|
|
493
|
-
* Add missing path normalization (fixes [#141](https://github.com/webpack-contrib/sass-loader/pull/141))
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
<a name="2.0.0"></a>
|
|
497
|
-
# [2.0.0](https://github.com/webpack-contrib/sass-loader/compare/v2.0.0...v1.0.4) (2015-08-06)
|
|
498
|
-
|
|
499
|
-
### Bug Fixes
|
|
500
|
-
|
|
501
|
-
* Add temporary fix for stuck processes (see [sass/node-sass#857](https://github.com/sass/node-sass/issues/857)) [#100](https://github.com/webpack-contrib/sass-loader/issues/100) [#119](https://github.com/webpack-contrib/sass-loader/issues/119) [#132](https://github.com/webpack-contrib/sass-loader/pull/132)
|
|
502
|
-
* Fix path resolving on Windows [#108](https://github.com/webpack-contrib/sass-loader/issues/108)
|
|
503
|
-
* Fix file watchers on Windows [#102](https://github.com/webpack-contrib/sass-loader/issues/102)
|
|
504
|
-
* Fix file watchers for files with errors [#134](https://github.com/webpack-contrib/sass-loader/pull/134)
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
### Code Refactoring
|
|
508
|
-
|
|
509
|
-
* Refactor [import resolving algorithm](https://github.com/webpack-contrib/sass-loader/blob/089c52dc9bd02ec67fb5c65c2c226f43710f231c/index.js#L293-L348). ([#138](https://github.com/webpack-contrib/sass-loader/issues/138)) ([c8621a1](https://github.com/webpack-contrib/sass-loader/commit/80944ccf09cd9716a100160c068d255c5d742338))
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
### BREAKING CHANGES
|
|
513
|
-
|
|
514
|
-
* The new algorithm is aligned to libsass' way of resolving files. This yields to different results if two files with the same path and filename but with different extensions are present. Though this change should be no problem for most users, we must flag it as breaking change. [#135](https://github.com/webpack-contrib/sass-loader/issues/135) [#138](https://github.com/webpack-contrib/sass-loader/issues/138)
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
<a name="1.0.4"></a>
|
|
518
|
-
# [1.0.4](https://github.com/webpack-contrib/sass-loader/compare/v1.0.4...v1.0.3) (2015-08-03)
|
|
519
|
-
|
|
520
|
-
### Bug Fixes
|
|
521
|
-
|
|
522
|
-
* Fix wrong source-map urls [#123](https://github.com/webpack-contrib/sass-loader/pull/123)
|
|
523
|
-
* Include source-map contents by default [#104](https://github.com/webpack-contrib/sass-loader/pull/104)
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
<a name="1.0.3"></a>
|
|
527
|
-
# [1.0.3](https://github.com/webpack-contrib/sass-loader/compare/v1.0.3...v1.0.2) (2015-07-22)
|
|
528
|
-
|
|
529
|
-
### Bug Fixes
|
|
530
|
-
|
|
531
|
-
* Fix importing css files from scss/sass [#101](https://github.com/webpack-contrib/sass-loader/issues/101)
|
|
532
|
-
* Fix importing Sass partials from includePath [#98](https://github.com/webpack-contrib/sass-loader/issues/98) [#110](https://github.com/webpack-contrib/sass-loader/issues/110)
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
<a name="1.0.2"></a>
|
|
536
|
-
# [1.0.2](https://github.com/webpack-contrib/sass-loader/compare/v1.0.2...v1.0.1) (2015-04-15)
|
|
537
|
-
|
|
538
|
-
### Bug Fixes
|
|
539
|
-
|
|
540
|
-
* Fix a bug where files could not be imported across language styles [#73](https://github.com/webpack-contrib/sass-loader/issues/73)
|
|
541
|
-
* Update peer-dependency `node-sass` to `3.1.0`
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
<a name="1.0.1"></a>
|
|
545
|
-
# [1.0.1](https://github.com/webpack-contrib/sass-loader/compare/v1.0.1...v1.0.0) (2015-03-31)
|
|
546
|
-
|
|
547
|
-
### Bug Fixes
|
|
548
|
-
|
|
549
|
-
* Fix Sass partials not being resolved anymore [#68](https://github.com/webpack-contrib/sass-loader/issues/68)
|
|
550
|
-
* Update peer-dependency `node-sass` to `3.0.0-beta.4`
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
<a name="1.0.0"></a>
|
|
554
|
-
# [1.0.0](https://github.com/webpack-contrib/sass-loader/compare/v1.0.0...v0.3.1) (2015-03-22)
|
|
555
|
-
|
|
556
|
-
### Bug Fixes
|
|
557
|
-
|
|
558
|
-
* Moved `node-sass^3.0.0-alpha.0` to `peerDependencies` [#28](https://github.com/webpack-contrib/sass-loader/issues/28)
|
|
559
|
-
* Using webpack's module resolver as custom importer [#39](https://github.com/webpack-contrib/sass-loader/issues/31)
|
|
560
|
-
* Add synchronous compilation support for usage with [enhanced-require](https://github.com/webpack/enhanced-require) [#39](https://github.com/webpack-contrib/sass-loader/pull/39)
|