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; | 			break; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	const extensions = []; | 	const jsExtensions = []; | ||||||
| 	if (mjs) extensions.push(".mjs"); | 	if (mjs) jsExtensions.push(".mjs"); | ||||||
| 	extensions.push(".js", ".json", ".wasm"); | 	jsExtensions.push(".js", ".json", ".wasm"); | ||||||
| 
 | 
 | ||||||
| 	/** @type {function(): ResolveOptions} */ | 	/** @type {function(): ResolveOptions} */ | ||||||
| 	const cjsDeps = () => ({ | 	const cjsDeps = () => ({ | ||||||
|  | @ -701,7 +701,8 @@ const getResolveDefaults = ({ | ||||||
| 		mainFields: webTarget ? ["browser", "module", "..."] : ["module", "..."], | 		mainFields: webTarget ? ["browser", "module", "..."] : ["module", "..."], | ||||||
| 		conditionNames: webTarget | 		conditionNames: webTarget | ||||||
| 			? ["require", "module", "browser", "..."] | 			? ["require", "module", "browser", "..."] | ||||||
| 			: ["require", "module", "..."] | 			: ["require", "module", "..."], | ||||||
|  | 		extensions: [...jsExtensions] | ||||||
| 	}); | 	}); | ||||||
| 	/** @type {function(): ResolveOptions} */ | 	/** @type {function(): ResolveOptions} */ | ||||||
| 	const esmDeps = () => ({ | 	const esmDeps = () => ({ | ||||||
|  | @ -709,7 +710,8 @@ const getResolveDefaults = ({ | ||||||
| 		mainFields: webTarget ? ["browser", "module", "..."] : ["module", "..."], | 		mainFields: webTarget ? ["browser", "module", "..."] : ["module", "..."], | ||||||
| 		conditionNames: webTarget | 		conditionNames: webTarget | ||||||
| 			? ["import", "module", "browser", "..."] | 			? ["import", "module", "browser", "..."] | ||||||
| 			: ["import", "module", "..."] | 			: ["import", "module", "..."], | ||||||
|  | 		extensions: [...jsExtensions] | ||||||
| 	}); | 	}); | ||||||
| 
 | 
 | ||||||
| 	/** @type {ResolveOptions} */ | 	/** @type {ResolveOptions} */ | ||||||
|  | @ -717,8 +719,8 @@ const getResolveDefaults = ({ | ||||||
| 		cache, | 		cache, | ||||||
| 		modules: ["node_modules"], | 		modules: ["node_modules"], | ||||||
| 		conditionNames: conditions, | 		conditionNames: conditions, | ||||||
| 		extensions, |  | ||||||
| 		mainFiles: ["index"], | 		mainFiles: ["index"], | ||||||
|  | 		extensions: [], | ||||||
| 		aliasFields: [], | 		aliasFields: [], | ||||||
| 		exportsFields: ["exports"], | 		exportsFields: ["exports"], | ||||||
| 		roots: [context], | 		roots: [context], | ||||||
|  |  | ||||||
|  | @ -238,35 +238,152 @@ describe("Defaults", () => { | ||||||
| 		  "recordsInputPath": false, | 		  "recordsInputPath": false, | ||||||
| 		  "recordsOutputPath": false, | 		  "recordsOutputPath": false, | ||||||
| 		  "resolve": Object { | 		  "resolve": Object { | ||||||
| 		    "aliasFields": Array [ | 		    "aliasFields": Array [], | ||||||
| 		      "browser", |  | ||||||
| 		    ], |  | ||||||
| 		    "byDependency": Object { | 		    "byDependency": Object { | ||||||
| 		      "amd": Object { | 		      "amd": Object { | ||||||
|  | 		        "aliasFields": Array [ | ||||||
|  | 		          "browser", | ||||||
|  | 		        ], | ||||||
| 		        "conditionNames": Array [ | 		        "conditionNames": Array [ | ||||||
| 		          "require", | 		          "require", | ||||||
| 		          "module", | 		          "module", | ||||||
|  | 		          "browser", | ||||||
|  | 		          "...", | ||||||
|  | 		        ], | ||||||
|  | 		        "extensions": Array [ | ||||||
|  | 		          ".js", | ||||||
|  | 		          ".json", | ||||||
|  | 		          ".wasm", | ||||||
|  | 		        ], | ||||||
|  | 		        "mainFields": Array [ | ||||||
|  | 		          "browser", | ||||||
|  | 		          "module", | ||||||
| 		          "...", | 		          "...", | ||||||
| 		        ], | 		        ], | ||||||
| 		      }, | 		      }, | ||||||
| 		      "commonjs": Object { | 		      "commonjs": Object { | ||||||
|  | 		        "aliasFields": Array [ | ||||||
|  | 		          "browser", | ||||||
|  | 		        ], | ||||||
| 		        "conditionNames": Array [ | 		        "conditionNames": Array [ | ||||||
| 		          "require", | 		          "require", | ||||||
| 		          "module", | 		          "module", | ||||||
|  | 		          "browser", | ||||||
|  | 		          "...", | ||||||
|  | 		        ], | ||||||
|  | 		        "extensions": Array [ | ||||||
|  | 		          ".js", | ||||||
|  | 		          ".json", | ||||||
|  | 		          ".wasm", | ||||||
|  | 		        ], | ||||||
|  | 		        "mainFields": Array [ | ||||||
|  | 		          "browser", | ||||||
|  | 		          "module", | ||||||
| 		          "...", | 		          "...", | ||||||
| 		        ], | 		        ], | ||||||
| 		      }, | 		      }, | ||||||
| 		      "esm": Object { | 		      "esm": Object { | ||||||
|  | 		        "aliasFields": Array [ | ||||||
|  | 		          "browser", | ||||||
|  | 		        ], | ||||||
| 		        "conditionNames": Array [ | 		        "conditionNames": Array [ | ||||||
| 		          "import", | 		          "import", | ||||||
| 		          "module", | 		          "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 { | 		      "wasm": Object { | ||||||
|  | 		        "aliasFields": Array [ | ||||||
|  | 		          "browser", | ||||||
|  | 		        ], | ||||||
| 		        "conditionNames": Array [ | 		        "conditionNames": Array [ | ||||||
| 		          "import", | 		          "import", | ||||||
| 		          "module", | 		          "module", | ||||||
|  | 		          "browser", | ||||||
|  | 		          "...", | ||||||
|  | 		        ], | ||||||
|  | 		        "extensions": Array [ | ||||||
|  | 		          ".js", | ||||||
|  | 		          ".json", | ||||||
|  | 		          ".wasm", | ||||||
|  | 		        ], | ||||||
|  | 		        "mainFields": Array [ | ||||||
|  | 		          "browser", | ||||||
|  | 		          "module", | ||||||
| 		          "...", | 		          "...", | ||||||
| 		        ], | 		        ], | ||||||
| 		      }, | 		      }, | ||||||
|  | @ -275,19 +392,12 @@ describe("Defaults", () => { | ||||||
| 		    "conditionNames": Array [ | 		    "conditionNames": Array [ | ||||||
| 		      "webpack", | 		      "webpack", | ||||||
| 		      "production", | 		      "production", | ||||||
| 		      "browser", |  | ||||||
| 		    ], | 		    ], | ||||||
| 		    "exportsFields": Array [ | 		    "exportsFields": Array [ | ||||||
| 		      "exports", | 		      "exports", | ||||||
| 		    ], | 		    ], | ||||||
| 		    "extensions": Array [ | 		    "extensions": Array [], | ||||||
| 		      ".js", |  | ||||||
| 		      ".json", |  | ||||||
| 		      ".wasm", |  | ||||||
| 		    ], |  | ||||||
| 		    "mainFields": Array [ | 		    "mainFields": Array [ | ||||||
| 		      "browser", |  | ||||||
| 		      "module", |  | ||||||
| 		      "main", | 		      "main", | ||||||
| 		    ], | 		    ], | ||||||
| 		    "mainFiles": Array [ | 		    "mainFiles": Array [ | ||||||
|  | @ -557,7 +667,19 @@ describe("Defaults", () => { | ||||||
| 		+       }, | 		+       }, | ||||||
| 		+     ], | 		+     ], | ||||||
| 		@@ ... @@ | 		@@ ... @@ | ||||||
| 		+       ".mjs", | 		+           ".mjs", | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		+           ".mjs", | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		+           ".mjs", | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		+           ".mjs", | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		+           ".mjs", | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		+           ".mjs", | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		+           ".mjs", | ||||||
| 	`)
 | 	`)
 | ||||||
| 	); | 	); | ||||||
| 	test("output module", { experiments: { outputModule: true } }, e => | 	test("output module", { experiments: { outputModule: true } }, e => | ||||||
|  | @ -708,16 +830,71 @@ describe("Defaults", () => { | ||||||
| 		-     "globalObject": "window", | 		-     "globalObject": "window", | ||||||
| 		+     "globalObject": "global", | 		+     "globalObject": "global", | ||||||
| 		@@ ... @@ | 		@@ ... @@ | ||||||
| 		-     "aliasFields": Array [ | 		-         "aliasFields": Array [ | ||||||
| 		-       "browser", | 		-           "browser", | ||||||
| 		-     ], | 		-         ], | ||||||
| 		+     "aliasFields": Array [], | 		+         "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", | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		-         "aliasFields": Array [ | ||||||
|  | 		-           "browser", | ||||||
|  | 		-         ], | ||||||
|  | 		+         "aliasFields": Array [], | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		-           "browser", | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		-           "browser", | ||||||
| 		@@ ... @@ | 		@@ ... @@ | ||||||
| 		-       "browser", |  | ||||||
| 		+       "node", | 		+       "node", | ||||||
| 		@@ ... @@ | 		@@ ... @@ | ||||||
| 		-       "browser", |  | ||||||
| 		@@ ... @@ |  | ||||||
| 		-   "target": "web", | 		-   "target": "web", | ||||||
| 		+   "target": "node", | 		+   "target": "node", | ||||||
| 	`)
 | 	`)
 | ||||||
|  | @ -753,17 +930,72 @@ describe("Defaults", () => { | ||||||
| 		-     "globalObject": "window", | 		-     "globalObject": "window", | ||||||
| 		+     "globalObject": "global", | 		+     "globalObject": "global", | ||||||
| 		@@ ... @@ | 		@@ ... @@ | ||||||
| 		-     "aliasFields": Array [ | 		-         "aliasFields": Array [ | ||||||
| 		-       "browser", | 		-           "browser", | ||||||
| 		-     ], | 		-         ], | ||||||
| 		+     "aliasFields": Array [], | 		+         "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", | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		-         "aliasFields": Array [ | ||||||
|  | 		-           "browser", | ||||||
|  | 		-         ], | ||||||
|  | 		+         "aliasFields": Array [], | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		-           "browser", | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		-           "browser", | ||||||
| 		@@ ... @@ | 		@@ ... @@ | ||||||
| 		-       "browser", |  | ||||||
| 		+       "node", | 		+       "node", | ||||||
| 		+       "electron", | 		+       "electron", | ||||||
| 		@@ ... @@ | 		@@ ... @@ | ||||||
| 		-       "browser", |  | ||||||
| 		@@ ... @@ |  | ||||||
| 		-   "target": "web", | 		-   "target": "web", | ||||||
| 		+   "target": "electron-main", | 		+   "target": "electron-main", | ||||||
| 	`)
 | 	`)
 | ||||||
|  | @ -777,17 +1009,72 @@ describe("Defaults", () => { | ||||||
| 		-     "globalObject": "window", | 		-     "globalObject": "window", | ||||||
| 		+     "globalObject": "self", | 		+     "globalObject": "self", | ||||||
| 		@@ ... @@ | 		@@ ... @@ | ||||||
| 		-     "aliasFields": Array [ | 		-         "aliasFields": Array [ | ||||||
| 		-       "browser", | 		-           "browser", | ||||||
| 		-     ], | 		-         ], | ||||||
| 		+     "aliasFields": Array [], | 		+         "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", | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		-         "aliasFields": Array [ | ||||||
|  | 		-           "browser", | ||||||
|  | 		-         ], | ||||||
|  | 		+         "aliasFields": Array [], | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		-           "browser", | ||||||
|  | 		@@ ... @@ | ||||||
|  | 		-           "browser", | ||||||
| 		@@ ... @@ | 		@@ ... @@ | ||||||
| 		-       "browser", |  | ||||||
| 		+       "node", | 		+       "node", | ||||||
| 		+       "electron", | 		+       "electron", | ||||||
| 		@@ ... @@ | 		@@ ... @@ | ||||||
| 		-       "browser", |  | ||||||
| 		@@ ... @@ |  | ||||||
| 		-   "target": "web", | 		-   "target": "web", | ||||||
| 		+   "target": "electron-preload", | 		+   "target": "electron-preload", | ||||||
| 	`)
 | 	`)
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue