Advertisement
crutch12

eslint file name casing (react)

Apr 5th, 2021
1,066
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. {
  2.   plugins: ['unicorn'], // https://github.com/sindresorhus/eslint-plugin-unicorn
  3.  
  4.   overrides: [
  5.     // TS/JS
  6.     {
  7.       files: ['src/**/*.ts', 'src/**/*.js'],
  8.       rules: {
  9.         'unicorn/filename-case': [
  10.           'error',
  11.           {
  12.             cases: {
  13.               camelCase: true,
  14.               pascalCase: true,
  15.             },
  16.           },
  17.         ],
  18.       },
  19.     },
  20.     // Components/Layouts
  21.     {
  22.       files: ['src/**/*.tsx', 'src/**/*.jsx'],
  23.       excludedFiles: ['src/pages/**/*.tsx', 'src/pages/**/*.jsx'],
  24.       rules: {
  25.         'unicorn/filename-case': [
  26.           'error',
  27.           {
  28.             cases: {
  29.               pascalCase: true,
  30.             },
  31.           },
  32.         ],
  33.       },
  34.     },
  35.     // Pages
  36.     {
  37.       files: ['src/pages/*.tsx', 'src/pages/*.jsx'],
  38.       rules: {
  39.         'unicorn/filename-case': [
  40.           'error',
  41.           {
  42.             cases: {
  43.               kebabCase: true,
  44.             },
  45.           },
  46.         ],
  47.       },
  48.     },
  49.     // React Hooks (use methods)
  50.     {
  51.       files: ['src/**/Use*.ts', 'src/**/use*.ts', 'src/**/Use*.js', 'src/**/use*.js'],
  52.       rules: {
  53.         'unicorn/filename-case': [
  54.           'error',
  55.           {
  56.             cases: {
  57.               camelCase: true,
  58.             },
  59.           },
  60.         ],
  61.       },
  62.     },
  63.     // Styles (css/scss/sass/less/stylus)
  64.     {
  65.       files: ['src/**/*.css', 'src/**/*.scss', 'src/**/*.sass', 'src/**/*.less', 'src/**/*.stylus'],
  66.       rules: {
  67.         'unicorn/filename-case': [
  68.           'error',
  69.           {
  70.             cases: {
  71.               kebabCase: true,
  72.             },
  73.           },
  74.         ],
  75.       },
  76.     },
  77.     // @types
  78.     {
  79.       files: ['@types/**/*.d.ts'],
  80.       rules: {
  81.         'unicorn/filename-case': [
  82.           'error',
  83.           {
  84.             cases: {
  85.               kebabCase: true,
  86.             },
  87.           },
  88.         ],
  89.       },
  90.     },
  91.   ],
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement