1

我正在为多语言项目中的几个钩子使用预提交。我所有现有的钩子都在工作。我现在正在尝试获取eslint包含Vue 2文件的挂钩设置。

这是我.pre-commit-config.yamleslint部分:

-   repo: https://github.com/pre-commit/mirrors-eslint
    rev: 'v7.18.0'
    hooks:
    -   id: eslint
        types_or: [javascript, jsx, ts, tsx, vue]
        additional_dependencies:
        -   eslint-plugin-vue@v7.5.0

这适用于 javascript 文件,但完全忽略了 Vue 2 文件。我已经基于此设置了上述配置: Eslint for vuepre-commit eslint

我尝试.eslintrc在项目的根目录中添加以下文件,但没有帮助:

module.exports = {
  extends: [
    'plugin:vue/recommended'
  ]
}

Vue 文件被完全忽略。

4

1 回答 1

3

版本的基本配置指定types: [javascript]

当与您的配置一起折叠时,这会设置:

types: [javascript]
types_or: [javascript, jsx, ts, tsx, vue]

文档

types、types_or 和 files 在过滤时与 AND 一起评估。类型内的标签也使用 AND 进行评估。

2.9.0 中的新功能: types_or 中的标签使用 OR 进行评估。

将它们放在一起(带有一些集合符号),您要求{javascript} & {javascript, jsx, ts, tsx, vue}- 简化:{javascript}

mirrors-eslint的README告诉你在这里做什么,你需要在应用额外的过滤之前覆盖types回默认值:[file]

    -   id: eslint
        types: [file]
        types_or: [javascript, jsx, ts, tsx, vue]

免责声明:我是 pre-commit 的创建者,以后请不要将您的问题同时发布到问题跟踪器和 stackoverflow,谢谢!

于 2021-01-22T08:51:24.787 回答