nuxt-site-config 1.2.3 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module.d.mts +2 -2
- package/dist/module.d.ts +2 -2
- package/dist/module.json +1 -1
- package/dist/module.mjs +16 -7
- package/dist/runtime/composables/updateSiteConfig.mjs +1 -1
- package/dist/runtime/composables/useSiteConfig.d.ts +1 -1
- package/dist/runtime/composables/useSiteConfig.mjs +2 -2
- package/dist/runtime/nitro/middleware/init.mjs +16 -7
- package/dist/runtime/nitro/routes/debug.mjs +3 -1
- package/dist/runtime/plugins/0.siteConfig.mjs +8 -4
- package/dist/runtime/plugins/i18n.mjs +8 -3
- package/dist/types.d.mts +4 -4
- package/dist/types.d.ts +4 -4
- package/package.json +6 -6
package/dist/module.d.mts
CHANGED
|
@@ -9,7 +9,7 @@ interface ModuleOptions extends SiteConfigInput {
|
|
|
9
9
|
*/
|
|
10
10
|
debug: boolean;
|
|
11
11
|
}
|
|
12
|
-
interface
|
|
12
|
+
interface ModuleRuntimeConfig {
|
|
13
13
|
site: SiteConfigInput;
|
|
14
14
|
}
|
|
15
15
|
interface ModuleHooks {
|
|
@@ -17,4 +17,4 @@ interface ModuleHooks {
|
|
|
17
17
|
}
|
|
18
18
|
declare const _default: _nuxt_schema.NuxtModule<ModuleOptions>;
|
|
19
19
|
|
|
20
|
-
export { type ModuleHooks, type ModuleOptions, type
|
|
20
|
+
export { type ModuleHooks, type ModuleOptions, type ModuleRuntimeConfig, _default as default };
|
package/dist/module.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ interface ModuleOptions extends SiteConfigInput {
|
|
|
9
9
|
*/
|
|
10
10
|
debug: boolean;
|
|
11
11
|
}
|
|
12
|
-
interface
|
|
12
|
+
interface ModuleRuntimeConfig {
|
|
13
13
|
site: SiteConfigInput;
|
|
14
14
|
}
|
|
15
15
|
interface ModuleHooks {
|
|
@@ -17,4 +17,4 @@ interface ModuleHooks {
|
|
|
17
17
|
}
|
|
18
18
|
declare const _default: _nuxt_schema.NuxtModule<ModuleOptions>;
|
|
19
19
|
|
|
20
|
-
export { type ModuleHooks, type ModuleOptions, type
|
|
20
|
+
export { type ModuleHooks, type ModuleOptions, type ModuleRuntimeConfig, _default as default };
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useNuxt, createResolver, addTemplate, defineNuxtModule, useLogger, addImports, addComponent, addPlugin, hasNuxtModule, addServerHandler, addPrerenderRoutes } from '@nuxt/kit';
|
|
2
|
-
import { initSiteConfig, updateSiteConfig,
|
|
2
|
+
import { initSiteConfig, updateSiteConfig, getSiteConfigStack } from 'nuxt-site-config-kit';
|
|
3
3
|
import { relative } from 'pathe';
|
|
4
4
|
|
|
5
|
-
const version = "1.
|
|
5
|
+
const version = "1.4.0";
|
|
6
6
|
|
|
7
7
|
function extendTypes(module, template) {
|
|
8
8
|
const nuxt = useNuxt();
|
|
@@ -42,18 +42,20 @@ const module = defineNuxtModule({
|
|
|
42
42
|
logger.level = config.debug ? 4 : 3;
|
|
43
43
|
const { resolve } = createResolver(import.meta.url);
|
|
44
44
|
await initSiteConfig();
|
|
45
|
+
const siteConfigInput = { ...config };
|
|
46
|
+
delete siteConfigInput.debug;
|
|
45
47
|
await updateSiteConfig({
|
|
46
48
|
// we should allow environment variables to override the site config
|
|
47
49
|
_priority: -3,
|
|
48
50
|
_context: "nuxt-site-config:config",
|
|
49
|
-
...
|
|
51
|
+
...siteConfigInput
|
|
50
52
|
});
|
|
51
53
|
nuxt.hook("modules:done", async () => {
|
|
52
54
|
await nuxt.callHook("site-config:resolve");
|
|
53
|
-
nuxt.options.runtimeConfig
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
nuxt.options.runtimeConfig["nuxt-site-config"] = {
|
|
56
|
+
stack: getSiteConfigStack().stack,
|
|
57
|
+
version,
|
|
58
|
+
debug: config.debug
|
|
57
59
|
};
|
|
58
60
|
});
|
|
59
61
|
extendTypes("nuxt-site-config", async ({ typesPath }) => {
|
|
@@ -159,6 +161,13 @@ declare module '@nuxt/schema' {
|
|
|
159
161
|
addPlugin({
|
|
160
162
|
src: resolve("./runtime/plugins/i18n")
|
|
161
163
|
});
|
|
164
|
+
updateSiteConfig({
|
|
165
|
+
_context: "@nuxtjs/i18n",
|
|
166
|
+
// @ts-expect-error untyped
|
|
167
|
+
url: nuxt.options.i18n?.baseUrl,
|
|
168
|
+
// @ts-expect-error untyped
|
|
169
|
+
defaultLocale: nuxt.options.i18n?.defaultLocale
|
|
170
|
+
});
|
|
162
171
|
}
|
|
163
172
|
addServerHandler({
|
|
164
173
|
middleware: true,
|
|
@@ -8,8 +8,8 @@ export function useSiteConfig(options) {
|
|
|
8
8
|
if (process.server)
|
|
9
9
|
stack = useRequestEvent().context.siteConfig.get();
|
|
10
10
|
else
|
|
11
|
-
stack = useNuxtApp().$
|
|
12
|
-
if (!options?.
|
|
11
|
+
stack = useNuxtApp().$nuxtSiteConfig.get();
|
|
12
|
+
if (!options?.debug)
|
|
13
13
|
delete stack._context;
|
|
14
14
|
Object.entries(stack).forEach(([k, v]) => {
|
|
15
15
|
stack[k] = toValue(v);
|
|
@@ -1,26 +1,35 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createSiteConfigStack } from "site-config-stack";
|
|
2
|
+
import { defineEventHandler, useAppConfig, useNitroOrigin, useRuntimeConfig } from "#imports";
|
|
2
3
|
export default defineEventHandler((e) => {
|
|
3
|
-
|
|
4
|
+
const config = useRuntimeConfig()["nuxt-site-config"];
|
|
5
|
+
const siteConfig = e.context.siteConfig || createSiteConfigStack({
|
|
6
|
+
// @ts-expect-error untyped
|
|
7
|
+
debug: config.debug
|
|
8
|
+
});
|
|
9
|
+
if (siteConfig) {
|
|
4
10
|
const appConfig = useAppConfig();
|
|
5
11
|
const nitroOrigin = useNitroOrigin(e);
|
|
6
12
|
e.context.siteConfigNitroOrigin = nitroOrigin;
|
|
7
|
-
|
|
8
|
-
updateSiteConfig(e, {
|
|
13
|
+
siteConfig.push({
|
|
9
14
|
_context: "nitro:init",
|
|
15
|
+
_priority: -4,
|
|
10
16
|
url: nitroOrigin
|
|
11
17
|
});
|
|
12
|
-
|
|
18
|
+
const buildStack = config.stack || [];
|
|
19
|
+
buildStack.forEach((c) => siteConfig.push(c));
|
|
13
20
|
if (appConfig.site) {
|
|
14
|
-
|
|
21
|
+
siteConfig.push({
|
|
22
|
+
_priority: -2,
|
|
15
23
|
_context: "app:config",
|
|
16
24
|
...appConfig.site
|
|
17
25
|
});
|
|
18
26
|
}
|
|
19
27
|
if (e.context._nitro.routeRules.site) {
|
|
20
|
-
|
|
28
|
+
siteConfig.push({
|
|
21
29
|
_context: "route-rules",
|
|
22
30
|
...e.context._nitro.routeRules.site
|
|
23
31
|
});
|
|
24
32
|
}
|
|
25
33
|
}
|
|
34
|
+
e.context.siteConfig = siteConfig;
|
|
26
35
|
});
|
|
@@ -4,9 +4,11 @@ export default defineEventHandler(async (e) => {
|
|
|
4
4
|
const siteConfig = useSiteConfig(e);
|
|
5
5
|
const nitroOrigin = useNitroOrigin(e);
|
|
6
6
|
const { public: publicRuntimeConfig } = useRuntimeConfig();
|
|
7
|
+
const stack = e.context.siteConfig.stack;
|
|
7
8
|
setHeader(e, "Content-Type", "application/json");
|
|
8
9
|
return {
|
|
9
|
-
|
|
10
|
+
config: siteConfig,
|
|
11
|
+
stack,
|
|
10
12
|
nitroOrigin,
|
|
11
13
|
version: publicRuntimeConfig["nuxt-site-config"]?.version
|
|
12
14
|
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { createSiteConfigStack } from "site-config-stack";
|
|
2
|
-
import { defineNuxtPlugin, useRequestEvent, useState } from "#imports";
|
|
2
|
+
import { defineNuxtPlugin, useRequestEvent, useRuntimeConfig, useState } from "#imports";
|
|
3
3
|
export default defineNuxtPlugin({
|
|
4
4
|
name: "nuxt-site-config",
|
|
5
5
|
enforce: "pre",
|
|
6
6
|
async setup(nuxtApp) {
|
|
7
|
+
const config = useRuntimeConfig()["nuxt-site-config"] || { debug: false };
|
|
7
8
|
let siteConfigStack;
|
|
8
9
|
if (process.server) {
|
|
9
10
|
siteConfigStack = useRequestEvent().context.siteConfig;
|
|
@@ -11,8 +12,11 @@ export default defineNuxtPlugin({
|
|
|
11
12
|
useState("site-config", () => useRequestEvent().context.siteConfig.get());
|
|
12
13
|
});
|
|
13
14
|
}
|
|
14
|
-
if (!siteConfigStack)
|
|
15
|
-
siteConfigStack = createSiteConfigStack(
|
|
15
|
+
if (!siteConfigStack) {
|
|
16
|
+
siteConfigStack = createSiteConfigStack({
|
|
17
|
+
debug: config.debug
|
|
18
|
+
});
|
|
19
|
+
}
|
|
16
20
|
if (process.client) {
|
|
17
21
|
siteConfigStack.push({
|
|
18
22
|
_context: "window",
|
|
@@ -24,7 +28,7 @@ export default defineNuxtPlugin({
|
|
|
24
28
|
}
|
|
25
29
|
return {
|
|
26
30
|
provide: {
|
|
27
|
-
|
|
31
|
+
nuxtSiteConfig: siteConfigStack
|
|
28
32
|
}
|
|
29
33
|
};
|
|
30
34
|
}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { computed, defineNuxtPlugin, updateSiteConfig } from "#imports";
|
|
2
2
|
export default defineNuxtPlugin({
|
|
3
3
|
name: "nuxt-site-config:i18n",
|
|
4
4
|
// @ts-expect-error todo fix upstream
|
|
5
5
|
enforce: 1,
|
|
6
6
|
// needs to come after i18n
|
|
7
7
|
setup(nuxtApp) {
|
|
8
|
-
const i18n = nuxtApp.$i18n
|
|
8
|
+
const i18n = nuxtApp.$i18n;
|
|
9
|
+
if (!i18n)
|
|
10
|
+
return;
|
|
9
11
|
updateSiteConfig({
|
|
10
12
|
_context: "@nuxtjs/i18n",
|
|
11
|
-
|
|
13
|
+
url: i18n.baseUrl.value,
|
|
14
|
+
currentLocale: i18n.locale,
|
|
15
|
+
description: computed(() => i18n.t("nuxtSiteConfig.description")),
|
|
16
|
+
name: computed(() => i18n.t("nuxtSiteConfig.name"))
|
|
12
17
|
});
|
|
13
18
|
}
|
|
14
19
|
});
|
package/dist/types.d.mts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
|
|
2
|
-
import { ModuleOptions, ModuleHooks,
|
|
2
|
+
import { ModuleOptions, ModuleHooks, ModuleRuntimeConfig } from './module'
|
|
3
3
|
|
|
4
4
|
declare module '@nuxt/schema' {
|
|
5
5
|
interface NuxtConfig { ['site']?: Partial<ModuleOptions> }
|
|
6
6
|
interface NuxtOptions { ['site']?: ModuleOptions }
|
|
7
7
|
interface NuxtHooks extends ModuleHooks {}
|
|
8
|
-
interface
|
|
8
|
+
interface RuntimeConfig extends ModuleRuntimeConfig {}
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
declare module 'nuxt/schema' {
|
|
12
12
|
interface NuxtConfig { ['site']?: Partial<ModuleOptions> }
|
|
13
13
|
interface NuxtOptions { ['site']?: ModuleOptions }
|
|
14
14
|
interface NuxtHooks extends ModuleHooks {}
|
|
15
|
-
interface
|
|
15
|
+
interface RuntimeConfig extends ModuleRuntimeConfig {}
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
export { ModuleHooks, ModuleOptions,
|
|
19
|
+
export { ModuleHooks, ModuleOptions, ModuleRuntimeConfig, default } from './module'
|
package/dist/types.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
|
|
2
|
-
import { ModuleOptions, ModuleHooks,
|
|
2
|
+
import { ModuleOptions, ModuleHooks, ModuleRuntimeConfig } from './module'
|
|
3
3
|
|
|
4
4
|
declare module '@nuxt/schema' {
|
|
5
5
|
interface NuxtConfig { ['site']?: Partial<ModuleOptions> }
|
|
6
6
|
interface NuxtOptions { ['site']?: ModuleOptions }
|
|
7
7
|
interface NuxtHooks extends ModuleHooks {}
|
|
8
|
-
interface
|
|
8
|
+
interface RuntimeConfig extends ModuleRuntimeConfig {}
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
declare module 'nuxt/schema' {
|
|
12
12
|
interface NuxtConfig { ['site']?: Partial<ModuleOptions> }
|
|
13
13
|
interface NuxtOptions { ['site']?: ModuleOptions }
|
|
14
14
|
interface NuxtHooks extends ModuleHooks {}
|
|
15
|
-
interface
|
|
15
|
+
interface RuntimeConfig extends ModuleRuntimeConfig {}
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
export { ModuleHooks, ModuleOptions,
|
|
19
|
+
export { ModuleHooks, ModuleOptions, ModuleRuntimeConfig, default } from './module'
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuxt-site-config",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.4.0",
|
|
5
5
|
"description": "Shared site configuration for Nuxt 3 modules.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"funding": "https://github.com/sponsors/harlan-zw",
|
|
@@ -26,12 +26,12 @@
|
|
|
26
26
|
"dist"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@nuxt/kit": "^3.7.
|
|
30
|
-
"@nuxt/schema": "^3.7.
|
|
29
|
+
"@nuxt/kit": "^3.7.4",
|
|
30
|
+
"@nuxt/schema": "^3.7.4",
|
|
31
31
|
"pathe": "^1.1.1",
|
|
32
|
-
"ufo": "^1.3.
|
|
33
|
-
"nuxt-site-config-kit": "1.
|
|
34
|
-
"site-config-stack": "1.
|
|
32
|
+
"ufo": "^1.3.1",
|
|
33
|
+
"nuxt-site-config-kit": "1.4.0",
|
|
34
|
+
"site-config-stack": "1.4.0"
|
|
35
35
|
},
|
|
36
36
|
"build": {
|
|
37
37
|
"externals": [
|