Sha256: 773d64671e51fd2025cda3727b83eb3a21d3bc3e11c899791e08dccada5a28dc
Contents?: true
Size: 1.55 KB
Versions: 10
Compression:
Stored size: 1.55 KB
Contents
/* 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;
Version data entries
10 entries across 6 versions & 3 rubygems