Skip to content

Routes

A route is the stable name routeup gives a local service. Locally, routeup maps it to https://<route>.localhost.

Valid route names are DNS-style labels joined with dots:

example-app
api.example-app
docs.example-app

Invalid examples:

.example-app
example-app.
api..example-app
my_app
example-app.localhost
example-app.routeup.dev

Route names are lowercased. Each label may contain ASCII letters, digits, and hyphens, but not leading or trailing hyphens.

routeup appends .localhost for local use:

example-app -> https://example-app.localhost
api.example-app -> https://api.example-app.localhost

The .localhost suffix is not part of the route name.

Every public hostname is one label under the namespace granted by the server:

example-app -> example-app
api.example-app -> api-example-app

Dotted route names remain valid locally. When a dotted route is exposed, routeup replaces dots with hyphens for the public label: api.example-app stays https://api.example-app.localhost locally and requests public label api-example-app automatically.

The server places that label under the granted namespace base:

no token https://api-example-app.try.routeup.dev
root token https://api-example-app.routeup.dev
namespace https://api-example-app.mukul.routeup.dev

routeup serve resolves the name in this order:

  1. Positional argument, such as routeup serve example-app.
  2. ROUTEUP_NAME.
  3. name from routeup.json or the package.json routeup block.
  4. The working-directory basename.

Every explicit positional name is literal. With config name example-app, routeup serve api serves route api; use routeup serve api.example-app when that exact dotted route is wanted.