@@ -148,19 +148,7 @@ const resolveRequest = (
148
148
export const createResolveFilename = (
149
149
nextResolve : ResolveFilename ,
150
150
namespace ?: string ,
151
- ) : ResolveFilename => (
152
- request ,
153
- parent ,
154
- isMain ,
155
- options ,
156
- ) => {
157
- let resolve : SimpleResolve = request_ => nextResolve (
158
- request_ ,
159
- parent ,
160
- isMain ,
161
- options ,
162
- ) ;
163
-
151
+ ) : ResolveFilename => {
164
152
if ( namespace ) {
165
153
/**
166
154
* When namespaced, the loaders are registered to the extensions in a hidden way
@@ -169,41 +157,55 @@ export const createResolveFilename = (
169
157
* To support implicit extensions, we need to wrap the resolver with our own
170
158
* re-implementation of the implicit extension resolution
171
159
*/
172
- resolve = createImplicitResolver ( resolve ) ;
160
+ nextResolve = createImplicitResolver ( nextResolve ) ;
173
161
}
174
162
175
- request = interopCjsExports ( request ) ;
176
-
177
- // Strip query string
178
- const requestAndQuery = request . split ( '?' ) ;
179
- const searchParams = new URLSearchParams ( requestAndQuery [ 1 ] ) ;
180
-
181
- // Inherit parent namespace if it exists
182
- if ( parent ?. filename ) {
183
- const parentQuery = new URLSearchParams ( parent . filename . split ( '?' ) [ 1 ] ) ;
184
- const parentNamespace = parentQuery . get ( 'namespace' ) ;
185
- if ( parentNamespace ) {
186
- searchParams . append ( 'namespace' , parentNamespace ) ;
163
+ return (
164
+ request ,
165
+ parent ,
166
+ isMain ,
167
+ options ,
168
+ ) => {
169
+ const resolve : SimpleResolve = request_ => nextResolve (
170
+ request_ ,
171
+ parent ,
172
+ isMain ,
173
+ options ,
174
+ ) ;
175
+
176
+ request = interopCjsExports ( request ) ;
177
+
178
+ // Strip query string
179
+ const requestAndQuery = request . split ( '?' ) ;
180
+ const searchParams = new URLSearchParams ( requestAndQuery [ 1 ] ) ;
181
+
182
+ // Inherit parent namespace if it exists
183
+ if ( parent ?. filename ) {
184
+ const parentQuery = new URLSearchParams ( parent . filename . split ( '?' ) [ 1 ] ) ;
185
+ const parentNamespace = parentQuery . get ( 'namespace' ) ;
186
+ if ( parentNamespace ) {
187
+ searchParams . append ( 'namespace' , parentNamespace ) ;
188
+ }
187
189
}
188
- }
189
190
190
- // If request namespace doesnt match the namespace, ignore
191
- if ( ( searchParams . get ( 'namespace' ) ?? undefined ) !== namespace ) {
192
- return resolve ( request ) ;
193
- }
191
+ // If request namespace doesnt match the namespace, ignore
192
+ if ( ( searchParams . get ( 'namespace' ) ?? undefined ) !== namespace ) {
193
+ return resolve ( request ) ;
194
+ }
194
195
195
- let resolved = resolveRequest ( requestAndQuery [ 0 ] , parent , resolve ) ;
196
+ let resolved = resolveRequest ( requestAndQuery [ 0 ] , parent , resolve ) ;
196
197
197
- // Only add query back if it's a file path (not a core Node module)
198
- if (
199
- path . isAbsolute ( resolved )
198
+ // Only add query back if it's a file path (not a core Node module)
199
+ if (
200
+ path . isAbsolute ( resolved )
200
201
201
- // These two have native loaders which don't support queries
202
- && ! resolved . endsWith ( '.json' )
203
- && ! resolved . endsWith ( '.node' )
204
- ) {
205
- resolved += urlSearchParamsStringify ( searchParams ) ;
206
- }
202
+ // These two have native loaders which don't support queries
203
+ && ! resolved . endsWith ( '.json' )
204
+ && ! resolved . endsWith ( '.node' )
205
+ ) {
206
+ resolved += urlSearchParamsStringify ( searchParams ) ;
207
+ }
207
208
208
- return resolved ;
209
+ return resolved ;
210
+ } ;
209
211
} ;
0 commit comments