In der neuesten Version der Standard-Linting-Konfiguration von Discourse haben wir die require-strict-mode-Regel von ember-template-lint aktiviert. Dies führt zu einem Linting-Fehler für alle .hbs-Dateien.
Um die Warnungen zu beheben, sollten Sie alle Ihre Komponenten-, Routen- und Connector-Vorlagen in .gjs-Dateien konvertieren. Um dies zu erleichtern, haben wir den discourse-gjs-codemod entwickelt, der auf dem @embroider/template-tag-codemod von Ember aufbaut.
Um den Codemod zu verwenden, stellen Sie zunächst sicher, dass Ihre Linting-Abhängigkeiten auf dem neuesten Stand sind, indem Sie die neueste package.json aus dem Plugin-Skeleton oder dem Theme-Skeleton kopieren. Führen Sie dann eslint und prettier aus:
pnpm i
pnpm eslint --fix .
pnpm prettier --write "**/*.{gjs,js,hbs,scss}"
Wenn Probleme nicht automatisch behoben werden konnten, beheben Sie diese jetzt manuell. Führen Sie ember-template-lint noch nicht aus – es wird erwartet, dass dies fehlschlägt.
Führen Sie nun den Codemod mit diesem Befehl aus:
pnpm dlx https://github.com/discourse/discourse-gjs-codemod
Wenn es Probleme gibt, die nicht automatisch behoben werden können, werden Informationen im Terminal ausgegeben. Sobald Sie das Problem behoben haben, führen Sie den Codemod erneut aus.
Weitere Informationen zum .gjs-Dateiformat finden Sie im offiziellen Leitfaden: