snapshot of https://github.com/tldraw/tldraw.git (main, 2026-09-23; blobs > 131072B omitted)
Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled

This commit is contained in:
upstream-mirror
2026-09-23 16:12:52 +05:00
commit a774ac673a
4541 changed files with 770499 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
/**
* Resolves root-relative static URLs (`/images/...`, `/favicon.svg`) to absolute URLs when the
* docs app is deployed with `assetPrefix` (e.g. proxied via tldraw.dev per RUNBOOK). Next applies
* `assetPrefix` to `/_next/*` automatically; strings in MDX remain plain paths unless we prefix them.
*
* Precedence (first hit wins):
* 1. `ASSET_PREFIX` — server/build (Vercel / CI)
* 2. `NEXT_PUBLIC_ASSET_PREFIX` — same value inlined for client bundles when needed
* 3. `NEXT_PUBLIC_DOCS_ASSET_PREFIX` — alias for ops clarity (same behavior as #2)
* 4. `VERCEL_URL` — preview deployments
* 5. `NEXT_PUBLIC_VERCEL_URL` — client-side fallback for preview hostname
*/
function resolveAssetOrigin(): string | undefined {
const explicit =
process.env.ASSET_PREFIX?.trim() ||
process.env.NEXT_PUBLIC_ASSET_PREFIX?.trim() ||
process.env.NEXT_PUBLIC_DOCS_ASSET_PREFIX?.trim()
if (explicit) return explicit.replace(/\/$/, '')
const vercelUrl = process.env.VERCEL_URL?.trim() || process.env.NEXT_PUBLIC_VERCEL_URL?.trim()
if (vercelUrl) {
const host = vercelUrl.replace(/^https?:\/\//, '')
return `https://${host}`
}
return undefined
}
/**
* Prefix a root-relative public/static path for the current docs deployment.
* Use for MDX images, icons in metadata, and any `/…` URL that must load from the docs origin
* when the site is served behind a proxy or alternate host.
*/
export function assetUrl(path: string): string {
if (path.startsWith('//')) return path
if (!path.startsWith('/')) return path
const origin = resolveAssetOrigin()
if (!origin) return path
return `${origin}${path}`
}