plotly / plotly/plotly.js

Revisit Plotly.js compatibility with strict CSP

Ouverte
#7,543 1 commentaire 3 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

feature P2
Langage dominant
JavaScript
Étoiles
18.3k
Forks
2k
Merge moyen
2 j 12 h
PR mergées (30 j)
28

Description

https://github.com/plotly/plotly.js/pull/7109 was added in to make Plotly.js work better in strict CSP environments (specifically, ones which disallow inline CSS); however, it seems some of that work was broken by the migration to ESBuild.

For example, we no longer produce a separate plotly.css file (see recent comments on that PR).

@camdecoster recently added #7527 which makes it easier to test different CSPs in the devtools.

There's at least one obvious issue when inline styles are disallowed, which is that the modebar button styling is completely broken:

Image

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 examiner la PR #7109 et ses commentaires récents, puis inspectez la migration vers ESBuild et la configuration des tests CSP de l'issue #7527. Reproduisez l'échec du style du bouton modebar lorsque le CSS inline est interdit et vérifiez si un fichier plotly.css séparé est produit. La tâche est terminée lorsque les environnements avec un CSP strict conservent un style modebar fonctionnel et que la sortie de build concernée est vérifiée.

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

Évaluation

Stack technique
javascript
Domaine
data-visualization, security
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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