check:manifest-covers knows a desktop-only bundle is not in the web tree
rudder-voice targets desktop and widget, so generate-tree skips it through isWebBuilt(); this check did not, and reported the deliberate absence as a missing plugin. It reads the same rule now.
This commit is contained in:
parent
f45624915f
commit
bd37adacdd
1 changed files with 8 additions and 0 deletions
|
|
@ -36,6 +36,7 @@ import { resolve, dirname, join } from 'node:path'
|
|||
import { fileURLToPath } from 'node:url'
|
||||
import { discoverSpaRegistry } from './plugin-gallery/discover.mjs'
|
||||
import { TREE_NAME } from './_tree-name.mjs'
|
||||
import { isWebBuilt } from './plugin-targets.mjs'
|
||||
|
||||
const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '..')
|
||||
const MANIFEST = join(ROOT, 'public', TREE_NAME, 'manifest.json')
|
||||
|
|
@ -84,6 +85,13 @@ try {
|
|||
gated = Array.isArray(cfg.gatedProfiles) ? cfg.gatedProfiles.map(String) : []
|
||||
} catch { gated = [] }
|
||||
|
||||
// ★ AND A FOURTH: a bundle whose every profile targets something other than the web (Rudder:
|
||||
// desktop + widget) is built by desktop:build, never into the tree. generate-tree and run-parallel
|
||||
// skip it through the same isWebBuilt(); read it here too, or its deliberate absence reads as the
|
||||
// silent-omission bug this gate exists for.
|
||||
const nonWeb = registry.filter(b => !isWebBuilt(join(ROOT, 'plugin-designs', b.bundle))).map(b => b.bundle)
|
||||
gated = [...gated, ...nonWeb]
|
||||
|
||||
const manifest = JSON.parse(readFileSync(MANIFEST, 'utf8'))
|
||||
const listed = new Map((manifest.bundles || []).map(b => [b.bundle, (b.profiles || []).length]))
|
||||
const found = new Map(
|
||||
|
|
|
|||
Loading…
Reference in a new issue