@@ -41,6 +41,7 @@ type WebpackMeta = {
41
41
} ;
42
42
43
43
type Meta = NextMeta | ViteMeta | WebpackMeta ;
44
+ export type AsyncResolver = ( what : string , importer : string , stack : string [ ] ) => Promise < string > ;
44
45
45
46
export type PigmentOptions < Theme extends BaseTheme = BaseTheme > = {
46
47
theme ?: Theme ;
@@ -49,7 +50,7 @@ export type PigmentOptions<Theme extends BaseTheme = BaseTheme> = {
49
50
debug ?: IFileReporterOptions | false ;
50
51
sourceMap ?: boolean ;
51
52
meta ?: Meta ;
52
- asyncResolve ?: ( what : string ) => string | null ;
53
+ asyncResolve ?: ( ... args : Parameters < AsyncResolver > ) => Promise < string | null > ;
53
54
transformSx ?: boolean ;
54
55
} & Partial < WywInJsPluginOptions > ;
55
56
@@ -62,8 +63,6 @@ function hasCorectExtension(fileName: string) {
62
63
const VIRTUAL_CSS_FILE = `\0zero-runtime-styles.css` ;
63
64
const VIRTUAL_THEME_FILE = `\0zero-runtime-theme.js` ;
64
65
65
- type AsyncResolver = ( what : string , importer : string , stack : string [ ] ) => Promise < string > ;
66
-
67
66
function isZeroRuntimeThemeFile ( fileName : string ) {
68
67
return fileName === VIRTUAL_CSS_FILE || fileName === VIRTUAL_THEME_FILE ;
69
68
}
@@ -142,14 +141,15 @@ export const plugin = createUnplugin<PigmentOptions, true>((options) => {
142
141
let webpackResolver : AsyncResolver ;
143
142
144
143
const asyncResolve : AsyncResolver = async ( what , importer , stack ) => {
145
- const result = asyncResolveOpt ?.( what ) ;
144
+ const result = await asyncResolveOpt ?.( what , importer , stack ) ;
146
145
if ( typeof result === 'string' ) {
147
146
return result ;
148
147
}
149
148
// Use Webpack's resolver to resolve actual path but
150
149
// ignore next.js files during evaluation phase of WyW
151
- if ( webpackResolver && ! what . startsWith ( 'next' ) ) {
152
- return webpackResolver ( what , importer , stack ) ;
150
+ if ( webpackResolver ) {
151
+ const resolved = webpackResolver ( what , importer , stack ) ;
152
+ return resolved ;
153
153
}
154
154
return asyncResolveFallback ( what , importer , stack ) ;
155
155
} ;
0 commit comments