From 8b05305db35a85bc474fe2bd6f94e20c8a3ac2fe Mon Sep 17 00:00:00 2001
From: Rishi Raj Jain <rjain@llnw.com>
Date: Fri, 13 Jan 2023 22:47:44 +0530
Subject: [PATCH 1/7] Support envPrefix in Astro config

---
 .changeset/twenty-llamas-type.md              | 5 +++++
 packages/astro/src/core/build/static-build.ts | 4 ++--
 packages/astro/src/core/config/schema.ts      | 2 ++
 packages/astro/src/core/create-vite.ts        | 2 +-
 4 files changed, 10 insertions(+), 3 deletions(-)
 create mode 100644 .changeset/twenty-llamas-type.md

diff --git a/.changeset/twenty-llamas-type.md b/.changeset/twenty-llamas-type.md
new file mode 100644
index 000000000000..2962f83a4839
--- /dev/null
+++ b/.changeset/twenty-llamas-type.md
@@ -0,0 +1,5 @@
+---
+'astro': minor
+---
+
+fix envPrefix in Astro.config
diff --git a/packages/astro/src/core/build/static-build.ts b/packages/astro/src/core/build/static-build.ts
index deb8a0b05c95..5420ede6cf63 100644
--- a/packages/astro/src/core/build/static-build.ts
+++ b/packages/astro/src/core/build/static-build.ts
@@ -161,7 +161,7 @@ async function ssrBuild(opts: StaticBuildOptions, internals: BuildInternals, inp
 			// SSR needs to be last
 			ssr && vitePluginSSR(internals, settings.adapter!),
 		],
-		envPrefix: 'PUBLIC_',
+		envPrefix: settings.config.envPrefix ?? 'PUBLIC_',
 		base: settings.config.base,
 	};
 
@@ -230,7 +230,7 @@ async function clientBuild(
 			}),
 			...(viteConfig.plugins || []),
 		],
-		envPrefix: 'PUBLIC_',
+		envPrefix: settings.config.envPrefix ?? 'PUBLIC_',
 		base: settings.config.base,
 	};
 
diff --git a/packages/astro/src/core/config/schema.ts b/packages/astro/src/core/config/schema.ts
index eff69ca4ad84..f8af61cee6b8 100644
--- a/packages/astro/src/core/config/schema.ts
+++ b/packages/astro/src/core/config/schema.ts
@@ -14,6 +14,7 @@ const ASTRO_CONFIG_DEFAULTS: AstroUserConfig & any = {
 	publicDir: './public',
 	outDir: './dist',
 	base: '/',
+	envPrefix: 'PUBLIC_',
 	trailingSlash: 'ignore',
 	build: {
 		format: 'directory',
@@ -62,6 +63,7 @@ export const AstroConfigSchema = z.object({
 		.url()
 		.optional()
 		.transform((val) => (val ? appendForwardSlash(val) : val)),
+	envPrefix: z.string().optional().default(ASTRO_CONFIG_DEFAULTS.envPrefix),
 	base: z.string().optional().default(ASTRO_CONFIG_DEFAULTS.base),
 	trailingSlash: z
 		.union([z.literal('always'), z.literal('never'), z.literal('ignore')])
diff --git a/packages/astro/src/core/create-vite.ts b/packages/astro/src/core/create-vite.ts
index 06c2e8bb05b8..b2158e09a8c1 100644
--- a/packages/astro/src/core/create-vite.ts
+++ b/packages/astro/src/core/create-vite.ts
@@ -110,7 +110,7 @@ export async function createVite(
 		],
 		publicDir: fileURLToPath(settings.config.publicDir),
 		root: fileURLToPath(settings.config.root),
-		envPrefix: 'PUBLIC_',
+		envPrefix: settings.config.envPrefix ?? 'PUBLIC_',
 		define: {
 			'import.meta.env.SITE': settings.config.site
 				? JSON.stringify(settings.config.site)

From 3128564526b39d80dab23c4876942e03630ac95c Mon Sep 17 00:00:00 2001
From: Rishi Raj Jain <rishi18304@iiitd.ac.in>
Date: Fri, 13 Jan 2023 23:26:12 +0530
Subject: [PATCH 2/7] Update packages/astro/src/core/config/schema.ts

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
---
 packages/astro/src/core/config/schema.ts | 1 -
 1 file changed, 1 deletion(-)

diff --git a/packages/astro/src/core/config/schema.ts b/packages/astro/src/core/config/schema.ts
index f8af61cee6b8..064640cb806d 100644
--- a/packages/astro/src/core/config/schema.ts
+++ b/packages/astro/src/core/config/schema.ts
@@ -14,7 +14,6 @@ const ASTRO_CONFIG_DEFAULTS: AstroUserConfig & any = {
 	publicDir: './public',
 	outDir: './dist',
 	base: '/',
-	envPrefix: 'PUBLIC_',
 	trailingSlash: 'ignore',
 	build: {
 		format: 'directory',

From f9e26db8b3b3c7d46965424c1497bf0d8b484297 Mon Sep 17 00:00:00 2001
From: Rishi Raj Jain <rishi18304@iiitd.ac.in>
Date: Fri, 13 Jan 2023 23:26:17 +0530
Subject: [PATCH 3/7] Update packages/astro/src/core/build/static-build.ts

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
---
 packages/astro/src/core/build/static-build.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/astro/src/core/build/static-build.ts b/packages/astro/src/core/build/static-build.ts
index 5420ede6cf63..f07ff50d4873 100644
--- a/packages/astro/src/core/build/static-build.ts
+++ b/packages/astro/src/core/build/static-build.ts
@@ -161,7 +161,7 @@ async function ssrBuild(opts: StaticBuildOptions, internals: BuildInternals, inp
 			// SSR needs to be last
 			ssr && vitePluginSSR(internals, settings.adapter!),
 		],
-		envPrefix: settings.config.envPrefix ?? 'PUBLIC_',
+		envPrefix: viteConfig.envPrefix ?? 'PUBLIC_',
 		base: settings.config.base,
 	};
 

From 3cbfa56e45cef45c49fc0af6cbbf1ed4fb5adfb7 Mon Sep 17 00:00:00 2001
From: Rishi Raj Jain <rishi18304@iiitd.ac.in>
Date: Fri, 13 Jan 2023 23:26:23 +0530
Subject: [PATCH 4/7] Update packages/astro/src/core/build/static-build.ts

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
---
 packages/astro/src/core/build/static-build.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/astro/src/core/build/static-build.ts b/packages/astro/src/core/build/static-build.ts
index f07ff50d4873..561b24372473 100644
--- a/packages/astro/src/core/build/static-build.ts
+++ b/packages/astro/src/core/build/static-build.ts
@@ -230,7 +230,7 @@ async function clientBuild(
 			}),
 			...(viteConfig.plugins || []),
 		],
-		envPrefix: settings.config.envPrefix ?? 'PUBLIC_',
+		envPrefix: viteConfig.envPrefix ?? 'PUBLIC_',
 		base: settings.config.base,
 	};
 

From 85a2e25e19ad0ca5c38842af502b28c9a9f5681c Mon Sep 17 00:00:00 2001
From: Rishi Raj Jain <rishi18304@iiitd.ac.in>
Date: Fri, 13 Jan 2023 23:26:31 +0530
Subject: [PATCH 5/7] Update packages/astro/src/core/config/schema.ts

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
---
 packages/astro/src/core/config/schema.ts | 1 -
 1 file changed, 1 deletion(-)

diff --git a/packages/astro/src/core/config/schema.ts b/packages/astro/src/core/config/schema.ts
index 064640cb806d..eff69ca4ad84 100644
--- a/packages/astro/src/core/config/schema.ts
+++ b/packages/astro/src/core/config/schema.ts
@@ -62,7 +62,6 @@ export const AstroConfigSchema = z.object({
 		.url()
 		.optional()
 		.transform((val) => (val ? appendForwardSlash(val) : val)),
-	envPrefix: z.string().optional().default(ASTRO_CONFIG_DEFAULTS.envPrefix),
 	base: z.string().optional().default(ASTRO_CONFIG_DEFAULTS.base),
 	trailingSlash: z
 		.union([z.literal('always'), z.literal('never'), z.literal('ignore')])

From 30ea9cc10b80a4960739da971549387bc337c0ac Mon Sep 17 00:00:00 2001
From: Rishi Raj Jain <rishi18304@iiitd.ac.in>
Date: Fri, 13 Jan 2023 23:26:43 +0530
Subject: [PATCH 6/7] Update packages/astro/src/core/create-vite.ts

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
---
 packages/astro/src/core/create-vite.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/astro/src/core/create-vite.ts b/packages/astro/src/core/create-vite.ts
index b2158e09a8c1..7f3c18824b38 100644
--- a/packages/astro/src/core/create-vite.ts
+++ b/packages/astro/src/core/create-vite.ts
@@ -110,7 +110,7 @@ export async function createVite(
 		],
 		publicDir: fileURLToPath(settings.config.publicDir),
 		root: fileURLToPath(settings.config.root),
-		envPrefix: settings.config.envPrefix ?? 'PUBLIC_',
+		envPrefix: settings.config.vite?.envPrefix ?? 'PUBLIC_',
 		define: {
 			'import.meta.env.SITE': settings.config.site
 				? JSON.stringify(settings.config.site)

From f2b4b53792ede73d9b94ebcadf61e1b0853c04bb Mon Sep 17 00:00:00 2001
From: Nate Moore <natemoo-re@users.noreply.github.com>
Date: Fri, 13 Jan 2023 12:53:53 -0600
Subject: [PATCH 7/7] Update .changeset/twenty-llamas-type.md

---
 .changeset/twenty-llamas-type.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.changeset/twenty-llamas-type.md b/.changeset/twenty-llamas-type.md
index 2962f83a4839..34b74888dbd9 100644
--- a/.changeset/twenty-llamas-type.md
+++ b/.changeset/twenty-llamas-type.md
@@ -1,5 +1,5 @@
 ---
-'astro': minor
+'astro': patch
 ---
 
-fix envPrefix in Astro.config
+Respect `vite.envPrefix` if provided