Deprecating der .js.es6 Dateiendungen in Themes und Plugins

Im Jahr 2020 stellte Discourse von der Dateiendung .js.es6 auf .js um. Im Laufe der Jahre hat die überwiegende Mehrheit der Themes und Plugins auf die neue Endung umgestellt, die eine viel bessere Kompatibilität mit modernen JavaScript-Tools bietet.

Wir führen nun die formelle Veraltung der Verwendung von .js.es6 ein und werden die Unterstützung nach der nächsten ESR-Veröffentlichung entfernen.

Wenn Sie eine Veraltungsnachricht für .js.es6-Dateien sehen, müssen Sie diese lediglich in .js umbenennen. Das war’s. Es ist nicht nötig, den Inhalt der Dateien zu ändern.

Warum machst du Dinge wie diese, anstatt Kompatibilität zu wahren?

Das schafft nur mehr Arbeit ohne Grund. Es kostet nichts, alte und neue Erweiterungen zuzulassen. Es sind schließlich nur Dateinamen.

Einige von uns versuchen, andere Dinge zu tun, statt ihr Leben damit zu verbringen, Discourse-Plugins zu aktualisieren.

Ich habe bereits aufgehört, neue Plugins zu schreiben, weil ich von diesem Kram die Nase voll habe.

Der .es6-Standard ist über 10 Jahre alt. Ich halte es für angemessen, nach dieser Zeitspanne eine Abschaffung zu erwarten.

Kann man fairerweise sagen, dass deine Frage hier bereits gestellt und beantwortet wurde?

Gibt es bestimmte Plugins, bei denen du Hilfe beim Aktualisieren brauchst? Wenn sie Open Source sind, schaue ich gerne mal drauf und öffne einen PR.

Ich denke nicht, dass das zu viel Arbeit ist:

Das ist seit 6 Jahren der Standard, wie im Beitrag steht. Wenn Sie das in sechs Jahren nicht erledigt haben und nun Ihren dritten Beitrag schreiben, um sich darüber zu beschweren, liegt hier ein anderes Problem vor.

Nein, ich werde meine Plugins stattdessen löschen.

Es ist nicht so, dass diese spezielle Änderung vorzunehmen und im Anschluss alles erneut zu testen, schwierig wäre. Das Problem ist, dass es sich um wieder einmal eine brechende Änderung ohne jeden vernünftigen Grund handelt. Das zeigt, dass dem Discourse-Team die Abwärtskompatibilität völlig egal ist und sie bereitwillig Formulare und Code anderer Leute zerstören.

Die Dateierweiterungen, die ich in diesem Projekt verwendet habe, waren diejenigen, die mir das Discourse-Team zum Zeitpunkt der Erstellung des Plugins empfohlen hat. Es gibt keinen vernünftigen Grund, die Unterstützung der alten Erweiterungen einzustellen, doch ihr macht es trotzdem, weil das Team es bevorzugt, auf ihrer Seite alles ein wenig ordentlicher zu machen, anstatt dafür zu sorgen, dass alles funktioniert.

Das Team hat die Prioritäten falsch gesetzt, und ich habe die Nase voll davon.

Ich habe im anderen Thema geantwortet:

aber speziell zu diesem Punkt:

Wir haben erhebliche Verwirrung im Zusammenhang mit den Dateierweiterungen .es6 festgestellt. Diese Abschaffung ist durch dieses Bildungs- und Supportproblem motiviert und nicht durch technische Einschränkungen.

Die Leute verwenden .es6, weil sie bestehende Themes oder Plugins kopieren. Dadurch gehen dann allerlei Dinge schief. Insbesondere: Syntax-Hervorhebung in Editoren, Intellisense/Typüberprüfung, Linting, Codemods (z. B. der zur Behebung der .hbs-Abschaffung) usw.

Die Entwicklererfahrung ist ein wichtiger Bestandteil unserer Plattform. Durch die Durchsetzung von Konsistenz können wir die Bildungsangebote verbessern, die Dokumentation optimieren und die Werkzeugunterstützung weiterentwickeln.

Ich verstehe, dass diese Änderung frustrierend ist, und ich möchte einen Weg finden, diese Plugins zu erhalten, wenn sie für die damit verbundenen Websites wichtig sind, insbesondere damit keine defekten Funktionen entstehen. Wenn es möglich wäre, Sie in diesen Prozess einzubinden, wäre das vorzuziehen.