sass-loader 11.1.0 → 12.2.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 CHANGED
@@ -121,7 +121,7 @@ Thankfully there are a two solutions to this problem:
121
121
 
122
122
  | Name | Type | Default | Description |
123
123
  | :---------------------------------------: | :------------------: | :-------------------------------------: | :---------------------------------------------------------------- |
124
- | **[`implementation`](#implementation)** | `{Object}` | `sass` | Setup Sass implementation to use. |
124
+ | **[`implementation`](#implementation)** | `{Object\|String}` | `sass` | Setup Sass implementation to use. |
125
125
  | **[`sassOptions`](#sassoptions)** | `{Object\|Function}` | defaults values for Sass implementation | Options for Sass. |
126
126
  | **[`sourceMap`](#sourcemap)** | `{Boolean}` | `compiler.devtool` | Enables/Disables generation of source maps. |
127
127
  | **[`additionalData`](#additionaldata)** | `{String\|Function}` | `undefined` | Prepends/Appends `Sass`/`SCSS` code before the actual entry file. |
@@ -129,7 +129,7 @@ Thankfully there are a two solutions to this problem:
129
129
 
130
130
  ### `implementation`
131
131
 
132
- Type: `Object`
132
+ Type: `Object | String`
133
133
  Default: `sass`
134
134
 
135
135
  The special `implementation` option determines which implementation of Sass to use.
@@ -168,6 +168,8 @@ In order to avoid this situation you can use the `implementation` option.
168
168
 
169
169
  The `implementation` options either accepts `sass` (`Dart Sass`) or `node-sass` as a module.
170
170
 
171
+ #### Object
172
+
171
173
  For example, to use Dart Sass, you'd pass:
172
174
 
173
175
  ```js
@@ -193,10 +195,39 @@ module.exports = {
193
195
  };
194
196
  ```
195
197
 
198
+ #### String
199
+
200
+ For example, to use Dart Sass, you'd pass:
201
+
202
+ ```js
203
+ module.exports = {
204
+ module: {
205
+ rules: [
206
+ {
207
+ test: /\.s[ac]ss$/i,
208
+ use: [
209
+ "style-loader",
210
+ "css-loader",
211
+ {
212
+ loader: "sass-loader",
213
+ options: {
214
+ // Prefer `dart-sass`
215
+ implementation: require.resolve("sass"),
216
+ },
217
+ },
218
+ ],
219
+ },
220
+ ],
221
+ },
222
+ };
223
+ ```
224
+
196
225
  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.
197
226
  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.
198
227
 
199
- 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).
228
+ 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).
229
+
230
+ > Fibers is not compatible with `Node.js` v16.0.0 or later ([see introduction to readme](https://github.com/laverdet/node-fibers)).
200
231
 
201
232
  **package.json**
202
233
 
@@ -275,11 +306,13 @@ Default: defaults values for Sass implementation
275
306
 
276
307
  Options for [Dart Sass](http://sass-lang.com/dart-sass) or [Node Sass](https://github.com/sass/node-sass) implementation.
277
308
 
309
+ > ℹ️ The `charset` option has `true` value by default for `dart-sass`, we strongly discourage change value to `false`, because webpack doesn't support files other than `utf-8`.
310
+
278
311
  > ℹ️ The `indentedSyntax` option has `true` value for the `sass` extension.
279
312
 
280
313
  > ℹ️ Options such as `data` and `file` are unavailable and will be ignored.
281
314
 
282
- > ℹ We recommend not to set the `outFile`, `sourceMapContents`, `sourceMapEmbed`, `sourceMapRoot` options because `sass-loader` automatically sets these options when the `sourceMap` option is `true`.
315
+ > ℹ We strongly discourage change `outFile`, `sourceMapContents`, `sourceMapEmbed`, `sourceMapRoot` options because `sass-loader` automatically sets these options when the `sourceMap` option is `true`.
283
316
 
284
317
  > ℹ️ Access to the [loader context](https://webpack.js.org/api/loaders/#the-loader-context) inside the custom importer can be done using the `this.webpackLoaderContext` property.
285
318
 
package/dist/options.json CHANGED
@@ -3,11 +3,20 @@
3
3
  "type": "object",
4
4
  "properties": {
5
5
  "implementation": {
6
- "description": "The implementation of the sass to be used (https://github.com/webpack-contrib/sass-loader#implementation).",
7
- "type": "object"
6
+ "description": "The implementation of the sass to be used.",
7
+ "link": "https://github.com/webpack-contrib/sass-loader#implementation",
8
+ "anyOf": [
9
+ {
10
+ "type": "string"
11
+ },
12
+ {
13
+ "type": "object"
14
+ }
15
+ ]
8
16
  },
9
17
  "sassOptions": {
10
- "description": "Options for `node-sass` or `sass` (`Dart Sass`) implementation. (https://github.com/webpack-contrib/sass-loader#implementation).",
18
+ "description": "Options for `node-sass` or `sass` (`Dart Sass`) implementation.",
19
+ "link": "https://github.com/webpack-contrib/sass-loader#sassoptions",
11
20
  "anyOf": [
12
21
  {
13
22
  "type": "object",
@@ -19,7 +28,8 @@
19
28
  ]
20
29
  },
21
30
  "additionalData": {
22
- "description": "Prepends/Appends `Sass`/`SCSS` code before the actual entry file (https://github.com/webpack-contrib/sass-loader#additionaldata).",
31
+ "description": "Prepends/Appends `Sass`/`SCSS` code before the actual entry file.",
32
+ "link": "https://github.com/webpack-contrib/sass-loader#additionaldata",
23
33
  "anyOf": [
24
34
  {
25
35
  "type": "string"
@@ -30,11 +40,13 @@
30
40
  ]
31
41
  },
32
42
  "sourceMap": {
33
- "description": "Enables/Disables generation of source maps (https://github.com/webpack-contrib/sass-loader#sourcemap).",
43
+ "description": "Enables/Disables generation of source maps.",
44
+ "link": "https://github.com/webpack-contrib/sass-loader#sourcemap",
34
45
  "type": "boolean"
35
46
  },
36
47
  "webpackImporter": {
37
- "description": "Enables/Disables default `webpack` importer (https://github.com/webpack-contrib/sass-loader#webpackimporter).",
48
+ "description": "Enables/Disables default `webpack` importer.",
49
+ "link": "https://github.com/webpack-contrib/sass-loader#webpackimporter",
38
50
  "type": "boolean"
39
51
  }
40
52
  },
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
- * @public
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
 
@@ -57,6 +56,17 @@ function getSassImplementation(loaderContext, implementation) {
57
56
  }
58
57
  }
59
58
 
59
+ if (typeof resolvedImplementation === "string") {
60
+ try {
61
+ // eslint-disable-next-line import/no-dynamic-require, global-require
62
+ resolvedImplementation = require(resolvedImplementation);
63
+ } catch (error) {
64
+ loaderContext.emitError(error); // eslint-disable-next-line consistent-return
65
+
66
+ return;
67
+ }
68
+ }
69
+
60
70
  const {
61
71
  info
62
72
  } = resolvedImplementation;
@@ -85,6 +95,11 @@ function getSassImplementation(loaderContext, implementation) {
85
95
 
86
96
  loaderContext.emitError(new Error(`Unknown Sass implementation "${implementationName}".`));
87
97
  }
98
+ /**
99
+ * @param {any} loaderContext
100
+ * @returns {boolean}
101
+ */
102
+
88
103
 
89
104
  function isProductionLikeMode(loaderContext) {
90
105
  return loaderContext.mode === "production" || !loaderContext.mode;
@@ -92,10 +107,17 @@ function isProductionLikeMode(loaderContext) {
92
107
 
93
108
  function proxyCustomImporters(importers, loaderContext) {
94
109
  return [].concat(importers).map(importer => function proxyImporter(...args) {
95
- this.webpackLoaderContext = loaderContext;
96
- return importer.apply(this, args);
110
+ const self = { ...this,
111
+ webpackLoaderContext: loaderContext
112
+ };
113
+ return importer.apply(self, args);
97
114
  });
98
115
  }
116
+
117
+ function isSupportedFibers() {
118
+ const [nodeVersion] = process.versions.node.split(".");
119
+ return Number(nodeVersion) < 16;
120
+ }
99
121
  /**
100
122
  * Derives the sass options from the loader context and normalizes its values with sane defaults.
101
123
  *
@@ -112,7 +134,7 @@ async function getSassOptions(loaderContext, loaderOptions, content, implementat
112
134
  const options = (0, _full.klona)(loaderOptions.sassOptions ? typeof loaderOptions.sassOptions === "function" ? loaderOptions.sassOptions(loaderContext) || {} : loaderOptions.sassOptions : {});
113
135
  const isDartSass = implementation.info.includes("dart-sass");
114
136
 
115
- if (isDartSass) {
137
+ if (isDartSass && isSupportedFibers()) {
116
138
  const shouldTryToResolveFibers = !options.fiber && options.fiber !== false;
117
139
 
118
140
  if (shouldTryToResolveFibers) {
@@ -139,7 +161,7 @@ async function getSassOptions(loaderContext, loaderOptions, content, implementat
139
161
  options.file = loaderContext.resourcePath;
140
162
  options.data = loaderOptions.additionalData ? typeof loaderOptions.additionalData === "function" ? await loaderOptions.additionalData(content, loaderContext) : `${loaderOptions.additionalData}\n${content}` : content; // opt.outputStyle
141
163
 
142
- if (!options.outputStyle && isProductionLikeMode(loaderContext)) {
164
+ if (typeof options.outputStyle === "undefined" && isProductionLikeMode(loaderContext)) {
143
165
  options.outputStyle = "compressed";
144
166
  }
145
167
 
@@ -174,6 +196,11 @@ async function getSassOptions(loaderContext, loaderOptions, content, implementat
174
196
  options.importer = options.importer ? proxyCustomImporters(Array.isArray(options.importer) ? options.importer : [options.importer], loaderContext) : [];
175
197
  options.includePaths = [].concat(process.cwd()).concat( // We use `includePaths` in context for resolver, so it should be always absolute
176
198
  (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" ? ";" : ":") : []);
199
+
200
+ if (typeof options.charset === "undefined") {
201
+ options.charset = true;
202
+ }
203
+
177
204
  return options;
178
205
  }
179
206
 
@@ -197,12 +224,12 @@ const IS_MODULE_IMPORT = /^~([^/]+|[^/]+\/|@[^/]+[/][^/]+|@[^/]+\/?|@[^/]+[/][^/
197
224
  *
198
225
  * @param {string} url
199
226
  * @param {boolean} forWebpackResolver
200
- * @param {string} rootContext
227
+ * @param {boolean} fromImport
201
228
  * @returns {Array<string>}
202
229
  */
203
230
 
204
231
  function getPossibleRequests( // eslint-disable-next-line no-shadow
205
- url, forWebpackResolver = false) {
232
+ url, forWebpackResolver = false, fromImport = false) {
206
233
  let request = url; // In case there is module request, send this to webpack resolver
207
234
 
208
235
  if (forWebpackResolver) {
@@ -218,7 +245,7 @@ url, forWebpackResolver = false) {
218
245
  // @see https://github.com/webpack-contrib/sass-loader/issues/167
219
246
 
220
247
 
221
- const ext = _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.
248
+ 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
249
  // 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
250
  // - imports where the URL ends with .css.
224
251
  // - imports where the URL begins http:// or https://.
@@ -228,15 +255,19 @@ url, forWebpackResolver = false) {
228
255
  // The `node-sass` package sends `@import` ending on `.css` to importer, it is bug, so we skip resolve
229
256
 
230
257
 
231
- if (ext === ".css") {
258
+ if (extension === ".css") {
232
259
  return [];
233
260
  }
234
261
 
235
262
  const dirname = _path.default.dirname(request);
236
263
 
264
+ const normalizedDirname = dirname === "." ? "" : `${dirname}/`;
265
+
237
266
  const basename = _path.default.basename(request);
238
267
 
239
- return [...new Set([`${dirname}/_${basename}`, request].concat(forWebpackResolver ? [`${_path.default.dirname(url)}/_${basename}`, url] : []))];
268
+ const basenameWithoutExtension = _path.default.basename(request, extension);
269
+
270
+ return [...new Set([].concat(fromImport ? [`${normalizedDirname}_${basenameWithoutExtension}.import${extension}`, `${normalizedDirname}${basenameWithoutExtension}.import${extension}`] : []).concat([`${normalizedDirname}_${basename}`, `${normalizedDirname}${basename}`]).concat(forWebpackResolver ? [url] : []))];
240
271
  }
241
272
 
242
273
  function promiseResolve(callbackResolve) {
@@ -307,8 +338,16 @@ function getWebpackResolver(resolverFactory, implementation, includePaths = [])
307
338
  }
308
339
  }
309
340
 
310
- const isDartSass = implementation.info.includes("dart-sass");
311
- const sassResolve = promiseResolve(resolverFactory({
341
+ const isDartSass = implementation.info.includes("dart-sass"); // We only have one difference with the built-in sass resolution logic and out resolution logic:
342
+ // First, we look at the files starting with `_`, then without `_` (i.e. `_name.sass`, `_name.scss`, `_name.css`, `name.sass`, `name.scss`, `name.css`),
343
+ // although `sass` look together by extensions (i.e. `_name.sass`/`name.sass`/`_name.scss`/`name.scss`/`_name.css`/`name.css`).
344
+ // It shouldn't be a problem because `sass` throw errors:
345
+ // - on having `_name.sass` and `name.sass` (extension can be `sass`, `scss` or `css`) in the same directory
346
+ // - on having `_name.sass` and `_name.scss` in the same directory
347
+ //
348
+ // Also `sass` prefer `sass`/`scss` over `css`.
349
+
350
+ const sassModuleResolve = promiseResolve(resolverFactory({
312
351
  alias: [],
313
352
  aliasFields: [],
314
353
  conditionNames: [],
@@ -321,7 +360,20 @@ function getWebpackResolver(resolverFactory, implementation, includePaths = [])
321
360
  restrictions: [/\.((sa|sc|c)ss)$/i],
322
361
  preferRelative: true
323
362
  }));
324
- const webpackResolve = promiseResolve(resolverFactory({
363
+ const sassImportResolve = promiseResolve(resolverFactory({
364
+ alias: [],
365
+ aliasFields: [],
366
+ conditionNames: [],
367
+ descriptionFiles: [],
368
+ extensions: [".sass", ".scss", ".css"],
369
+ exportsFields: [],
370
+ mainFields: [],
371
+ mainFiles: ["_index.import", "_index", "index.import", "index"],
372
+ modules: [],
373
+ restrictions: [/\.((sa|sc|c)ss)$/i],
374
+ preferRelative: true
375
+ }));
376
+ const webpackModuleResolve = promiseResolve(resolverFactory({
325
377
  dependencyType: "sass",
326
378
  conditionNames: ["sass", "style"],
327
379
  mainFields: ["sass", "style", "main", "..."],
@@ -330,7 +382,16 @@ function getWebpackResolver(resolverFactory, implementation, includePaths = [])
330
382
  restrictions: [/\.((sa|sc|c)ss)$/i],
331
383
  preferRelative: true
332
384
  }));
333
- return (context, request) => {
385
+ const webpackImportResolve = promiseResolve(resolverFactory({
386
+ dependencyType: "sass",
387
+ conditionNames: ["sass", "style"],
388
+ mainFields: ["sass", "style", "main", "..."],
389
+ mainFiles: ["_index.import", "_index", "index.import", "index", "..."],
390
+ extensions: [".sass", ".scss", ".css"],
391
+ restrictions: [/\.((sa|sc|c)ss)$/i],
392
+ preferRelative: true
393
+ }));
394
+ return (context, request, fromImport) => {
334
395
  // See https://github.com/webpack/webpack/issues/12340
335
396
  // Because `node-sass` calls our importer before `1. Filesystem imports relative to the base file.`
336
397
  // custom importer may not return `{ file: '/path/to/name.ext' }` and therefore our `context` will be relative
@@ -369,11 +430,11 @@ function getWebpackResolver(resolverFactory, implementation, includePaths = [])
369
430
  // 5. Filesystem imports relative to a `SASS_PATH` path.
370
431
  //
371
432
  // `sass` run custom importers before `3`, `4` and `5` points, we need to emulate this behavior to avoid wrong resolution.
372
- const sassPossibleRequests = getPossibleRequests(request); // `node-sass` calls our importer before `1. Filesystem imports relative to the base file.`, so we need emulate this too
433
+ 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
373
434
 
374
435
  if (!isDartSass) {
375
436
  resolutionMap = resolutionMap.concat({
376
- resolve: sassResolve,
437
+ resolve: fromImport ? sassImportResolve : sassModuleResolve,
377
438
  context: _path.default.dirname(context),
378
439
  possibleRequests: sassPossibleRequests
379
440
  });
@@ -382,16 +443,16 @@ function getWebpackResolver(resolverFactory, implementation, includePaths = [])
382
443
  resolutionMap = resolutionMap.concat( // eslint-disable-next-line no-shadow
383
444
  includePaths.map(context => {
384
445
  return {
385
- resolve: sassResolve,
446
+ resolve: fromImport ? sassImportResolve : sassModuleResolve,
386
447
  context,
387
448
  possibleRequests: sassPossibleRequests
388
449
  };
389
450
  }));
390
451
  }
391
452
 
392
- const webpackPossibleRequests = getPossibleRequests(request, true);
453
+ const webpackPossibleRequests = getPossibleRequests(request, true, fromImport);
393
454
  resolutionMap = resolutionMap.concat({
394
- resolve: webpackResolve,
455
+ resolve: fromImport ? webpackImportResolve : webpackModuleResolve,
395
456
  context: _path.default.dirname(context),
396
457
  possibleRequests: webpackPossibleRequests
397
458
  });
@@ -399,19 +460,22 @@ function getWebpackResolver(resolverFactory, implementation, includePaths = [])
399
460
  };
400
461
  }
401
462
 
402
- const matchCss = /\.css$/i;
463
+ const MATCH_CSS = /\.css$/i;
403
464
 
404
465
  function getWebpackImporter(loaderContext, implementation, includePaths) {
405
466
  const resolve = getWebpackResolver(loaderContext.getResolve, implementation, includePaths);
406
- return (originalUrl, prev, done) => {
407
- resolve(prev, originalUrl).then(result => {
467
+ return function importer(originalUrl, prev, done) {
468
+ const {
469
+ fromImport
470
+ } = this;
471
+ resolve(prev, originalUrl, fromImport).then(result => {
408
472
  // Add the result as dependency.
409
473
  // Although we're also using stats.includedFiles, this might come in handy when an error occurs.
410
474
  // In this case, we don't get stats.includedFiles from node-sass/sass.
411
475
  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.
412
476
 
413
477
  done({
414
- file: result.replace(matchCss, "")
478
+ file: result.replace(MATCH_CSS, "")
415
479
  });
416
480
  }) // Catch all resolving errors, return the original file and pass responsibility back to other custom importers
417
481
  .catch(() => {
@@ -449,6 +513,10 @@ function getRenderFunctionFromSassImplementation(implementation) {
449
513
  }
450
514
 
451
515
  const ABSOLUTE_SCHEME = /^[A-Za-z0-9+\-.]+:/;
516
+ /**
517
+ * @param {string} source
518
+ * @returns {"absolute" | "scheme-relative" | "path-absolute" | "path-absolute"}
519
+ */
452
520
 
453
521
  function getURLType(source) {
454
522
  if (source[0] === "/") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sass-loader",
3
- "version": "11.1.0",
3
+ "version": "12.2.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": ">= 10.13.0"
16
+ "node": ">= 12.13.0"
17
17
  },
18
18
  "scripts": {
19
19
  "start": "npm run build -- -w",
@@ -21,7 +21,7 @@
21
21
  "prebuild": "npm run clean",
22
22
  "build": "cross-env NODE_ENV=production babel src -d dist --copy-files",
23
23
  "commitlint": "commitlint --from=master",
24
- "security": "npm audit",
24
+ "security": "npm audit --production",
25
25
  "lint:prettier": "prettier --list-different .",
26
26
  "lint:js": "eslint --cache .",
27
27
  "lint": "npm-run-all -l -p \"lint:**\"",
@@ -59,40 +59,41 @@
59
59
  "neo-async": "^2.6.2"
60
60
  },
61
61
  "devDependencies": {
62
- "@babel/cli": "^7.13.16",
63
- "@babel/core": "^7.14.0",
64
- "@babel/preset-env": "^7.14.1",
65
- "@commitlint/cli": "^12.1.1",
66
- "@commitlint/config-conventional": "^12.1.1",
62
+ "@babel/cli": "^7.14.5",
63
+ "@babel/core": "^7.14.6",
64
+ "@babel/preset-env": "^7.14.7",
65
+ "@commitlint/cli": "^13.1.0",
66
+ "@commitlint/config-conventional": "^13.1.0",
67
67
  "@webpack-contrib/eslint-config-webpack": "^3.0.0",
68
- "babel-jest": "^26.6.3",
69
- "bootstrap": "^4.5.3",
68
+ "babel-jest": "^27.0.6",
70
69
  "bootstrap-sass": "^3.4.1",
70
+ "bootstrap-v4": "npm:bootstrap@^4.5.3",
71
+ "bootstrap-v5": "npm:bootstrap@^5.0.1",
71
72
  "cross-env": "^7.0.3",
72
- "css-loader": "^5.2.4",
73
+ "css-loader": "^6.2.0",
73
74
  "del": "^6.0.0",
74
- "del-cli": "^3.0.1",
75
- "enhanced-resolve": "^5.8.0",
76
- "eslint": "^7.26.0",
75
+ "del-cli": "^4.0.1",
76
+ "enhanced-resolve": "^5.8.2",
77
+ "eslint": "^7.30.0",
77
78
  "eslint-config-prettier": "^8.3.0",
78
- "eslint-plugin-import": "^2.22.1",
79
+ "eslint-plugin-import": "^2.23.3",
79
80
  "fibers": "^5.0.0",
80
81
  "file-loader": "^6.2.0",
81
82
  "foundation-sites": "^6.6.3",
82
- "husky": "^6.0.0",
83
- "jest": "^26.6.3",
84
- "lint-staged": "^11.0.0",
83
+ "husky": "^7.0.1",
84
+ "jest": "^27.0.6",
85
+ "lint-staged": "^11.0.1",
85
86
  "material-components-web": "^8.0.0",
86
87
  "memfs": "^3.2.2",
87
- "node-sass": "^5.0.0",
88
+ "node-sass": "^6.0.1",
88
89
  "node-sass-glob-importer": "^5.3.2",
89
90
  "npm-run-all": "^4.1.5",
90
- "prettier": "^2.3.0",
91
- "sass": "^1.32.12",
91
+ "prettier": "^2.3.2",
92
+ "sass": "^1.35.2",
92
93
  "semver": "^7.3.5",
93
- "standard-version": "^9.3.0",
94
- "style-loader": "^2.0.0",
95
- "webpack": "^5.36.2"
94
+ "standard-version": "^9.3.1",
95
+ "style-loader": "^3.2.1",
96
+ "webpack": "^5.45.1"
96
97
  },
97
98
  "keywords": [
98
99
  "sass",
package/CHANGELOG.md DELETED
@@ -1,575 +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.1.0](https://github.com/webpack-contrib/sass-loader/compare/v11.0.1...v11.1.0) (2021-05-10)
6
-
7
-
8
- ### Features
9
-
10
- * support `node-sass` v6.0.0 ([#947](https://github.com/webpack-contrib/sass-loader/issues/947)) ([7869b29](https://github.com/webpack-contrib/sass-loader/commit/7869b29916d5120037a0e67063420b3333d7f68b))
11
-
12
- ### [11.0.1](https://github.com/webpack-contrib/sass-loader/compare/v11.0.0...v11.0.1) (2021-02-08)
13
-
14
-
15
- ### Bug Fixes
16
-
17
- * compatibility with custom importers for `node-sass` ([#927](https://github.com/webpack-contrib/sass-loader/issues/927)) ([af5a072](https://github.com/webpack-contrib/sass-loader/commit/af5a072c5170f96f3d0643dec658248d98f65ff7))
18
-
19
- ## [11.0.0](https://github.com/webpack-contrib/sass-loader/compare/v10.1.1...v11.0.0) (2021-02-05)
20
-
21
-
22
- ### Notes
23
-
24
- * using `~` is deprecated and can be removed from your code (**we recommend it**), but we still support it for historical reasons.
25
-
26
- Why you can removed it?
27
- 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).
28
- Using `~` means looking for files in [`node_modules`](https://webpack.js.org/configuration/resolve/#resolve-modules) or `resolve.alias` or `resolve.fallback`.
29
-
30
- ### ⚠ BREAKING CHANGES
31
-
32
- * minimum supported `webpack` version is `5`
33
-
34
- ### Features
35
-
36
- * supported the [`resolve.byDependency`](https://webpack.js.org/configuration/resolve/#resolvebydependency) option, you can setup `{ resolve: { byDependency: { sass: { mainFiles: ['custom', '...'] } } } }`
37
-
38
- ### [10.1.1](https://github.com/webpack-contrib/sass-loader/compare/v10.1.0...v10.1.1) (2021-01-11)
39
-
40
-
41
- ### Bug Fixes
42
-
43
- * 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))
44
-
45
- ## [10.1.0](https://github.com/webpack-contrib/sass-loader/compare/v10.0.5...v10.1.0) (2020-11-11)
46
-
47
-
48
- ### Features
49
-
50
- * 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))
51
-
52
- ### [10.0.5](https://github.com/webpack-contrib/sass-loader/compare/v10.0.4...v10.0.5) (2020-11-02)
53
-
54
-
55
- ### Bug Fixes
56
-
57
- * 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))
58
-
59
- ### [10.0.4](https://github.com/webpack-contrib/sass-loader/compare/v10.0.3...v10.0.4) (2020-10-22)
60
-
61
-
62
- ### Bug Fixes
63
-
64
- * 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))
65
-
66
- ### [10.0.3](https://github.com/webpack-contrib/sass-loader/compare/v10.0.2...v10.0.3) (2020-10-09)
67
-
68
- ### Chore
69
-
70
- * update `schema-utils`
71
-
72
- ### [10.0.2](https://github.com/webpack-contrib/sass-loader/compare/v10.0.1...v10.0.2) (2020-09-03)
73
-
74
-
75
- ### Bug Fixes
76
-
77
- * source maps generation ([#886](https://github.com/webpack-contrib/sass-loader/issues/886)) ([8327d55](https://github.com/webpack-contrib/sass-loader/commit/8327d55df9e8fc6e24d2759d7bd50174ed1ff1e4))
78
-
79
- ### [10.0.1](https://github.com/webpack-contrib/sass-loader/compare/v10.0.0...v10.0.1) (2020-08-25)
80
-
81
- ### Chore
82
-
83
- * update deps
84
-
85
- ## [10.0.0](https://github.com/webpack-contrib/sass-loader/compare/v10.0.0-rc.0...v10.0.0) (2020-08-24)
86
-
87
- ### Bug Fixes
88
-
89
- * handle absolute windows path in source maps
90
-
91
- ## [10.0.0-rc.0](https://github.com/webpack-contrib/sass-loader/compare/v9.0.3...v10.0.0-rc.0) (2020-08-24)
92
-
93
-
94
- ### ⚠ BREAKING CHANGES
95
-
96
- * loader generates absolute `sources` in source maps, also avoids modifying `sass` source maps if the `sourceMap` option is `false`
97
-
98
- ### [9.0.3](https://github.com/webpack-contrib/sass-loader/compare/v9.0.2...v9.0.3) (2020-08-05)
99
-
100
-
101
- ### Bug Fixes
102
-
103
- * resolution algorithm ([#875](https://github.com/webpack-contrib/sass-loader/issues/875)) ([ea73cfa](https://github.com/webpack-contrib/sass-loader/commit/ea73cfab047c751e1055d0c2ec58ef503f7dbe36))
104
-
105
- ### [9.0.2](https://github.com/webpack-contrib/sass-loader/compare/v9.0.1...v9.0.2) (2020-07-07)
106
-
107
-
108
- ### Bug Fixes
109
-
110
- * 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))
111
-
112
- ### [9.0.1](https://github.com/webpack-contrib/sass-loader/compare/v9.0.0...v9.0.1) (2020-07-03)
113
-
114
-
115
- ### Bug Fixes
116
-
117
- * 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))
118
-
119
- ## [9.0.0](https://github.com/webpack-contrib/sass-loader/compare/v8.0.2...v9.0.0) (2020-07-02)
120
-
121
-
122
- ### ⚠ BREAKING CHANGES
123
-
124
- * minimum supported Nodejs version is `10.13`
125
- * prefer `sass` (`dart-sass`) by default, it is strongly recommended to migrate on `sass` (`dart-sass`)
126
- * the `prependData` option was removed in favor the `additionalData` option, see [docs](https://github.com/webpack-contrib/sass-loader#additionaldata)
127
- * when the `sourceMap` is `true`, `sassOptions.sourceMap`, `sassOptions.sourceMapContents`, `sassOptions.sourceMapEmbed`, `sassOptions.sourceMapRoot` and `sassOptions.omitSourceMapUrl` will be ignored.
128
-
129
- ### Features
130
-
131
- * 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))
132
- * 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))
133
- * 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))
134
- * 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))
135
-
136
- ### Bug Fixes
137
-
138
- * 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))
139
- * 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))
140
- * resolution logic for `file://` scheme was improved ([17832fd](https://github.com/webpack-contrib/sass-loader/commit/17832fdb11f91593f4e2995003d67aebefb3be90))
141
- * resolution logic for absolute paths and server relative URLs was improved
142
- * source maps generation was improved
143
-
144
- ### [8.0.2](https://github.com/webpack-contrib/sass-loader/compare/v8.0.1...v8.0.2) (2020-01-13)
145
-
146
-
147
- ### Bug Fixes
148
-
149
- * compatibility with node@8 ([#798](https://github.com/webpack-contrib/sass-loader/issues/798)) ([6f3852f](https://github.com/webpack-contrib/sass-loader/commit/6f3852f7d393dd0bc8f8d264d81ecc941bc72511))
150
-
151
- ### [8.0.1](https://github.com/webpack-contrib/sass-loader/compare/v8.0.0...v8.0.1) (2020-01-10)
152
-
153
-
154
- ### Bug Fixes
155
-
156
- * support webpack@5 ([#794](https://github.com/webpack-contrib/sass-loader/issues/794)) ([6c59e37](https://github.com/webpack-contrib/sass-loader/commit/6c59e37e3f67668d7a3908444ddfc0176bc5601f))
157
-
158
- ## [8.0.0](https://github.com/webpack-contrib/sass-loader/compare/v7.3.1...v8.0.0) (2019-08-29)
159
-
160
-
161
- ### ⚠ BREAKING CHANGES
162
-
163
- * minimum required `webpack` version is `4.36.0`
164
- * minimum required `node.js` version is `8.9.0`
165
- * 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.
166
- * the `data` option was renamed to the `prependData` option
167
- * default value of the `sourceMap` option depends on the `devtool` value (`eval`/`false` values don't enable source map generation)
168
-
169
-
170
- ### Features
171
-
172
- * 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))
173
- * 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))
174
- * validate loader options ([#737](https://github.com/webpack-contrib/sass-loader/issues/737)) ([7b543fc](https://github.com/webpack-contrib/sass-loader/commit/7b543fc))
175
- * reworked error handling from `node-sass`/`sass`
176
- * improve resolution for `@import` (including support `_index` and `index` files in a directory)
177
-
178
- ### Bug Fixes
179
-
180
- * compatibility with `pnp`
181
-
182
-
183
- ### [7.3.1](https://github.com/webpack-contrib/sass-loader/compare/v7.3.0...v7.3.1) (2019-08-20)
184
-
185
-
186
- ### Bug Fixes
187
-
188
- * 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))
189
-
190
- ## [7.3.0](https://github.com/webpack-contrib/sass-loader/compare/v7.2.0...v7.3.0) (2019-08-20)
191
-
192
-
193
- ### Bug Fixes
194
-
195
- * 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))
196
- * resolution algorithm ([#720](https://github.com/webpack-contrib/sass-loader/issues/720)) ([0e94940](https://github.com/webpack-contrib/sass-loader/commit/0e94940))
197
- * 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))
198
-
199
-
200
- ### Features
201
-
202
- * `webpackImporter` option ([#732](https://github.com/webpack-contrib/sass-loader/issues/732)) ([6f4ea37](https://github.com/webpack-contrib/sass-loader/commit/6f4ea37))
203
-
204
- <a name="7.2.0"></a>
205
- # [7.2.0](https://github.com/webpack-contrib/sass-loader/compare/v7.1.0...v7.2.0) (2019-08-08)
206
-
207
-
208
- ### Bug Fixes
209
-
210
- * 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))
211
- * 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))
212
- * relax node engine ([#708](https://github.com/webpack-contrib/sass-loader/issues/708)) ([2a51502](https://github.com/webpack-contrib/sass-loader/commit/2a51502))
213
-
214
-
215
- ### Features
216
-
217
- * 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))
218
- * support `data` as `Function` ([#648](https://github.com/webpack-contrib/sass-loader/issues/648)) ([aa64e1b](https://github.com/webpack-contrib/sass-loader/commit/aa64e1b))
219
- * 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))
220
- * support auto resolving `dart-sass` ([ff90dd6](https://github.com/webpack-contrib/sass-loader/commit/ff90dd6))
221
-
222
-
223
-
224
- <a name="7.1.0"></a>
225
- # [7.1.0](https://github.com/webpack-contrib/sass-loader/compare/v7.0.3...v7.1.0) (2018-08-01)
226
-
227
-
228
- ### Features
229
-
230
- * 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)
231
-
232
-
233
-
234
- <a name="7.0.3"></a>
235
- ## [7.0.3](https://github.com/webpack-contrib/sass-loader/compare/v7.0.2...v7.0.3) (2018-06-05)
236
-
237
-
238
- ### Bug Fixes
239
-
240
- * 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)
241
-
242
-
243
-
244
- <a name="7.0.2"></a>
245
- ## [7.0.2](https://github.com/webpack-contrib/sass-loader/compare/v7.0.1...v7.0.2) (2018-06-02)
246
-
247
-
248
- ### Bug Fixes
249
-
250
- * 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)
251
- * Report error to user for problems loading node-sass (#562) ([2529c07](https://github.com/webpack-contrib/sass-loader/commit/2529c07))
252
-
253
-
254
-
255
- <a name="7.0.1"></a>
256
- ## [7.0.1](https://github.com/webpack-contrib/sass-loader/compare/v7.0.0...v7.0.1) (2018-04-13)
257
-
258
-
259
- ### Bug Fixes
260
-
261
- * Wrong import precedence (#557) ([f4eeff1](https://github.com/webpack-contrib/sass-loader/commit/f4eeff1))
262
-
263
-
264
-
265
- <a name="7.0.0"></a>
266
- # [7.0.0](https://github.com/webpack-contrib/sass-loader/compare/v6.0.7...v7.0.0) (2018-04-13)
267
-
268
-
269
- ### Features
270
-
271
- * Refactor resolving and simplify webpack config aliases (#479) ([e0fde1a](https://github.com/webpack-contrib/sass-loader/commit/e0fde1a))
272
- * Remove `node-sass` from `peerDependencies` (#533) ([6439cef](https://github.com/webpack-contrib/sass-loader/commit/6439cef))
273
-
274
-
275
- ### BREAKING CHANGES
276
-
277
- * Drop official node 4 support
278
- * This slightly changes the resolving algorithm. Should not break in normal usage, but might break in complex configurations.
279
- * 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.
280
-
281
-
282
-
283
- <a name="6.0.7"></a>
284
- ## [6.0.7](https://github.com/webpack-contrib/sass-loader/compare/v6.0.6...v6.0.7) (2018-03-03)
285
-
286
-
287
- ### Bug Fixes
288
-
289
- * **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))
290
-
291
-
292
- ### Performance Improvements
293
-
294
- * 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))
295
-
296
-
297
-
298
- <a name="6.0.6"></a>
299
- ## [6.0.6](https://github.com/webpack-contrib/sass-loader/compare/v6.0.5...v6.0.6) (2017-06-14)
300
-
301
- ### Chore
302
-
303
- * Adds Webpack 3.x version range to peerDependencies
304
-
305
-
306
- <a name="6.0.5"></a>
307
- # [6.0.5](https://github.com/webpack-contrib/sass-loader/compare/v6.0.5...v6.0.4) (2017-05-10)
308
-
309
- ### Bug Fixes
310
-
311
- * 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))
312
-
313
-
314
- <a name="6.0.4"></a>
315
- # [6.0.4](https://github.com/webpack-contrib/sass-loader/compare/v6.0.4...v6.0.3) (2017-05-09)
316
-
317
- ### Bug Fixes
318
-
319
- * fix: Resolving of scoped npm packages [#447](https://github.com/webpack-contrib/sass-loader/pull/447)
320
-
321
-
322
- <a name="6.0.3"></a>
323
- # [6.0.3](https://github.com/webpack-contrib/sass-loader/compare/v6.0.3...v6.0.2) (2017-03-07)
324
-
325
- ### Bug Fixes
326
-
327
- * Fix regression with empty files [#398](https://github.com/webpack-contrib/sass-loader/pull/398)
328
-
329
-
330
- ### Chore
331
-
332
- * Reduce npm package size by using the [files](https://docs.npmjs.com/files/package.json#files) property in the `package.json`
333
-
334
-
335
- <a name="6.0.2"></a>
336
- # [6.0.2](https://github.com/webpack-contrib/sass-loader/compare/v6.0.2...v6.0.1) (2017-02-21)
337
-
338
- ### Chore
339
-
340
- * Update dependencies [#383](https://github.com/webpack-contrib/sass-loader/pull/383)
341
-
342
-
343
- <a name="6.0.1"></a>
344
- # [6.0.1](https://github.com/webpack-contrib/sass-loader/compare/v6.0.1...v6.0.0) (2017-02-17)
345
-
346
- ### Bug Fixes
347
-
348
- * Fix source maps in certain CWDs. [#377](https://github.com/webpack-contrib/sass-loader/pull/377)
349
-
350
-
351
- <a name="6.0.0"></a>
352
- # [6.0.0](https://github.com/webpack-contrib/sass-loader/compare/v6.0.0...v5.0.1) (2017-02-13)
353
-
354
- ### Bug Fixes
355
-
356
- * Improve source map support. [#374](https://github.com/webpack-contrib/sass-loader/issues/374)
357
-
358
-
359
- ### BREAKING CHANGES
360
-
361
- * This is breaking for the resolve-url-loader
362
-
363
-
364
- <a name="5.0.1"></a>
365
- # [5.0.1](https://github.com/webpack-contrib/sass-loader/compare/v5.0.1...v5.0.0) (2017-02-13)
366
-
367
- ### Bug Fixes
368
-
369
- * Fix bug where multiple compilations interfered with each other. [#369](https://github.com/webpack-contrib/sass-loader/pull/369)
370
-
371
-
372
- <a name="5.0.0"></a>
373
- # [5.0.0](https://github.com/webpack-contrib/sass-loader/compare/v5.0.0...v4.1.1) (2017-02-13)
374
-
375
- ### Code Refactoring
376
-
377
- * Remove synchronous compilation support [#334](https://github.com/webpack-contrib/sass-loader/pull/334)
378
-
379
-
380
- ### BREAKING CHANGES
381
-
382
- * Remove node 0.12 support. [29b30755021a834e622bf4b5bb9db4d6e5913905](https://github.com/webpack-contrib/sass-loader/commit/29b30755021a834e622bf4b5bb9db4d6e5913905)
383
- * Remove official node-sass@3 and webpack@1 support. [5a6bcb96d8bd7a7a11c33252ba739ffe09ca38c5](https://github.com/webpack-contrib/sass-loader/commit/5a6bcb96d8bd7a7a11c33252ba739ffe09ca38c5)
384
- * Remove synchronous compilation support. [#334](https://github.com/webpack-contrib/sass-loader/pull/334)
385
-
386
-
387
- <a name="4.1.1"></a>
388
- # [4.1.1](https://github.com/webpack-contrib/sass-loader/compare/v4.1.1...v4.1.0) (2016-12-21)
389
-
390
- ### Chore
391
-
392
- * Update webpack peer dependency to support 2.2.0rc. [#330](https://github.com/webpack-contrib/sass-loader/pull/330)
393
-
394
-
395
- <a name="4.1.0"></a>
396
- # [4.1.0](https://github.com/webpack-contrib/sass-loader/compare/v4.1.0...v4.0.2) (2016-12-14)
397
-
398
- ### Features
399
-
400
- * Update `node-sass@4.0.0` [#319](https://github.com/webpack-contrib/sass-loader/pull/319)
401
-
402
-
403
- <a name="4.0.2"></a>
404
- # [4.0.2](https://github.com/webpack-contrib/sass-loader/compare/v4.0.2...v4.0.1) (2016-07-07)
405
-
406
- ### Bug Fixes
407
-
408
- * Fix wrong context in customImporters [#281](https://github.com/webpack-contrib/sass-loader/pull/281)
409
-
410
-
411
- <a name="4.0.1"></a>
412
- # [4.0.1](https://github.com/webpack-contrib/sass-loader/compare/v4.0.1...v4.0.0) (2016-07-01)
413
-
414
- ### Bug Fixes
415
-
416
- * Fix custom importers receiving `'stdin'` as second argument instead of the actual `resourcePath` [#267](https://github.com/webpack-contrib/sass-loader/pull/267)
417
-
418
-
419
- <a name="4.0.0"></a>
420
- # [4.0.0](https://github.com/webpack-contrib/sass-loader/compare/v4.0.0...v3.2.2) (2016-06-27)
421
-
422
- ### Bug Fixes
423
-
424
- * Fix incorrect source map paths [#250](https://github.com/webpack-contrib/sass-loader/pull/250)
425
-
426
-
427
- ### BREAKING CHANGES
428
-
429
- * Release new major version because the previous release was a breaking change in certain scenarios
430
- See: https://github.com/webpack-contrib/sass-loader/pull/250#issuecomment-228663059
431
-
432
-
433
- <a name="3.2.2"></a>
434
- # [3.2.2](https://github.com/webpack-contrib/sass-loader/compare/v3.2.2...v3.2.1) (2016-06-26)
435
-
436
- ### Bug Fixes
437
-
438
- * Fix incorrect source map paths [#250](https://github.com/webpack-contrib/sass-loader/pull/250)
439
-
440
-
441
- <a name="3.2.1"></a>
442
- # [3.2.1](https://github.com/webpack-contrib/sass-loader/compare/v3.2.1...v3.2.0) (2016-06-19)
443
-
444
- ### Bug Fixes
445
-
446
- * Add `webpack@^2.1.0-beta` as peer dependency [#233](https://github.com/webpack-contrib/sass-loader/pull/233)
447
-
448
-
449
- <a name="3.2.0"></a>
450
- # [3.2.0](https://github.com/webpack-contrib/sass-loader/compare/v3.2.0...v3.1.2) (2016-03-12)
451
-
452
- ### Features
453
-
454
- * Append file content instead of overwriting when `data`-option is already present [#216](https://github.com/webpack-contrib/sass-loader/pull/216)
455
- * Make `indentedSyntax` option a bit smarter [#196](https://github.com/webpack-contrib/sass-loader/pull/196)
456
-
457
-
458
- <a name="3.1.2"></a>
459
- # [3.1.2](https://github.com/webpack-contrib/sass-loader/compare/v3.1.2...v3.1.1) (2015-11-22)
460
-
461
- ### Bug Fixes
462
-
463
- * Fix loader query not overriding webpack config [#189](https://github.com/webpack-contrib/sass-loader/pull/189)
464
- * Update peer-dependencies [#182](https://github.com/webpack-contrib/sass-loader/pull/182)
465
- - `node-sass^3.4.2`
466
- - `webpack^1.12.6`
467
-
468
-
469
- <a name="3.1.1"></a>
470
- # [3.1.1](https://github.com/webpack-contrib/sass-loader/compare/v3.1.1...v3.1.0) (2015-10-26)
471
-
472
- ### Bug Fixes
473
-
474
- * Fix missing module `object-assign` [#178](https://github.com/webpack-contrib/sass-loader/issues/178)
475
-
476
-
477
- <a name="3.1.0"></a>
478
- # [3.1.0](https://github.com/webpack-contrib/sass-loader/compare/v3.1.0...v3.0.0) (2015-10-25)
479
-
480
- ### Bug Fixes
481
-
482
- * Fix a problem where modules with a `.` in their names were not resolved [#167](https://github.com/webpack-contrib/sass-loader/issues/167)
483
-
484
-
485
- ### Features
486
-
487
- * 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)
488
-
489
-
490
- <a name="3.0.0"></a>
491
- # [3.0.0](https://github.com/webpack-contrib/sass-loader/compare/v3.0.0...v2.0.1) (2015-09-29)
492
-
493
- ### Bug Fixes
494
-
495
- * Fix crash when Sass reported an error without `file` [#158](https://github.com/webpack-contrib/sass-loader/pull/158)
496
-
497
-
498
- ### BREAKING CHANGES
499
-
500
- * 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)
501
-
502
-
503
- <a name="2.0.1"></a>
504
- # [2.0.1](https://github.com/webpack-contrib/sass-loader/compare/v2.0.1...v2.0.0) (2015-08-14)
505
-
506
- ### Bug Fixes
507
-
508
- * Add missing path normalization (fixes [#141](https://github.com/webpack-contrib/sass-loader/pull/141))
509
-
510
-
511
- <a name="2.0.0"></a>
512
- # [2.0.0](https://github.com/webpack-contrib/sass-loader/compare/v2.0.0...v1.0.4) (2015-08-06)
513
-
514
- ### Bug Fixes
515
-
516
- * 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)
517
- * Fix path resolving on Windows [#108](https://github.com/webpack-contrib/sass-loader/issues/108)
518
- * Fix file watchers on Windows [#102](https://github.com/webpack-contrib/sass-loader/issues/102)
519
- * Fix file watchers for files with errors [#134](https://github.com/webpack-contrib/sass-loader/pull/134)
520
-
521
-
522
- ### Code Refactoring
523
-
524
- * 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))
525
-
526
-
527
- ### BREAKING CHANGES
528
-
529
- * 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)
530
-
531
-
532
- <a name="1.0.4"></a>
533
- # [1.0.4](https://github.com/webpack-contrib/sass-loader/compare/v1.0.4...v1.0.3) (2015-08-03)
534
-
535
- ### Bug Fixes
536
-
537
- * Fix wrong source-map urls [#123](https://github.com/webpack-contrib/sass-loader/pull/123)
538
- * Include source-map contents by default [#104](https://github.com/webpack-contrib/sass-loader/pull/104)
539
-
540
-
541
- <a name="1.0.3"></a>
542
- # [1.0.3](https://github.com/webpack-contrib/sass-loader/compare/v1.0.3...v1.0.2) (2015-07-22)
543
-
544
- ### Bug Fixes
545
-
546
- * Fix importing css files from scss/sass [#101](https://github.com/webpack-contrib/sass-loader/issues/101)
547
- * 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)
548
-
549
-
550
- <a name="1.0.2"></a>
551
- # [1.0.2](https://github.com/webpack-contrib/sass-loader/compare/v1.0.2...v1.0.1) (2015-04-15)
552
-
553
- ### Bug Fixes
554
-
555
- * Fix a bug where files could not be imported across language styles [#73](https://github.com/webpack-contrib/sass-loader/issues/73)
556
- * Update peer-dependency `node-sass` to `3.1.0`
557
-
558
-
559
- <a name="1.0.1"></a>
560
- # [1.0.1](https://github.com/webpack-contrib/sass-loader/compare/v1.0.1...v1.0.0) (2015-03-31)
561
-
562
- ### Bug Fixes
563
-
564
- * Fix Sass partials not being resolved anymore [#68](https://github.com/webpack-contrib/sass-loader/issues/68)
565
- * Update peer-dependency `node-sass` to `3.0.0-beta.4`
566
-
567
-
568
- <a name="1.0.0"></a>
569
- # [1.0.0](https://github.com/webpack-contrib/sass-loader/compare/v1.0.0...v0.3.1) (2015-03-22)
570
-
571
- ### Bug Fixes
572
-
573
- * Moved `node-sass^3.0.0-alpha.0` to `peerDependencies` [#28](https://github.com/webpack-contrib/sass-loader/issues/28)
574
- * Using webpack's module resolver as custom importer [#39](https://github.com/webpack-contrib/sass-loader/issues/31)
575
- * 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)