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/lintper 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?