nuxt-i18n-micro 3.16.0 → 3.17.5
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/27df88ba-c559-40f5-a972-a7bb2444b9fc.json +1 -0
- package/dist/client/index.html +1 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +5 -1
- package/dist/runtime/composables/useLocaleHead.js +5 -4
- package/package.json +8 -6
- package/dist/client/_nuxt/builds/meta/0ff35845-382c-4486-afb1-beec45dc1774.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"><link rel="stylesheet" href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/entry.Kj_DYE7z.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js"><script type="module" src="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-404.CyBDSRXN.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Brscz0ku.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Dt5GiM1K.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-500.DJtCwW7w.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/CXlkzKTu.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_I18N_BASE__/",buildId:"
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/entry.Kj_DYE7z.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js"><script type="module" src="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-404.CyBDSRXN.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Brscz0ku.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Dt5GiM1K.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-500.DJtCwW7w.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/CXlkzKTu.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_I18N_BASE__/",buildId:"27df88ba-c559-40f5-a972-a7bb2444b9fc",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1777382530223,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"><link rel="stylesheet" href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/entry.Kj_DYE7z.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js"><script type="module" src="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-404.CyBDSRXN.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Brscz0ku.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Dt5GiM1K.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-500.DJtCwW7w.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/CXlkzKTu.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_I18N_BASE__/",buildId:"
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/entry.Kj_DYE7z.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js"><script type="module" src="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-404.CyBDSRXN.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Brscz0ku.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Dt5GiM1K.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-500.DJtCwW7w.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/CXlkzKTu.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_I18N_BASE__/",buildId:"27df88ba-c559-40f5-a972-a7bb2444b9fc",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1777382530223,false]</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"
|
|
1
|
+
{"id":"27df88ba-c559-40f5-a972-a7bb2444b9fc","timestamp":1777382527247}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"27df88ba-c559-40f5-a972-a7bb2444b9fc","timestamp":1777382527247,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"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"><link rel="stylesheet" href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/entry.Kj_DYE7z.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js"><script type="module" src="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-404.CyBDSRXN.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Brscz0ku.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Dt5GiM1K.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-500.DJtCwW7w.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/CXlkzKTu.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_I18N_BASE__/",buildId:"
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/entry.Kj_DYE7z.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js"><script type="module" src="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-404.CyBDSRXN.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Brscz0ku.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Dt5GiM1K.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-500.DJtCwW7w.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/CXlkzKTu.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_I18N_BASE__/",buildId:"27df88ba-c559-40f5-a972-a7bb2444b9fc",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1777382530223,false]</script></body></html>
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -860,6 +860,7 @@ declare module '#i18n-internal/plural' {
|
|
|
860
860
|
const routesSet = prerenderRoutes.routes;
|
|
861
861
|
const routeRules = nuxt.options.routeRules || {};
|
|
862
862
|
const additionalRoutes = /* @__PURE__ */ new Set();
|
|
863
|
+
const localeCodes = new Set(routeGenerator.locales.map((locale) => locale.code));
|
|
863
864
|
for (const route of routesSet) {
|
|
864
865
|
if (isInternalPath(route, options.excludePatterns)) {
|
|
865
866
|
routesSet.delete(route);
|
|
@@ -872,6 +873,10 @@ declare module '#i18n-internal/plural' {
|
|
|
872
873
|
if (routeRules[route]?.prerender === false) {
|
|
873
874
|
continue;
|
|
874
875
|
}
|
|
876
|
+
const firstSegment = route.replace(/^\//, "").split("/")[0];
|
|
877
|
+
if (firstSegment && localeCodes.has(firstSegment)) {
|
|
878
|
+
continue;
|
|
879
|
+
}
|
|
875
880
|
for (const locale of routeGenerator.locales) {
|
|
876
881
|
const localizedRoute = routeGenerator.resolveLocalizedPath(route, locale.code);
|
|
877
882
|
if (localizedRoute === route) {
|
|
@@ -890,7 +895,6 @@ declare module '#i18n-internal/plural' {
|
|
|
890
895
|
routesSet.add(route);
|
|
891
896
|
}
|
|
892
897
|
if (withPrefixStrategy(options.strategy)) {
|
|
893
|
-
const localeCodes = new Set(routeGenerator.locales.map((l) => l.code));
|
|
894
898
|
const deleted = [];
|
|
895
899
|
for (const route of routesSet) {
|
|
896
900
|
if (route === "/" || route === "") continue;
|
|
@@ -86,7 +86,7 @@ export const useLocaleHead = ({
|
|
|
86
86
|
meta: []
|
|
87
87
|
};
|
|
88
88
|
if (!addSeoAttributes) return;
|
|
89
|
-
const
|
|
89
|
+
const localesForSeo = locales.filter((loc) => loc.seo !== false);
|
|
90
90
|
const ogLocaleMeta = {
|
|
91
91
|
[identifierAttribute]: "i18n-og",
|
|
92
92
|
property: "og:locale",
|
|
@@ -97,7 +97,7 @@ export const useLocaleHead = ({
|
|
|
97
97
|
property: "og:url",
|
|
98
98
|
content: ogUrl
|
|
99
99
|
};
|
|
100
|
-
const alternateOgLocalesMeta =
|
|
100
|
+
const alternateOgLocalesMeta = localesForSeo.filter((loc) => loc.code !== locale).map((loc) => {
|
|
101
101
|
const ogAlt = loc.og || loc.iso || loc.code;
|
|
102
102
|
return {
|
|
103
103
|
[identifierAttribute]: `i18n-og-alt-${ogAlt}`,
|
|
@@ -111,8 +111,9 @@ export const useLocaleHead = ({
|
|
|
111
111
|
href: ogUrl
|
|
112
112
|
};
|
|
113
113
|
const defaultLocale = i18nConfig.defaultLocale || "en";
|
|
114
|
+
const defaultLocaleObj = allLocales.find((loc) => loc.code === defaultLocale);
|
|
114
115
|
const whitelist = canonicalQueryWhitelist ?? [];
|
|
115
|
-
const alternateLinks = isNoPrefixStrategy(strategy) ? [] :
|
|
116
|
+
const alternateLinks = isNoPrefixStrategy(strategy) ? [] : localesForSeo.flatMap((loc) => {
|
|
116
117
|
const switchedPath = switchLocalePath(loc.code);
|
|
117
118
|
if (!switchedPath) {
|
|
118
119
|
return [];
|
|
@@ -143,7 +144,7 @@ export const useLocaleHead = ({
|
|
|
143
144
|
return links;
|
|
144
145
|
});
|
|
145
146
|
let xDefaultLink = null;
|
|
146
|
-
if (!isNoPrefixStrategy(strategy)) {
|
|
147
|
+
if (!isNoPrefixStrategy(strategy) && defaultLocaleObj?.seo !== false) {
|
|
147
148
|
const defaultSwitchedPath = switchLocalePath(defaultLocale);
|
|
148
149
|
if (defaultSwitchedPath) {
|
|
149
150
|
let xDefaultHref;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuxt-i18n-micro",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.17.5",
|
|
4
4
|
"description": "Nuxt I18n Micro is a lightweight, high-performance internationalization module for Nuxt, designed to handle multi-language support with minimal overhead, fast build times, and efficient runtime performance.",
|
|
5
5
|
"repository": "s00d/nuxt-i18n-micro",
|
|
6
6
|
"license": "MIT",
|
|
@@ -75,10 +75,10 @@
|
|
|
75
75
|
"globby": "^14.1.0",
|
|
76
76
|
"ufo": "^1.5.4",
|
|
77
77
|
"@i18n-micro/core": "1.3.0",
|
|
78
|
-
"@i18n-micro/types": "1.2.0",
|
|
79
78
|
"@i18n-micro/path-strategy": "1.3.0",
|
|
80
|
-
"@i18n-micro/
|
|
81
|
-
"@i18n-micro/
|
|
79
|
+
"@i18n-micro/test-utils": "1.2.0",
|
|
80
|
+
"@i18n-micro/types": "1.2.1",
|
|
81
|
+
"@i18n-micro/route-strategy": "1.1.5"
|
|
82
82
|
},
|
|
83
83
|
"devDependencies": {
|
|
84
84
|
"@biomejs/biome": "^2.3.14",
|
|
@@ -120,8 +120,10 @@
|
|
|
120
120
|
"dev:build": "nuxi build playground",
|
|
121
121
|
"dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground",
|
|
122
122
|
"dev:generate": "nuxi generate playground",
|
|
123
|
-
"release": "pnpm run format && pnpm run lint && pnpm run typecheck && pnpm run test:types && pnpm run test && pnpm run test:vitest && pnpm run test:workspaces && pnpm run prepack && changelogen
|
|
124
|
-
"release:lite": "pnpm run prepack && changelogen
|
|
123
|
+
"release": "pnpm run format && pnpm run lint && pnpm run typecheck && pnpm run test:types && pnpm run test && pnpm run test:vitest && pnpm run test:workspaces && pnpm run prepack && node scripts/run-changelogen-release.mjs auto && pnpm publish -r && git push --follow-tags",
|
|
124
|
+
"release:lite": "pnpm run prepack && node scripts/run-changelogen-release.mjs patch && pnpm publish -r && git push --follow-tags",
|
|
125
|
+
"release:patch": "pnpm run prepack && node scripts/run-changelogen-release.mjs patch && pnpm publish -r && git push --follow-tags",
|
|
126
|
+
"release:minor": "pnpm run prepack && node scripts/run-changelogen-release.mjs minor && pnpm publish -r && git push --follow-tags",
|
|
125
127
|
"lint": "biome check .",
|
|
126
128
|
"lint:fix": "biome check --write .",
|
|
127
129
|
"format": "biome format --write .",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"id":"0ff35845-382c-4486-afb1-beec45dc1774","timestamp":1775393064702,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
|