moxio/captainhook-yarn-deduplicate

Captain Hook 插件,用于使用 yarn-deduplicate 检查 yarn.lock 文件中的不必要重复项

v1.0.0 2021-04-22 14:53 UTC

This package is auto-updated.

Last update: 2024-09-22 22:04:28 UTC


README

Latest Stable Version

moxio/captainhook-yarn-deduplicate

此项目是 CaptainHook 的插件,用于通过 yarn-deduplicate 检查 yarn.lock 文件中的重复包。如果找到重复的包,则提交将被阻止。然后您可以运行 yarn-deduplicate 来手动修复这些问题。

安装

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

$ composer require --dev moxio/captainhook-yarn-deduplicate

使用方法

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

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

只有在提交对 yarn.lock 的更改时才会运行检查。因此,只要 Yarn 锁定文件没有更改,它就不会检测到现有的重复项。

此操作期望 yarn-deduplicate 作为本地 NPM 包安装(即在 node_modules/.bin/yarn-deduplicate 中可用)。

条件使用

如果您只想在安装了 yarn-deduplicate(即在 node_modules/.bin/yarn-deduplicate 中可用)时执行重复项检查,您可以在操作中添加相应的条件

{
    "pre-commit": {
        "enabled": true,
        "actions": [
            {
                "action": "\\Moxio\\CaptainHook\\YarnDeduplicate\\YarnDuplicationCheckAction",
                "conditions": [
                    {
                        "exec": "\\Moxio\\CaptainHook\\YarnDeduplicate\\Condition\\YarnDeduplicateInstalled"
                    }
                ]
            }
        ]
    }
}

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

版本控制

此项目遵循 语义版本控制

贡献

欢迎对此项目做出贡献。请确保您的代码遵循 PSR-12 扩展编码风格。

许可

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