22 lines
554 B
TypeScript
22 lines
554 B
TypeScript
import fs from 'node:fs/promises';
|
|
|
|
import { format, getFileInfo, resolveConfig } from 'prettier';
|
|
|
|
async function prettierFormat(filepath: string) {
|
|
const prettierOptions = await resolveConfig(filepath, {});
|
|
|
|
const fileInfo = await getFileInfo(filepath);
|
|
|
|
const input = await fs.readFile(filepath, 'utf8');
|
|
const output = await format(input, {
|
|
...prettierOptions,
|
|
parser: fileInfo.inferredParser as any,
|
|
});
|
|
if (output !== input) {
|
|
await fs.writeFile(filepath, output, 'utf8');
|
|
}
|
|
return output;
|
|
}
|
|
|
|
export { prettierFormat };
|