Skip to content

DF8110: Renderer Type Is Not URL-Safe

Message

Dock type "{type}" is not a servable renderer-module name — the hub serves each module at <base>__renderers/<type>.mjs

Cause

An initHub({ renderers }) registration carries a type that can't become a URL segment. The hub derives each module's serving path — and the manifest's importFrom — from the type, so : and * (route-pattern markers to the underlying router) or separators like / would break the route.

Example

ts
initHub({
  renderers: [
    { type: 'my:renderer', file: bundle }, // ✗ `:` is a route-param marker
  ],
})

Fix

Use a route-safe dock type: letters, digits, _, -, and . only (e.g. json-render, my-renderer). The dock entries' type discriminator must match, so pick the safe name once, in the integration that declares the type.

Source

Released under the MIT License.