#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
этот способ, но линтинг должен отлично работать таким образом, если я смогу получить более приятную интеграцию, я был бы открыт для предложений