lint-staged.config.js 887 B

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