# CDN Dependencies

Source: https://lumeo.nativ.sh/docs/cdn-deps

# CDN Dependencies

Satellite packages (Maps, PdfViewer, Charts, Scheduler, CodeEditor) load their JavaScript libraries from a public CDN at runtime. This page lists every dependency, explains how to override the URLs, and shows how to self-host them with the CLI for airgapped or strict-CSP deployments.

## How it works

Every satellite's JavaScript interop file uses a small helper:

function \_cdn(key, fallback) { return (window.lumeoCdn && window.lumeoCdn\[key\]) || fallback; } const MAPLIBRE\_JS = \_cdn('mapLibreJs', 'https://unpkg.com/maplibre-gl@5.7.1/...');

If `window.lumeoCdn` is set before the first component mounts, its values take priority. If not, the CDN fallback is used. Nothing else to configure — the default works out of the box.

## Self-hosting with the CLI

Run once from your Blazor project root to download every dependency into `wwwroot/lib/lumeo-vendor/`:

lumeo deps install

This also generates `wwwroot/js/lumeo-cdn-init.js` which sets `window.lumeoCdn` to the local paths. Add one script tag to your `App.razor` `<head>` before Blazor's framework script:

<script src="js/lumeo-cdn-init.js"></script>

### Options

Flag

Default

Description

\--lib <name>

all

Filter by satellite name, package, or key (e.g. `Lumeo.Maps`)

\--target <dir>

auto

Project root (defaults to first parent dir with a \*.csproj)

\--no-bootstrap

false

Skip generating lumeo-cdn-init.js

\--force

false

Re-download files that already exist

\--dry-run

false

Print what would happen without writing files

## Manual override

You can point individual keys at any URL — your own CDN, a local path, or an alternative version — without running the CLI. Set `window.lumeoCdn` before Blazor boots:

<script> window.lumeoCdn = { mapLibreJs: '/my-cdn/maplibre-gl.js', mapLibreCss: '/my-cdn/maplibre-gl.css', }; </script>

Only the keys you set are overridden — unset keys fall back to the CDN default.

## Current dependencies

Loaded from [/registry/cdn-deps.json](/registry/cdn-deps.json) — regenerated by `tools/Lumeo.RegistryGen` on every CI run.
