{"size": 2172, "ext": "js", "max_stars_repo_path": ".eslintrc.js", "max_stars_repo_name": "zamiang/homepage-notion-nextjs", "max_stars_repo_stars_event_min_datetime": null, "max_stars_repo_stars_event_max_datetime": null, "max_issues_repo_path": ".eslintrc.js", "max_issues_repo_name": "zamiang/homepage-notion-nextjs", "max_issues_repo_issues_event_min_datetime": "2021-11-01T05:20:44.000Z", "max_issues_repo_issues_event_max_datetime": "2022-03-31T05:24:28.000Z", "max_forks_repo_path": ".eslintrc.js", "max_forks_repo_name": "zamiang/homepage-notion-nextjs", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": null, "max_issues_count": 160, "max_forks_count": null, "avg_line_length": 31.4782608696, "max_line_length": 92, "alphanum_fraction": 0.6063535912}
module.exports = {
  env: {
    browser: true,
    es6: true,
  },
  extends: [
    'eslint:recommended',
    'plugin:@typescript-eslint/eslint-recommended',
    'plugin:@typescript-eslint/recommended',
    'plugin:@typescript-eslint/recommended-requiring-type-checking',
    'plugin:react/recommended',
    'plugin:react-hooks/recommended',
    'plugin:security/recommended',
    'plugin:import/errors',
    'plugin:import/warnings',
    'plugin:import/typescript',
  ],
  ignorePatterns: ['.dependabot/', '.git/', '.vscode/', 'node_modules/', 'public/', '*.js'],
  parser: '@typescript-eslint/parser',
  parserOptions: {
    project: ['tsconfig.json', 'extension/tsconfig.json'],
    sourceType: 'module',
  },
  plugins: [
    '@typescript-eslint',
    '@typescript-eslint/tslint',
    'import',
    'react',
    'security',
    'react-hooks',
  ],
  rules: {
    '@typescript-eslint/naming-convention': [
      'error',
      // Enforce that boolean variables are prefixed with an allowed verb
      {
        selector: 'variable',
        types: ['boolean'],
        format: ['PascalCase'],
        prefix: ['is', 'should', 'has', 'can', 'did', 'will', 'does', 'was', 'were'],
      },
    ],
    '@typescript-eslint/no-unused-vars': 'error',
    '@typescript-eslint/prefer-regexp-exec': 0,
    '@typescript-eslint/no-unsafe-assignment': 0,
    '@typescript-eslint/no-unsafe-member-access': 0,
    '@typescript-eslint/no-unsafe-call': 0,
    '@typescript-eslint/restrict-template-expressions': 0,
    '@typescript-eslint/no-unsafe-return': 0,
    '@typescript-eslint/no-unsafe-argument': 0,
    'arrow-body-style': ['error', 'as-needed'],
    'import/first': 'error',
    'import/no-duplicates': 'error',
    'import/no-named-as-default': 'error',
    'no-prototype-builtins': 'error',
    'import/order': ['error', { alphabetize: { order: 'asc' } }],
    'no-case-declarations': 0,
    'no-useless-escape': 'error',
    'object-shorthand': 'error',
    'sort-imports': ['error', { ignoreDeclarationSort: true }],
  },
  settings: {
    'import/parsers': {
      '@typescript-eslint/parser': ['.ts', '.tsx', '.d.ts'],
    },
    react: { version: 'detect' },
  },
};
