@@ -30,12 +30,12 @@ export default async (seed = {}, options = {cwd: process.cwd()}) => {
30
30
pick ( config , 'extends' , 'plugins' , 'ignores' , 'defaultIgnores' )
31
31
) ;
32
32
33
- // Resolve parserPreset key
33
+ // Resolve parserPreset key from flat-non-extended config
34
34
if ( typeof config . parserPreset === 'string' ) {
35
35
const resolvedParserPreset = resolveFrom ( base , config . parserPreset ) ;
36
36
let resolvedParserConfig = await require ( resolvedParserPreset ) ;
37
37
38
- // Resolve loaded parser preset if its a factory
38
+ // Resolve loaded parser preset factory
39
39
if ( typeof resolvedParserConfig === 'function' ) {
40
40
resolvedParserConfig = await resolvedParserConfig ( ) ;
41
41
}
@@ -61,8 +61,14 @@ export default async (seed = {}, options = {cwd: process.cwd()}) => {
61
61
typeof preset . parserPreset . parserOpts === 'object' &&
62
62
typeof preset . parserPreset . parserOpts . then === 'function'
63
63
) {
64
- preset . parserPreset . parserOpts = ( await preset . parserPreset
65
- . parserOpts ) . parserOpts ;
64
+ let parserPreset = await preset . parserPreset . parserOpts ;
65
+
66
+ // Resolve loaded parser preset factory from extended config
67
+ if ( typeof parserPreset === 'function' ) {
68
+ parserPreset = await parserPreset ( ) ;
69
+ }
70
+
71
+ preset . parserPreset . parserOpts = parserPreset . parserOpts ;
66
72
}
67
73
68
74
// Resolve config-relative formatter module
0 commit comments