Eine kürzliche Änderung im main-Branch von Discourse (https://github.com/discourse/discourse/commit/e84d7c9f26ed) hat unsere Vorgehensweise beim Linting unserer benutzerdefinierten Plugins zunichtegemacht.
Der Betreff des PR/Commits lautete:
DEV: Update
bin/lint, damit es korrekt für nicht-bundelnde Plugins funktioniert
Daher frage ich mich, ob wir bei unserem Linting-Workflow etwas völlig falsch machen (cc @david).
Wie ich linte
Meine bisherige Nutzung von bin/lint bestand darin, es vom Discourse-Root auszuführen und dabei auf mein Plugin im Plugin-Verzeichnis zu verweisen:
bin/lint --fix plugins/my-custom-plugin
Dies ist mit dem oben genannten Commit nicht mehr möglich. pnpm meldet einen Fehler, da es in einem Plugin-Verzeichnis ausgeführt wurde, und kann danach die Dateien nicht mehr finden. Ein Beispiel aus der Fehlerausgabe:
> pnpm wurde in einem Plugin-Verzeichnis ausgeführt. Neuerlicher Start mit --ignore-workspace...
NoFilesFoundError: Keine Dateien, die dem Muster entsprechen, wurden gefunden: "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"
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)
Früher hat es einwandfrei funktioniert. Wie kann ich nun linten (es sei denn, ich gehe zum Commit vor der Änderung zurück…)? Ich kann nur noch global mit bin/lint im Root linten. Das dauert jedoch offensichtlich viel länger.
Sollte dies anders gehandhabt werden?