summaryrefslogtreecommitdiff
path: root/packages/integrations/netlify/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/netlify/src')
-rw-r--r--packages/integrations/netlify/src/index.ts1
-rw-r--r--packages/integrations/netlify/src/integration-edge-functions.ts98
-rw-r--r--packages/integrations/netlify/src/netlify-edge-functions.ts34
3 files changed, 0 insertions, 133 deletions
diff --git a/packages/integrations/netlify/src/index.ts b/packages/integrations/netlify/src/index.ts
index 510e560f1..a374020f9 100644
--- a/packages/integrations/netlify/src/index.ts
+++ b/packages/integrations/netlify/src/index.ts
@@ -1,3 +1,2 @@
-export { netlifyEdgeFunctions } from './integration-edge-functions.js';
export { netlifyFunctions as default, netlifyFunctions } from './integration-functions.js';
export { netlifyStatic } from './integration-static.js';
diff --git a/packages/integrations/netlify/src/integration-edge-functions.ts b/packages/integrations/netlify/src/integration-edge-functions.ts
deleted file mode 100644
index 4e8bc6aa4..000000000
--- a/packages/integrations/netlify/src/integration-edge-functions.ts
+++ /dev/null
@@ -1,98 +0,0 @@
-import type { AstroAdapter, AstroConfig, AstroIntegration, RouteData } from 'astro';
-import {
- bundleServerEntry,
- createEdgeManifest,
- createRedirects,
- type NetlifyEdgeFunctionsOptions,
-} from './shared.js';
-
-export function getAdapter(): AstroAdapter {
- return {
- name: '@astrojs/netlify/edge-functions',
- serverEntrypoint: '@astrojs/netlify/netlify-edge-functions.js',
- exports: ['default'],
- supportedAstroFeatures: {
- hybridOutput: 'stable',
- staticOutput: 'stable',
- serverOutput: 'stable',
- assets: {
- supportKind: 'stable',
- isSharpCompatible: false,
- isSquooshCompatible: false,
- },
- },
- };
-}
-
-export function netlifyEdgeFunctions({ dist }: NetlifyEdgeFunctionsOptions = {}): AstroIntegration {
- let _config: AstroConfig;
- let entryFile: string;
- let _buildConfig: AstroConfig['build'];
- let _vite: any;
- return {
- name: '@astrojs/netlify/edge-functions',
- hooks: {
- 'astro:config:setup': ({ config, updateConfig }) => {
- const outDir = dist ?? new URL('./dist/', config.root);
- updateConfig({
- outDir,
- build: {
- client: outDir,
- server: new URL('./.netlify/edge-functions/', config.root),
- // Netlify expects .js and will always interpret as ESM
- serverEntry: 'entry.js',
- },
- });
- },
- 'astro:config:done': ({ config, setAdapter }) => {
- setAdapter(getAdapter());
- _config = config;
- _buildConfig = config.build;
- entryFile = config.build.serverEntry.replace(/\.m?js/, '');
-
- if (config.output === 'static') {
- console.warn(
- `[@astrojs/netlify] \`output: "server"\` or \`output: "hybrid"\` is required to use this adapter.`
- );
- console.warn(
- `[@astrojs/netlify] Otherwise, this adapter is not required to deploy a static site to Netlify.`
- );
- }
- },
- 'astro:build:setup': ({ vite, target }) => {
- if (target === 'server') {
- _vite = vite;
- vite.resolve = vite.resolve || {};
- vite.resolve.alias = vite.resolve.alias || {};
-
- const aliases = [{ find: 'react-dom/server', replacement: 'react-dom/server.browser' }];
-
- if (Array.isArray(vite.resolve.alias)) {
- vite.resolve.alias = [...vite.resolve.alias, ...aliases];
- } else {
- for (const alias of aliases) {
- (vite.resolve.alias as Record<string, string>)[alias.find] = alias.replacement;
- }
- }
-
- vite.ssr = {
- noExternal: true,
- };
- }
- },
- 'astro:build:done': async ({ routes, dir }) => {
- const entryUrl = new URL(_buildConfig.serverEntry, _buildConfig.server);
- await bundleServerEntry(entryUrl, _buildConfig.server, _vite);
- await createEdgeManifest(routes, entryFile, _config.root);
- const dynamicTarget = `/.netlify/edge-functions/${entryFile}`;
- const map: [RouteData, string][] = routes.map((route) => {
- return [route, dynamicTarget];
- });
- const routeToDynamicTargetMap = new Map(Array.from(map));
- await createRedirects(_config, routeToDynamicTargetMap, dir);
- },
- },
- };
-}
-
-export { netlifyEdgeFunctions as default };
diff --git a/packages/integrations/netlify/src/netlify-edge-functions.ts b/packages/integrations/netlify/src/netlify-edge-functions.ts
deleted file mode 100644
index 5e95035a6..000000000
--- a/packages/integrations/netlify/src/netlify-edge-functions.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import type { Context } from '@netlify/edge-functions';
-import type { SSRManifest } from 'astro';
-import { App } from 'astro/app';
-
-const clientAddressSymbol = Symbol.for('astro.clientAddress');
-
-export function createExports(manifest: SSRManifest) {
- const app = new App(manifest);
-
- const handler = async (request: Request, context: Context): Promise<Response | void> => {
- const url = new URL(request.url);
-
- // If this matches a static asset, just return and Netlify will forward it
- // to its static asset handler.
- if (manifest.assets.has(url.pathname)) {
- return;
- }
- const routeData = app.match(request);
- const ip =
- request.headers.get('x-nf-client-connection-ip') ||
- context?.ip ||
- (context as any)?.remoteAddr?.hostname;
- Reflect.set(request, clientAddressSymbol, ip);
- const response = await app.render(request, routeData);
- if (app.setCookieHeaders) {
- for (const setCookieHeader of app.setCookieHeaders(response)) {
- response.headers.append('Set-Cookie', setCookieHeader);
- }
- }
- return response;
- };
-
- return { default: handler };
-}
d decode when getting * Add test * Add comment 2025-03-25fix: update vite (#13505)Gravatar Emanuele Stoppa 16-104/+123 * fix: update vite * use dedupe 2025-03-24[ci] formatGravatar Emanuele Stoppa 1-1/+1 2025-03-24fix(app): call renderer when routes don't match (#13483)Gravatar Emanuele Stoppa 4-1/+30 * fix(app): call renderer when routes don't match * chore: pick 404 exactly * chore: pick route differently Co-authored-by: ascorbic <213306+ascorbic@users.noreply.github.com> 2025-03-21[ci] release (#13460)astro@5.5.4@astrojs/vercel@8.1.3@astrojs/tailwind@6.0.1@astrojs/svelte@7.0.7@astrojs/preact@4.0.6@astrojs/cloudflare@12.3.0Gravatar Houston (Bot) 45-118/+119 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> 2025-03-21fix: better error handling on Stackblitz (#13484)Gravatar Matt Kane 2-0/+12 * fix: better error handling on Stackblitz * Remove unused imports 2025-03-21Repair server islands to work with client router (#13481)Gravatar Martin Trapp 2-6/+11 * rerun server island scripts when used with client router 2025-03-21fix: generate correct external redirects (#13480)Gravatar Matt Kane 3-4/+21 2025-03-21fix(deps): update all non-major dependencies (#13440)Gravatar renovate[bot] 24-435/+436 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 2025-03-21[ci] formatGravatar Florian Lefebvre 2-2/+2 2025-03-21feat(cloudflare): global env (#13444)Gravatar Florian Lefebvre 6-47/+130 * feat(cloudflare): global env * fix: test 2025-03-21fix(deps): update astro client runtimes (#13474)Gravatar renovate[bot] 7-345/+348 * fix(deps): update astro client runtimes * fix: pin vite-plugin-vue --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev> 2025-03-20Small change to linking style (#13472)Gravatar Chris Swithinbank 1-1/+1 Co-authored-by: sarah11918 <5098874+sarah11918@users.noreply.github.com> 2025-03-20Add deprecation notice to Tailwind integration README (#13471)Gravatar Chris Swithinbank 2-6/+11 * Add deprecation notice to Tailwind integration README * Add changeset * Use `[docs]` link style again * update link to more direct content --------- Co-authored-by: Sarah Rainsberger <5098874+sarah11918@users.noreply.github.com> Co-authored-by: anaxite <89195061+anaxite@users.noreply.github.com> Co-authored-by: sarah11918 <5098874+sarah11918@users.noreply.github.com> Co-authored-by: Adammatthiesen <30383579+Adammatthiesen@users.noreply.github.com> Co-authored-by: HiDeoo <494699+HiDeoo@users.noreply.github.com> 2025-03-20[ci] formatGravatar Matt Kane 2-2/+1 2025-03-20fix(preact,svelte): empty target container before rendering `client:only` ↵Gravatar Matt Kane 5-5/+41 island (#13470) * fix(preact,svelte): empty target container before rendering `client:only` island * Remove log 2025-03-20chore(renovate): group updates (#13466)Gravatar Emanuele Stoppa 1-11/+58 2025-03-19[ci] formatGravatar Matt Kane 1-3/+2 2025-03-19fix: don't attempt to move files after build with base (#13463)Gravatar Matt Kane 8-13/+66 * fix: don't attempt to move files after build with base * Remove console * Reword changeset * Remove unused import 2025-03-19[ci] formatGravatar Emanuele Stoppa 2-6/+18 2025-03-19fix(routing): don't add site to static redirects (#13447)Gravatar Emanuele Stoppa 7-10/+49 * fix(routing): don't add site to static redirects * chore: fix canonical tag * chore: fix canonical tag Co-authored-by: ascorbic <213306+ascorbic@users.noreply.github.com> 2025-03-18[ci] formatGravatar Matt Kane 2-2/+1 2025-03-18fix: set correct statusText for custom error pages (#13457)Gravatar Matt Kane 4-2/+19 * fix: set correct statusText for custom error pages * Set conditionally 2025-03-18chore(deps): update github-actions (#13459)Gravatar renovate[bot] 9-13/+13 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 2025-03-18chore(deps): update github-actions (#13458)Gravatar renovate[bot] 1-5/+5 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 2025-03-18[ci] formatGravatar Emanuele Stoppa 1-1/+3 2025-03-18chore: remove deprecated package (#13455)Gravatar Emanuele Stoppa 3-23/+16 2025-03-18fix(deps): update dependency miniflare to v4 (#13441)Gravatar renovate[bot] 2-31/+31 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>