I might have misunderstood, but couldn’t you do this instead:
module Router = {
type t
@module("ultimate-express") @scope("default")
external make: unit => t = "Router"
}
When used, it generates:
import * as UltimateExpress from "ultimate-express";
let router = UltimateExpress.default.Router();
Which should work as expected.