github.com/apache/beam/sdks/v2@v2.48.2/python/apache_beam/runners/interactive/extensions/apache-beam-jupyterlab-sidepanel/.eslintrc.js (about)

     1  // Licensed under the Apache License, Version 2.0 (the 'License'); you may not
     2  // use this file except in compliance with the License. You may obtain a copy of
     3  // the License at
     4  //
     5  //   http://www.apache.org/licenses/LICENSE-2.0
     6  //
     7  // Unless required by applicable law or agreed to in writing, software
     8  // distributed under the License is distributed on an 'AS IS' BASIS, WITHOUT
     9  // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
    10  // License for the specific language governing permissions and limitations under
    11  // the License.
    12  
    13  module.exports = {
    14    extends: [
    15      'eslint:recommended',
    16      'plugin:@typescript-eslint/eslint-recommended',
    17      'plugin:@typescript-eslint/recommended',
    18      'plugin:react/recommended',
    19      'plugin:prettier/recommended'
    20    ],
    21    parser: '@typescript-eslint/parser',
    22    parserOptions: {
    23      project: 'tsconfig.json',
    24      sourceType: 'module'
    25    },
    26    plugins: ['@typescript-eslint'],
    27    rules: {
    28      '@typescript-eslint/naming-convention': [
    29        'error',
    30        {
    31          'selector': ['variable', 'function'],
    32          'format': ['camelCase'],
    33          'leadingUnderscore': 'allow'
    34        }
    35      ],
    36      '@typescript-eslint/naming-convention': [
    37        'error',
    38        {
    39          'selector': 'interface',
    40          'format': ['PascalCase'],
    41          'custom': {
    42            'regex': '^I[A-Z]',
    43            'match': true
    44          }
    45        }
    46      ],
    47      "@typescript-eslint/ban-types": [
    48        "error",
    49        {
    50          "extendDefaults": true,
    51          "types": {
    52            "object": false
    53          }
    54        }
    55      ],
    56      '@typescript-eslint/no-unused-vars': ['warn', { args: 'none' }],
    57      '@typescript-eslint/no-explicit-any': 'off',
    58      '@typescript-eslint/no-namespace': 'off',
    59      '@typescript-eslint/no-use-before-define': 'off',
    60      '@typescript-eslint/quotes': [
    61        'error',
    62        'single',
    63        { avoidEscape: true, allowTemplateLiterals: false }
    64      ],
    65      curly: ['error', 'all'],
    66      eqeqeq: 'error',
    67      'prefer-arrow-callback': 'error',
    68      'max-len': [
    69        'error',
    70        {'code': 80, 'ignoreUrls': true, 'tabWidth': 2}
    71      ]
    72    },
    73    settings: {
    74      'react': {
    75        'version': 'detect'
    76      }
    77    }
    78  };