squibler/laravel-preset

干净地设置 Laravel

2.1.2 2019-03-06 04:22 UTC

This package is auto-updated.

Last update: 2024-09-06 17:26:33 UTC


README

这是一个为 Laravel 设计的可配置预设,具有合理的默认值,它

  • 将默认包和设置应用于 packages.jsoncomposer.json
  • 更新 .gitignore 为默认偏好
  • 将默认工件写入您的目录结构
  • 将模型移动到 app/Models 目录
  • 添加 commitizen 以标准化提交消息

用法

1. 使用 composer 安装到开发环境

composer require --dev squibler/laravel-preset

2. 更新预设设置(可选)

现在,您可以使用预设配置更改您想要安装的初始包(如果有的话)。

将 preset.json 发布到项目根目录以更新预设设置。

在初始设置完成后,您预计将不再使用预设,这就是为什么它会被忽略的原因。

php artisan vendor:publish --provider='Squibler\Preset\Providers\PresetsServiceProvider'

默认预设配置是为仅具有 API 的应用程序设计的

{
    "composer": {
        "scripts": {
            "test": "phpunit"
        },
        "require": [
            "bensampo/laravel-enum",
            "laravel/passport",
            "rexlabs/laravel-smokescreen"
        ],
        "requireDev": [
            "phpunit/phpunit",
            "squibler/laravel-artisan",
            "squizlabs/php_codesniffer"
        ]
    },
    "packages": {
        "scripts": {},
        "dependencies": [],
        "devDependencies": [
            "cz-customizable"
        ],
        "configs": {
            "commitizen": {
                "path": "node_modules/cz-customizable"
            }
        }
    },
    "ignore": [
        "_dev", ".vscode"
    ],
    "artefacts": {
        ".cz-config.js": ".cz-config.js"
    }
}

3. 应用您的预设

您现在可以为 Laravel 应用自己的默认值,您可以使用

php artisan preset squib

4. 清理

应用预设只会在一个项目中做一次,因此有一个辅助命令来清理。这不是必需的,因为合理的默认忽略已被添加到 .gitignore 文件中。但是,如果您使用类似 EB deploy 这样的工具,那么这可能是一项您可能想要执行的操作。

php artisan squib:preset:mop

此预设做什么

我想创建一个可以按项目配置的预设,同时也有一些合理的默认值

因此,默认情况下,它被设置为 API 配置,因为我的大多数 Laravel 项目都是 API 驱动的

  • 删除不必要的 JavaScript 库
  • 更新 .gitignore
  • 删除 assets/sass 目录
  • 删除 assets/js
  • 如果有,更新和安装 composer 包
    • laravel/passport
    • rexlabs/laravel-smokescreen
  • 如果有,更新和安装 npm 包...
  • 如果没有包,则删除 node_modules
  • 将用户模型移动到 app/Models 目录

接下来是什么

我的计划是使其更具可配置性 - 例如,JavaScript 库都被删除,类似于默认 Laravel php artisan preset none 命令,但我更希望它们可以按项目选择。

我还在考虑创建一个预设仓库,让人们可以保留他们自己的默认设置,然后可能是一个类似...

php artisan squib:preset:keep namespace/name # To store the preset.json options
php artisan squib:preset:use namespace/name # to fetch the preset.json file