cpsit / setup-helper
帮助设置项目包。这是一个composer插件。它会在更新或安装命令后执行预定义的任务。
2.0.0
2021-06-10 22:30 UTC
Requires
- php: ^7.3 || ^8.0
- composer-plugin-api: ^1.1 || ^2.0
- naucon/file: ^1.0
- symfony/filesystem: ^5.0
- webmozart/glob: ^4.3
Requires (Dev)
- composer/composer: ^1.6.3 || ^2.1
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^8.5 || ^9.5
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2024-09-17 17:52:58 UTC
README
设置助手
帮助基于配置和模板设置项目包。
这是一个composer插件。它在update或install命令后执行预定义的任务。
用法
composer require cpsit/setup-helper
配置
将setup-helper键添加到composer.json文件的extra部分。**注意**:路径必须是相对于您的composer根目录或绝对路径。
复制文件或文件夹
{
"extra": {
"setup-helper": [
{
"copy": {
"path/to/file/or/folder": "path/to/target",
"other/file": "other/target"
}
}
]
}
}
取消链接文件或文件夹
{
"extra": {
"setup-helper": [
{
"unlink": [
"path/to/file/or/folder",
"other file"
]
}
]
}
}
- 没有**确认请求**。任何现有的文件或文件夹都将被删除!
移动文件或文件夹
{
"extra": {
"setup-helper": [
{
"move": {
"path/to/old/file/or/folder": "path/to/new/folder",
"other/file": "new/path"
}
}
]
}
}
**注意**:移动不会重命名文件或文件夹。如果需要,请将其与重命名任务结合使用。
重命名文件或文件夹
{
"extra": {
"setup-helper": [
{
"rename": {
"path/to/old/file/or/folder": "newName",
"other/file": "otherName"
}
}
]
}
}
源路径相对于当前工作目录。这应该是composer根目录,如果通过composer插件API调用安装器,则预期如此。
创建目录
{
"extra": {
"setup-helper": [
{
"makeDirectory": [
"path/to/new/folder"
]
}
]
}
}
目录路径相对于当前工作目录。这应该是composer根目录,如果通过composer插件API调用安装器,则预期如此。任何缺少的目录都将递归创建。
从源到目标的符号链接
{
"extra": {
"setup-helper": [
{
"symlink": {
"path/to/source/file": "target",
"file": "even/deeper/path/to/target"
}
}
]
}
}
源路径相对于当前工作目录。这应该是composer根目录,如果通过composer插件API调用安装器,则预期如此。如果源或目标存在,则不会创建符号链接。
替换
- 用另一个字符串替换字符串
{
"extra": {
"setup-helper": [
{
"replace": [
{
"path": "path/to/file",
"search": "string-to-replace",
"replace": "replacement string"
}
]
}
]
}
}
- 用作为问题的答案的字符串(交互式)替换字符串
{
"extra": {
"setup-helper": [
{
"replace": [
{
"path": "path/to/file",
"search": "string-or-pattern-to-replace",
"ask": "Question to ask for (Answer replaces pattern)"
}
]
}
]
}
}
path键遵循Ant-like globbing。
语法
?匹配任何字符*匹配零个或多个字符,除了//**/匹配零个或多个目录名[abc]匹配单个字符a、b或c[a-c]匹配单个字符a、b或c[^abc]匹配除了a、b或c之外的任何字符[^a-c]匹配除了a、b或c之外的任何字符{ab,cd}匹配ab或cd
例如,"path": /path/to/dir/*.css将选择该目录中所有以.css结尾的文件。
有关详细信息,请参阅glob库的文档。
注意事项
目前我们依赖于webmozart/glob的分支cpsit/glob,因为原始库不允许使用最新的PHP版本。