mirror of https://github.com/webpack/webpack.git
require CriticalDependencyWarning lazily in ContextDependency
This commit is contained in:
parent
7b2a267155
commit
001090fade
|
@ -8,12 +8,16 @@
|
||||||
const Dependency = require("../Dependency");
|
const Dependency = require("../Dependency");
|
||||||
const DependencyTemplate = require("../DependencyTemplate");
|
const DependencyTemplate = require("../DependencyTemplate");
|
||||||
const makeSerializable = require("../util/makeSerializable");
|
const makeSerializable = require("../util/makeSerializable");
|
||||||
const CriticalDependencyWarning = require("./CriticalDependencyWarning");
|
const memorize = require("../util/memorize");
|
||||||
|
|
||||||
/** @typedef {import("../ContextModule").ContextOptions} ContextOptions */
|
/** @typedef {import("../ContextModule").ContextOptions} ContextOptions */
|
||||||
/** @typedef {import("../ModuleGraph")} ModuleGraph */
|
/** @typedef {import("../ModuleGraph")} ModuleGraph */
|
||||||
/** @typedef {import("../WebpackError")} WebpackError */
|
/** @typedef {import("../WebpackError")} WebpackError */
|
||||||
|
|
||||||
|
const getCriticalDependencyWarning = memorize(() =>
|
||||||
|
require("./CriticalDependencyWarning")
|
||||||
|
);
|
||||||
|
|
||||||
/** @typedef {ContextOptions & { request: string }} ContextDependencyOptions */
|
/** @typedef {ContextOptions & { request: string }} ContextDependencyOptions */
|
||||||
|
|
||||||
const regExpToString = r => (r ? r + "" : "");
|
const regExpToString = r => (r ? r + "" : "");
|
||||||
|
@ -74,11 +78,13 @@ class ContextDependency extends Dependency {
|
||||||
|
|
||||||
if (this.critical) {
|
if (this.critical) {
|
||||||
if (!warnings) warnings = [];
|
if (!warnings) warnings = [];
|
||||||
|
const CriticalDependencyWarning = getCriticalDependencyWarning();
|
||||||
warnings.push(new CriticalDependencyWarning(this.critical));
|
warnings.push(new CriticalDependencyWarning(this.critical));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.hadGlobalOrStickyRegExp) {
|
if (this.hadGlobalOrStickyRegExp) {
|
||||||
if (!warnings) warnings = [];
|
if (!warnings) warnings = [];
|
||||||
|
const CriticalDependencyWarning = getCriticalDependencyWarning();
|
||||||
warnings.push(
|
warnings.push(
|
||||||
new CriticalDependencyWarning(
|
new CriticalDependencyWarning(
|
||||||
"Contexts can't use RegExps with the 'g' or 'y' flags."
|
"Contexts can't use RegExps with the 'g' or 'y' flags."
|
||||||
|
|
Loading…
Reference in New Issue