.eslintrc.js 995 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. const fs = require('fs');
  2. const path = require('path');
  3. const prettierOptions = JSON.parse(
  4. fs.readFileSync(path.resolve(__dirname, '.prettierrc'), 'utf8'),
  5. );
  6. module.exports = {
  7. extends: ['react-app', 'prettier'],
  8. plugins: ['prettier', 'jsdoc'],
  9. rules: {
  10. 'prettier/prettier': ['error', prettierOptions],
  11. 'no-restricted-imports': [
  12. 'error',
  13. {
  14. paths: [
  15. {
  16. name: 'lodash',
  17. message: 'suggest import xxx from `lodash/xxx`',
  18. },
  19. {
  20. name: 'uuid',
  21. message: 'suggest import xxx from `uuid/dist/xxx`',
  22. },
  23. ],
  24. },
  25. ],
  26. },
  27. parserOptions: {
  28. ecmaVersion: 2018,
  29. sourceType: 'module',
  30. ecmaFeatures: {
  31. jsx: true,
  32. },
  33. project: './tsconfig.json',
  34. tsconfigRootDir: __dirname,
  35. },
  36. overrides: [
  37. {
  38. files: ['**/*.ts?(x)'],
  39. rules: { 'prettier/prettier': ['warn', prettierOptions] },
  40. },
  41. ],
  42. ignorePatterns: ['public/*'],
  43. };