MCPcopy
hub / github.com/sveltejs/kit / create_builder

Function create_builder

packages/kit/src/core/adapt/builder.js:33–234  ·  view source on GitHub ↗
({
	config,
	build_data,
	server_metadata,
	route_data,
	prerendered,
	prerender_map,
	log,
	vite_config
})

Source from the content-addressed store, hash-verified

31 * @returns {import('@sveltejs/kit').Builder}
32 */
33export 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

Callers 2

adaptFunction · 0.90
builder.spec.jsFile · 0.90

Calls 2

get_route_segmentsFunction · 0.90
setMethod · 0.80

Tested by

no test coverage detected