lint-staged.config.js 641 B

12345678910111213141516171819202122232425
  1. const ESLint = require("eslint").ESLint;
  2. const removeIgnoredFiles = async (files) => {
  3. const eslint = new ESLint();
  4. const isIgnored = await Promise.all(
  5. files.map((file) => {
  6. return eslint.isPathIgnored(file);
  7. })
  8. );
  9. const filteredFiles = files.filter((_, i) => !isIgnored[i]);
  10. return filteredFiles.join(" ");
  11. };
  12. const config = {
  13. "src/**/*": ["prettier --write --ignore-unknown"],
  14. "src/**/*.{js,jsx,ts,tsx}": [
  15. async (files) => {
  16. const filesToLint = await removeIgnoredFiles(files);
  17. return `eslint --fix --max-warnings=0 ${filesToLint}`;
  18. },
  19. () => "tsc",
  20. ],
  21. };
  22. module.exports = config;