Un cambio reciente en la rama main de Discourse (https://github.com/discourse/discourse/commit/e84d7c9f26ed) ha roto nuestro método de linting para los plugins personalizados en los que estamos trabajando.
El asunto del PR/commit fue:
DEV: Actualizar
bin/lintpara que funcione correctamente con plugins no empaquetados
Así que me pregunto si estamos haciendo algo completamente mal con nuestro flujo de trabajo de linting (cc @david).
Cómo hago el linting
La forma en que usaba bin/lint era ejecutarlo desde la raíz de Discourse y apuntar a mi plugin dentro del directorio de plugins:
bin/lint --fix plugins/my-custom-plugin
Eso dejó de funcionar con el commit mencionado anteriormente. pnpm reporta errores por ejecutarse dentro de un directorio de plugin y luego no puede encontrar los archivos. Un ejemplo de la salida del error:
> 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)
Antes funcionaba perfectamente. ¿Cómo puedo hacer el linting (a menos que vuelva al commit anterior al cambio…)? Solo puedo ejecutar bin/lint globalmente desde la raíz, pero eso obviamente lleva mucho más tiempo.
¿Se debería hacer de manera diferente?