babymarkt/composer-cleaner-plugin

一个用于清理项目目录的 Composer 插件

安装: 0

依赖项: 0

建议: 0

安全: 0

星星: 2

关注者: 3

分支: 0

开放问题: 0

类型:composer-plugin

v1.0.0-beta.3 2020-09-23 17:33 UTC

This package is auto-updated.

Last update: 2024-09-24 03:12:24 UTC


README

Build Status Packagist PHP Version Support version GitHub GitHub All Releases

安装

要安装此插件,请使用 Composer

composer require --dev babymarkt/composer-plugin-cleaner

配置

配置必须放置在 composer.json 文件的 extra 部分。以下是一个示例:

{
  "name": "company/your-project",
  "type": "project",
  "extra": {
    "babymarkt:cleaner": {
      "context-name": {
        "pattern": [
          "README*",
          ".git*"
        ],
        "paths": [
          "test",
          "artifacts"
        ],
        "exclude": [
          "test/important"
        ]
      }
    }
  },
  "require-dev": {
    "babymarkt/composer-plugin-cleaner": "*"
  }
}

该程序在 default 上下文中包含默认配置(惊喜惊喜!)。更多详细信息可以在类 AbstractCommand 中找到。运行

composer babymarkt:cleaner:clean default

来使用它。

配置选项

上下文

每个配置集都包含在一个清理上下文中。上下文是一个简单的字符串,可以在终端中使用它来选择配置。

{
  "extra": {
    "babymarkt:cleaner": {
      "context-name": {
        "your cleaner options": "..."
      }
    }
  }
}

模式

pattern 包含一个列表,用于在项目目录树中选择文件。有关 glob 函数和模式的更多信息,请参阅 PHP 文档维基百科

{
  "extra": {
    "babymarkt:cleaner": {
      "context-name": {
        "pattern": [
          "README*",
          ".git*"
        ]
      }
    }
  }
}

此示例在完整的项目树中搜索以 README.git 开头的文件。

路径

默认情况下,清理命令使用项目根目录来搜索文件(包含 composer.json 文件的目录)。使用 paths 选项,您可以设置多个路径来替代默认的根目录进行文件搜索。所有路径相对于根目录,也以 / 开头。根目录之外的路径将被忽略。

{
  "extra": {
    "babymarkt:cleaner": {
      "context-name": {
        "pattern": [
          ".git*"
        ],
        "paths": [
          "src",
          "vendor"
        ]
      }
    }
  }
}

此示例在 ./src./vendor 中搜索以 .git 开头的文件,其他地方不搜索。

排除

此选项允许您排除要删除的文件。列表由 正则表达式 模式组成,无需指定分隔符字符。模式应用于整个路径,而不仅仅是文件名。使用的分隔符字符是 #。如果您需要在模式中使用它,您必须转义它。

{
  "extra": {
    "babymarkt:cleaner": {
      "context-name": {
        "pattern": [
          "data/*"
        ],
        "exclude": [
          ".*\\.important"
        ]
      }
    }
  }
}

此示例搜索以 data/ 开头且不以 .important 结尾的路径。

运行

要运行该命令,请使用 composer

composer babymarkt:cleaner:clean your-context-name

或向您的 composer.json 添加自定义脚本

{
  "scripts": {
    "cleanup:dev": [
      "@composer babymarkt:cleaner:clean your-context-name"
    ]
  }
}