Задать вопрос
@Zalik_Off

Как решить проблемы с линтингом в Vue 3 + TypeScript?

В общем, товарищи, веселый вопрос нарисовался.
Надеюсь на понимание и поддержку.

Пытаюсь настроить ESLint для проекта (Laravel 11 + Vue 3 + TypeScript).

Инициализировал конфиг, немного отсебятины дописал и вышла такая вот красота:
import globals from "globals";
import pluginJs from "@eslint/js";
import tseslint from "typescript-eslint";
import pluginVue from "eslint-plugin-vue";
import eslintConfigPrettier from "eslint-config-prettier";

/** @type {import('eslint').Linter.Config[]} */
export default tseslint.config(
	pluginJs.configs.recommended,
	tseslint.configs.recommendedTypeChecked,
	tseslint.configs.stylisticTypeChecked,
	...pluginVue.configs["flat/essential"],
	eslintConfigPrettier,
	{
		plugins: {
			"@typescript-eslint": tseslint.plugin,
		},
		files: ["/resources/js/**/*.{js,ts,vue}"],
		languageOptions: {
			parserOptions: {
				parser: tseslint.parser,
				projectService: true,
				tsconfigRootDir: import.meta.dirname,
			},
		},
	},
	{
		rules: {
			"vue/multi-word-component-names": "off",
			"no-unused-vars": "error",
			"prefer-const": ["error", { ignoreReadBeforeAssign: true }],
			"no-useless-escape": "off",
		},
	},
);


Расширение .mjs, казалось бы все, иди, пиши и радуйся жизни.
Но не тут то было.
Столкнулся с проблемой объявления интерфейсов в Vue-компонентах, а именно:
ESLint: Parsing error: The keyword 'interface' is reserved


Сталкивался ли кто с подобным?

Если да, прошу помощи, облазил уже все возможные форумы, доку прошерстил от и до, но решение не нашел.
6752cf8dc940f845233952.png
  • Вопрос задан
  • 77 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
11 дек. 2024, в 22:30
250000 руб./за проект
11 дек. 2024, в 22:15
10000 руб./за проект
11 дек. 2024, в 22:10
3000 руб./за проект