nuxt-i18n-micro 4.0.0 → 4.0.1

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.
@@ -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/DKUOBR6F.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.PSWtHhay.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DKUOBR6F.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BVna_KKx.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/DKUOBR6F.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-404.xs3fxhVJ.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/CmvObVGq.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/CPz_jhsD.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.C2S-4iLg.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bw81RhAv.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"f0c8d4bf-40d2-4915-8b4a-ebe46bde61c8",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1793740489193,false]</script></body></html>
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/DKUOBR6F.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.PSWtHhay.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DKUOBR6F.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BVna_KKx.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/DKUOBR6F.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-404.xs3fxhVJ.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/CmvObVGq.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/CPz_jhsD.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.C2S-4iLg.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bw81RhAv.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"356b87e3-45dd-4f80-a40a-b649665c1844",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1793785774795,false]</script></body></html>
@@ -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/DKUOBR6F.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.PSWtHhay.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DKUOBR6F.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BVna_KKx.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/DKUOBR6F.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-404.xs3fxhVJ.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/CmvObVGq.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/CPz_jhsD.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.C2S-4iLg.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bw81RhAv.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"f0c8d4bf-40d2-4915-8b4a-ebe46bde61c8",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1793740489193,false]</script></body></html>
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/DKUOBR6F.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.PSWtHhay.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DKUOBR6F.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BVna_KKx.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/DKUOBR6F.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-404.xs3fxhVJ.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/CmvObVGq.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/CPz_jhsD.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.C2S-4iLg.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bw81RhAv.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"356b87e3-45dd-4f80-a40a-b649665c1844",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1793785774795,false]</script></body></html>
@@ -1 +1 @@
1
- {"id":"f0c8d4bf-40d2-4915-8b4a-ebe46bde61c8","timestamp":1793740487093}
1
+ {"id":"356b87e3-45dd-4f80-a40a-b649665c1844","timestamp":1793785771623}
@@ -0,0 +1 @@
1
+ {"id":"356b87e3-45dd-4f80-a40a-b649665c1844","timestamp":1793785771623,"prerendered":[]}
@@ -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/DKUOBR6F.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.PSWtHhay.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DKUOBR6F.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BVna_KKx.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/DKUOBR6F.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-404.xs3fxhVJ.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/CmvObVGq.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/CPz_jhsD.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.C2S-4iLg.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bw81RhAv.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"f0c8d4bf-40d2-4915-8b4a-ebe46bde61c8",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1793740489193,false]</script></body></html>
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/DKUOBR6F.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.PSWtHhay.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DKUOBR6F.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BVna_KKx.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/DKUOBR6F.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-404.xs3fxhVJ.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/CmvObVGq.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/CPz_jhsD.js"><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.C2S-4iLg.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bw81RhAv.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"356b87e3-45dd-4f80-a40a-b649665c1844",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1793785774795,false]</script></body></html>
package/dist/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.18.0"
6
6
  },
7
- "version": "4.0.0",
7
+ "version": "4.0.1",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "1.0.3",
10
10
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as fs from 'node:fs';
2
2
  import fs__default, { existsSync, mkdirSync, writeFileSync, readdirSync, statSync, readFileSync } from 'node:fs';
3
3
  import path, { join, dirname, relative, basename, resolve } from 'node:path';
4
- import { fileURLToPath, pathToFileURL } from 'node:url';
4
+ import { fileURLToPath } from 'node:url';
5
5
  import { defaultPlural, isNoPrefixStrategy } from '@i18n-micro/core';
6
6
  import { forwardSlashes, trimLeadingSlashes, isInternalPath } from '@i18n-micro/utils/app-path';
7
7
  import { readTranslationFile, resolveLiveTranslationDirs, translationRelativePath } from '../dist/runtime/server/internal/translation-watcher.js';
@@ -955,7 +955,7 @@ async function resolveEntry(specifier) {
955
955
  } catch {
956
956
  absolutePath = await resolvePath(specifier);
957
957
  }
958
- return process.platform === "win32" ? pathToFileURL(absolutePath).href : forwardSlashes(absolutePath);
958
+ return forwardSlashes(absolutePath);
959
959
  }
960
960
  function generateI18nTypes() {
961
961
  return `
@@ -1000,6 +1000,7 @@ function buildFullConfig(params) {
1000
1000
  excludePatterns: options.excludePatterns ?? [],
1001
1001
  missingWarn: options.missingWarn,
1002
1002
  redirects: options.redirects !== false,
1003
+ prefixCaseRedirect: options.prefixCaseRedirect !== false,
1003
1004
  localizedRouteNamePrefix: options.localizedRouteNamePrefix,
1004
1005
  routesLocaleLinks: options.routesLocaleLinks ?? {},
1005
1006
  debug: options.debug,
@@ -1075,7 +1076,9 @@ export function createI18nStrategy(router, config = __fullConfig) {
1075
1076
  router,
1076
1077
  hashMode: config.hashMode,
1077
1078
  disablePageLocales: config.disablePageLocales,
1078
- customRegexMatcher: config.customRegexMatcher,${domains ? "\n domain: config.domain,\n linkLocales: config.linkLocales," : ""}
1079
+ customRegexMatcher: config.customRegexMatcher,
1080
+ // a prefix in another case is a 404 when nothing may redirect it
1081
+ prefixCaseRedirect: config.redirects !== false && config.prefixCaseRedirect !== false,${domains ? "\n domain: config.domain,\n linkLocales: config.linkLocales," : ""}
1079
1082
  })
1080
1083
  }
1081
1084
  `;
@@ -1105,6 +1108,7 @@ const module$1 = defineNuxtModule({
1105
1108
  debug: false,
1106
1109
  define: true,
1107
1110
  redirects: true,
1111
+ prefixCaseRedirect: true,
1108
1112
  plugin: true,
1109
1113
  hooks: true,
1110
1114
  components: true,
@@ -1498,6 +1502,8 @@ declare module '#i18n-internal/payload-source' {
1498
1502
  nitroConfig.alias["#i18n-internal/plural"] = pluralTemplate.dst;
1499
1503
  nitroConfig.alias["#i18n-internal/strategy"] = strategyTemplate.dst;
1500
1504
  nitroConfig.alias["#i18n-internal/config"] = configTemplate.dst;
1505
+ nitroConfig.externals = nitroConfig.externals || {};
1506
+ nitroConfig.externals.inline = [...nitroConfig.externals.inline || [], pluralTemplate.dst, strategyTemplate.dst];
1501
1507
  nitroConfig.alias["#i18n-internal/payload-source"] = resolver.resolve("./runtime/server/payload-source.fs");
1502
1508
  nitroConfig.plugins = nitroConfig.plugins || [];
1503
1509
  nitroConfig.plugins.push(resolver.resolve("./runtime/server/plugins/failed-read"));
@@ -264,7 +264,7 @@ export interface PluginsInjections {
264
264
  /**
265
265
  * The route object for the current page in another locale, without navigating, or a URL string
266
266
  * for a locale on its own `baseUrl`. Under `trailingSlash` the object has `path` and `fullPath`,
267
- * following the rule, with the `query` and `hash` as they are, and `router.push` or a link keep them.
267
+ * following the rule, with the `query` and `hash` as they are, and `router.push` or a link keeps them.
268
268
  */
269
269
  $switchLocaleRoute: (locale: string) => RouteLocationRaw;
270
270
  /** The path of the current page in another locale, without navigating. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nuxt-i18n-micro",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "Fast, lightweight i18n for Nuxt with strategy-based routing and minimal overhead.",
5
5
  "keywords": [
6
6
  "i18n",
@@ -78,11 +78,11 @@
78
78
  "h3": "^1.15.11",
79
79
  "sirv": "^3.0.2",
80
80
  "ufo": "^1.6.4",
81
- "@i18n-micro/path-strategy": "^2.0.0",
82
- "@i18n-micro/route-strategy": "^2.0.0",
83
- "@i18n-micro/types": "^2.0.0",
84
- "@i18n-micro/utils": "^2.0.0",
85
- "@i18n-micro/core": "^2.0.0"
81
+ "@i18n-micro/core": "^2.0.1",
82
+ "@i18n-micro/types": "^2.0.1",
83
+ "@i18n-micro/path-strategy": "^2.0.1",
84
+ "@i18n-micro/utils": "^2.0.1",
85
+ "@i18n-micro/route-strategy": "^2.0.1"
86
86
  },
87
87
  "devDependencies": {
88
88
  "@nuxt/devtools": "^3.4.2",
@@ -1 +0,0 @@
1
- {"id":"f0c8d4bf-40d2-4915-8b4a-ebe46bde61c8","timestamp":1793740487093,"prerendered":[]}