{"version":3,"sources":["jsdelivr-header.js","/npm/@devite/nuxt-sanity@2.17.0/dist/module.mjs"],"names":[],"mappings":"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","file":"/npm/@devite/nuxt-sanity@2.17.0/dist/module.mjs","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@devite/nuxt-sanity@2.17.0/dist/module.mjs\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { defineNuxtModule, createResolver, addPlugin, addServerHandler, addImports, addServerImports, addComponentsDir } from '@nuxt/kit';\nimport defu from 'defu';\nimport { randomBytes } from 'node:crypto';\n\nconst name = \"@devite/nuxt-sanity\";\nconst version = \"2.17.0\";\n\nconst CONFIG_KEY = \"sanity\";\nconst module$1 = defineNuxtModule({\n  meta: {\n    name,\n    version,\n    configKey: CONFIG_KEY\n  },\n  defaults: {},\n  moduleDependencies: {\n    \"@nuxt/image\": { version: \">=1.11.0\", optional: false }\n  },\n  async setup(options, nuxt) {\n    const { resolve } = createResolver(import.meta.url);\n    const $config = nuxt.options.runtimeConfig;\n    const moduleConfig = {\n      projectId: options.projectId,\n      dataset: options.dataset || \"production\",\n      minimalClient: options.minimalClient !== false ? defu(options.minimalClient, {\n        cachingEnabled: true,\n        cacheClientBaseUrl: \"http://localhost:3000\",\n        cacheServerBaseUrl: \"http://localhost:3000\",\n        assetEndpoint: \"/_sanity/cache/asset\",\n        queryEndpoint: \"/_sanity/cache/query\",\n        webhookEndpoint: \"/_sanity/cache/invalidate\"\n      }) : false,\n      useCdn: options.useCdn || true,\n      apiVersion: options.apiVersion || \"2024-08-08\",\n      visualEditing: options.visualEditing || null\n    };\n    nuxt.options.build.transpile.push(\"@sanity/core-loader\");\n    if (moduleConfig.visualEditing) {\n      const previewMode = moduleConfig.visualEditing.previewMode !== false;\n      const visualEditingConfig = defu(moduleConfig.visualEditing, {\n        mode: \"live-visual-editing\",\n        previewMode: previewMode ? defu(moduleConfig.visualEditing.previewMode, {\n          enableEndpoint: \"/_sanity/preview/enable\",\n          disableEndpoint: \"/_sanity/preview/disable\"\n        }) : false,\n        proxyEndpoint: \"/_sanity/fetch\",\n        stega: true,\n        zIndex: 100\n      });\n      if (!moduleConfig.visualEditing.token?.length)\n        console.warn('Visual editing requires a token with \"read\" access');\n      if (!visualEditingConfig.studioUrl)\n        console.warn(\"Visual editing requires a studio URL\");\n      if (visualEditingConfig.mode === \"live-visual-editing\" && !visualEditingConfig.stega)\n        console.warn('Visual Editing requires \"stega\" to be enabled in \"live-visual-editing\" mode');\n      nuxt.options.build.transpile.push(\"@sanity/preview-url-secret\", \"async-cache-dedupe\");\n      nuxt.options.vite.resolve = defu(nuxt.options.vite.resolve, { dedupe: [\"@sanity/client\"] });\n      nuxt.options.vite.optimizeDeps = defu(nuxt.options.vite.optimizeDeps, {\n        include: [\n          `${name} > @sanity/visual-editing > @sanity/mutate > lodash/groupBy.js`,\n          `${name} > @sanity/visual-editing > @sanity/mutate > lodash/startCase.js`,\n          `${name} > @sanity/visual-editing > react`,\n          `${name} > @sanity/visual-editing > react/jsx-runtime`,\n          `${name} > @sanity/visual-editing > react-is`,\n          `${name} > @sanity/visual-editing > react-dom`,\n          `${name} > @sanity/visual-editing > react-dom/client`,\n          `${name} > @sanity/visual-editing > react-compiler-runtime`,\n          `${name} > @sanity/visual-editing > styled-components`,\n          \"@sanity/client\"\n        ]\n      });\n      addPlugin({ mode: \"client\", src: resolve(\"runtime/plugins/visual-editing.client\") });\n      addPlugin({ mode: \"server\", src: resolve(\"runtime/plugins/visual-editing.server\") });\n      if (typeof visualEditingConfig.previewMode === \"object\") {\n        addServerHandler({\n          method: \"get\",\n          route: visualEditingConfig.previewMode.enableEndpoint,\n          handler: resolve(\"runtime/server/routes/preview/enable\")\n        });\n        addServerHandler({\n          method: \"get\",\n          route: visualEditingConfig.previewMode.disableEndpoint,\n          handler: resolve(\"runtime/server/routes/preview/disable\")\n        });\n      }\n      addServerHandler({\n        method: \"post\",\n        route: visualEditingConfig.proxyEndpoint,\n        handler: resolve(\"runtime/server/routes/proxy\")\n      });\n      moduleConfig.visualEditing = visualEditingConfig;\n    }\n    if (typeof moduleConfig.minimalClient === \"object\" && moduleConfig.minimalClient.cachingEnabled) {\n      nuxt.options.nitro.storage ||= {};\n      nuxt.options.nitro.storage.sanityDocumentDeps = {\n        driver: \"fsLite\",\n        base: \".tmp/sanityDocumentDeps\"\n      };\n      nuxt.options.nitro.storage.sanityData = {\n        driver: \"fsLite\",\n        base: \".tmp/sanityData\"\n      };\n      addServerHandler({\n        method: \"get\",\n        route: moduleConfig.minimalClient.assetEndpoint,\n        handler: resolve(\"runtime/server/routes/cache/asset\")\n      });\n      addServerHandler({\n        method: \"get\",\n        route: moduleConfig.minimalClient.queryEndpoint,\n        handler: resolve(\"runtime/server/routes/cache/query\")\n      });\n      if (moduleConfig.minimalClient.webhookSecret) {\n        addServerHandler({\n          method: \"delete\",\n          route: moduleConfig.minimalClient.webhookEndpoint,\n          handler: resolve(\"runtime/server/routes/cache/webhook\")\n        });\n      } else {\n        console.warn(\"Webhook secret is required for webhook-based cache invalidation\");\n      }\n    }\n    $config.sanity = defu($config.sanity, {\n      visualEditing: moduleConfig.visualEditing && {\n        ...moduleConfig.visualEditing,\n        previewModeId: moduleConfig.visualEditing.previewMode ? randomBytes(16).toString(\"hex\") : \"\",\n        token: moduleConfig.visualEditing.token || \"\"\n      },\n      webhookSecret: moduleConfig.minimalClient && moduleConfig.minimalClient.webhookSecret || void 0\n    });\n    $config.public.sanity = defu($config.public.sanity, {\n      projectId: moduleConfig.projectId,\n      dataset: moduleConfig.dataset,\n      minimalClient: moduleConfig.minimalClient,\n      useCdn: moduleConfig.useCdn,\n      apiVersion: moduleConfig.apiVersion,\n      perspective: \"raw\",\n      token: options.token || \"\",\n      withCredentials: options.withCredentials || false,\n      /* Visual Editing */\n      stega: moduleConfig.visualEditing && moduleConfig.visualEditing.stega !== false && moduleConfig.visualEditing.previewMode !== false && {\n        enabled: true,\n        studioUrl: moduleConfig.visualEditing.studioUrl\n      } || {},\n      visualEditing: moduleConfig.visualEditing\n    });\n    const publicSanityConfig = $config.public.sanity;\n    if (publicSanityConfig.visualEditing) {\n      delete publicSanityConfig.visualEditing.token;\n    }\n    if (publicSanityConfig.minimalClient && publicSanityConfig.minimalClient !== true) {\n      delete publicSanityConfig.minimalClient.webhookSecret;\n    }\n    const sharedImports = [\n      // clients\n      { name: \"default\", as: \"SanityClient\", from: resolve(\"runtime/client/SanityClient\") },\n      { name: \"SanityClientType\", as: \"SanityClientType\", from: resolve(\"runtime/client/SanityClient\") },\n      // helper methods\n      { name: \"groq\", from: resolve(\"runtime/utils/groq\") },\n      // projections\n      ...[\n        \"IMAGE_ASSET_PROJECTION\",\n        \"IMAGE_WITHOUT_PREVIEW_PROJECTION\",\n        \"IMAGE_WITH_PREVIEW_PROJECTION\",\n        \"LINK_PROJECTION\"\n      ].map((field) => ({\n        name: field,\n        from: resolve(\"runtime/utils/projections\")\n      }))\n    ];\n    addImports([\n      // composables\n      { name: \"useSanityQuery\", from: resolve(\"runtime/composables/query\") },\n      { name: \"useLazySanityQuery\", from: resolve(\"runtime/composables/query\") },\n      { name: \"useSanityVisualEditingState\", from: resolve(\"runtime/composables/visual_editing_state\") },\n      { name: \"useSanitySEO\", from: resolve(\"runtime/composables/sanity_seo\") },\n      // helper methods\n      { name: \"default\", as: \"useSanityClient\", from: resolve(\"runtime/utils/useSanityClient\") },\n      { name: \"resolveImageAssetById\", from: resolve(\"runtime/utils/resolveImageAssetById\") },\n      { name: \"resolveInternalLink\", from: resolve(\"runtime/utils/resolveInternalLink\") },\n      // shared\n      ...sharedImports\n    ]);\n    addServerImports([\n      // helper methods\n      { name: \"default\", as: \"useSanityClient\", from: resolve(\"runtime/server/utils/useSanityClient\") },\n      { name: \"default\", as: \"resolveSanityImageUrl\", from: resolve(\"runtime/server/utils/resolveSanityImageUrl\") },\n      // shared\n      ...sharedImports\n    ]);\n    addComponentsDir({ path: resolve(\"runtime/components\"), pathPrefix: false });\n    addComponentsDir({ path: \"~/sanity\", global: true, prefix: \"Sanity\", pathPrefix: false });\n    if (nuxt.options.image) {\n      nuxt.options.image.providers ??= {};\n      nuxt.options.image.providers.cachedSanity = {\n        provider: resolve(\"runtime/imageProviders/sanity\"),\n        options: {\n          projectId: moduleConfig.projectId,\n          dataset: moduleConfig.dataset,\n          cacheEndpoint: typeof moduleConfig.minimalClient === \"object\" && moduleConfig.minimalClient.cachingEnabled && moduleConfig.minimalClient.cacheClientBaseUrl + moduleConfig.minimalClient.assetEndpoint || void 0\n        }\n      };\n    }\n  }\n});\n\nexport { module$1 as default };\n"]}