From d1d8221d7602925f5243a002843febc458da8058 Mon Sep 17 00:00:00 2001 From: Kristoffer Gram Date: Wed, 17 Jan 2018 13:59:52 +0100 Subject: [PATCH 1/8] fix: ignore invalid URLs (`url()`) (#663) --- lib/url/escape.js | 3 +++ test/helpers.js | 2 +- test/urlTest.js | 6 ++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/url/escape.js b/lib/url/escape.js index be9bd2c8..25074a6e 100644 --- a/lib/url/escape.js +++ b/lib/url/escape.js @@ -1,4 +1,7 @@ module.exports = function escape(url) { + if (typeof url !== 'string') { + return url + } // If url is already wrapped in quotes, remove them if (/^['"].*['"]$/.test(url)) { url = url.slice(1, -1); diff --git a/test/helpers.js b/test/helpers.js index df0d14b6..5764527a 100644 --- a/test/helpers.js +++ b/test/helpers.js @@ -16,7 +16,7 @@ function getEvaluated(output, modules) { return require("../lib/url/escape"); if(module.indexOf("-!/path/css-loader!") === 0) module = module.substr(19); - if(modules && modules[module]) + if(modules && module in modules) return modules[module]; return "{" + module + "}"; }); diff --git a/test/urlTest.js b/test/urlTest.js index 4690319c..543a47fe 100644 --- a/test/urlTest.js +++ b/test/urlTest.js @@ -125,6 +125,12 @@ describe("url", function() { test("module from url-loader", ".class { background: green url(module) xyz }", [ [1, ".class { background: green url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA) xyz }", ""] ], "", { './module': "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA" }); + test("module from null-loader (empty object from webpack)", ".class { background: green url(module) xyz }", [ + [1, ".class { background: green url([object Object]) xyz }", ""] + ], "", { './module': {} }); + test("module is null", ".class { background: green url(module) xyz }", [ + [1, ".class { background: green url(null) xyz }", ""] + ], "", { './module': null }); test("background img with url", ".class { background: green url( \"img.png\" ) xyz }", [ [1, ".class { background: green url( \"img.png\" ) xyz }", ""] From 604bd4b8af5c57f427e0ffa4f6c77dada67f27c1 Mon Sep 17 00:00:00 2001 From: Michael Ciniawsky Date: Wed, 17 Jan 2018 14:18:04 +0100 Subject: [PATCH 2/8] chore(package): update dependencies --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 13c93fee..967a31dc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2941,11 +2941,11 @@ } }, "postcss-modules-extract-imports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", - "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz", + "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", "requires": { - "postcss": "6.0.15" + "postcss": "6.0.16" }, "dependencies": { "ansi-styles": { @@ -2982,9 +2982,9 @@ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" }, "postcss": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.15.tgz", - "integrity": "sha512-v/SpyMzLbtkmh45zUdaqLAaqXqzPdSrw8p4cQVO0/w6YiYfpj4k+Wkzhn68qk9br+H+0qfddhdPEVnbmBPfXVQ==", + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz", + "integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==", "requires": { "chalk": "2.3.0", "source-map": "0.6.1", diff --git a/package.json b/package.json index 308bf8ce..8345c482 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "lodash.camelcase": "^4.3.0", "object-assign": "^4.1.1", "postcss": "^5.0.6", - "postcss-modules-extract-imports": "^1.1.0", + "postcss-modules-extract-imports": "^1.2.0", "postcss-modules-local-by-default": "^1.2.0", "postcss-modules-scope": "^1.1.0", "postcss-modules-values": "^1.3.0", From 630579d01e9d28a2032e707dcea2ad9f4ec613da Mon Sep 17 00:00:00 2001 From: Michael Ciniawsky Date: Wed, 17 Jan 2018 14:18:25 +0100 Subject: [PATCH 3/8] chore(release): 0.28.9 --- CHANGELOG.md | 10 ++++++++++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c2c52a8..2a5afa07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ 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. + +## [0.28.9](https://github.com/webpack-contrib/css-loader/compare/v0.28.8...v0.28.9) (2018-01-17) + + +### Bug Fixes + +* ignore invalid URLs (`url()`) ([#663](https://github.com/webpack-contrib/css-loader/issues/663)) ([d1d8221](https://github.com/webpack-contrib/css-loader/commit/d1d8221)) + + + ## [0.28.8](https://github.com/webpack-contrib/css-loader/compare/v0.28.7...v0.28.8) (2018-01-05) diff --git a/package-lock.json b/package-lock.json index 967a31dc..363c1933 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "css-loader", - "version": "0.28.8", + "version": "0.28.9", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 8345c482..c29a246a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "css-loader", - "version": "0.28.8", + "version": "0.28.9", "author": "Tobias Koppers @sokra", "license": "MIT", "description": "css loader module for webpack", From 0452f267c2213d2ef55cdae0c63576adb7603024 Mon Sep 17 00:00:00 2001 From: Evilebot Tnawi Date: Thu, 15 Feb 2018 22:27:24 +0300 Subject: [PATCH 4/8] test: hashes inside `@font-face` url (#678) --- test/urlTest.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/urlTest.js b/test/urlTest.js index 543a47fe..9b6b0d22 100644 --- a/test/urlTest.js +++ b/test/urlTest.js @@ -184,6 +184,12 @@ describe("url", function() { test("font face with url", "@font-face { src: url(regular.woff) format('woff'), url(~truetype/regular.ttf) format('truetype') }", [ [1, "@font-face { src: url(regular.woff) format('woff'), url(~truetype/regular.ttf) format('truetype') }", ""] ], "?-url"); + test("font face with url", "@font-face { src: url(Mark Simonson - Proxima Nova Alt Regular-webfont.eot?#iefix) format('embedded-opentype'), url(~opentype/Mark Simonson - Proxima Nova Alt Regular-webfont.eot?#iefix) format('embedded-opentype') }", [ + [1, "@font-face { src: url(Mark Simonson - Proxima Nova Alt Regular-webfont.eot?#iefix) format('embedded-opentype'), url(~opentype/Mark Simonson - Proxima Nova Alt Regular-webfont.eot?#iefix) format('embedded-opentype') }", ""] + ], "?-url"); + test("font face with url", "@font-face { src: url('Mark Simonson - Proxima Nova Alt Regular-webfont.eot?#iefix') format('embedded-opentype'), url(\"Mark Simonson - Proxima Nova Alt Regular-webfont.eot?#iefix\") format('embedded-opentype') }", [ + [1, "@font-face { src: url('Mark Simonson - Proxima Nova Alt Regular-webfont.eot?#iefix') format('embedded-opentype'), url(\"Mark Simonson - Proxima Nova Alt Regular-webfont.eot?#iefix\") format('embedded-opentype') }", ""] + ], "?-url"); test("media query with url", "@media (min-width: 500px) { body { background: url(image.png); } }", [ [1, "@media (min-width: 500px) { body { background: url(image.png); } }", ""] ], "?-url"); From 9f876d27724081a33ac221d229e8bd90e112b345 Mon Sep 17 00:00:00 2001 From: Artem Yavorsky Date: Thu, 22 Feb 2018 19:22:43 +0200 Subject: [PATCH 5/8] fix(getLocalIdent): add `rootContext` support (`webpack >= v4.0.0`) (#681) --- lib/getLocalIdent.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/getLocalIdent.js b/lib/getLocalIdent.js index d671fb64..79c7ab57 100644 --- a/lib/getLocalIdent.js +++ b/lib/getLocalIdent.js @@ -6,8 +6,15 @@ var loaderUtils = require("loader-utils"); var path = require("path"); module.exports = function getLocalIdent(loaderContext, localIdentName, localName, options) { - if(!options.context) - options.context = loaderContext.options && typeof loaderContext.options.context === "string" ? loaderContext.options.context : loaderContext.context; + if(!options.context) { + if (loaderContext.rootContext) { + options.context = loaderContext.rootContext; + } else if (loaderContext.options && typeof loaderContext.options.context === "string") { + options.context = loaderContext.options.context; + } else { + options.context = loaderContext.context; + } + } var request = path.relative(options.context, loaderContext.resourcePath); options.content = options.hashPrefix + request + "+" + localName; localIdentName = localIdentName.replace(/\[local\]/gi, localName); From c35d8bd12676662c01120acbc53e3ed3b2c59779 Mon Sep 17 00:00:00 2001 From: Michael Ciniawsky Date: Thu, 22 Feb 2018 18:49:40 +0100 Subject: [PATCH 6/8] chore(release): 0.28.10 --- CHANGELOG.md | 10 ++++++++++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a5afa07..5427273f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ 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. + +## [0.28.10](https://github.com/webpack-contrib/css-loader/compare/v0.28.9...v0.28.10) (2018-02-22) + + +### Bug Fixes + +* **getLocalIdent:** add `rootContext` support (`webpack >= v4.0.0`) ([#681](https://github.com/webpack-contrib/css-loader/issues/681)) ([9f876d2](https://github.com/webpack-contrib/css-loader/commit/9f876d2)) + + + ## [0.28.9](https://github.com/webpack-contrib/css-loader/compare/v0.28.8...v0.28.9) (2018-01-17) diff --git a/package-lock.json b/package-lock.json index 363c1933..22b0f5ef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "css-loader", - "version": "0.28.9", + "version": "0.28.10", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index c29a246a..8fd72c31 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "css-loader", - "version": "0.28.9", + "version": "0.28.10", "author": "Tobias Koppers @sokra", "license": "MIT", "description": "css loader module for webpack", From c7884505e459e7d634bbe62330518cde98f9aed9 Mon Sep 17 00:00:00 2001 From: Michael Ciniawsky Date: Fri, 16 Mar 2018 11:32:51 +0100 Subject: [PATCH 7/8] fix(lib/processCss): don't check `mode` for `url` handling (`options.modules`) (#698) --- lib/processCss.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/processCss.js b/lib/processCss.js index ab38c804..ac65af16 100644 --- a/lib/processCss.js +++ b/lib/processCss.js @@ -55,9 +55,11 @@ var parserPlugin = postcss.plugin("css-loader-parser", function(options) { } values.nodes[0].nodes.shift(); var mediaQuery = Tokenizer.stringifyValues(values); - if(loaderUtils.isUrlRequest(url, options.root) && options.mode === "global") { + + if(loaderUtils.isUrlRequest(url, options.root)) { url = loaderUtils.urlToRequest(url, options.root); } + importItems.push({ url: url, mediaQuery: mediaQuery From df497db9fee094ac97bc82d729689eea46b89bc2 Mon Sep 17 00:00:00 2001 From: Michael Ciniawsky Date: Fri, 16 Mar 2018 11:34:27 +0100 Subject: [PATCH 8/8] chore(release): 0.28.11 --- CHANGELOG.md | 10 ++++++++++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5427273f..c29017fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ 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. + +## [0.28.11](https://github.com/webpack-contrib/css-loader/compare/v0.28.10...v0.28.11) (2018-03-16) + + +### Bug Fixes + +* **lib/processCss:** don't check `mode` for `url` handling (`options.modules`) ([#698](https://github.com/webpack-contrib/css-loader/issues/698)) ([c788450](https://github.com/webpack-contrib/css-loader/commit/c788450)) + + + ## [0.28.10](https://github.com/webpack-contrib/css-loader/compare/v0.28.9...v0.28.10) (2018-02-22) diff --git a/package-lock.json b/package-lock.json index 22b0f5ef..3f90ceb6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "css-loader", - "version": "0.28.10", + "version": "0.28.11", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 8fd72c31..afc18e80 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "css-loader", - "version": "0.28.10", + "version": "0.28.11", "author": "Tobias Koppers @sokra", "license": "MIT", "description": "css loader module for webpack",