@devite/nuxt-sanity 2.14.1 → 2.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module.json +1 -1
- package/dist/module.mjs +1 -1
- package/dist/runtime/components/SanityComponent.d.vue.ts +20 -0
- package/dist/runtime/components/SanityComponent.vue.d.ts +3 -2
- package/dist/runtime/components/SanityImageAsset.d.vue.ts +10 -0
- package/dist/runtime/components/SanityImageAsset.vue.d.ts +2 -1
- package/dist/runtime/components/SanityLinkExternal.d.vue.ts +17 -0
- package/dist/runtime/components/SanityLinkExternal.vue.d.ts +3 -2
- package/dist/runtime/components/SanityLinkInternal.d.vue.ts +20 -0
- package/dist/runtime/components/SanityLinkInternal.vue.d.ts +3 -2
- package/dist/runtime/components/SanityPage.d.vue.ts +16 -0
- package/dist/runtime/components/SanityPage.vue +5 -2
- package/dist/runtime/components/SanityPage.vue.d.ts +6 -2
- package/dist/runtime/components/SanityPictureAsset.d.vue.ts +21 -0
- package/dist/runtime/components/SanityPictureAsset.vue.d.ts +3 -2
- package/dist/runtime/components/SanityRichText.d.vue.ts +8 -0
- package/dist/runtime/components/SanityRichText.vue.d.ts +2 -1
- package/dist/runtime/imageProviders/sanity.js +1 -2
- package/package.json +20 -20
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { defineNuxtModule, createResolver, addPlugin, addServerHandler, addImpor
|
|
|
3
3
|
import defu from 'defu';
|
|
4
4
|
|
|
5
5
|
const name = "@devite/nuxt-sanity";
|
|
6
|
-
const version = "2.
|
|
6
|
+
const version = "2.15.0";
|
|
7
7
|
|
|
8
8
|
const CONFIG_KEY = "sanity";
|
|
9
9
|
const module = defineNuxtModule({
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Component } from 'vue';
|
|
2
|
+
import type { SanityModule } from '@devite/nuxt-sanity';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
data?: SanityModule | Array<SanityModule>;
|
|
5
|
+
};
|
|
6
|
+
declare var __VLS_10: any, __VLS_11: any;
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
[K in NonNullable<typeof __VLS_10>]?: (props: typeof __VLS_11) => any;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
11
|
+
componentRef: import("vue").Ref<Component | undefined, Component | undefined>;
|
|
12
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
|
+
declare const _default: typeof __VLS_export;
|
|
15
|
+
export default _default;
|
|
16
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
17
|
+
new (): {
|
|
18
|
+
$slots: S;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
@@ -7,10 +7,11 @@ declare var __VLS_10: any, __VLS_11: any;
|
|
|
7
7
|
type __VLS_Slots = {} & {
|
|
8
8
|
[K in NonNullable<typeof __VLS_10>]?: (props: typeof __VLS_11) => any;
|
|
9
9
|
};
|
|
10
|
-
declare const
|
|
10
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
11
11
|
componentRef: import("vue").Ref<Component | undefined, Component | undefined>;
|
|
12
12
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
|
-
declare const
|
|
13
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
|
+
declare const _default: typeof __VLS_export;
|
|
14
15
|
export default _default;
|
|
15
16
|
type __VLS_WithSlots<T, S> = T & {
|
|
16
17
|
new (): {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ImageAsset, Reference } from '@sanity/types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
asset?: ImageAsset | Reference | null;
|
|
4
|
+
sizes?: string;
|
|
5
|
+
loading?: 'eager' | 'lazy';
|
|
6
|
+
lqip?: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
declare const _default: typeof __VLS_export;
|
|
10
|
+
export default _default;
|
|
@@ -5,5 +5,6 @@ type __VLS_Props = {
|
|
|
5
5
|
loading?: 'eager' | 'lazy';
|
|
6
6
|
lqip?: boolean;
|
|
7
7
|
};
|
|
8
|
-
declare const
|
|
8
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
declare const _default: typeof __VLS_export;
|
|
9
10
|
export default _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { LinkExternal } from '@devite/nuxt-sanity';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
data: LinkExternal;
|
|
4
|
+
};
|
|
5
|
+
declare var __VLS_7: {};
|
|
6
|
+
type __VLS_Slots = {} & {
|
|
7
|
+
default?: (props: typeof __VLS_7) => any;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
11
|
+
declare const _default: typeof __VLS_export;
|
|
12
|
+
export default _default;
|
|
13
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -6,8 +6,9 @@ declare var __VLS_7: {};
|
|
|
6
6
|
type __VLS_Slots = {} & {
|
|
7
7
|
default?: (props: typeof __VLS_7) => any;
|
|
8
8
|
};
|
|
9
|
-
declare const
|
|
10
|
-
declare const
|
|
9
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
11
|
+
declare const _default: typeof __VLS_export;
|
|
11
12
|
export default _default;
|
|
12
13
|
type __VLS_WithSlots<T, S> = T & {
|
|
13
14
|
new (): {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Reference } from '@sanity/types';
|
|
2
|
+
import type { LinkInternal } from '@devite/nuxt-sanity';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
data: LinkInternal | {
|
|
5
|
+
reference: Reference;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
declare var __VLS_7: {};
|
|
9
|
+
type __VLS_Slots = {} & {
|
|
10
|
+
default?: (props: typeof __VLS_7) => any;
|
|
11
|
+
};
|
|
12
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
|
+
declare const _default: typeof __VLS_export;
|
|
15
|
+
export default _default;
|
|
16
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
17
|
+
new (): {
|
|
18
|
+
$slots: S;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
@@ -9,8 +9,9 @@ declare var __VLS_7: {};
|
|
|
9
9
|
type __VLS_Slots = {} & {
|
|
10
10
|
default?: (props: typeof __VLS_7) => any;
|
|
11
11
|
};
|
|
12
|
-
declare const
|
|
13
|
-
declare const
|
|
12
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
14
|
+
declare const _default: typeof __VLS_export;
|
|
14
15
|
export default _default;
|
|
15
16
|
type __VLS_WithSlots<T, S> = T & {
|
|
16
17
|
new (): {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
prefix?: string;
|
|
3
|
+
};
|
|
4
|
+
declare var __VLS_6: {};
|
|
5
|
+
type __VLS_Slots = {} & {
|
|
6
|
+
default?: (props: typeof __VLS_6) => any;
|
|
7
|
+
};
|
|
8
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
10
|
+
declare const _default: typeof __VLS_export;
|
|
11
|
+
export default _default;
|
|
12
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
13
|
+
new (): {
|
|
14
|
+
$slots: S;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
@@ -14,11 +14,14 @@
|
|
|
14
14
|
import { computed } from "vue";
|
|
15
15
|
import { setResponseStatus } from "h3";
|
|
16
16
|
import { groq, IMAGE_WITHOUT_PREVIEW_PROJECTION, useRequestEvent, useRoute, useRuntimeConfig, useSanityQuery, useSanitySEO } from "#imports";
|
|
17
|
+
const { prefix = "" } = defineProps({
|
|
18
|
+
prefix: { type: String, required: false }
|
|
19
|
+
});
|
|
17
20
|
const path = useRoute().path;
|
|
18
21
|
const groqFilter = path === "/" ? '_type == "home"' : `_type == "page" && slug.current == $slug`;
|
|
19
22
|
const { data: sanityData } = await useSanityQuery(
|
|
20
23
|
groq`*[(${groqFilter}) || _type == "notFound"][0] { _id, _type, slug, title, modules, seo { _type, indexable, title, shortTitle, description, image ${IMAGE_WITHOUT_PREVIEW_PROJECTION} } }`,
|
|
21
|
-
{ slug: path.substring(1) }
|
|
24
|
+
{ slug: prefix + path.substring(1) }
|
|
22
25
|
);
|
|
23
26
|
if (sanityData.value?._type === "notFound" && import.meta.server) {
|
|
24
27
|
const event = useRequestEvent();
|
|
@@ -28,7 +31,7 @@ if (sanityData.value?._type === "notFound" && import.meta.server) {
|
|
|
28
31
|
const { baseUrl } = useRuntimeConfig().public;
|
|
29
32
|
const seo = computed(() => sanityData.value?.seo);
|
|
30
33
|
useSanitySEO(
|
|
31
|
-
(baseUrl || "") + "/" + (sanityData.value && "slug" in sanityData.value && sanityData.value.slug?.current ? sanityData.value.slug.current : ""),
|
|
34
|
+
(baseUrl || "") + prefix + "/" + (sanityData.value && "slug" in sanityData.value && sanityData.value.slug?.current ? sanityData.value.slug.current : ""),
|
|
32
35
|
seo
|
|
33
36
|
);
|
|
34
37
|
</script>
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
prefix?: string;
|
|
3
|
+
};
|
|
1
4
|
declare var __VLS_6: {};
|
|
2
5
|
type __VLS_Slots = {} & {
|
|
3
6
|
default?: (props: typeof __VLS_6) => any;
|
|
4
7
|
};
|
|
5
|
-
declare const
|
|
6
|
-
declare const
|
|
8
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
10
|
+
declare const _default: typeof __VLS_export;
|
|
7
11
|
export default _default;
|
|
8
12
|
type __VLS_WithSlots<T, S> = T & {
|
|
9
13
|
new (): {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ImageAsset, Reference } from '@sanity/types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
asset?: ImageAsset | Reference | null;
|
|
4
|
+
sizes?: string;
|
|
5
|
+
loading?: 'eager' | 'lazy';
|
|
6
|
+
lqip?: boolean;
|
|
7
|
+
imgAttrs?: Record<string, unknown>;
|
|
8
|
+
};
|
|
9
|
+
declare var __VLS_7: {};
|
|
10
|
+
type __VLS_Slots = {} & {
|
|
11
|
+
default?: (props: typeof __VLS_7) => any;
|
|
12
|
+
};
|
|
13
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
|
+
declare const _default: typeof __VLS_export;
|
|
16
|
+
export default _default;
|
|
17
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
18
|
+
new (): {
|
|
19
|
+
$slots: S;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -10,8 +10,9 @@ declare var __VLS_7: {};
|
|
|
10
10
|
type __VLS_Slots = {} & {
|
|
11
11
|
default?: (props: typeof __VLS_7) => any;
|
|
12
12
|
};
|
|
13
|
-
declare const
|
|
14
|
-
declare const
|
|
13
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
|
+
declare const _default: typeof __VLS_export;
|
|
15
16
|
export default _default;
|
|
16
17
|
type __VLS_WithSlots<T, S> = T & {
|
|
17
18
|
new (): {
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RichText } from '@devite/nuxt-sanity';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
data: RichText;
|
|
4
|
+
placeholders?: Record<string, string>;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
@@ -3,5 +3,6 @@ type __VLS_Props = {
|
|
|
3
3
|
data: RichText;
|
|
4
4
|
placeholders?: Record<string, string>;
|
|
5
5
|
};
|
|
6
|
-
declare const
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
7
8
|
export default _default;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { useSanityVisualEditingState } from "../composables/visual_editing_state.js";
|
|
2
1
|
import { getImage as getSanityImage } from "#image/providers/sanity";
|
|
3
2
|
export function getImage(src, { modifiers = {}, projectId, dataset, cacheEndpoint }, context) {
|
|
4
3
|
modifiers.format = modifiers.format === "svg+xml" ? void 0 : modifiers.format;
|
|
5
|
-
if (cacheEndpoint
|
|
4
|
+
if (cacheEndpoint) {
|
|
6
5
|
const params = new URLSearchParams();
|
|
7
6
|
params.set("src", src);
|
|
8
7
|
if (modifiers.format || !src.endsWith("-svg"))
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devite/nuxt-sanity",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.15.0",
|
|
4
4
|
"description": "Advanced Sanity integration for Nuxt.js.",
|
|
5
5
|
"repository": "devite-io/nuxt-sanity",
|
|
6
6
|
"license": "MIT",
|
|
@@ -27,36 +27,36 @@
|
|
|
27
27
|
"dist"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@nuxt/image": "^1.
|
|
31
|
-
"@portabletext/vue": "^1.0.
|
|
32
|
-
"@sanity/client": "^7.
|
|
33
|
-
"@sanity/core-loader": "^1.8.
|
|
34
|
-
"@sanity/preview-url-secret": "^2.1.
|
|
35
|
-
"@sanity/types": "^4.
|
|
36
|
-
"@sanity/visual-editing": "^3.
|
|
30
|
+
"@nuxt/image": "^1.11.0",
|
|
31
|
+
"@portabletext/vue": "^1.0.14",
|
|
32
|
+
"@sanity/client": "^7.12.0",
|
|
33
|
+
"@sanity/core-loader": "^1.8.21",
|
|
34
|
+
"@sanity/preview-url-secret": "^2.1.15",
|
|
35
|
+
"@sanity/types": "^4.11.0",
|
|
36
|
+
"@sanity/visual-editing": "^3.2.4",
|
|
37
37
|
"defu": "^6.1.4",
|
|
38
38
|
"ofetch": "^1.4.1",
|
|
39
39
|
"ohash": "^1.1.6",
|
|
40
|
-
"unstorage": "^1.
|
|
40
|
+
"unstorage": "^1.17.1"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@nuxt/eslint-config": "^1.
|
|
44
|
-
"@nuxt/kit": "^4.
|
|
43
|
+
"@nuxt/eslint-config": "^1.9.0",
|
|
44
|
+
"@nuxt/kit": "^4.1.3",
|
|
45
45
|
"@nuxt/module-builder": "^1.0.2",
|
|
46
|
-
"@nuxt/schema": "^4.
|
|
46
|
+
"@nuxt/schema": "^4.1.3",
|
|
47
47
|
"@nuxt/test-utils": "^3.19.2",
|
|
48
48
|
"@types/node": "latest",
|
|
49
49
|
"changelogen": "^0.6.2",
|
|
50
|
-
"eslint": "^9.
|
|
51
|
-
"h3": "^1.15.
|
|
52
|
-
"nuxt": "^4.
|
|
50
|
+
"eslint": "^9.38.0",
|
|
51
|
+
"h3": "^1.15.4",
|
|
52
|
+
"nuxt": "^4.1.3",
|
|
53
53
|
"typescript": "5.8.3",
|
|
54
|
-
"vite": "7.
|
|
55
|
-
"vitest": "^
|
|
54
|
+
"vite": "7.1.11",
|
|
55
|
+
"vitest": "^4.0.0",
|
|
56
56
|
"vitest-environment-nuxt": "1.0.1",
|
|
57
|
-
"vue": "3.5.
|
|
58
|
-
"vue-router": "^4.
|
|
59
|
-
"vue-tsc": "^3.
|
|
57
|
+
"vue": "3.5.22",
|
|
58
|
+
"vue-router": "^4.6.3",
|
|
59
|
+
"vue-tsc": "^3.1.1"
|
|
60
60
|
},
|
|
61
61
|
"resolutions": {
|
|
62
62
|
"@devite/nuxt-sanity": "link:."
|