@@ -2,7 +2,7 @@ import { _getDependenciesFromScripts } from '../../binaries/index.js';
2
2
import { timerify } from '../../util/Performance.js' ;
3
3
import { hasDependency , load } from '../../util/plugin.js' ;
4
4
import { toEntryPattern } from '../../util/protocols.js' ;
5
- import type { PluginConfig } from './types.js' ;
5
+ import type { AvaConfig } from './types.js' ;
6
6
import type { IsPluginEnabledCallback , GenericPluginCallback } from '../../types/plugins.js' ;
7
7
8
8
// https://github.com/avajs/ava/blob/main/docs/06-configuration.md
@@ -18,20 +18,22 @@ export const CONFIG_FILE_PATTERNS = ['ava.config.{js,cjs,mjs}', 'package.json'];
18
18
19
19
/** @public */
20
20
export const ENTRY_FILE_PATTERNS = [
21
- `test.{js,cjs,mjs}` ,
22
- `{src,source}/test.{js,cjs,mjs}` ,
23
- `**/__tests__/**/*.{js,cjs,mjs}` ,
24
- `**/*.spec.{js,cjs,mjs}` ,
25
- `**/*.test.{js,cjs,mjs}` ,
26
- `**/test-*.{js,cjs,mjs}` ,
27
- `**/test/**/*.{js,cjs,mjs}` ,
28
- `**/tests/**/*.{js,cjs,mjs}` ,
21
+ `test.{js,cjs,mjs,ts }` ,
22
+ `{src,source}/test.{js,cjs,mjs,ts }` ,
23
+ `**/__tests__/**/*.{js,cjs,mjs,ts }` ,
24
+ `**/*.spec.{js,cjs,mjs,ts }` ,
25
+ `**/*.test.{js,cjs,mjs,ts }` ,
26
+ `**/test-*.{js,cjs,mjs,ts }` ,
27
+ `**/test/**/*.{js,cjs,mjs,ts }` ,
28
+ `**/tests/**/*.{js,cjs,mjs,ts }` ,
29
29
'!**/__tests__/**/__{helper,fixture}?(s)__/**/*' ,
30
30
'!**/test?(s)/**/{helper,fixture}?(s)/**/*' ,
31
31
] ;
32
32
33
33
const findAvaDependencies : GenericPluginCallback = async ( configFilePath , { cwd, manifest, isProduction } ) => {
34
- const config : PluginConfig = configFilePath . endsWith ( 'package.json' ) ? manifest . ava : await load ( configFilePath ) ;
34
+ let config : AvaConfig = configFilePath . endsWith ( 'package.json' ) ? manifest . ava : await load ( configFilePath ) ;
35
+
36
+ if ( typeof config === 'function' ) config = config ( ) ;
35
37
36
38
const entryPatterns = ( config ?. files ?? ENTRY_FILE_PATTERNS ) . map ( toEntryPattern ) ;
37
39
if ( isProduction ) return entryPatterns ;
0 commit comments