@vezham/config 26.0.0-alpha.5 → 26.0.0-alpha.6
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/README.md +14 -0
- package/dist/lib/deploy/cli.d.ts +3 -0
- package/dist/lib/deploy/cli.d.ts.map +1 -0
- package/dist/lib/deploy/cli.js +12 -0
- package/dist/lib/deploy/firebase.d.ts +3 -0
- package/dist/lib/deploy/firebase.d.ts.map +1 -0
- package/dist/lib/deploy/firebase.js +106 -0
- package/dist/lib/deploy/index.d.ts +4 -0
- package/dist/lib/deploy/index.d.ts.map +1 -0
- package/dist/lib/deploy/index.js +42 -0
- package/dist/lib/deploy/paths.d.ts +3 -0
- package/dist/lib/deploy/paths.d.ts.map +1 -0
- package/dist/lib/deploy/paths.js +6 -0
- package/dist/lib/deploy/presets.d.ts +5 -0
- package/dist/lib/deploy/presets.d.ts.map +1 -0
- package/dist/lib/deploy/presets.js +10 -0
- package/dist/lib/deploy/types.d.ts +97 -0
- package/dist/lib/deploy/types.d.ts.map +1 -0
- package/dist/lib/deploy/vercel.d.ts +3 -0
- package/dist/lib/deploy/vercel.d.ts.map +1 -0
- package/dist/lib/deploy/vercel.js +47 -0
- package/dist/lib/framework.d.ts +3 -0
- package/dist/lib/framework.d.ts.map +1 -0
- package/dist/lib/framework.js +7 -0
- package/dist/lib/i18n.d.ts +6 -0
- package/dist/lib/i18n.d.ts.map +1 -0
- package/dist/lib/i18n.js +11 -0
- package/dist/lib/integrations/next/index.d.ts +4 -0
- package/dist/lib/integrations/next/index.d.ts.map +1 -0
- package/dist/lib/integrations/next/index.js +29 -0
- package/dist/lib/integrations/playwright/index.d.ts +11 -0
- package/dist/lib/integrations/playwright/index.d.ts.map +1 -0
- package/dist/lib/integrations/playwright/index.js +77 -0
- package/dist/lib/integrations/playwright/test.d.ts +5 -0
- package/dist/lib/integrations/playwright/test.d.ts.map +1 -0
- package/dist/lib/integrations/playwright/test.js +23 -0
- package/dist/lib/integrations/vite/index.d.ts +12 -0
- package/dist/lib/integrations/vite/index.d.ts.map +1 -0
- package/dist/lib/integrations/vite/index.js +34 -0
- package/dist/lib/integrations/vite-lib/base.d.ts +3 -0
- package/dist/lib/integrations/vite-lib/base.d.ts.map +1 -0
- package/dist/lib/integrations/vite-lib/base.js +31 -0
- package/dist/lib/integrations/vite-lib/index.d.ts +3 -0
- package/dist/lib/integrations/vite-lib/index.d.ts.map +1 -0
- package/dist/lib/integrations/vite-lib/index.js +42 -0
- package/dist/lib/integrations/vite-lib/react.d.ts +3 -0
- package/dist/lib/integrations/vite-lib/react.d.ts.map +1 -0
- package/dist/lib/integrations/vite-lib/react.js +10 -0
- package/dist/lib/integrations/vitest/framework.d.ts +4 -0
- package/dist/lib/integrations/vitest/framework.d.ts.map +1 -0
- package/dist/lib/integrations/vitest/framework.js +5 -0
- package/dist/lib/integrations/vitest/frameworks/docs-plugins.d.ts +3 -0
- package/dist/lib/integrations/vitest/frameworks/docs-plugins.d.ts.map +1 -0
- package/dist/lib/integrations/vitest/frameworks/docs-plugins.js +27 -0
- package/dist/lib/integrations/vitest/frameworks/docs.d.ts +3 -0
- package/dist/lib/integrations/vitest/frameworks/docs.d.ts.map +1 -0
- package/dist/lib/integrations/vitest/frameworks/docs.js +5 -0
- package/dist/lib/integrations/vitest/frameworks/next.d.ts +3 -0
- package/dist/lib/integrations/vitest/frameworks/next.d.ts.map +1 -0
- package/dist/lib/integrations/vitest/frameworks/next.js +5 -0
- package/dist/lib/integrations/vitest/frameworks/react.d.ts +3 -0
- package/dist/lib/integrations/vitest/frameworks/react.d.ts.map +1 -0
- package/dist/lib/integrations/vitest/frameworks/react.js +5 -0
- package/dist/lib/integrations/vitest/index.d.ts +4 -0
- package/dist/lib/integrations/vitest/index.d.ts.map +1 -0
- package/dist/lib/integrations/vitest/index.js +4 -0
- package/dist/lib/integrations/vitest/setup/next.d.ts +2 -0
- package/dist/lib/integrations/vitest/setup/next.d.ts.map +1 -0
- package/dist/lib/integrations/vitest/setup/next.js +11 -0
- package/dist/lib/integrations/vitest/setup/react.d.ts +2 -0
- package/dist/lib/integrations/vitest/setup/react.d.ts.map +1 -0
- package/dist/lib/integrations/vitest/setup/react.js +36 -0
- package/dist/lib/integrations/vitest/shared.d.ts +3 -0
- package/dist/lib/integrations/vitest/shared.d.ts.map +1 -0
- package/dist/lib/integrations/vitest/shared.js +24 -0
- package/dist/lib/metadata/cli.d.ts +3 -0
- package/dist/lib/metadata/cli.d.ts.map +1 -0
- package/dist/lib/metadata/cli.js +13 -0
- package/dist/lib/metadata/env.d.ts +9 -0
- package/dist/lib/metadata/env.d.ts.map +1 -0
- package/dist/lib/metadata/env.js +36 -0
- package/dist/lib/metadata/html.d.ts +3 -0
- package/dist/lib/metadata/html.d.ts.map +1 -0
- package/dist/lib/metadata/html.js +96 -0
- package/dist/lib/metadata/index.d.ts +7 -0
- package/dist/lib/metadata/index.d.ts.map +1 -0
- package/dist/lib/metadata/index.js +61 -0
- package/dist/lib/metadata/next.d.ts +79 -0
- package/dist/lib/metadata/next.d.ts.map +1 -0
- package/dist/lib/metadata/next.js +106 -0
- package/dist/lib/metadata/public.d.ts +3 -0
- package/dist/lib/metadata/public.d.ts.map +1 -0
- package/dist/lib/metadata/public.js +107 -0
- package/dist/lib/metadata/render.d.ts +7 -0
- package/dist/lib/metadata/render.d.ts.map +1 -0
- package/dist/lib/metadata/render.js +37 -0
- package/dist/lib/metadata/runtime.d.ts +68 -0
- package/dist/lib/metadata/runtime.d.ts.map +1 -0
- package/dist/lib/metadata/runtime.js +134 -0
- package/dist/lib/metadata/tanstack.d.ts +71 -0
- package/dist/lib/metadata/tanstack.d.ts.map +1 -0
- package/dist/lib/metadata/tanstack.js +194 -0
- package/dist/lib/metadata/templates/not-found.html +224 -0
- package/dist/lib/metadata/templates/offline.html +210 -0
- package/dist/lib/metadata/types.d.ts +118 -0
- package/dist/lib/metadata/types.d.ts.map +1 -0
- package/dist/lib/navigation/app-menu.d.ts +2 -0
- package/dist/lib/navigation/app-menu.d.ts.map +1 -0
- package/dist/lib/navigation/app-menu.js +45 -0
- package/dist/lib/navigation/control-center.d.ts +2 -0
- package/dist/lib/navigation/control-center.d.ts.map +1 -0
- package/dist/lib/navigation/control-center.js +66 -0
- package/dist/lib/navigation/index.d.ts +5 -0
- package/dist/lib/navigation/index.d.ts.map +1 -0
- package/dist/lib/navigation/index.js +59 -0
- package/dist/lib/navigation/toolbar.d.ts +2 -0
- package/dist/lib/navigation/toolbar.d.ts.map +1 -0
- package/dist/lib/navigation/toolbar.js +78 -0
- package/dist/lib/presets/app/index.d.ts +21 -0
- package/dist/lib/presets/app/index.d.ts.map +1 -0
- package/dist/lib/presets/app/index.js +114 -0
- package/dist/lib/presets/cdn/index.d.ts +2 -0
- package/dist/lib/presets/cdn/index.d.ts.map +1 -0
- package/dist/lib/presets/cdn/index.js +2 -0
- package/dist/lib/presets/docs/cli.d.ts +3 -0
- package/dist/lib/presets/docs/cli.d.ts.map +1 -0
- package/dist/lib/presets/docs/cli.js +18 -0
- package/dist/lib/presets/docs/config.d.ts +40 -0
- package/dist/lib/presets/docs/config.d.ts.map +1 -0
- package/dist/lib/presets/docs/config.js +39 -0
- package/dist/lib/presets/docs/files.d.ts +2 -0
- package/dist/lib/presets/docs/files.d.ts.map +1 -0
- package/dist/lib/presets/docs/files.js +13 -0
- package/dist/lib/presets/docs/index.d.ts +7 -0
- package/dist/lib/presets/docs/index.d.ts.map +1 -0
- package/dist/lib/presets/docs/index.js +6 -0
- package/dist/lib/presets/docs/mdx-path.d.ts +7 -0
- package/dist/lib/presets/docs/mdx-path.d.ts.map +1 -0
- package/dist/lib/presets/docs/mdx-path.js +19 -0
- package/dist/lib/presets/docs/og-image.d.ts +9 -0
- package/dist/lib/presets/docs/og-image.d.ts.map +1 -0
- package/dist/lib/presets/docs/og-image.js +88 -0
- package/dist/lib/presets/docs/og-output.d.ts +5 -0
- package/dist/lib/presets/docs/og-output.d.ts.map +1 -0
- package/dist/lib/presets/docs/og-output.js +34 -0
- package/dist/lib/presets/docs/og.d.ts +9 -0
- package/dist/lib/presets/docs/og.d.ts.map +1 -0
- package/dist/lib/presets/docs/og.js +112 -0
- package/dist/lib/presets/docs/openapi.d.ts +3 -0
- package/dist/lib/presets/docs/openapi.d.ts.map +1 -0
- package/dist/lib/presets/docs/openapi.js +105 -0
- package/dist/lib/presets/docs/routes.d.ts +7 -0
- package/dist/lib/presets/docs/routes.d.ts.map +1 -0
- package/dist/lib/presets/docs/routes.js +109 -0
- package/dist/lib/presets/docs/types.d.ts +31 -0
- package/dist/lib/presets/docs/types.d.ts.map +1 -0
- package/dist/lib/presets/docs/vite.d.ts +11 -0
- package/dist/lib/presets/docs/vite.d.ts.map +1 -0
- package/dist/lib/presets/docs/vite.js +78 -0
- package/dist/lib/presets/files.d.ts +5 -0
- package/dist/lib/presets/files.d.ts.map +1 -0
- package/dist/lib/presets/files.js +21 -0
- package/dist/lib/presets/route-files.d.ts +22 -0
- package/dist/lib/presets/route-files.d.ts.map +1 -0
- package/dist/lib/presets/route-files.js +49 -0
- package/dist/lib/yaml-config.d.ts +2 -0
- package/dist/lib/yaml-config.d.ts.map +1 -0
- package/dist/lib/yaml-config.js +6 -0
- package/package.json +99 -4
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { VxConfig } from './types';
|
|
2
|
+
export declare const getNextMetadata: (config: VxConfig, projectRoot?: string) => {
|
|
3
|
+
metadataBase: URL | undefined;
|
|
4
|
+
title: string;
|
|
5
|
+
description: string;
|
|
6
|
+
applicationName: string;
|
|
7
|
+
authors: {
|
|
8
|
+
name: string;
|
|
9
|
+
url: string;
|
|
10
|
+
}[] | undefined;
|
|
11
|
+
keywords: string[];
|
|
12
|
+
manifest: string;
|
|
13
|
+
icons: {
|
|
14
|
+
icon: ({
|
|
15
|
+
url: string;
|
|
16
|
+
type: string;
|
|
17
|
+
media: string;
|
|
18
|
+
color?: undefined;
|
|
19
|
+
} | {
|
|
20
|
+
url: string;
|
|
21
|
+
type: string;
|
|
22
|
+
media: string;
|
|
23
|
+
color: string;
|
|
24
|
+
})[];
|
|
25
|
+
shortcut: {
|
|
26
|
+
url: string;
|
|
27
|
+
media: string;
|
|
28
|
+
}[];
|
|
29
|
+
apple: {
|
|
30
|
+
url: string;
|
|
31
|
+
}[];
|
|
32
|
+
other: {
|
|
33
|
+
rel: string;
|
|
34
|
+
url: string;
|
|
35
|
+
media: string;
|
|
36
|
+
color: string;
|
|
37
|
+
}[];
|
|
38
|
+
};
|
|
39
|
+
appleWebApp: {
|
|
40
|
+
title: string;
|
|
41
|
+
capable: boolean;
|
|
42
|
+
startupImage: {
|
|
43
|
+
media: string;
|
|
44
|
+
url: string;
|
|
45
|
+
}[];
|
|
46
|
+
};
|
|
47
|
+
openGraph: {
|
|
48
|
+
type: string;
|
|
49
|
+
title: string;
|
|
50
|
+
description: string;
|
|
51
|
+
images: string[];
|
|
52
|
+
url: string;
|
|
53
|
+
};
|
|
54
|
+
twitter: {
|
|
55
|
+
creator: string;
|
|
56
|
+
site: string;
|
|
57
|
+
title: string;
|
|
58
|
+
description: string;
|
|
59
|
+
images: string[];
|
|
60
|
+
card: string;
|
|
61
|
+
};
|
|
62
|
+
other: {
|
|
63
|
+
'mobile-web-app-capable': string;
|
|
64
|
+
'msapplication-config': string;
|
|
65
|
+
'msapplication-starturl': string;
|
|
66
|
+
'twitter:url': string;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
export declare const getNextViewport: (config: VxConfig, projectRoot?: string) => {
|
|
70
|
+
width: string;
|
|
71
|
+
initialScale: number;
|
|
72
|
+
maximumScale: number;
|
|
73
|
+
userScalable: boolean;
|
|
74
|
+
themeColor: {
|
|
75
|
+
media: string;
|
|
76
|
+
color: string;
|
|
77
|
+
}[];
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=next.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../../../src/lib/metadata/next.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,eAAe,GAC1B,QAAQ,QAAQ,EAChB,oBAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiG5B,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,QAAQ,QAAQ,EAChB,oBAA2B;;;;;;;;;CAoB5B,CAAA"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { getRuntimeMetadata } from "./runtime.js";
|
|
2
|
+
//#region src/lib/metadata/next.ts
|
|
3
|
+
var getNextMetadata = (config, projectRoot = process.cwd()) => {
|
|
4
|
+
const metadata = getRuntimeMetadata(config, projectRoot);
|
|
5
|
+
return {
|
|
6
|
+
metadataBase: metadata.url ? new URL(metadata.url) : void 0,
|
|
7
|
+
title: metadata.title,
|
|
8
|
+
description: metadata.description,
|
|
9
|
+
applicationName: metadata.microsoft.applicationName,
|
|
10
|
+
authors: metadata.author?.name ? [{
|
|
11
|
+
name: metadata.author.name,
|
|
12
|
+
url: metadata.author.url
|
|
13
|
+
}] : void 0,
|
|
14
|
+
keywords: metadata.keywords,
|
|
15
|
+
manifest: metadata.manifest,
|
|
16
|
+
icons: {
|
|
17
|
+
icon: [
|
|
18
|
+
{
|
|
19
|
+
url: metadata.icons.faviconLight,
|
|
20
|
+
type: "image/x-icon",
|
|
21
|
+
media: "(prefers-color-scheme: light)"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
url: metadata.icons.faviconDark,
|
|
25
|
+
type: "image/x-icon",
|
|
26
|
+
media: "(prefers-color-scheme: dark)"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
url: metadata.icons.maskIcon,
|
|
30
|
+
type: "image/svg+xml",
|
|
31
|
+
media: "(prefers-color-scheme: light)",
|
|
32
|
+
color: "black"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
url: metadata.icons.maskIcon,
|
|
36
|
+
type: "image/svg+xml",
|
|
37
|
+
media: "(prefers-color-scheme: dark)",
|
|
38
|
+
color: "white"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
shortcut: [{
|
|
42
|
+
url: metadata.icons.faviconLight,
|
|
43
|
+
media: "(prefers-color-scheme: light)"
|
|
44
|
+
}, {
|
|
45
|
+
url: metadata.icons.faviconDark,
|
|
46
|
+
media: "(prefers-color-scheme: dark)"
|
|
47
|
+
}],
|
|
48
|
+
apple: [{ url: metadata.apple.touchIcon }],
|
|
49
|
+
other: [{
|
|
50
|
+
rel: "mask-icon",
|
|
51
|
+
url: metadata.icons.maskIcon,
|
|
52
|
+
media: "(prefers-color-scheme: light)",
|
|
53
|
+
color: "black"
|
|
54
|
+
}, {
|
|
55
|
+
rel: "mask-icon",
|
|
56
|
+
url: metadata.icons.maskIcon,
|
|
57
|
+
media: "(prefers-color-scheme: dark)",
|
|
58
|
+
color: "white"
|
|
59
|
+
}]
|
|
60
|
+
},
|
|
61
|
+
appleWebApp: {
|
|
62
|
+
title: metadata.apple.title,
|
|
63
|
+
capable: metadata.apple.capable,
|
|
64
|
+
startupImage: metadata.apple.startupImages
|
|
65
|
+
},
|
|
66
|
+
openGraph: {
|
|
67
|
+
type: metadata.openGraph.type,
|
|
68
|
+
title: metadata.openGraph.title,
|
|
69
|
+
description: metadata.openGraph.description,
|
|
70
|
+
images: [metadata.openGraph.image],
|
|
71
|
+
url: metadata.openGraph.url
|
|
72
|
+
},
|
|
73
|
+
twitter: {
|
|
74
|
+
creator: metadata.twitter.creator,
|
|
75
|
+
site: metadata.twitter.site,
|
|
76
|
+
title: metadata.twitter.title,
|
|
77
|
+
description: metadata.twitter.description,
|
|
78
|
+
images: [metadata.twitter.image],
|
|
79
|
+
card: metadata.twitter.card
|
|
80
|
+
},
|
|
81
|
+
other: {
|
|
82
|
+
"mobile-web-app-capable": metadata.mobileWebAppCapable ? "yes" : "no",
|
|
83
|
+
"msapplication-config": metadata.microsoft.config,
|
|
84
|
+
"msapplication-starturl": metadata.microsoft.startUrl,
|
|
85
|
+
"twitter:url": metadata.twitter.url
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
var getNextViewport = (config, projectRoot = process.cwd()) => {
|
|
90
|
+
const metadata = getRuntimeMetadata(config, projectRoot);
|
|
91
|
+
return {
|
|
92
|
+
width: "device-width",
|
|
93
|
+
initialScale: 1,
|
|
94
|
+
maximumScale: 1.5,
|
|
95
|
+
userScalable: true,
|
|
96
|
+
themeColor: [{
|
|
97
|
+
media: "(prefers-color-scheme: light)",
|
|
98
|
+
color: metadata.theme.lightColor
|
|
99
|
+
}, {
|
|
100
|
+
media: "(prefers-color-scheme: dark)",
|
|
101
|
+
color: metadata.theme.darkColor
|
|
102
|
+
}]
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
//#endregion
|
|
106
|
+
export { getNextMetadata, getNextViewport };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/lib/metadata/public.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAiErD,eAAO,MAAM,sBAAsB,GACjC,QAAQ,QAAQ,EAChB,aAAa,MAAM,KAClB,YAAY,EA8Cd,CAAA"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { createVersionedAssetUrl, getProjectAssetBaseUrl, getStaticAssetUrl, lowerFirst, normalizeIcons, toAssetUrl } from "./runtime.js";
|
|
2
|
+
import { generatedNotice, renderMetadataTemplate, stringifyManifest } from "./render.js";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
//#region src/lib/metadata/public.ts
|
|
5
|
+
var createManifest = (config, versionedAssetUrl) => {
|
|
6
|
+
const { core, pwa } = config;
|
|
7
|
+
return {
|
|
8
|
+
manifest_version: 1,
|
|
9
|
+
version: core.version,
|
|
10
|
+
id: core.id,
|
|
11
|
+
name: core.name,
|
|
12
|
+
short_name: core.shortName,
|
|
13
|
+
description: lowerFirst(core.description),
|
|
14
|
+
scope: pwa.scope,
|
|
15
|
+
start_url: `${pwa.startUrl}?utm_source=homescreen&utm_medium=shortcut&pwa=true`,
|
|
16
|
+
display: pwa.display,
|
|
17
|
+
orientation: pwa.orientation,
|
|
18
|
+
theme_color: config.branding.themeColor,
|
|
19
|
+
background_color: config.branding.backgroundColor,
|
|
20
|
+
categories: pwa.categories,
|
|
21
|
+
icons: normalizeIcons(pwa.icons).map((icon) => ({
|
|
22
|
+
src: toAssetUrl(icon.src, versionedAssetUrl),
|
|
23
|
+
sizes: icon.sizes,
|
|
24
|
+
type: icon.type
|
|
25
|
+
})),
|
|
26
|
+
screenshots: pwa.screenshots.map((screenshot) => ({
|
|
27
|
+
src: toAssetUrl(screenshot.src, versionedAssetUrl),
|
|
28
|
+
type: screenshot.type,
|
|
29
|
+
sizes: screenshot.sizes
|
|
30
|
+
})),
|
|
31
|
+
shortcuts: pwa.shortcuts.map((shortcut) => ({
|
|
32
|
+
name: shortcut.name,
|
|
33
|
+
short_name: shortcut.shortName,
|
|
34
|
+
url: `${shortcut.url}?utm_source=jumplist&utm_medium=shortcut&pwa=true`,
|
|
35
|
+
icons: normalizeIcons(shortcut.icons).map((icon) => ({
|
|
36
|
+
src: toAssetUrl(icon.src, versionedAssetUrl),
|
|
37
|
+
sizes: icon.sizes,
|
|
38
|
+
type: icon.type
|
|
39
|
+
}))
|
|
40
|
+
}))
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
var renderBrowserConfig = (versionedAssetUrl) => {
|
|
44
|
+
return `<?xml version="1.0" encoding="utf-8" ?>
|
|
45
|
+
<!-- ${generatedNotice} -->
|
|
46
|
+
<browserconfig>
|
|
47
|
+
<msapplication>
|
|
48
|
+
<tile>
|
|
49
|
+
<square70x70logo
|
|
50
|
+
src="${versionedAssetUrl("icons/icon-square-70x70.png")}" />
|
|
51
|
+
<square150x150logo
|
|
52
|
+
src="${versionedAssetUrl("icons/icon-square-150x150.png")}" />
|
|
53
|
+
<wide310x150logo
|
|
54
|
+
src="${versionedAssetUrl("icons/icon-square-310x150.png")}" />
|
|
55
|
+
<square310x310logo
|
|
56
|
+
src="${versionedAssetUrl("icons/icon-square-310x310.png")}" />
|
|
57
|
+
<tilecolor>transparent</tilecolor>
|
|
58
|
+
</tile>
|
|
59
|
+
</msapplication>
|
|
60
|
+
</browserconfig>
|
|
61
|
+
`;
|
|
62
|
+
};
|
|
63
|
+
var getPublicMetadataFiles = (config, projectRoot) => {
|
|
64
|
+
const { core } = config;
|
|
65
|
+
const publicDir = path.resolve(projectRoot, "public");
|
|
66
|
+
const versionedAssetUrl = createVersionedAssetUrl(getProjectAssetBaseUrl(projectRoot), core.version);
|
|
67
|
+
const offlinePage = renderMetadataTemplate("offline.html", {
|
|
68
|
+
generatedNotice,
|
|
69
|
+
author: core.publisher.name,
|
|
70
|
+
appName: core.name,
|
|
71
|
+
imageUrl: getStaticAssetUrl("vassets/no-internet.svg", core.version)
|
|
72
|
+
});
|
|
73
|
+
const notFoundPage = renderMetadataTemplate("not-found.html", {
|
|
74
|
+
generatedNotice,
|
|
75
|
+
author: core.publisher.name,
|
|
76
|
+
appName: core.name,
|
|
77
|
+
imageUrl: getStaticAssetUrl("vassets/no-internet.svg", core.version)
|
|
78
|
+
});
|
|
79
|
+
return [
|
|
80
|
+
{
|
|
81
|
+
path: path.join(publicDir, "manifest.webmanifest"),
|
|
82
|
+
content: `${stringifyManifest(createManifest(config, versionedAssetUrl))}\n`
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
path: path.join(publicDir, "browserconfig.xml"),
|
|
86
|
+
content: renderBrowserConfig(versionedAssetUrl)
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
path: path.join(publicDir, "robots.txt"),
|
|
90
|
+
content: `# ${generatedNotice}\n# https://www.robotstxt.org/robotstxt.html\nUser-agent: *\nDisallow:\n`
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
path: path.join(publicDir, "sw.js"),
|
|
94
|
+
content: `/* ${generatedNotice} */\n/* global importScripts */\nimportScripts('https://static.cdn.vezham.com/workers/sw.js?vx=${core.version}')\n`
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
path: path.join(publicDir, "offline.html"),
|
|
98
|
+
content: offlinePage
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
path: path.join(publicDir, "404.html"),
|
|
102
|
+
content: notFoundPage
|
|
103
|
+
}
|
|
104
|
+
];
|
|
105
|
+
};
|
|
106
|
+
//#endregion
|
|
107
|
+
export { getPublicMetadataFiles };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type VxConfig } from './types';
|
|
2
|
+
export declare const generatedNotice = "Generated by Vx metadata. DO NOT EDIT.";
|
|
3
|
+
export declare const stringifyManifest: (manifest: Record<string, unknown>) => string;
|
|
4
|
+
export declare const escapeHtml: (value: string) => string;
|
|
5
|
+
export declare const renderMetadataTemplate: (name: string, values: Record<string, string>) => string;
|
|
6
|
+
export declare const getGeneratedMetadataModule: (config: VxConfig, projectRoot?: string) => string;
|
|
7
|
+
//# sourceMappingURL=render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/lib/metadata/render.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,eAAe,2CAA2C,CAAA;AAEvE,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAIhE,CAAA;AAIH,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,WAKZ,CAAA;AAO5B,eAAO,MAAM,sBAAsB,GACjC,MAAM,MAAM,EACZ,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAY1B,CAAA;AAEN,eAAO,MAAM,0BAA0B,GACrC,QAAQ,QAAQ,EAChB,oBAA2B,WAsB3B,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { resolveI18n } from "../i18n.js";
|
|
2
|
+
import { resolveDocsConfig } from "../presets/docs/config.js";
|
|
3
|
+
import { getRuntimeMetadata } from "./runtime.js";
|
|
4
|
+
import { getNextMetadata, getNextViewport } from "./next.js";
|
|
5
|
+
import { getTanStackHead } from "./tanstack.js";
|
|
6
|
+
import { readFileSync } from "node:fs";
|
|
7
|
+
import path from "node:path";
|
|
8
|
+
import { fileURLToPath } from "node:url";
|
|
9
|
+
//#region src/lib/metadata/render.ts
|
|
10
|
+
var generatedNotice = "Generated by Vx metadata. DO NOT EDIT.";
|
|
11
|
+
var stringifyManifest = (manifest) => JSON.stringify(manifest, null, 2).replace("\"categories\": [\n \"productivity\",\n \"personalization\",\n \"utilities\"\n ]", "\"categories\": [\"productivity\", \"personalization\", \"utilities\"]");
|
|
12
|
+
var stringifyTs = (value) => JSON.stringify(value, null, 2);
|
|
13
|
+
var escapeHtml = (value) => value.replaceAll("&", "&").replaceAll("\"", """).replaceAll("<", "<").replaceAll(">", ">");
|
|
14
|
+
var metadataTemplatesDir = path.join(path.dirname(fileURLToPath(import.meta.url)), "templates");
|
|
15
|
+
var renderMetadataTemplate = (name, values) => readFileSync(path.join(metadataTemplatesDir, name), "utf8").replace(/^[ \t]*<!-- prettier-ignore -->\r?\n/gm, "").replaceAll(/\{\{(\w+)\}\}/g, (_, key) => {
|
|
16
|
+
const value = values[key];
|
|
17
|
+
if (value === void 0) throw new Error(`Missing metadata template value: ${key}`);
|
|
18
|
+
return escapeHtml(value);
|
|
19
|
+
});
|
|
20
|
+
var getGeneratedMetadataModule = (config, projectRoot = process.cwd()) => `// ${generatedNotice}
|
|
21
|
+
|
|
22
|
+
export const vxMetadata = ${stringifyTs(getRuntimeMetadata(config, projectRoot))} as const
|
|
23
|
+
|
|
24
|
+
export const vxCore = ${stringifyTs(config.core)} as const
|
|
25
|
+
|
|
26
|
+
${config.framework === "tanstack-docs" ? `export const vxDocs = ${stringifyTs(resolveDocsConfig(config.docs))} as const` : ""}
|
|
27
|
+
|
|
28
|
+
export const vxI18n = ${stringifyTs(resolveI18n(config.i18n))} as const
|
|
29
|
+
|
|
30
|
+
export type Locale = (typeof vxI18n.languages)[number]
|
|
31
|
+
${config.framework === "next" ? `
|
|
32
|
+
export const nextMetadata = ${stringifyTs(getNextMetadata(config, projectRoot))}
|
|
33
|
+
|
|
34
|
+
export const nextViewport = ${stringifyTs(getNextViewport(config, projectRoot))}` : config.framework === "tanstack" || config.framework === "tanstack-docs" ? `
|
|
35
|
+
export const tanstackHead = ${stringifyTs(getTanStackHead(config, projectRoot))}` : ""}`;
|
|
36
|
+
//#endregion
|
|
37
|
+
export { escapeHtml, generatedNotice, getGeneratedMetadataModule, renderMetadataTemplate, stringifyManifest };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type VxConfig, type VxIcon, type VxIconSource } from './types';
|
|
2
|
+
export declare const lowerFirst: (value: string) => string;
|
|
3
|
+
export declare const getProjectAssetBaseUrl: (projectRoot: string) => string;
|
|
4
|
+
export declare const createVersionedAssetUrl: (baseUrl: string, version: string) => (assetPath: string) => string;
|
|
5
|
+
export declare const getStaticAssetUrl: (assetPath: string, version: string) => string;
|
|
6
|
+
export declare const toAssetUrl: (assetPath: string, versionedAssetUrl: (assetPath: string) => string) => string;
|
|
7
|
+
type SocialImageSource = 'default' | 'path' | 'url';
|
|
8
|
+
export declare const normalizeIcons: (icons: VxIconSource) => VxIcon[];
|
|
9
|
+
export declare const getRuntimeMetadata: (config: VxConfig, projectRoot?: string) => {
|
|
10
|
+
title: string;
|
|
11
|
+
description: string;
|
|
12
|
+
url: string;
|
|
13
|
+
manifest: string;
|
|
14
|
+
browserConfig: string;
|
|
15
|
+
startUrl: string;
|
|
16
|
+
author: {
|
|
17
|
+
name: string;
|
|
18
|
+
url: string;
|
|
19
|
+
};
|
|
20
|
+
keywords: string[];
|
|
21
|
+
theme: {
|
|
22
|
+
lightColor: string;
|
|
23
|
+
darkColor: string;
|
|
24
|
+
lightBackgroundColor: string;
|
|
25
|
+
darkBackgroundColor: string;
|
|
26
|
+
};
|
|
27
|
+
mobileWebAppCapable: boolean;
|
|
28
|
+
apple: {
|
|
29
|
+
title: string;
|
|
30
|
+
capable: boolean;
|
|
31
|
+
touchIcon: string;
|
|
32
|
+
startupImages: {
|
|
33
|
+
media: string;
|
|
34
|
+
url: string;
|
|
35
|
+
}[];
|
|
36
|
+
};
|
|
37
|
+
icons: {
|
|
38
|
+
faviconLight: string;
|
|
39
|
+
faviconDark: string;
|
|
40
|
+
maskIcon: string;
|
|
41
|
+
};
|
|
42
|
+
microsoft: {
|
|
43
|
+
applicationName: string;
|
|
44
|
+
config: string;
|
|
45
|
+
startUrl: string;
|
|
46
|
+
};
|
|
47
|
+
openGraph: {
|
|
48
|
+
type: string;
|
|
49
|
+
title: string;
|
|
50
|
+
description: string;
|
|
51
|
+
image: string;
|
|
52
|
+
imageSource: SocialImageSource;
|
|
53
|
+
url: string;
|
|
54
|
+
};
|
|
55
|
+
twitter: {
|
|
56
|
+
creator: string;
|
|
57
|
+
site: string;
|
|
58
|
+
title: string;
|
|
59
|
+
description: string;
|
|
60
|
+
image: string;
|
|
61
|
+
url: string;
|
|
62
|
+
card: string;
|
|
63
|
+
};
|
|
64
|
+
defaultLanguage: string;
|
|
65
|
+
languages: string[];
|
|
66
|
+
};
|
|
67
|
+
export {};
|
|
68
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/lib/metadata/runtime.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,YAAY,EAGlB,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,WAC6B,CAAA;AAIrE,eAAO,MAAM,sBAAsB,GAAI,aAAa,MAAM,WACmC,CAAA;AAE7F,eAAO,MAAM,uBAAuB,GAAI,SAAS,MAAM,EAAE,SAAS,MAAM,MAG9D,WAAW,MAAM,WAE1B,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,WAAW,MAAM,EAAE,SAAS,MAAM,WAC+B,CAAA;AAEnG,eAAO,MAAM,UAAU,GACrB,WAAW,MAAM,EACjB,mBAAmB,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,WAIhB,CAAA;AAElC,KAAK,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAA;AAyEnD,eAAO,MAAM,cAAc,GAAI,OAAO,YAAY,KAAG,MAAM,EAU1D,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,QAAQ,EAChB,oBAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiF5B,CAAA"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { resolveI18n } from "../i18n.js";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
//#region src/lib/metadata/runtime.ts
|
|
4
|
+
var lowerFirst = (value) => value ? `${value.charAt(0).toLowerCase()}${value.slice(1)}` : value;
|
|
5
|
+
var normalizePath = (value) => value.split(path.sep).join("/");
|
|
6
|
+
var getProjectAssetBaseUrl = (projectRoot) => `https://static.cdn.vezham.com/${normalizePath(path.relative(process.cwd(), projectRoot))}`;
|
|
7
|
+
var createVersionedAssetUrl = (baseUrl, version) => {
|
|
8
|
+
const versionParam = `vx=${encodeURIComponent(version)}`;
|
|
9
|
+
return (assetPath) => `${baseUrl.replace(/\/$/, "")}/${assetPath.replace(/^\//, "")}?${versionParam}`;
|
|
10
|
+
};
|
|
11
|
+
var getStaticAssetUrl = (assetPath, version) => `https://static.cdn.vezham.com/${assetPath.replace(/^\//, "")}?vx=${encodeURIComponent(version)}`;
|
|
12
|
+
var toAssetUrl = (assetPath, versionedAssetUrl) => /^https?:\/\//.test(assetPath) || assetPath.startsWith("/") ? assetPath : versionedAssetUrl(assetPath);
|
|
13
|
+
var resolveSocialImage = (image) => {
|
|
14
|
+
const value = image?.trim();
|
|
15
|
+
if (!value) return {
|
|
16
|
+
source: "default",
|
|
17
|
+
url: "/og/image.png"
|
|
18
|
+
};
|
|
19
|
+
if (/^https?:\/\//i.test(value)) return {
|
|
20
|
+
source: "url",
|
|
21
|
+
url: value
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
source: "path",
|
|
25
|
+
url: `/${value.replace(/^\/+/, "")}`
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
var getStartupImageMedia = (image) => {
|
|
29
|
+
if (image.media) return image.media;
|
|
30
|
+
return [
|
|
31
|
+
image.colorScheme ? `(prefers-color-scheme: ${image.colorScheme})` : void 0,
|
|
32
|
+
image.width ? `(device-width: ${image.width}px)` : void 0,
|
|
33
|
+
image.height ? `(device-height: ${image.height}px)` : void 0,
|
|
34
|
+
image.pixelRatio ? `(-webkit-device-pixel-ratio: ${image.pixelRatio})` : void 0
|
|
35
|
+
].filter(Boolean).join(" and ");
|
|
36
|
+
};
|
|
37
|
+
var createStartupImagePath = (template, image) => template.replaceAll("{colorScheme}", image.colorScheme ?? "").replaceAll("{device}", image.device ?? "").replaceAll("{width}", String(image.width ?? "")).replaceAll("{height}", String(image.height ?? "")).replaceAll("{pixelRatio}", String(image.pixelRatio ?? ""));
|
|
38
|
+
var normalizeStartupImages = (startupImages) => {
|
|
39
|
+
if (Array.isArray(startupImages)) return startupImages;
|
|
40
|
+
return (startupImages.colorSchemes ?? ["light", "dark"]).flatMap((colorScheme) => startupImages.sizes.map((size) => {
|
|
41
|
+
const image = {
|
|
42
|
+
...size,
|
|
43
|
+
colorScheme
|
|
44
|
+
};
|
|
45
|
+
const sourcePath = size.path ?? size.src ?? startupImages.path;
|
|
46
|
+
return {
|
|
47
|
+
...image,
|
|
48
|
+
path: createStartupImagePath(sourcePath, image)
|
|
49
|
+
};
|
|
50
|
+
}));
|
|
51
|
+
};
|
|
52
|
+
var normalizeIcons = (icons) => {
|
|
53
|
+
if (Array.isArray(icons)) return icons;
|
|
54
|
+
return icons.sizes.map((size) => ({
|
|
55
|
+
src: icons.path.replaceAll("{size}", String(size)),
|
|
56
|
+
sizes: `${size}x${size}`,
|
|
57
|
+
type: icons.type
|
|
58
|
+
}));
|
|
59
|
+
};
|
|
60
|
+
var getRuntimeMetadata = (config, projectRoot = process.cwd()) => {
|
|
61
|
+
const { core, metadata, pwa } = config;
|
|
62
|
+
const { apple, microsoft } = metadata.platforms;
|
|
63
|
+
const { openGraph, twitter } = metadata.social;
|
|
64
|
+
const versionedAssetUrl = createVersionedAssetUrl(getProjectAssetBaseUrl(projectRoot), core.version);
|
|
65
|
+
const title = metadata.title;
|
|
66
|
+
const description = lowerFirst(core.description);
|
|
67
|
+
const lightThemeColor = metadata.theme.lightColor;
|
|
68
|
+
const darkThemeColor = metadata.theme.darkColor;
|
|
69
|
+
const lightBackgroundColor = metadata.theme.lightBackgroundColor;
|
|
70
|
+
const darkBackgroundColor = metadata.theme.darkBackgroundColor;
|
|
71
|
+
const faviconLight = versionedAssetUrl("favicon-light.png");
|
|
72
|
+
const faviconDark = versionedAssetUrl("favicon-dark.png");
|
|
73
|
+
const maskIcon = versionedAssetUrl("safari-pinned-tab.svg");
|
|
74
|
+
const appleTouchIcon = versionedAssetUrl(apple.touchIcon);
|
|
75
|
+
const openGraphImage = resolveSocialImage(openGraph.image);
|
|
76
|
+
const twitterImage = resolveSocialImage(twitter.image?.trim() ? twitter.image : openGraph.image);
|
|
77
|
+
const startupImages = normalizeStartupImages(apple.startupImages).map((image) => ({
|
|
78
|
+
media: getStartupImageMedia(image),
|
|
79
|
+
url: toAssetUrl(image.path ?? image.src ?? "", versionedAssetUrl)
|
|
80
|
+
}));
|
|
81
|
+
return {
|
|
82
|
+
...resolveI18n(config.i18n),
|
|
83
|
+
title,
|
|
84
|
+
description,
|
|
85
|
+
url: core.url,
|
|
86
|
+
manifest: "/manifest.webmanifest",
|
|
87
|
+
browserConfig: "/browserconfig.xml",
|
|
88
|
+
startUrl: microsoft.startUrl ?? pwa.startUrl,
|
|
89
|
+
author: core.publisher,
|
|
90
|
+
keywords: metadata.keywords,
|
|
91
|
+
theme: {
|
|
92
|
+
lightColor: lightThemeColor,
|
|
93
|
+
darkColor: darkThemeColor,
|
|
94
|
+
lightBackgroundColor,
|
|
95
|
+
darkBackgroundColor
|
|
96
|
+
},
|
|
97
|
+
mobileWebAppCapable: apple.mobileWebAppCapable,
|
|
98
|
+
apple: {
|
|
99
|
+
title: core.name,
|
|
100
|
+
capable: apple.webAppCapable,
|
|
101
|
+
touchIcon: appleTouchIcon,
|
|
102
|
+
startupImages
|
|
103
|
+
},
|
|
104
|
+
icons: {
|
|
105
|
+
faviconLight,
|
|
106
|
+
faviconDark,
|
|
107
|
+
maskIcon
|
|
108
|
+
},
|
|
109
|
+
microsoft: {
|
|
110
|
+
applicationName: core.name,
|
|
111
|
+
config: "/browserconfig.xml",
|
|
112
|
+
startUrl: microsoft.startUrl
|
|
113
|
+
},
|
|
114
|
+
openGraph: {
|
|
115
|
+
type: openGraph.type,
|
|
116
|
+
title: core.name,
|
|
117
|
+
description,
|
|
118
|
+
image: openGraphImage.url,
|
|
119
|
+
imageSource: openGraphImage.source,
|
|
120
|
+
url: core.url
|
|
121
|
+
},
|
|
122
|
+
twitter: {
|
|
123
|
+
creator: twitter.creator,
|
|
124
|
+
site: twitter.site,
|
|
125
|
+
title: core.name,
|
|
126
|
+
description,
|
|
127
|
+
image: twitterImage.url,
|
|
128
|
+
url: core.url,
|
|
129
|
+
card: twitter.card
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
//#endregion
|
|
134
|
+
export { createVersionedAssetUrl, getProjectAssetBaseUrl, getRuntimeMetadata, getStaticAssetUrl, lowerFirst, normalizeIcons, toAssetUrl };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { VxConfig } from './types';
|
|
2
|
+
export declare const getTanStackHead: (config: VxConfig, projectRoot?: string) => {
|
|
3
|
+
meta: ({
|
|
4
|
+
charSet: string;
|
|
5
|
+
name?: undefined;
|
|
6
|
+
content?: undefined;
|
|
7
|
+
title?: undefined;
|
|
8
|
+
media?: undefined;
|
|
9
|
+
property?: undefined;
|
|
10
|
+
} | {
|
|
11
|
+
name: string;
|
|
12
|
+
content: string;
|
|
13
|
+
charSet?: undefined;
|
|
14
|
+
title?: undefined;
|
|
15
|
+
media?: undefined;
|
|
16
|
+
property?: undefined;
|
|
17
|
+
} | {
|
|
18
|
+
title: string;
|
|
19
|
+
charSet?: undefined;
|
|
20
|
+
name?: undefined;
|
|
21
|
+
content?: undefined;
|
|
22
|
+
media?: undefined;
|
|
23
|
+
property?: undefined;
|
|
24
|
+
} | {
|
|
25
|
+
name: string;
|
|
26
|
+
media: string;
|
|
27
|
+
content: string;
|
|
28
|
+
charSet?: undefined;
|
|
29
|
+
title?: undefined;
|
|
30
|
+
property?: undefined;
|
|
31
|
+
} | {
|
|
32
|
+
property: string;
|
|
33
|
+
content: string;
|
|
34
|
+
charSet?: undefined;
|
|
35
|
+
name?: undefined;
|
|
36
|
+
title?: undefined;
|
|
37
|
+
media?: undefined;
|
|
38
|
+
})[];
|
|
39
|
+
links: ({
|
|
40
|
+
rel: string;
|
|
41
|
+
href: string;
|
|
42
|
+
type?: undefined;
|
|
43
|
+
media?: undefined;
|
|
44
|
+
color?: undefined;
|
|
45
|
+
} | {
|
|
46
|
+
rel: string;
|
|
47
|
+
type: string;
|
|
48
|
+
media: string;
|
|
49
|
+
href: string;
|
|
50
|
+
color?: undefined;
|
|
51
|
+
} | {
|
|
52
|
+
rel: string;
|
|
53
|
+
media: string;
|
|
54
|
+
href: string;
|
|
55
|
+
type?: undefined;
|
|
56
|
+
color?: undefined;
|
|
57
|
+
} | {
|
|
58
|
+
rel: string;
|
|
59
|
+
type: string;
|
|
60
|
+
media: string;
|
|
61
|
+
href: string;
|
|
62
|
+
color: string;
|
|
63
|
+
} | {
|
|
64
|
+
rel: string;
|
|
65
|
+
media: string;
|
|
66
|
+
href: string;
|
|
67
|
+
color: string;
|
|
68
|
+
type?: undefined;
|
|
69
|
+
})[];
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=tanstack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tanstack.d.ts","sourceRoot":"","sources":["../../../src/lib/metadata/tanstack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,eAAe,GAC1B,QAAQ,QAAQ,EAChB,oBAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgJ5B,CAAA"}
|