From e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d Mon Sep 17 00:00:00 2001 From: Piotr Russ Date: Mon, 16 Nov 2020 00:10:28 +0100 Subject: api, login, auth --- .../sass-loader/lib/proxyCustomImporters.js | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 node_modules/sass-loader/lib/proxyCustomImporters.js (limited to 'node_modules/sass-loader/lib/proxyCustomImporters.js') diff --git a/node_modules/sass-loader/lib/proxyCustomImporters.js b/node_modules/sass-loader/lib/proxyCustomImporters.js new file mode 100644 index 0000000..b15a917 --- /dev/null +++ b/node_modules/sass-loader/lib/proxyCustomImporters.js @@ -0,0 +1,29 @@ +"use strict"; + +/** + * Creates new custom importers that use the given `resourcePath` if libsass calls the custom importer with `prev` + * being 'stdin'. + * + * Why do we need this? We have to use the `data` option of node-sass in order to compile our sass because + * the `resourcePath` might not be an actual file on disk. When using the `data` option, libsass uses the string + * 'stdin' instead of a filename. + * + * We have to fix this behavior in order to provide a consistent experience to the webpack user. + * + * @param {function|Array} importer + * @param {string} resourcePath + * @returns {Array} + */ +function proxyCustomImporters(importer, resourcePath) { + return [].concat(importer).map((importer) => { + return function (url, prev, done) { + return importer.apply( + this, // eslint-disable-line no-invalid-this + Array.from(arguments) + .map((arg, i) => i === 1 && arg === "stdin" ? resourcePath : arg) + ); + }; + }); +} + +module.exports = proxyCustomImporters; -- cgit v1.2.3