En la última versión de la configuración de linting estándar de Discourse, hemos habilitado la regla require-strict-mode de ember-template-lint. Esto generará un error de linting para cualquier archivo .hbs.
Para resolver las advertencias, debes convertir todas las plantillas de tus componentes, rutas y conectores a archivos .gjs. Para facilitar esto, hemos creado discourse-gjs-codemod, que se basa en el @embroider/template-tag-codemod de Ember.
Para usar el codemod, primero asegúrate de que tus dependencias de linting estén actualizadas copiando el último package.json del esqueleto del plugin o del esqueleto del tema. Luego, ejecuta eslint y prettier:
pnpm i
pnpm eslint --fix .
pnpm prettier --write "**/*.{gjs,js,hbs,scss}"
Si algún problema no pudo ser corregido automáticamente, resuélvelo manualmente ahora. No ejecutes ember-template-lint todavía; se espera que falle.
Ahora ejecuta el codemod usando este comando:
pnpm dlx https://github.com/discourse/discourse-gjs-codemod
Si hay algún problema que no se pueda resolver automáticamente, se imprimirá información en la terminal. Una vez que hayas resuelto el problema, ejecuta el codemod nuevamente.
Para obtener más información sobre el formato de archivo .gjs, consulta la guía oficial: