Skip to content

Commit 07dbbc2

Browse files
committed
fix: apply defaults to sanity config
resolves #1059
1 parent b8d5ec3 commit 07dbbc2

File tree

6 files changed

+16
-15
lines changed

6 files changed

+16
-15
lines changed

src/runtime/composables/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export const useSanity = (client = 'default'): SanityHelper => {
3838
nuxtApp._sanity = nuxtApp._sanity || {}
3939

4040
const $config = useRuntimeConfig()
41-
const { additionalClients = {}, ...options } = defu($config.sanity, $config.public.sanity)
41+
const { additionalClients = {}, ...options } = import.meta.client ? $config.public.sanity : defu($config.sanity, $config.public.sanity)
4242

4343
if (!options.disableSmartCdn && nuxtApp.$preview) {
4444
options.useCdn = false

src/runtime/composables/visual-editing.ts

+2-6
Original file line numberDiff line numberDiff line change
@@ -162,12 +162,8 @@ export const useSanity = (client = 'default'): SanityHelper => {
162162
nuxtApp._sanity = nuxtApp._sanity || {}
163163

164164
const $config = useRuntimeConfig()
165-
const { additionalClients = {}, visualEditing, ...options } = import.meta.client
166-
? $config.public.sanity
167-
: defu(
168-
$config.sanity,
169-
$config.public.sanity,
170-
)
165+
const sanityConfig = import.meta.client ? $config.public.sanity : defu($config.sanity, $config.public.sanity)
166+
const { additionalClients = {}, visualEditing, ...options } = sanityConfig
171167

172168
if (client === 'default') {
173169
nuxtApp._sanity.default = createSanityHelper({

src/runtime/plugins/visual-editing.server.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1+
import defu from 'defu'
12
import { useSanityVisualEditingState } from '../composables/visual-editing'
23
import { defineNuxtPlugin, useRuntimeConfig, useCookie } from '#imports'
34

45
export default defineNuxtPlugin(() => {
56
const visualEditingState = useSanityVisualEditingState()
67

78
const $config = useRuntimeConfig()
8-
const { visualEditing } = $config.sanity
9+
const { visualEditing } = import.meta.client ? $config.public.sanity : defu($config.sanity, $config.public.sanity)
910

1011
// If preview mode is _configured_ (i.e. `visualEditing.previewMode` is set)
1112
// check the cookie value against `previewModeId` to determine if visual

src/runtime/server/routes/preview/enable.ts

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
import { createError, defineEventHandler, getRequestURL, setCookie, sendRedirect } from 'h3'
22
import { validatePreviewUrl } from '@sanity/preview-url-secret'
3+
import defu from 'defu'
34

45
import { useSanity, useRuntimeConfig } from '#imports'
56

67
export default defineEventHandler(async (event) => {
7-
const $config = useRuntimeConfig()
8+
const $config = useRuntimeConfig(event)
89
const sanity = useSanity()
910

11+
const sanityConfig = import.meta.client ? $config.public.sanity : defu($config.sanity, $config.public.sanity)
12+
1013
const client = sanity.client.withConfig({
11-
token: $config.sanity.visualEditing!.token,
14+
token: sanityConfig.visualEditing!.token,
1215
})
1316

1417
const { isValid, redirectTo = '/' } = await validatePreviewUrl(
@@ -23,7 +26,7 @@ export default defineEventHandler(async (event) => {
2326
})
2427
}
2528

26-
setCookie(event, '__sanity_preview', $config.sanity.visualEditing!.previewModeId, {
29+
setCookie(event, '__sanity_preview', sanityConfig.visualEditing!.previewModeId, {
2730
httpOnly: true,
2831
sameSite: !import.meta.dev ? 'none' : 'lax',
2932
secure: !import.meta.dev,

src/runtime/server/routes/proxy.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
import { createError, defineEventHandler, readBody, getCookie } from 'h3'
2+
import defu from 'defu'
23

34
import { useSanity, useRuntimeConfig } from '#imports'
45

56
export default defineEventHandler(async (event) => {
6-
const $config = useRuntimeConfig()
7+
const $config = useRuntimeConfig(event)
78
const sanity = useSanity()
89

910
const { query, params = {}, options } = await readBody(event)
1011
const previewModeCookie = getCookie(event, '__sanity_preview')
1112

12-
const { visualEditing } = $config.sanity
13+
const { visualEditing } = import.meta.client ? $config.public.sanity : defu($config.sanity, $config.public.sanity)
1314

1415
if (!visualEditing || previewModeCookie !== visualEditing.previewModeId) {
1516
throw createError({

src/runtime/server/utils/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ export const useSanity = (client = 'default'): SanityHelper => {
2929
return clients[client]
3030
}
3131

32+
const sanityConfig = import.meta.client ? $config.public.sanity : defu($config.sanity, $config.public.sanity)
3233
const {
3334
additionalClients = {},
34-
3535
visualEditing,
3636
...options
37-
} = defu($config.sanity, $config.public.sanity)
37+
} = sanityConfig
3838

3939
if (client === 'default') {
4040
clients.default = createSanityHelper(options as ClientConfig) // @todo casting

0 commit comments

Comments
 (0)