javascript - .eslintrc to eslint.config.mjs -> errors while migrating to the new config syntax - Stack Overflow

Here's my old .eslintrc{"env": {"browser": true,"es6": true,"no

Here's my old .eslintrc

{
  "env": {
    "browser": true,
    "es6": true,
    "node": true
  },
  "extends": [
    "eslint:recommended",
    "plugin:react/recommended",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:import/errors",
    "plugin:import/warnings"
  ],
  "parser": "@typescript-eslint/parser",
  "settings": {
    "import/resolver": {
      "node": {
        "extensions": [".js", ".jsx", ".ts", ".tsx"]
      },
      "alias": {
        "map": [
          ["@renderer", "./src/renderer"],
          ["@components", "./src/renderer/components"],
          ["@common", "./src/common"],
          ["@main", "./src/main"],
          ["@src", "./src"],
          ["@misc", "./misc"],
          ["@assets", "./assets"]
        ],
        "extensions": [".js", ".jsx", ".ts", ".tsx"]
      }
    },
    "react": {
      "version": "detect"
    }
  },
  "rules": {
    "react/prop-types": "off",
    "@typescript-eslint/no-var-requires": "off"
  }
}

Here's my old .eslintrc

{
  "env": {
    "browser": true,
    "es6": true,
    "node": true
  },
  "extends": [
    "eslint:recommended",
    "plugin:react/recommended",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:import/errors",
    "plugin:import/warnings"
  ],
  "parser": "@typescript-eslint/parser",
  "settings": {
    "import/resolver": {
      "node": {
        "extensions": [".js", ".jsx", ".ts", ".tsx"]
      },
      "alias": {
        "map": [
          ["@renderer", "./src/renderer"],
          ["@components", "./src/renderer/components"],
          ["@common", "./src/common"],
          ["@main", "./src/main"],
          ["@src", "./src"],
          ["@misc", "./misc"],
          ["@assets", "./assets"]
        ],
        "extensions": [".js", ".jsx", ".ts", ".tsx"]
      }
    },
    "react": {
      "version": "detect"
    }
  },
  "rules": {
    "react/prop-types": "off",
    "@typescript-eslint/no-var-requires": "off"
  }
}

Here's my new eslint.config.mjs

// eslint.config.js
import globals from 'globals'
import eslintPluginReact from 'eslint-plugin-react'
import typescriptEslint from '@typescript-eslint/eslint-plugin'

const filesList = ['src/**/*.js', 'src/**/*.jsx', 'src/**/*.ts', 'src/**/*.tsx']

export default [
  'eslint:recommended',
  /*
  {
    files: filesList,
    plugins: {
      react: eslintPluginReact
    },
    rules: {
      ...eslintPluginReact.configs.recommended.rules
    }
  },
  */
  typescriptEslint.recommended,
  {
    files: filesList,
    languageOptions: {
      ecmaVersion: 2022,
      sourceType: 'module',
      globals: {
        ...globals.browser,
        ...globals.node
      }
    },
    extends: [
      'eslint:recommended',
      'plugin:react/recommended',
      'plugin:@typescript-eslint/eslint-recommended',
      'plugin:@typescript-eslint/recommended',
      'plugin:import/errors',
      'plugin:import/warnings'
    ],
    parser: '@typescript-eslint/parser',
    settings: {
      'import/resolver': {
        node: {
          extensions: ['.js', '.jsx', '.ts', '.tsx']
        },
        alias: {
          map: [
            ['@renderer', './src/renderer'],
            ['@components', './src/renderer/components'],
            ['@common', './src/common'],
            ['@main', './src/main'],
            ['@src', './src'],
            ['@misc', './misc'],
            ['@assets', './assets']
          ],
          extensions: ['.js', '.jsx', '.ts', '.tsx']
        }
      },
      react: {
        version: 'detect'
      }
    },
    rules: {
      'react/prop-types': 'off',
      '@typescript-eslint/no-var-requires': 'off'
    }
  }
]

eslint doesn't like it:

"TypeError: Config (unnamed): Unexpected non-object config at user-defined index 0."

to any external configuration that used to be inside "extends".

I guess that I miss something but there's neither documentation nor examples how to do it.

Share Improve this question asked Nov 20, 2024 at 12:24 Ziv BarberZiv Barber 74111 silver badges13 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

The config file must export an array of configuration objects, strings is not allowed.

It's mentioned in Migration Guide:

import js from "@eslint/js";

export default [
    js.configs.recommended,
    ...
];

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1742357396a4428714.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信