Skip to content
Snippets Groups Projects
.eslintrc.js 1.25 KiB
Newer Older
  • Learn to ignore specific revisions
  • ali asaria's avatar
    ali asaria committed
    module.exports = {
      extends: 'erb',
      plugins: ['@typescript-eslint'],
      rules: {
        // A temporary hack related to IDE not resolving correct package.json
        'import/no-extraneous-dependencies': 'off',
        'react/react-in-jsx-scope': 'off',
        'react/jsx-filename-extension': 'off',
        'import/extensions': 'off',
        'import/no-unresolved': 'off',
        'import/no-import-module-exports': 'off',
        'no-shadow': 'off',
        '@typescript-eslint/no-shadow': 'error',
        'no-unused-vars': 'off',
        '@typescript-eslint/no-unused-vars': 'error',
        'no-plusplus': 'off',
        'react/prop-types': 'off',
        'no-restricted-exports': 'off',
    
        // TODO: Fix prop types!
        'react/function-component-definition': 'off',
      },
      parserOptions: {
        ecmaVersion: 2020,
        sourceType: 'module',
        project: './tsconfig.json',
        tsconfigRootDir: __dirname,
        createDefaultProgram: true,
      },
      settings: {
        'import/resolver': {
          // See https://github.com/benmosher/eslint-plugin-import/issues/1396#issuecomment-575727774 for line below
          node: {},
          webpack: {
            config: require.resolve('./.erb/configs/webpack.config.eslint.ts'),
          },
          typescript: {},
        },
        'import/parsers': {
          '@typescript-eslint/parser': ['.ts', '.tsx'],
        },
      },
    };