prettier / prettier/plugin-php

Some comment positions inside attributes can result in prettier failing with an exception

Ouverte
#2,283 0 commentaires 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

Not sure which cases these include exactly but some cases result in pretter stopping with an error:

Error: Comment "// abc" was not printed. Please report this error!

I know that i was also able to produce that error with other positions, but various other work fine so it is a bit weird.

Playground also shows it: Link to playground

Prettier 2.88.0 (but also tried latest)

PHP Plugin 0.19.6 (but also tried latest)

# Options (if any):
--no-options

Input:

<?php declare(strict_types=1);

namespace App\Controller\General;

use App\Dto\BarDto;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Attribute\MapRequestPayload;
use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;

class EnrollmentController extends AbstractController
{
    public function save(
        #[
            MapRequestPayload(
                serializationContext: [ // abc
                    AbstractNormalizer::CALLBACKS => [
                        'abc' => 'trim',
                    ],
                ],
            ),
        ]
        BarDto $data,
    ): Response {
        return $this->json(['foo']);
    }
}

Output:

None. Errror as mentioned above.

Expected behavior:
No error and correctly formatted.

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

Reproduisez l’exception avec l’entrée PHP fournie dans le playground lié ou dans la dernière version du plugin, puis suivez le traitement des commentaires du plugin PHP pour les commentaires à l’intérieur des attributs. La tâche est terminée lorsque l’entrée est correctement formatée et conserve le commentaire sans l’erreur « Comment was not printed ».

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

Évaluation

Stack technique
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
48/100

Recevez les nouvelles issues par e-mail

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