В последней версии стандартной конфигурации линтинга Discourse мы включили правило require-strict-mode для ember-template-lint. Это приведёт к возникновению ошибки линтинга для любых файлов с расширением .hbs.
Чтобы устранить предупреждения, необходимо преобразовать все шаблоны компонентов, маршрутов и коннекторов в файлы с расширением .gjs. Чтобы упростить этот процесс, мы создали утилиту discourse-gjs-codemod, которая базируется на @embroider/template-tag-codemod от Ember.
Для использования кодомода сначала убедитесь, что зависимости линтинга обновлены, скопировав актуальный файл package.json из шаблона плагина или шаблона темы. Затем запустите eslint и prettier:
pnpm i
pnpm eslint --fix .
pnpm prettier --write "**/*.{gjs,js,hbs,scss}"
Если какие-либо проблемы не были исправлены автоматически, устраните их вручную. Пока не запускайте ember-template-lint — это ожидаемо приведёт к ошибке.
Теперь запустите кодомод с помощью следующей команды:
pnpm dlx https://github.com/discourse/discourse-gjs-codemod
Если возникнут проблемы, которые не могут быть решены автоматически, информация о них будет выведена в терминал. После устранения проблемы запустите кодомод снова.
Для получения дополнительной информации о формате файлов .gjs ознакомьтесь с официальным руководством: