```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;
};
```