```js // @noErrors import { assets, immutable, prerendered, routes } from '$app/manifest'; ``` This module is available to [service workers](/docs/kit/service-workers) and other contexts. It exports information about the build output, static files, prerendered pages, and routes. ## assets An array of `{ path: AssetPath }` objects representing the files in your `static` directory, or whatever directory is specified by `config.files.assets`. The path is relative to the [base path](/docs/kit/configuration#paths), and can be used with [`asset(...)`](/docs/kit/$app-paths#asset).
```dts const assets: Array<{ path: import('$app/types').AssetPath; }>; ```
## immutable An array of `{ path: string }` objects representing the files generated by Vite. The path is relative to the [base path](/docs/kit/configuration#paths), and is intended for use with `cache.add(...)` inside a [service worker](/docs/kit/service-workers). During development, this is an empty array.
```dts const immutable: Array<{ path: string }>; ```
## prerendered An array of `{ path: Path }` objects representing prerendered pages and endpoints, relative to the [base path](/docs/kit/configuration#paths). During development, this is an empty array.
```dts const prerendered: Array<{ path: import('$app/types').Path; }>; ```
## routes An array of objects representing the routes in your app. Only routes that the router can match are included — directories that merely hold a `+layout` are not routes of their own. Each object has an `id`, plus `page` and `endpoint` booleans describing whether the route has a `+page` and/or a `+server`. Both are `true` for a route that has both, so the capabilities can be filtered independently: ```js // @errors: 7031 import { routes } from '$app/manifest'; const pages = routes.filter((route) => route.page); const endpoints = routes.filter((route) => route.endpoint); ```
```dts const routes: ManifestRoute[]; ```
## ManifestRoute A route in your app, along with its capabilities. `page` indicates the presence of a `+page`, while `endpoint` indicates the presence of a `+server`. Both are `true` when both files exist.
```dts type ManifestRoute = | { id: Exclude< import('$app/types').PageRouteId, import('$app/types').EndpointRouteId >; page: true; endpoint: false; } | { id: Exclude< import('$app/types').EndpointRouteId, import('$app/types').PageRouteId >; page: false; endpoint: true; } | { id: Extract< import('$app/types').PageRouteId, import('$app/types').EndpointRouteId >; page: true; endpoint: true; }; ```