mirror of https://github.com/webpack/webpack.git
				
				
				
			Only apply default js extensions when using a JS dependencyType
This commit is contained in:
		
							parent
							
								
									565724a045
								
							
						
					
					
						commit
						336715f878
					
				|  | @ -691,9 +691,9 @@ const getResolveDefaults = ({ | |||
| 			break; | ||||
| 	} | ||||
| 
 | ||||
| 	const extensions = []; | ||||
| 	if (mjs) extensions.push(".mjs"); | ||||
| 	extensions.push(".js", ".json", ".wasm"); | ||||
| 	const jsExtensions = []; | ||||
| 	if (mjs) jsExtensions.push(".mjs"); | ||||
| 	jsExtensions.push(".js", ".json", ".wasm"); | ||||
| 
 | ||||
| 	/** @type {function(): ResolveOptions} */ | ||||
| 	const cjsDeps = () => ({ | ||||
|  | @ -701,7 +701,8 @@ const getResolveDefaults = ({ | |||
| 		mainFields: webTarget ? ["browser", "module", "..."] : ["module", "..."], | ||||
| 		conditionNames: webTarget | ||||
| 			? ["require", "module", "browser", "..."] | ||||
| 			: ["require", "module", "..."] | ||||
| 			: ["require", "module", "..."], | ||||
| 		extensions: [...jsExtensions] | ||||
| 	}); | ||||
| 	/** @type {function(): ResolveOptions} */ | ||||
| 	const esmDeps = () => ({ | ||||
|  | @ -709,7 +710,8 @@ const getResolveDefaults = ({ | |||
| 		mainFields: webTarget ? ["browser", "module", "..."] : ["module", "..."], | ||||
| 		conditionNames: webTarget | ||||
| 			? ["import", "module", "browser", "..."] | ||||
| 			: ["import", "module", "..."] | ||||
| 			: ["import", "module", "..."], | ||||
| 		extensions: [...jsExtensions] | ||||
| 	}); | ||||
| 
 | ||||
| 	/** @type {ResolveOptions} */ | ||||
|  | @ -717,8 +719,8 @@ const getResolveDefaults = ({ | |||
| 		cache, | ||||
| 		modules: ["node_modules"], | ||||
| 		conditionNames: conditions, | ||||
| 		extensions, | ||||
| 		mainFiles: ["index"], | ||||
| 		extensions: [], | ||||
| 		aliasFields: [], | ||||
| 		exportsFields: ["exports"], | ||||
| 		roots: [context], | ||||
|  |  | |||
|  | @ -238,47 +238,17 @@ describe("Defaults", () => { | |||
| 		  "recordsInputPath": false, | ||||
| 		  "recordsOutputPath": false, | ||||
| 		  "resolve": Object { | ||||
| 		    "aliasFields": Array [], | ||||
| 		    "byDependency": Object { | ||||
| 		      "amd": Object { | ||||
| 		        "aliasFields": Array [ | ||||
| 		          "browser", | ||||
| 		        ], | ||||
| 		    "byDependency": Object { | ||||
| 		      "amd": Object { | ||||
| 		        "conditionNames": Array [ | ||||
| 		          "require", | ||||
| 		          "module", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		      }, | ||||
| 		      "commonjs": Object { | ||||
| 		        "conditionNames": Array [ | ||||
| 		          "require", | ||||
| 		          "module", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		      }, | ||||
| 		      "esm": Object { | ||||
| 		        "conditionNames": Array [ | ||||
| 		          "import", | ||||
| 		          "module", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		      }, | ||||
| 		      "wasm": Object { | ||||
| 		        "conditionNames": Array [ | ||||
| 		          "import", | ||||
| 		          "module", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		      }, | ||||
| 		    }, | ||||
| 		    "cache": false, | ||||
| 		    "conditionNames": Array [ | ||||
| 		      "webpack", | ||||
| 		      "production", | ||||
| 		          "browser", | ||||
| 		    ], | ||||
| 		    "exportsFields": Array [ | ||||
| 		      "exports", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		        "extensions": Array [ | ||||
| 		          ".js", | ||||
|  | @ -288,6 +258,146 @@ describe("Defaults", () => { | |||
| 		        "mainFields": Array [ | ||||
| 		          "browser", | ||||
| 		          "module", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		      }, | ||||
| 		      "commonjs": Object { | ||||
| 		        "aliasFields": Array [ | ||||
| 		          "browser", | ||||
| 		        ], | ||||
| 		        "conditionNames": Array [ | ||||
| 		          "require", | ||||
| 		          "module", | ||||
| 		          "browser", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		        "extensions": Array [ | ||||
| 		          ".js", | ||||
| 		          ".json", | ||||
| 		          ".wasm", | ||||
| 		        ], | ||||
| 		        "mainFields": Array [ | ||||
| 		          "browser", | ||||
| 		          "module", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		      }, | ||||
| 		      "esm": Object { | ||||
| 		        "aliasFields": Array [ | ||||
| 		          "browser", | ||||
| 		        ], | ||||
| 		        "conditionNames": Array [ | ||||
| 		          "import", | ||||
| 		          "module", | ||||
| 		          "browser", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		        "extensions": Array [ | ||||
| 		          ".js", | ||||
| 		          ".json", | ||||
| 		          ".wasm", | ||||
| 		        ], | ||||
| 		        "mainFields": Array [ | ||||
| 		          "browser", | ||||
| 		          "module", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		      }, | ||||
| 		      "loader": Object { | ||||
| 		        "aliasFields": Array [ | ||||
| 		          "browser", | ||||
| 		        ], | ||||
| 		        "conditionNames": Array [ | ||||
| 		          "require", | ||||
| 		          "module", | ||||
| 		          "browser", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		        "extensions": Array [ | ||||
| 		          ".js", | ||||
| 		          ".json", | ||||
| 		          ".wasm", | ||||
| 		        ], | ||||
| 		        "mainFields": Array [ | ||||
| 		          "browser", | ||||
| 		          "module", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		      }, | ||||
| 		      "undefined": Object { | ||||
| 		        "aliasFields": Array [ | ||||
| 		          "browser", | ||||
| 		        ], | ||||
| 		        "conditionNames": Array [ | ||||
| 		          "require", | ||||
| 		          "module", | ||||
| 		          "browser", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		        "extensions": Array [ | ||||
| 		          ".js", | ||||
| 		          ".json", | ||||
| 		          ".wasm", | ||||
| 		        ], | ||||
| 		        "mainFields": Array [ | ||||
| 		          "browser", | ||||
| 		          "module", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		      }, | ||||
| 		      "unknown": Object { | ||||
| 		        "aliasFields": Array [ | ||||
| 		          "browser", | ||||
| 		        ], | ||||
| 		        "conditionNames": Array [ | ||||
| 		          "require", | ||||
| 		          "module", | ||||
| 		          "browser", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		        "extensions": Array [ | ||||
| 		          ".js", | ||||
| 		          ".json", | ||||
| 		          ".wasm", | ||||
| 		        ], | ||||
| 		        "mainFields": Array [ | ||||
| 		          "browser", | ||||
| 		          "module", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		      }, | ||||
| 		      "wasm": Object { | ||||
| 		        "aliasFields": Array [ | ||||
| 		          "browser", | ||||
| 		        ], | ||||
| 		        "conditionNames": Array [ | ||||
| 		          "import", | ||||
| 		          "module", | ||||
| 		          "browser", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		        "extensions": Array [ | ||||
| 		          ".js", | ||||
| 		          ".json", | ||||
| 		          ".wasm", | ||||
| 		        ], | ||||
| 		        "mainFields": Array [ | ||||
| 		          "browser", | ||||
| 		          "module", | ||||
| 		          "...", | ||||
| 		        ], | ||||
| 		      }, | ||||
| 		    }, | ||||
| 		    "cache": false, | ||||
| 		    "conditionNames": Array [ | ||||
| 		      "webpack", | ||||
| 		      "production", | ||||
| 		    ], | ||||
| 		    "exportsFields": Array [ | ||||
| 		      "exports", | ||||
| 		    ], | ||||
| 		    "extensions": Array [], | ||||
| 		    "mainFields": Array [ | ||||
| 		      "main", | ||||
| 		    ], | ||||
| 		    "mainFiles": Array [ | ||||
|  | @ -558,6 +668,18 @@ describe("Defaults", () => { | |||
| 		+     ], | ||||
| 		@@ ... @@ | ||||
| 		+           ".mjs", | ||||
| 		@@ ... @@ | ||||
| 		+           ".mjs", | ||||
| 		@@ ... @@ | ||||
| 		+           ".mjs", | ||||
| 		@@ ... @@ | ||||
| 		+           ".mjs", | ||||
| 		@@ ... @@ | ||||
| 		+           ".mjs", | ||||
| 		@@ ... @@ | ||||
| 		+           ".mjs", | ||||
| 		@@ ... @@ | ||||
| 		+           ".mjs", | ||||
| 	`)
 | ||||
| 	); | ||||
| 	test("output module", { experiments: { outputModule: true } }, e => | ||||
|  | @ -714,10 +836,65 @@ describe("Defaults", () => { | |||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		+       "node", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		+       "node", | ||||
| 		@@ ... @@ | ||||
| 		-   "target": "web", | ||||
| 		+   "target": "node", | ||||
| 	`)
 | ||||
|  | @ -759,11 +936,66 @@ describe("Defaults", () => { | |||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		+       "node", | ||||
| 		+       "electron", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		+       "node", | ||||
| 		+       "electron", | ||||
| 		@@ ... @@ | ||||
| 		-   "target": "web", | ||||
| 		+   "target": "electron-main", | ||||
| 	`)
 | ||||
|  | @ -783,11 +1015,66 @@ describe("Defaults", () => { | |||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		+       "node", | ||||
| 		+       "electron", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-         "aliasFields": Array [ | ||||
| 		-           "browser", | ||||
| 		-         ], | ||||
| 		+         "aliasFields": Array [], | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		-           "browser", | ||||
| 		@@ ... @@ | ||||
| 		+       "node", | ||||
| 		+       "electron", | ||||
| 		@@ ... @@ | ||||
| 		-   "target": "web", | ||||
| 		+   "target": "electron-preload", | ||||
| 	`)
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue