Skip to content

Commit 38f9de5

Browse files
fix: external resolve callback
1 parent e911f52 commit 38f9de5

File tree

4 files changed

+14
-4
lines changed

4 files changed

+14
-4
lines changed

declarations/WebpackOptions.d.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3175,7 +3175,11 @@ export interface ExternalItemFunctionData {
31753175
| ((
31763176
context: string,
31773177
request: string,
3178-
callback: (err?: Error | null, result?: string | false) => void
3178+
callback: (
3179+
err?: Error | null,
3180+
result?: string | false,
3181+
resolveRequest?: import("enhanced-resolve").ResolveRequest
3182+
) => void
31793183
) => void)
31803184
| ((context: string, request: string) => Promise<string>);
31813185
/**

schemas/WebpackOptions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1206,7 +1206,7 @@
12061206
"getResolve": {
12071207
"description": "Get a resolve function with the current resolver options.",
12081208
"instanceof": "Function",
1209-
"tsType": "((options?: ResolveOptions) => ((context: string, request: string, callback: (err?: Error | null, result?: string | false) => void) => void) | ((context: string, request: string) => Promise<string>))"
1209+
"tsType": "((options?: ResolveOptions) => ((context: string, request: string, callback: (err?: Error | null, result?: string | false, resolveRequest?: import('enhanced-resolve').ResolveRequest) => void) => void) | ((context: string, request: string) => Promise<string>))"
12101210
},
12111211
"request": {
12121212
"description": "The request as written by the user in the require/import expression/statement.",

test/configCases/externals/resolve-callback/webpack.config.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ module.exports = {
1818
if (request === "external-false") {
1919
resolve(context, request, callback);
2020
} else {
21-
resolve(context, request, (err, resolved) => {
21+
resolve(context, request, (err, resolved, resolveRequest) => {
2222
if (err) callback(err);
23+
else if (resolved !== resolveRequest.path)
24+
callback(new Error("Error"));
2325
else callback(null, `var ${JSON.stringify(resolved)}`);
2426
});
2527
}

types.d.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4793,7 +4793,11 @@ declare interface ExternalItemFunctionData {
47934793
| ((
47944794
context: string,
47954795
request: string,
4796-
callback: (err?: null | Error, result?: string | false) => void
4796+
callback: (
4797+
err?: null | Error,
4798+
result?: string | false,
4799+
resolveRequest?: ResolveRequest
4800+
) => void
47974801
) => void)
47984802
| ((context: string, request: string) => Promise<string>);
47994803

0 commit comments

Comments
 (0)