@@ -2181,7 +2181,7 @@ describe("ExportsFieldPlugin", () => {
2181
2181
it ( "resolve using exports field, not a browser field #1" , done => {
2182
2182
const resolver = ResolverFactory . createResolver ( {
2183
2183
aliasFields : [ "browser" ] ,
2184
- conditionNames : [ "webpack " ] ,
2184
+ conditionNames : [ "custom " ] ,
2185
2185
extensions : [ ".js" ] ,
2186
2186
fileSystem : nodeFileSystem
2187
2187
} ) ;
@@ -2205,9 +2205,9 @@ describe("ExportsFieldPlugin", () => {
2205
2205
it ( "resolve using exports field and a browser alias field #2" , done => {
2206
2206
const resolver = ResolverFactory . createResolver ( {
2207
2207
aliasFields : [ "browser" ] ,
2208
+ conditionNames : [ "node" ] ,
2208
2209
extensions : [ ".js" ] ,
2209
- fileSystem : nodeFileSystem ,
2210
- conditionNames : [ "node" ]
2210
+ fileSystem : nodeFileSystem
2211
2211
} ) ;
2212
2212
2213
2213
resolver . resolve (
@@ -2266,7 +2266,7 @@ describe("ExportsFieldPlugin", () => {
2266
2266
if ( err ) return done ( err ) ;
2267
2267
if ( ! result ) return done ( new Error ( "No result" ) ) ;
2268
2268
expect ( result ) . toEqual (
2269
- path . resolve ( fixture2 , "node_modules/exports-field/lib/lib2/ main.js" )
2269
+ path . resolve ( fixture2 , "node_modules/exports-field/lib/main.js" )
2270
2270
) ;
2271
2271
done ( ) ;
2272
2272
}
@@ -2283,7 +2283,7 @@ describe("ExportsFieldPlugin", () => {
2283
2283
if ( err ) return done ( err ) ;
2284
2284
if ( ! result ) return done ( new Error ( "No result" ) ) ;
2285
2285
expect ( result ) . toEqual (
2286
- path . resolve ( fixture , "node_modules/exports-field/lib/lib2/ main.js" )
2286
+ path . resolve ( fixture , "node_modules/exports-field/lib/main.js" )
2287
2287
) ;
2288
2288
done ( ) ;
2289
2289
}
@@ -2406,7 +2406,9 @@ describe("ExportsFieldPlugin", () => {
2406
2406
( err , result ) => {
2407
2407
if ( ! err ) return done ( new Error ( `expect error, got ${ result } ` ) ) ;
2408
2408
expect ( err ) . toBeInstanceOf ( Error ) ;
2409
- expect ( err . message ) . toMatch ( / C a n ' t r e s o l v e / ) ;
2409
+ expect ( err . message ) . toMatch (
2410
+ / I n v a l i d " e x p o r t s " t a r g e t " \. \/ l i b \/ l i b 2 \/ \. \. \/ \. \. \/ \. \. \/ a \. j s " d e f i n e d f o r " \. \/ d i s t \/ " /
2411
+ ) ;
2410
2412
done ( ) ;
2411
2413
}
2412
2414
) ;
@@ -2421,7 +2423,9 @@ describe("ExportsFieldPlugin", () => {
2421
2423
( err , result ) => {
2422
2424
if ( ! err ) return done ( new Error ( `expect error, got ${ result } ` ) ) ;
2423
2425
expect ( err ) . toBeInstanceOf ( Error ) ;
2424
- expect ( err . message ) . toMatch ( / o u t o f p a c k a g e s c o p e / ) ;
2426
+ expect ( err . message ) . toMatch (
2427
+ / I n v a l i d " e x p o r t s " t a r g e t " \. \/ \. \. \/ \. \. \/ a \. j s " d e f i n e d f o r " \. \/ d i s t \/ a \. j s " /
2428
+ ) ;
2425
2429
done ( ) ;
2426
2430
}
2427
2431
) ;
@@ -2572,7 +2576,9 @@ describe("ExportsFieldPlugin", () => {
2572
2576
resolver . resolve ( { } , fixture4 , "exports-field" , { } , ( err , result ) => {
2573
2577
if ( ! err ) return done ( new Error ( `expect error, got ${ result } ` ) ) ;
2574
2578
expect ( err ) . toBeInstanceOf ( Error ) ;
2575
- expect ( err . message ) . toMatch ( / T r y i n g t o a c c e s s o u t o f p a c k a g e s c o p e / ) ;
2579
+ expect ( err . message ) . toMatch (
2580
+ / I n v a l i d " e x p o r t s " t a r g e t " \. \/ a \/ \. \. \/ b \/ \. \. \/ \. \. \/ p a c k 1 \/ i n d e x \. j s " d e f i n e d f o r " \. " /
2581
+ ) ;
2576
2582
done ( ) ;
2577
2583
} ) ;
2578
2584
} ) ;
@@ -3000,7 +3006,9 @@ describe("ExportsFieldPlugin", () => {
3000
3006
( err , result ) => {
3001
3007
if ( ! err ) return done ( new Error ( `expect error, got ${ result } ` ) ) ;
3002
3008
expect ( err ) . toBeInstanceOf ( Error ) ;
3003
- expect ( err . message ) . toMatch ( / C a n ' t r e s o l v e / ) ;
3009
+ expect ( err . message ) . toMatch (
3010
+ / I n v a l i d " e x p o r t s " t a r g e t " f o o " d e f i n e d f o r " \. \/ b a z - m u l t i " /
3011
+ ) ;
3004
3012
done ( ) ;
3005
3013
}
3006
3014
) ;
@@ -3169,4 +3177,149 @@ describe("ExportsFieldPlugin", () => {
3169
3177
}
3170
3178
) ;
3171
3179
} ) ;
3180
+
3181
+ it ( "invalid package target #15" , done => {
3182
+ resolver . resolve (
3183
+ { } ,
3184
+ fixture5 ,
3185
+ "@exports-field/bad-specifier/non-existent.js" ,
3186
+ { } ,
3187
+ ( err , result ) => {
3188
+ if ( ! err ) return done ( new Error ( `expect error, got ${ result } ` ) ) ;
3189
+ expect ( err ) . toBeInstanceOf ( Error ) ;
3190
+ expect ( err . message ) . toMatch (
3191
+ / C a n ' t r e s o l v e ' @ e x p o r t s - f i e l d \/ b a d - s p e c i f i e r \/ n o n - e x i s t e n t \. j s ' /
3192
+ ) ;
3193
+ done ( ) ;
3194
+ }
3195
+ ) ;
3196
+ } ) ;
3197
+
3198
+ it ( "invalid package target #16" , done => {
3199
+ resolver . resolve (
3200
+ { } ,
3201
+ fixture5 ,
3202
+ "@exports-field/bad-specifier/dep/multi1" ,
3203
+ { } ,
3204
+ ( err , result ) => {
3205
+ if ( ! err ) return done ( new Error ( `expect error, got ${ result } ` ) ) ;
3206
+ expect ( err ) . toBeInstanceOf ( Error ) ;
3207
+ expect ( err . message ) . toMatch (
3208
+ / I n v a l i d " e x p o r t s " t a r g e t " \. \. \/ \. \. \/ t e s t \/ f o o " d e f i n e d f o r " \. \/ d e p \/ m u l t i 1 " /
3209
+ ) ;
3210
+ done ( ) ;
3211
+ }
3212
+ ) ;
3213
+ } ) ;
3214
+
3215
+ it ( "invalid package target #17" , done => {
3216
+ resolver . resolve (
3217
+ { } ,
3218
+ fixture5 ,
3219
+ "@exports-field/bad-specifier/dep/multi2" ,
3220
+ { } ,
3221
+ ( err , result ) => {
3222
+ if ( ! err ) return done ( new Error ( `expect error, got ${ result } ` ) ) ;
3223
+ expect ( err ) . toBeInstanceOf ( Error ) ;
3224
+ expect ( err . message ) . toMatch (
3225
+ / I n v a l i d " e x p o r t s " t a r g e t " \. \. \/ \. \. \/ t e s t " d e f i n e d f o r " \. \/ d e p \/ m u l t i 2 " /
3226
+ ) ;
3227
+ done ( ) ;
3228
+ }
3229
+ ) ;
3230
+ } ) ;
3231
+
3232
+ it ( "invalid package target #18" , done => {
3233
+ resolver . resolve (
3234
+ { } ,
3235
+ fixture5 ,
3236
+ "@exports-field/bad-specifier/dep/multi4" ,
3237
+ { } ,
3238
+ ( err , result ) => {
3239
+ if ( ! err ) return done ( new Error ( `expect error, got ${ result } ` ) ) ;
3240
+ expect ( err ) . toBeInstanceOf ( Error ) ;
3241
+ expect ( err . message ) . toMatch (
3242
+ / I n v a l i d " e x p o r t s " t a r g e t " \. \/ c \/ \. \. \/ b \/ \. \. \/ \. \. \/ p a c k 1 \/ i n d e x \. j s " d e f i n e d f o r " \. \/ d e p \/ m u l t i 4 " /
3243
+ ) ;
3244
+ done ( ) ;
3245
+ }
3246
+ ) ;
3247
+ } ) ;
3248
+
3249
+ it ( "invalid package target #19" , done => {
3250
+ resolver . resolve (
3251
+ { } ,
3252
+ fixture5 ,
3253
+ "@exports-field/bad-specifier/dep/multi5" ,
3254
+ { } ,
3255
+ ( err , result ) => {
3256
+ if ( ! err ) return done ( new Error ( `expect error, got ${ result } ` ) ) ;
3257
+ expect ( err ) . toBeInstanceOf ( Error ) ;
3258
+ expect ( err . message ) . toMatch (
3259
+ / I n v a l i d " e x p o r t s " t a r g e t " \. \/ a \/ \. \. \/ b \/ \. \. \/ \. \. \/ p a c k 1 \/ i n d e x \. j s " d e f i n e d f o r " \. \/ d e p \/ m u l t i 5 " /
3260
+ ) ;
3261
+ done ( ) ;
3262
+ }
3263
+ ) ;
3264
+ } ) ;
3265
+
3266
+ it ( "should resolve the valid thing in array of export #1" , done => {
3267
+ resolver . resolve (
3268
+ { } ,
3269
+ fixture5 ,
3270
+ "@exports-field/bad-specifier/bad-specifier.js" ,
3271
+ { } ,
3272
+ ( err , result ) => {
3273
+ if ( err ) return done ( err ) ;
3274
+ if ( ! result ) return done ( new Error ( "No result" ) ) ;
3275
+ expect ( result ) . toEqual ( path . resolve ( fixture5 , "./a.js" ) ) ;
3276
+ done ( ) ;
3277
+ }
3278
+ ) ;
3279
+ } ) ;
3280
+
3281
+ it ( "should resolve the valid thing in array of export #2" , done => {
3282
+ resolver . resolve (
3283
+ { } ,
3284
+ fixture5 ,
3285
+ "@exports-field/bad-specifier/bad-specifier1.js" ,
3286
+ { } ,
3287
+ ( err , result ) => {
3288
+ if ( err ) return done ( err ) ;
3289
+ if ( ! result ) return done ( new Error ( "No result" ) ) ;
3290
+ expect ( result ) . toEqual ( path . resolve ( fixture5 , "./a.js" ) ) ;
3291
+ done ( ) ;
3292
+ }
3293
+ ) ;
3294
+ } ) ;
3295
+
3296
+ it ( "should resolve the valid thing in array of export #3" , done => {
3297
+ resolver . resolve (
3298
+ { } ,
3299
+ fixture5 ,
3300
+ "@exports-field/bad-specifier/dep/multi" ,
3301
+ { } ,
3302
+ ( err , result ) => {
3303
+ if ( err ) return done ( err ) ;
3304
+ if ( ! result ) return done ( new Error ( "No result" ) ) ;
3305
+ expect ( result ) . toEqual ( path . resolve ( fixture5 , "./a.js" ) ) ;
3306
+ done ( ) ;
3307
+ }
3308
+ ) ;
3309
+ } ) ;
3310
+
3311
+ it ( "should resolve the valid thing in array of export #4" , done => {
3312
+ resolver . resolve (
3313
+ { } ,
3314
+ fixture5 ,
3315
+ "@exports-field/bad-specifier/dep/multi3" ,
3316
+ { } ,
3317
+ ( err , result ) => {
3318
+ if ( err ) return done ( err ) ;
3319
+ if ( ! result ) return done ( new Error ( "No result" ) ) ;
3320
+ expect ( result ) . toEqual ( path . resolve ( fixture5 , "./a.js" ) ) ;
3321
+ done ( ) ;
3322
+ }
3323
+ ) ;
3324
+ } ) ;
3172
3325
} ) ;
0 commit comments