diff --git a/.changeset/early-pants-unite.md b/.changeset/early-pants-unite.md new file mode 100644 index 000000000000..bec507a4d306 --- /dev/null +++ b/.changeset/early-pants-unite.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +Make `manifest.mimeTypes` part of the public API diff --git a/packages/kit/src/core/dev/plugin.js b/packages/kit/src/core/dev/plugin.js index 1045292bc3d3..aee0b340c97a 100644 --- a/packages/kit/src/core/dev/plugin.js +++ b/packages/kit/src/core/dev/plugin.js @@ -49,8 +49,8 @@ export async function create_plugin(config, cwd) { manifest = { appDir: config.kit.appDir, assets: new Set(manifest_data.assets.map((asset) => asset.file)), + mimeTypes: get_mime_lookup(manifest_data), _: { - mime: get_mime_lookup(manifest_data), entry: { file: `/@fs${runtime}/client/start.js`, css: [], diff --git a/packages/kit/src/core/generate_manifest/index.js b/packages/kit/src/core/generate_manifest/index.js index 09f284a31a50..2a79ccb5a29e 100644 --- a/packages/kit/src/core/generate_manifest/index.js +++ b/packages/kit/src/core/generate_manifest/index.js @@ -58,8 +58,8 @@ export function generate_manifest({ build_data, relative_path, routes, format = return `{ appDir: ${s(build_data.app_dir)}, assets: new Set(${s(assets)}), + mimeTypes: ${s(get_mime_lookup(build_data.manifest_data))}, _: { - mime: ${s(get_mime_lookup(build_data.manifest_data))}, entry: ${s(build_data.client.entry)}, nodes: [ ${Array.from(bundled_nodes.values()).map(node => importer(node.path)).join(',\n\t\t\t\t')} diff --git a/packages/kit/src/runtime/server/page/load_node.js b/packages/kit/src/runtime/server/page/load_node.js index f2d29b3b97ad..1aca3f4eb4da 100644 --- a/packages/kit/src/runtime/server/page/load_node.js +++ b/packages/kit/src/runtime/server/page/load_node.js @@ -155,7 +155,7 @@ export async function load_node({ if (options.read) { const type = is_asset - ? options.manifest._.mime[filename.slice(filename.lastIndexOf('.'))] + ? options.manifest.mimeTypes[filename.slice(filename.lastIndexOf('.'))] : 'text/html'; response = new Response(options.read(file), { diff --git a/packages/kit/types/index.d.ts b/packages/kit/types/index.d.ts index 9e695aecb138..fbae9a124e83 100644 --- a/packages/kit/types/index.d.ts +++ b/packages/kit/types/index.d.ts @@ -241,9 +241,10 @@ export class Server { export interface SSRManifest { appDir: string; assets: Set; + mimeTypes: Record; + /** private fields */ _: { - mime: Record; entry: { file: string; js: string[];