summaryrefslogtreecommitdiffstats
path: root/browser/components/newtab/loaders/inject-loader.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/newtab/loaders/inject-loader.js')
-rw-r--r--browser/components/newtab/loaders/inject-loader.js59
1 files changed, 0 insertions, 59 deletions
diff --git a/browser/components/newtab/loaders/inject-loader.js b/browser/components/newtab/loaders/inject-loader.js
deleted file mode 100644
index 8729baf270..0000000000
--- a/browser/components/newtab/loaders/inject-loader.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-// Note: this is based on https://github.com/plasticine/inject-loader,
-// patched to make istanbul work properly
-
-const loaderUtils = require("loader-utils");
-const QUOTE_REGEX_STRING = "['|\"]{1}";
-
-const hasOnlyExcludeFlags = query =>
- Object.keys(query).filter(key => query[key] === true).length === 0;
-const escapePath = path => path.replace("/", "\\/");
-
-function createRequireStringRegex(query) {
- const regexArray = [];
-
- // if there is no query then replace everything
- if (Object.keys(query).length === 0) {
- regexArray.push("([^\\)]+)");
- } else if (hasOnlyExcludeFlags(query)) {
- // if there are only negation matches in the query then replace everything
- // except them
- Object.keys(query).forEach(key =>
- regexArray.push(`(?!${QUOTE_REGEX_STRING}${escapePath(key)})`)
- );
- regexArray.push("([^\\)]+)");
- } else {
- regexArray.push(`(${QUOTE_REGEX_STRING}(`);
- regexArray.push(
- Object.keys(query)
- .map(key => escapePath(key))
- .join("|")
- );
- regexArray.push(`)${QUOTE_REGEX_STRING})`);
- }
-
- // Wrap the regex to match `require()`
- regexArray.unshift("require\\(");
- regexArray.push("\\)");
-
- return new RegExp(regexArray.join(""), "g");
-}
-
-module.exports = function inject(src) {
- if (this.cacheable) {
- this.cacheable();
- }
- const regex = createRequireStringRegex(
- loaderUtils.urlToRequest(this.resourcePath) || {}
- );
-
- return `module.exports = function inject(injections) {
- var module = {exports: {}};
- var exports = module.exports;
- ${src.replace(regex, "(injections[$1] || /* istanbul ignore next */ $&)")}
- return module.exports;
-}\n`;
-};