lint-staged.config.js 1.1 KB

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