diff options
author | 2022-11-08 21:54:49 +0800 | |
---|---|---|
committer | 2022-11-08 21:54:49 +0800 | |
commit | a79a37cad549b21f91599ff86899e456d9dcc7df (patch) | |
tree | f1fe4c030558e505f06a95864ae780365cefebf4 /packages/integrations/netlify | |
parent | 7f3b0398e0350d268f5d07fa2d2520efed7af9be (diff) | |
download | astro-a79a37cad549b21f91599ff86899e456d9dcc7df.tar.gz astro-a79a37cad549b21f91599ff86899e456d9dcc7df.tar.zst astro-a79a37cad549b21f91599ff86899e456d9dcc7df.zip |
Support environment variables in Cloudflare and Netlify Edge functions (#5301)
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Diffstat (limited to 'packages/integrations/netlify')
4 files changed, 11 insertions, 1 deletions
diff --git a/packages/integrations/netlify/src/integration-edge-functions.ts b/packages/integrations/netlify/src/integration-edge-functions.ts index f9e5f449d..8e16e0595 100644 --- a/packages/integrations/netlify/src/integration-edge-functions.ts +++ b/packages/integrations/netlify/src/integration-edge-functions.ts @@ -14,7 +14,7 @@ interface BuildConfig { const SHIM = `globalThis.process = { argv: [], - env: {}, + env: Deno.env.toObject(), };`; export function getAdapter(): AstroAdapter { diff --git a/packages/integrations/netlify/test/edge-functions/edge-basic.test.ts b/packages/integrations/netlify/test/edge-functions/edge-basic.test.ts index 5cce36c7f..8283fe579 100644 --- a/packages/integrations/netlify/test/edge-functions/edge-basic.test.ts +++ b/packages/integrations/netlify/test/edge-functions/edge-basic.test.ts @@ -4,6 +4,9 @@ import { runBuild } from './test-utils.ts'; import { assertEquals, assert, DOMParser } from './deps.ts'; // @ts-ignore +Deno.env.set('SECRET_STUFF', 'secret'); + +// @ts-ignore Deno.test({ // TODO: debug why build cannot be found in "await import" ignore: true, @@ -23,6 +26,9 @@ Deno.test({ const div = doc.querySelector('#react'); assert(div, 'div exists'); + const envDiv = doc.querySelector('#env'); + assertEquals(envDiv?.innerText, 'secret'); + await close(); }, }); diff --git a/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/astro.config.mjs b/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/astro.config.mjs index a08e8e89d..310088c88 100644 --- a/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/astro.config.mjs +++ b/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/astro.config.mjs @@ -2,6 +2,9 @@ import { defineConfig } from 'astro/config'; import { netlifyEdgeFunctions } from '@astrojs/netlify'; import react from "@astrojs/react"; +// test env var +process.env.SECRET_STUFF = 'secret' + export default defineConfig({ adapter: netlifyEdgeFunctions({ dist: new URL('./dist/', import.meta.url), diff --git a/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/src/pages/index.astro b/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/src/pages/index.astro index 80d2eed75..1247ba8f6 100644 --- a/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/src/pages/index.astro +++ b/packages/integrations/netlify/test/edge-functions/fixtures/edge-basic/src/pages/index.astro @@ -10,5 +10,6 @@ import ReactComponent from '../components/React.jsx'; <li><a href="/two/">Two</a></li> </ul> <ReactComponent /> + <div id="env">{import.meta.env.SECRET_STUFF}</div> </body> </html> |