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 CHANGED
@@ -1,5 +1,5 @@
1
1
  <div align="center">
2
- <img height="100"
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 can removed it? The loader will first try to resolve `@import` as relative, if it cannot be resolved, the loader will try to resolve `@import` inside [`node_modules`](https://webpack.js.org/configuration/resolve/#resolve-modules).
95
- Just prepend them with a `~` which tells webpack to look up the [`modules`](https://webpack.js.org/configuration/resolve/#resolve-modules).
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 only prepend it with `~`, because `~/` resolves to the home directory.
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
- * @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
 
@@ -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
- this.webpackLoaderContext = loaderContext;
96
- return importer.apply(this, args);
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
- } // Examples:
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 {string} rootContext
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 (isModuleImport.test(url)) {
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 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.
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 (ext === ".css") {
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
- return [...new Set([`${dirname}/_${basename}`, request].concat(forWebpackResolver ? [`${_path.default.dirname(url)}/_${basename}`, url] : []))];
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 = [], rootContext = false) {
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
- const sassResolve = promiseResolve(resolverFactory({
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 webpackResolve = promiseResolve(resolverFactory({
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
- return (context, request) => {
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
- // Because `sass`/`node-sass` run custom importers before `3`, `4` and `5` points, we need to emulate this behavior to avoid wrong resolution.
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: sassResolve,
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: sassResolve,
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, rootContext);
437
+ const webpackPossibleRequests = getPossibleRequests(request, true, fromImport);
387
438
  resolutionMap = resolutionMap.concat({
388
- resolve: webpackResolve,
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 matchCss = /\.css$/i;
447
+ const MATCH_CSS = /\.css$/i;
397
448
 
398
449
  function getWebpackImporter(loaderContext, implementation, includePaths) {
399
- const resolve = getWebpackResolver(loaderContext.getResolve, implementation, includePaths, loaderContext.rootContext);
400
- return (originalUrl, prev, done) => {
401
- resolve(prev, originalUrl).then(result => {
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(matchCss, "")
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": "11.0.0",
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": ">= 10.13.0"
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
- "webpack": "^5.0.0",
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
- "fibers": ">= 3.1.0"
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.12.10",
64
- "@babel/core": "^7.12.10",
65
- "@babel/preset-env": "^7.12.11",
66
- "@commitlint/cli": "^11.0.0",
67
- "@commitlint/config-conventional": "^11.0.0",
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": "^26.6.3",
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.0.1",
73
+ "css-loader": "^5.2.6",
75
74
  "del": "^6.0.0",
76
75
  "del-cli": "^3.0.1",
77
- "enhanced-resolve": "^5.5.0",
78
- "eslint": "^7.13.0",
79
- "eslint-config-prettier": "^7.1.0",
80
- "eslint-plugin-import": "^2.22.1",
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": "^4.3.6",
85
- "jest": "^26.6.3",
86
- "lint-staged": "^10.5.3",
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.0",
89
- "node-sass": "^5.0.0",
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.2.1",
92
- "sass": "^1.32.0",
93
- "semver": "^7.3.4",
94
- "standard-version": "^9.1.0",
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.20.2"
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)