[Bug] Formatting not applying outside of node root
还没有人认领这个 Issue。
评估
调研方向
先从 buildchain 中的 .prettierignore 和 .prettierrc.json 文件开始,然后比较针对 ../cms/app.php 和 app.php 记录的命令。使用列出的 Node、Prettier 和 PHP 插件版本重现差异;完成的标准是 Node 根目录之外的 PHP 文件能够一致地获得已配置的插件和格式化选项。
由索引模型根据 Issue 内容生成。
描述
My projects separates the PHP and Node apps like so
/
├── cms/
│ └── composer.json
│ └── vendor/
│ └── etc...
├── buildchain/
│ └── package.json
│ └── node_modules/
│ └── .prettierrc.json
│ └── .prettierignore
│ └── .tsconfig
│ └── src/
│ └── ts/
│ └── css/
│ └── etc...
└─── .editorconfig
I want to format files in cms using cd buildchain && npx prettier -w .. which I managed to get working using this .prettierignore
package.json
package-lock.json
../*
!../cms
../cms/*
!../cms/**/*.php
!../cms/**/*.twig
!../cms/**/*.ts # For demonstration
../cms/vendor
This works fine with typescript files eg.
/var/www/html/buildchain$ npx prettier -c ../cms/app.ts --config .prettierrc.json --log-level debug
[debug] normalized argv: {"":["../cms/app.ts"],"cache":false,"color":true,"editorconfig":true,"config":".prettierrc.json","logLevel":"debug","configPrecedence":"cli-override","debugRepeat":0,"ignorePath":[".gitignore",".prettierignore"],"plugins":[],"check":true,"_":["../cms/app.ts"],"__raw":{"_":["../cms/app.ts"],"cache":false,"c":true,"color":true,"editorconfig":true,"config":".prettierrc.json","log-level":"debug","config-precedence":"cli-override","debug-repeat":0,"ignore-path":[".gitignore",".prettierignore"],"plugin":[]}}
Checking formatting...
[debug] load config file from '.prettierrc.json'
[debug] loaded options `{"useTabs":false,"tabWidth":2,"endOfLine":"lf","plugins":["@prettier/plugin-php"],"singleQuote":true,"printWidth":100}`
[debug] applied config-precedence (cli-override): {"singleQuote":true,"endOfLine":"lf","plugins":["@prettier/plugin-php"],"printWidth":100,"tabWidth":2,"useTabs":false}
[warn] ../cms/app.ts
[warn] Code style issues found in the above file. Run Prettier with --write to fix.
It doesn't work for PHP files though
/var/www/html/buildchain$ npx prettier -c ../cms/app.php --config .prettierrc.json --log-level debug
[debug] normalized argv: {"":["../cms/app.php"],"cache":false,"color":true,"editorconfig":true,"config":".prettierrc.json","logLevel":"debug","configPrecedence":"cli-override","debugRepeat":0,"ignorePath":[".gitignore",".prettierignore"],"plugins":[],"check":true,"_":["../cms/app.php"],"__raw":{"_":["../cms/app.php"],"cache":false,"c":true,"color":true,"editorconfig":true,"config":".prettierrc.json","log-level":"debug","config-precedence":"cli-override","debug-repeat":0,"ignore-path":[".gitignore",".prettierignore"],"plugin":[]}}
Checking formatting...
All matched files use Prettier code style!
It does however work fine when the same file is located in buildchain
/var/www/html/buildchain$ npx prettier -c app.php --config .prettierrc.json --log-level debug
[debug] normalized argv: {"":["app.php"],"cache":false,"color":true,"editorconfig":true,"config":".prettierrc.json","logLevel":"debug","configPrecedence":"cli-override","debugRepeat":0,"ignorePath":[".gitignore",".prettierignore"],"plugins":[],"check":true,"_":["app.php"],"__raw":{"_":["app.php"],"cache":false,"c":true,"color":true,"editorconfig":true,"config":".prettierrc.json","log-level":"debug","config-precedence":"cli-override","debug-repeat":0,"ignore-path":[".gitignore",".prettierignore"],"plugin":[]}}
Checking formatting...
[debug] load config file from '.prettierrc.json'
[debug] loaded options `{"useTabs":false,"tabWidth":4,"endOfLine":"lf","plugins":["@prettier/plugin-php"],"singleQuote":true,"printWidth":100}`
[debug] applied config-precedence (cli-override): {"singleQuote":true,"endOfLine":"lf","plugins":["@prettier/plugin-php"],"printWidth":100,"tabWidth":4,"useTabs":false}
[warn] app.php
[warn] Code style issues found in the above file. Run Prettier with --write to fix.
Versions
- node
20.15.0 - prettier
3.4.2 - @prettier/plugin-php
0.22.2
Thanks
- 主要语言
- PHP
- 星标
- 1.9k
- 派生
- 139
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
prettier/plugin-php 的其他 Issue
-
难度 1/5 1 小时以内 新手友好度 62/100
prettier/plugin-php#2416 · 2 条评论 · 6 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 64/100
prettier/plugin-php#2498 ·
-
难度 4/5 3-5 天 新手友好度 55/100
prettier/plugin-php#2495 ·
-
难度 3/5 1-2 天 新手友好度 55/100
prettier/plugin-php#2494 · 1 条评论 ·
-
难度 3/5 1-2 天 新手友好度 48/100
prettier/plugin-php#2490 ·
查看 prettier/plugin-php 的全部 Issue
相似的 Issue
-
tooling
难度 2/5 1-3 小时 新手友好度 75/100
-
UX
难度 2/5 1-3 小时 新手友好度 70/100
ProfessionalWiki/NeoWiki#1525 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
-
bug customer-reported
难度 2/5 1-3 小时 新手友好度 65/100
MagnaCapax/PMSS#949 ·
-
难度 2/5 1-3 小时 新手友好度 84/100
Automattic/static-site-importer#1829 ·