{"record":{"id":"a781a104675f8e6a","repo":"sveltejs/kit","slug":"the-generatemanifest-adapter-api-has-been-remove","errorCode":null,"errorMessage":"The `generateManifest` adapter API has been removed — use `generateServerInstance` or `builder.manifest` instead. You may need to update your adapter","messagePattern":"The `generateManifest` adapter API has been removed — use `generateServerInstance` or `builder\\.manifest` instead\\. You may need to update your adapter","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/kit/src/core/adapt/builder.js","lineNumber":223,"sourceCode":"\t\t\tconst variables = explicit_env_config ?? {};\n\n\t\t\t/** @type {Record<string, StandardSchemaV1.Issue[]>} */\n\t\t\tconst issues = {};\n\n\t\t\tfor (const [name, config] of Object.entries(variables)) {\n\t\t\t\tif (config.static || !config.public) continue;\n\t\t\t\tvalues[name] = validate(variables, env[name], name, issues);\n\t\t\t}\n\n\t\t\thandle_issues(issues);\n\n\t\t\tconst payload = devalue.uneval(values);\n\n\t\t\twrite(`${dest}/env.js`, `export const env=${payload}`);\n\t\t},\n\n\t\tgenerateManifest() {\n\t\t\tthrow new Error(\n\t\t\t\t'The `generateManifest` adapter API has been removed — use `generateServerInstance` or `builder.manifest` instead. You may need to update your adapter'\n\t\t\t);\n\t\t},\n\n\t\tgenerateServerInstance(dest, { routes: subset, serverDirectory } = {}) {\n\t\t\tconst relative = relative_path(\n\t\t\t\tpath.dirname(dest),\n\t\t\t\tserverDirectory ?? this.getServerDirectory()\n\t\t\t);\n\t\t\twrite(\n\t\t\t\tdest,\n\t\t\t\tdedent`\n\t\t\t\t\timport { Server } from '${relative}/index.js';\n\t\t\t\t\tconst manifest = ${generate_manifest({\n\t\t\t\t\t\tbuild_data,\n\t\t\t\t\t\tprerendered: prerendered.paths,\n\t\t\t\t\t\trelative_path: relative,\n\t\t\t\t\t\troutes: subset","sourceCodeStart":205,"sourceCodeEnd":241,"githubUrl":"https://github.com/sveltejs/kit/blob/03f1687fe612ce3d2d9131139b5b188d9cf90c64/packages/kit/src/core/adapt/builder.js#L205-L241","documentation":"SvelteKit removed the `generateManifest` Builder API from the adapt pipeline. Builders (adapters) still calling the old method hit a stub that throws, directing them to the replacement APIs `generateServerInstance` or `builder.manifest`.","triggerScenarios":"An adapter's `adapt` implementation calls `builder.generateManifest(...)` during `pnpm build` / adaptation.","commonSituations":"Using an outdated third-party adapter written against the pre-removal Builder API after upgrading SvelteKit.","solutions":["Update the adapter package to a version supporting the new Builder API","Replace `generateManifest` usage in custom adapter code with `generateServerInstance` or `builder.manifest`","Pin SvelteKit to an older version only as a temporary stopgap"],"exampleFix":"// before (adapter)\nconst manifest = builder.generateManifest(routes);\n// after\nconst instance = builder.generateServerInstance(dest, { routes, serverDirectory });","handlingStrategy":"try-catch","validationCode":"// custom adapter: feature-detect before calling\nif (typeof builder.generateManifest === 'function' && builder.generateManifest.toString().includes('has been removed')) {\n  throw new Error('Update adapter: use generateServerInstance or builder.manifest');\n}","typeGuard":null,"tryCatchPattern":"try {\n  await adapter.adapt(builder);\n} catch (e) {\n  if (String(e.message).includes('generateManifest')) {\n    console.error('Your adapter uses a removed SvelteKit API — upgrade it');\n  }\n  throw e;\n}","preventionTips":["Keep adapters updated in lockstep with SvelteKit","Read SvelteKit changelogs for removed Builder APIs before upgrading","Feature-detect Builder methods in custom adapters"],"tags":["sveltekit","adapter","breaking-change","api-removed"],"backgroundTag":"removed-api-usage","analyzedSha":"03f1687fe612ce3d2d9131139b5b188d9cf90c64","analyzedAt":"2026-09-02T02:01:50.504Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T06:17:21.866Z"}