fdb2e10a8e
Widen the salvaged guard from a hand-maintained four-package floor to the class it stands for: every `dependencies` + `devDependencies` entry in the desktop workspace manifest. Live probe on this box: a tree holding vite, katex, electron and electron-builder but missing `@rolldown/plugin-babel` still passed the floor-only guard, and `vite build` died loading `vite.config.ts` after `prebuild` had already run. The floor stays as an unconditional fallback for an unreadable manifest; optionalDependencies are skipped because npm legitimately omits them (get-windows). Five new vitest cases (12 total); the two class tests fail when the manifest union is removed. Refs #86443.