moxio/captainhook-eslint

Captain Hook 插件,用于通过 ESLint 验证文件

v1.0.0 2021-03-18 14:43 UTC

This package is auto-updated.

Last update: 2024-09-18 22:10:55 UTC


README

CI Latest Stable Version

moxio/captainhook-eslint

本项目是 CaptainHook 的插件,用于在 git 预提交钩子中使用 ESLint 检查 JavaScript 文件。默认情况下,所有 *.js*.mjs 文件都会被检查,如果发现一个或多个错误,则提交将被阻止。ESLint 生成的警告将被忽略。

安装

使用 composer 将其安装为开发依赖项

$ composer require --dev moxio/captainhook-eslint

使用方法

将 ESLint 验证添加到您的 captainhook.json 配置文件中的 pre-commit

{
    "pre-commit": {
        "enabled": true,
        "actions": [
            {
                "action": "\\Moxio\\CaptainHook\\ESLint\\ESLintAction"
            }
        ]
    }
}

该操作期望 ESLint 作为本地 NPM 包安装(即在 node_modules/.bin/eslint 中可用)。它应该以自动查找适当配置的方式配置,例如作为一个 .eslintrc.* 文件,或者在 package.json 中的 eslintConfig 字段中。

条件使用

如果您只想在 ESLint 安装时执行 ESLint 验证(即在 node_modules/.bin/eslint 中可用),您可以在操作中添加相应的条件

{
    "pre-commit": {
        "enabled": true,
        "actions": [
            {
                "action": "\\Moxio\\CaptainHook\\ESLint\\ESLintAction",
                "conditions": [
                    {
                        "exec": "\\Moxio\\CaptainHook\\ESLint\\Condition\\ESLintInstalled"
                    }
                ]
            }
        ]
    }
}

这可能在以下场景中很有用:您有一个共享的 CaptainHook 配置文件,该文件既包含使用 ESLint 的项目,也包含不使用 ESLint 的项目。如果 ESLint 已安装,则执行操作。在没有 ESLint 的项目中,验证将被跳过。

配置要检查的文件扩展名

默认情况下,带有 .js.mjs 扩展名的提交文件将被检查。如果您想自定义此设置,例如要验证 TypeScript 文件,您可以使用 extensions 选项,该选项接受一个数组,包含要 lint 的文件扩展名。

{
    "pre-commit": {
        "enabled": true,
        "actions": [
            {
                "action": "\\Moxio\\CaptainHook\\ESLint\\ESLintAction",
                "options": {
                    "extensions": [ "js", "mjs", "ts", "tsx" ]
                }
            }
        ]
    }
}

版本控制

本项目遵循 语义化版本控制

许可

本项目采用 MIT 许可证发布。