@djangocfg/nextjs 2.1.170 → 2.1.172

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
- {"version":3,"sources":["../../src/i18n/proxy.ts","../../src/i18n/routing.ts"],"sourcesContent":["/**\n * i18n Proxy for Next.js App Router (Next.js 16+)\n *\n * Handles locale detection and routing\n *\n * @example\n * ```ts\n * // proxy.ts\n * export { proxy as default, config } from '@djangocfg/nextjs/i18n';\n *\n * // Or with custom routing:\n * import { createProxy } from '@djangocfg/nextjs/i18n';\n * import { routing } from './i18n/routing';\n *\n * export default createProxy(routing);\n * export const config = { matcher: [...] };\n * ```\n */\n\nimport createIntlMiddleware from 'next-intl/middleware';\n\nimport { createRouting, routing } from './routing';\n\nimport type { NextRequest } from 'next/server';\n\nimport type { I18nConfig } from './types';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Proxy Factory\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Create i18n proxy handler with custom routing configuration\n */\nexport function createProxy(routingConfig?: ReturnType<typeof createRouting>) {\n const config = routingConfig ?? routing;\n return createIntlMiddleware(config);\n}\n\n/**\n * Create i18n proxy from config options\n */\nexport function createProxyFromConfig(config: Partial<I18nConfig>) {\n const routingConfig = createRouting(config);\n return createIntlMiddleware(routingConfig);\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Default Proxy\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst handleI18nRouting = createProxy();\n\n/**\n * Default proxy function using default routing\n *\n * @example\n * ```ts\n * // proxy.ts\n * export { proxy as default, config } from '@djangocfg/nextjs/i18n';\n * ```\n */\nexport function proxy(request: NextRequest) {\n return handleI18nRouting(request);\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Config\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Default proxy config\n * Matches all paths except static files, API routes, and Next.js internals\n *\n * @example\n * ```ts\n * // proxy.ts\n * export { proxy as default, config } from '@djangocfg/nextjs/i18n';\n * ```\n */\nexport const config = {\n matcher: ['/((?!api|_next|_vercel|.*\\\\..*).*)',],\n};\n","/**\n * i18n Routing Configuration\n *\n * Creates routing configuration for next-intl\n * Used by proxy and navigation components\n */\n\nimport { defineRouting } from 'next-intl/routing';\n\nimport type { I18nConfig, LocaleCode } from './types';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Default Configuration\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst DEFAULT_LOCALES: LocaleCode[] = ['en', 'ru', 'ko', 'ja', 'de', 'fr', 'zh', 'it', 'es', 'nl', 'ar', 'tr', 'pt-BR', 'pl', 'sv', 'no', 'da'];\nconst DEFAULT_LOCALE: LocaleCode = 'en';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Routing Factory\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Create routing configuration for next-intl\n *\n * @example\n * ```ts\n * // i18n/routing.ts\n * import { createRouting } from '@djangocfg/nextjs/i18n';\n *\n * export const routing = createRouting({\n * locales: ['en', 'ru', 'ko'],\n * defaultLocale: 'en',\n * });\n * ```\n */\nexport function createRouting(config?: Partial<I18nConfig>) {\n const locales = config?.locales ?? DEFAULT_LOCALES;\n const defaultLocale = config?.defaultLocale ?? DEFAULT_LOCALE;\n const localePrefix = config?.localePrefix ?? 'as-needed';\n\n return defineRouting({\n locales,\n defaultLocale,\n localePrefix,\n });\n}\n\n/**\n * Default routing configuration\n * Can be overridden by app-specific configuration\n */\nexport const routing = createRouting();\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Locale Utilities\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Check if a locale is supported\n */\nexport function isValidLocale(\n locale: string,\n supportedLocales: readonly string[] = DEFAULT_LOCALES\n): locale is LocaleCode {\n return supportedLocales.includes(locale as LocaleCode);\n}\n\n/**\n * Get locale from params (handles async params in Next.js 15+)\n */\nexport async function getLocaleFromParams(\n params: Promise<{ locale: string }> | { locale: string }\n): Promise<LocaleCode> {\n const resolved = await params;\n return resolved.locale as LocaleCode;\n}\n\n/**\n * Generate static params for all locales\n * Use in generateStaticParams for locale pages\n */\nexport function generateLocaleParams(locales: readonly string[] = DEFAULT_LOCALES) {\n return locales.map((locale) => ({ locale }));\n}\n"],"mappings":";AAmBA,OAAO,0BAA0B;;;ACZjC,SAAS,qBAAqB;AAQ9B,IAAM,kBAAgC,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,SAAS,MAAM,MAAM,MAAM,IAAI;AAC9I,IAAM,iBAA6B;AAoB5B,SAAS,cAAcA,SAA8B;AAC1D,QAAM,UAAUA,SAAQ,WAAW;AACnC,QAAM,gBAAgBA,SAAQ,iBAAiB;AAC/C,QAAM,eAAeA,SAAQ,gBAAgB;AAE7C,SAAO,cAAc;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;AAMO,IAAM,UAAU,cAAc;;;ADlB9B,SAAS,YAAY,eAAkD;AAC5E,QAAMC,UAAS,iBAAiB;AAChC,SAAO,qBAAqBA,OAAM;AACpC;AAKO,SAAS,sBAAsBA,SAA6B;AACjE,QAAM,gBAAgB,cAAcA,OAAM;AAC1C,SAAO,qBAAqB,aAAa;AAC3C;AAMA,IAAM,oBAAoB,YAAY;AAW/B,SAAS,MAAM,SAAsB;AAC1C,SAAO,kBAAkB,OAAO;AAClC;AAgBO,IAAM,SAAS;AAAA,EACpB,SAAS,CAAC,oCAAqC;AACjD;","names":["config","config"]}
1
+ {"version":3,"sources":["../../src/i18n/proxy.ts","../../src/i18n/routing.ts"],"sourcesContent":["/**\n * i18n Proxy for Next.js App Router (Next.js 16+)\n *\n * Handles locale detection and routing\n *\n * @example\n * ```ts\n * // proxy.ts\n * export { proxy as default, config } from '@djangocfg/nextjs/i18n';\n *\n * // Or with custom routing:\n * import { createProxy } from '@djangocfg/nextjs/i18n';\n * import { routing } from './i18n/routing';\n *\n * export default createProxy(routing);\n * export const config = { matcher: [...] };\n * ```\n */\n\nimport createIntlMiddleware from 'next-intl/middleware';\n\nimport { createRouting, routing } from './routing';\n\nimport type { NextRequest } from 'next/server';\n\nimport type { I18nConfig } from './types';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Proxy Factory\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Create i18n proxy handler with custom routing configuration\n */\nexport function createProxy(routingConfig?: ReturnType<typeof createRouting>) {\n const config = routingConfig ?? routing;\n return createIntlMiddleware(config);\n}\n\n/**\n * Create i18n proxy from config options\n */\nexport function createProxyFromConfig(config: Partial<I18nConfig>) {\n const routingConfig = createRouting(config);\n return createIntlMiddleware(routingConfig);\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Default Proxy\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst handleI18nRouting = createProxy();\n\n/**\n * Default proxy function using default routing\n *\n * @example\n * ```ts\n * // proxy.ts\n * export { proxy as default, config } from '@djangocfg/nextjs/i18n';\n * ```\n */\nexport function proxy(request: NextRequest) {\n return handleI18nRouting(request);\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Config\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Default proxy config\n * Matches all paths except static files, API routes, and Next.js internals\n *\n * Uses explicit _next/static and _next/image exclusions (required for Next.js 16 / Turbopack)\n *\n * @example\n * ```ts\n * // proxy.ts\n * export { proxy as default, config } from '@djangocfg/nextjs/i18n';\n * ```\n */\nexport const config = {\n matcher: [\n '/((?!api|_next/static|_next/image|favicon.ico|sitemap.xml|robots.txt).*)',\n ],\n};\n","/**\n * i18n Routing Configuration\n *\n * Creates routing configuration for next-intl\n * Used by proxy and navigation components\n */\n\nimport { defineRouting } from 'next-intl/routing';\n\nimport type { I18nConfig, LocaleCode } from './types';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Default Configuration\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst DEFAULT_LOCALES: LocaleCode[] = ['en', 'ru', 'ko', 'ja', 'de', 'fr', 'zh', 'it', 'es', 'nl', 'ar', 'tr', 'pt-BR', 'pl', 'sv', 'no', 'da'];\nconst DEFAULT_LOCALE: LocaleCode = 'en';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Routing Factory\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Create routing configuration for next-intl\n *\n * @example\n * ```ts\n * // i18n/routing.ts\n * import { createRouting } from '@djangocfg/nextjs/i18n';\n *\n * export const routing = createRouting({\n * locales: ['en', 'ru', 'ko'],\n * defaultLocale: 'en',\n * });\n * ```\n */\nexport function createRouting(config?: Partial<I18nConfig>) {\n const locales = config?.locales ?? DEFAULT_LOCALES;\n const defaultLocale = config?.defaultLocale ?? DEFAULT_LOCALE;\n const localePrefix = config?.localePrefix ?? 'as-needed';\n\n return defineRouting({\n locales,\n defaultLocale,\n localePrefix,\n });\n}\n\n/**\n * Default routing configuration\n * Can be overridden by app-specific configuration\n */\nexport const routing = createRouting();\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Locale Utilities\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Check if a locale is supported\n */\nexport function isValidLocale(\n locale: string,\n supportedLocales: readonly string[] = DEFAULT_LOCALES\n): locale is LocaleCode {\n return supportedLocales.includes(locale as LocaleCode);\n}\n\n/**\n * Get locale from params (handles async params in Next.js 15+)\n */\nexport async function getLocaleFromParams(\n params: Promise<{ locale: string }> | { locale: string }\n): Promise<LocaleCode> {\n const resolved = await params;\n return resolved.locale as LocaleCode;\n}\n\n/**\n * Generate static params for all locales\n * Use in generateStaticParams for locale pages\n */\nexport function generateLocaleParams(locales: readonly string[] = DEFAULT_LOCALES) {\n return locales.map((locale) => ({ locale }));\n}\n"],"mappings":";AAmBA,OAAO,0BAA0B;;;ACZjC,SAAS,qBAAqB;AAQ9B,IAAM,kBAAgC,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,SAAS,MAAM,MAAM,MAAM,IAAI;AAC9I,IAAM,iBAA6B;AAoB5B,SAAS,cAAcA,SAA8B;AAC1D,QAAM,UAAUA,SAAQ,WAAW;AACnC,QAAM,gBAAgBA,SAAQ,iBAAiB;AAC/C,QAAM,eAAeA,SAAQ,gBAAgB;AAE7C,SAAO,cAAc;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;AAMO,IAAM,UAAU,cAAc;;;ADlB9B,SAAS,YAAY,eAAkD;AAC5E,QAAMC,UAAS,iBAAiB;AAChC,SAAO,qBAAqBA,OAAM;AACpC;AAKO,SAAS,sBAAsBA,SAA6B;AACjE,QAAM,gBAAgB,cAAcA,OAAM;AAC1C,SAAO,qBAAqB,aAAa;AAC3C;AAMA,IAAM,oBAAoB,YAAY;AAW/B,SAAS,MAAM,SAAsB;AAC1C,SAAO,kBAAkB,OAAO;AAClC;AAkBO,IAAM,SAAS;AAAA,EACpB,SAAS;AAAA,IACP;AAAA,EACF;AACF;","names":["config","config"]}
@@ -22,7 +22,6 @@ declare function createRouting(config?: Partial<I18nConfig>): {
22
22
  localePrefix?: next_intl_routing.LocalePrefix<string[], "always" | "as-needed" | "never">;
23
23
  domains?: never;
24
24
  localeCookie?: boolean | {
25
- name?: string;
26
25
  maxAge?: number | undefined;
27
26
  priority?: "low" | "medium" | "high" | undefined;
28
27
  domain?: string | undefined;
@@ -30,6 +29,7 @@ declare function createRouting(config?: Partial<I18nConfig>): {
30
29
  secure?: boolean | undefined;
31
30
  sameSite?: true | false | "lax" | "strict" | "none" | undefined;
32
31
  partitioned?: boolean | undefined;
32
+ name?: string;
33
33
  };
34
34
  alternateLinks?: boolean;
35
35
  localeDetection?: boolean;
@@ -44,7 +44,6 @@ declare const routing: {
44
44
  localePrefix?: next_intl_routing.LocalePrefix<string[], "always" | "as-needed" | "never">;
45
45
  domains?: never;
46
46
  localeCookie?: boolean | {
47
- name?: string;
48
47
  maxAge?: number | undefined;
49
48
  priority?: "low" | "medium" | "high" | undefined;
50
49
  domain?: string | undefined;
@@ -52,6 +51,7 @@ declare const routing: {
52
51
  secure?: boolean | undefined;
53
52
  sameSite?: true | false | "lax" | "strict" | "none" | undefined;
54
53
  partitioned?: boolean | undefined;
54
+ name?: string;
55
55
  };
56
56
  alternateLinks?: boolean;
57
57
  localeDetection?: boolean;
package/dist/index.mjs CHANGED
@@ -14,7 +14,7 @@ var require_package = __commonJS({
14
14
  "package.json"(exports, module) {
15
15
  module.exports = {
16
16
  name: "@djangocfg/nextjs",
17
- version: "2.1.170",
17
+ version: "2.1.172",
18
18
  description: "Next.js server utilities: sitemap, health, OG images, contact forms, navigation, config",
19
19
  keywords: [
20
20
  "nextjs",