DF8006: Static Build Mount Base Is Not Absolute
A static hub build writes each mount either under its base ("{base}") or as an absolute-path sibling of it, but "{urlBase}" is neither.
Message
A static hub build writes each mount either under its base ("{base}") or as an absolute-path sibling of it, but "{urlBase}" is neither
Cause
buildHub maps a mount under the hub base into its outDir (the hub subtree), and any other mount to the deploy root (outDir's parent) by its absolute path, so a devframe SPA or asset dir served as a sibling of the hub base still lands beside it. A mount base that is neither under the hub base nor an absolute path has no on-disk location in the output.
Example
await buildHub({
outDir: 'dist/__devframes',
async configure(ctx) {
// ✓ Good: under the hub base, written into `outDir`
await ctx.install(a, { base: '/__devframes/a/' })
// ✓ Good: an absolute sibling, written to the deploy root beside the hub
await ctx.install(b, { base: '/tools/b/' })
// ✗ Bad: a relative base resolves against neither
await ctx.install(c, { base: 'tools/c/' })
},
})Fix
Give the mount an absolute base (starting with /): a base under the hub base writes into outDir, and any other absolute base writes to the deploy root by its path.
Source
packages/hub/src/node/build.ts:buildHub()'s mount-to-disk mapping throws this for a mount base that is not absolute.