Недавнее изменение в основной ветке Discourse (https://github.com/discourse/discourse/commit/e84d7c9f26ed) нарушило наш процесс линтинга для кастомных плагинов, над которыми мы работаем.
Тема PR/коммита была следующей:
DEV: Обновить
bin/lintдля корректной работы с плагинами, не входящими в сборку
Поэтому я задаюсь вопросом, не делаем ли мы что-то совершенно неправильно в нашем рабочем процессе линтинга (cc @david).
Как я выполняю линтинг
Раньше я запускал bin/lint из корневой директории Discourse, указывая путь к моему плагину внутри каталога плагинов:
bin/lint --fix plugins/my-custom-plugin
После упомянутого выше коммита это перестало работать. pnpm выдает ошибку о запуске внутри директории плагина и затем не может найти файлы. Пример из вывода ошибки:
> pnpm was run inside a plugin directory. Re-executing with --ignore-workspace...
NoFilesFoundError: No files matching the pattern "plugins/zlb-community/assets/stylesheets/common/atoms/category-button.scss, plugins/zlb-community/assets/stylesheets/common/atoms/category-icon.scss, plugins/zlb-community/assets/stylesheets/common/atoms/icon-info.scss, plugins/zlb-community/assets/stylesheets/common/atoms/user-pill.scss, plugins/zlb-community/assets/stylesheets/common/base/grid.scss, plugins/zlb-community/assets/stylesheets/common/base/normalize.scss, plugins/zlb-community/assets/stylesheets/common/base/rich-text.scss, plugins/zlb-community/assets/stylesheets/common/base/stack.scss, plugins/zlb-community/assets/stylesheets/common/index.scss, plugins/zlb-community/assets/stylesheets/common/molecules/card.scss, plugins/zlb-community/assets/stylesheets/common/molecules/expander.scss, plugins/zlb-community/assets/stylesheets/common/molecules/header.scss, plugins/zlb-community/assets/stylesheets/common/molecules/user-pill-list.scss, plugins/zlb-community/assets/stylesheets/common/organisms/category-header.scss, plugins/zlb-community/assets/stylesheets/common/templates/lobby.scss, plugins/zlb-community/assets/stylesheets/community-sidebar.scss, plugins/zlb-community/assets/stylesheets/user_home.scss, plugins/zlb-community/assets/stylesheets/common/atoms/badge.scss" were found.
at standalone (file:///Users/max/code/bitcrowd/zlb/discourse/plugins/zlb-community/node_modules/.pnpm/stylelint@17.5.0_typescript@5.9.3/node_modules/stylelint/lib/standalone.mjs:293:43)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
Раньше всё работало отлично. Как теперь (если только не откатиться к коммиту до этого изменения…) я могу выполнять линтинг только глобально через bin/lint в корне. Но это, очевидно, занимает гораздо больше времени.
Не следует ли делать это иначе?