Nell’ultima versione della configurazione di linting standard di Discourse, abbiamo abilitato la regola require-strict-mode di ember-template-lint. Questo genererà un errore di linting per qualsiasi file .hbs.
Per risolvere gli avvisi, dovresti convertire tutti i tuoi template di componenti, route e connettori in file .gjs. Per semplificare questa operazione, abbiamo creato discourse-gjs-codemod, che si basa su @embroider/template-tag-codemod di Ember.
Per utilizzare il codemod, assicurati innanzitutto che le tue dipendenze di linting siano aggiornate copiando l’ultimo package.json da plugin skeleton o theme skeleton. Quindi, esegui eslint e prettier:
pnpm i
pnpm eslint --fix .
pnpm prettier --write "**/*.{gjs,js,hbs,scss}"
Se ci sono problemi che non possono essere corretti automaticamente, risolvili manualmente ora. Non eseguire ancora ember-template-lint: ci si aspetta che fallisca.
Ora esegui il codemod utilizzando questo comando:
pnpm dlx https://github.com/discourse/discourse-gjs-codemod
Se ci sono problemi che non possono essere risolti automaticamente, verranno stampate informazioni nel terminale. Una volta risolto il problema, esegui nuovamente il codemod.
Per ulteriori informazioni sul formato dei file .gjs, consulta la guida ufficiale: