@Vadim_Sabirov

Почему eslint не крашит приложение при ошибках vue?

.eslintrc.json
{
  "env": {
    "browser": true,
    "es2021": true
  },
  "extends": [
    "eslint:recommended",
    "plugin:vue/strongly-recommended",
    "plugin:vue/recommended",
    "prettier"
  ],
  "parser": "vue-eslint-parser",
  "parserOptions": {
    "parser": "@babel/eslint-parser",
    "ecmaVersion": 11,
    "sourceType": "module"
  },
  // 0 = off, 1 = warn, 2 = error
  "rules": {
    "prettier/prettier": [
      "error",
      {
        "endOfLine": "auto",
        "trailingComma": "none"
      }
    ],
    "vue/no-unused-vars": 1,
    "semi": [2, "never"],
    "comma-dangle": ["error", "never"],
    "vue/no-arrow-functions-in-watch": "error"
  },
  "plugins": ["prettier"]
}

template.vue
<template>
	<div>Hello</div>
</template>

<script>
export default {
	name: 'App',

	data: () => ({
		foo: { b: 3 }
	}),
	watch: {
		foo: (val, oldVal) => {
			console.log('new: %s, old: %s', this.foo)
		}
	},
	created() {
		this.foo = { b: 1 }
	}
}
</script>

ESLint подсвечивает ошибку cо стрелочной функцией в watch'е, но не прерывает компиляцию. В чем может быть причина?
  • Вопрос задан
  • 259 просмотров
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
Если сборка осуществляется прямо или опосредованно webpack'ом, то нужно проверить, подключен ли webpack eslint plugin: https://webpack.js.org/plugins/eslint-webpack-plugin/, в опции ему надо передать extentions: ['js', 'vue']
Во всяких "инструментах", которые готовят конфиг вебпака отдельно (vue cli и прочие) это может быть сделано в местах типа configureWebpack или chainWebpack: https://cli.vuejs.org/ru/guide/webpack.html , в них во всех жто делается очень похоже.
Если используется vite, то я лично не пробовал, но все выглядит аналогично, ставим плагин и прописываем его в конфиге: https://www.npmjs.com/package/vite-plugin-eslint
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы