aboutsummaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/dependencies/ContextDependency.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/webpack/lib/dependencies/ContextDependency.js')
-rw-r--r--node_modules/webpack/lib/dependencies/ContextDependency.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/node_modules/webpack/lib/dependencies/ContextDependency.js b/node_modules/webpack/lib/dependencies/ContextDependency.js
index 7f8772a55..55bc9823c 100644
--- a/node_modules/webpack/lib/dependencies/ContextDependency.js
+++ b/node_modules/webpack/lib/dependencies/ContextDependency.js
@@ -4,6 +4,7 @@
*/
"use strict";
const Dependency = require("../Dependency");
+const CriticalDependencyWarning = require("./CriticalDependencyWarning");
class ContextDependency extends Dependency {
constructor(request, recursive, regExp) {
@@ -13,6 +14,13 @@ class ContextDependency extends Dependency {
this.recursive = recursive;
this.regExp = regExp;
this.async = false;
+
+ this.hadGlobalOrStickyRegExp = false;
+ if(this.regExp.global || this.regExp.sticky) {
+ this.regExp = null;
+ this.hadGlobalOrStickyRegExp = true;
+ }
+
}
isEqualResource(other) {
@@ -24,6 +32,18 @@ class ContextDependency extends Dependency {
this.regExp === other.regExp &&
this.async === other.async;
}
+
+ getWarnings() {
+ let warnings = super.getWarnings() || [];
+ if(this.critical) {
+ warnings.push(new CriticalDependencyWarning(this.critical));
+ }
+ if(this.hadGlobalOrStickyRegExp) {
+ warnings.push(new CriticalDependencyWarning("Contexts can't use RegExps with the 'g' or 'y' flags."));
+ }
+ return warnings;
+ }
+
}
module.exports = ContextDependency;