diff options
author | Florian Dold <florian.dold@gmail.com> | 2018-09-20 02:56:13 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2018-09-20 02:56:13 +0200 |
commit | bbff7403fbf46f9ad92240ac213df8d30ef31b64 (patch) | |
tree | c58400ec5124da1c7d56b01aea83309f80a56c3b /node_modules/webpack/lib/dependencies/RequireEnsurePlugin.js | |
parent | 003fb34971cf63466184351b4db5f7c67df4f444 (diff) |
update packages
Diffstat (limited to 'node_modules/webpack/lib/dependencies/RequireEnsurePlugin.js')
-rw-r--r-- | node_modules/webpack/lib/dependencies/RequireEnsurePlugin.js | 114 |
1 files changed, 74 insertions, 40 deletions
diff --git a/node_modules/webpack/lib/dependencies/RequireEnsurePlugin.js b/node_modules/webpack/lib/dependencies/RequireEnsurePlugin.js index b8a66727d..c818e91bc 100644 --- a/node_modules/webpack/lib/dependencies/RequireEnsurePlugin.js +++ b/node_modules/webpack/lib/dependencies/RequireEnsurePlugin.js @@ -1,40 +1,74 @@ -/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-"use strict";
-
-const RequireEnsureItemDependency = require("./RequireEnsureItemDependency");
-const RequireEnsureDependency = require("./RequireEnsureDependency");
-
-const NullFactory = require("../NullFactory");
-
-const RequireEnsureDependenciesBlockParserPlugin = require("./RequireEnsureDependenciesBlockParserPlugin");
-
-const ParserHelpers = require("../ParserHelpers");
-
-class RequireEnsurePlugin {
-
- apply(compiler) {
- compiler.plugin("compilation", (compilation, params) => {
- const normalModuleFactory = params.normalModuleFactory;
-
- compilation.dependencyFactories.set(RequireEnsureItemDependency, normalModuleFactory);
- compilation.dependencyTemplates.set(RequireEnsureItemDependency, new RequireEnsureItemDependency.Template());
-
- compilation.dependencyFactories.set(RequireEnsureDependency, new NullFactory());
- compilation.dependencyTemplates.set(RequireEnsureDependency, new RequireEnsureDependency.Template());
-
- params.normalModuleFactory.plugin("parser", (parser, parserOptions) => {
-
- if(typeof parserOptions.requireEnsure !== "undefined" && !parserOptions.requireEnsure)
- return;
-
- parser.apply(new RequireEnsureDependenciesBlockParserPlugin());
- parser.plugin("evaluate typeof require.ensure", ParserHelpers.evaluateToString("function"));
- parser.plugin("typeof require.ensure", ParserHelpers.toConstantDependency(JSON.stringify("function")));
- });
- });
- }
-}
-module.exports = RequireEnsurePlugin;
+/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +"use strict"; + +const RequireEnsureItemDependency = require("./RequireEnsureItemDependency"); +const RequireEnsureDependency = require("./RequireEnsureDependency"); + +const NullFactory = require("../NullFactory"); + +const RequireEnsureDependenciesBlockParserPlugin = require("./RequireEnsureDependenciesBlockParserPlugin"); + +const ParserHelpers = require("../ParserHelpers"); + +class RequireEnsurePlugin { + apply(compiler) { + compiler.hooks.compilation.tap( + "RequireEnsurePlugin", + (compilation, { normalModuleFactory }) => { + compilation.dependencyFactories.set( + RequireEnsureItemDependency, + normalModuleFactory + ); + compilation.dependencyTemplates.set( + RequireEnsureItemDependency, + new RequireEnsureItemDependency.Template() + ); + + compilation.dependencyFactories.set( + RequireEnsureDependency, + new NullFactory() + ); + compilation.dependencyTemplates.set( + RequireEnsureDependency, + new RequireEnsureDependency.Template() + ); + + const handler = (parser, parserOptions) => { + if ( + parserOptions.requireEnsure !== undefined && + !parserOptions.requireEnsure + ) + return; + + new RequireEnsureDependenciesBlockParserPlugin().apply(parser); + parser.hooks.evaluateTypeof + .for("require.ensure") + .tap( + "RequireEnsurePlugin", + ParserHelpers.evaluateToString("function") + ); + parser.hooks.typeof + .for("require.ensure") + .tap( + "RequireEnsurePlugin", + ParserHelpers.toConstantDependency( + parser, + JSON.stringify("function") + ) + ); + }; + + normalModuleFactory.hooks.parser + .for("javascript/auto") + .tap("RequireEnsurePlugin", handler); + normalModuleFactory.hooks.parser + .for("javascript/dynamic") + .tap("RequireEnsurePlugin", handler); + } + ); + } +} +module.exports = RequireEnsurePlugin; |