summaryrefslogtreecommitdiffstats
path: root/node_modules/css-loader/lib
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
commite06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch)
tree55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/css-loader/lib
downloadwebsite_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip
api, login, auth
Diffstat (limited to 'node_modules/css-loader/lib')
-rw-r--r--node_modules/css-loader/lib/compile-exports.js51
-rw-r--r--node_modules/css-loader/lib/css-base.js76
-rw-r--r--node_modules/css-loader/lib/getImportPrefix.js14
-rw-r--r--node_modules/css-loader/lib/getLocalIdent.js23
-rw-r--r--node_modules/css-loader/lib/loader.js144
-rw-r--r--node_modules/css-loader/lib/localsLoader.js44
-rw-r--r--node_modules/css-loader/lib/processCss.js244
-rw-r--r--node_modules/css-loader/lib/url/escape.js16
8 files changed, 612 insertions, 0 deletions
diff --git a/node_modules/css-loader/lib/compile-exports.js b/node_modules/css-loader/lib/compile-exports.js
new file mode 100644
index 0000000..19ca14f
--- /dev/null
+++ b/node_modules/css-loader/lib/compile-exports.js
@@ -0,0 +1,51 @@
+var camelCase = require("lodash/camelCase");
+
+function dashesCamelCase(str) {
+ return str.replace(/-+(\w)/g, function(match, firstLetter) {
+ return firstLetter.toUpperCase();
+ });
+}
+
+module.exports = function compileExports(result, importItemMatcher, camelCaseKeys) {
+ if (!Object.keys(result.exports).length) {
+ return "";
+ }
+
+ var exportJs = Object.keys(result.exports).reduce(function(res, key) {
+ var valueAsString = JSON.stringify(result.exports[key]);
+ valueAsString = valueAsString.replace(result.importItemRegExpG, importItemMatcher);
+ function addEntry(k) {
+ res.push("\t" + JSON.stringify(k) + ": " + valueAsString);
+ }
+
+ var targetKey;
+ switch(camelCaseKeys) {
+ case true:
+ addEntry(key);
+ targetKey = camelCase(key);
+ if (targetKey !== key) {
+ addEntry(targetKey);
+ }
+ break;
+ case 'dashes':
+ addEntry(key);
+ targetKey = dashesCamelCase(key);
+ if (targetKey !== key) {
+ addEntry(targetKey);
+ }
+ break;
+ case 'only':
+ addEntry(camelCase(key));
+ break;
+ case 'dashesOnly':
+ addEntry(dashesCamelCase(key));
+ break;
+ default:
+ addEntry(key);
+ break;
+ }
+ return res;
+ }, []).join(",\n");
+
+ return "{\n" + exportJs + "\n}";
+};
diff --git a/node_modules/css-loader/lib/css-base.js b/node_modules/css-loader/lib/css-base.js
new file mode 100644
index 0000000..59af87d
--- /dev/null
+++ b/node_modules/css-loader/lib/css-base.js
@@ -0,0 +1,76 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+// css base code, injected by the css-loader
+module.exports = function(useSourceMap) {
+ var list = [];
+
+ // return the list of modules as css string
+ list.toString = function toString() {
+ return this.map(function (item) {
+ var content = cssWithMappingToString(item, useSourceMap);
+ if(item[2]) {
+ return "@media " + item[2] + "{" + content + "}";
+ } else {
+ return content;
+ }
+ }).join("");
+ };
+
+ // import a list of modules into the list
+ list.i = function(modules, mediaQuery) {
+ if(typeof modules === "string")
+ modules = [[null, modules, ""]];
+ var alreadyImportedModules = {};
+ for(var i = 0; i < this.length; i++) {
+ var id = this[i][0];
+ if(typeof id === "number")
+ alreadyImportedModules[id] = true;
+ }
+ for(i = 0; i < modules.length; i++) {
+ var item = modules[i];
+ // skip already imported module
+ // this implementation is not 100% perfect for weird media query combinations
+ // when a module is imported multiple times with different media queries.
+ // I hope this will never occur (Hey this way we have smaller bundles)
+ if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) {
+ if(mediaQuery && !item[2]) {
+ item[2] = mediaQuery;
+ } else if(mediaQuery) {
+ item[2] = "(" + item[2] + ") and (" + mediaQuery + ")";
+ }
+ list.push(item);
+ }
+ }
+ };
+ return list;
+};
+
+function cssWithMappingToString(item, useSourceMap) {
+ var content = item[1] || '';
+ var cssMapping = item[3];
+ if (!cssMapping) {
+ return content;
+ }
+
+ if (useSourceMap && typeof btoa === 'function') {
+ var sourceMapping = toComment(cssMapping);
+ var sourceURLs = cssMapping.sources.map(function (source) {
+ return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'
+ });
+
+ return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
+ }
+
+ return [content].join('\n');
+}
+
+// Adapted from convert-source-map (MIT)
+function toComment(sourceMap) {
+ // eslint-disable-next-line no-undef
+ var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
+ var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;
+
+ return '/*# ' + data + ' */';
+}
diff --git a/node_modules/css-loader/lib/getImportPrefix.js b/node_modules/css-loader/lib/getImportPrefix.js
new file mode 100644
index 0000000..5d3be77
--- /dev/null
+++ b/node_modules/css-loader/lib/getImportPrefix.js
@@ -0,0 +1,14 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+module.exports = function getImportPrefix(loaderContext, query) {
+ if(query.importLoaders === false)
+ return "";
+ var importLoaders = parseInt(query.importLoaders, 10) || 0;
+ var loadersRequest = loaderContext.loaders.slice(
+ loaderContext.loaderIndex,
+ loaderContext.loaderIndex + 1 + importLoaders
+ ).map(function(x) { return x.request; }).join("!");
+ return "-!" + loadersRequest + "!";
+};
diff --git a/node_modules/css-loader/lib/getLocalIdent.js b/node_modules/css-loader/lib/getLocalIdent.js
new file mode 100644
index 0000000..79c7ab5
--- /dev/null
+++ b/node_modules/css-loader/lib/getLocalIdent.js
@@ -0,0 +1,23 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+var loaderUtils = require("loader-utils");
+var path = require("path");
+
+module.exports = function getLocalIdent(loaderContext, localIdentName, localName, options) {
+ 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);
+ var hash = loaderUtils.interpolateName(loaderContext, localIdentName, options);
+ return hash.replace(new RegExp("[^a-zA-Z0-9\\-_\u00A0-\uFFFF]", "g"), "-").replace(/^((-?[0-9])|--)/, "_$1");
+};
diff --git a/node_modules/css-loader/lib/loader.js b/node_modules/css-loader/lib/loader.js
new file mode 100644
index 0000000..c31d5de
--- /dev/null
+++ b/node_modules/css-loader/lib/loader.js
@@ -0,0 +1,144 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+var loaderUtils = require("loader-utils");
+var processCss = require("./processCss");
+var getImportPrefix = require("./getImportPrefix");
+var compileExports = require("./compile-exports");
+
+
+module.exports = function(content, map) {
+ var callback = this.async();
+ var query = loaderUtils.getOptions(this) || {};
+ var moduleMode = query.modules;
+ var camelCaseKeys = query.camelCase;
+ var sourceMap = query.sourceMap || false;
+
+ if(sourceMap) {
+ if (map) {
+ if (typeof map === "string") {
+ map = JSON.stringify(map);
+ }
+
+ if (map.sources) {
+ map.sources = map.sources.map(function (source) {
+ return source.replace(/\\/g, '/');
+ });
+ map.sourceRoot = '';
+ }
+ }
+ } else {
+ // Some loaders (example `"postcss-loader": "1.x.x"`) always generates source map, we should remove it
+ map = null;
+ }
+
+ processCss(content, map, {
+ mode: moduleMode ? "local" : "global",
+ from: loaderUtils.getRemainingRequest(this).split("!").pop(),
+ to: loaderUtils.getCurrentRequest(this).split("!").pop(),
+ query: query,
+ loaderContext: this,
+ sourceMap: sourceMap
+ }, function(err, result) {
+ if(err) return callback(err);
+
+ var cssAsString = JSON.stringify(result.source);
+
+ // for importing CSS
+ var importUrlPrefix = getImportPrefix(this, query);
+
+ var alreadyImported = {};
+ var importJs = result.importItems.map(function(imp) {
+ // fixes #781 when importing `url(filename.css )`
+ imp.url = imp.url.trim();
+ return imp;
+ }).filter(function(imp) {
+ if(!imp.mediaQuery) {
+ if(alreadyImported[imp.url])
+ return false;
+ alreadyImported[imp.url] = true;
+ }
+ return true;
+ }).map(function(imp) {
+ if(!loaderUtils.isUrlRequest(imp.url)) {
+ return "exports.push([module.id, " +
+ JSON.stringify("@import url(" + imp.url + ");") + ", " +
+ JSON.stringify(imp.mediaQuery) + "]);";
+ } else {
+ var importUrl = importUrlPrefix + imp.url;
+ return "exports.i(require(" + loaderUtils.stringifyRequest(this, importUrl) + "), " + JSON.stringify(imp.mediaQuery) + ");";
+ }
+ }, this).join("\n");
+
+ function importItemMatcher(item) {
+ var match = result.importItemRegExp.exec(item);
+ var idx = +match[1];
+ var importItem = result.importItems[idx];
+ var importUrl = importUrlPrefix + importItem.url;
+ return "\" + require(" + loaderUtils.stringifyRequest(this, importUrl) + ").locals" +
+ "[" + JSON.stringify(importItem.export) + "] + \"";
+ }
+
+ cssAsString = cssAsString.replace(result.importItemRegExpG, importItemMatcher.bind(this));
+
+ // helper for ensuring valid CSS strings from requires
+ var urlEscapeHelper = "";
+
+ if(query.url !== false && result.urlItems.length > 0) {
+ urlEscapeHelper = "var escape = require(" + loaderUtils.stringifyRequest(this, require.resolve("./url/escape.js")) + ");\n";
+
+ cssAsString = cssAsString.replace(result.urlItemRegExpG, function(item) {
+ var match = result.urlItemRegExp.exec(item);
+ var idx = +match[1];
+ var urlItem = result.urlItems[idx];
+ var url = urlItem.url;
+ idx = url.indexOf("?#");
+ if(idx < 0) idx = url.indexOf("#");
+ var urlRequest;
+ if(idx > 0) { // idx === 0 is catched by isUrlRequest
+ // in cases like url('webfont.eot?#iefix')
+ urlRequest = url.substr(0, idx);
+ return "\" + escape(require(" + loaderUtils.stringifyRequest(this, urlRequest) + ")) + \"" +
+ url.substr(idx);
+ }
+ urlRequest = url;
+ return "\" + escape(require(" + loaderUtils.stringifyRequest(this, urlRequest) + ")) + \"";
+ }.bind(this));
+ }
+
+ var exportJs = compileExports(result, importItemMatcher.bind(this), camelCaseKeys);
+ if (exportJs) {
+ exportJs = "exports.locals = " + exportJs + ";";
+ }
+
+ var moduleJs;
+ if(sourceMap && result.map) {
+ // add a SourceMap
+ map = result.map;
+ if(map.sources) {
+ map.sources = map.sources.map(function(source) {
+ return source.split("!").pop().replace(/\\/g, '/');
+ }, this);
+ map.sourceRoot = "";
+ }
+ map.file = map.file.split("!").pop().replace(/\\/g, '/');
+ map = JSON.stringify(map);
+ moduleJs = "exports.push([module.id, " + cssAsString + ", \"\", " + map + "]);";
+ } else {
+ moduleJs = "exports.push([module.id, " + cssAsString + ", \"\"]);";
+ }
+
+ // embed runtime
+ callback(null, urlEscapeHelper +
+ "exports = module.exports = require(" +
+ loaderUtils.stringifyRequest(this, require.resolve("./css-base.js")) +
+ ")(" + sourceMap + ");\n" +
+ "// imports\n" +
+ importJs + "\n\n" +
+ "// module\n" +
+ moduleJs + "\n\n" +
+ "// exports\n" +
+ exportJs);
+ }.bind(this));
+};
diff --git a/node_modules/css-loader/lib/localsLoader.js b/node_modules/css-loader/lib/localsLoader.js
new file mode 100644
index 0000000..e12546e
--- /dev/null
+++ b/node_modules/css-loader/lib/localsLoader.js
@@ -0,0 +1,44 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+var loaderUtils = require("loader-utils");
+var processCss = require("./processCss");
+var getImportPrefix = require("./getImportPrefix");
+var compileExports = require("./compile-exports");
+
+
+module.exports = function(content) {
+ var callback = this.async();
+ var query = loaderUtils.getOptions(this) || {};
+ var moduleMode = query.modules;
+ var camelCaseKeys = query.camelCase;
+
+ processCss(content, null, {
+ mode: moduleMode ? "local" : "global",
+ query: query,
+ loaderContext: this,
+ }, function(err, result) {
+ if(err) return callback(err);
+
+ // for importing CSS
+ var importUrlPrefix = getImportPrefix(this, query);
+
+ function importItemMatcher(item) {
+ var match = result.importItemRegExp.exec(item);
+ var idx = +match[1];
+ var importItem = result.importItems[idx];
+ var importUrl = importUrlPrefix + importItem.url;
+ return "\" + require(" + loaderUtils.stringifyRequest(this, importUrl) + ")" +
+ "[" + JSON.stringify(importItem.export) + "] + \"";
+ }
+
+ var exportJs = compileExports(result, importItemMatcher.bind(this), camelCaseKeys);
+ if (exportJs) {
+ exportJs = "module.exports = " + exportJs + ";";
+ }
+
+
+ callback(null, exportJs);
+ }.bind(this));
+};
diff --git a/node_modules/css-loader/lib/processCss.js b/node_modules/css-loader/lib/processCss.js
new file mode 100644
index 0000000..61eb7ce
--- /dev/null
+++ b/node_modules/css-loader/lib/processCss.js
@@ -0,0 +1,244 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+var formatCodeFrame = require("babel-code-frame");
+var Tokenizer = require("css-selector-tokenizer");
+var postcss = require("postcss");
+var loaderUtils = require("loader-utils");
+var getLocalIdent = require("./getLocalIdent");
+
+var icssUtils = require('icss-utils');
+var localByDefault = require("postcss-modules-local-by-default");
+var extractImports = require("postcss-modules-extract-imports");
+var modulesScope = require("postcss-modules-scope");
+var modulesValues = require("postcss-modules-values");
+var valueParser = require('postcss-value-parser');
+
+var parserPlugin = postcss.plugin("css-loader-parser", function(options) {
+ return function(css) {
+ var imports = {};
+ var exports = {};
+ var importItems = [];
+ var urlItems = [];
+
+ function replaceImportsInString(str) {
+ if(options.import) {
+ var tokens = valueParser(str);
+ tokens.walk(function (node) {
+ if (node.type !== 'word') {
+ return;
+ }
+ var token = node.value;
+ var importIndex = imports["$" + token];
+ if(typeof importIndex === "number") {
+ node.value = "___CSS_LOADER_IMPORT___" + importIndex + "___";
+ }
+ })
+ return tokens.toString();
+ }
+ return str;
+ }
+
+ if(options.import) {
+ css.walkAtRules(/^import$/i, function(rule) {
+ var values = Tokenizer.parseValues(rule.params);
+ var url = values.nodes[0].nodes[0];
+ if(url && url.type === "url") {
+ url = url.url;
+ } else if(url && url.type === "string") {
+ url = url.value;
+ } else throw rule.error("Unexpected format " + rule.params);
+ if (!url.replace(/\s/g, '').length) {
+ return;
+ }
+ values.nodes[0].nodes.shift();
+ var mediaQuery = Tokenizer.stringifyValues(values);
+
+ if(loaderUtils.isUrlRequest(url)) {
+ url = loaderUtils.urlToRequest(url);
+ }
+
+ importItems.push({
+ url: url,
+ mediaQuery: mediaQuery
+ });
+ rule.remove();
+ });
+ }
+
+ var icss = icssUtils.extractICSS(css);
+ exports = icss.icssExports;
+ Object.keys(icss.icssImports).forEach(function(key) {
+ var url = loaderUtils.parseString(key);
+ Object.keys(icss.icssImports[key]).forEach(function(prop) {
+ imports["$" + prop] = importItems.length;
+ importItems.push({
+ url: url,
+ export: icss.icssImports[key][prop]
+ });
+ })
+ });
+
+ Object.keys(exports).forEach(function(exportName) {
+ exports[exportName] = replaceImportsInString(exports[exportName]);
+ });
+
+ function processNode(item) {
+ switch (item.type) {
+ case "value":
+ item.nodes.forEach(processNode);
+ break;
+ case "nested-item":
+ item.nodes.forEach(processNode);
+ break;
+ case "item":
+ var importIndex = imports["$" + item.name];
+ if (typeof importIndex === "number") {
+ item.name = "___CSS_LOADER_IMPORT___" + importIndex + "___";
+ }
+ break;
+ case "url":
+ if (options.url && item.url.replace(/\s/g, '').length && !/^#/.test(item.url) && loaderUtils.isUrlRequest(item.url)) {
+ // Strip quotes, they will be re-added if the module needs them
+ item.stringType = "";
+ delete item.innerSpacingBefore;
+ delete item.innerSpacingAfter;
+ var url = item.url;
+ item.url = "___CSS_LOADER_URL___" + urlItems.length + "___";
+ urlItems.push({
+ url: url
+ });
+ }
+ break;
+ }
+ }
+
+ css.walkDecls(function(decl) {
+ var values = Tokenizer.parseValues(decl.value);
+ values.nodes.forEach(function(value) {
+ value.nodes.forEach(processNode);
+ });
+ decl.value = Tokenizer.stringifyValues(values);
+ });
+ css.walkAtRules(function(atrule) {
+ if(typeof atrule.params === "string") {
+ atrule.params = replaceImportsInString(atrule.params);
+ }
+ });
+
+ options.importItems = importItems;
+ options.urlItems = urlItems;
+ options.exports = exports;
+ };
+});
+
+module.exports = function processCss(inputSource, inputMap, options, callback) {
+ var query = options.query;
+ var context = query.context;
+ var localIdentName = query.localIdentName || "[hash:base64]";
+ var localIdentRegExp = query.localIdentRegExp;
+
+ var customGetLocalIdent = query.getLocalIdent || getLocalIdent;
+
+ var parserOptions = {
+ mode: options.mode,
+ url: query.url !== false,
+ import: query.import !== false,
+ resolve: options.resolve
+ };
+
+ var pipeline = postcss([
+ modulesValues,
+ localByDefault({
+ mode: options.mode,
+ rewriteUrl: function(global, url) {
+ if(parserOptions.url){
+ url = url.trim();
+
+ if(!url.replace(/\s/g, '').length || !loaderUtils.isUrlRequest(url)) {
+ return url;
+ }
+ if(global) {
+ return loaderUtils.urlToRequest(url);
+ }
+ }
+ return url;
+ }
+ }),
+ extractImports(),
+ modulesScope({
+ generateScopedName: function generateScopedName (exportName) {
+ return customGetLocalIdent(options.loaderContext, localIdentName, exportName, {
+ regExp: localIdentRegExp,
+ hashPrefix: query.hashPrefix || "",
+ context: context
+ });
+ }
+ }),
+ parserPlugin(parserOptions)
+ ]);
+
+ pipeline.process(inputSource, {
+ // we need a prefix to avoid path rewriting of PostCSS
+ from: "/css-loader!" + options.from,
+ to: options.to,
+ map: options.sourceMap ? {
+ prev: inputMap,
+ sourcesContent: true,
+ inline: false,
+ annotation: false
+ } : null
+ }).then(function(result) {
+ callback(null, {
+ source: result.css,
+ map: result.map && result.map.toJSON(),
+ exports: parserOptions.exports,
+ importItems: parserOptions.importItems,
+ importItemRegExpG: /___CSS_LOADER_IMPORT___([0-9]+)___/g,
+ importItemRegExp: /___CSS_LOADER_IMPORT___([0-9]+)___/,
+ urlItems: parserOptions.urlItems,
+ urlItemRegExpG: /___CSS_LOADER_URL___([0-9]+)___/g,
+ urlItemRegExp: /___CSS_LOADER_URL___([0-9]+)___/
+ });
+ }).catch(function(err) {
+ if (err.name === 'CssSyntaxError') {
+ var wrappedError = new CSSLoaderError(
+ 'Syntax Error',
+ err.reason,
+ err.line != null && err.column != null
+ ? {line: err.line, column: err.column}
+ : null,
+ err.input.source
+ );
+ callback(wrappedError);
+ } else {
+ callback(err);
+ }
+ });
+};
+
+function formatMessage(message, loc, source) {
+ var formatted = message;
+ if (loc) {
+ formatted = formatted
+ + ' (' + loc.line + ':' + loc.column + ')';
+ }
+ if (loc && source) {
+ formatted = formatted
+ + '\n\n' + formatCodeFrame(source, loc.line, loc.column) + '\n';
+ }
+ return formatted;
+}
+
+function CSSLoaderError(name, message, loc, source, error) {
+ Error.call(this);
+ Error.captureStackTrace(this, CSSLoaderError);
+ this.name = name;
+ this.error = error;
+ this.message = formatMessage(message, loc, source);
+ this.hideStack = true;
+}
+
+CSSLoaderError.prototype = Object.create(Error.prototype);
+CSSLoaderError.prototype.constructor = CSSLoaderError;
diff --git a/node_modules/css-loader/lib/url/escape.js b/node_modules/css-loader/lib/url/escape.js
new file mode 100644
index 0000000..25074a6
--- /dev/null
+++ b/node_modules/css-loader/lib/url/escape.js
@@ -0,0 +1,16 @@
+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);
+ }
+ // Should url be wrapped?
+ // See https://drafts.csswg.org/css-values-3/#urls
+ if (/["'() \t\n]/.test(url)) {
+ return '"' + url.replace(/"/g, '\\"').replace(/\n/g, '\\n') + '"'
+ }
+
+ return url
+}