plugin-php icon indicating copy to clipboard operation
plugin-php copied to clipboard

[Bug] Formatting not applying outside of node root

Open MangoMarcus opened this issue 1 year ago • 1 comments

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

MangoMarcus avatar Jan 16 '25 21:01 MangoMarcus

I've actually experienced the same issue with another plugin - https://github.com/zackad/prettier-plugin-twig - maybe it's a prettier core issue?

MangoMarcus avatar Jan 16 '25 21:01 MangoMarcus