nuxt-site-config-kit 1.6.7 → 2.0.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/index.cjs +12 -172
- package/dist/index.d.cts +19 -31
- package/dist/index.d.mts +19 -31
- package/dist/index.d.ts +19 -31
- package/dist/index.mjs +8 -164
- package/dist/shared/nuxt-site-config-kit.469a004d.cjs +115 -0
- package/dist/shared/nuxt-site-config-kit.8664a57b.mjs +108 -0
- package/dist/urls.cjs +46 -0
- package/dist/urls.d.cts +14 -0
- package/dist/urls.d.mts +14 -0
- package/dist/urls.d.ts +14 -0
- package/dist/urls.mjs +42 -0
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1,122 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const util = require('./shared/nuxt-site-config-kit.469a004d.cjs');
|
|
3
4
|
const kit = require('@nuxt/kit');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
async function initSiteConfig(nuxt = kit.tryUseNuxt()) {
|
|
10
|
-
if (!nuxt)
|
|
11
|
-
return;
|
|
12
|
-
let siteConfig = nuxt._siteConfig;
|
|
13
|
-
if (siteConfig)
|
|
14
|
-
return siteConfig;
|
|
15
|
-
siteConfig = siteConfigStack.createSiteConfigStack();
|
|
16
|
-
siteConfig.push({
|
|
17
|
-
_priority: -20,
|
|
18
|
-
_context: "defaults",
|
|
19
|
-
defaultLocale: "en",
|
|
20
|
-
trailingSlash: false
|
|
21
|
-
});
|
|
22
|
-
const rootDir = nuxt?.options.rootDir || stdEnv.process.cwd?.() || false;
|
|
23
|
-
siteConfig.push({
|
|
24
|
-
_context: "system",
|
|
25
|
-
_priority: -15,
|
|
26
|
-
name: rootDir ? rootDir.split("/").pop() : void 0,
|
|
27
|
-
env: stdEnv.env.NODE_ENV
|
|
28
|
-
});
|
|
29
|
-
if (rootDir) {
|
|
30
|
-
const pkgJson = await pkgTypes.readPackageJSON(void 0, { startingFrom: rootDir });
|
|
31
|
-
if (pkgJson) {
|
|
32
|
-
siteConfig.push({
|
|
33
|
-
_context: "package.json",
|
|
34
|
-
_priority: -10,
|
|
35
|
-
name: pkgJson.name,
|
|
36
|
-
description: pkgJson.description
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
siteConfig.push({
|
|
41
|
-
_context: "vendorEnv",
|
|
42
|
-
_priority: -5,
|
|
43
|
-
url: [
|
|
44
|
-
// vercel
|
|
45
|
-
stdEnv.env.VERCEL_URL,
|
|
46
|
-
stdEnv.env.NUXT_ENV_VERCEL_URL,
|
|
47
|
-
// netlify
|
|
48
|
-
stdEnv.env.URL,
|
|
49
|
-
// cloudflare pages
|
|
50
|
-
stdEnv.env.CF_PAGES_URL
|
|
51
|
-
].find((k) => Boolean(k)),
|
|
52
|
-
name: [
|
|
53
|
-
// vercel
|
|
54
|
-
stdEnv.env.NUXT_ENV_VERCEL_GIT_REPO_SLUG,
|
|
55
|
-
// netlify
|
|
56
|
-
stdEnv.env.SITE_NAME
|
|
57
|
-
].find((k) => Boolean(k))
|
|
58
|
-
});
|
|
59
|
-
const runtimeConfig = nuxt.options.runtimeConfig;
|
|
60
|
-
function getRuntimeConfig(config) {
|
|
61
|
-
return runtimeConfig[`site${config}`] || runtimeConfig.public?.[`site${config}`];
|
|
62
|
-
}
|
|
63
|
-
function getEnv(config) {
|
|
64
|
-
const key = config.toUpperCase();
|
|
65
|
-
if (stdEnv.env[`NUXT_SITE_${key}`])
|
|
66
|
-
return stdEnv.env[`NUXT_SITE_${key}`];
|
|
67
|
-
if (stdEnv.env[`NUXT_PUBLIC_SITE_${key}`])
|
|
68
|
-
return stdEnv.env[`NUXT_PUBLIC_SITE_${key}`];
|
|
69
|
-
}
|
|
70
|
-
siteConfig.push({
|
|
71
|
-
_priority: -2,
|
|
72
|
-
_context: "legacyRuntimeConfig",
|
|
73
|
-
env: getRuntimeConfig("Env"),
|
|
74
|
-
url: getRuntimeConfig("Url"),
|
|
75
|
-
name: getRuntimeConfig("Name"),
|
|
76
|
-
description: getRuntimeConfig("Description"),
|
|
77
|
-
logo: getRuntimeConfig("Image"),
|
|
78
|
-
defaultLocale: getRuntimeConfig("Language"),
|
|
79
|
-
indexable: getRuntimeConfig("Indexable"),
|
|
80
|
-
...nuxt?.options.runtimeConfig.public.site || {}
|
|
81
|
-
});
|
|
82
|
-
siteConfig.push({
|
|
83
|
-
_context: "buildEnv",
|
|
84
|
-
_priority: -1,
|
|
85
|
-
env: getEnv("Env"),
|
|
86
|
-
url: getEnv("Url"),
|
|
87
|
-
name: getEnv("Name"),
|
|
88
|
-
description: getEnv("Description"),
|
|
89
|
-
logo: getEnv("Image"),
|
|
90
|
-
defaultLocale: getEnv("Language"),
|
|
91
|
-
indexable: getEnv("Indexable")
|
|
92
|
-
});
|
|
93
|
-
nuxt._siteConfig = siteConfig;
|
|
94
|
-
return siteConfig;
|
|
95
|
-
}
|
|
96
|
-
async function installNuxtSiteConfig(nuxt = kit.tryUseNuxt()) {
|
|
97
|
-
await kit.installModule(await kit.resolvePath("nuxt-site-config"));
|
|
98
|
-
await initSiteConfig(nuxt);
|
|
99
|
-
}
|
|
100
|
-
function getSiteConfigStack(nuxt = kit.tryUseNuxt()) {
|
|
101
|
-
if (!nuxt)
|
|
102
|
-
throw new Error("Nuxt context is missing.");
|
|
103
|
-
if (!nuxt._siteConfig)
|
|
104
|
-
throw new Error("Site config is not initialized. Make sure you are running your module after nuxt-site-config.");
|
|
105
|
-
return nuxt._siteConfig;
|
|
106
|
-
}
|
|
107
|
-
function updateSiteConfig(input, nuxt = kit.tryUseNuxt()) {
|
|
108
|
-
const container = getSiteConfigStack(nuxt);
|
|
109
|
-
container.push(input);
|
|
110
|
-
}
|
|
111
|
-
function useSiteConfig(nuxt = kit.tryUseNuxt()) {
|
|
112
|
-
const container = getSiteConfigStack(nuxt);
|
|
113
|
-
return container.get();
|
|
114
|
-
}
|
|
5
|
+
require('pkg-types');
|
|
6
|
+
require('site-config-stack');
|
|
7
|
+
require('ufo');
|
|
8
|
+
require('std-env');
|
|
115
9
|
|
|
116
10
|
function requireSiteConfig() {
|
|
117
11
|
}
|
|
118
12
|
function assertSiteConfig(module, requirements, options) {
|
|
119
|
-
const siteConfig = useSiteConfig();
|
|
13
|
+
const siteConfig = util.useSiteConfig();
|
|
120
14
|
let valid = true;
|
|
121
15
|
const messages = [];
|
|
122
16
|
const logger = kit.useLogger("nuxt-site-config");
|
|
@@ -145,65 +39,11 @@ function assertSiteConfig(module, requirements, options) {
|
|
|
145
39
|
};
|
|
146
40
|
}
|
|
147
41
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
if ((stdEnv.isDevelopment || stdEnv.env.prerender) && stdEnv.env.NUXT_VITE_NODE_OPTIONS) {
|
|
155
|
-
const origin = JSON.parse(stdEnv.env.NUXT_VITE_NODE_OPTIONS).baseURL.replace("/__nuxt_vite_node__", "");
|
|
156
|
-
host = ufo.withoutProtocol(origin);
|
|
157
|
-
protocol = origin.includes("https") ? "https" : "http";
|
|
158
|
-
}
|
|
159
|
-
if (typeof host === "string" && host.includes(":")) {
|
|
160
|
-
port = host.split(":").pop();
|
|
161
|
-
host = host.split(":")[0];
|
|
162
|
-
}
|
|
163
|
-
port = port ? `:${port}` : "";
|
|
164
|
-
return `${protocol}://${host}${port}/`;
|
|
165
|
-
}
|
|
166
|
-
function withSiteUrl(path, options = {}) {
|
|
167
|
-
const siteConfig = useSiteConfig();
|
|
168
|
-
if (!siteConfig.url && options.throwErrorOnMissingSiteUrl)
|
|
169
|
-
throw new Error("Missing url in site config. Please add `{ site: { url: <url> } }` to nuxt.config.ts.");
|
|
170
|
-
const nuxt = kit.useNuxt();
|
|
171
|
-
const base = nuxt.options.app.baseURL || nuxt.options.nitro.baseURL || "/";
|
|
172
|
-
return siteConfigStack.resolveSitePath(path, {
|
|
173
|
-
absolute: true,
|
|
174
|
-
siteUrl: siteConfig.url || "",
|
|
175
|
-
trailingSlash: siteConfig.trailingSlash,
|
|
176
|
-
base,
|
|
177
|
-
withBase: options.withBase
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
function withSiteTrailingSlash(path) {
|
|
181
|
-
const siteConfig = useSiteConfig();
|
|
182
|
-
return siteConfigStack.fixSlashes(siteConfig.trailingSlash, path);
|
|
183
|
-
}
|
|
184
|
-
function createSitePathResolver(options = {}, nuxt = kit.useNuxt()) {
|
|
185
|
-
const siteConfig = useSiteConfig();
|
|
186
|
-
const nitroOrigin = useNitroOrigin();
|
|
187
|
-
const canUseSiteUrl = (options.canonical !== false || stdEnv.env.prerender) && siteConfig.url;
|
|
188
|
-
const nuxtBase = nuxt.options.app.baseURL || "/";
|
|
189
|
-
return (path) => {
|
|
190
|
-
return siteConfigStack.resolveSitePath(path, {
|
|
191
|
-
...options,
|
|
192
|
-
siteUrl: canUseSiteUrl ? siteConfig.url : nitroOrigin,
|
|
193
|
-
trailingSlash: siteConfig.trailingSlash,
|
|
194
|
-
base: nuxtBase
|
|
195
|
-
});
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
|
|
42
|
+
exports.getSiteConfigStack = util.getSiteConfigStack;
|
|
43
|
+
exports.initSiteConfig = util.initSiteConfig;
|
|
44
|
+
exports.installNuxtSiteConfig = util.installNuxtSiteConfig;
|
|
45
|
+
exports.updateSiteConfig = util.updateSiteConfig;
|
|
46
|
+
exports.useNitroOrigin = util.useNitroOrigin;
|
|
47
|
+
exports.useSiteConfig = util.useSiteConfig;
|
|
199
48
|
exports.assertSiteConfig = assertSiteConfig;
|
|
200
|
-
exports.createSitePathResolver = createSitePathResolver;
|
|
201
|
-
exports.getSiteConfigStack = getSiteConfigStack;
|
|
202
|
-
exports.initSiteConfig = initSiteConfig;
|
|
203
|
-
exports.installNuxtSiteConfig = installNuxtSiteConfig;
|
|
204
49
|
exports.requireSiteConfig = requireSiteConfig;
|
|
205
|
-
exports.updateSiteConfig = updateSiteConfig;
|
|
206
|
-
exports.useNitroOrigin = useNitroOrigin;
|
|
207
|
-
exports.useSiteConfig = useSiteConfig;
|
|
208
|
-
exports.withSiteTrailingSlash = withSiteTrailingSlash;
|
|
209
|
-
exports.withSiteUrl = withSiteUrl;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
|
-
import { SiteConfigInput, SiteConfigStack, SiteConfig } from 'site-config-stack';
|
|
2
|
-
export { SiteConfig, SiteConfigInput, SiteConfigStack } from 'site-config-stack';
|
|
3
|
-
import * as _nuxt_schema from '@nuxt/schema';
|
|
4
1
|
import { Nuxt } from '@nuxt/schema';
|
|
2
|
+
import { SiteConfigStack, SiteConfigInput, SiteConfigResolved } from 'site-config-stack';
|
|
3
|
+
|
|
4
|
+
declare function initSiteConfig(nuxt?: Nuxt | null): Promise<SiteConfigStack | undefined>;
|
|
5
|
+
declare function installNuxtSiteConfig(nuxt?: Nuxt | null): Promise<void>;
|
|
6
|
+
declare function getSiteConfigStack(nuxt?: Nuxt | null): SiteConfigStack;
|
|
7
|
+
declare function updateSiteConfig(input: SiteConfigInput, nuxt?: Nuxt | null): void;
|
|
8
|
+
declare function useSiteConfig(nuxt?: Nuxt | null): SiteConfigResolved;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated No longer used
|
|
12
|
+
*/
|
|
13
|
+
declare function requireSiteConfig(): void;
|
|
14
|
+
declare function assertSiteConfig(module: string, requirements: Partial<Record<keyof SiteConfigResolved, string>>, options?: {
|
|
15
|
+
throwError?: boolean;
|
|
16
|
+
}): {
|
|
17
|
+
valid: boolean;
|
|
18
|
+
messages: string[];
|
|
19
|
+
};
|
|
5
20
|
|
|
6
21
|
type AssertionModes = 'prerender' | 'generate' | 'build';
|
|
7
22
|
interface ModuleAssertion {
|
|
@@ -19,33 +34,6 @@ declare module '@nuxt/schema' {
|
|
|
19
34
|
}
|
|
20
35
|
}
|
|
21
36
|
|
|
22
|
-
declare function initSiteConfig(nuxt?: Nuxt | null): Promise<SiteConfigStack | undefined>;
|
|
23
|
-
declare function installNuxtSiteConfig(nuxt?: Nuxt | null): Promise<void>;
|
|
24
|
-
declare function getSiteConfigStack(nuxt?: Nuxt | null): SiteConfigStack;
|
|
25
|
-
declare function updateSiteConfig(input: SiteConfigInput, nuxt?: Nuxt | null): void;
|
|
26
|
-
declare function useSiteConfig(nuxt?: Nuxt | null): SiteConfig;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @deprecated No longer used
|
|
30
|
-
*/
|
|
31
|
-
declare function requireSiteConfig(): void;
|
|
32
|
-
declare function assertSiteConfig(module: string, requirements: Partial<Record<keyof SiteConfig, string>>, options?: {
|
|
33
|
-
throwError?: boolean;
|
|
34
|
-
}): {
|
|
35
|
-
valid: boolean;
|
|
36
|
-
messages: string[];
|
|
37
|
-
};
|
|
38
|
-
|
|
39
37
|
declare function useNitroOrigin(): string;
|
|
40
|
-
declare function withSiteUrl(path: string, options?: {
|
|
41
|
-
withBase?: boolean;
|
|
42
|
-
throwErrorOnMissingSiteUrl?: boolean;
|
|
43
|
-
}): string;
|
|
44
|
-
declare function withSiteTrailingSlash(path: string): string;
|
|
45
|
-
declare function createSitePathResolver(options?: {
|
|
46
|
-
canonical?: boolean;
|
|
47
|
-
absolute?: boolean;
|
|
48
|
-
withBase?: boolean;
|
|
49
|
-
}, nuxt?: _nuxt_schema.Nuxt): (path: string) => string;
|
|
50
38
|
|
|
51
|
-
export { type AssertionModes, type ModuleAssertion, assertSiteConfig,
|
|
39
|
+
export { type AssertionModes, type ModuleAssertion, assertSiteConfig, getSiteConfigStack, initSiteConfig, installNuxtSiteConfig, requireSiteConfig, updateSiteConfig, useNitroOrigin, useSiteConfig };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
|
-
import { SiteConfigInput, SiteConfigStack, SiteConfig } from 'site-config-stack';
|
|
2
|
-
export { SiteConfig, SiteConfigInput, SiteConfigStack } from 'site-config-stack';
|
|
3
|
-
import * as _nuxt_schema from '@nuxt/schema';
|
|
4
1
|
import { Nuxt } from '@nuxt/schema';
|
|
2
|
+
import { SiteConfigStack, SiteConfigInput, SiteConfigResolved } from 'site-config-stack';
|
|
3
|
+
|
|
4
|
+
declare function initSiteConfig(nuxt?: Nuxt | null): Promise<SiteConfigStack | undefined>;
|
|
5
|
+
declare function installNuxtSiteConfig(nuxt?: Nuxt | null): Promise<void>;
|
|
6
|
+
declare function getSiteConfigStack(nuxt?: Nuxt | null): SiteConfigStack;
|
|
7
|
+
declare function updateSiteConfig(input: SiteConfigInput, nuxt?: Nuxt | null): void;
|
|
8
|
+
declare function useSiteConfig(nuxt?: Nuxt | null): SiteConfigResolved;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated No longer used
|
|
12
|
+
*/
|
|
13
|
+
declare function requireSiteConfig(): void;
|
|
14
|
+
declare function assertSiteConfig(module: string, requirements: Partial<Record<keyof SiteConfigResolved, string>>, options?: {
|
|
15
|
+
throwError?: boolean;
|
|
16
|
+
}): {
|
|
17
|
+
valid: boolean;
|
|
18
|
+
messages: string[];
|
|
19
|
+
};
|
|
5
20
|
|
|
6
21
|
type AssertionModes = 'prerender' | 'generate' | 'build';
|
|
7
22
|
interface ModuleAssertion {
|
|
@@ -19,33 +34,6 @@ declare module '@nuxt/schema' {
|
|
|
19
34
|
}
|
|
20
35
|
}
|
|
21
36
|
|
|
22
|
-
declare function initSiteConfig(nuxt?: Nuxt | null): Promise<SiteConfigStack | undefined>;
|
|
23
|
-
declare function installNuxtSiteConfig(nuxt?: Nuxt | null): Promise<void>;
|
|
24
|
-
declare function getSiteConfigStack(nuxt?: Nuxt | null): SiteConfigStack;
|
|
25
|
-
declare function updateSiteConfig(input: SiteConfigInput, nuxt?: Nuxt | null): void;
|
|
26
|
-
declare function useSiteConfig(nuxt?: Nuxt | null): SiteConfig;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @deprecated No longer used
|
|
30
|
-
*/
|
|
31
|
-
declare function requireSiteConfig(): void;
|
|
32
|
-
declare function assertSiteConfig(module: string, requirements: Partial<Record<keyof SiteConfig, string>>, options?: {
|
|
33
|
-
throwError?: boolean;
|
|
34
|
-
}): {
|
|
35
|
-
valid: boolean;
|
|
36
|
-
messages: string[];
|
|
37
|
-
};
|
|
38
|
-
|
|
39
37
|
declare function useNitroOrigin(): string;
|
|
40
|
-
declare function withSiteUrl(path: string, options?: {
|
|
41
|
-
withBase?: boolean;
|
|
42
|
-
throwErrorOnMissingSiteUrl?: boolean;
|
|
43
|
-
}): string;
|
|
44
|
-
declare function withSiteTrailingSlash(path: string): string;
|
|
45
|
-
declare function createSitePathResolver(options?: {
|
|
46
|
-
canonical?: boolean;
|
|
47
|
-
absolute?: boolean;
|
|
48
|
-
withBase?: boolean;
|
|
49
|
-
}, nuxt?: _nuxt_schema.Nuxt): (path: string) => string;
|
|
50
38
|
|
|
51
|
-
export { type AssertionModes, type ModuleAssertion, assertSiteConfig,
|
|
39
|
+
export { type AssertionModes, type ModuleAssertion, assertSiteConfig, getSiteConfigStack, initSiteConfig, installNuxtSiteConfig, requireSiteConfig, updateSiteConfig, useNitroOrigin, useSiteConfig };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
|
-
import { SiteConfigInput, SiteConfigStack, SiteConfig } from 'site-config-stack';
|
|
2
|
-
export { SiteConfig, SiteConfigInput, SiteConfigStack } from 'site-config-stack';
|
|
3
|
-
import * as _nuxt_schema from '@nuxt/schema';
|
|
4
1
|
import { Nuxt } from '@nuxt/schema';
|
|
2
|
+
import { SiteConfigStack, SiteConfigInput, SiteConfigResolved } from 'site-config-stack';
|
|
3
|
+
|
|
4
|
+
declare function initSiteConfig(nuxt?: Nuxt | null): Promise<SiteConfigStack | undefined>;
|
|
5
|
+
declare function installNuxtSiteConfig(nuxt?: Nuxt | null): Promise<void>;
|
|
6
|
+
declare function getSiteConfigStack(nuxt?: Nuxt | null): SiteConfigStack;
|
|
7
|
+
declare function updateSiteConfig(input: SiteConfigInput, nuxt?: Nuxt | null): void;
|
|
8
|
+
declare function useSiteConfig(nuxt?: Nuxt | null): SiteConfigResolved;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated No longer used
|
|
12
|
+
*/
|
|
13
|
+
declare function requireSiteConfig(): void;
|
|
14
|
+
declare function assertSiteConfig(module: string, requirements: Partial<Record<keyof SiteConfigResolved, string>>, options?: {
|
|
15
|
+
throwError?: boolean;
|
|
16
|
+
}): {
|
|
17
|
+
valid: boolean;
|
|
18
|
+
messages: string[];
|
|
19
|
+
};
|
|
5
20
|
|
|
6
21
|
type AssertionModes = 'prerender' | 'generate' | 'build';
|
|
7
22
|
interface ModuleAssertion {
|
|
@@ -19,33 +34,6 @@ declare module '@nuxt/schema' {
|
|
|
19
34
|
}
|
|
20
35
|
}
|
|
21
36
|
|
|
22
|
-
declare function initSiteConfig(nuxt?: Nuxt | null): Promise<SiteConfigStack | undefined>;
|
|
23
|
-
declare function installNuxtSiteConfig(nuxt?: Nuxt | null): Promise<void>;
|
|
24
|
-
declare function getSiteConfigStack(nuxt?: Nuxt | null): SiteConfigStack;
|
|
25
|
-
declare function updateSiteConfig(input: SiteConfigInput, nuxt?: Nuxt | null): void;
|
|
26
|
-
declare function useSiteConfig(nuxt?: Nuxt | null): SiteConfig;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @deprecated No longer used
|
|
30
|
-
*/
|
|
31
|
-
declare function requireSiteConfig(): void;
|
|
32
|
-
declare function assertSiteConfig(module: string, requirements: Partial<Record<keyof SiteConfig, string>>, options?: {
|
|
33
|
-
throwError?: boolean;
|
|
34
|
-
}): {
|
|
35
|
-
valid: boolean;
|
|
36
|
-
messages: string[];
|
|
37
|
-
};
|
|
38
|
-
|
|
39
37
|
declare function useNitroOrigin(): string;
|
|
40
|
-
declare function withSiteUrl(path: string, options?: {
|
|
41
|
-
withBase?: boolean;
|
|
42
|
-
throwErrorOnMissingSiteUrl?: boolean;
|
|
43
|
-
}): string;
|
|
44
|
-
declare function withSiteTrailingSlash(path: string): string;
|
|
45
|
-
declare function createSitePathResolver(options?: {
|
|
46
|
-
canonical?: boolean;
|
|
47
|
-
absolute?: boolean;
|
|
48
|
-
withBase?: boolean;
|
|
49
|
-
}, nuxt?: _nuxt_schema.Nuxt): (path: string) => string;
|
|
50
38
|
|
|
51
|
-
export { type AssertionModes, type ModuleAssertion, assertSiteConfig,
|
|
39
|
+
export { type AssertionModes, type ModuleAssertion, assertSiteConfig, getSiteConfigStack, initSiteConfig, installNuxtSiteConfig, requireSiteConfig, updateSiteConfig, useNitroOrigin, useSiteConfig };
|
package/dist/index.mjs
CHANGED
|
@@ -1,115 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (!nuxt)
|
|
9
|
-
return;
|
|
10
|
-
let siteConfig = nuxt._siteConfig;
|
|
11
|
-
if (siteConfig)
|
|
12
|
-
return siteConfig;
|
|
13
|
-
siteConfig = createSiteConfigStack();
|
|
14
|
-
siteConfig.push({
|
|
15
|
-
_priority: -20,
|
|
16
|
-
_context: "defaults",
|
|
17
|
-
defaultLocale: "en",
|
|
18
|
-
trailingSlash: false
|
|
19
|
-
});
|
|
20
|
-
const rootDir = nuxt?.options.rootDir || process.cwd?.() || false;
|
|
21
|
-
siteConfig.push({
|
|
22
|
-
_context: "system",
|
|
23
|
-
_priority: -15,
|
|
24
|
-
name: rootDir ? rootDir.split("/").pop() : void 0,
|
|
25
|
-
env: env.NODE_ENV
|
|
26
|
-
});
|
|
27
|
-
if (rootDir) {
|
|
28
|
-
const pkgJson = await readPackageJSON(void 0, { startingFrom: rootDir });
|
|
29
|
-
if (pkgJson) {
|
|
30
|
-
siteConfig.push({
|
|
31
|
-
_context: "package.json",
|
|
32
|
-
_priority: -10,
|
|
33
|
-
name: pkgJson.name,
|
|
34
|
-
description: pkgJson.description
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
siteConfig.push({
|
|
39
|
-
_context: "vendorEnv",
|
|
40
|
-
_priority: -5,
|
|
41
|
-
url: [
|
|
42
|
-
// vercel
|
|
43
|
-
env.VERCEL_URL,
|
|
44
|
-
env.NUXT_ENV_VERCEL_URL,
|
|
45
|
-
// netlify
|
|
46
|
-
env.URL,
|
|
47
|
-
// cloudflare pages
|
|
48
|
-
env.CF_PAGES_URL
|
|
49
|
-
].find((k) => Boolean(k)),
|
|
50
|
-
name: [
|
|
51
|
-
// vercel
|
|
52
|
-
env.NUXT_ENV_VERCEL_GIT_REPO_SLUG,
|
|
53
|
-
// netlify
|
|
54
|
-
env.SITE_NAME
|
|
55
|
-
].find((k) => Boolean(k))
|
|
56
|
-
});
|
|
57
|
-
const runtimeConfig = nuxt.options.runtimeConfig;
|
|
58
|
-
function getRuntimeConfig(config) {
|
|
59
|
-
return runtimeConfig[`site${config}`] || runtimeConfig.public?.[`site${config}`];
|
|
60
|
-
}
|
|
61
|
-
function getEnv(config) {
|
|
62
|
-
const key = config.toUpperCase();
|
|
63
|
-
if (env[`NUXT_SITE_${key}`])
|
|
64
|
-
return env[`NUXT_SITE_${key}`];
|
|
65
|
-
if (env[`NUXT_PUBLIC_SITE_${key}`])
|
|
66
|
-
return env[`NUXT_PUBLIC_SITE_${key}`];
|
|
67
|
-
}
|
|
68
|
-
siteConfig.push({
|
|
69
|
-
_priority: -2,
|
|
70
|
-
_context: "legacyRuntimeConfig",
|
|
71
|
-
env: getRuntimeConfig("Env"),
|
|
72
|
-
url: getRuntimeConfig("Url"),
|
|
73
|
-
name: getRuntimeConfig("Name"),
|
|
74
|
-
description: getRuntimeConfig("Description"),
|
|
75
|
-
logo: getRuntimeConfig("Image"),
|
|
76
|
-
defaultLocale: getRuntimeConfig("Language"),
|
|
77
|
-
indexable: getRuntimeConfig("Indexable"),
|
|
78
|
-
...nuxt?.options.runtimeConfig.public.site || {}
|
|
79
|
-
});
|
|
80
|
-
siteConfig.push({
|
|
81
|
-
_context: "buildEnv",
|
|
82
|
-
_priority: -1,
|
|
83
|
-
env: getEnv("Env"),
|
|
84
|
-
url: getEnv("Url"),
|
|
85
|
-
name: getEnv("Name"),
|
|
86
|
-
description: getEnv("Description"),
|
|
87
|
-
logo: getEnv("Image"),
|
|
88
|
-
defaultLocale: getEnv("Language"),
|
|
89
|
-
indexable: getEnv("Indexable")
|
|
90
|
-
});
|
|
91
|
-
nuxt._siteConfig = siteConfig;
|
|
92
|
-
return siteConfig;
|
|
93
|
-
}
|
|
94
|
-
async function installNuxtSiteConfig(nuxt = tryUseNuxt()) {
|
|
95
|
-
await installModule(await resolvePath("nuxt-site-config"));
|
|
96
|
-
await initSiteConfig(nuxt);
|
|
97
|
-
}
|
|
98
|
-
function getSiteConfigStack(nuxt = tryUseNuxt()) {
|
|
99
|
-
if (!nuxt)
|
|
100
|
-
throw new Error("Nuxt context is missing.");
|
|
101
|
-
if (!nuxt._siteConfig)
|
|
102
|
-
throw new Error("Site config is not initialized. Make sure you are running your module after nuxt-site-config.");
|
|
103
|
-
return nuxt._siteConfig;
|
|
104
|
-
}
|
|
105
|
-
function updateSiteConfig(input, nuxt = tryUseNuxt()) {
|
|
106
|
-
const container = getSiteConfigStack(nuxt);
|
|
107
|
-
container.push(input);
|
|
108
|
-
}
|
|
109
|
-
function useSiteConfig(nuxt = tryUseNuxt()) {
|
|
110
|
-
const container = getSiteConfigStack(nuxt);
|
|
111
|
-
return container.get();
|
|
112
|
-
}
|
|
1
|
+
import { u as useSiteConfig } from './shared/nuxt-site-config-kit.8664a57b.mjs';
|
|
2
|
+
export { g as getSiteConfigStack, i as initSiteConfig, a as installNuxtSiteConfig, b as updateSiteConfig, c as useNitroOrigin } from './shared/nuxt-site-config-kit.8664a57b.mjs';
|
|
3
|
+
import { useLogger } from '@nuxt/kit';
|
|
4
|
+
import 'pkg-types';
|
|
5
|
+
import 'site-config-stack';
|
|
6
|
+
import 'ufo';
|
|
7
|
+
import 'std-env';
|
|
113
8
|
|
|
114
9
|
function requireSiteConfig() {
|
|
115
10
|
}
|
|
@@ -143,55 +38,4 @@ function assertSiteConfig(module, requirements, options) {
|
|
|
143
38
|
};
|
|
144
39
|
}
|
|
145
40
|
|
|
146
|
-
|
|
147
|
-
const cert = env.NITRO_SSL_CERT;
|
|
148
|
-
const key = env.NITRO_SSL_KEY;
|
|
149
|
-
let host = env.NITRO_HOST || env.HOST || false;
|
|
150
|
-
let port = env.NITRO_PORT || env.PORT || (isDevelopment ? 3e3 : false);
|
|
151
|
-
let protocol = cert && key || !isDevelopment ? "https" : "http";
|
|
152
|
-
if ((isDevelopment || env.prerender) && env.NUXT_VITE_NODE_OPTIONS) {
|
|
153
|
-
const origin = JSON.parse(env.NUXT_VITE_NODE_OPTIONS).baseURL.replace("/__nuxt_vite_node__", "");
|
|
154
|
-
host = withoutProtocol(origin);
|
|
155
|
-
protocol = origin.includes("https") ? "https" : "http";
|
|
156
|
-
}
|
|
157
|
-
if (typeof host === "string" && host.includes(":")) {
|
|
158
|
-
port = host.split(":").pop();
|
|
159
|
-
host = host.split(":")[0];
|
|
160
|
-
}
|
|
161
|
-
port = port ? `:${port}` : "";
|
|
162
|
-
return `${protocol}://${host}${port}/`;
|
|
163
|
-
}
|
|
164
|
-
function withSiteUrl(path, options = {}) {
|
|
165
|
-
const siteConfig = useSiteConfig();
|
|
166
|
-
if (!siteConfig.url && options.throwErrorOnMissingSiteUrl)
|
|
167
|
-
throw new Error("Missing url in site config. Please add `{ site: { url: <url> } }` to nuxt.config.ts.");
|
|
168
|
-
const nuxt = useNuxt();
|
|
169
|
-
const base = nuxt.options.app.baseURL || nuxt.options.nitro.baseURL || "/";
|
|
170
|
-
return resolveSitePath(path, {
|
|
171
|
-
absolute: true,
|
|
172
|
-
siteUrl: siteConfig.url || "",
|
|
173
|
-
trailingSlash: siteConfig.trailingSlash,
|
|
174
|
-
base,
|
|
175
|
-
withBase: options.withBase
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
function withSiteTrailingSlash(path) {
|
|
179
|
-
const siteConfig = useSiteConfig();
|
|
180
|
-
return fixSlashes(siteConfig.trailingSlash, path);
|
|
181
|
-
}
|
|
182
|
-
function createSitePathResolver(options = {}, nuxt = useNuxt()) {
|
|
183
|
-
const siteConfig = useSiteConfig();
|
|
184
|
-
const nitroOrigin = useNitroOrigin();
|
|
185
|
-
const canUseSiteUrl = (options.canonical !== false || env.prerender) && siteConfig.url;
|
|
186
|
-
const nuxtBase = nuxt.options.app.baseURL || "/";
|
|
187
|
-
return (path) => {
|
|
188
|
-
return resolveSitePath(path, {
|
|
189
|
-
...options,
|
|
190
|
-
siteUrl: canUseSiteUrl ? siteConfig.url : nitroOrigin,
|
|
191
|
-
trailingSlash: siteConfig.trailingSlash,
|
|
192
|
-
base: nuxtBase
|
|
193
|
-
});
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
export { assertSiteConfig, createSitePathResolver, getSiteConfigStack, initSiteConfig, installNuxtSiteConfig, requireSiteConfig, updateSiteConfig, useNitroOrigin, useSiteConfig, withSiteTrailingSlash, withSiteUrl };
|
|
41
|
+
export { assertSiteConfig, requireSiteConfig, useSiteConfig };
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const kit = require('@nuxt/kit');
|
|
4
|
+
const pkgTypes = require('pkg-types');
|
|
5
|
+
const siteConfigStack = require('site-config-stack');
|
|
6
|
+
const ufo = require('ufo');
|
|
7
|
+
const stdEnv = require('std-env');
|
|
8
|
+
|
|
9
|
+
async function initSiteConfig(nuxt = kit.tryUseNuxt()) {
|
|
10
|
+
if (!nuxt)
|
|
11
|
+
return;
|
|
12
|
+
let siteConfig = nuxt._siteConfig;
|
|
13
|
+
if (siteConfig)
|
|
14
|
+
return siteConfig;
|
|
15
|
+
siteConfig = siteConfigStack.createSiteConfigStack();
|
|
16
|
+
const rootDir = nuxt?.options.rootDir || process.cwd?.() || false;
|
|
17
|
+
siteConfig.push({
|
|
18
|
+
_context: "system",
|
|
19
|
+
_priority: -15,
|
|
20
|
+
name: rootDir ? rootDir.split("/").pop() : void 0,
|
|
21
|
+
env: process.env.NODE_ENV
|
|
22
|
+
});
|
|
23
|
+
if (rootDir) {
|
|
24
|
+
const pkgJson = await pkgTypes.readPackageJSON(void 0, { startingFrom: rootDir });
|
|
25
|
+
if (pkgJson) {
|
|
26
|
+
siteConfig.push({
|
|
27
|
+
_context: "package.json",
|
|
28
|
+
_priority: -10,
|
|
29
|
+
name: pkgJson.name,
|
|
30
|
+
description: pkgJson.description
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
siteConfig.push({
|
|
35
|
+
_context: "vendorEnv",
|
|
36
|
+
_priority: -5,
|
|
37
|
+
url: [
|
|
38
|
+
// vercel
|
|
39
|
+
process.env.VERCEL_URL,
|
|
40
|
+
process.env.NUXT_ENV_VERCEL_URL,
|
|
41
|
+
// netlify
|
|
42
|
+
process.env.URL,
|
|
43
|
+
// cloudflare pages
|
|
44
|
+
process.env.CF_PAGES_URL
|
|
45
|
+
].find((k) => Boolean(k)),
|
|
46
|
+
name: [
|
|
47
|
+
// vercel
|
|
48
|
+
process.env.NUXT_ENV_VERCEL_GIT_REPO_SLUG,
|
|
49
|
+
// netlify
|
|
50
|
+
process.env.SITE_NAME
|
|
51
|
+
].find((k) => Boolean(k))
|
|
52
|
+
});
|
|
53
|
+
const runtimeConfig = nuxt.options.runtimeConfig;
|
|
54
|
+
const runtimeConfigEnvKeys = [
|
|
55
|
+
...Object.entries(runtimeConfig.site || {}).filter(([k]) => k.startsWith("site")).map(([k, v]) => [k.replace(/^site/, ""), v]),
|
|
56
|
+
...Object.entries([...Object.entries(runtimeConfig), ...Object.entries(runtimeConfig.public)]).filter(([k]) => k.startsWith("site")).map(([k, v]) => [k.replace(/^site/, ""), v])
|
|
57
|
+
];
|
|
58
|
+
siteConfig.push({
|
|
59
|
+
_priority: -2,
|
|
60
|
+
_context: "legacyRuntimeConfig",
|
|
61
|
+
...Object.fromEntries(runtimeConfigEnvKeys)
|
|
62
|
+
});
|
|
63
|
+
siteConfig.push({
|
|
64
|
+
_context: "buildEnv",
|
|
65
|
+
_priority: -1,
|
|
66
|
+
...siteConfigStack.envSiteConfig(process.env)
|
|
67
|
+
});
|
|
68
|
+
nuxt._siteConfig = siteConfig;
|
|
69
|
+
return siteConfig;
|
|
70
|
+
}
|
|
71
|
+
async function installNuxtSiteConfig(nuxt = kit.tryUseNuxt()) {
|
|
72
|
+
await kit.installModule(await kit.resolvePath("nuxt-site-config"));
|
|
73
|
+
await initSiteConfig(nuxt);
|
|
74
|
+
}
|
|
75
|
+
function getSiteConfigStack(nuxt = kit.tryUseNuxt()) {
|
|
76
|
+
if (!nuxt)
|
|
77
|
+
throw new Error("Nuxt context is missing.");
|
|
78
|
+
if (!nuxt._siteConfig)
|
|
79
|
+
throw new Error("Site config is not initialized. Make sure you are running your module after nuxt-site-config.");
|
|
80
|
+
return nuxt._siteConfig;
|
|
81
|
+
}
|
|
82
|
+
function updateSiteConfig(input, nuxt = kit.tryUseNuxt()) {
|
|
83
|
+
const container = getSiteConfigStack(nuxt);
|
|
84
|
+
container.push(input);
|
|
85
|
+
}
|
|
86
|
+
function useSiteConfig(nuxt = kit.tryUseNuxt()) {
|
|
87
|
+
const container = getSiteConfigStack(nuxt);
|
|
88
|
+
return container.get();
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
function useNitroOrigin() {
|
|
92
|
+
const cert = stdEnv.env.NITRO_SSL_CERT;
|
|
93
|
+
const key = stdEnv.env.NITRO_SSL_KEY;
|
|
94
|
+
let host = stdEnv.env.NITRO_HOST || stdEnv.env.HOST || false;
|
|
95
|
+
let port = stdEnv.env.NITRO_PORT || stdEnv.env.PORT || (stdEnv.isDevelopment ? 3e3 : false);
|
|
96
|
+
let protocol = cert && key || !stdEnv.isDevelopment ? "https" : "http";
|
|
97
|
+
if ((stdEnv.isDevelopment || stdEnv.env.prerender) && stdEnv.env.NUXT_VITE_NODE_OPTIONS) {
|
|
98
|
+
const origin = JSON.parse(stdEnv.env.NUXT_VITE_NODE_OPTIONS).baseURL.replace("/__nuxt_vite_node__", "");
|
|
99
|
+
host = ufo.withoutProtocol(origin);
|
|
100
|
+
protocol = origin.includes("https") ? "https" : "http";
|
|
101
|
+
}
|
|
102
|
+
if (typeof host === "string" && host.includes(":")) {
|
|
103
|
+
port = host.split(":").pop();
|
|
104
|
+
host = host.split(":")[0];
|
|
105
|
+
}
|
|
106
|
+
port = port ? `:${port}` : "";
|
|
107
|
+
return `${protocol}://${host}${port}/`;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
exports.getSiteConfigStack = getSiteConfigStack;
|
|
111
|
+
exports.initSiteConfig = initSiteConfig;
|
|
112
|
+
exports.installNuxtSiteConfig = installNuxtSiteConfig;
|
|
113
|
+
exports.updateSiteConfig = updateSiteConfig;
|
|
114
|
+
exports.useNitroOrigin = useNitroOrigin;
|
|
115
|
+
exports.useSiteConfig = useSiteConfig;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { tryUseNuxt, installModule, resolvePath } from '@nuxt/kit';
|
|
2
|
+
import { readPackageJSON } from 'pkg-types';
|
|
3
|
+
import { createSiteConfigStack, envSiteConfig } from 'site-config-stack';
|
|
4
|
+
import { withoutProtocol } from 'ufo';
|
|
5
|
+
import { env, isDevelopment } from 'std-env';
|
|
6
|
+
|
|
7
|
+
async function initSiteConfig(nuxt = tryUseNuxt()) {
|
|
8
|
+
if (!nuxt)
|
|
9
|
+
return;
|
|
10
|
+
let siteConfig = nuxt._siteConfig;
|
|
11
|
+
if (siteConfig)
|
|
12
|
+
return siteConfig;
|
|
13
|
+
siteConfig = createSiteConfigStack();
|
|
14
|
+
const rootDir = nuxt?.options.rootDir || process.cwd?.() || false;
|
|
15
|
+
siteConfig.push({
|
|
16
|
+
_context: "system",
|
|
17
|
+
_priority: -15,
|
|
18
|
+
name: rootDir ? rootDir.split("/").pop() : void 0,
|
|
19
|
+
env: process.env.NODE_ENV
|
|
20
|
+
});
|
|
21
|
+
if (rootDir) {
|
|
22
|
+
const pkgJson = await readPackageJSON(void 0, { startingFrom: rootDir });
|
|
23
|
+
if (pkgJson) {
|
|
24
|
+
siteConfig.push({
|
|
25
|
+
_context: "package.json",
|
|
26
|
+
_priority: -10,
|
|
27
|
+
name: pkgJson.name,
|
|
28
|
+
description: pkgJson.description
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
siteConfig.push({
|
|
33
|
+
_context: "vendorEnv",
|
|
34
|
+
_priority: -5,
|
|
35
|
+
url: [
|
|
36
|
+
// vercel
|
|
37
|
+
process.env.VERCEL_URL,
|
|
38
|
+
process.env.NUXT_ENV_VERCEL_URL,
|
|
39
|
+
// netlify
|
|
40
|
+
process.env.URL,
|
|
41
|
+
// cloudflare pages
|
|
42
|
+
process.env.CF_PAGES_URL
|
|
43
|
+
].find((k) => Boolean(k)),
|
|
44
|
+
name: [
|
|
45
|
+
// vercel
|
|
46
|
+
process.env.NUXT_ENV_VERCEL_GIT_REPO_SLUG,
|
|
47
|
+
// netlify
|
|
48
|
+
process.env.SITE_NAME
|
|
49
|
+
].find((k) => Boolean(k))
|
|
50
|
+
});
|
|
51
|
+
const runtimeConfig = nuxt.options.runtimeConfig;
|
|
52
|
+
const runtimeConfigEnvKeys = [
|
|
53
|
+
...Object.entries(runtimeConfig.site || {}).filter(([k]) => k.startsWith("site")).map(([k, v]) => [k.replace(/^site/, ""), v]),
|
|
54
|
+
...Object.entries([...Object.entries(runtimeConfig), ...Object.entries(runtimeConfig.public)]).filter(([k]) => k.startsWith("site")).map(([k, v]) => [k.replace(/^site/, ""), v])
|
|
55
|
+
];
|
|
56
|
+
siteConfig.push({
|
|
57
|
+
_priority: -2,
|
|
58
|
+
_context: "legacyRuntimeConfig",
|
|
59
|
+
...Object.fromEntries(runtimeConfigEnvKeys)
|
|
60
|
+
});
|
|
61
|
+
siteConfig.push({
|
|
62
|
+
_context: "buildEnv",
|
|
63
|
+
_priority: -1,
|
|
64
|
+
...envSiteConfig(process.env)
|
|
65
|
+
});
|
|
66
|
+
nuxt._siteConfig = siteConfig;
|
|
67
|
+
return siteConfig;
|
|
68
|
+
}
|
|
69
|
+
async function installNuxtSiteConfig(nuxt = tryUseNuxt()) {
|
|
70
|
+
await installModule(await resolvePath("nuxt-site-config"));
|
|
71
|
+
await initSiteConfig(nuxt);
|
|
72
|
+
}
|
|
73
|
+
function getSiteConfigStack(nuxt = tryUseNuxt()) {
|
|
74
|
+
if (!nuxt)
|
|
75
|
+
throw new Error("Nuxt context is missing.");
|
|
76
|
+
if (!nuxt._siteConfig)
|
|
77
|
+
throw new Error("Site config is not initialized. Make sure you are running your module after nuxt-site-config.");
|
|
78
|
+
return nuxt._siteConfig;
|
|
79
|
+
}
|
|
80
|
+
function updateSiteConfig(input, nuxt = tryUseNuxt()) {
|
|
81
|
+
const container = getSiteConfigStack(nuxt);
|
|
82
|
+
container.push(input);
|
|
83
|
+
}
|
|
84
|
+
function useSiteConfig(nuxt = tryUseNuxt()) {
|
|
85
|
+
const container = getSiteConfigStack(nuxt);
|
|
86
|
+
return container.get();
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function useNitroOrigin() {
|
|
90
|
+
const cert = env.NITRO_SSL_CERT;
|
|
91
|
+
const key = env.NITRO_SSL_KEY;
|
|
92
|
+
let host = env.NITRO_HOST || env.HOST || false;
|
|
93
|
+
let port = env.NITRO_PORT || env.PORT || (isDevelopment ? 3e3 : false);
|
|
94
|
+
let protocol = cert && key || !isDevelopment ? "https" : "http";
|
|
95
|
+
if ((isDevelopment || env.prerender) && env.NUXT_VITE_NODE_OPTIONS) {
|
|
96
|
+
const origin = JSON.parse(env.NUXT_VITE_NODE_OPTIONS).baseURL.replace("/__nuxt_vite_node__", "");
|
|
97
|
+
host = withoutProtocol(origin);
|
|
98
|
+
protocol = origin.includes("https") ? "https" : "http";
|
|
99
|
+
}
|
|
100
|
+
if (typeof host === "string" && host.includes(":")) {
|
|
101
|
+
port = host.split(":").pop();
|
|
102
|
+
host = host.split(":")[0];
|
|
103
|
+
}
|
|
104
|
+
port = port ? `:${port}` : "";
|
|
105
|
+
return `${protocol}://${host}${port}/`;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export { installNuxtSiteConfig as a, updateSiteConfig as b, useNitroOrigin as c, getSiteConfigStack as g, initSiteConfig as i, useSiteConfig as u };
|
package/dist/urls.cjs
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const urls = require('site-config-stack/urls');
|
|
4
|
+
const kit = require('@nuxt/kit');
|
|
5
|
+
const stdEnv = require('std-env');
|
|
6
|
+
const util = require('./shared/nuxt-site-config-kit.469a004d.cjs');
|
|
7
|
+
require('pkg-types');
|
|
8
|
+
require('site-config-stack');
|
|
9
|
+
require('ufo');
|
|
10
|
+
|
|
11
|
+
function withSiteTrailingSlash(path) {
|
|
12
|
+
const siteConfig = util.useSiteConfig();
|
|
13
|
+
return urls.fixSlashes(siteConfig.trailingSlash, path);
|
|
14
|
+
}
|
|
15
|
+
function createSitePathResolver(options = {}, nuxt = kit.useNuxt()) {
|
|
16
|
+
const siteConfig = util.useSiteConfig();
|
|
17
|
+
const nitroOrigin = util.useNitroOrigin();
|
|
18
|
+
const canUseSiteUrl = (options.canonical !== false || stdEnv.env.prerender) && siteConfig.url;
|
|
19
|
+
const nuxtBase = nuxt.options.app.baseURL || "/";
|
|
20
|
+
return (path) => {
|
|
21
|
+
return urls.resolveSitePath(path, {
|
|
22
|
+
...options,
|
|
23
|
+
siteUrl: canUseSiteUrl ? siteConfig.url : nitroOrigin,
|
|
24
|
+
trailingSlash: siteConfig.trailingSlash,
|
|
25
|
+
base: nuxtBase
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function withSiteUrl(path, options = {}) {
|
|
30
|
+
const siteConfig = util.useSiteConfig();
|
|
31
|
+
if (!siteConfig.url && options.throwErrorOnMissingSiteUrl)
|
|
32
|
+
throw new Error("Missing url in site config. Please add `{ site: { url: <url> } }` to nuxt.config.ts.");
|
|
33
|
+
const nuxt = kit.useNuxt();
|
|
34
|
+
const base = nuxt.options.app.baseURL || nuxt.options.nitro.baseURL || "/";
|
|
35
|
+
return urls.resolveSitePath(path, {
|
|
36
|
+
absolute: true,
|
|
37
|
+
siteUrl: siteConfig.url || "",
|
|
38
|
+
trailingSlash: siteConfig.trailingSlash,
|
|
39
|
+
base,
|
|
40
|
+
withBase: options.withBase
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
exports.createSitePathResolver = createSitePathResolver;
|
|
45
|
+
exports.withSiteTrailingSlash = withSiteTrailingSlash;
|
|
46
|
+
exports.withSiteUrl = withSiteUrl;
|
package/dist/urls.d.cts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
+
|
|
3
|
+
declare function withSiteTrailingSlash(path: string): string;
|
|
4
|
+
declare function createSitePathResolver(options?: {
|
|
5
|
+
canonical?: boolean;
|
|
6
|
+
absolute?: boolean;
|
|
7
|
+
withBase?: boolean;
|
|
8
|
+
}, nuxt?: _nuxt_schema.Nuxt): (path: string) => string;
|
|
9
|
+
declare function withSiteUrl(path: string, options?: {
|
|
10
|
+
withBase?: boolean;
|
|
11
|
+
throwErrorOnMissingSiteUrl?: boolean;
|
|
12
|
+
}): string;
|
|
13
|
+
|
|
14
|
+
export { createSitePathResolver, withSiteTrailingSlash, withSiteUrl };
|
package/dist/urls.d.mts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
+
|
|
3
|
+
declare function withSiteTrailingSlash(path: string): string;
|
|
4
|
+
declare function createSitePathResolver(options?: {
|
|
5
|
+
canonical?: boolean;
|
|
6
|
+
absolute?: boolean;
|
|
7
|
+
withBase?: boolean;
|
|
8
|
+
}, nuxt?: _nuxt_schema.Nuxt): (path: string) => string;
|
|
9
|
+
declare function withSiteUrl(path: string, options?: {
|
|
10
|
+
withBase?: boolean;
|
|
11
|
+
throwErrorOnMissingSiteUrl?: boolean;
|
|
12
|
+
}): string;
|
|
13
|
+
|
|
14
|
+
export { createSitePathResolver, withSiteTrailingSlash, withSiteUrl };
|
package/dist/urls.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
+
|
|
3
|
+
declare function withSiteTrailingSlash(path: string): string;
|
|
4
|
+
declare function createSitePathResolver(options?: {
|
|
5
|
+
canonical?: boolean;
|
|
6
|
+
absolute?: boolean;
|
|
7
|
+
withBase?: boolean;
|
|
8
|
+
}, nuxt?: _nuxt_schema.Nuxt): (path: string) => string;
|
|
9
|
+
declare function withSiteUrl(path: string, options?: {
|
|
10
|
+
withBase?: boolean;
|
|
11
|
+
throwErrorOnMissingSiteUrl?: boolean;
|
|
12
|
+
}): string;
|
|
13
|
+
|
|
14
|
+
export { createSitePathResolver, withSiteTrailingSlash, withSiteUrl };
|
package/dist/urls.mjs
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { fixSlashes, resolveSitePath } from 'site-config-stack/urls';
|
|
2
|
+
import { useNuxt } from '@nuxt/kit';
|
|
3
|
+
import { env } from 'std-env';
|
|
4
|
+
import { u as useSiteConfig, c as useNitroOrigin } from './shared/nuxt-site-config-kit.8664a57b.mjs';
|
|
5
|
+
import 'pkg-types';
|
|
6
|
+
import 'site-config-stack';
|
|
7
|
+
import 'ufo';
|
|
8
|
+
|
|
9
|
+
function withSiteTrailingSlash(path) {
|
|
10
|
+
const siteConfig = useSiteConfig();
|
|
11
|
+
return fixSlashes(siteConfig.trailingSlash, path);
|
|
12
|
+
}
|
|
13
|
+
function createSitePathResolver(options = {}, nuxt = useNuxt()) {
|
|
14
|
+
const siteConfig = useSiteConfig();
|
|
15
|
+
const nitroOrigin = useNitroOrigin();
|
|
16
|
+
const canUseSiteUrl = (options.canonical !== false || env.prerender) && siteConfig.url;
|
|
17
|
+
const nuxtBase = nuxt.options.app.baseURL || "/";
|
|
18
|
+
return (path) => {
|
|
19
|
+
return resolveSitePath(path, {
|
|
20
|
+
...options,
|
|
21
|
+
siteUrl: canUseSiteUrl ? siteConfig.url : nitroOrigin,
|
|
22
|
+
trailingSlash: siteConfig.trailingSlash,
|
|
23
|
+
base: nuxtBase
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function withSiteUrl(path, options = {}) {
|
|
28
|
+
const siteConfig = useSiteConfig();
|
|
29
|
+
if (!siteConfig.url && options.throwErrorOnMissingSiteUrl)
|
|
30
|
+
throw new Error("Missing url in site config. Please add `{ site: { url: <url> } }` to nuxt.config.ts.");
|
|
31
|
+
const nuxt = useNuxt();
|
|
32
|
+
const base = nuxt.options.app.baseURL || nuxt.options.nitro.baseURL || "/";
|
|
33
|
+
return resolveSitePath(path, {
|
|
34
|
+
absolute: true,
|
|
35
|
+
siteUrl: siteConfig.url || "",
|
|
36
|
+
trailingSlash: siteConfig.trailingSlash,
|
|
37
|
+
base,
|
|
38
|
+
withBase: options.withBase
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export { createSitePathResolver, withSiteTrailingSlash, withSiteUrl };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuxt-site-config-kit",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "2.0.0",
|
|
5
5
|
"description": "Shared site configuration build-time utilities for Nuxt 3 modules.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"funding": "https://github.com/sponsors/harlan-zw",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"pkg-types": "^1.0.3",
|
|
33
33
|
"std-env": "^3.6.0",
|
|
34
34
|
"ufo": "^1.3.2",
|
|
35
|
-
"site-config-stack": "
|
|
35
|
+
"site-config-stack": "2.0.0"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
38
|
"lint": "eslint . --fix",
|