Un récent changement sur la branche main de Discourse (https://github.com/discourse/discourse/commit/e84d7c9f26ed) a cassé notre méthode de linting des plugins personnalisés sur lesquels nous travaillons.
Le sujet de la PR/commit était
DEV : Mettre à jour
bin/lintpour qu’il fonctionne correctement avec les plugins non bundled
Je me demande donc si nous faisons quelque chose de totalement faux dans notre flux de travail de linting (cc @david).
Comment je fais le linting
La façon dont j’utilisais bin/lint était de l’exécuter depuis la racine de Discourse et de le pointer vers mon plugin dans le répertoire des plugins :
bin/lint --fix plugins/my-custom-plugin
Cela a été cassé par le commit mentionné ci-dessus. pnpm signale une erreur car il est exécuté dans un répertoire de plugin, puis ne parvient plus à trouver les fichiers. Voici un exemple tiré de la sortie d’erreur :
> 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)
Cela fonctionnait parfaitement avant. Comment (sauf si je reviens au commit précédent le changement…) je ne peux faire le linting globalement qu’avec bin/lint depuis la racine. Mais cela prend évidemment beaucoup plus de temps.
Cela devrait-il être fait différemment ?