Skip to content

Commit 336665d

Browse files
committed
chore: use vite-plugin-prettier-format
1 parent be766c9 commit 336665d

File tree

3 files changed

+16
-55
lines changed

3 files changed

+16
-55
lines changed

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
"vite": "^6.2.0",
115115
"vite-plugin-dts": "4.5.1",
116116
"vite-plugin-lightningcss": "^0.0.5",
117+
"vite-plugin-prettier-format": "^1.0.0",
117118
"vitest": "^3.0.7"
118119
},
119120
"peerDependencies": {

pnpm-lock.yaml

+13
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vite.config.ts

+2-55
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,9 @@
1-
import type { Plugin } from 'vite'
2-
3-
import { resolveConfig, format } from 'prettier'
1+
import { prettierFormat } from 'vite-plugin-prettier-format'
42
import { defineConfig } from 'vite'
53
import dts from 'vite-plugin-dts'
64
import fs from 'node:fs/promises'
75
import path from 'node:path'
86

9-
let getAllFiles = async (directory: string): Promise<string[]> => {
10-
let entries = await fs.readdir(directory, { withFileTypes: true })
11-
12-
let childPathsPromises = entries.map(async entry => {
13-
let filePath = path.join(directory, entry.name)
14-
if (entry.isDirectory()) {
15-
return getAllFiles(filePath)
16-
} else if (entry.isFile()) {
17-
return [filePath]
18-
}
19-
return []
20-
})
21-
22-
let nestedPaths = await Promise.all(childPathsPromises)
23-
return nestedPaths.flat()
24-
}
25-
26-
let prettierPlugin = (): Plugin => {
27-
let outputDirectory: string = 'dist'
28-
return {
29-
closeBundle: async () => {
30-
let resolvedOutputDirectory = path.resolve(outputDirectory)
31-
32-
if (!resolvedOutputDirectory) {
33-
console.warn(
34-
'Output directory or file is not specified in the bundle options.',
35-
)
36-
return
37-
}
38-
39-
let files = await getAllFiles(resolvedOutputDirectory)
40-
41-
await Promise.all(
42-
files.map(async file => {
43-
let fileContent = await fs.readFile(file, 'utf8')
44-
let prettierConfig = await resolveConfig(file)
45-
let formattedContent = await format(fileContent, {
46-
...prettierConfig,
47-
filepath: file,
48-
})
49-
await fs.writeFile(file, formattedContent, 'utf8')
50-
}),
51-
)
52-
},
53-
configResolved: config => {
54-
outputDirectory = config.build.outDir
55-
},
56-
name: 'vite-plugin-prettier',
57-
}
58-
}
59-
607
export default defineConfig({
618
build: {
629
rollupOptions: {
@@ -104,7 +51,7 @@ export default defineConfig({
10451
strictOutput: true,
10552
rollupTypes: true,
10653
}),
107-
prettierPlugin(),
54+
prettierFormat(),
10855
],
10956
test: {
11057
coverage: {

0 commit comments

Comments
 (0)