nuxt-i18n-micro 1.31.3 → 1.31.4

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.
@@ -8,5 +8,5 @@
8
8
  <link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/C4eGGOXV.js">
9
9
  <link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.CBAEdpZV.css">
10
10
  <link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BARbCa2g.js">
11
- <script type="module" src="/__nuxt-i18n-micro/_nuxt/CTiMIQCz.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1730746485570,false]</script>
12
- <script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"ec606754-0969-4f29-95ad-bbb2db0af6ad",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
11
+ <script type="module" src="/__nuxt-i18n-micro/_nuxt/CTiMIQCz.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1730748975413,false]</script>
12
+ <script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"b9045d79-e359-41a7-9a92-82543affaa74",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
@@ -8,5 +8,5 @@
8
8
  <link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/C4eGGOXV.js">
9
9
  <link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.CBAEdpZV.css">
10
10
  <link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BARbCa2g.js">
11
- <script type="module" src="/__nuxt-i18n-micro/_nuxt/CTiMIQCz.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1730746485571,false]</script>
12
- <script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"ec606754-0969-4f29-95ad-bbb2db0af6ad",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
11
+ <script type="module" src="/__nuxt-i18n-micro/_nuxt/CTiMIQCz.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1730748975413,false]</script>
12
+ <script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"b9045d79-e359-41a7-9a92-82543affaa74",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
@@ -1 +1 @@
1
- {"id":"ec606754-0969-4f29-95ad-bbb2db0af6ad","timestamp":1730746473747}
1
+ {"id":"b9045d79-e359-41a7-9a92-82543affaa74","timestamp":1730748957751}
@@ -0,0 +1 @@
1
+ {"id":"b9045d79-e359-41a7-9a92-82543affaa74","timestamp":1730748957751,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
@@ -8,5 +8,5 @@
8
8
  <link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/C4eGGOXV.js">
9
9
  <link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.CBAEdpZV.css">
10
10
  <link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/BARbCa2g.js">
11
- <script type="module" src="/__nuxt-i18n-micro/_nuxt/CTiMIQCz.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1730746485571,false]</script>
12
- <script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"ec606754-0969-4f29-95ad-bbb2db0af6ad",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
11
+ <script type="module" src="/__nuxt-i18n-micro/_nuxt/CTiMIQCz.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1730748975413,false]</script>
12
+ <script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"b9045d79-e359-41a7-9a92-82543affaa74",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
package/dist/module.d.mts CHANGED
@@ -36,7 +36,6 @@ interface ModuleOptions {
36
36
  customRegexMatcher?: string | RegExp;
37
37
  }
38
38
  interface ModuleOptionsExtend extends ModuleOptions {
39
- plural: string;
40
39
  dateBuild: number;
41
40
  hashMode: boolean;
42
41
  apiBaseUrl: string;
package/dist/module.d.ts CHANGED
@@ -36,7 +36,6 @@ interface ModuleOptions {
36
36
  customRegexMatcher?: string | RegExp;
37
37
  }
38
38
  interface ModuleOptionsExtend extends ModuleOptions {
39
- plural: string;
40
39
  dateBuild: number;
41
40
  hashMode: boolean;
42
41
  apiBaseUrl: string;
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nuxt-i18n-micro",
3
3
  "configKey": "i18n",
4
- "version": "1.31.3",
4
+ "version": "1.31.4",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "0.8.4",
7
7
  "unbuild": "2.0.0"
package/dist/module.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import path from 'node:path';
2
2
  import * as fs from 'node:fs';
3
3
  import fs__default, { readFileSync, existsSync, mkdirSync, writeFileSync } from 'node:fs';
4
- import { useNuxt, defineNuxtModule, useLogger, createResolver, addPlugin, addImportsDir, addServerHandler, addComponentsDir, addTypeTemplate, extendPages, addPrerenderRoutes } from '@nuxt/kit';
4
+ import { useNuxt, defineNuxtModule, useLogger, createResolver, addTemplate, addPlugin, addImportsDir, addServerHandler, addComponentsDir, addTypeTemplate, extendPages, addPrerenderRoutes } from '@nuxt/kit';
5
5
  import { watch } from 'chokidar';
6
6
  import { onDevToolsInitialized, extendServerRpc } from '@nuxt/devtools-kit';
7
7
 
@@ -444,12 +444,14 @@ const module = defineNuxtModule({
444
444
  const rootDirs = nuxt.options._layers.map((layer) => layer.config.rootDir).reverse();
445
445
  const localeManager = new LocaleManager(options, rootDirs);
446
446
  const pageManager = new PageManager(localeManager.locales, options.defaultLocale, options.includeDefaultLocaleRoute, options.globalLocaleRoutes);
447
- let plural = options.plural;
448
- if (typeof plural !== "string")
449
- plural = plural.toString();
447
+ addTemplate({
448
+ filename: "i18n.plural.mjs",
449
+ write: true,
450
+ getContents: () => `export const plural = ${options.plural.toString()};`
451
+ });
450
452
  const apiBaseUrl = (process.env.NUXT_I18N_APP_BASE_URL ?? options.apiBaseUrl ?? "_locales").replace(/^\/+|\/+$|\/{2,}/, "");
451
453
  nuxt.options.runtimeConfig.public.i18nConfig = {
452
- plural,
454
+ plural: void 0,
453
455
  locales: localeManager.locales ?? [],
454
456
  meta: options.meta ?? true,
455
457
  metaBaseUrl: options.metaBaseUrl ?? void 0,
@@ -1,6 +1,7 @@
1
1
  import { useTranslationHelper } from "../translationHelper.js";
2
2
  import { defineNuxtPlugin, useRuntimeConfig } from "#app";
3
3
  import { useRoute, useRouter, useCookie, useState } from "#imports";
4
+ import { plural } from "#build/i18n.plural.mjs";
4
5
  const i18nHelper = useTranslationHelper();
5
6
  const isDev = process.env.NODE_ENV !== "production";
6
7
  function interpolate(template, params) {
@@ -163,7 +164,6 @@ export default defineNuxtPlugin(async (nuxtApp) => {
163
164
  }
164
165
  const config = useRuntimeConfig();
165
166
  const i18nConfig = config.public.i18nConfig;
166
- const plural = new Function("return " + i18nConfig.plural.toString())();
167
167
  const apiBaseUrl = i18nConfig.apiBaseUrl ?? "_locales";
168
168
  const runtimeConfig = useRuntimeConfig();
169
169
  const loadTranslationsIfNeeded = async (locale, routeName, path) => {
package/internals.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ declare module '#build/i18n.plural.mjs' {
2
+ export function plural(key: string, count: number, locale: string, getter: Getter): string | null
3
+ }
4
+
5
+ declare module '#internal/i18n/options.mjs' {
6
+ export function plural(key: string, count: number, locale: string, getter: Getter): string | null
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nuxt-i18n-micro",
3
- "version": "1.31.3",
3
+ "version": "1.31.4",
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",
@@ -36,7 +36,8 @@
36
36
  "main": "./dist/module.cjs",
37
37
  "types": "./dist/types.d.ts",
38
38
  "files": [
39
- "dist"
39
+ "dist",
40
+ "internals.d.ts"
40
41
  ],
41
42
  "scripts": {
42
43
  "prepack": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxt-module-build build && npm run client:build",
@@ -1 +0,0 @@
1
- {"id":"ec606754-0969-4f29-95ad-bbb2db0af6ad","timestamp":1730746473747,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}