summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Erika <3019731+Princesseuh@users.noreply.github.com> 2023-08-29 17:54:24 +0200
committerGravatar GitHub <noreply@github.com> 2023-08-29 17:54:24 +0200
commit8450379db854fb1eaa9f38f21d65db240bc616cd (patch)
tree41e2302306b8be656aa129328f35ac94a06f1abc
parenta78175c1b86031ecdf946893b7b73968b279a43c (diff)
downloadastro-8450379db854fb1eaa9f38f21d65db240bc616cd.tar.gz
astro-8450379db854fb1eaa9f38f21d65db240bc616cd.tar.zst
astro-8450379db854fb1eaa9f38f21d65db240bc616cd.zip
fix: settings requiring service to be set when settings domains or remotePatterns (#8266)
-rw-r--r--.changeset/many-impalas-sit.md5
-rw-r--r--packages/astro/src/core/config/schema.ts27
2 files changed, 21 insertions, 11 deletions
diff --git a/.changeset/many-impalas-sit.md b/.changeset/many-impalas-sit.md
new file mode 100644
index 000000000..ad48de4f3
--- /dev/null
+++ b/.changeset/many-impalas-sit.md
@@ -0,0 +1,5 @@
+---
+'astro': patch
+---
+
+Fix `image.service` requiring to be set manually when `image.domains` or `image.remotePatterns` was assigned a value
diff --git a/packages/astro/src/core/config/schema.ts b/packages/astro/src/core/config/schema.ts
index 21d153143..46ed2a01f 100644
--- a/packages/astro/src/core/config/schema.ts
+++ b/packages/astro/src/core/config/schema.ts
@@ -29,6 +29,9 @@ const ASTRO_CONFIG_DEFAULTS = {
split: false,
excludeMiddleware: false,
},
+ image: {
+ service: { entrypoint: 'astro/assets/services/sharp', config: {} },
+ },
compressHTML: true,
server: {
host: false,
@@ -180,14 +183,18 @@ export const AstroConfigSchema = z.object({
.default(ASTRO_CONFIG_DEFAULTS.redirects),
image: z
.object({
- service: z.object({
- entrypoint: z.union([
- z.literal('astro/assets/services/sharp'),
- z.literal('astro/assets/services/squoosh'),
- z.string(),
- ]),
- config: z.record(z.any()).default({}),
- }),
+ service: z
+ .object({
+ entrypoint: z
+ .union([
+ z.literal('astro/assets/services/sharp'),
+ z.literal('astro/assets/services/squoosh'),
+ z.string(),
+ ])
+ .default(ASTRO_CONFIG_DEFAULTS.image.service.entrypoint),
+ config: z.record(z.any()).default({}),
+ })
+ .default(ASTRO_CONFIG_DEFAULTS.image.service),
domains: z.array(z.string()).default([]),
remotePatterns: z
.array(
@@ -213,9 +220,7 @@ export const AstroConfigSchema = z.object({
)
.default([]),
})
- .default({
- service: { entrypoint: 'astro/assets/services/sharp', config: {} },
- }),
+ .default(ASTRO_CONFIG_DEFAULTS.image),
markdown: z
.object({
drafts: z.boolean().default(false),