Nel 2020, Discourse è passato dall’estensione .js.es6 a .js. Nel corso degli anni, la stragrande maggioranza dei temi e dei plugin è passata alla nuova estensione, che offre una compatibilità molto migliore con gli strumenti JavaScript moderni.
Ora stiamo deprecando formalmente l’uso di .js.es6 e rimuoveremo il supporto dopo la prossima versione ESR.
Se vedi un messaggio di deprecazione per i file .js.es6, devi semplicemente rinominarli in .js. Tutto qui. Non è necessario modificare il contenuto dei file.
Questa è la prassi standard da 6 anni, come dice il post. Se non l’hai fatto in sei anni e ora stai facendo il tuo terzo post per lamentartene, allora c’è un altro problema qui.
Non è che rendere questa modifica e riprovare tutto dopo sia difficile. È che si tratta di un’altra modifica che rompe la compatibilità fatta senza alcun motivo, a dimostrazione che il team di Discourse non gliene frega nulla della compatibilità all’indietro e del fatto che si rompano i form e il codice delle persone.
Le estensioni dei file che ho usato in questo progetto erano quelle che il team di Discourse mi aveva detto di usare al momento in cui è stato scritto il plugin. Non c’è alcuna ragione sensata per smettere di supportare le vecchie estensioni, ma lo state facendo comunque perché al team interessa rendere le cose leggermente più ordinate dalla loro parte piuttosto che mantenerle funzionanti.
Il team ha sbagliato le priorità e ne ho abbastanza.
Abbiamo riscontrato una significativa confusione legata alle estensioni dei file .es6. Questa deprecazione è motivata da problemi di formazione e supporto, non da vincoli tecnici.
Gli sviluppatori finiscono per usare .es6 perché copiano temi o plugin esistenti. Di conseguenza, si verificano numerosi problemi: evidenziazione della sintassi negli editor, intellisense/controllo dei tipi, linting, codemod (ad esempio quello per risolvere la deprecazione di .hbs), ecc.
L’esperienza degli sviluppatori è una parte fondamentale della nostra piattaforma. Imporre la coerenza ci permette di migliorare la formazione, la documentazione e gli strumenti di sviluppo.
Capisco che questo cambiamento sia frustrante e vorrei trovare una soluzione per mantenere questi plugin, se sono importanti per i siti che li utilizzano, in modo specifico da evitare funzionalità interrotte. Se c’è la possibilità di coinvolgervi in questo processo, sarebbe preferibile.