[FEATURE]: Validate config options
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 65/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript
- Ambito
- tooling
Direzione di ricerca
Look at the config object definition in src/plot_api/plot_config.js and the configAttributes schema. Use Lib.validate and Lib.warn from lib/index.js to check incoming config keys and values against the schema, skipping valType: 'any'. Test by creating a plot with an invalid config key like 'shapePositon' and verifying a warning appears in the console.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
Validate the config object against configAttributes and warn on anything that does not match. Do not change the value.
Why should this feature be added?
Config is the only user-facing input plotly.js never checks. Plotly.validate takes data and layout only. A typo like edits: { shapePositon: true } does nothing, reports nothing, and costs the user an afternoon.
plotly.py already wants this. plotly/offline/offline.py warns on unknown keys from a hardcoded tuple, with the comment: "we don't have code generation logic in place yet to guarantee that the config options in plotly.py are up to date". Schema-driven validation in plotly.js gives every port the list.
Notes
- An unknown key gets dropped with no notice
- A value that fails its
valTypedoesn't get stopped - We should warn on invalid values. Coercion would replace bad values with defaults and silently change charts that work today.
- Utilize the existing
Lib.validateandLib.warn - Skip the five attributes whose
valTypeisany.Lib.validateaccepts anything for them. - This should only validate the incoming config, not the resolved
_context - This might be noisy for users until configs are corrected
- Lingua principale
- JavaScript
- Stelle
- 18.3k
- Fork
- 2k
- Merge medio
- 2g 10h
- PR unite (30g)
- 30
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di plotly/plotly.js
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
chore P3 plotly-internal size: 3 task
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
-
chore P1 plotly-internal size: 1 task
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
-
chore P3 plotly-internal size: 1 task
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
Tutte le issue di plotly/plotly.js
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
mksglu/context-mode#1200 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
neondatabase/website#5944 ·
-
module: core
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
bigbluebutton/bigbluebutton#25849 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
jaegertracing/jaeger-ui#4506 ·