({
config,
build_data,
server_metadata,
route_data,
prerendered,
prerender_map,
log,
vite_config
})
| 31 | * @returns {import('@sveltejs/kit').Builder} |
| 32 | */ |
| 33 | export function create_builder({ |
| 34 | config, |
| 35 | build_data, |
| 36 | server_metadata, |
| 37 | route_data, |
| 38 | prerendered, |
| 39 | prerender_map, |
| 40 | log, |
| 41 | vite_config |
| 42 | }) { |
| 43 | /** @type {Map<import('@sveltejs/kit').RouteDefinition, import('types').RouteData>} */ |
| 44 | const lookup = new Map(); |
| 45 | |
| 46 | /** |
| 47 | * Rather than exposing the internal `RouteData` type, which is subject to change, |
| 48 | * we expose a stable type that adapters can use to group/filter routes |
| 49 | */ |
| 50 | const routes = route_data.map((route) => { |
| 51 | const { config, methods, page, api } = /** @type {import('types').ServerMetadataRoute} */ ( |
| 52 | server_metadata.routes.get(route.id) |
| 53 | ); |
| 54 | |
| 55 | /** @type {import('@sveltejs/kit').RouteDefinition} */ |
| 56 | const facade = { |
| 57 | id: route.id, |
| 58 | api, |
| 59 | page, |
| 60 | segments: get_route_segments(route.id).map((segment) => ({ |
| 61 | dynamic: segment.includes('['), |
| 62 | rest: segment.includes('[...'), |
| 63 | content: segment |
| 64 | })), |
| 65 | pattern: route.pattern, |
| 66 | prerender: prerender_map.get(route.id) ?? false, |
| 67 | methods, |
| 68 | config |
| 69 | }; |
| 70 | |
| 71 | lookup.set(facade, route); |
| 72 | |
| 73 | return facade; |
| 74 | }); |
| 75 | |
| 76 | return { |
| 77 | log, |
| 78 | rimraf, |
| 79 | mkdirp, |
| 80 | copy, |
| 81 | |
| 82 | config, |
| 83 | prerendered, |
| 84 | routes, |
| 85 | |
| 86 | async compress(directory) { |
| 87 | if (!existsSync(directory)) { |
| 88 | return; |
| 89 | } |
| 90 |
no test coverage detected