or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

examples

edge-cases.mdreal-world-scenarios.md
index.md
tile.json

paths.mddocs/reference/

Paths

Resolve asset URLs and route paths with proper base path handling.

Capabilities

Asset Resolution

/**
 * Resolve static asset URL with base path
 * @param file - Asset file path
 * @returns Full URL to asset
 * @since 2.26
 */
function asset(file: string): string;

Usage:

import { asset } from '$app/paths';

// Resolve static asset
const logoUrl = asset('/images/logo.png');
const styleUrl = asset('/styles/theme.css');

// In component
<img src={asset('/logo.png')} alt="Logo" />
<link rel="stylesheet" href={asset('/theme.css')} />

Path Resolution

/**
 * Resolve route ID or pathname to full path
 * @param route - Route ID (from types) or pathname
 * @param params - Route parameters (when route has parameters)
 * @returns Resolved pathname as a string
 * @since 2.26
 */
function resolve<T extends RouteId | Pathname>(
  ...args: ResolveArgs<T>
): ResolvedPathname;

// ResolvedPathname is a string type (nominal/branded string)
type ResolvedPathname = string;

Usage:

import { resolve } from '$app/paths';

// Resolve route ID (returns a string)
const path = resolve('/blog/[slug]', { slug: 'hello-world' });
// '/blog/hello-world'

// Resolve pathname
const path2 = resolve('/about');
// '/about'

// Use in links (resolve returns a string directly)
<a href={resolve('/post/[id]', { id: post.id })}>
  {post.title}
</a>

Deprecated Constants and Aliases

// Deprecated - use asset() and resolve() instead
const base: string;
const assets: string;

/**
 * @deprecated Use resolve() instead
 * resolveRoute is exported as a deprecated alias: export { resolve as resolveRoute }
 */
const resolveRoute: typeof resolve;

Notes

  • asset(): Use for static files in /static directory
  • resolve(): Use for route paths and dynamic routes
  • Both respect config.kit.paths.base setting
  • base and assets constants are deprecated but still available
  • If config.kit.paths.base is set to /myapp:
    • asset('/logo.png')/myapp/logo.png
    • resolve('/about')/myapp/about
  • For relative paths in config, use config.kit.paths.relative = true