Dans la dernière version de la configuration de linting standard de Discourse, nous avons activé la règle require-strict-mode d’ember-template-lint. Cela générera une erreur de linting pour tous les fichiers .hbs.
Pour résoudre les avertissements, vous devez convertir tous vos templates de composants, de routes et de connecteurs en fichiers .gjs. Pour faciliter cela, nous avons créé discourse-gjs-codemod, qui s’appuie sur @embroider/template-tag-codemod d’Ember.
Pour utiliser le codemod, assurez-vous d’abord que vos dépendances de linting sont à jour en copiant le dernier package.json du squelette de plugin ou du squelette de thème. Ensuite, exécutez eslint et prettier :
pnpm i
pnpm eslint --fix .
pnpm prettier --write "**/*.{gjs,js,hbs,scss}"
Si des problèmes n’ont pas pu être corrigés automatiquement, résolvez-les manuellement maintenant. N’exécutez pas encore ember-template-lint - cela devrait échouer.
Exécutez maintenant le codemod en utilisant cette commande :
pnpm dlx https://github.com/discourse/discourse-gjs-codemod
Si des problèmes ne peuvent pas être résolus automatiquement, des informations seront imprimées dans le terminal. Une fois le problème résolu, exécutez à nouveau le codemod.
Pour plus d’informations sur le format de fichier .gjs, consultez le guide officiel :