11import { resolveFmtOptions } from './config.ts' ;
22import { discoverFmtPaths } from './discoverPaths.ts' ;
33import { createFmtIgnoreMatcher } from './ignore.ts' ;
4- import { createFmtPluginResolver , type FmtPluginResolver } from './plugins.ts' ;
54import type { DiscoverFmtFilesOptions , FmtFileRequest , ResolvedFmtConfig } from './types.ts' ;
65
7- const createFileRequest = (
8- filePath : string ,
9- config : ResolvedFmtConfig ,
10- resolvePlugins : FmtPluginResolver ,
11- ) : FmtFileRequest => ( {
6+ const createFileRequest = ( filePath : string , config : ResolvedFmtConfig ) : FmtFileRequest => ( {
127 path : filePath ,
13- options : resolvePlugins ( resolveFmtOptions ( filePath , config ) ) ,
8+ options : resolveFmtOptions ( filePath , config ) ,
149} ) ;
1510
1611/** Discovers worker-ready files without reading Prettier config files or `.prettierignore`. */
@@ -26,9 +21,18 @@ const discoverFmtFiles = async ({
2621
2722 const isFmtIgnored = createFmtIgnoreMatcher ( config ) ;
2823 const filePaths = candidates . filter ( ( filePath ) => ! isFmtIgnored ( filePath ) ) ;
24+ const files = filePaths . map ( ( filePath ) => createFileRequest ( filePath , config ) ) ;
25+ if ( ! files . some ( ( file ) => file . options . plugins ?. length ) ) {
26+ return files ;
27+ }
28+
29+ const { createFmtPluginResolver } = await import (
30+ /* rspackChunkName: 'fmtPlugins' */
31+ './plugins.ts'
32+ ) ;
2933 const resolvePlugins = createFmtPluginResolver ( config . rootPath ) ;
3034
31- return filePaths . map ( ( filePath ) => createFileRequest ( filePath , config , resolvePlugins ) ) ;
35+ return files . map ( ( file ) => ( { ... file , options : resolvePlugins ( file . options ) } ) ) ;
3236} ;
3337
3438export { discoverFmtFiles } ;
0 commit comments