Conversation
|
I don't think there's ever a good reason for that not to happen — i think it's appropriate for prerendered routes to be excluded from this process. i'd almost go so far as to say that
One idea is to use the same logic we currently use — if Not sure if we need to account for memory and maxDuration options (for Vercel serverless functions) as well. Though I'd probably take the existence of those options as a signal that the route should be a standalone function (to the extent allowed by route ambiguity). Another idea would be to make it explicit, with a property like export const config = {
runtime: 'edge',
group: 'potato'
};I don't love that idea though.
I think it'd probably be enough to have a default config that applies to all routes in the absence of specified config. That would mean that you could (for example) have all your API routes run on Node while all your pages are rendered at the edge: // svelte.config.js
export default {
kit: {
adapter: adapter({
defaultConfig: {
runtime: 'node18',
region: 'us-east-1'
}
})
}
};// src/routes/+layout.server.js
export const config = {
runtime: 'edge',
region: 'all'
}; |
I don't really understand the difference here to be honest. My take:
|
|
@ascorbic wanted to flag this PR with you since it seems likely that |
|
I bumped |
|
|
||
| ## config | ||
|
|
||
| With the concept of [adapters](/docs/adapters), SvelteKit is able to run on a variety of platforms. Each of these might have specific configuration to further tweak the deployment — for example with Vercel or Netlify you could chose to deploy some parts of your app on the edge and others on serverless environments. |
|
@dummdidumm very interesting and promising, could this in the future evolve into allowing to e.g. default deploy to Cloudflare Pages with some routes deploy externally to sthg like fly.io? Just curious, actually kinda unsure how useful this is over having a monorepo auto-deploy using GitHub Actions the main app to CF and separate "functions" to fly or sthg like that. It's probably more likely to stay in userland and/or on a per project basis I guess¿! |
|
Right now |
|
Yea I totally understand, was just curious if this was somehow already planned or sthg 😇 |
|
It doesn't look like this is working, visiting a website deployed on Vercel with the following config gives an error in the function logs. export const config = {
isr: {
expiration: 60,
},
}; |
closes #8383
Open questions:
builder.createEntriesis probably the wrong place for this, because it only contains non-prerendered pages, but you could have prerendered pages which you want to deploy to different runtimes/regions (or am I mistaken here and this doesn't matter since assets always go to some special static cdn? even if, is the API general-purpose enough for this to be ok for all adapters?) - answer: yescreateEntriesis the correct APIcreateManifestandfilterenable thisPlease don't delete this checklist! Before submitting the PR, please make sure you do the following:
Tests
pnpm testand lint the project withpnpm lintandpnpm checkChangesets
pnpm changesetand following the prompts. Changesets that add features should beminorand those that fix bugs should bepatch. Please prefix changeset messages withfeat:,fix:, orchore:.