narrowspark/automatic

此包已被废弃,不再维护。没有推荐替代包。

Composer 插件,用于自动化应用中最常见的任务。

资助包维护!
prisis

安装: 482

依赖者: 1

推荐者: 0

安全性: 0

星标: 12

关注者: 3

分支: 1

开放问题: 33

类型:composer-plugin

0.13.1 2019-11-22 10:15 UTC

This package is auto-updated.

Last update: 2023-03-04 23:28:22 UTC


README

68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e6172726f77737061726b2f6175746f6d617469632e7376673f7374796c653d666c61742d737175617265 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545372e332e302d3838393242462e7376673f7374796c653d666c61742d737175617265 68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6e6172726f77737061726b2f6175746f6d617469632f6d61737465722e7376673f7374796c653d666c61742d737175617265 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7374796c652d6c6576656c253230372d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265266c6162656c3d7068707374616e 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265

Narrowspark Automatic 自动化应用中最常见的任务,如安装和卸载包或提供者,复制文件,加速依赖项下载,创建骨架和其他基于 Composer 依赖项的配置。

如何使用 Narrowspark Automatic 工作呢?

Narrowspark Automatic 是一个 Composer 插件,它修改了 requireupdatecreate projectremove 命令的行为。在 Automatic 扩展应用程序中安装或删除依赖项时,您的应用程序可以在 Composer 任务执行前后执行任务。

考虑以下示例

cd your-project
composer require viserio/console

如果您在您的应用程序中执行此命令,该应用程序不支持 Narrowspark Automatic,则此命令将以正常的 composer require 行为执行。

注意 automatic.json 和 composer.json 的额外密钥 automatic 用于使用配置器、脚本执行器、自定义配置器等配置 Narrowspark Automatic。

当 Narrowspark Automatic 安装在您的应用程序中时,它将检查是否存在 automatic.json 文件或带有 automatic 的 composer.json 额外密钥。在上面的示例中,Automatic 决定了安装后需要运行的自动化任务。

注意 Narrowspark Automatic 在 automatic.lock 文件中跟踪配置,该文件必须提交到您的代码仓库。

在新的应用程序中使用 Narrowspark Automatic

使用以下命令将 Narrowspark Automatic 作为必需依赖项添加到您的应用程序中: composer require narrospark/automatic

使用 Narrowspark Automatic 创建骨架应用程序

Narrowspark Automatic 支持骨架生成。例如,这是您的 composer.json 文件

{
    "type": "project",
    "license": "MIT",
    "require": {
        "php": "^7.2",
        "ext-mbstring": "*",
        "narrowspark/automatic": "^0.3.5",
        "narrowspark/skeleton-generators": "^0.1.0"
    },
    "extra": {
        "app-dir": "app",
        "config-dir": "config",
        "database-dir": "database",
        "public-dir": "public",
        "resources-dir": "resources",
        "routes-dir": "routes",
        "storage-dir": "storage",
        "tests-dir": "tests"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "exclude-from-classmap": [
            "tests/"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "App\\Tests\\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

Automatic 会搜索所有包以找到类型为 automatic-skeleton 的包。如果找到具有此类型的包,所有骨架都将保存到运行时的 automatic.lock 中。

这意味着您可以执行以下命令: composer create-project your/project 来创建一个 Automatic 扩展应用程序,Automatic 将询问为您的应用程序生成哪个骨架。

阅读 骨架文档 了解有关如何为您自己的应用程序创建骨架的所有信息。

Narrowspark Automatic 任务定义在 automatic.json 文件中或在 composer 额外密钥 automatic 中,可以包含任意数量的其他文件和目录。例如,这是 viserio/consoleautomatic.json

{
    "configurators": {
        "providers": {
            "Viserio\\Component\\Console\\Provider\\ConsoleServiceProvider": ["global"],
            "Viserio\\Component\\Console\\Provider\\LazilyCommandsServiceProvider": ["global"]
        },
        "proxies": {
            "Viserio\\Component\\Console\\Proxy\\Console": ["global"]
        }
    },
    "script-extenders": [
        "Viserio\\Component\\Console\\Automatic\\CerebroScriptExtender"
    ]
}

providersproxies 选项告诉 Narrowspark Automatic 在哪些环境中可以自动开启此 providerproxy(在此情况下全部开启)。

《script-extenders》选项为 Narrowspark 自动脚本 auto-scripts 添加了一个新的脚本执行器。现在您可以在 composer.json 应用文件中的 auto-scripts 部分运行 viserio console 命令。

automatic.json 文件中定义的指令也被 Narrowspark 自动脚本用于卸载依赖项(例如 composer remove viserio/console)以撤销所有更改。这意味着自动脚本可以从应用中移除控制台提供者和代理,并从 Narrowspark 自动脚本中移除脚本执行器。

阅读配置文档,了解如何为您自己的软件包创建配置的所有信息。

自动脚本扩展 Composer

Narrowspark 自动脚本添加了一个具有跳过旧依赖项标签以加速下载的功能的并行下载器。

以下示例显示了如何向 Narrowspark 自动脚本添加跳过标签,这样它将跳过所有小于 3.5cakephp 标签。

{
    "extra": {
        "automatic": {
            "require": {
                "cakephp/cakephp": ">=3.5"
            }
        }
    }
}

您可以使用此 Narrowspark 自动脚本密钥 dont-discover 在 composer.json 的额外 automatic 部分中跳过软件包的自动发现。使用软件包名称跳过自动发现,例如在这个示例中

{
    "extra" : {
        "dont-discover": [
            "viserio/console"
        ]
    }
}

自动发现现在将跳过 viserio/console

自动安全审计

Narrowspark 自动脚本根据 FriendsOfPHP/security-advisories 数据库显示在每次 composer installcomposer update 期间安装的已知安全漏洞。

如果您想更改下载器的默认 HTTP timeout = 20,请在 composer.json 的 extra 部分添加 audit,如下例所示

{
    "extra" : {
        "audit": {
            "timeout": "30"
        }
    }
}

测试

您需要运行

$ php vendor/bin/phpunit

版本控制

此库遵循语义版本控制,并在主要版本中执行代码规则集的添加。

变更日志

请查看 CHANGELOG.md

贡献

请查看 CONTRIBUTING.md

行为准则

请查看 CODE_OF_CONDUCT.md

鸣谢

许可证

此软件包使用 MIT 许可证授权。

请查看 LICENSE.md