@@ -14,7 +14,7 @@ export async function compile(
1414 return await _compile ( css , base , {
1515 async loadModule ( id , base ) {
1616 if ( id [ 0 ] !== '.' ) {
17- let resolvedPath = resolveJsId ( id , base )
17+ let resolvedPath = await resolveJsId ( id , base )
1818 if ( ! resolvedPath ) {
1919 throw new Error ( `Could not resolve '${ id } ' from '${ base } '` )
2020 }
@@ -26,7 +26,7 @@ export async function compile(
2626 }
2727 }
2828
29- let resolvedPath = resolveJsId ( id , base )
29+ let resolvedPath = await resolveJsId ( id , base )
3030 if ( ! resolvedPath ) {
3131 throw new Error ( `Could not resolve '${ id } ' from '${ base } '` )
3232 }
@@ -91,21 +91,31 @@ const cssResolver = EnhancedResolve.ResolverFactory.createResolver({
9191 mainFields : [ 'style' ] ,
9292 conditionNames : [ 'style' ] ,
9393} )
94- function resolveCssId ( id : string , base : string ) {
94+ function resolveCssId ( id : string , base : string ) : Promise < string | false | undefined > {
9595 if ( typeof globalThis . __tw_resolve === 'function' ) {
9696 let resolved = globalThis . __tw_resolve ( id , base )
9797 if ( resolved ) {
98- return resolved
98+ return Promise . resolve ( resolved )
9999 }
100100 }
101101
102- return cssResolver . resolveSync ( { } , base , id )
102+ return new Promise ( ( resolve , reject ) =>
103+ cssResolver . resolve ( { } , base , id , { } , ( err , result ) => {
104+ if ( err ) return reject ( err )
105+ resolve ( result )
106+ } ) ,
107+ )
103108}
104109
105110const jsResolver = EnhancedResolve . ResolverFactory . createResolver ( {
106111 fileSystem : new EnhancedResolve . CachedInputFileSystem ( fs , 4000 ) ,
107112 useSyncFileSystemCalls : true ,
108113} )
109- function resolveJsId ( id : string , base : string ) {
110- return jsResolver . resolveSync ( { } , base , id )
114+ function resolveJsId ( id : string , base : string ) : Promise < string | false | undefined > {
115+ return new Promise ( ( resolve , reject ) =>
116+ jsResolver . resolve ( { } , base , id , { } , ( err , result ) => {
117+ if ( err ) return reject ( err )
118+ resolve ( result )
119+ } ) ,
120+ )
111121}
0 commit comments