chore: fix build dependencies and frontend config
- Bump Docker SDK, downgrade otel deps for Go 1.24 compatibility - Fix duplicate i18n import in InstanceCard - Fix SvelteKit prerender/strict config for SPA build - Update Dockerfile with GOTOOLCHAIN=auto - Generate package-lock.json and go.sum WIP: still resolving Go 1.24 vs otel transitive dep versions
This commit is contained in:
+76
@@ -0,0 +1,76 @@
|
||||
import fs from 'node:fs';
|
||||
import process from 'node:process';
|
||||
|
||||
/**
|
||||
* @typedef {{
|
||||
* name: string;
|
||||
* test: () => boolean;
|
||||
* defaults: import('./index.js').AdapterOptions;
|
||||
* done: (builder: import('./internal.js').Builder2_0_0) => void;
|
||||
* }}
|
||||
* Platform */
|
||||
|
||||
// This function is duplicated in adapter-vercel
|
||||
/** @param {import('./internal.js').Builder2_0_0} builder */
|
||||
function static_vercel_config(builder) {
|
||||
/** @type {any[]} */
|
||||
const prerendered_redirects = [];
|
||||
|
||||
/** @type {Record<string, { path: string }>} */
|
||||
const overrides = {};
|
||||
|
||||
for (const [src, redirect] of builder.prerendered.redirects) {
|
||||
prerendered_redirects.push({
|
||||
src,
|
||||
headers: {
|
||||
Location: redirect.location
|
||||
},
|
||||
status: redirect.status
|
||||
});
|
||||
}
|
||||
|
||||
for (const [path, page] of builder.prerendered.pages) {
|
||||
if (path.endsWith('/') && path !== '/') {
|
||||
prerendered_redirects.push(
|
||||
{ src: path, dest: path.slice(0, -1) },
|
||||
{ src: path.slice(0, -1), status: 308, headers: { Location: path } }
|
||||
);
|
||||
|
||||
overrides[page.file] = { path: path.slice(1, -1) };
|
||||
} else {
|
||||
overrides[page.file] = { path: path.slice(1) };
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
version: 3,
|
||||
routes: [
|
||||
...prerendered_redirects,
|
||||
{
|
||||
src: `/${builder.getAppPath()}/immutable/.+`,
|
||||
headers: {
|
||||
'cache-control': 'public, immutable, max-age=31536000'
|
||||
}
|
||||
},
|
||||
{
|
||||
handle: 'filesystem'
|
||||
}
|
||||
],
|
||||
overrides
|
||||
};
|
||||
}
|
||||
|
||||
/** @type {Platform[]} */
|
||||
export const platforms = [
|
||||
{
|
||||
name: 'Vercel',
|
||||
test: () => !!process.env.VERCEL,
|
||||
defaults: {
|
||||
pages: '.vercel/output/static'
|
||||
},
|
||||
done: (builder) => {
|
||||
const config = static_vercel_config(builder);
|
||||
fs.writeFileSync('.vercel/output/config.json', JSON.stringify(config, null, ' '));
|
||||
}
|
||||
}
|
||||
];
|
||||
Reference in New Issue
Block a user