@@ -10,6 +10,7 @@ import type {
1010 GetInputsFromScriptsPartial ,
1111 GetSourceFile ,
1212 HandleInput ,
13+ Plugin ,
1314 WorkspaceConfiguration ,
1415} from './types/config.js' ;
1516import type { ConfigurationHint } from './types/issues.js' ;
@@ -186,13 +187,16 @@ export class WorkspaceWorker {
186187 return [ patterns , this . negatedWorkspacePatterns ] . flat ( ) ;
187188 }
188189
190+ private getPluginConfig ( plugin : Plugin ) {
191+ return typeof plugin . config === 'function' ? plugin . config ( { cwd : this . dir } ) : plugin . config ;
192+ }
193+
189194 getPluginConfigPatterns ( ) {
190195 const patterns : string [ ] = [ ] ;
191196 for ( const [ pluginName , plugin ] of PluginEntries ) {
192197 const pluginConfig = this . getConfigForPlugin ( pluginName ) ;
193198 if ( this . enabledPluginsMap [ pluginName ] && pluginConfig ) {
194- const { config } = pluginConfig ;
195- patterns . push ( ...( config ?? plugin . config ?? [ ] ) ) ;
199+ patterns . push ( ...( pluginConfig . config ?? this . getPluginConfig ( plugin ) ?? [ ] ) ) ;
196200 }
197201 }
198202 return patterns ;
@@ -234,7 +238,7 @@ export class WorkspaceWorker {
234238 private getConfigurationFilePatterns ( pluginName : PluginName ) {
235239 const plugin = Plugins [ pluginName ] ;
236240 const pluginConfig = this . getConfigForPlugin ( pluginName ) ;
237- return pluginConfig . config ?? plugin . config ?? [ ] ;
241+ return pluginConfig . config ?? this . getPluginConfig ( plugin ) ?? [ ] ;
238242 }
239243
240244 public async runPlugins ( ) {
0 commit comments