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