2.53.6 • Published 2 years ago

@xdn/core v2.53.6

Weekly downloads
33,257
License
UNLICENSED
Repository
-
Last release
2 years ago

@xdn/core

Overview

This package provides a router that allows the developer to declare routes their either run at the edge (for example, proxy and redirect), or defer to next.js's router. You can also create clean routes for next.js.

Configuring Routes

import { Router } from 'xdn'

new Router()
  // redirect at edge
  .match('/some/path/:withVar', ({ redirect }) => {
    redirect('/some/other/path/{withVar}', 301)
  })

  // proxy the origin site
  .match('/some/path/:withVar', ({ proxy }) => {
    proxy('desktop', {
      path: '/some/other/path/{withVar}',
    })
  })

  // match based on header and proxy the origin site
  .match({ headers: { 'xdn-device-type': 'desktop' } }, ({ proxy }) => {
    proxy('desktop')
  })

  // vanity URL for next.js
  .match('/holiday-sale', ({ render }) => {
    render((req, res) => nextRenderFunction(req, res, { productId: 2 }, '/p/[productId]'))
  })

  // OR

  .match('/holiday-sale/:productId', ({ render, params }) => {
    render((req, res) => nextRenderFunction(req, res, params, '/p/[productId]'))
  })

  // Synthetic html response
  .match('/static-html', ({ respond, responseHeaders }) => {
    responseHeaders({ set: { 'Content-Type': 'text/html; charset=UTF-8' } })
    respond('<html><body><h1>Hello world!</h1></body></html>', 200)
  })

  // fall back to next's router
  .fallback(({ render }) => render(nextRenderFunction))

Creating an Outer Edge Manager config

At build time, an outer edge manager config can be derived from the router by calling router.createEdgeConfig().

Example

To run routes example file use any node process manager and run the file as:

  • $ node ./routes.example.js

This example outputs oem.example.json with outer edge configuration and will run on http://127.0.0.1:3001

2.53.4

2 years ago

2.53.5

2 years ago

2.53.6

2 years ago

2.53.3

3 years ago

2.53.0

3 years ago

2.53.1

3 years ago

2.53.2

3 years ago

2.52.1

3 years ago

2.52.0

3 years ago

2.51.0

3 years ago

2.50.0

3 years ago

2.49.3

3 years ago

2.49.4

3 years ago

2.49.1

3 years ago

2.49.2

3 years ago

2.49.0

3 years ago

2.48.3

3 years ago

2.48.4

3 years ago

2.48.2

3 years ago

2.48.0

3 years ago

2.48.1

3 years ago

2.47.0

3 years ago

2.47.2

3 years ago

2.47.1

3 years ago

2.46.11

3 years ago

2.46.10

3 years ago

2.46.9

3 years ago

2.46.8

3 years ago

2.46.7

3 years ago

2.46.6

3 years ago

2.46.5

3 years ago

2.46.3

3 years ago

2.46.2

3 years ago

2.46.1

3 years ago

2.46.0

3 years ago

2.45.0

3 years ago

2.44.2

3 years ago

2.44.1

3 years ago

2.44.0

3 years ago

2.43.0

3 years ago

2.42.1

3 years ago

2.42.0

3 years ago

2.41.1

3 years ago

2.41.0

3 years ago

2.40.2

3 years ago

2.40.1

3 years ago

2.40.0

3 years ago

2.39.1

3 years ago

2.39.3

3 years ago

2.39.2

3 years ago

2.39.0

3 years ago

2.38.1

3 years ago

2.38.0

3 years ago

2.37.2

3 years ago

2.37.1

3 years ago

2.37.0

3 years ago

2.36.1

3 years ago

2.36.0

3 years ago

2.35.1

3 years ago

2.35.2

3 years ago

2.35.0

3 years ago

2.34.2

3 years ago

2.34.1

3 years ago

2.34.0

3 years ago

2.33.4

3 years ago

2.33.3

3 years ago

2.33.2

3 years ago

2.33.1

3 years ago

2.33.0

3 years ago

2.32.2

3 years ago

2.32.1

3 years ago

2.32.0

3 years ago

2.31.0

3 years ago

2.30.3

3 years ago

2.30.2

3 years ago

2.30.1

3 years ago

2.30.0

3 years ago

2.29.0

3 years ago

2.28.0

3 years ago

2.27.4

3 years ago

2.27.3

3 years ago

2.27.2

3 years ago

2.27.1

3 years ago

2.27.0

3 years ago

2.26.3

3 years ago

2.26.2

3 years ago

2.26.1

3 years ago

1.48.2

3 years ago

2.26.0

3 years ago

2.25.0

3 years ago

2.24.2

3 years ago

2.24.1

3 years ago

2.24.0

3 years ago

2.23.1

4 years ago

2.22.0

4 years ago

2.21.0

4 years ago

2.20.3

4 years ago

2.20.2

4 years ago

2.20.1

4 years ago

2.20.0

4 years ago

2.19.0

4 years ago

2.18.1

4 years ago

2.18.0

4 years ago

2.17.0

4 years ago

2.16.1

4 years ago

2.16.0

4 years ago

2.15.0

4 years ago

2.14.0

4 years ago

2.13.4

4 years ago

2.13.3

4 years ago

2.13.2

4 years ago

2.13.1

4 years ago

2.13.0

4 years ago

2.12.1

4 years ago

2.12.0

4 years ago

2.11.2

4 years ago

2.11.1

4 years ago

2.11.0

4 years ago

2.10.2

4 years ago

2.10.3

4 years ago

2.10.1

4 years ago

2.10.0

4 years ago

2.9.0

4 years ago

2.8.0

4 years ago

2.7.0

4 years ago

2.6.4

4 years ago

2.6.3

4 years ago

2.6.2

4 years ago

2.6.1

4 years ago

2.6.0

4 years ago

2.5.0

4 years ago

1.48.1

4 years ago

2.4.1

4 years ago

2.4.0

4 years ago

2.4.2

4 years ago

2.3.1

4 years ago

1.48.0

4 years ago

2.2.1

4 years ago

1.47.0

4 years ago

2.2.0

4 years ago

2.1.0

4 years ago

2.0.4

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.46.1

4 years ago

1.46.0

4 years ago

1.45.10

4 years ago

1.45.1

4 years ago

1.45.3

4 years ago

1.44.1

4 years ago

1.44.0

4 years ago

1.43.6

4 years ago

1.43.5

4 years ago

1.43.4

4 years ago

2.0.0-alpha.7

4 years ago

1.43.0

4 years ago

1.43.3

4 years ago

1.42.1

4 years ago

1.42.0

4 years ago

1.41.3

4 years ago

1.41.2

4 years ago

1.40.0

4 years ago

1.39.2

4 years ago

1.39.1

4 years ago

2.0.0-alpha.5

4 years ago

1.38.2

4 years ago

1.38.1

4 years ago

1.38.0

4 years ago

2.0.0-alpha.1

4 years ago

2.0.0-alpha.0

4 years ago

1.37.1

4 years ago

1.37.0

4 years ago

1.36.0

4 years ago

1.35.4

4 years ago

1.35.2

4 years ago

1.35.1

4 years ago

1.35.0

4 years ago

1.34.11

4 years ago

1.34.10

4 years ago

1.34.9

4 years ago

1.34.8

4 years ago

1.34.7

4 years ago

1.34.6

4 years ago

1.34.5

4 years ago

1.34.4

4 years ago

1.34.3

4 years ago

1.34.2

4 years ago

1.34.1

4 years ago

1.34.0

4 years ago

1.33.2-alpha.0

4 years ago

1.33.1

4 years ago

1.33.2

4 years ago

1.33.1-alpha.0

4 years ago

1.33.0

4 years ago

1.32.4

4 years ago

1.32.3

4 years ago

1.32.2

4 years ago

1.32.1

4 years ago

1.32.0

4 years ago

1.30.3

4 years ago

1.31.0

4 years ago

1.30.2

4 years ago

1.29.3

4 years ago

1.30.0

4 years ago

1.29.2

4 years ago

1.30.0-alpha.0

4 years ago

1.29.0

4 years ago

1.29.1

4 years ago

1.28.1

4 years ago

1.28.2

4 years ago

1.28.0

4 years ago

1.27.4

4 years ago

1.27.5

4 years ago

1.27.2

4 years ago

1.27.3

4 years ago

1.27.0

4 years ago

1.27.1

4 years ago

1.26.3

4 years ago

1.26.1

4 years ago

1.26.2

4 years ago

1.26.0

4 years ago

1.25.0

4 years ago

1.23.2

4 years ago

1.23.1

4 years ago

1.24.0

4 years ago

1.24.0-alpha.3

4 years ago

1.25.0-alpha.0

4 years ago

1.24.0-alpha.2

4 years ago

1.23.0

4 years ago

1.24.0-alpha.0

4 years ago

1.22.0

4 years ago

1.22.0-alpha.2

4 years ago

1.22.0-alpha.1

4 years ago

1.22.0-alpha.0

4 years ago

1.21.0

4 years ago

1.21.0-alpha.0

4 years ago

1.20.2

4 years ago

1.20.1

4 years ago

1.20.0

4 years ago

1.19.0

4 years ago

1.18.0

4 years ago

1.17.0

4 years ago

1.16.4

4 years ago

1.16.3

4 years ago

1.16.2

4 years ago

1.16.1

4 years ago

1.16.0

4 years ago

1.16.0-alpha.2

4 years ago

1.16.0-alpha.1

4 years ago

1.15.4

4 years ago

1.16.0-alpha.0

4 years ago

1.15.3-alpha.1

4 years ago

1.15.3-alpha.0

4 years ago

1.15.2

4 years ago

1.15.1

4 years ago

1.15.0

4 years ago

1.15.0-alpha.2

4 years ago

1.15.1-alpha.0

4 years ago

1.14.4

4 years ago

1.15.0-alpha.1

4 years ago

1.14.3

4 years ago

1.14.1

4 years ago

1.14.2

4 years ago

1.14.0

4 years ago

1.14.0-alpha.8

4 years ago

1.14.0-alpha.4

4 years ago

1.14.0-alpha.6

4 years ago

1.14.0-alpha.2

4 years ago

1.13.0

4 years ago

1.14.0-alpha.12

4 years ago

1.14.0-alpha.0

4 years ago

1.14.0-alpha.1

4 years ago

1.12.1

4 years ago

1.12.0

4 years ago

1.11.3

4 years ago

1.11.2

4 years ago

1.11.0

4 years ago

1.10.0

4 years ago

1.9.1

4 years ago

1.9.1-alpha.0

4 years ago

1.9.1-alpha.1

4 years ago

1.9.1-alpha.3

4 years ago

1.10.0-alpha.0

4 years ago

1.10.0-alpha.1

4 years ago

1.10.0-alpha.2

4 years ago

1.9.0

4 years ago

1.8.6

4 years ago

1.8.4

4 years ago

1.8.3

4 years ago

1.8.1

4 years ago

1.8.0

4 years ago

1.7.0

4 years ago

1.6.0

4 years ago

1.6.0-alpha.5

4 years ago

1.6.0-alpha.4

4 years ago

1.6.0-alpha.3

4 years ago

1.6.0-alpha.7

4 years ago

1.5.2

4 years ago

1.6.0-alpha.2

4 years ago

1.6.0-alpha.1

4 years ago

1.6.0-alpha.0

4 years ago

1.5.0

4 years ago

1.4.1

4 years ago

1.4.0

4 years ago

1.3.0

4 years ago

1.2.6

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago