Actualización a bin/lint rompe el flujo de linting para plugins no empaquetados

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/lint para 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?

Gracias por el informe @klappradla. Esto debería solucionarlo:

¡Gracias!

Probé la rama de tu corrección. Sin embargo, solo funciona parcialmente en mi caso, ya que se detiene después de template-lint y no ejecuta ninguna comprobación adicional.

Sospecho que se está ejecutando stylelint después de ember-template-lint, pero la salida está vacía, por lo que no es evidente. Acabo de enviar un commit que agrega una salida de progreso sencilla y un resumen final.

Probé tu rama actualizada, pero creo que el problema está en otro lado. Ahora imprime el resumen, lo cual está bien, pero creo que no está buscando en los archivos correctos :joy:.

Si lo comparo con 146fb61e104e, simplemente no detecta ninguna violación de linting que inserte en archivos .scss o .js.

Intenté agregar violaciones en archivos scss y js durante mis pruebas y pareció funcionar. ¿Podrías ejecutar bin/lint --verbose plugins/my-custom-plugin y verificar si los archivos se listan correctamente en la salida?

¡Buena observación sobre el modo detallado!

Sí, las rutas de archivo están bien y logro que informe :tada:. Sin embargo, no hace nada en silencio cuando paso --fix. ¿Cambiariste la API allí?

Oh… :facepalm:

He hecho otro commit. ¿Te importaría intentarlo una vez más?

¡Genial! Ahora funciona bien para mí :tada:

Disculpa la tardanza en responder, estaba ocupado con tareas fuera de la computadora.

¡Genial, gracias por tu ayuda! He fusionado la PR :rocket: