lint-staged.config.js 780 B

123456789101112131415161718192021222324252627
  1. const escape = require('shell-quote').quote;
  2. const fs = require('fs');
  3. const isWin = process.platform === 'win32';
  4. const escapeFileNames = filenames =>
  5. filenames
  6. .filter(filename => fs.existsSync(filename))
  7. .map(filename => `"${isWin ? filename : escape([filename])}"`)
  8. .join(' ');
  9. module.exports = {
  10. '**/*{.css,.json,.md}': filenames => {
  11. const escapedFileNames = escapeFileNames(filenames);
  12. return [
  13. `prettier --write ${escapedFileNames}`,
  14. `git add -f ${escapedFileNames}`
  15. ];
  16. },
  17. '**/*{.ts,.tsx,.js,.jsx}': filenames => {
  18. const escapedFileNames = escapeFileNames(filenames);
  19. return [
  20. `prettier --write ${escapedFileNames}`,
  21. `eslint --fix ${escapedFileNames}`,
  22. `git add -f ${escapedFileNames}`
  23. ];
  24. }
  25. };