@@ -4,32 +4,49 @@ import prettier from "prettier/standalone";
4
4
import { getPlugins , getPluginsBuiltin , resolve } from "./utils.js" ;
5
5
import type { ContextOptions , LazyFormatOptions , PluginsOptions } from "./types.js" ;
6
6
7
- async function check ( filePath : string , fileContent : string , formatOptions : LazyFormatOptions , contextOptions : ContextOptions , pluginsDefaultOptions : PluginsOptions , pluginsCustomOptions : PluginsOptions ) : Promise < boolean > {
7
+ async function check (
8
+ filePath : string ,
9
+ fileContent : string ,
10
+ formatOptions : LazyFormatOptions ,
11
+ contextOptions : ContextOptions ,
12
+ pluginsDefaultOptions : PluginsOptions ,
13
+ pluginsCustomOptions : PluginsOptions ,
14
+ ) : Promise < boolean > {
8
15
const fileContentFormatted = await format ( filePath , fileContent , formatOptions , contextOptions , pluginsDefaultOptions , pluginsCustomOptions ) ;
9
16
return fileContent === fileContentFormatted ;
10
17
}
11
18
12
- async function checkWithPath ( filePath : string , formatOptions : LazyFormatOptions , contextOptions : ContextOptions , pluginsDefaultOptions : PluginsOptions , pluginsCustomOptions : PluginsOptions ) : Promise < boolean > {
19
+ async function checkWithPath (
20
+ filePath : string ,
21
+ formatOptions : LazyFormatOptions ,
22
+ contextOptions : ContextOptions ,
23
+ pluginsDefaultOptions : PluginsOptions ,
24
+ pluginsCustomOptions : PluginsOptions ,
25
+ ) : Promise < boolean > {
13
26
const fileContent = await readFile ( filePath , "utf8" ) ;
14
27
return check ( filePath , fileContent , formatOptions , contextOptions , pluginsDefaultOptions , pluginsCustomOptions ) ;
15
28
}
16
29
17
- async function format ( filePath : string , fileContent : string , formatOptions : LazyFormatOptions , contextOptions : ContextOptions , pluginsDefaultOptions : PluginsOptions , pluginsCustomOptions : PluginsOptions ) : Promise < string > {
30
+ async function format (
31
+ filePath : string ,
32
+ fileContent : string ,
33
+ formatOptions : LazyFormatOptions ,
34
+ contextOptions : ContextOptions ,
35
+ pluginsDefaultOptions : PluginsOptions ,
36
+ pluginsCustomOptions : PluginsOptions ,
37
+ ) : Promise < string > {
18
38
formatOptions = await resolve ( formatOptions ) ;
19
39
const pluginsBuiltin = await getPluginsBuiltin ( ) ;
20
40
const plugins = await getPlugins ( formatOptions . plugins || [ ] ) ;
21
- const pluginsOverride = contextOptions . configPrecedence !== ' file-override' ;
41
+ const pluginsOverride = contextOptions . configPrecedence !== " file-override" ;
22
42
23
43
const options = {
24
44
...pluginsDefaultOptions ,
25
45
...( pluginsOverride ? formatOptions : pluginsCustomOptions ) ,
26
46
...( pluginsOverride ? pluginsCustomOptions : formatOptions ) ,
27
47
...contextOptions ,
28
48
filepath : filePath ,
29
- plugins : [
30
- ...pluginsBuiltin ,
31
- ...plugins ,
32
- ] ,
49
+ plugins : [ ...pluginsBuiltin , ...plugins ] ,
33
50
} ;
34
51
35
52
const result = await prettier . formatWithCursor ( fileContent , options as any ) ; //FIXME: Prettier's own types are incorrect here
@@ -41,19 +58,38 @@ async function format(filePath: string, fileContent: string, formatOptions: Lazy
41
58
return result . formatted ;
42
59
}
43
60
44
- async function formatWithPath ( filePath : string , formatOptions : LazyFormatOptions , contextOptions : ContextOptions , pluginsDefaultOptions : PluginsOptions , pluginsCustomOptions : PluginsOptions ) : Promise < string > {
61
+ async function formatWithPath (
62
+ filePath : string ,
63
+ formatOptions : LazyFormatOptions ,
64
+ contextOptions : ContextOptions ,
65
+ pluginsDefaultOptions : PluginsOptions ,
66
+ pluginsCustomOptions : PluginsOptions ,
67
+ ) : Promise < string > {
45
68
const fileContent = await readFile ( filePath , "utf8" ) ;
46
69
return format ( filePath , fileContent , formatOptions , contextOptions , pluginsDefaultOptions , pluginsCustomOptions ) ;
47
70
}
48
71
49
- async function write ( filePath : string , fileContent : string , formatOptions : LazyFormatOptions , contextOptions : ContextOptions , pluginsDefaultOptions : PluginsOptions , pluginsCustomOptions : PluginsOptions ) : Promise < boolean > {
72
+ async function write (
73
+ filePath : string ,
74
+ fileContent : string ,
75
+ formatOptions : LazyFormatOptions ,
76
+ contextOptions : ContextOptions ,
77
+ pluginsDefaultOptions : PluginsOptions ,
78
+ pluginsCustomOptions : PluginsOptions ,
79
+ ) : Promise < boolean > {
50
80
const fileContentFormatted = await format ( filePath , fileContent , formatOptions , contextOptions , pluginsDefaultOptions , pluginsCustomOptions ) ;
51
81
if ( fileContent === fileContentFormatted ) return true ;
52
82
await writeFile ( filePath , fileContentFormatted , "utf8" ) ;
53
83
return false ;
54
84
}
55
85
56
- async function writeWithPath ( filePath : string , formatOptions : LazyFormatOptions , contextOptions : ContextOptions , pluginsDefaultOptions : PluginsOptions , pluginsCustomOptions : PluginsOptions ) : Promise < boolean > {
86
+ async function writeWithPath (
87
+ filePath : string ,
88
+ formatOptions : LazyFormatOptions ,
89
+ contextOptions : ContextOptions ,
90
+ pluginsDefaultOptions : PluginsOptions ,
91
+ pluginsCustomOptions : PluginsOptions ,
92
+ ) : Promise < boolean > {
57
93
const fileContent = await readFile ( filePath , "utf8" ) ;
58
94
return write ( filePath , fileContent , formatOptions , contextOptions , pluginsDefaultOptions , pluginsCustomOptions ) ;
59
95
}
0 commit comments