From de98e0b232509d5f40c135d540a70e415272ff85 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 3 May 2017 15:35:00 +0200 Subject: node_modules --- .../webpack/lib/dependencies/SystemPlugin.js | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 node_modules/webpack/lib/dependencies/SystemPlugin.js (limited to 'node_modules/webpack/lib/dependencies/SystemPlugin.js') diff --git a/node_modules/webpack/lib/dependencies/SystemPlugin.js b/node_modules/webpack/lib/dependencies/SystemPlugin.js new file mode 100644 index 000000000..dd457ae7c --- /dev/null +++ b/node_modules/webpack/lib/dependencies/SystemPlugin.js @@ -0,0 +1,44 @@ +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +"use strict"; +const ParserHelpers = require("../ParserHelpers"); + +class SystemPlugin { + constructor(options) { + this.options = options; + } + + apply(compiler) { + compiler.plugin("compilation", (compilation, params) => { + params.normalModuleFactory.plugin("parser", (parser, parserOptions) => { + + if(typeof parserOptions.system !== "undefined" && !parserOptions.system) + return; + + function setNotSupported(name) { + parser.plugin("evaluate typeof " + name, ParserHelpers.evaluateToString("undefined")); + parser.plugin("expression " + name, + ParserHelpers.expressionIsUnsupported(name + " is not supported by webpack.") + ); + } + + parser.plugin("typeof System.import", ParserHelpers.toConstantDependency(JSON.stringify("function"))); + parser.plugin("evaluate typeof System.import", ParserHelpers.evaluateToString("function")); + parser.plugin("typeof System", ParserHelpers.toConstantDependency(JSON.stringify("object"))); + parser.plugin("evaluate typeof System", ParserHelpers.evaluateToString("object")); + + setNotSupported("System.set"); + setNotSupported("System.get"); + setNotSupported("System.register"); + parser.plugin("expression System", function() { + const systemPolyfillRequire = ParserHelpers.requireFileAsExpression( + this.state.module.context, require.resolve("../../buildin/system.js")); + return ParserHelpers.addParsedVariableToModule(this, "System", systemPolyfillRequire); + }); + }); + }); + } +} +module.exports = SystemPlugin; -- cgit v1.2.3