Aggiornamento a bin/lint interrompe il flusso di linting per i plugin non bundle

Una recente modifica sul ramo main di Discourse (https://github.com/discourse/discourse/commit/e84d7c9f26ed) ha rotto il nostro metodo di linting per i plugin personalizzati su cui stiamo lavorando.

L’oggetto della PR/commit era:

DEV: Aggiorna bin/lint per funzionare correttamente con i plugin non bundlizzati

Quindi mi chiedo se stiamo facendo qualcosa di completamente sbagliato nel nostro flusso di lavoro di linting (cc @david).

Come eseguo il linting

Il modo in cui utilizzavo bin/lint era eseguirlo dalla root di Discourse e puntarlo al mio plugin all’interno della directory dei plugin:

bin/lint --fix plugins/my-custom-plugin

Questo ha smesso di funzionare con il commit menzionato sopra. pnpm segnala un errore per essere stato eseguito all’interno di una directory di plugin e quindi non riesce più a trovare i file. Ecco un esempio tratto dall’output dell’errore:

> pnpm è stato eseguito all'interno di una directory di plugin. Riesecuzione con --ignore-workspace...
NoFilesFoundError: Nessun file corrispondente al 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" trovato.
    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)

Prima funzionava perfettamente. Come (a meno che non torni al commit precedente alla modifica…) posso eseguire il linting solo globalmente con bin/lint nella root. Ma questo ovviamente richiede molto più tempo.

Dovrebbe essere fatto in modo diverso?

Grazie per il report @klappradla. Questo dovrebbe risolvere il problema:

Grazie!

Ho provato il ramo della tua correzione. Funziona solo parzialmente per me, poiché si ferma dopo template-lint e non esegue ulteriori controlli.

Sospetto che stia eseguendo stylelint dopo ember-template-lint, ma l’output è vuoto, quindi non è evidente. Ho appena spinto un commit che aggiunge un semplice output di avanzamento e un riepilogo finale.

Ho provato il tuo branch aggiornato, ma credo che il problema sia altrove. Ora stampa il riepilogo, il che va bene, ma credo che non stia esaminando i file giusti :joy:

Se lo confronto con 146fb61e104e, non rileva alcuna violazione di linting che inserisco nei file .scss o .js.

Ho provato ad aggiungere violazioni nei file SCSS e JS durante i miei test e sembra abbia funzionato. Potresti provare a eseguire bin/lint --verbose plugins/my-custom-plugin e verificare se i file sono elencati correttamente nell’output?

Buon punto sulla verbosità!

Sì, i percorsi dei file sono corretti e riesco a far sì che segnali :tada:. Tuttavia, quando passo --fix non fa nulla in silenzio. Hai modificato l’API in quel punto?

Oh… :facepalm:

Ho fatto un altro commit. Ti dispiacerebbe riprovare un’ultima volta?

Bene! Funziona perfettamente per me ora :tada:

Scusa per il ritardo nella risposta - ero impegnato in compiti non informatici.

Ottimo, grazie per il tuo aiuto! Ho unito la PR :rocket: