fix: Add nixpacks configuration for Astro deployment

This commit is contained in:
Kunthawat Greethong
2026-03-02 12:35:14 +07:00
parent ede8e32591
commit 5a2fb71c40
10118 changed files with 1500179 additions and 24 deletions

View File

@@ -0,0 +1,3 @@
import type { Plugin as VitePlugin } from 'vite';
import type { AstroSettings } from '../types/astro.js';
export declare function vitePluginAdapterConfig(settings: AstroSettings): VitePlugin;

View File

@@ -0,0 +1,33 @@
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",
resolveId(id) {
if (id === VIRTUAL_CLIENT_ID) {
return RESOLVED_VIRTUAL_CLIENT_ID;
}
},
load(id, options) {
if (id === RESOLVED_VIRTUAL_CLIENT_ID) {
if (options?.ssr) {
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
};