prettier.ts 554 B

123456789101112131415161718192021
  1. import fs from 'node:fs/promises';
  2. import { format, getFileInfo, resolveConfig } from 'prettier';
  3. async function prettierFormat(filepath: string) {
  4. const prettierOptions = await resolveConfig(filepath, {});
  5. const fileInfo = await getFileInfo(filepath);
  6. const input = await fs.readFile(filepath, 'utf8');
  7. const output = await format(input, {
  8. ...prettierOptions,
  9. parser: fileInfo.inferredParser as any,
  10. });
  11. if (output !== input) {
  12. await fs.writeFile(filepath, output, 'utf8');
  13. }
  14. return output;
  15. }
  16. export { prettierFormat };