Files
moreminimore-new/node_modules/astro/dist/vite-plugin-adapter-config/index.js

61 lines
1.9 KiB
JavaScript

import { isAstroServerEnvironment } from "../environments.js";
import { fileURLToPath } from "node:url";
import { ASTRO_VITE_ENVIRONMENT_NAMES } from "../core/constants.js";
const VIRTUAL_CLIENT_ID = "virtual:astro:adapter-config/client";
const RESOLVED_VIRTUAL_CLIENT_ID = "\0" + VIRTUAL_CLIENT_ID;
function vitePluginAdapterConfig(settings) {
return {
name: "astro:adapter-config",
config() {
const { adapter } = settings;
if (adapter && adapter.entrypointResolution === "auto" && adapter.serverEntrypoint) {
return {
environments: {
[ASTRO_VITE_ENVIRONMENT_NAMES.ssr]: {
build: {
rollupOptions: {
input: {
index: typeof adapter.serverEntrypoint === "string" ? adapter.serverEntrypoint : fileURLToPath(adapter.serverEntrypoint)
}
}
}
}
}
};
}
},
resolveId: {
filter: {
id: new RegExp(`^${VIRTUAL_CLIENT_ID}$`)
},
handler() {
return RESOLVED_VIRTUAL_CLIENT_ID;
}
},
load: {
filter: {
id: new RegExp(`^${RESOLVED_VIRTUAL_CLIENT_ID}$`)
},
handler() {
if (isAstroServerEnvironment(this.environment)) {
return {
code: `export const internalFetchHeaders = {};`
};
}
const adapter = settings.adapter;
const clientConfig = adapter?.client || {};
let internalFetchHeaders = {};
if (clientConfig.internalFetchHeaders) {
internalFetchHeaders = typeof clientConfig.internalFetchHeaders === "function" ? clientConfig.internalFetchHeaders() : clientConfig.internalFetchHeaders;
}
return {
code: `export const internalFetchHeaders = ${JSON.stringify(internalFetchHeaders)};`
};
}
}
};
}
export {
vitePluginAdapterConfig
};