mirror of https://github.com/webpack/webpack.git
				
				
				
			handle inner non-harmony dependencies correctly in ConcatenatedModule
add async as keyword fixes #5604 fixes #5615
This commit is contained in:
		
							parent
							
								
									616ce45a56
								
							
						
					
					
						commit
						af470a504e
					
				|  | @ -172,7 +172,7 @@ class ConcatenatedModule extends Module { | ||||||
| 		this.built = modules.some(m => m.built); | 		this.built = modules.some(m => m.built); | ||||||
| 		this.cacheable = modules.every(m => m.cacheable); | 		this.cacheable = modules.every(m => m.cacheable); | ||||||
| 		const modulesSet = new Set(modules); | 		const modulesSet = new Set(modules); | ||||||
| 		this.reasons = rootModule.reasons.filter(reason => !modulesSet.has(reason.module)); | 		this.reasons = rootModule.reasons.filter(reason => !(reason.dependency instanceof HarmonyImportDependency) || !modulesSet.has(reason.module)); | ||||||
| 		this.meta = rootModule.meta; | 		this.meta = rootModule.meta; | ||||||
| 		this.moduleArgument = rootModule.moduleArgument; | 		this.moduleArgument = rootModule.moduleArgument; | ||||||
| 		this.exportsArgument = rootModule.exportsArgument; | 		this.exportsArgument = rootModule.exportsArgument; | ||||||
|  | @ -193,7 +193,7 @@ class ConcatenatedModule extends Module { | ||||||
| 				const m = info.module; | 				const m = info.module; | ||||||
| 
 | 
 | ||||||
| 				// populate dependencies
 | 				// populate dependencies
 | ||||||
| 				m.dependencies.filter(dep => !modulesSet.has(dep.module)) | 				m.dependencies.filter(dep => !(dep instanceof HarmonyImportDependency) || !modulesSet.has(dep.module)) | ||||||
| 					.forEach(d => this.dependencies.push(d)); | 					.forEach(d => this.dependencies.push(d)); | ||||||
| 				// populate dep warning
 | 				// populate dep warning
 | ||||||
| 				m.dependenciesWarnings.forEach(depWarning => this.dependenciesWarnings.push(depWarning)); | 				m.dependenciesWarnings.forEach(depWarning => this.dependenciesWarnings.push(depWarning)); | ||||||
|  | @ -450,7 +450,7 @@ class ConcatenatedModule extends Module { | ||||||
| 		const allUsedNames = new Set([ | 		const allUsedNames = new Set([ | ||||||
| 			"__WEBPACK_MODULE_DEFAULT_EXPORT__", // avoid using this internal name
 | 			"__WEBPACK_MODULE_DEFAULT_EXPORT__", // avoid using this internal name
 | ||||||
| 
 | 
 | ||||||
| 			"abstract", "arguments", "await", "boolean", "break", "byte", "case", "catch", "char", "class", | 			"abstract", "arguments", "async", "await", "boolean", "break", "byte", "case", "catch", "char", "class", | ||||||
| 			"const", "continue", "debugger", "default", "delete", "do", "double", "else", "enum", "eval", | 			"const", "continue", "debugger", "default", "delete", "do", "double", "else", "enum", "eval", | ||||||
| 			"export", "extends", "false", "final", "finally", "float", "for", "function", "goto", "if", | 			"export", "extends", "false", "final", "finally", "float", "for", "function", "goto", "if", | ||||||
| 			"implements", "import", "in", "instanceof", "int", "interface", "let", "long", "native", "new", | 			"implements", "import", "in", "instanceof", "int", "interface", "let", "long", "native", "new", | ||||||
|  |  | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | export default "default"; | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | import value from "./async"; | ||||||
|  | 
 | ||||||
|  | it("should have the correct values", function() { | ||||||
|  | 	value.should.be.eql("default"); | ||||||
|  | }); | ||||||
|  | @ -0,0 +1,8 @@ | ||||||
|  | import value, { self as moduleSelf } from "./module"; | ||||||
|  | export var self = require("./"); | ||||||
|  | 
 | ||||||
|  | it("should have the correct values", function() { | ||||||
|  | 	value.should.be.eql("default"); | ||||||
|  | 	moduleSelf.should.be.eql(self); | ||||||
|  | 	self.self.should.be.eql(self); | ||||||
|  | }); | ||||||
|  | @ -0,0 +1,2 @@ | ||||||
|  | export default "default"; | ||||||
|  | export var self = require("./"); | ||||||
		Loading…
	
		Reference in New Issue