diff options
author | 2023-07-28 10:11:13 +0100 | |
---|---|---|
committer | 2023-08-08 11:02:00 +0100 | |
commit | 80f1494cdaf72e58a420adb4f7c712d4089e1923 (patch) | |
tree | b6f8df36614d3fbc5f54bff25ff6daf49365f56f /packages/integrations/netlify/src/integration-functions.ts | |
parent | 036388f66dab68ad54b895ed86f9176958dd83c8 (diff) | |
download | astro-80f1494cdaf72e58a420adb4f7c712d4089e1923.tar.gz astro-80f1494cdaf72e58a420adb4f7c712d4089e1923.tar.zst astro-80f1494cdaf72e58a420adb4f7c712d4089e1923.zip |
feat: adapter features, deprecate astro configs (#7839)
Diffstat (limited to 'packages/integrations/netlify/src/integration-functions.ts')
-rw-r--r-- | packages/integrations/netlify/src/integration-functions.ts | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/packages/integrations/netlify/src/integration-functions.ts b/packages/integrations/netlify/src/integration-functions.ts index a950167e5..3b10e096c 100644 --- a/packages/integrations/netlify/src/integration-functions.ts +++ b/packages/integrations/netlify/src/integration-functions.ts @@ -8,12 +8,16 @@ 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, + }, }; } @@ -21,12 +25,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 +61,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/, ''); |