File tree Expand file tree Collapse file tree 3 files changed +56
-1
lines changed
test/function/samples/external-resolved Expand file tree Collapse file tree 3 files changed +56
-1
lines changed Original file line number Diff line number Diff line change @@ -423,7 +423,7 @@ export class ModuleLoader {
423423 if ( resolveIdResult ) {
424424 if ( typeof resolveIdResult === 'object' ) {
425425 id = resolveIdResult . id ;
426- if ( resolveIdResult . external ) {
426+ if ( resolveIdResult . external || this . options . external ( resolveIdResult . id , importer , true ) ) {
427427 external = true ;
428428 }
429429 if ( resolveIdResult . moduleSideEffects != null ) {
Original file line number Diff line number Diff line change 1+ const assert = require ( 'assert' ) ;
2+
3+ const testedIds = [ ] ;
4+
5+ module . exports = {
6+ description : 'passes both unresolved and resolved ids to the external option' ,
7+ context : {
8+ require ( ) {
9+ return true ;
10+ }
11+ } ,
12+ exports ( exports ) {
13+ assert . deepStrictEqual ( exports , {
14+ resolvedExternal : true ,
15+ resolvedObject : true ,
16+ resolvedObjectExternal : true ,
17+ resolvedString : true
18+ } ) ;
19+ assert . deepStrictEqual ( testedIds , [
20+ 'resolve-string' ,
21+ 'resolve-external' ,
22+ 'resolve-object' ,
23+ 'resolve-object-external' ,
24+ 'resolved-string' ,
25+ 'resolved-object'
26+ ] ) ;
27+ } ,
28+ options : {
29+ external ( id ) {
30+ testedIds . push ( id ) ;
31+ return id . startsWith ( 'resolved' ) ;
32+ } ,
33+ plugins : {
34+ name : 'test-plugin' ,
35+ resolveId ( source ) {
36+ switch ( source ) {
37+ case 'resolve-string' :
38+ return 'resolved-string' ;
39+ case 'resolve-external' :
40+ return false ;
41+ case 'resolve-object' :
42+ return { id : 'resolved-object' , external : false } ;
43+ case 'resolve-object-external' :
44+ return { id : 'resolved-object-external' , external : true } ;
45+ default :
46+ return null ;
47+ }
48+ }
49+ }
50+ }
51+ } ;
Original file line number Diff line number Diff line change 1+ export { default as resolvedString } from 'resolve-string' ;
2+ export { default as resolvedExternal } from 'resolve-external' ;
3+ export { default as resolvedObject } from 'resolve-object' ;
4+ export { default as resolvedObjectExternal } from 'resolve-object-external' ;
You can’t perform that action at this time.
0 commit comments