diff options
author | 2023-08-24 10:38:14 -0400 | |
---|---|---|
committer | 2023-08-24 10:38:14 -0400 | |
commit | f1c610636a7aeed0a272ab2669815135699b413c (patch) | |
tree | d7597c3468197559948f9fe2bafe13a8c3d71106 /packages/integrations/netlify/src/integration-functions.ts | |
parent | 608b2d732d762bf1f7f44a82b278caa8853c8c2f (diff) | |
parent | ebaccf8c1a2f37eacb6e1957c82fdf7f93b62b08 (diff) | |
download | astro-f1c610636a7aeed0a272ab2669815135699b413c.tar.gz astro-f1c610636a7aeed0a272ab2669815135699b413c.tar.zst astro-f1c610636a7aeed0a272ab2669815135699b413c.zip |
Merge pull request #8188 from withastro/next
Astro 3.0
Diffstat (limited to 'packages/integrations/netlify/src/integration-functions.ts')
-rw-r--r-- | packages/integrations/netlify/src/integration-functions.ts | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/packages/integrations/netlify/src/integration-functions.ts b/packages/integrations/netlify/src/integration-functions.ts index a950167e5..b8d56ad65 100644 --- a/packages/integrations/netlify/src/integration-functions.ts +++ b/packages/integrations/netlify/src/integration-functions.ts @@ -8,12 +8,26 @@ import { createRedirects } from './shared.js'; export const NETLIFY_EDGE_MIDDLEWARE_FILE = 'netlify-edge-middleware'; export const ASTRO_LOCALS_HEADER = 'x-astro-locals'; -export function getAdapter(args: Args = {}): AstroAdapter { +export function getAdapter({ functionPerRoute, edgeMiddleware, ...args }: Args): AstroAdapter { return { name: '@astrojs/netlify/functions', serverEntrypoint: '@astrojs/netlify/netlify-functions.js', exports: ['handler'], args, + adapterFeatures: { + functionPerRoute, + edgeMiddleware, + }, + supportedAstroFeatures: { + hybridOutput: 'stable', + staticOutput: 'stable', + serverOutput: 'stable', + assets: { + supportKind: 'stable', + isSharpCompatible: true, + isSquooshCompatible: true, + }, + }, }; } @@ -21,12 +35,16 @@ interface NetlifyFunctionsOptions { dist?: URL; builders?: boolean; binaryMediaTypes?: string[]; + edgeMiddleware?: boolean; + functionPerRoute?: boolean; } function netlifyFunctions({ dist, builders, binaryMediaTypes, + functionPerRoute = false, + edgeMiddleware = false, }: NetlifyFunctionsOptions = {}): AstroIntegration { let _config: AstroConfig; let _entryPoints: Map<RouteData, URL>; @@ -53,7 +71,7 @@ function netlifyFunctions({ _entryPoints = entryPoints; }, 'astro:config:done': ({ config, setAdapter }) => { - setAdapter(getAdapter({ binaryMediaTypes, builders })); + setAdapter(getAdapter({ binaryMediaTypes, builders, functionPerRoute, edgeMiddleware })); _config = config; ssrEntryFile = config.build.serverEntry.replace(/\.m?js/, ''); |