Как использовать eslint с Next.js в проекте с существующей конфигурацией eslint?

#javascript #node.js #typescript #next.js #eslint

#язык JavaScript #node.js #машинописный текст #next.js #эслинт

Вопрос:

У меня есть Node.js проект с существующей конфигурацией eslint, я создал новый next.js проект в том же проекте, так что теперь у меня есть

 📁 src 📄 .eslintrc.yml 📁 website  📄 .eslintrc.json  

Как я мог настроить next.js конфигурация eslint с моей уже существующей? Вот как выглядит существующий:

 env:  es2020: true  node: true  extends:  - eslint:recommended  - plugin:@typescript-eslint/recommended  parser: "@typescript-eslint/parser"  parserOptions:  sourceType: module  plugins:  - "@typescript-eslint"  - import  rules:  no-duplicate-imports: error  no-template-curly-in-string: warn  no-unreachable-loop: warn  camelcase: error  curly: error  eqeqeq: error  no-console: error  no-else-return: error  no-empty-function: error  no-eval: error  no-new: error  no-param-reassign: error  no-return-await: warn  no-unneeded-ternary: error  no-useless-rename: error  no-var: error  prefer-arrow-callback: error  prefer-const: error  prefer-destructuring: error  prefer-object-spread: error  prefer-template: error  block-spacing: error  padding-line-between-statements:  [error, { blankLine: "always", prev: "*", next: "return" }]  "@typescript-eslint/explicit-module-boundary-types": off  "@typescript-eslint/no-shadow": error  import/order:  [  error,  {  alphabetize: { caseInsensitive: true, order: asc },  groups: [[external, builtin], internal, parent, sibling, index],  newlines-between: never,  },  ]  

Ответ №1:

Я решил удалить все, что связано с eslint, в проекте веб-сайта и установить eslint-config-next в корневом проекте:

 env:  es2021: true  shared-node-browser: true  extends:  - eslint:recommended  - plugin:@typescript-eslint/recommended  - next/core-web-vitals  - prettier  parser: "@typescript-eslint/parser"  parserOptions:  sourceType: module  plugins:  - "@typescript-eslint"  - import  settings:  next:  rootDir: "./website"  rules:  no-duplicate-imports: error  no-template-curly-in-string: warn  no-unreachable-loop: warn  camelcase: error  curly: error  eqeqeq: error  no-console: error  no-else-return: error  no-empty-function: error  no-eval: error  no-new: error  no-param-reassign: error  no-return-await: warn  no-unneeded-ternary: error  no-useless-rename: error  no-var: error  prefer-arrow-callback: error  prefer-const: error  prefer-destructuring: error  prefer-object-spread: error  prefer-template: error  block-spacing: error  padding-line-between-statements:  [error, { blankLine: "always", prev: "*", next: "return" }]  "@typescript-eslint/explicit-module-boundary-types": off  "@typescript-eslint/no-shadow": error  import/order:  [  error,  {  alphabetize: { caseInsensitive: true, order: asc },  groups: [[external, builtin], internal, parent, sibling, index],  newlines-between: never,  },  ]  

Я не использую next lint этот способ, но линтинг должен отлично работать таким образом, если я смогу получить более приятную интеграцию, я был бы открыт для предложений