Deprecazione delle estensioni di file .js.es6 in temi e plugin

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.

Perché continui a fare cose del genere invece di mantenere la compatibilità?

Questo crea solo più lavoro senza motivo. Non costa nulla permettere sia le estensioni vecchie che quelle nuove. Sono solo nomi di file.

Alcuni di noi stanno cercando di fare altre cose, non di passare la vita a aggiornare i plugin di Discourse.

Ho già smesso di scrivere nuovi plugin perché sono stanco di queste cose.

Lo standard .es6 ha più di 10 anni. Ritengo sia ragionevole aspettarsi una deprecazione dopo un tale lasso di tempo?

Si può dire che la tua domanda è già stata posta e risposta qui?

Ci sono plugin specifici per cui vorresti aiuto nell’aggiornamento? Se sono open source, sono disponibile a darci un’occhiata e aprire una PR.

Non credo che sia troppo lavoro:

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.

No, intendo eliminare i miei plugin.

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.

Ho risposto nell’altro argomento:

ma su questo punto in particolare:

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.