prettier / prettier/plugin-php

[Bug] Formatting not applying outside of node root

Ouverte
#2,414 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
PHP
Étoiles
1.9k
Forks
139
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par les fichiers .prettierignore et .prettierrc.json dans buildchain, puis comparez les commandes consignées pour ../cms/app.php et app.php. Reproduisez la différence avec les versions indiquées de Node, Prettier et du plugin PHP ; c’est terminé lorsque les fichiers PHP situés en dehors de la racine Node reçoivent systématiquement le plugin configuré et les options de formatage.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
node.js, php
Domaine
tooling
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.