duster是Laravel的Code Linter&Fixer的一个很好的工具,用加强创建软件包的公司的话:
Takes the best of Laravel’s Pint, together with the power of PHP_CodeSniffer and PHP-CS-Fixer configured the Tighten way... Duster works on the command line, but you can also integrate it with Husky to run it automatically in response to local Git triggers, or use our premade GitHub Action to run it in your CI pipeline.
该软件包有一个很好的命令来设置GitHub操作,但是本地设置Husky更加棘手,在这篇文章中,我们将用Hiskky的预先承诺挂钩设置Duster来运行代码棉绒。
初始化GIT存储库
如果项目已经具有GIT存储库初始化,则应跳过此命令:
git init
安装沙哑的
npm i -D husky
安装绒毛阶段
npm i -D lint-staged
运行赫斯基初始命令
npx husky-init
它应该在package.json
文件上添加一个新脚本,并使用键“准备”并执行它,这将添加一个新的.husky
目录。
更新沙哑的预订
npx husky add ./.husky/pre-commit 'npx --no-install lint-staged'
您可以转到./husky/pre-commit
文件并删除NPM测试行。
为所有 *.php文件配置绒毛阶段
通过添加本节来更新package.json
文件:
...
"lint-staged": {
"**/*.php*": [
"vendor/bin/duster lint"
]
}
...
文件应该像这样:
{
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"prepare": "husky install"
},
"devDependencies": {
"axios": "^1.1.2",
"laravel-vite-plugin": "^0.7.5",
"vite": "^4.0.0",
"husky": "^8.0.0"
},
"dependencies": {
"husky": "^8.0.3",
"lint-staged": "^13.2.3"
},
"lint-staged": {
"**/*.php*": [
"vendor/bin/duster lint"
]
}
}
测试预加压钩
现在只添加文件并进行提交:
git add .
git commit "set duster & husky"
在这一点
提前选项
使用预加入挂钩自动修复代码
而不是运行棉绒,您可能希望自动修复代码,在这种情况下,通过更改命令来更新package.json
文件:
"lint-staged": {
"**/*.php*": [
"vendor/bin/duster fix"
]
}
设置自定义配置
duster在幕后使用Laravel Pint
,PHP_CodeSniffer
&PHP-CS-Fixer
,您可以添加配置文件并根据自己的项目需要设置工具。
添加更多工具以使用Duster运行
后端工具
对于后端,您可以通过创建/更新duster.json
文件来添加更多的工具,作为包装readme文件的示例,您可以添加phpstan:
{
"scripts": {
"lint": {
"phpstan": ["./vendor/bin/phpstan", "analyse"]
}
},
"processTimeout": 120
}
您可以在duster命令中使用flag --using
在duster上运行它们的命令(lint/fix):./vendor/bin/duster lint --using="phpstan,tlint,pint"
前端工具
要运行棉绒技术,您可以使用lint-staged
运行皮棉,在此示例中,它将添加eslint:
1-安装eslint
npx eslint --init
2-创建文件.lintstagedrc
touch .lintstagedrc
3-然后使用此内容更新文件:
{
"*.(js|ts)" : ["eslint"]
}
希望加速您的代码棉布/修复工作流程会有所帮助,一如既往地感谢您的阅读和愉快的编码。