Innanzitutto, ecco un paio di domande correlate, ma non proprio uguali :
Ora su la mia domanda particolare:
Sto costruendo una piccola libreria JavaScript. Se eseguito all'interno di alcuni browser meno recenti, parte della sua funzionalità dipenderà da un certo polyfill . Per gli scopi di un esempio, supponiamo che questo polyfill sia il requestAnimationFrame
polyfill.
Questo polyfill è:
- Ben noto: la maggior parte degli sviluppatori JavaScript ne è per lo meno vagamente consapevole.
- Disponibile: frammenti di codice copia-incollabili di varianti di esso sono dappertutto.
- Tiny: sono solo poche righe di codice,
- Endemico: le librerie nello stesso spazio dei problemi di mia possono averle già raggruppate.
Ovviamente, se la mia libreria fosse l'unica libreria utilizzata nel progetto di qualcuno, e se parte di quel codice potesse fallire senza il polyfill in circostanze probabilmente per il pubblico dello sviluppatore, avrebbe senso raggruppare il polyfill con la libreria.
Ma nel mondo JavaScript, in particolare nel dominio di questa libreria, è possibile che lo sviluppatore abbia già il polyfill, e che raggruppandolo, potrei essere re-polyfilling requestAnimationFrame
per la seconda, terza, quarta volta. (Questo in sé non è un problema, dato che la maggior parte dei polyfill per loro natura include un pre-controllo dello spazio dei nomi, ma, lo ammetto, il pensiero dello stesso polyfill che appare più volte nel codice di qualcuno mi disturba come un quadro appeso leggermente storto.)
Quindi qual è la cosa sensata da fare? Includerlo? Oppure lascia una nota nella documentazione che dice: "A proposito, assicurati di avere Polyfill X se devi supportare il browser Y"?