nuxt-site-config-kit 3.2.7 → 3.2.9
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 +21 -0
- package/dist/index.d.cts +27 -0
- package/dist/index.d.mts +27 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.mjs +7 -0
- package/dist/shared/nuxt-site-config-kit.Brr2J4co.mjs +142 -0
- package/dist/shared/nuxt-site-config-kit.DDQMwTkP.cjs +152 -0
- package/dist/urls.cjs +15 -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 +7 -0
- package/package.json +2 -2
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const urls = require('./shared/nuxt-site-config-kit.DDQMwTkP.cjs');
|
|
4
|
+
require('@nuxt/kit');
|
|
5
|
+
require('site-config-stack/urls');
|
|
6
|
+
require('std-env');
|
|
7
|
+
require('pkg-types');
|
|
8
|
+
require('site-config-stack');
|
|
9
|
+
require('ufo');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
exports.createSitePathResolver = urls.createSitePathResolver;
|
|
14
|
+
exports.getSiteConfigStack = urls.getSiteConfigStack;
|
|
15
|
+
exports.initSiteConfig = urls.initSiteConfig;
|
|
16
|
+
exports.installNuxtSiteConfig = urls.installNuxtSiteConfig;
|
|
17
|
+
exports.updateSiteConfig = urls.updateSiteConfig;
|
|
18
|
+
exports.useNitroOrigin = urls.useNitroOrigin;
|
|
19
|
+
exports.useSiteConfig = urls.useSiteConfig;
|
|
20
|
+
exports.withSiteTrailingSlash = urls.withSiteTrailingSlash;
|
|
21
|
+
exports.withSiteUrl = urls.withSiteUrl;
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Nuxt } from '@nuxt/schema';
|
|
2
|
+
import { SiteConfigStack, SiteConfigInput, SiteConfigResolved } from 'site-config-stack';
|
|
3
|
+
export * from 'site-config-stack';
|
|
4
|
+
export { createSitePathResolver, withSiteTrailingSlash, withSiteUrl } from './urls.cjs';
|
|
5
|
+
|
|
6
|
+
declare function initSiteConfig(nuxt?: Nuxt | null): Promise<SiteConfigStack | undefined>;
|
|
7
|
+
declare function installNuxtSiteConfig(nuxt?: Nuxt | null): Promise<void>;
|
|
8
|
+
declare function getSiteConfigStack(nuxt?: Nuxt | null): SiteConfigStack;
|
|
9
|
+
declare function updateSiteConfig(input: SiteConfigInput, nuxt?: Nuxt | null): () => void;
|
|
10
|
+
declare function useSiteConfig(nuxt?: Nuxt | null): SiteConfigResolved;
|
|
11
|
+
|
|
12
|
+
type AssertionModes = 'prerender' | 'generate' | 'build';
|
|
13
|
+
interface ModuleAssertion {
|
|
14
|
+
context: string;
|
|
15
|
+
requirements: Partial<Record<keyof SiteConfigInput, string>>;
|
|
16
|
+
}
|
|
17
|
+
declare module '@nuxt/schema' {
|
|
18
|
+
interface Nuxt {
|
|
19
|
+
_siteConfig?: SiteConfigStack;
|
|
20
|
+
_siteConfigAsserts?: Partial<Record<Partial<AssertionModes>, ModuleAssertion[]>>;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
declare function useNitroOrigin(): string;
|
|
25
|
+
|
|
26
|
+
export { getSiteConfigStack, initSiteConfig, installNuxtSiteConfig, updateSiteConfig, useNitroOrigin, useSiteConfig };
|
|
27
|
+
export type { AssertionModes, ModuleAssertion };
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Nuxt } from '@nuxt/schema';
|
|
2
|
+
import { SiteConfigStack, SiteConfigInput, SiteConfigResolved } from 'site-config-stack';
|
|
3
|
+
export * from 'site-config-stack';
|
|
4
|
+
export { createSitePathResolver, withSiteTrailingSlash, withSiteUrl } from './urls.mjs';
|
|
5
|
+
|
|
6
|
+
declare function initSiteConfig(nuxt?: Nuxt | null): Promise<SiteConfigStack | undefined>;
|
|
7
|
+
declare function installNuxtSiteConfig(nuxt?: Nuxt | null): Promise<void>;
|
|
8
|
+
declare function getSiteConfigStack(nuxt?: Nuxt | null): SiteConfigStack;
|
|
9
|
+
declare function updateSiteConfig(input: SiteConfigInput, nuxt?: Nuxt | null): () => void;
|
|
10
|
+
declare function useSiteConfig(nuxt?: Nuxt | null): SiteConfigResolved;
|
|
11
|
+
|
|
12
|
+
type AssertionModes = 'prerender' | 'generate' | 'build';
|
|
13
|
+
interface ModuleAssertion {
|
|
14
|
+
context: string;
|
|
15
|
+
requirements: Partial<Record<keyof SiteConfigInput, string>>;
|
|
16
|
+
}
|
|
17
|
+
declare module '@nuxt/schema' {
|
|
18
|
+
interface Nuxt {
|
|
19
|
+
_siteConfig?: SiteConfigStack;
|
|
20
|
+
_siteConfigAsserts?: Partial<Record<Partial<AssertionModes>, ModuleAssertion[]>>;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
declare function useNitroOrigin(): string;
|
|
25
|
+
|
|
26
|
+
export { getSiteConfigStack, initSiteConfig, installNuxtSiteConfig, updateSiteConfig, useNitroOrigin, useSiteConfig };
|
|
27
|
+
export type { AssertionModes, ModuleAssertion };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Nuxt } from '@nuxt/schema';
|
|
2
|
+
import { SiteConfigStack, SiteConfigInput, SiteConfigResolved } from 'site-config-stack';
|
|
3
|
+
export * from 'site-config-stack';
|
|
4
|
+
export { createSitePathResolver, withSiteTrailingSlash, withSiteUrl } from './urls.js';
|
|
5
|
+
|
|
6
|
+
declare function initSiteConfig(nuxt?: Nuxt | null): Promise<SiteConfigStack | undefined>;
|
|
7
|
+
declare function installNuxtSiteConfig(nuxt?: Nuxt | null): Promise<void>;
|
|
8
|
+
declare function getSiteConfigStack(nuxt?: Nuxt | null): SiteConfigStack;
|
|
9
|
+
declare function updateSiteConfig(input: SiteConfigInput, nuxt?: Nuxt | null): () => void;
|
|
10
|
+
declare function useSiteConfig(nuxt?: Nuxt | null): SiteConfigResolved;
|
|
11
|
+
|
|
12
|
+
type AssertionModes = 'prerender' | 'generate' | 'build';
|
|
13
|
+
interface ModuleAssertion {
|
|
14
|
+
context: string;
|
|
15
|
+
requirements: Partial<Record<keyof SiteConfigInput, string>>;
|
|
16
|
+
}
|
|
17
|
+
declare module '@nuxt/schema' {
|
|
18
|
+
interface Nuxt {
|
|
19
|
+
_siteConfig?: SiteConfigStack;
|
|
20
|
+
_siteConfigAsserts?: Partial<Record<Partial<AssertionModes>, ModuleAssertion[]>>;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
declare function useNitroOrigin(): string;
|
|
25
|
+
|
|
26
|
+
export { getSiteConfigStack, initSiteConfig, installNuxtSiteConfig, updateSiteConfig, useNitroOrigin, useSiteConfig };
|
|
27
|
+
export type { AssertionModes, ModuleAssertion };
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { c as createSitePathResolver, g as getSiteConfigStack, i as initSiteConfig, a as installNuxtSiteConfig, u as updateSiteConfig, e as useNitroOrigin, b as useSiteConfig, w as withSiteTrailingSlash, d as withSiteUrl } from './shared/nuxt-site-config-kit.Brr2J4co.mjs';
|
|
2
|
+
import '@nuxt/kit';
|
|
3
|
+
import 'site-config-stack/urls';
|
|
4
|
+
import 'std-env';
|
|
5
|
+
import 'pkg-types';
|
|
6
|
+
import 'site-config-stack';
|
|
7
|
+
import 'ufo';
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { tryUseNuxt, installModule, resolvePath, useNuxt } from '@nuxt/kit';
|
|
2
|
+
import { fixSlashes, resolveSitePath } from 'site-config-stack/urls';
|
|
3
|
+
import { env, isDevelopment } from 'std-env';
|
|
4
|
+
import { readPackageJSON } from 'pkg-types';
|
|
5
|
+
import { createSiteConfigStack, envSiteConfig } from 'site-config-stack';
|
|
6
|
+
import { withoutProtocol } from 'ufo';
|
|
7
|
+
|
|
8
|
+
async function initSiteConfig(nuxt = tryUseNuxt()) {
|
|
9
|
+
if (!nuxt)
|
|
10
|
+
return;
|
|
11
|
+
let siteConfig = nuxt._siteConfig;
|
|
12
|
+
if (siteConfig)
|
|
13
|
+
return siteConfig;
|
|
14
|
+
siteConfig = createSiteConfigStack();
|
|
15
|
+
const rootDir = nuxt?.options.rootDir || process.cwd?.() || false;
|
|
16
|
+
siteConfig.push({
|
|
17
|
+
_context: "system",
|
|
18
|
+
_priority: -15,
|
|
19
|
+
name: rootDir ? rootDir.split("/").pop() : void 0,
|
|
20
|
+
env: process.env.NODE_ENV
|
|
21
|
+
});
|
|
22
|
+
if (rootDir) {
|
|
23
|
+
const pkgJson = await readPackageJSON(rootDir);
|
|
24
|
+
if (pkgJson) {
|
|
25
|
+
siteConfig.push({
|
|
26
|
+
_context: "package.json",
|
|
27
|
+
_priority: -10,
|
|
28
|
+
name: pkgJson.name,
|
|
29
|
+
description: pkgJson.description
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
siteConfig.push({
|
|
34
|
+
_context: "vendorEnv",
|
|
35
|
+
_priority: -5,
|
|
36
|
+
url: [
|
|
37
|
+
// vercel
|
|
38
|
+
process.env.VERCEL_URL,
|
|
39
|
+
process.env.NUXT_ENV_VERCEL_URL,
|
|
40
|
+
// netlify
|
|
41
|
+
process.env.URL,
|
|
42
|
+
// cloudflare pages
|
|
43
|
+
process.env.CF_PAGES_URL
|
|
44
|
+
].find((k) => Boolean(k)),
|
|
45
|
+
name: [
|
|
46
|
+
// vercel
|
|
47
|
+
process.env.NUXT_ENV_VERCEL_GIT_REPO_SLUG,
|
|
48
|
+
// netlify
|
|
49
|
+
process.env.SITE_NAME
|
|
50
|
+
].find((k) => Boolean(k))
|
|
51
|
+
});
|
|
52
|
+
const runtimeConfig = nuxt.options.runtimeConfig;
|
|
53
|
+
const runtimeConfigEnvKeys = [
|
|
54
|
+
...Object.entries(runtimeConfig.site || {}).filter(([k]) => k.startsWith("site")).map(([k, v]) => [k.replace(/^site/, ""), v]),
|
|
55
|
+
...Object.entries([...Object.entries(runtimeConfig), ...Object.entries(runtimeConfig.public)]).filter(([k]) => k.startsWith("site")).map(([k, v]) => [k.replace(/^site/, ""), v])
|
|
56
|
+
];
|
|
57
|
+
siteConfig.push({
|
|
58
|
+
_priority: -2,
|
|
59
|
+
_context: "legacyRuntimeConfig",
|
|
60
|
+
...Object.fromEntries(runtimeConfigEnvKeys)
|
|
61
|
+
});
|
|
62
|
+
siteConfig.push({
|
|
63
|
+
_context: "buildEnv",
|
|
64
|
+
_priority: -1,
|
|
65
|
+
...envSiteConfig(process.env)
|
|
66
|
+
});
|
|
67
|
+
nuxt._siteConfig = siteConfig;
|
|
68
|
+
return siteConfig;
|
|
69
|
+
}
|
|
70
|
+
async function installNuxtSiteConfig(nuxt = tryUseNuxt()) {
|
|
71
|
+
await installModule(await resolvePath("nuxt-site-config"));
|
|
72
|
+
await initSiteConfig(nuxt);
|
|
73
|
+
}
|
|
74
|
+
function getSiteConfigStack(nuxt = tryUseNuxt()) {
|
|
75
|
+
if (!nuxt)
|
|
76
|
+
throw new Error("Nuxt context is missing.");
|
|
77
|
+
if (!nuxt._siteConfig)
|
|
78
|
+
throw new Error("Site config is not initialized. Make sure you are running your module after nuxt-site-config.");
|
|
79
|
+
return nuxt._siteConfig;
|
|
80
|
+
}
|
|
81
|
+
function updateSiteConfig(input, nuxt = tryUseNuxt()) {
|
|
82
|
+
const container = getSiteConfigStack(nuxt);
|
|
83
|
+
return container.push(input);
|
|
84
|
+
}
|
|
85
|
+
function useSiteConfig(nuxt = tryUseNuxt()) {
|
|
86
|
+
const container = getSiteConfigStack(nuxt);
|
|
87
|
+
return container.get();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function useNitroOrigin() {
|
|
91
|
+
const cert = env.NITRO_SSL_CERT;
|
|
92
|
+
const key = env.NITRO_SSL_KEY;
|
|
93
|
+
let host = env.NITRO_HOST || env.HOST || false;
|
|
94
|
+
let port = env.NITRO_PORT || env.PORT || (isDevelopment ? 3e3 : false);
|
|
95
|
+
let protocol = cert && key || !isDevelopment ? "https" : "http";
|
|
96
|
+
if ((isDevelopment || env.prerender) && env.NUXT_VITE_NODE_OPTIONS) {
|
|
97
|
+
const origin = JSON.parse(env.NUXT_VITE_NODE_OPTIONS).baseURL.replace("/__nuxt_vite_node__", "");
|
|
98
|
+
host = withoutProtocol(origin);
|
|
99
|
+
protocol = origin.includes("https") ? "https" : "http";
|
|
100
|
+
}
|
|
101
|
+
if (typeof host === "string" && host.includes(":")) {
|
|
102
|
+
port = host.split(":").pop();
|
|
103
|
+
host = host.split(":")[0] || false;
|
|
104
|
+
}
|
|
105
|
+
port = port ? `:${port}` : "";
|
|
106
|
+
return `${protocol}://${host}${port}/`;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
function withSiteTrailingSlash(path) {
|
|
110
|
+
const siteConfig = useSiteConfig();
|
|
111
|
+
return fixSlashes(siteConfig.trailingSlash, path);
|
|
112
|
+
}
|
|
113
|
+
function createSitePathResolver(options = {}, nuxt = useNuxt()) {
|
|
114
|
+
const siteConfig = useSiteConfig();
|
|
115
|
+
const nitroOrigin = useNitroOrigin();
|
|
116
|
+
const canUseSiteUrl = (options.canonical !== false || env.prerender) && siteConfig.url;
|
|
117
|
+
const nuxtBase = nuxt.options.app.baseURL || "/";
|
|
118
|
+
return (path) => {
|
|
119
|
+
return resolveSitePath(path, {
|
|
120
|
+
...options,
|
|
121
|
+
siteUrl: canUseSiteUrl ? siteConfig.url : nitroOrigin,
|
|
122
|
+
trailingSlash: siteConfig.trailingSlash,
|
|
123
|
+
base: nuxtBase
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
function withSiteUrl(path, options = {}) {
|
|
128
|
+
const siteConfig = useSiteConfig();
|
|
129
|
+
if (!siteConfig.url && options.throwErrorOnMissingSiteUrl)
|
|
130
|
+
throw new Error("Missing url in site config. Please add `{ site: { url: <url> } }` to nuxt.config.ts.");
|
|
131
|
+
const nuxt = useNuxt();
|
|
132
|
+
const base = nuxt.options.app.baseURL || nuxt.options.nitro.baseURL || "/";
|
|
133
|
+
return resolveSitePath(path, {
|
|
134
|
+
absolute: true,
|
|
135
|
+
siteUrl: siteConfig.url || "",
|
|
136
|
+
trailingSlash: siteConfig.trailingSlash,
|
|
137
|
+
base,
|
|
138
|
+
withBase: options.withBase
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export { installNuxtSiteConfig as a, useSiteConfig as b, createSitePathResolver as c, withSiteUrl as d, useNitroOrigin as e, getSiteConfigStack as g, initSiteConfig as i, updateSiteConfig as u, withSiteTrailingSlash as w };
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const kit = require('@nuxt/kit');
|
|
4
|
+
const urls = require('site-config-stack/urls');
|
|
5
|
+
const stdEnv = require('std-env');
|
|
6
|
+
const pkgTypes = require('pkg-types');
|
|
7
|
+
const siteConfigStack = require('site-config-stack');
|
|
8
|
+
const ufo = require('ufo');
|
|
9
|
+
|
|
10
|
+
async function initSiteConfig(nuxt = kit.tryUseNuxt()) {
|
|
11
|
+
if (!nuxt)
|
|
12
|
+
return;
|
|
13
|
+
let siteConfig = nuxt._siteConfig;
|
|
14
|
+
if (siteConfig)
|
|
15
|
+
return siteConfig;
|
|
16
|
+
siteConfig = siteConfigStack.createSiteConfigStack();
|
|
17
|
+
const rootDir = nuxt?.options.rootDir || process.cwd?.() || false;
|
|
18
|
+
siteConfig.push({
|
|
19
|
+
_context: "system",
|
|
20
|
+
_priority: -15,
|
|
21
|
+
name: rootDir ? rootDir.split("/").pop() : void 0,
|
|
22
|
+
env: process.env.NODE_ENV
|
|
23
|
+
});
|
|
24
|
+
if (rootDir) {
|
|
25
|
+
const pkgJson = await pkgTypes.readPackageJSON(rootDir);
|
|
26
|
+
if (pkgJson) {
|
|
27
|
+
siteConfig.push({
|
|
28
|
+
_context: "package.json",
|
|
29
|
+
_priority: -10,
|
|
30
|
+
name: pkgJson.name,
|
|
31
|
+
description: pkgJson.description
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
siteConfig.push({
|
|
36
|
+
_context: "vendorEnv",
|
|
37
|
+
_priority: -5,
|
|
38
|
+
url: [
|
|
39
|
+
// vercel
|
|
40
|
+
process.env.VERCEL_URL,
|
|
41
|
+
process.env.NUXT_ENV_VERCEL_URL,
|
|
42
|
+
// netlify
|
|
43
|
+
process.env.URL,
|
|
44
|
+
// cloudflare pages
|
|
45
|
+
process.env.CF_PAGES_URL
|
|
46
|
+
].find((k) => Boolean(k)),
|
|
47
|
+
name: [
|
|
48
|
+
// vercel
|
|
49
|
+
process.env.NUXT_ENV_VERCEL_GIT_REPO_SLUG,
|
|
50
|
+
// netlify
|
|
51
|
+
process.env.SITE_NAME
|
|
52
|
+
].find((k) => Boolean(k))
|
|
53
|
+
});
|
|
54
|
+
const runtimeConfig = nuxt.options.runtimeConfig;
|
|
55
|
+
const runtimeConfigEnvKeys = [
|
|
56
|
+
...Object.entries(runtimeConfig.site || {}).filter(([k]) => k.startsWith("site")).map(([k, v]) => [k.replace(/^site/, ""), v]),
|
|
57
|
+
...Object.entries([...Object.entries(runtimeConfig), ...Object.entries(runtimeConfig.public)]).filter(([k]) => k.startsWith("site")).map(([k, v]) => [k.replace(/^site/, ""), v])
|
|
58
|
+
];
|
|
59
|
+
siteConfig.push({
|
|
60
|
+
_priority: -2,
|
|
61
|
+
_context: "legacyRuntimeConfig",
|
|
62
|
+
...Object.fromEntries(runtimeConfigEnvKeys)
|
|
63
|
+
});
|
|
64
|
+
siteConfig.push({
|
|
65
|
+
_context: "buildEnv",
|
|
66
|
+
_priority: -1,
|
|
67
|
+
...siteConfigStack.envSiteConfig(process.env)
|
|
68
|
+
});
|
|
69
|
+
nuxt._siteConfig = siteConfig;
|
|
70
|
+
return siteConfig;
|
|
71
|
+
}
|
|
72
|
+
async function installNuxtSiteConfig(nuxt = kit.tryUseNuxt()) {
|
|
73
|
+
await kit.installModule(await kit.resolvePath("nuxt-site-config"));
|
|
74
|
+
await initSiteConfig(nuxt);
|
|
75
|
+
}
|
|
76
|
+
function getSiteConfigStack(nuxt = kit.tryUseNuxt()) {
|
|
77
|
+
if (!nuxt)
|
|
78
|
+
throw new Error("Nuxt context is missing.");
|
|
79
|
+
if (!nuxt._siteConfig)
|
|
80
|
+
throw new Error("Site config is not initialized. Make sure you are running your module after nuxt-site-config.");
|
|
81
|
+
return nuxt._siteConfig;
|
|
82
|
+
}
|
|
83
|
+
function updateSiteConfig(input, nuxt = kit.tryUseNuxt()) {
|
|
84
|
+
const container = getSiteConfigStack(nuxt);
|
|
85
|
+
return container.push(input);
|
|
86
|
+
}
|
|
87
|
+
function useSiteConfig(nuxt = kit.tryUseNuxt()) {
|
|
88
|
+
const container = getSiteConfigStack(nuxt);
|
|
89
|
+
return container.get();
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function useNitroOrigin() {
|
|
93
|
+
const cert = stdEnv.env.NITRO_SSL_CERT;
|
|
94
|
+
const key = stdEnv.env.NITRO_SSL_KEY;
|
|
95
|
+
let host = stdEnv.env.NITRO_HOST || stdEnv.env.HOST || false;
|
|
96
|
+
let port = stdEnv.env.NITRO_PORT || stdEnv.env.PORT || (stdEnv.isDevelopment ? 3e3 : false);
|
|
97
|
+
let protocol = cert && key || !stdEnv.isDevelopment ? "https" : "http";
|
|
98
|
+
if ((stdEnv.isDevelopment || stdEnv.env.prerender) && stdEnv.env.NUXT_VITE_NODE_OPTIONS) {
|
|
99
|
+
const origin = JSON.parse(stdEnv.env.NUXT_VITE_NODE_OPTIONS).baseURL.replace("/__nuxt_vite_node__", "");
|
|
100
|
+
host = ufo.withoutProtocol(origin);
|
|
101
|
+
protocol = origin.includes("https") ? "https" : "http";
|
|
102
|
+
}
|
|
103
|
+
if (typeof host === "string" && host.includes(":")) {
|
|
104
|
+
port = host.split(":").pop();
|
|
105
|
+
host = host.split(":")[0] || false;
|
|
106
|
+
}
|
|
107
|
+
port = port ? `:${port}` : "";
|
|
108
|
+
return `${protocol}://${host}${port}/`;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function withSiteTrailingSlash(path) {
|
|
112
|
+
const siteConfig = useSiteConfig();
|
|
113
|
+
return urls.fixSlashes(siteConfig.trailingSlash, path);
|
|
114
|
+
}
|
|
115
|
+
function createSitePathResolver(options = {}, nuxt = kit.useNuxt()) {
|
|
116
|
+
const siteConfig = useSiteConfig();
|
|
117
|
+
const nitroOrigin = useNitroOrigin();
|
|
118
|
+
const canUseSiteUrl = (options.canonical !== false || stdEnv.env.prerender) && siteConfig.url;
|
|
119
|
+
const nuxtBase = nuxt.options.app.baseURL || "/";
|
|
120
|
+
return (path) => {
|
|
121
|
+
return urls.resolveSitePath(path, {
|
|
122
|
+
...options,
|
|
123
|
+
siteUrl: canUseSiteUrl ? siteConfig.url : nitroOrigin,
|
|
124
|
+
trailingSlash: siteConfig.trailingSlash,
|
|
125
|
+
base: nuxtBase
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
function withSiteUrl(path, options = {}) {
|
|
130
|
+
const siteConfig = useSiteConfig();
|
|
131
|
+
if (!siteConfig.url && options.throwErrorOnMissingSiteUrl)
|
|
132
|
+
throw new Error("Missing url in site config. Please add `{ site: { url: <url> } }` to nuxt.config.ts.");
|
|
133
|
+
const nuxt = kit.useNuxt();
|
|
134
|
+
const base = nuxt.options.app.baseURL || nuxt.options.nitro.baseURL || "/";
|
|
135
|
+
return urls.resolveSitePath(path, {
|
|
136
|
+
absolute: true,
|
|
137
|
+
siteUrl: siteConfig.url || "",
|
|
138
|
+
trailingSlash: siteConfig.trailingSlash,
|
|
139
|
+
base,
|
|
140
|
+
withBase: options.withBase
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
exports.createSitePathResolver = createSitePathResolver;
|
|
145
|
+
exports.getSiteConfigStack = getSiteConfigStack;
|
|
146
|
+
exports.initSiteConfig = initSiteConfig;
|
|
147
|
+
exports.installNuxtSiteConfig = installNuxtSiteConfig;
|
|
148
|
+
exports.updateSiteConfig = updateSiteConfig;
|
|
149
|
+
exports.useNitroOrigin = useNitroOrigin;
|
|
150
|
+
exports.useSiteConfig = useSiteConfig;
|
|
151
|
+
exports.withSiteTrailingSlash = withSiteTrailingSlash;
|
|
152
|
+
exports.withSiteUrl = withSiteUrl;
|
package/dist/urls.cjs
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('@nuxt/kit');
|
|
4
|
+
require('site-config-stack/urls');
|
|
5
|
+
require('std-env');
|
|
6
|
+
const urls = require('./shared/nuxt-site-config-kit.DDQMwTkP.cjs');
|
|
7
|
+
require('pkg-types');
|
|
8
|
+
require('site-config-stack');
|
|
9
|
+
require('ufo');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
exports.createSitePathResolver = urls.createSitePathResolver;
|
|
14
|
+
exports.withSiteTrailingSlash = urls.withSiteTrailingSlash;
|
|
15
|
+
exports.withSiteUrl = urls.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,7 @@
|
|
|
1
|
+
import '@nuxt/kit';
|
|
2
|
+
import 'site-config-stack/urls';
|
|
3
|
+
import 'std-env';
|
|
4
|
+
export { c as createSitePathResolver, w as withSiteTrailingSlash, d as withSiteUrl } from './shared/nuxt-site-config-kit.Brr2J4co.mjs';
|
|
5
|
+
import 'pkg-types';
|
|
6
|
+
import 'site-config-stack';
|
|
7
|
+
import 'ufo';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuxt-site-config-kit",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.2.
|
|
4
|
+
"version": "3.2.9",
|
|
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",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"pkg-types": "^2.3.0",
|
|
42
42
|
"std-env": "^3.9.0",
|
|
43
43
|
"ufo": "^1.6.1",
|
|
44
|
-
"site-config-stack": "3.2.
|
|
44
|
+
"site-config-stack": "3.2.9"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@nuxt/schema": "^4.1.2"
|