Wir möchten die Asset-Pipeline von Discourse auf EmberCLI umstellen. EmberCLI ist der Standardweg, um Ember-Anwendungen zu entwickeln, und der bisherige Ansatz von Discourse war für Entwickler mit Ember.js-Hintergrund lange Zeit eine Quelle der Verwirrung.
Hintergrund
Discourse existiert schon so lange, dass es vor der Entstehung von EmberCLI entwickelt wurde. Tatsächlich galt damals die Nutzung einer Asset-Pipeline wie der von Rails als Best Practice. Im Laufe der Jahre haben wir immer mehr Funktionen in unsere Ember-Anwendung integriert, darunter JavaScript-Module, Babel.js und Source Maps. Wir sind jedoch der Meinung, dass wir die Rails-Asset-Pipeline so weit ausgereizt haben, wie es möglich ist. Neue Funktionen wie async/await lassen sich in unser aktuelles System nur sehr schwer integrieren.
In der nächsten Hauptversion von Discourse (2.5) planen wir die Umstellung auf EmberCLI. Dies wird einige Zeit in Anspruch nehmen, daher werden wir unser Bestes tun, um zwei Versionen unserer Frontend-Anwendung parallel betriebsfähig zu halten. Abenteurer können EmberCLI bereits jetzt aktivieren, während andere die Anwendung weiterhin „wie bisher
Habt ihr auch vor, Discourse-Plugins irgendwann zu Rails-Plugins zu machen? Das wäre großartig! Es gibt so viele Generatoren, die Rails direkt für Plugins bereitstellt. Außerdem ist Discourse die größte Open-Source-Rails-Anwendung, also wäre es vielleicht gut, die Bemühungen zu bündeln.
Wir werden bald einige große Änderungen am Template-Linting zusammenführen. Diese sollten größtenteils „einfach funktionieren“, aber mit einigen Regressionen ist zu rechnen. Wir werden unser Bestes tun, um diese schnell zu beheben. Bitte meldet daher alles Ungewöhnliche, z. B. wenn sich Benutzeroberflächenelemente nicht aktualisieren, obwohl sie es sollten.
Heute habe ich einen großen Commit zusammengeführt, der alle .js.es6-Dateien im Ordner app/assets/javascripts/discourse in .js umbenannt. Dies ist ein Schritt in Richtung der Einhaltung des Ember CLI-Standards für die Benennung von Dateien.
Als Nächstes folgt die Plugin-Unterstützung für die Transpilierung von .js-Dateien und die Abschaffung von .es6.
Ja, du kannst Ember CLI bereits im Entwicklungsmodus ausführen! Sobald es etwas benutzerfreundlicher ist, werde ich wahrscheinlich bald mehr dazu veröffentlichen.