mirror of https://github.com/webpack/webpack.git
				
				
				
			move more ConstDependencies to `toConstantDependency`
This commit is contained in:
		
							parent
							
								
									b0665075da
								
							
						
					
					
						commit
						965b7261fa
					
				|  | @ -37,13 +37,7 @@ class APIPlugin { | |||
| 
 | ||||
| 			params.normalModuleFactory.plugin("parser", parser => { | ||||
| 				Object.keys(REPLACEMENTS).forEach(key => { | ||||
| 					parser.plugin(`expression ${key}`, expr => { | ||||
| 						const dep = new ConstDependency(REPLACEMENTS[key], expr.range); | ||||
| 						dep.loc = expr.loc; | ||||
| 						parser.state.current.addDependency(dep); | ||||
| 						return true; | ||||
| 					}); | ||||
| 
 | ||||
| 					parser.plugin(`expression ${key}`, ParserHelpers.toConstantDependency(REPLACEMENTS[key])); | ||||
| 					parser.plugin(`evaluate typeof ${key}`, ParserHelpers.evaluateToString(REPLACEMENT_TYPES[key])); | ||||
| 				}); | ||||
| 				IGNORES.forEach(key => { | ||||
|  |  | |||
|  | @ -73,12 +73,7 @@ class DefinePlugin { | |||
| 							res.setRange(expr.range); | ||||
| 							return res; | ||||
| 						}); | ||||
| 						parser.plugin("expression " + key, (expr) => { | ||||
| 							let dep = new ConstDependency(code, expr.range); | ||||
| 							dep.loc = expr.loc; | ||||
| 							parser.state.current.addDependency(dep); | ||||
| 							return true; | ||||
| 						}); | ||||
| 						parser.plugin("expression " + key, ParserHelpers.toConstantDependency(code)); | ||||
| 					} | ||||
| 					let typeofCode = isTypeof ? code : "typeof (" + code + ")"; | ||||
| 					parser.plugin("evaluate typeof " + key, (expr) => { | ||||
|  | @ -91,10 +86,7 @@ class DefinePlugin { | |||
| 					parser.plugin("typeof " + key, (expr) => { | ||||
| 						let res = parser.evaluate(typeofCode); | ||||
| 						if(!res.isString()) return; | ||||
| 						let dep = new ConstDependency(JSON.stringify(res.string), expr.range); | ||||
| 						dep.loc = expr.loc; | ||||
| 						parser.state.current.addDependency(dep); | ||||
| 						return true; | ||||
| 						return ParserHelpers.toConstantDependency(JSON.stringify(res.string)).bind(parser)(expr); | ||||
| 					}); | ||||
| 				} | ||||
| 
 | ||||
|  | @ -103,18 +95,8 @@ class DefinePlugin { | |||
| 					parser.plugin("can-rename " + key, () => true); | ||||
| 					parser.plugin("evaluate Identifier " + key, (expr) => new BasicEvaluatedExpression().setRange(expr.range)); | ||||
| 					parser.plugin("evaluate typeof " + key, ParserHelpers.evaluateToString("object")); | ||||
| 					parser.plugin("expression " + key, (expr) => { | ||||
| 						let dep = new ConstDependency(code, expr.range); | ||||
| 						dep.loc = expr.loc; | ||||
| 						parser.state.current.addDependency(dep); | ||||
| 						return true; | ||||
| 					}); | ||||
| 					parser.plugin("typeof " + key, (expr) => { | ||||
| 						let dep = new ConstDependency("\"object\"", expr.range); | ||||
| 						dep.loc = expr.loc; | ||||
| 						parser.state.current.addDependency(dep); | ||||
| 						return true; | ||||
| 					}); | ||||
| 					parser.plugin("expression " + key, ParserHelpers.toConstantDependency(code)); | ||||
| 					parser.plugin("typeof " + key, ParserHelpers.toConstantDependency(JSON.stringify("object"))); | ||||
| 				} | ||||
| 			}); | ||||
| 		}); | ||||
|  |  | |||
|  | @ -34,12 +34,7 @@ ExtendedAPIPlugin.prototype.apply = function(compiler) { | |||
| 
 | ||||
| 		params.normalModuleFactory.plugin("parser", function(parser, parserOptions) { | ||||
| 			Object.keys(REPLACEMENTS).forEach(function(key) { | ||||
| 				parser.plugin("expression " + key, function(expr) { | ||||
| 					var dep = new ConstDependency(REPLACEMENTS[key], expr.range); | ||||
| 					dep.loc = expr.loc; | ||||
| 					this.state.current.addDependency(dep); | ||||
| 					return true; | ||||
| 				}); | ||||
| 				parser.plugin("expression " + key, ParserHelpers.toConstantDependency(REPLACEMENTS[key])); | ||||
| 				parser.plugin("evaluate typeof " + key, ParserHelpers.evaluateToString(REPLACEMENT_TYPES[key])); | ||||
| 			}); | ||||
| 		}); | ||||
|  |  | |||
|  | @ -197,12 +197,7 @@ HotModuleReplacementPlugin.prototype.apply = function(compiler) { | |||
| 		}); | ||||
| 
 | ||||
| 		params.normalModuleFactory.plugin("parser", function(parser, parserOptions) { | ||||
| 			parser.plugin("expression __webpack_hash__", function(expr) { | ||||
| 				var dep = new ConstDependency("__webpack_require__.h()", expr.range); | ||||
| 				dep.loc = expr.loc; | ||||
| 				this.state.current.addDependency(dep); | ||||
| 				return true; | ||||
| 			}); | ||||
| 			parser.plugin("expression __webpack_hash__", ParserHelpers.toConstantDependency("__webpack_require__.h()")); | ||||
| 			parser.plugin("evaluate typeof __webpack_hash__", ParserHelpers.evaluateToString("string")); | ||||
| 			parser.plugin("evaluate Identifier module.hot", function(expr) { | ||||
| 				return new BasicEvaluatedExpression() | ||||
|  |  | |||
|  | @ -72,28 +72,13 @@ NodeStuffPlugin.prototype.apply = function(compiler) { | |||
| 				res.setRange(expr.range); | ||||
| 				return res; | ||||
| 			}); | ||||
| 			parser.plugin("expression require.main", function(expr) { | ||||
| 				var dep = new ConstDependency("__webpack_require__.c[__webpack_require__.s]", expr.range); | ||||
| 				dep.loc = expr.loc; | ||||
| 				this.state.current.addDependency(dep); | ||||
| 				return true; | ||||
| 			}); | ||||
| 			parser.plugin("expression require.main", ParserHelpers.toConstantDependency("__webpack_require__.c[__webpack_require__.s]")); | ||||
| 			parser.plugin( | ||||
| 				"expression require.extensions", | ||||
| 				ParserHelpers.expressionIsUnsupported("require.extensions is not supported by webpack. Use a loader instead.") | ||||
| 			); | ||||
| 			parser.plugin("expression module.loaded", function(expr) { | ||||
| 				var dep = new ConstDependency("module.l", expr.range); | ||||
| 				dep.loc = expr.loc; | ||||
| 				this.state.current.addDependency(dep); | ||||
| 				return true; | ||||
| 			}); | ||||
| 			parser.plugin("expression module.id", function(expr) { | ||||
| 				var dep = new ConstDependency("module.i", expr.range); | ||||
| 				dep.loc = expr.loc; | ||||
| 				this.state.current.addDependency(dep); | ||||
| 				return true; | ||||
| 			}); | ||||
| 			parser.plugin("expression module.loaded", ParserHelpers.toConstantDependency("module.l")); | ||||
| 			parser.plugin("expression module.id", ParserHelpers.toConstantDependency("module.i")); | ||||
| 			parser.plugin("expression module.exports", function() { | ||||
| 				var module = this.state.module; | ||||
| 				var isHarmony = module.meta && module.meta.harmonyModule; | ||||
|  |  | |||
|  | @ -44,9 +44,7 @@ ProvidePlugin.prototype.apply = function(compiler) { | |||
| 						return false; | ||||
| 					} | ||||
| 					if(scopedName) { | ||||
| 						var dep = new ConstDependency(nameIdentifier, expr.range); | ||||
| 						dep.loc = expr.loc; | ||||
| 						this.state.current.addDependency(dep); | ||||
| 						ParserHelpers.toConstantDependency(nameIdentifier).bind(this)(expr); | ||||
| 					} | ||||
| 					return true; | ||||
| 				}); | ||||
|  |  | |||
|  | @ -4,6 +4,7 @@ | |||
| */ | ||||
| "use strict"; | ||||
| 
 | ||||
| const ParserHelpers = require("./ParserHelpers"); | ||||
| const ConstDependency = require("./dependencies/ConstDependency"); | ||||
| const NullFactory = require("./NullFactory"); | ||||
| 
 | ||||
|  | @ -18,27 +19,11 @@ module.exports = class RequireJsStuffPlugin { | |||
| 				if(typeof parserOptions.requireJs !== "undefined" && !parserOptions.requireJs) | ||||
| 					return; | ||||
| 
 | ||||
| 				function remove(expr) { | ||||
| 					var dep = new ConstDependency(";", expr.range); | ||||
| 					dep.loc = expr.loc; | ||||
| 					this.state.current.addDependency(dep); | ||||
| 					return true; | ||||
| 				} | ||||
| 				parser.plugin("call require.config", remove); | ||||
| 				parser.plugin("call requirejs.config", remove); | ||||
| 				parser.plugin("call require.config", ParserHelpers.toConstantDependency(";")); | ||||
| 				parser.plugin("call requirejs.config", ParserHelpers.toConstantDependency(";")); | ||||
| 
 | ||||
| 				parser.plugin("expression require.version", function(expr) { | ||||
| 					var dep = new ConstDependency(JSON.stringify("0.0.0"), expr.range); | ||||
| 					dep.loc = expr.loc; | ||||
| 					this.state.current.addDependency(dep); | ||||
| 					return true; | ||||
| 				}); | ||||
| 				parser.plugin("expression requirejs.onError", function(expr) { | ||||
| 					var dep = new ConstDependency(JSON.stringify("__webpack_require__.oe"), expr.range); | ||||
| 					dep.loc = expr.loc; | ||||
| 					this.state.current.addDependency(dep); | ||||
| 					return true; | ||||
| 				}); | ||||
| 				parser.plugin("expression require.version", ParserHelpers.toConstantDependency(JSON.stringify("0.0.0"))); | ||||
| 				parser.plugin("expression requirejs.onError", ParserHelpers.toConstantDependency(JSON.stringify("__webpack_require__.oe"))); | ||||
| 			}); | ||||
| 		}); | ||||
| 	} | ||||
|  |  | |||
|  | @ -2,13 +2,13 @@ | |||
| 	MIT License http://www.opensource.org/licenses/mit-license.php
 | ||||
| 	Author Tobias Koppers @sokra | ||||
| */ | ||||
| var ConstDependency = require("./ConstDependency"); | ||||
| var CommonJsRequireDependency = require("./CommonJsRequireDependency"); | ||||
| var CommonJsRequireContextDependency = require("./CommonJsRequireContextDependency"); | ||||
| var RequireHeaderDependency = require("./RequireHeaderDependency"); | ||||
| var LocalModuleDependency = require("./LocalModuleDependency"); | ||||
| var ContextDependencyHelpers = require("./ContextDependencyHelpers"); | ||||
| var LocalModulesHelpers = require("./LocalModulesHelpers"); | ||||
| var ParserHelpers = require("../ParserHelpers"); | ||||
| 
 | ||||
| function CommonJsRequireDependencyParserPlugin(options) { | ||||
| 	this.options = options; | ||||
|  | @ -18,12 +18,7 @@ module.exports = CommonJsRequireDependencyParserPlugin; | |||
| 
 | ||||
| CommonJsRequireDependencyParserPlugin.prototype.apply = function(parser) { | ||||
| 	var options = this.options; | ||||
| 	parser.plugin("expression require.cache", function(expr) { | ||||
| 		var dep = new ConstDependency("__webpack_require__.c", expr.range); | ||||
| 		dep.loc = expr.loc; | ||||
| 		this.state.current.addDependency(dep); | ||||
| 		return true; | ||||
| 	}); | ||||
| 	parser.plugin("expression require.cache", ParserHelpers.toConstantDependency("__webpack_require__.c")); | ||||
| 	parser.plugin("expression require", function(expr) { | ||||
| 		var dep = new CommonJsRequireContextDependency(options.unknownContextRequest, options.unknownContextRecursive, options.unknownContextRegExp, expr.range); | ||||
| 		dep.critical = options.unknownContextCritical && "require function is used in a way in which dependencies cannot be statically extracted"; | ||||
|  |  | |||
|  | @ -6,7 +6,6 @@ | |||
| 
 | ||||
| const RequireEnsureItemDependency = require("./RequireEnsureItemDependency"); | ||||
| const RequireEnsureDependency = require("./RequireEnsureDependency"); | ||||
| const ConstDependency = require("./ConstDependency"); | ||||
| 
 | ||||
| const NullFactory = require("../NullFactory"); | ||||
| 
 | ||||
|  | @ -33,12 +32,7 @@ class RequireEnsurePlugin { | |||
| 
 | ||||
| 				parser.apply(new RequireEnsureDependenciesBlockParserPlugin()); | ||||
| 				parser.plugin("evaluate typeof require.ensure", ParserHelpers.evaluateToString("function")); | ||||
| 				parser.plugin("typeof require.ensure", (expr) => { | ||||
| 					const dep = new ConstDependency("'function'", expr.range); | ||||
| 					dep.loc = expr.loc; | ||||
| 					parser.state.current.addDependency(dep); | ||||
| 					return true; | ||||
| 				}); | ||||
| 				parser.plugin("typeof require.ensure", ParserHelpers.toConstantDependency(JSON.stringify("function"))); | ||||
| 			}); | ||||
| 		}); | ||||
| 	} | ||||
|  |  | |||
|  | @ -6,7 +6,6 @@ | |||
| 
 | ||||
| const RequireIncludeDependency = require("./RequireIncludeDependency"); | ||||
| const RequireIncludeDependencyParserPlugin = require("./RequireIncludeDependencyParserPlugin"); | ||||
| const ConstDependency = require("./ConstDependency"); | ||||
| 
 | ||||
| const ParserHelpers = require("../ParserHelpers"); | ||||
| 
 | ||||
|  | @ -26,13 +25,7 @@ class RequireIncludePlugin { | |||
| 
 | ||||
| 				parser.apply(new RequireIncludeDependencyParserPlugin()); | ||||
| 				parser.plugin("evaluate typeof require.include", ParserHelpers.evaluateToString("function")); | ||||
| 				parser.plugin("typeof require.include", (expr) => { | ||||
| 					const dep = new ConstDependency("'function'", expr.range); | ||||
| 					dep.loc = expr.loc; | ||||
| 					parser.state.current.addDependency(dep); | ||||
| 					return true; | ||||
| 				}); | ||||
| 
 | ||||
| 				parser.plugin("typeof require.include", ParserHelpers.toConstantDependency(JSON.stringify("function"))); | ||||
| 			}); | ||||
| 		}); | ||||
| 	} | ||||
|  |  | |||
|  | @ -4,7 +4,6 @@ | |||
| */ | ||||
| "use strict"; | ||||
| 
 | ||||
| const ConstDependency = require("./ConstDependency"); | ||||
| const ParserHelpers = require("../ParserHelpers"); | ||||
| 
 | ||||
| class SystemPlugin { | ||||
|  | @ -35,12 +34,7 @@ class SystemPlugin { | |||
| 				setNotSupported("System.set"); | ||||
| 				setNotSupported("System.get"); | ||||
| 				setNotSupported("System.register"); | ||||
| 				parser.plugin("expression System", (expr) => { | ||||
| 					const dep = new ConstDependency("{}", expr.range); | ||||
| 					dep.loc = expr.loc; | ||||
| 					parser.state.current.addDependency(dep); | ||||
| 					return true; | ||||
| 				}); | ||||
| 				parser.plugin("expression System", ParserHelpers.toConstantDependency("{}")); | ||||
| 			}); | ||||
| 		}); | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue