tightenco / lambo
基于 Laravel 和 Valet 的超级强大的 'laravel new'。
Requires
- php: ^8.0
- ext-intl: *
- ext-json: *
- ext-pdo: *
Requires (Dev)
- laravel-zero/framework: ^10.0
- mockery/mockery: ^1.0
- phpunit/phpunit: ^9.0
- spatie/laravel-ray: ^1.17
- tightenco/duster: ^v0.3
- dev-main
- v3.1.1
- v3.1.0
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- 2.0.1
- v2.0.0
- v1.2.0
- v1.1.1
- v1.1.0
- v1.0.1
- v1.0.0
- v1.0.0-rc.1
- v1.0.0beta5
- v1.0.0beta4
- v1.0.0beta3
- v1.0.0beta2
- v1.0.0beta1
- v1.0.0-alpha5
- v1.0.0-alpha4
- v1.0.0-alpha3
- v1.0.0-alpha2
- v1.0.0-alpha1
- v0.5.5
- v0.5.4
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.7
- v0.4.6
- v0.4.5
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.1
- v0.3.0
- v0.2.10
- v0.2.9
- v0.2.8
- v0.2.7
- v0.2.6
- v0.2.5
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- dev-dependabot/composer/guzzlehttp/psr7-2.5.0
- dev-mes/presets
- dev-pre-php
- dev-am/laravel-zero-implementation
- dev-lampho
- dev-pr/32
This package is auto-updated.
Last update: 2024-09-08 05:43:58 UTC
README
为 Laravel 和 Valet 提供超级强大的 laravel new
Lambo 是一款命令行工具,它替换了 Laravel 安装程序,并封装了在创建 Laravel 应用时可能执行的最常见任务:在您的编辑器和浏览器中打开它,初始化 Git 仓库,调整您的 .env 和 .env.example,等等。
要求
- PHP 7.3+
- (可选,但有益) Laravel Valet
安装
composer global require tightenco/lambo:^3.0
升级
composer global update tightenco/lambo
使用
确保 ~/.composer/vendor/bin 在您的终端路径中。
cd ~/Sites lambo new myNextProject
它具体做了什么?
- laravel new $PROJECTNAME
- 初始化 Git 仓库,添加所有文件,然后在以下更改之后,提交文本 "Initial commit"。
- 将 .env(和.env.example) 的数据库凭据替换为默认的 macOS MySQL 凭据:数据库为$PROJECTNAME,用户root,密码为空。
- 将 .env(和.env.example) 的APP_URL替换为$PROJECTNAME.$YOURVALETTLD
- 生成应用程序密钥
- 在您的首选编辑器中打开项目
- 在浏览器中打开 $PROJECTNAME.$YOURVALETTLD
注意:如果您的
$PROJECTNAME包含连字符 (-),它们将在数据库名称中替换为下划线 (_)。
还有基于您传递的参数(或在您的配置文件中定义的)的几个可选行为,包括创建数据库、迁移、安装 Jetstream、运行 Valet Link 和/或 Secure,以及运行您定义的自定义 bash 脚本。
自定义 Lambo
虽然 Lambo 提供的默认操作很棒,但大多数用户可能想要至少自定义几个步骤。幸运的是,Lambo 是为了可定制而构建的!
有三种方式可以自定义您对 Lambo 的使用:命令行参数、配置文件和 "after" 文件。
大多数用户可能希望设置一次他们的首选配置选项,然后不再考虑它。这最好通过创建一个配置文件来解决。
但是,如果您发现自己在项目间需要改变与 Lambo 交互的方式,您也可能希望使用命令行参数在您使用 Lambo 时自定义它。
创建配置文件
您可以在 ~/.lambo/config 创建一个配置文件,而不是每次创建新项目时都传递相同的参数。
以下命令创建文件(如果不存在),并编辑它
lambo edit-config
配置文件包含您可以自定义的配置参数,并将在每次使用 Lambo 时读取。
创建 "after" 文件
您还可以在 ~/.lambo/after 创建一个 "after" 文件,以便在创建新项目后运行额外的命令。
以下命令创建文件(如果不存在),并编辑它
lambo edit-after
after 文件被解释为 bash 脚本,因此您可以在此包含任何命令,例如安装额外的 composer 依赖项...
# Install additional composer dependencies as you would from the command line. echo "Installing Composer Dependencies" composer require tightenco/mailthief tightenco/quicksand
...或将额外的文件复制到您的新的项目中。
# To copy standard files to new lambo project place them in ~/.lambo/includes directory. echo "Copying Include Files" cp -R ~/.lambo/includes/ $PROJECTPATH
您还可以访问来自您的配置文件中的变量,如 $PROJECTPATH 和 $CODEEDITOR。
使用命令行参数
传递的任何命令行参数都将覆盖 Lambo 的默认设置和您的配置设置。请参阅 可以传递的参数的完整列表。
Lambo 命令
- help或- help-screen显示帮助屏幕
- 
edit-config编辑你的配置文件(如果不存在则创建一个)lambo edit-config 
- 
edit-after编辑你的 "after" 文件(如果不存在则创建一个)lambo edit-after 
可配置参数
每次使用 Lambo 时,你可以选择性地传递这些参数之一或多个。如果你发现自己每次运行 Lambo 都想配置这些设置,那么使用 配置文件 是一个完美的选择。
- 
-e或--editor用于定义你的编辑器命令。这里传递的内容将在创建项目后作为$EDITOR .运行。# runs "subl ." in the project directory after creating the project lambo new superApplication --editor=subl
- 
-p或--path用于指定应用程序的安装位置。lambo new superApplication --path=~/Sites
- 
-m或--message用于设置第一次 Git 提交信息。lambo new superApplication --message="This lambo runs fast!"
- 
-f或--force用于强制安装,即使目录已存在。# Creates a new Laravel application after deleting ~/Sites/superApplication lambo new superApplication --force
- 
-d或--dev用于选择develop分支而不是master,获取测试安装。lambo new superApplication --dev 
- 
-b或--browser用于定义你希望在哪个浏览器中打开项目。lambo new superApplication --browser="/Applications/Google Chrome Canary.app"
- 
-l或--link用于创建指向项目目录的 Valet 链接。lambo new superApplication --link 
- 
-s或--secure用于使用 https 保障 Valet 网站。lambo new superApplication --secure 
- 
--create-db用于创建一个新的 MySQL 数据库,其名称与你的项目相同。这需要在你的系统上可用mysql命令。lambo new superApplication --create-db 
- 
--migrate-db用于迁移数据库。lambo new superApplication --migrate-db 
- 
--dbuser用于指定数据库用户名。lambo new superApplication --dbuser=USER 
- 
--dbpassword用于指定数据库密码。lambo new superApplication --dbpassword=SECRET 
- 
--dbhost用于指定数据库主机。lambo new superApplication --dbhost=127.0.0.1 
- 
--breeze=STACK用于使用 Laravel Breeze 快速入门工具包。STACK可以是blade、vue或react。lambo new superApplication --breeze=blade lambo new superApplication --breeze=vue lambo new superApplication --breeze=react 
- 
--jetstream=STACK[,teams]用于使用 Laravel Jetstream 快速入门工具包。STACK可以是inertia或livewire。lambo new superApplication --jetstream=inertia lambo new superApplication --jetstream=inertia,teams lambo new superApplication --jetstream=livewire lambo new superApplication --jetstream=livewire,teams 
- 
--full用于使用--create-db、--migrate-db、--link和-secure。lambo new superApplication --full 
GitHub 仓库创建
重要:要创建新的仓库,Lambo 需要安装以下工具之一
- 官方的 GitHub 命令行工具
- 的 hub 命令行工具
Lambo 会给你选择不创建 GitHub 仓库的选项,如果这两个工具都没有安装。
- -g或- --github用于初始化新的私有 GitHub 仓库并将你的新项目推送到它。
# Repository created at https://github.com/<your_github_username>/superApplication
lambo new superApplication --github
- 使用 --gh-public与--github将新的 GitHub 仓库设置为公开。
lambo new superApplication --github --gh-public
- 使用 --gh-description与--github初始化新的 GitHub 仓库并添加描述。
lambo new superApplication --github --gh-description='My super application'
- 使用 --gh-homepage与--github初始化新的 GitHub 仓库并添加主页 URL。
lambo new superApplication --github --gh-homepage=https://example.com
- 使用 --gh-org与--github初始化新的 GitHub 仓库并添加指定的组织。
# Repository created at https://github.com/acme/superApplication
lambo new superApplication --github --gh-org=acme
对于贡献者
发布流程
如果你在与我们合作,并被分配推送发布,以下是最简单的流程
- 
访问 Lambo 发布页面;确定你的下一个标签将是什么(如果是补丁或修复,则增加第三个数字;如果是添加功能,则增加第二个数字) 
- 
在你的本地机器上,拉取最新的 main版本(git checkout main && git pull)
- 
为你要针对的版本构建( ./lambo app:build)
- 
运行构建一次以确保其正常工作( ./builds/lambo)
- 
提交你的构建并将其推送到服务器 
- 
起草新的发布,包含你的标签版本和发布标题(例如 v1.5.1)
- 
将正文设置为带项目符号的列表,为每个合并的PR提供简单的描述,并在末尾用括号标出PR链接。例如 - 添加超级能力 (#92)
- 
点击 发布版本
- 
盈利 
未来开发说明
- 所有新的配置键必须添加到 UpgradeSavedConfiguration中的$newConfiguration属性
- 所有已删除或已弃用的配置键必须添加到 UpgradeSavedConfiguration中的$removedConfigurationKeys属性
- 每次修改配置键时,都需要将 UpgradeSavedConfiguration中的$configurationVersion属性增加
