nuxt-i18n-micro 3.29.6 → 3.29.8
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/client/200.html +1 -1
- package/dist/client/404.html +1 -1
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/95d9fdf4-13f4-409a-b441-89fa0f659582.json +1 -0
- package/dist/client/index.html +1 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +26 -21
- package/dist/runtime/server/routes/i18n.js +1 -1
- package/package.json +15 -11
- package/dist/client/_nuxt/builds/meta/f3c72715-4078-46f0-b763-6a6bcd91acd1.json +0 -1
package/dist/client/200.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.CJGrD2VA.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BAu8wLxk.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-404.DJpOK4i4.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/P5TxJjhx.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bo5omLnI.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.DRe0f5YQ.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DSTZVpLC.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.CJGrD2VA.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BAu8wLxk.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-404.DJpOK4i4.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/P5TxJjhx.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bo5omLnI.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.DRe0f5YQ.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DSTZVpLC.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"95d9fdf4-13f4-409a-b441-89fa0f659582",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1790417109219,false]</script></body></html>
|
package/dist/client/404.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.CJGrD2VA.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BAu8wLxk.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-404.DJpOK4i4.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/P5TxJjhx.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bo5omLnI.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.DRe0f5YQ.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DSTZVpLC.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.CJGrD2VA.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BAu8wLxk.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-404.DJpOK4i4.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/P5TxJjhx.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bo5omLnI.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.DRe0f5YQ.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DSTZVpLC.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"95d9fdf4-13f4-409a-b441-89fa0f659582",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1790417109220,false]</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"
|
|
1
|
+
{"id":"95d9fdf4-13f4-409a-b441-89fa0f659582","timestamp":1790417106107}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"95d9fdf4-13f4-409a-b441-89fa0f659582","timestamp":1790417106107,"prerendered":[]}
|
package/dist/client/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.CJGrD2VA.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BAu8wLxk.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-404.DJpOK4i4.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/P5TxJjhx.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bo5omLnI.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.DRe0f5YQ.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DSTZVpLC.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.CJGrD2VA.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BAu8wLxk.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/BpY-pULJ.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-404.DJpOK4i4.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/P5TxJjhx.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bo5omLnI.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.DRe0f5YQ.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DSTZVpLC.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"95d9fdf4-13f4-409a-b441-89fa0f659582",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1790417109220,false]</script></body></html>
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import { defaultPlural, isNoPrefixStrategy, withPrefixStrategy } from '@i18n-mic
|
|
|
6
6
|
import { generateHmrPlugin } from '@i18n-micro/hmr/generate-plugin';
|
|
7
7
|
import { RouteGenerator, isLocaleAllowedForUnlocalizedRoute, normalizePath, isInternalPath } from '@i18n-micro/route-strategy';
|
|
8
8
|
import { buildTranslationSourceLayers, preMergeLocales } from '@i18n-micro/utils/build';
|
|
9
|
-
import { resolveTranslationPayloadOptions, getTranslationPayloadMisconfigurationWarnings, getTranslationPayloadSizeWarning, resolveTranslationPayloadWarningThresholds, resolveTranslationPayloadPublicRel, shouldRegisterNitroServerAssets, shouldCopyTranslationPayloadsToPublic, resolveTranslationPayloadPublicDir } from '@i18n-micro/utils/payload-config';
|
|
9
|
+
import { resolveTranslationPayloadOptions, getTranslationPayloadMisconfigurationWarnings, getTranslationPayloadSizeWarning, resolveTranslationPayloadWarningThresholds, resolveTranslationPayloadPublicRel, shouldReadPayloadsFromPublicDir, shouldRegisterNitroServerAssets, shouldCopyTranslationPayloadsToPublic, resolveTranslationPayloadPublicDir } from '@i18n-micro/utils/payload-config';
|
|
10
10
|
export { resolveTranslationPayloadMode, resolveTranslationPayloadOptions, resolveTranslationPayloadPublicDir, resolveTranslationPayloadPublicRel, shouldCopyTranslationPayloadsToPublic, shouldRegisterNitroServerAssets } from '@i18n-micro/utils/payload-config';
|
|
11
11
|
import { hashTranslationSources, scanTranslationPayloadDirectory, compressTranslationPayloads } from '@i18n-micro/utils/payload-stats';
|
|
12
12
|
import { buildTranslationPayloadCacheControl } from '@i18n-micro/utils/payload-url';
|
|
@@ -1064,24 +1064,7 @@ declare module '#i18n-internal/payload-source' {
|
|
|
1064
1064
|
nitroConfig.alias["#i18n-internal/plural"] = pluralTemplate.dst;
|
|
1065
1065
|
nitroConfig.alias["#i18n-internal/strategy"] = strategyTemplate.dst;
|
|
1066
1066
|
nitroConfig.alias["#i18n-internal/config"] = configTemplate.dst;
|
|
1067
|
-
|
|
1068
|
-
nitroConfig.alias["#i18n-internal/payload-source"] = isNode ? resolver.resolve("./runtime/server/payload-source.fs") : resolver.resolve("./runtime/server/payload-source.assets");
|
|
1069
|
-
if (shouldRegisterNitroServerAssets(translationPayloads, isNode)) {
|
|
1070
|
-
nitroConfig.serverAssets = nitroConfig.serverAssets || [];
|
|
1071
|
-
nitroConfig.serverAssets.push({
|
|
1072
|
-
baseName: "i18n",
|
|
1073
|
-
// Same layout as public (`mode`): premerged matrix or compact source.
|
|
1074
|
-
dir: publicAssetsDir
|
|
1075
|
-
});
|
|
1076
|
-
if (translationPayloads.mode === "premerged") {
|
|
1077
|
-
logger.warn(
|
|
1078
|
-
`Edge target with translationPayloads.mode:"premerged" embeds the full page/locale matrix via Nitro serverAssets (Rollup raw:). Prefer mode:'source' for large catalogs.`
|
|
1079
|
-
);
|
|
1080
|
-
}
|
|
1081
|
-
}
|
|
1082
|
-
if (isNode && translationPayloads.serverAssets && !translationPayloads.publicAssets) {
|
|
1083
|
-
logger.info("translationPayloads.serverAssets: on Node, payloads are served from public/ (publicAssets copy enabled for SSR).");
|
|
1084
|
-
}
|
|
1067
|
+
nitroConfig.alias["#i18n-internal/payload-source"] = resolver.resolve("./runtime/server/payload-source.fs");
|
|
1085
1068
|
nitroConfig.plugins = nitroConfig.plugins || [];
|
|
1086
1069
|
if (nuxt.options.dev && (options.hmr ?? true)) {
|
|
1087
1070
|
nitroConfig.plugins.push(resolver.resolve("./runtime/server/plugins/watcher.dev"));
|
|
@@ -1124,10 +1107,32 @@ declare module '#i18n-internal/payload-source' {
|
|
|
1124
1107
|
handler: resolver.resolve("./runtime/server/middleware/i18n.global")
|
|
1125
1108
|
});
|
|
1126
1109
|
});
|
|
1110
|
+
nuxt.hook("nitro:init", (nitro) => {
|
|
1111
|
+
if (nitro.options.static) return;
|
|
1112
|
+
const readsPublicDir = shouldReadPayloadsFromPublicDir(nitro.options);
|
|
1113
|
+
if (!readsPublicDir) {
|
|
1114
|
+
nitro.options.alias["#i18n-internal/payload-source"] = resolver.resolve("./runtime/server/payload-source.assets");
|
|
1115
|
+
}
|
|
1116
|
+
if (shouldRegisterNitroServerAssets(translationPayloads, readsPublicDir)) {
|
|
1117
|
+
nitro.options.serverAssets.push({
|
|
1118
|
+
baseName: "i18n",
|
|
1119
|
+
// Same layout as public (`mode`): premerged matrix or compact source.
|
|
1120
|
+
dir: publicAssetsDir
|
|
1121
|
+
});
|
|
1122
|
+
if (translationPayloads.mode === "premerged") {
|
|
1123
|
+
logger.warn(
|
|
1124
|
+
`Preset "${nitro.options.preset}" does not ship public/ with the server, so translationPayloads.mode:"premerged" embeds the full page/locale matrix via Nitro serverAssets (Rollup raw:). Prefer mode:'source' for large catalogs.`
|
|
1125
|
+
);
|
|
1126
|
+
}
|
|
1127
|
+
}
|
|
1128
|
+
if (readsPublicDir && translationPayloads.serverAssets && !translationPayloads.publicAssets) {
|
|
1129
|
+
logger.info("translationPayloads.serverAssets: on Node, payloads are served from public/ (publicAssets copy enabled for SSR).");
|
|
1130
|
+
}
|
|
1131
|
+
});
|
|
1127
1132
|
nuxt.hook("nitro:build:public-assets", (nitro) => {
|
|
1128
1133
|
const isProd = nuxt.options.dev === false;
|
|
1129
|
-
const
|
|
1130
|
-
const copyPublicPayloads = shouldCopyTranslationPayloadsToPublic(translationPayloads,
|
|
1134
|
+
const readsPublicDir = shouldReadPayloadsFromPublicDir(nitro.options);
|
|
1135
|
+
const copyPublicPayloads = shouldCopyTranslationPayloadsToPublic(translationPayloads, readsPublicDir);
|
|
1131
1136
|
if (isProd && copyPublicPayloads) {
|
|
1132
1137
|
const publicDir = resolveTranslationPayloadPublicDir(nitro.options.output.publicDir, options, apiBaseUrl);
|
|
1133
1138
|
try {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuxt-i18n-micro",
|
|
3
|
-
"version": "3.29.
|
|
3
|
+
"version": "3.29.8",
|
|
4
4
|
"description": "Fast, lightweight i18n for Nuxt with strategy-based routing and minimal overhead.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"i18n",
|
|
@@ -82,13 +82,13 @@
|
|
|
82
82
|
"sirv": "^2.0.3",
|
|
83
83
|
"ufo": "^1.6.4",
|
|
84
84
|
"unplugin": "^1.16.1 || ^2.0.0 || ^3.3.0",
|
|
85
|
-
"@i18n-micro/core": "^1.3.
|
|
86
|
-
"@i18n-micro/
|
|
87
|
-
"@i18n-micro/
|
|
88
|
-
"@i18n-micro/
|
|
89
|
-
"@i18n-micro/
|
|
90
|
-
"@i18n-micro/utils": "^1.
|
|
91
|
-
"@i18n-micro/
|
|
85
|
+
"@i18n-micro/core": "^1.3.20",
|
|
86
|
+
"@i18n-micro/path-strategy": "^1.3.19",
|
|
87
|
+
"@i18n-micro/route-strategy": "^1.1.27",
|
|
88
|
+
"@i18n-micro/hmr": "^1.0.17",
|
|
89
|
+
"@i18n-micro/types": "^1.2.17",
|
|
90
|
+
"@i18n-micro/test-utils": "^1.2.17",
|
|
91
|
+
"@i18n-micro/utils": "^1.0.25"
|
|
92
92
|
},
|
|
93
93
|
"devDependencies": {
|
|
94
94
|
"@nuxt/devtools": "^3.4.2",
|
|
@@ -98,15 +98,15 @@
|
|
|
98
98
|
"@nuxt/test-utils": "^4.3.2",
|
|
99
99
|
"@playwright/test": "^1.63.0",
|
|
100
100
|
"@types/node": "^20.19.26",
|
|
101
|
-
"@untestutils/nuxt": "^0.
|
|
102
|
-
"@untestutils/perf": "^0.
|
|
101
|
+
"@untestutils/nuxt": "^0.7.1",
|
|
102
|
+
"@untestutils/perf": "^0.7.1",
|
|
103
103
|
"@vue/devtools-api": "^8.1.5",
|
|
104
104
|
"artillery": "2.0.34",
|
|
105
105
|
"changelogen": "^0.6.2",
|
|
106
106
|
"oxfmt": "^0.67.0",
|
|
107
107
|
"oxlint": "^1.82.0",
|
|
108
108
|
"typescript": "6.0.3",
|
|
109
|
-
"untestutils": "^0.
|
|
109
|
+
"untestutils": "^0.7.1",
|
|
110
110
|
"vitest": "^4.1.11",
|
|
111
111
|
"vue-tsc": "^3.3.11"
|
|
112
112
|
},
|
|
@@ -180,6 +180,10 @@
|
|
|
180
180
|
"smoke:pack": "pnpm -C scripts cli smoke-pack",
|
|
181
181
|
"smoke:verify": "pnpm -C scripts cli smoke-verify",
|
|
182
182
|
"smoke:browser": "pnpm -C scripts cli smoke-browser",
|
|
183
|
+
"test:presets": "pnpm -C scripts cli preset-smoke --preset all",
|
|
184
|
+
"test:presets:vercel": "pnpm -C scripts cli preset-smoke --preset vercel",
|
|
185
|
+
"test:presets:cloudflare": "pnpm -C scripts cli preset-smoke --preset cloudflare_pages",
|
|
186
|
+
"test:presets:netlify": "pnpm -C scripts cli preset-smoke --preset netlify",
|
|
183
187
|
"audit:deps": "pnpm -C scripts cli deps-audit",
|
|
184
188
|
"audit:docs": "pnpm -C scripts cli docs-audit",
|
|
185
189
|
"audit:fixtures": "pnpm -C scripts cli fixtures-audit",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"id":"f3c72715-4078-46f0-b763-6a6bcd91acd1","timestamp":1790267901076,"prerendered":[]}
|