plugins: node_modules is not a broken plugin

The shared install target for plugin npm packages lives in plugins/ because bun resolves node_modules
up the tree. Discovery then found it, failed to read a manifest, and reported it as broken on every
call — a warning nobody can act on, and a denominator that made the marketplace sync report 15/16.

Mine, from the npm-dependencies work.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-21 00:19:46 +00:00
co-authored by Claude Opus 5
parent 4efc2552d0
commit b1a2d67b76
+5
View File
@@ -141,6 +141,11 @@ export async function discoverPlugins(root: string = PLUGINS_DIR): Promise<Disco
for (const entry of readdirSync(root)) {
// `_`-prefixed directories are scratch space, and dotfiles are not plugins.
if (entry.startsWith('.') || entry.startsWith('_')) continue;
// Nor is the shared install target for plugin npm packages, which lives here because bun resolves
// node_modules up the tree — see npm-deps.ts. It was reported as a broken plugin on every discovery
// ("node_modules: no manifest.ts"), which is a warning nobody can act on and a denominator that
// makes the marketplace sync say 15/16.
if (entry === 'node_modules') continue;
const dir = join(root, entry);
try {
if (!statSync(dir).isDirectory()) continue;