gt-next 11.0.2 → 11.0.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.
Files changed (86) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/condition-store/AsyncConditionStore.d.ts.map +1 -1
  3. package/dist/condition-store/AsyncConditionStore.js +1 -4
  4. package/dist/condition-store/AsyncConditionStore.js.map +1 -1
  5. package/dist/condition-store/AsyncConditionStore.mjs +2 -5
  6. package/dist/condition-store/AsyncConditionStore.mjs.map +1 -1
  7. package/dist/config-dir/props/withGTConfigProps.d.ts +2 -0
  8. package/dist/config-dir/props/withGTConfigProps.d.ts.map +1 -1
  9. package/dist/config-dir/props/withGTConfigProps.js.map +1 -1
  10. package/dist/config-dir/props/withGTConfigProps.mjs.map +1 -1
  11. package/dist/config.d.ts +1 -0
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/config.js +5 -1
  14. package/dist/config.js.map +1 -1
  15. package/dist/config.mjs +5 -1
  16. package/dist/config.mjs.map +1 -1
  17. package/dist/errors/createErrors.d.ts +3 -1
  18. package/dist/errors/createErrors.d.ts.map +1 -1
  19. package/dist/errors/createErrors.js +23 -5
  20. package/dist/errors/createErrors.js.map +1 -1
  21. package/dist/errors/createErrors.mjs +21 -5
  22. package/dist/errors/createErrors.mjs.map +1 -1
  23. package/dist/errors/ssg.d.ts +1 -0
  24. package/dist/errors/ssg.d.ts.map +1 -1
  25. package/dist/errors/ssg.js +9 -1
  26. package/dist/errors/ssg.js.map +1 -1
  27. package/dist/errors/ssg.mjs +7 -1
  28. package/dist/errors/ssg.mjs.map +1 -1
  29. package/dist/index.client.d.ts +3 -1
  30. package/dist/index.client.d.ts.map +1 -1
  31. package/dist/index.client.js +5 -0
  32. package/dist/index.client.js.map +1 -1
  33. package/dist/index.client.mjs +5 -1
  34. package/dist/index.client.mjs.map +1 -1
  35. package/dist/index.rsc.d.ts +7 -1
  36. package/dist/index.rsc.d.ts.map +1 -1
  37. package/dist/index.rsc.js +8 -0
  38. package/dist/index.rsc.js.map +1 -1
  39. package/dist/index.rsc.mjs +9 -2
  40. package/dist/index.rsc.mjs.map +1 -1
  41. package/dist/index.server.d.ts +2 -0
  42. package/dist/index.server.d.ts.map +1 -1
  43. package/dist/index.server.js +2 -0
  44. package/dist/index.server.js.map +1 -1
  45. package/dist/index.server.mjs +2 -1
  46. package/dist/index.server.mjs.map +1 -1
  47. package/dist/index.types.d.ts +7 -1
  48. package/dist/index.types.d.ts.map +1 -1
  49. package/dist/index.types.js +8 -0
  50. package/dist/index.types.js.map +1 -1
  51. package/dist/index.types.mjs +8 -1
  52. package/dist/index.types.mjs.map +1 -1
  53. package/dist/middleware-dir/createNextMiddleware.d.ts +1 -3
  54. package/dist/middleware-dir/createNextMiddleware.d.ts.map +1 -1
  55. package/dist/middleware-dir/createNextMiddleware.js +4 -9
  56. package/dist/middleware-dir/createNextMiddleware.js.map +1 -1
  57. package/dist/middleware-dir/createNextMiddleware.mjs +5 -10
  58. package/dist/middleware-dir/createNextMiddleware.mjs.map +1 -1
  59. package/dist/middleware-dir/utils.d.ts.map +1 -1
  60. package/dist/middleware-dir/utils.js +2 -4
  61. package/dist/middleware-dir/utils.js.map +1 -1
  62. package/dist/middleware-dir/utils.mjs +2 -4
  63. package/dist/middleware-dir/utils.mjs.map +1 -1
  64. package/dist/pages-dir/parseLocale.d.ts.map +1 -1
  65. package/dist/pages-dir/parseLocale.js +2 -4
  66. package/dist/pages-dir/parseLocale.js.map +1 -1
  67. package/dist/pages-dir/parseLocale.mjs +2 -4
  68. package/dist/pages-dir/parseLocale.mjs.map +1 -1
  69. package/dist/pages-dir/withGTStaticProps.d.ts +18 -0
  70. package/dist/pages-dir/withGTStaticProps.d.ts.map +1 -0
  71. package/dist/pages-dir/withGTStaticProps.js +34 -0
  72. package/dist/pages-dir/withGTStaticProps.js.map +1 -0
  73. package/dist/pages-dir/withGTStaticProps.mjs +32 -0
  74. package/dist/pages-dir/withGTStaticProps.mjs.map +1 -0
  75. package/dist/utils/client-boundary.d.ts.map +1 -1
  76. package/dist/utils/client-boundary.js +3 -1
  77. package/dist/utils/client-boundary.js.map +1 -1
  78. package/dist/utils/client-boundary.mjs +4 -2
  79. package/dist/utils/client-boundary.mjs.map +1 -1
  80. package/dist/utils/pathRegex.d.ts +3 -0
  81. package/dist/utils/pathRegex.d.ts.map +1 -0
  82. package/dist/utils/pathRegex.js +19 -0
  83. package/dist/utils/pathRegex.js.map +1 -0
  84. package/dist/utils/pathRegex.mjs +17 -0
  85. package/dist/utils/pathRegex.mjs.map +1 -0
  86. package/package.json +11 -7
@@ -1 +1 @@
1
- {"version":3,"file":"config.mjs","names":[],"sources":["../src/config.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs';\nimport type { NextConfig } from 'next';\nimport {\n defaultWithGTConfigProps,\n defaultCacheExpiryTime,\n} from './config-dir/props/defaultWithGTConfigProps';\nimport {\n type BaseWithGTConfigProps,\n type withGTConfigProps,\n} from './config-dir/props/withGTConfigProps';\nimport {\n APIKeyMissingWarn,\n conflictingConfigurationBuildError,\n createBadFilepathWarning,\n createGTCompilerUnresolvedWarning,\n devApiKeyIncludedInProductionError,\n invalidCanonicalLocalesError,\n invalidLocalesError,\n projectIdMissingWarn,\n standardizedCanonicalLocalesWarning,\n standardizedLocalesWarning,\n unresolvedLoadDictionaryBuildError,\n unresolvedLoadTranslationsBuildError,\n} from './errors/createErrors';\nimport {\n getLocaleProperties,\n isValidLocale,\n standardizeLocale,\n} from '@generaltranslation/format';\nimport type { CustomMapping } from '@generaltranslation/format/types';\nimport {\n rootParamStability,\n turboConfigStable,\n} from './plugin/getStableNextVersionInfo';\nimport { validateCompiler } from './config-dir/utils/validateCompiler';\nimport {\n REQUEST_FUNCTION_ALIASES,\n resolveRequestFunctionPaths,\n} from './config-dir/utils/resolveRequestFunctionPaths';\nimport { resolveConfigFilepath } from './config-dir/utils/resolveConfigFilepath';\nimport { cacheComponentsChecks } from './plugin/checks/cacheComponentsChecks';\nimport {\n cacheComponentsDevHotReloadDisabledWarning,\n cacheComponentsMissingLoadTranslationsError,\n} from './errors/cacheComponents';\nimport { I18nConfigParams } from 'gt-i18n/internal/types';\nimport { getRuntimeCredentials } from './setup/runtimeCredentials';\n\ntype AutoderiveConfig = boolean | { jsx?: boolean; strings?: boolean };\n\ntype ConfigFileShape = {\n customMapping?: CustomMapping;\n files?: {\n gt?: {\n parsingFlags?: {\n autoderive?: AutoderiveConfig;\n };\n };\n };\n};\n\ntype RuntimeCredentialProps = {\n apiKey?: string;\n devApiKey?: string;\n projectId?: string;\n};\n\ntype InternalGTConfigProps = BaseWithGTConfigProps &\n RuntimeCredentialProps &\n ConfigFileShape & {\n loadDictionaryEnabled?: boolean;\n loadTranslationsType?: 'remote' | 'custom' | 'disabled';\n _dictionaryFileType?: string;\n _cacheComponentsEnabled?: boolean;\n _disableDevHotReload?: boolean;\n };\n\ntype WithGTConfigResult<TNextConfig extends object> = TNextConfig & NextConfig;\n\n/**\n * Initializes General Translation settings for a Next.js application.\n *\n * Use it in `next.config.js` to enable GT translation functionality as a plugin.\n *\n * @example\n * // In next.config.ts\n * import { withGTConfig } from 'gt-next/config';\n * import type { NextConfig } from 'next';\n *\n * const nextConfig = {\n * reactStrictMode: true,\n * } satisfies NextConfig;\n *\n * export default withGTConfig(nextConfig, {\n * locales: ['en', 'es', 'fr'],\n * defaultLocale: 'en'\n * })\n *\n * @param {string|undefined} config - Optional config filepath (defaults to './gt.config.json'). If a file is found, it will be parsed for GT config variables.\n * @param {string|undefined} dictionary - Optional dictionary configuration file path. If a string is provided, it will be used as a path.\n * @param {string|null} [runtimeUrl=defaultInitGTProps.runtimeUrl] - The base URL for the GT API. Set to an empty string to disable automatic translations. Set to null to disable.\n * @param {string|null} [cacheUrl=defaultInitGTProps.cacheUrl] - The URL for cached translations. Set to null to disable.\n * @param {string[]|undefined} - Whether to use local translations.\n * @param {string[]} [locales=defaultInitGTProps.locales] - List of supported locales for the application.\n * @param {string} [defaultLocale=defaultInitGTProps.defaultLocale] - The default locale to use if none is specified.\n * @param {string|undefined} [getLocalePath=\"getLocale\"] - The path to the custom getLocale function.\n * @param {string|undefined} [getRegionPath=\"getRegion\"] - The path to the custom getRegion function.\n * @param {object} [renderSettings=defaultInitGTProps.renderSettings] - Render settings for how translations should be handled.\n * @param {number} [cacheExpiryTime] - The time in milliseconds for how long translations should be cached.\n * @param {number} [maxConcurrentRequests=defaultInitGTProps.maxConcurrentRequests] - Maximum number of concurrent requests allowed.\n * @param {number} [maxBatchSize=defaultInitGTProps.maxBatchSize] - Maximum translation requests in the same batch.\n * @param {number} [batchInterval=defaultInitGTProps.batchInterval] - The interval in milliseconds between batched translation requests.\n * @param {boolean} [ignoreBrowserLocales=defaultWithGTConfigProps.ignoreBrowserLocales] - Whether to ignore browser's preferred locales.\n * @param {boolean} [disableInvalidLocaleWarning=defaultWithGTConfigProps.disableInvalidLocaleWarning] - Whether to disable invalid request locale warnings.\n * @param {object} headersAndCookies - Additional headers and cookies that can be passed for extended configuration.\n * @param {object} metadata - Additional metadata that can be passed for extended configuration.\n *\n * @param {object} nextConfig - The Next.js configuration object to extend\n * @param {withGTConfigProps} props - General Translation configuration properties\n * @returns {NextConfig} - An updated Next.js config with GT settings applied\n *\n * @throws {Error} If the project ID is missing and default URLs are used, or if the API key is required and missing from the environment.\n */\nexport function withGTConfig<TNextConfig extends object = NextConfig>(\n nextConfig?: TNextConfig,\n props: withGTConfigProps = {}\n): WithGTConfigResult<TNextConfig> {\n const internalNextConfig = (nextConfig ?? {}) as unknown as NextConfig;\n\n // ---------- LOAD GT CONFIG FILE ---------- //\n\n let loadedConfig: Partial<InternalGTConfigProps> = {};\n try {\n let configPath: string | undefined;\n if (props.config) {\n configPath = props.config;\n } else if (fs.existsSync(defaultWithGTConfigProps.config)) {\n configPath = defaultWithGTConfigProps.config;\n } else if (fs.existsSync('./.gt/gt.config.json')) {\n // Support config under .gt for parity with .locadex\n configPath = './.gt/gt.config.json';\n } else if (fs.existsSync('./.locadex/gt.config.json')) {\n // Backward compatibility: support legacy .locadex directory\n configPath = './.locadex/gt.config.json';\n }\n if (typeof configPath === 'string' && fs.existsSync(configPath)) {\n const fileContent = fs.readFileSync(configPath, 'utf-8');\n loadedConfig = JSON.parse(fileContent);\n }\n } catch (error) {\n console.error('Error reading GT config file:', error);\n }\n\n // ---------- LOAD ENVIRONMENT VARIABLES ---------- //\n\n const { projectId, apiKey, devApiKey } = getRuntimeCredentials();\n\n // conditionally add environment variables to config\n const envConfig: Partial<InternalGTConfigProps> = {\n ...(projectId ? { projectId } : {}),\n ...(apiKey ? { apiKey } : {}),\n ...(devApiKey ? { devApiKey } : {}),\n };\n\n // ---------- CHECK FOR CONFIG CONFLICTS ---------- //\n\n // Check for conflicts between config and params\n const propsRecord = props as Record<string, unknown>;\n const conflicts = Object.entries(loadedConfig)\n .filter(([key, value]) => {\n // Skip if key doesn't exist in props\n if (!(key in props)) return false;\n\n const propValue = propsRecord[key];\n\n // Handle null/undefined values\n if (value == null || propValue == null) {\n return value !== propValue;\n }\n\n // Handle primitive types (string, number, boolean)\n if (typeof value !== 'object') {\n return value !== propValue;\n }\n\n // Handle arrays (no need for deep equality check)\n if (Array.isArray(value)) {\n if (!Array.isArray(propValue)) return true;\n if (value.length !== propValue.length) return true;\n return value.some((v, i) => v !== propValue[i]);\n }\n\n // Handle objects\n if (typeof value === 'object' && typeof propValue === 'object') {\n const valueRecord = value as Record<string, unknown>;\n const propRecord = propValue as Record<string, unknown>;\n const valueKeys = Object.keys(valueRecord);\n const propKeys = Object.keys(propRecord);\n const keys = new Set([...valueKeys, ...propKeys]);\n\n // Objects must match exactly (no need to go deeper)\n if (valueKeys.length !== propKeys.length) return true;\n return !Array.from(keys).every((k) => valueRecord[k] === propRecord[k]);\n }\n\n return false;\n })\n .map(\n ([key, value]) =>\n `- Key: ${key} Next Config: ${JSON.stringify(propsRecord[key])} does not match GT Config: ${JSON.stringify(value)}`\n );\n\n if (conflicts.length) {\n throw new Error(conflictingConfigurationBuildError(conflicts));\n }\n\n // ---------- MERGE CONFIGS ---------- //\n\n // Merge cookie and header names\n const mergedHeadersAndCookies = {\n ...defaultWithGTConfigProps.headersAndCookies,\n ...props.headersAndCookies,\n };\n\n // Merge compiler options\n const mergedExperimentalCompilerOptions = {\n ...defaultWithGTConfigProps.experimentalCompilerOptions,\n ...props.experimentalCompilerOptions,\n };\n\n // precedence: input > env > config file > defaults\n const mergedConfig: InternalGTConfigProps = {\n ...defaultWithGTConfigProps,\n ...loadedConfig,\n ...envConfig,\n ...props,\n headersAndCookies: mergedHeadersAndCookies,\n experimentalCompilerOptions: mergedExperimentalCompilerOptions,\n _usingPlugin: true, // flag to indicate plugin usage\n };\n\n // clear up any issues with the compiler options\n validateCompiler(mergedConfig);\n\n // ----------- RESOLVE ANY EXTERNAL FILES ----------- //\n\n // Resolve wasm filepath\n const turboPackEnabled = !!process.env.TURBOPACK;\n let resolvedWasmFilePath = '';\n if (mergedConfig.experimentalCompilerOptions?.type === 'swc') {\n try {\n if (turboPackEnabled) {\n const absolutePath = path.resolve(__dirname, './gt_swc_plugin.wasm');\n resolvedWasmFilePath =\n './' + path.relative(process.cwd(), absolutePath).replace(/\\\\/g, '/');\n } else {\n resolvedWasmFilePath = path.resolve(__dirname, './gt_swc_plugin.wasm');\n }\n } catch (error) {\n console.error(\n createGTCompilerUnresolvedWarning('swc'),\n 'Error message:',\n error\n );\n resolvedWasmFilePath = '';\n mergedConfig.experimentalCompilerOptions.type = 'none';\n }\n }\n\n // Resolve dictionary filepath\n let resolvedDictionaryFilePath =\n typeof mergedConfig.dictionary === 'string'\n ? mergedConfig.dictionary\n : resolveConfigFilepath('dictionary', ['.ts', '.js', '.json']); // fallback to dictionary\n\n // Check [defaultLocale].json file\n if (!resolvedDictionaryFilePath && mergedConfig.defaultLocale) {\n resolvedDictionaryFilePath = resolveConfigFilepath(\n mergedConfig.defaultLocale,\n ['.json']\n );\n\n // Check [defaultLanguageCode].json file\n if (!resolvedDictionaryFilePath) {\n const defaultLanguage = getLocaleProperties(\n mergedConfig.defaultLocale\n )?.languageCode;\n\n if (defaultLanguage && defaultLanguage !== mergedConfig.defaultLocale) {\n resolvedDictionaryFilePath = resolveConfigFilepath(defaultLanguage, [\n '.json',\n ]);\n }\n }\n }\n\n // Get the type of dictionary file\n const resolvedDictionaryFilePathType = resolvedDictionaryFilePath\n ? path.extname(resolvedDictionaryFilePath)\n : undefined;\n if (resolvedDictionaryFilePathType) {\n mergedConfig._dictionaryFileType = resolvedDictionaryFilePathType;\n }\n\n // Resolve custom dictionary loader path\n const customLoadDictionaryPath =\n typeof mergedConfig.loadDictionaryPath === 'string'\n ? mergedConfig.loadDictionaryPath\n : resolveConfigFilepath('loadDictionary');\n\n // Resolve custom translation loader path\n const customLoadTranslationsPath =\n typeof mergedConfig.loadTranslationsPath === 'string'\n ? mergedConfig.loadTranslationsPath\n : resolveConfigFilepath('loadTranslations');\n\n // Resolve request function paths\n const requestFunctionPaths = resolveRequestFunctionPaths(mergedConfig);\n\n // Warn if found in /app directory\n if (\n !resolvedDictionaryFilePath &&\n resolveConfigFilepath('dictionary', ['.ts', '.js', '.json'], undefined, [\n './app',\n './src/app',\n ])\n ) {\n console.warn(\n createBadFilepathWarning('dictionary', ['./app', './src/app'])\n );\n }\n\n if (\n !customLoadDictionaryPath &&\n resolveConfigFilepath(\n 'loadDictionary',\n ['.ts', '.js', '.json'],\n undefined,\n ['./app', './src/app']\n )\n ) {\n console.warn(\n createBadFilepathWarning('loadDictionary', ['./app', './src/app'])\n );\n }\n\n if (\n !customLoadTranslationsPath &&\n resolveConfigFilepath(\n 'loadTranslations',\n ['.ts', '.js', '.json'],\n undefined,\n ['./app', './src/app']\n )\n ) {\n console.warn(\n createBadFilepathWarning('loadTranslations', ['./app', './src/app'])\n );\n }\n\n // ----------- LOCALE STANDARDIZATION ----------- //\n\n // Check if using Services\n const gtRuntimeTranslationEnabled = !!(\n mergedConfig.runtimeUrl === defaultWithGTConfigProps.runtimeUrl &&\n ((process.env.NODE_ENV === 'production' && mergedConfig.apiKey) ||\n (process.env.NODE_ENV === 'development' && mergedConfig.devApiKey))\n );\n const gtRemoteCacheEnabled = !!(\n mergedConfig.cacheUrl === defaultWithGTConfigProps.cacheUrl &&\n mergedConfig.loadTranslationsType === 'remote'\n );\n const gtServicesEnabled = !!(\n (gtRuntimeTranslationEnabled || gtRemoteCacheEnabled) &&\n mergedConfig.projectId\n );\n\n // Standardize locales\n if (mergedConfig.locales && mergedConfig.defaultLocale) {\n mergedConfig.locales.unshift(mergedConfig.defaultLocale);\n }\n const updatedLocales: string[] = [];\n mergedConfig.locales = Array.from(new Set(mergedConfig.locales)).map(\n (locale) => {\n const updatedLocale = gtServicesEnabled\n ? standardizeLocale(locale)\n : locale;\n if (updatedLocale !== locale) {\n updatedLocales.push(`${locale} -> ${updatedLocale}`);\n }\n return updatedLocale;\n }\n );\n\n // Standardize canonical locales\n const updatedCanonicalLocales: string[] = [];\n if (mergedConfig.customMapping) {\n mergedConfig.customMapping = Object.fromEntries(\n Object.entries(mergedConfig.customMapping).map(([key, value]) => {\n if (typeof value !== 'object' || !('code' in value)) {\n return [key, value];\n }\n const updatedLocale = gtServicesEnabled\n ? standardizeLocale((value as { code: string }).code)\n : (value as { code: string }).code;\n if (updatedLocale !== (value as { code: string }).code) {\n updatedCanonicalLocales.push(`${key} -> ${updatedLocale}`);\n }\n return [\n key,\n {\n ...value,\n code: updatedLocale,\n },\n ];\n })\n );\n }\n\n // Run cache component checks\n cacheComponentsChecks({\n nextConfig: internalNextConfig,\n requestFunctionPaths,\n localTranslationsEnabled: !!customLoadTranslationsPath,\n localDictionaryEnabled: !!customLoadDictionaryPath,\n });\n\n // ---------- DERIVED CONFIG ATTRIBUTES ---------- //\n\n // Local dictionary flag\n if (customLoadDictionaryPath) {\n // Check: file exists if provided\n if (!fs.existsSync(path.resolve(customLoadDictionaryPath))) {\n throw new Error(\n unresolvedLoadDictionaryBuildError(customLoadDictionaryPath)\n );\n } else {\n mergedConfig.loadDictionaryEnabled = true;\n }\n } else {\n mergedConfig.loadDictionaryEnabled = false;\n }\n\n // Local translations flag\n if (customLoadTranslationsPath) {\n // Check: file exists if provided\n if (!fs.existsSync(path.resolve(customLoadTranslationsPath))) {\n throw new Error(\n unresolvedLoadTranslationsBuildError(customLoadTranslationsPath)\n );\n } else {\n mergedConfig.loadTranslationsType = 'custom';\n }\n } else {\n mergedConfig.loadTranslationsType = 'remote';\n }\n\n if (internalNextConfig.cacheComponents) {\n if (mergedConfig.loadTranslationsType !== 'custom') {\n throw new Error(cacheComponentsMissingLoadTranslationsError);\n }\n if (isDevHotReloadEnabled(mergedConfig)) {\n console.warn(cacheComponentsDevHotReloadDisabledWarning);\n }\n mergedConfig._cacheComponentsEnabled = true;\n mergedConfig._disableDevHotReload = true;\n mergedConfig.cacheExpiryTime = 0;\n }\n\n // Set default cache expiry if and only if no dev key\n if (\n mergedConfig.loadTranslationsType == 'remote' &&\n !mergedConfig.devApiKey &&\n typeof mergedConfig.cacheExpiryTime === 'undefined'\n ) {\n mergedConfig.cacheExpiryTime = defaultCacheExpiryTime;\n }\n\n // ---------- ERROR CHECKS ---------- //\n\n // Check: invalid locale\n if (!mergedConfig.customMapping && gtServicesEnabled) {\n const invalidLocales: string[] = [];\n mergedConfig.locales.forEach((locale) => {\n if (!isValidLocale(locale)) {\n invalidLocales.push(locale);\n }\n });\n if (invalidLocales.length) {\n throw new Error(invalidLocalesError(invalidLocales));\n }\n }\n\n // Check: invalid canonical locale\n if (mergedConfig.customMapping && gtServicesEnabled) {\n const invalidCanonicalLocales: string[] = [];\n mergedConfig.locales.forEach((locale) => {\n if (!isValidLocale(locale, mergedConfig.customMapping)) {\n invalidCanonicalLocales.push(locale);\n }\n });\n if (invalidCanonicalLocales.length) {\n throw new Error(invalidCanonicalLocalesError(invalidCanonicalLocales));\n }\n }\n\n // Check: projectId is not required for remote infrastructure, but warn if missing for dev, nothing for prod\n if (\n (mergedConfig.cacheUrl || mergedConfig.runtimeUrl) &&\n !mergedConfig.projectId &&\n process.env.NODE_ENV === 'development' &&\n mergedConfig.loadTranslationsType === 'remote' &&\n !mergedConfig.loadDictionaryEnabled // skip warn if using local dictionary\n ) {\n console.warn(projectIdMissingWarn);\n }\n\n // Check: dev API key should not be included in production\n if (process.env.NODE_ENV === 'production' && mergedConfig.devApiKey) {\n throw new Error(devApiKeyIncludedInProductionError);\n }\n\n // Check: An API key is required for runtime translation\n if (\n mergedConfig.projectId && // must have projectId for this check to matter anyways\n mergedConfig.runtimeUrl &&\n !(mergedConfig.apiKey || mergedConfig.devApiKey) &&\n process.env.NODE_ENV === 'development'\n ) {\n console.warn(APIKeyMissingWarn);\n }\n\n // Check: if using GT infrastructure, warn about unsupported locales\n if (gtServicesEnabled) {\n // Warn about standardized locales\n if (updatedLocales.length) {\n console.warn(standardizedLocalesWarning(updatedLocales));\n }\n\n // Warn about standardized canonical locales\n if (updatedCanonicalLocales.length) {\n console.warn(\n standardizedCanonicalLocalesWarning(updatedCanonicalLocales)\n );\n }\n }\n\n // ---------- STORE CONFIGURATIONS ---------- //\n const {\n projectId: _projectId,\n apiKey: _apiKey,\n devApiKey: _devApiKey,\n ...privateConfigParams\n } = mergedConfig;\n const I18NConfigParams = JSON.stringify(privateConfigParams);\n const publicI18NConfigParams: Omit<\n I18nConfigParams,\n 'projectId' | 'devApiKey' | 'apiKey'\n > = {\n defaultLocale: mergedConfig.defaultLocale,\n locales: mergedConfig.locales,\n customMapping: mergedConfig.customMapping,\n runtimeUrl: mergedConfig.runtimeUrl,\n };\n\n const { type: _type, ...compilerOptions } =\n mergedConfig.experimentalCompilerOptions || {};\n\n // Read autoderive from parsingFlags (single source of truth shared with CLI)\n const rawAutoderive: boolean | { jsx?: boolean; strings?: boolean } =\n loadedConfig?.files?.gt?.parsingFlags?.autoderive ?? false;\n const autoderiveJsx =\n typeof rawAutoderive === 'boolean'\n ? rawAutoderive\n : (rawAutoderive.jsx ?? false);\n const autoderiveStrings =\n typeof rawAutoderive === 'boolean'\n ? rawAutoderive\n : (rawAutoderive.strings ?? false);\n\n const swcPluginOptions: Record<string, unknown> = {\n ...compilerOptions,\n autoderiveJsx,\n autoderiveStrings,\n };\n\n const swcPluginEntry: [string, Record<string, unknown>] | null =\n mergedConfig.experimentalCompilerOptions?.type === 'swc'\n ? [resolvedWasmFilePath, swcPluginOptions]\n : null;\n\n const turboAliases = {\n 'gt-next/internal/_dictionary': resolvedDictionaryFilePath || '',\n 'gt-next/internal/_load-translations': customLoadTranslationsPath || '',\n 'gt-next/internal/_load-dictionary': customLoadDictionaryPath || '',\n ...Object.fromEntries(\n Object.entries(requestFunctionPaths).map(([functionName, path]) => {\n return [\n REQUEST_FUNCTION_ALIASES[\n functionName as keyof typeof REQUEST_FUNCTION_ALIASES\n ],\n path,\n ];\n })\n ),\n };\n\n // experimental.turbo is deprecated in next@15.3.0.\n // Check for experimental.turbo. If we write to turbopack field, experimental fields will be ignored.\n // Yet, if there are other resolveAlias fields, we don't want to be ignored either.\n const experimentalTurbopack = !(\n turboConfigStable &&\n (!internalNextConfig.experimental?.turbo ||\n internalNextConfig.turbopack?.resolveAlias)\n );\n\n const config: NextConfig = {\n ...internalNextConfig,\n transpilePackages: Array.from(\n new Set([...(internalNextConfig.transpilePackages || []), 'gt-next'])\n ),\n env: {\n ...internalNextConfig.env,\n _GENERALTRANSLATION_I18N_CONFIG_PARAMS: I18NConfigParams,\n NEXT_PUBLIC_GENERALTRANSLATION_I18N_CONFIG_PARAMS: JSON.stringify(\n publicI18NConfigParams\n ),\n ...(resolvedDictionaryFilePathType && {\n _GENERALTRANSLATION_DICTIONARY_FILE_TYPE:\n resolvedDictionaryFilePathType,\n }),\n _GENERALTRANSLATION_LOCAL_DICTIONARY_ENABLED:\n mergedConfig.loadDictionaryEnabled.toString(),\n _GENERALTRANSLATION_LOCAL_TRANSLATION_ENABLED: (\n mergedConfig.loadTranslationsType === 'custom'\n ).toString(),\n _GENERALTRANSLATION_DEFAULT_LOCALE: (\n mergedConfig.defaultLocale ||\n defaultWithGTConfigProps.defaultLocale ||\n ''\n ).toString(),\n _GENERALTRANSLATION_GT_SERVICES_ENABLED: gtServicesEnabled.toString(),\n _GENERALTRANSLATION_IGNORE_BROWSER_LOCALES:\n mergedConfig.ignoreBrowserLocales?.toString() ||\n defaultWithGTConfigProps.ignoreBrowserLocales?.toString() ||\n 'false',\n _GENERALTRANSLATION_CUSTOM_GET_LOCALE_ENABLED:\n requestFunctionPaths.getLocale ? 'true' : 'false',\n _GENERALTRANSLATION_CUSTOM_GET_REGION_ENABLED:\n requestFunctionPaths.getRegion ? 'true' : 'false',\n _GENERALTRANSLATION_DISABLE_INVALID_LOCALE_WARNING:\n mergedConfig.disableInvalidLocaleWarning?.toString() || 'false',\n },\n ...(turboPackEnabled &&\n !experimentalTurbopack && {\n turbopack: {\n ...internalNextConfig.turbopack,\n resolveAlias: {\n ...internalNextConfig.turbopack?.resolveAlias,\n ...turboAliases,\n },\n },\n }),\n experimental: {\n ...internalNextConfig.experimental,\n ...(rootParamStability === 'experimental' && {\n rootParams: true,\n }),\n swcPlugins: [\n ...(internalNextConfig.experimental?.swcPlugins || []),\n ...(swcPluginEntry ? [swcPluginEntry] : []),\n ],\n ...(turboPackEnabled &&\n experimentalTurbopack && {\n turbo: {\n ...internalNextConfig.experimental?.turbo,\n resolveAlias: {\n ...internalNextConfig.experimental?.turbo?.resolveAlias,\n ...turboAliases,\n },\n },\n }),\n },\n webpack: function webpack(\n ...[webpackConfig, options]: Parameters<\n NonNullable<NextConfig['webpack']>\n >\n ) {\n // Only apply webpack aliases if we're using webpack (not Turbopack)\n if (!turboPackEnabled) {\n // Try to load GT compiler if available\n if (mergedConfig.experimentalCompilerOptions?.type === 'babel') {\n try {\n const {\n webpack: gtUnplugin,\n } = require('@generaltranslation/compiler');\n webpackConfig.plugins.unshift(\n gtUnplugin(mergedConfig.experimentalCompilerOptions || {})\n );\n } catch (e) {\n mergedConfig.experimentalCompilerOptions.type = 'none';\n console.warn(\n createGTCompilerUnresolvedWarning('babel'),\n 'Error message:',\n e\n );\n }\n }\n\n // Disable cache in dev bc people might move around loadTranslations() and loadDictionary() files\n if (process.env.NODE_ENV === 'development') {\n webpackConfig.cache = false;\n }\n if (resolvedDictionaryFilePath) {\n webpackConfig.resolve.alias['gt-next/internal/_dictionary'] =\n path.resolve(webpackConfig.context, resolvedDictionaryFilePath);\n }\n if (customLoadTranslationsPath) {\n webpackConfig.resolve.alias[`gt-next/internal/_load-translations`] =\n path.resolve(webpackConfig.context, customLoadTranslationsPath);\n }\n if (customLoadDictionaryPath) {\n webpackConfig.resolve.alias[`gt-next/internal/_load-dictionary`] =\n path.resolve(webpackConfig.context, customLoadDictionaryPath);\n }\n for (const [functionName, pathString] of Object.entries(\n requestFunctionPaths\n )) {\n const key =\n REQUEST_FUNCTION_ALIASES[\n functionName as keyof typeof REQUEST_FUNCTION_ALIASES\n ];\n webpackConfig.resolve.alias[key] = path.resolve(\n webpackConfig.context,\n pathString\n );\n }\n }\n if (typeof internalNextConfig?.webpack === 'function') {\n return internalNextConfig.webpack(webpackConfig, options);\n }\n return webpackConfig;\n },\n };\n return config as WithGTConfigResult<TNextConfig>;\n}\n\nfunction isDevHotReloadEnabled(config: InternalGTConfigProps): boolean {\n return (\n !!config.devApiKey &&\n !!config.projectId &&\n config.runtimeUrl !== null &&\n config.runtimeUrl !== '' &&\n process.env.NODE_ENV === 'development'\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"config.mjs","names":[],"sources":["../src/config.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs';\nimport type { NextConfig } from 'next';\nimport {\n defaultWithGTConfigProps,\n defaultCacheExpiryTime,\n} from './config-dir/props/defaultWithGTConfigProps';\nimport {\n type BaseWithGTConfigProps,\n type withGTConfigProps,\n} from './config-dir/props/withGTConfigProps';\nimport {\n APIKeyMissingWarn,\n conflictingConfigurationBuildError,\n createBadFilepathWarning,\n createGTCompilerUnresolvedWarning,\n devApiKeyIncludedInProductionError,\n invalidCanonicalLocalesError,\n invalidLocalesError,\n projectIdMissingWarn,\n standardizedCanonicalLocalesWarning,\n standardizedLocalesWarning,\n unresolvedLoadDictionaryBuildError,\n unresolvedLoadTranslationsBuildError,\n} from './errors/createErrors';\nimport { compilePathRegex } from './utils/pathRegex';\nimport {\n getLocaleProperties,\n isValidLocale,\n standardizeLocale,\n} from '@generaltranslation/format';\nimport type { CustomMapping } from '@generaltranslation/format/types';\nimport {\n rootParamStability,\n turboConfigStable,\n} from './plugin/getStableNextVersionInfo';\nimport { validateCompiler } from './config-dir/utils/validateCompiler';\nimport {\n REQUEST_FUNCTION_ALIASES,\n resolveRequestFunctionPaths,\n} from './config-dir/utils/resolveRequestFunctionPaths';\nimport { resolveConfigFilepath } from './config-dir/utils/resolveConfigFilepath';\nimport { cacheComponentsChecks } from './plugin/checks/cacheComponentsChecks';\nimport {\n cacheComponentsDevHotReloadDisabledWarning,\n cacheComponentsMissingLoadTranslationsError,\n} from './errors/cacheComponents';\nimport { I18nConfigParams } from 'gt-i18n/internal/types';\nimport { getRuntimeCredentials } from './setup/runtimeCredentials';\n\ntype AutoderiveConfig = boolean | { jsx?: boolean; strings?: boolean };\n\ntype ConfigFileShape = {\n customMapping?: CustomMapping;\n files?: {\n gt?: {\n parsingFlags?: {\n autoderive?: AutoderiveConfig;\n };\n };\n };\n};\n\ntype RuntimeCredentialProps = {\n apiKey?: string;\n devApiKey?: string;\n projectId?: string;\n};\n\ntype InternalGTConfigProps = BaseWithGTConfigProps &\n RuntimeCredentialProps &\n ConfigFileShape & {\n loadDictionaryEnabled?: boolean;\n loadTranslationsType?: 'remote' | 'custom' | 'disabled';\n _dictionaryFileType?: string;\n _cacheComponentsEnabled?: boolean;\n _disableDevHotReload?: boolean;\n };\n\ntype WithGTConfigResult<TNextConfig extends object> = TNextConfig & NextConfig;\n\n/**\n * Initializes General Translation settings for a Next.js application.\n *\n * Use it in `next.config.js` to enable GT translation functionality as a plugin.\n *\n * @example\n * // In next.config.ts\n * import { withGTConfig } from 'gt-next/config';\n * import type { NextConfig } from 'next';\n *\n * const nextConfig = {\n * reactStrictMode: true,\n * } satisfies NextConfig;\n *\n * export default withGTConfig(nextConfig, {\n * locales: ['en', 'es', 'fr'],\n * defaultLocale: 'en'\n * })\n *\n * @param {string|undefined} config - Optional config filepath (defaults to './gt.config.json'). If a file is found, it will be parsed for GT config variables.\n * @param {string|undefined} dictionary - Optional dictionary configuration file path. If a string is provided, it will be used as a path.\n * @param {string|null} [runtimeUrl=defaultInitGTProps.runtimeUrl] - The base URL for the GT API. Set to an empty string to disable automatic translations. Set to null to disable.\n * @param {string|null} [cacheUrl=defaultInitGTProps.cacheUrl] - The URL for cached translations. Set to null to disable.\n * @param {string[]|undefined} - Whether to use local translations.\n * @param {string[]} [locales=defaultInitGTProps.locales] - List of supported locales for the application.\n * @param {string} [defaultLocale=defaultInitGTProps.defaultLocale] - The default locale to use if none is specified.\n * @param {string|undefined} [getLocalePath=\"getLocale\"] - The path to the custom getLocale function.\n * @param {string|undefined} [getRegionPath=\"getRegion\"] - The path to the custom getRegion function.\n * @param {object} [renderSettings=defaultInitGTProps.renderSettings] - Render settings for how translations should be handled.\n * @param {number} [cacheExpiryTime] - The time in milliseconds for how long translations should be cached.\n * @param {number} [maxConcurrentRequests=defaultInitGTProps.maxConcurrentRequests] - Maximum number of concurrent requests allowed.\n * @param {number} [maxBatchSize=defaultInitGTProps.maxBatchSize] - Maximum translation requests in the same batch.\n * @param {number} [batchInterval=defaultInitGTProps.batchInterval] - The interval in milliseconds between batched translation requests.\n * @param {boolean} [ignoreBrowserLocales=defaultWithGTConfigProps.ignoreBrowserLocales] - Whether to ignore browser's preferred locales.\n * @param {boolean} [disableInvalidLocaleWarning=defaultWithGTConfigProps.disableInvalidLocaleWarning] - Whether to disable invalid request locale warnings.\n * @param {string|undefined} [pathRegex] - Regular expression that request pathnames must match for i18n middleware to be applied.\n * @param {object} headersAndCookies - Additional headers and cookies that can be passed for extended configuration.\n * @param {object} metadata - Additional metadata that can be passed for extended configuration.\n *\n * @param {object} nextConfig - The Next.js configuration object to extend\n * @param {withGTConfigProps} props - General Translation configuration properties\n * @returns {NextConfig} - An updated Next.js config with GT settings applied\n *\n * @throws {Error} If the project ID is missing and default URLs are used, or if the API key is required and missing from the environment.\n */\nexport function withGTConfig<TNextConfig extends object = NextConfig>(\n nextConfig?: TNextConfig,\n props: withGTConfigProps = {}\n): WithGTConfigResult<TNextConfig> {\n const internalNextConfig = (nextConfig ?? {}) as unknown as NextConfig;\n\n // ---------- LOAD GT CONFIG FILE ---------- //\n\n let loadedConfig: Partial<InternalGTConfigProps> = {};\n try {\n let configPath: string | undefined;\n if (props.config) {\n configPath = props.config;\n } else if (fs.existsSync(defaultWithGTConfigProps.config)) {\n configPath = defaultWithGTConfigProps.config;\n } else if (fs.existsSync('./.gt/gt.config.json')) {\n // Support config under .gt for parity with .locadex\n configPath = './.gt/gt.config.json';\n } else if (fs.existsSync('./.locadex/gt.config.json')) {\n // Backward compatibility: support legacy .locadex directory\n configPath = './.locadex/gt.config.json';\n }\n if (typeof configPath === 'string' && fs.existsSync(configPath)) {\n const fileContent = fs.readFileSync(configPath, 'utf-8');\n loadedConfig = JSON.parse(fileContent);\n }\n } catch (error) {\n console.error('Error reading GT config file:', error);\n }\n\n // ---------- LOAD ENVIRONMENT VARIABLES ---------- //\n\n const { projectId, apiKey, devApiKey } = getRuntimeCredentials();\n\n // conditionally add environment variables to config\n const envConfig: Partial<InternalGTConfigProps> = {\n ...(projectId ? { projectId } : {}),\n ...(apiKey ? { apiKey } : {}),\n ...(devApiKey ? { devApiKey } : {}),\n };\n\n // ---------- CHECK FOR CONFIG CONFLICTS ---------- //\n\n // Check for conflicts between config and params\n const propsRecord = props as Record<string, unknown>;\n const conflicts = Object.entries(loadedConfig)\n .filter(([key, value]) => {\n // Skip if key doesn't exist in props\n if (!(key in props)) return false;\n\n const propValue = propsRecord[key];\n\n // Handle null/undefined values\n if (value == null || propValue == null) {\n return value !== propValue;\n }\n\n // Handle primitive types (string, number, boolean)\n if (typeof value !== 'object') {\n return value !== propValue;\n }\n\n // Handle arrays (no need for deep equality check)\n if (Array.isArray(value)) {\n if (!Array.isArray(propValue)) return true;\n if (value.length !== propValue.length) return true;\n return value.some((v, i) => v !== propValue[i]);\n }\n\n // Handle objects\n if (typeof value === 'object' && typeof propValue === 'object') {\n const valueRecord = value as Record<string, unknown>;\n const propRecord = propValue as Record<string, unknown>;\n const valueKeys = Object.keys(valueRecord);\n const propKeys = Object.keys(propRecord);\n const keys = new Set([...valueKeys, ...propKeys]);\n\n // Objects must match exactly (no need to go deeper)\n if (valueKeys.length !== propKeys.length) return true;\n return !Array.from(keys).every((k) => valueRecord[k] === propRecord[k]);\n }\n\n return false;\n })\n .map(\n ([key, value]) =>\n `- Key: ${key} Next Config: ${JSON.stringify(propsRecord[key])} does not match GT Config: ${JSON.stringify(value)}`\n );\n\n if (conflicts.length) {\n throw new Error(conflictingConfigurationBuildError(conflicts));\n }\n\n // ---------- MERGE CONFIGS ---------- //\n\n // Merge cookie and header names\n const mergedHeadersAndCookies = {\n ...defaultWithGTConfigProps.headersAndCookies,\n ...props.headersAndCookies,\n };\n\n // Merge compiler options\n const mergedExperimentalCompilerOptions = {\n ...defaultWithGTConfigProps.experimentalCompilerOptions,\n ...props.experimentalCompilerOptions,\n };\n\n // precedence: input > env > config file > defaults\n const mergedConfig: InternalGTConfigProps = {\n ...defaultWithGTConfigProps,\n ...loadedConfig,\n ...envConfig,\n ...props,\n headersAndCookies: mergedHeadersAndCookies,\n experimentalCompilerOptions: mergedExperimentalCompilerOptions,\n _usingPlugin: true, // flag to indicate plugin usage\n };\n\n compilePathRegex(mergedConfig.pathRegex);\n\n // clear up any issues with the compiler options\n validateCompiler(mergedConfig);\n\n // ----------- RESOLVE ANY EXTERNAL FILES ----------- //\n\n // Resolve wasm filepath\n const turboPackEnabled = !!process.env.TURBOPACK;\n let resolvedWasmFilePath = '';\n if (mergedConfig.experimentalCompilerOptions?.type === 'swc') {\n try {\n if (turboPackEnabled) {\n const absolutePath = path.resolve(__dirname, './gt_swc_plugin.wasm');\n resolvedWasmFilePath =\n './' + path.relative(process.cwd(), absolutePath).replace(/\\\\/g, '/');\n } else {\n resolvedWasmFilePath = path.resolve(__dirname, './gt_swc_plugin.wasm');\n }\n } catch (error) {\n console.error(\n createGTCompilerUnresolvedWarning('swc'),\n 'Error message:',\n error\n );\n resolvedWasmFilePath = '';\n mergedConfig.experimentalCompilerOptions.type = 'none';\n }\n }\n\n // Resolve dictionary filepath\n let resolvedDictionaryFilePath =\n typeof mergedConfig.dictionary === 'string'\n ? mergedConfig.dictionary\n : resolveConfigFilepath('dictionary', ['.ts', '.js', '.json']); // fallback to dictionary\n\n // Check [defaultLocale].json file\n if (!resolvedDictionaryFilePath && mergedConfig.defaultLocale) {\n resolvedDictionaryFilePath = resolveConfigFilepath(\n mergedConfig.defaultLocale,\n ['.json']\n );\n\n // Check [defaultLanguageCode].json file\n if (!resolvedDictionaryFilePath) {\n const defaultLanguage = getLocaleProperties(\n mergedConfig.defaultLocale\n )?.languageCode;\n\n if (defaultLanguage && defaultLanguage !== mergedConfig.defaultLocale) {\n resolvedDictionaryFilePath = resolveConfigFilepath(defaultLanguage, [\n '.json',\n ]);\n }\n }\n }\n\n // Get the type of dictionary file\n const resolvedDictionaryFilePathType = resolvedDictionaryFilePath\n ? path.extname(resolvedDictionaryFilePath)\n : undefined;\n if (resolvedDictionaryFilePathType) {\n mergedConfig._dictionaryFileType = resolvedDictionaryFilePathType;\n }\n\n // Resolve custom dictionary loader path\n const customLoadDictionaryPath =\n typeof mergedConfig.loadDictionaryPath === 'string'\n ? mergedConfig.loadDictionaryPath\n : resolveConfigFilepath('loadDictionary');\n\n // Resolve custom translation loader path\n const customLoadTranslationsPath =\n typeof mergedConfig.loadTranslationsPath === 'string'\n ? mergedConfig.loadTranslationsPath\n : resolveConfigFilepath('loadTranslations');\n\n // Resolve request function paths\n const requestFunctionPaths = resolveRequestFunctionPaths(mergedConfig);\n\n // Warn if found in /app directory\n if (\n !resolvedDictionaryFilePath &&\n resolveConfigFilepath('dictionary', ['.ts', '.js', '.json'], undefined, [\n './app',\n './src/app',\n ])\n ) {\n console.warn(\n createBadFilepathWarning('dictionary', ['./app', './src/app'])\n );\n }\n\n if (\n !customLoadDictionaryPath &&\n resolveConfigFilepath(\n 'loadDictionary',\n ['.ts', '.js', '.json'],\n undefined,\n ['./app', './src/app']\n )\n ) {\n console.warn(\n createBadFilepathWarning('loadDictionary', ['./app', './src/app'])\n );\n }\n\n if (\n !customLoadTranslationsPath &&\n resolveConfigFilepath(\n 'loadTranslations',\n ['.ts', '.js', '.json'],\n undefined,\n ['./app', './src/app']\n )\n ) {\n console.warn(\n createBadFilepathWarning('loadTranslations', ['./app', './src/app'])\n );\n }\n\n // ----------- LOCALE STANDARDIZATION ----------- //\n\n // Check if using Services\n const gtRuntimeTranslationEnabled = !!(\n mergedConfig.runtimeUrl === defaultWithGTConfigProps.runtimeUrl &&\n ((process.env.NODE_ENV === 'production' && mergedConfig.apiKey) ||\n (process.env.NODE_ENV === 'development' && mergedConfig.devApiKey))\n );\n const gtRemoteCacheEnabled = !!(\n mergedConfig.cacheUrl === defaultWithGTConfigProps.cacheUrl &&\n mergedConfig.loadTranslationsType === 'remote'\n );\n const gtServicesEnabled = !!(\n (gtRuntimeTranslationEnabled || gtRemoteCacheEnabled) &&\n mergedConfig.projectId\n );\n\n // Standardize locales\n if (mergedConfig.locales && mergedConfig.defaultLocale) {\n mergedConfig.locales.unshift(mergedConfig.defaultLocale);\n }\n const updatedLocales: string[] = [];\n mergedConfig.locales = Array.from(new Set(mergedConfig.locales)).map(\n (locale) => {\n const updatedLocale = gtServicesEnabled\n ? standardizeLocale(locale)\n : locale;\n if (updatedLocale !== locale) {\n updatedLocales.push(`${locale} -> ${updatedLocale}`);\n }\n return updatedLocale;\n }\n );\n\n // Standardize canonical locales\n const updatedCanonicalLocales: string[] = [];\n if (mergedConfig.customMapping) {\n mergedConfig.customMapping = Object.fromEntries(\n Object.entries(mergedConfig.customMapping).map(([key, value]) => {\n if (typeof value !== 'object' || !('code' in value)) {\n return [key, value];\n }\n const updatedLocale = gtServicesEnabled\n ? standardizeLocale((value as { code: string }).code)\n : (value as { code: string }).code;\n if (updatedLocale !== (value as { code: string }).code) {\n updatedCanonicalLocales.push(`${key} -> ${updatedLocale}`);\n }\n return [\n key,\n {\n ...value,\n code: updatedLocale,\n },\n ];\n })\n );\n }\n\n // Run cache component checks\n cacheComponentsChecks({\n nextConfig: internalNextConfig,\n requestFunctionPaths,\n localTranslationsEnabled: !!customLoadTranslationsPath,\n localDictionaryEnabled: !!customLoadDictionaryPath,\n });\n\n // ---------- DERIVED CONFIG ATTRIBUTES ---------- //\n\n // Local dictionary flag\n if (customLoadDictionaryPath) {\n // Check: file exists if provided\n if (!fs.existsSync(path.resolve(customLoadDictionaryPath))) {\n throw new Error(\n unresolvedLoadDictionaryBuildError(customLoadDictionaryPath)\n );\n } else {\n mergedConfig.loadDictionaryEnabled = true;\n }\n } else {\n mergedConfig.loadDictionaryEnabled = false;\n }\n\n // Local translations flag\n if (customLoadTranslationsPath) {\n // Check: file exists if provided\n if (!fs.existsSync(path.resolve(customLoadTranslationsPath))) {\n throw new Error(\n unresolvedLoadTranslationsBuildError(customLoadTranslationsPath)\n );\n } else {\n mergedConfig.loadTranslationsType = 'custom';\n }\n } else {\n mergedConfig.loadTranslationsType = 'remote';\n }\n\n if (internalNextConfig.cacheComponents) {\n if (mergedConfig.loadTranslationsType !== 'custom') {\n throw new Error(cacheComponentsMissingLoadTranslationsError);\n }\n if (isDevHotReloadEnabled(mergedConfig)) {\n console.warn(cacheComponentsDevHotReloadDisabledWarning);\n }\n mergedConfig._cacheComponentsEnabled = true;\n mergedConfig._disableDevHotReload = true;\n mergedConfig.cacheExpiryTime = 0;\n }\n\n // Set default cache expiry if and only if no dev key\n if (\n mergedConfig.loadTranslationsType == 'remote' &&\n !mergedConfig.devApiKey &&\n typeof mergedConfig.cacheExpiryTime === 'undefined'\n ) {\n mergedConfig.cacheExpiryTime = defaultCacheExpiryTime;\n }\n\n // ---------- ERROR CHECKS ---------- //\n\n // Check: invalid locale\n if (!mergedConfig.customMapping && gtServicesEnabled) {\n const invalidLocales: string[] = [];\n mergedConfig.locales.forEach((locale) => {\n if (!isValidLocale(locale)) {\n invalidLocales.push(locale);\n }\n });\n if (invalidLocales.length) {\n throw new Error(invalidLocalesError(invalidLocales));\n }\n }\n\n // Check: invalid canonical locale\n if (mergedConfig.customMapping && gtServicesEnabled) {\n const invalidCanonicalLocales: string[] = [];\n mergedConfig.locales.forEach((locale) => {\n if (!isValidLocale(locale, mergedConfig.customMapping)) {\n invalidCanonicalLocales.push(locale);\n }\n });\n if (invalidCanonicalLocales.length) {\n throw new Error(invalidCanonicalLocalesError(invalidCanonicalLocales));\n }\n }\n\n // Check: projectId is not required for remote infrastructure, but warn if missing for dev, nothing for prod\n if (\n (mergedConfig.cacheUrl || mergedConfig.runtimeUrl) &&\n !mergedConfig.projectId &&\n process.env.NODE_ENV === 'development' &&\n mergedConfig.loadTranslationsType === 'remote' &&\n !mergedConfig.loadDictionaryEnabled // skip warn if using local dictionary\n ) {\n console.warn(projectIdMissingWarn);\n }\n\n // Check: dev API key should not be included in production\n if (process.env.NODE_ENV === 'production' && mergedConfig.devApiKey) {\n throw new Error(devApiKeyIncludedInProductionError);\n }\n\n // Check: An API key is required for runtime translation\n if (\n mergedConfig.projectId && // must have projectId for this check to matter anyways\n mergedConfig.runtimeUrl &&\n !(mergedConfig.apiKey || mergedConfig.devApiKey) &&\n process.env.NODE_ENV === 'development'\n ) {\n console.warn(APIKeyMissingWarn);\n }\n\n // Check: if using GT infrastructure, warn about unsupported locales\n if (gtServicesEnabled) {\n // Warn about standardized locales\n if (updatedLocales.length) {\n console.warn(standardizedLocalesWarning(updatedLocales));\n }\n\n // Warn about standardized canonical locales\n if (updatedCanonicalLocales.length) {\n console.warn(\n standardizedCanonicalLocalesWarning(updatedCanonicalLocales)\n );\n }\n }\n\n // ---------- STORE CONFIGURATIONS ---------- //\n const {\n projectId: _projectId,\n apiKey: _apiKey,\n devApiKey: _devApiKey,\n ...privateConfigParams\n } = mergedConfig;\n const I18NConfigParams = JSON.stringify(privateConfigParams);\n const publicI18NConfigParams: Omit<\n I18nConfigParams,\n 'projectId' | 'devApiKey' | 'apiKey'\n > = {\n defaultLocale: mergedConfig.defaultLocale,\n locales: mergedConfig.locales,\n customMapping: mergedConfig.customMapping,\n runtimeUrl: mergedConfig.runtimeUrl,\n };\n\n const { type: _type, ...compilerOptions } =\n mergedConfig.experimentalCompilerOptions || {};\n\n // Read autoderive from parsingFlags (single source of truth shared with CLI)\n const rawAutoderive: boolean | { jsx?: boolean; strings?: boolean } =\n loadedConfig?.files?.gt?.parsingFlags?.autoderive ?? false;\n const autoderiveJsx =\n typeof rawAutoderive === 'boolean'\n ? rawAutoderive\n : (rawAutoderive.jsx ?? false);\n const autoderiveStrings =\n typeof rawAutoderive === 'boolean'\n ? rawAutoderive\n : (rawAutoderive.strings ?? false);\n\n const swcPluginOptions: Record<string, unknown> = {\n ...compilerOptions,\n autoderiveJsx,\n autoderiveStrings,\n };\n\n const swcPluginEntry: [string, Record<string, unknown>] | null =\n mergedConfig.experimentalCompilerOptions?.type === 'swc'\n ? [resolvedWasmFilePath, swcPluginOptions]\n : null;\n\n const turboAliases = {\n 'gt-next/internal/_dictionary': resolvedDictionaryFilePath || '',\n 'gt-next/internal/_load-translations': customLoadTranslationsPath || '',\n 'gt-next/internal/_load-dictionary': customLoadDictionaryPath || '',\n ...Object.fromEntries(\n Object.entries(requestFunctionPaths).map(([functionName, path]) => {\n return [\n REQUEST_FUNCTION_ALIASES[\n functionName as keyof typeof REQUEST_FUNCTION_ALIASES\n ],\n path,\n ];\n })\n ),\n };\n\n // experimental.turbo is deprecated in next@15.3.0.\n // Check for experimental.turbo. If we write to turbopack field, experimental fields will be ignored.\n // Yet, if there are other resolveAlias fields, we don't want to be ignored either.\n const experimentalTurbopack = !(\n turboConfigStable &&\n (!internalNextConfig.experimental?.turbo ||\n internalNextConfig.turbopack?.resolveAlias)\n );\n\n const config: NextConfig = {\n ...internalNextConfig,\n transpilePackages: Array.from(\n new Set([...(internalNextConfig.transpilePackages || []), 'gt-next'])\n ),\n env: {\n ...internalNextConfig.env,\n _GENERALTRANSLATION_I18N_CONFIG_PARAMS: I18NConfigParams,\n NEXT_PUBLIC_GENERALTRANSLATION_I18N_CONFIG_PARAMS: JSON.stringify(\n publicI18NConfigParams\n ),\n ...(resolvedDictionaryFilePathType && {\n _GENERALTRANSLATION_DICTIONARY_FILE_TYPE:\n resolvedDictionaryFilePathType,\n }),\n _GENERALTRANSLATION_LOCAL_DICTIONARY_ENABLED:\n mergedConfig.loadDictionaryEnabled.toString(),\n _GENERALTRANSLATION_LOCAL_TRANSLATION_ENABLED: (\n mergedConfig.loadTranslationsType === 'custom'\n ).toString(),\n _GENERALTRANSLATION_DEFAULT_LOCALE: (\n mergedConfig.defaultLocale ||\n defaultWithGTConfigProps.defaultLocale ||\n ''\n ).toString(),\n _GENERALTRANSLATION_GT_SERVICES_ENABLED: gtServicesEnabled.toString(),\n _GENERALTRANSLATION_IGNORE_BROWSER_LOCALES:\n mergedConfig.ignoreBrowserLocales?.toString() ||\n defaultWithGTConfigProps.ignoreBrowserLocales?.toString() ||\n 'false',\n _GENERALTRANSLATION_CUSTOM_GET_LOCALE_ENABLED:\n requestFunctionPaths.getLocale ? 'true' : 'false',\n _GENERALTRANSLATION_CUSTOM_GET_REGION_ENABLED:\n requestFunctionPaths.getRegion ? 'true' : 'false',\n _GENERALTRANSLATION_DISABLE_INVALID_LOCALE_WARNING:\n mergedConfig.disableInvalidLocaleWarning?.toString() || 'false',\n // nextConfig.env intentionally makes this available to client-boundary.tsx.\n ...(mergedConfig.pathRegex !== undefined && {\n _GENERALTRANSLATION_PATH_REGEX: mergedConfig.pathRegex,\n }),\n },\n ...(turboPackEnabled &&\n !experimentalTurbopack && {\n turbopack: {\n ...internalNextConfig.turbopack,\n resolveAlias: {\n ...internalNextConfig.turbopack?.resolveAlias,\n ...turboAliases,\n },\n },\n }),\n experimental: {\n ...internalNextConfig.experimental,\n ...(rootParamStability === 'experimental' && {\n rootParams: true,\n }),\n swcPlugins: [\n ...(internalNextConfig.experimental?.swcPlugins || []),\n ...(swcPluginEntry ? [swcPluginEntry] : []),\n ],\n ...(turboPackEnabled &&\n experimentalTurbopack && {\n turbo: {\n ...internalNextConfig.experimental?.turbo,\n resolveAlias: {\n ...internalNextConfig.experimental?.turbo?.resolveAlias,\n ...turboAliases,\n },\n },\n }),\n },\n webpack: function webpack(\n ...[webpackConfig, options]: Parameters<\n NonNullable<NextConfig['webpack']>\n >\n ) {\n // Only apply webpack aliases if we're using webpack (not Turbopack)\n if (!turboPackEnabled) {\n // Try to load GT compiler if available\n if (mergedConfig.experimentalCompilerOptions?.type === 'babel') {\n try {\n const {\n webpack: gtUnplugin,\n } = require('@generaltranslation/compiler');\n webpackConfig.plugins.unshift(\n gtUnplugin(mergedConfig.experimentalCompilerOptions || {})\n );\n } catch (e) {\n mergedConfig.experimentalCompilerOptions.type = 'none';\n console.warn(\n createGTCompilerUnresolvedWarning('babel'),\n 'Error message:',\n e\n );\n }\n }\n\n // Disable cache in dev bc people might move around loadTranslations() and loadDictionary() files\n if (process.env.NODE_ENV === 'development') {\n webpackConfig.cache = false;\n }\n if (resolvedDictionaryFilePath) {\n webpackConfig.resolve.alias['gt-next/internal/_dictionary'] =\n path.resolve(webpackConfig.context, resolvedDictionaryFilePath);\n }\n if (customLoadTranslationsPath) {\n webpackConfig.resolve.alias[`gt-next/internal/_load-translations`] =\n path.resolve(webpackConfig.context, customLoadTranslationsPath);\n }\n if (customLoadDictionaryPath) {\n webpackConfig.resolve.alias[`gt-next/internal/_load-dictionary`] =\n path.resolve(webpackConfig.context, customLoadDictionaryPath);\n }\n for (const [functionName, pathString] of Object.entries(\n requestFunctionPaths\n )) {\n const key =\n REQUEST_FUNCTION_ALIASES[\n functionName as keyof typeof REQUEST_FUNCTION_ALIASES\n ];\n webpackConfig.resolve.alias[key] = path.resolve(\n webpackConfig.context,\n pathString\n );\n }\n }\n if (typeof internalNextConfig?.webpack === 'function') {\n return internalNextConfig.webpack(webpackConfig, options);\n }\n return webpackConfig;\n },\n };\n return config as WithGTConfigResult<TNextConfig>;\n}\n\nfunction isDevHotReloadEnabled(config: InternalGTConfigProps): boolean {\n return (\n !!config.devApiKey &&\n !!config.projectId &&\n config.runtimeUrl !== null &&\n config.runtimeUrl !== '' &&\n process.env.NODE_ENV === 'development'\n );\n}\n"],"mappings":"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"}
@@ -12,10 +12,12 @@ export declare const unresolvedLoadTranslationsBuildError: (path: string) => str
12
12
  export declare const conflictingConfigurationBuildError: (conflicts: string[]) => string;
13
13
  export declare const typesFileError: string;
14
14
  export declare const getTranslationsSnapshotRscError: string;
15
+ export declare const withGTStaticPropsClientError: string;
16
+ export declare const withGTStaticPropsRscError: string;
15
17
  export declare const invalidLocalesError: (locales: string[]) => string;
16
18
  export declare const invalidCanonicalLocalesError: (locales: string[]) => string;
17
19
  export declare const createInvalidRequestLocaleWarning: (locale: string, defaultLocale: string) => string;
18
- export declare const createInvalidMiddlewareRegexError: (regexFilter: string, error: unknown) => string;
20
+ export declare const createInvalidPathRegexError: (pathRegex: string, error: unknown) => string;
19
21
  export declare const createBadFilepathWarning: (filename: string, dir: string[]) => string;
20
22
  export declare const createUnsupportedLocalesWarning: (locales: string[]) => string;
21
23
  export declare const projectIdMissingWarn: string;
@@ -1 +1 @@
1
- {"version":3,"file":"createErrors.d.ts","sourceRoot":"","sources":["../../src/errors/createErrors.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,uBAAuB,QAKlC,CAAC;AAEH,eAAO,MAAM,2BAA2B,GAAI,SAAQ,MAAW,WAK3D,CAAC;AAEL,eAAO,MAAM,2BAA2B,GAAI,SAAQ,MAAW,WAK3D,CAAC;AAEL,eAAO,MAAM,gCAAgC,GAAI,OAAO,KAAK,WAMzD,CAAC;AAEL,eAAO,MAAM,iCAAiC,GAAI,OAAO,KAAK,WAM1D,CAAC;AAEL,eAAO,MAAM,kCAAkC,QAI7C,CAAC;AAEH,eAAO,MAAM,2BAA2B,GAAI,IAAI,MAAM,EAAE,cAAc,MAAM,WAKxE,CAAC;AAEL,eAAO,MAAM,mCAAmC,QAK9C,CAAC;AAEH,eAAO,MAAM,qCAAqC,QAKhD,CAAC;AAEH,eAAO,MAAM,kCAAkC,GAAI,MAAM,MAAM,WAK3D,CAAC;AAEL,eAAO,MAAM,oCAAoC,GAAI,MAAM,MAAM,WAK7D,CAAC;AAEL,eAAO,MAAM,kCAAkC,GAAI,WAAW,MAAM,EAAE,WAKjE,CAAC;AAEN,eAAO,MAAM,cAAc,QAIzB,CAAC;AAEH,eAAO,MAAM,+BAA+B,QAK1C,CAAC;AAEH,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,EAAE,WAMjD,CAAC;AAEL,eAAO,MAAM,4BAA4B,GAAI,SAAS,MAAM,EAAE,WAM1D,CAAC;AAEL,eAAO,MAAM,iCAAiC,GAC5C,QAAQ,MAAM,EACd,eAAe,MAAM,WAOnB,CAAC;AAEL,eAAO,MAAM,iCAAiC,GAC5C,aAAa,MAAM,EACnB,OAAO,OAAO,WAOZ,CAAC;AAIL,eAAO,MAAM,wBAAwB,GAAI,UAAU,MAAM,EAAE,KAAK,MAAM,EAAE,WAIpE,CAAC;AAEL,eAAO,MAAM,+BAA+B,GAAI,SAAS,MAAM,EAAE,WAMhD,CAAC;AAElB,eAAO,MAAM,oBAAoB,QAI/B,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAG5B,CAAC;AAEH,eAAO,MAAM,0BAA0B,GAAI,SAAS,MAAM,EAAE,WACiF,CAAC;AAE9I,eAAO,MAAM,mCAAmC,GAAI,SAAS,MAAM,EAAE,WACkF,CAAC;AAExJ,eAAO,MAAM,iCAAiC,GAAI,MAAM,OAAO,GAAG,KAAK,WAC8B,CAAC;AAEtG,eAAO,MAAM,gCAAgC,QAI3C,CAAC;AAEH,eAAO,MAAM,gCAAgC,QAI3C,CAAC;AAEH,eAAO,MAAM,kCAAkC,GAAI,MAAM,OAAO,GAAG,KAAK,4NAGyD,CAAC;AAElI,eAAO,MAAM,wCAAwC,QAE8C,CAAC;AAEpG,eAAO,MAAM,+BAA+B,0FAA0F,CAAC;AAEvI,eAAO,MAAM,mCAAmC,0JAAyK,CAAC"}
1
+ {"version":3,"file":"createErrors.d.ts","sourceRoot":"","sources":["../../src/errors/createErrors.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,uBAAuB,QAKlC,CAAC;AAEH,eAAO,MAAM,2BAA2B,GAAI,SAAQ,MAAW,WAK3D,CAAC;AAEL,eAAO,MAAM,2BAA2B,GAAI,SAAQ,MAAW,WAK3D,CAAC;AAEL,eAAO,MAAM,gCAAgC,GAAI,OAAO,KAAK,WAMzD,CAAC;AAEL,eAAO,MAAM,iCAAiC,GAAI,OAAO,KAAK,WAM1D,CAAC;AAEL,eAAO,MAAM,kCAAkC,QAI7C,CAAC;AAEH,eAAO,MAAM,2BAA2B,GAAI,IAAI,MAAM,EAAE,cAAc,MAAM,WAKxE,CAAC;AAEL,eAAO,MAAM,mCAAmC,QAK9C,CAAC;AAEH,eAAO,MAAM,qCAAqC,QAKhD,CAAC;AAEH,eAAO,MAAM,kCAAkC,GAAI,MAAM,MAAM,WAK3D,CAAC;AAEL,eAAO,MAAM,oCAAoC,GAAI,MAAM,MAAM,WAK7D,CAAC;AAEL,eAAO,MAAM,kCAAkC,GAAI,WAAW,MAAM,EAAE,WAKjE,CAAC;AAEN,eAAO,MAAM,cAAc,QAIzB,CAAC;AAEH,eAAO,MAAM,+BAA+B,QAK1C,CAAC;AAEH,eAAO,MAAM,4BAA4B,QAKvC,CAAC;AAEH,eAAO,MAAM,yBAAyB,QAMpC,CAAC;AAEH,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,EAAE,WAMjD,CAAC;AAEL,eAAO,MAAM,4BAA4B,GAAI,SAAS,MAAM,EAAE,WAM1D,CAAC;AAEL,eAAO,MAAM,iCAAiC,GAC5C,QAAQ,MAAM,EACd,eAAe,MAAM,WAOnB,CAAC;AAEL,eAAO,MAAM,2BAA2B,GACtC,WAAW,MAAM,EACjB,OAAO,OAAO,WAOZ,CAAC;AAIL,eAAO,MAAM,wBAAwB,GAAI,UAAU,MAAM,EAAE,KAAK,MAAM,EAAE,WAIpE,CAAC;AAEL,eAAO,MAAM,+BAA+B,GAAI,SAAS,MAAM,EAAE,WAMhD,CAAC;AAElB,eAAO,MAAM,oBAAoB,QAI/B,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAG5B,CAAC;AAEH,eAAO,MAAM,0BAA0B,GAAI,SAAS,MAAM,EAAE,WACiF,CAAC;AAE9I,eAAO,MAAM,mCAAmC,GAAI,SAAS,MAAM,EAAE,WACkF,CAAC;AAExJ,eAAO,MAAM,iCAAiC,GAAI,MAAM,OAAO,GAAG,KAAK,WAOnE,CAAC;AAEL,eAAO,MAAM,gCAAgC,QAI3C,CAAC;AAEH,eAAO,MAAM,gCAAgC,QAI3C,CAAC;AAEH,eAAO,MAAM,kCAAkC,GAAI,MAAM,OAAO,GAAG,KAAK,4NAGyD,CAAC;AAElI,eAAO,MAAM,wCAAwC,QAE8C,CAAC;AAEpG,eAAO,MAAM,+BAA+B,0FAA0F,CAAC;AAEvI,eAAO,MAAM,mCAAmC,0JAAyK,CAAC"}
@@ -74,6 +74,18 @@ const getTranslationsSnapshotRscError = require_errors_diagnostics.createGtNextD
74
74
  whatHappened: "getTranslationsSnapshot() is not available for React Server Components",
75
75
  fix: "Use gt-next build-time translation helpers in the App Router, or call getTranslationsSnapshot() from a Pages Router entry point"
76
76
  });
77
+ const withGTStaticPropsClientError = require_errors_diagnostics.createGtNextDiagnostic({
78
+ severity: "Error",
79
+ whatHappened: "withGTStaticProps() cannot run in the browser",
80
+ why: "Static props are generated on the server by the Pages Router",
81
+ fix: "Export withGTStaticProps() from a Pages Router page module"
82
+ });
83
+ const withGTStaticPropsRscError = require_errors_diagnostics.createGtNextDiagnostic({
84
+ severity: "Error",
85
+ whatHappened: "withGTStaticProps() is not available for React Server Components",
86
+ why: "This helper supports the Pages Router, not the App Router",
87
+ fix: "Use gt-next build-time translation helpers in the App Router, or export withGTStaticProps() from a Pages Router page module"
88
+ });
77
89
  const invalidLocalesError = (locales) => require_errors_diagnostics.createGtNextDiagnostic({
78
90
  severity: "Error",
79
91
  whatHappened: "Invalid locale codes in your configuration",
@@ -92,10 +104,10 @@ const createInvalidRequestLocaleWarning = (locale, defaultLocale) => require_err
92
104
  wayOut: `The default locale "${defaultLocale}" will be used for this request`,
93
105
  fix: "Use a valid BCP 47 locale code, add a custom mapping, or configure the locale in gt-next"
94
106
  });
95
- const createInvalidMiddlewareRegexError = (regexFilter, error) => require_errors_diagnostics.createGtNextDiagnostic({
107
+ const createInvalidPathRegexError = (pathRegex, error) => require_errors_diagnostics.createGtNextDiagnostic({
96
108
  severity: "Error",
97
- whatHappened: `regexFilter "${regexFilter}" is not a valid regular expression`,
98
- fix: "Pass a valid JavaScript regular expression string to createNextMiddleware()",
109
+ whatHappened: `pathRegex "${pathRegex}" is not a valid regular expression`,
110
+ fix: "Pass a valid JavaScript regular expression string to withGTConfig()",
99
111
  details: (0, generaltranslation_internal.formatDiagnosticErrorDetails)(error)
100
112
  });
101
113
  const createBadFilepathWarning = (filename, dir) => require_errors_diagnostics.createGtNextDiagnostic({
@@ -117,7 +129,11 @@ const APIKeyMissingWarn = require_errors_diagnostics.createGtNextPluginDiagnosti
117
129
  });
118
130
  const standardizedLocalesWarning = (locales) => `gt-next: The following locales were standardized: ${locales.join(", ")}. Use the standardized codes in your config to avoid this warning.`;
119
131
  const standardizedCanonicalLocalesWarning = (locales) => `gt-next: The following canonical locales were standardized: ${locales.join(", ")}. Use the standardized codes in your config to avoid this warning.`;
120
- const createGTCompilerUnresolvedWarning = (type) => `gt-next (plugin): The GT ${type} compiler could not be resolved. Skipping compiler optimizations.`;
132
+ const createGTCompilerUnresolvedWarning = (type) => require_errors_diagnostics.createGtNextPluginDiagnostic({
133
+ whatHappened: `The GT ${type} compiler could not be resolved`,
134
+ wayOut: "Skipping compiler optimizations",
135
+ ...type === "babel" && { fix: "Install @generaltranslation/compiler to enable the experimental babel compiler" }
136
+ });
121
137
  const customGetLocaleUnresolvedWarning = require_errors_diagnostics.createGtNextDiagnostic({
122
138
  whatHappened: "Custom getLocale() could not be resolved",
123
139
  wayOut: "gt-next will fall back to default locale detection",
@@ -140,7 +156,7 @@ exports.createBadFilepathWarning = createBadFilepathWarning;
140
156
  exports.createDictionarySubsetError = createDictionarySubsetError;
141
157
  exports.createGTCompilerUnavailableWarning = createGTCompilerUnavailableWarning;
142
158
  exports.createGTCompilerUnresolvedWarning = createGTCompilerUnresolvedWarning;
143
- exports.createInvalidMiddlewareRegexError = createInvalidMiddlewareRegexError;
159
+ exports.createInvalidPathRegexError = createInvalidPathRegexError;
144
160
  exports.createInvalidRequestLocaleWarning = createInvalidRequestLocaleWarning;
145
161
  exports.createUnresolvedNextVersionError = createUnresolvedNextVersionError;
146
162
  exports.createUnresolvedReactVersionError = createUnresolvedReactVersionError;
@@ -164,5 +180,7 @@ exports.unresolvedCustomLoadDictionaryError = unresolvedCustomLoadDictionaryErro
164
180
  exports.unresolvedCustomLoadTranslationsError = unresolvedCustomLoadTranslationsError;
165
181
  exports.unresolvedLoadDictionaryBuildError = unresolvedLoadDictionaryBuildError;
166
182
  exports.unresolvedLoadTranslationsBuildError = unresolvedLoadTranslationsBuildError;
183
+ exports.withGTStaticPropsClientError = withGTStaticPropsClientError;
184
+ exports.withGTStaticPropsRscError = withGTStaticPropsRscError;
167
185
 
168
186
  //# sourceMappingURL=createErrors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createErrors.js","names":["createGtNextDiagnostic","createGtNextPluginDiagnostic","SWC_PLUGIN_SUPPORT","BABEL_PLUGIN_SUPPORT"],"sources":["../../src/errors/createErrors.ts"],"sourcesContent":["// ---- ERRORS ---- //\n\nimport { getLocaleProperties } from '@generaltranslation/format';\nimport {\n createGtNextDiagnostic,\n createGtNextPluginDiagnostic,\n formatDiagnosticErrorDetails,\n} from './diagnostics';\nimport { BABEL_PLUGIN_SUPPORT, SWC_PLUGIN_SUPPORT } from '../plugin/constants';\n\nexport const remoteTranslationsError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Remote translations could not be loaded',\n fix: 'Check your project ID, API key, and network connection, then try again',\n wayOut: 'Source content will render as a fallback',\n});\n\nexport const customLoadTranslationsError = (locale: string = '') =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `Locally stored translations could not be loaded${locale ? ` for \"${locale}\"` : ''}`,\n fix: 'If you use loadTranslations(), make sure it returns translations for the requested locale',\n });\n\nexport const customLoadDictionaryWarning = (locale: string = '') =>\n createGtNextDiagnostic({\n severity: 'Warning',\n whatHappened: `The local dictionary could not be loaded${locale ? ` for \"${locale}\"` : ''}`,\n fix: 'If you use loadDictionary(), make sure it returns a dictionary for the requested locale',\n });\n\nexport const createUnresolvedNextVersionError = (error: Error) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'The installed Next.js version could not be resolved',\n fix: 'Check that next is installed in this project',\n details: error.message,\n });\n\nexport const createUnresolvedReactVersionError = (error: Error) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'The installed React version could not be resolved',\n fix: 'Check that react is installed in this project',\n details: error.message,\n });\n\nexport const devApiKeyIncludedInProductionError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Production builds cannot use a development API key',\n fix: 'Replace it with a production API key',\n});\n\nexport const createDictionarySubsetError = (id: string, functionName: string) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `${functionName} with id \"${id}\" could not read a valid dictionary subtree`,\n fix: 'Make sure the id maps to the correct subroute of the dictionary',\n });\n\nexport const unresolvedCustomLoadDictionaryError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'loadDictionary() was found during the build but could not be resolved at runtime',\n fix: 'Export a loadDictionary() function from the configured file',\n});\n\nexport const unresolvedCustomLoadTranslationsError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'loadTranslations() was found during the build but could not be resolved at runtime',\n fix: 'Export a loadTranslations() function from the configured file',\n});\n\nexport const unresolvedLoadDictionaryBuildError = (path: string) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `The file defining loadDictionary() could not be resolved at ${path}`,\n fix: 'Check the configured path and try again',\n });\n\nexport const unresolvedLoadTranslationsBuildError = (path: string) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `The file defining loadTranslations() could not be resolved at ${path}`,\n fix: 'Check the configured path and try again',\n });\n\nexport const conflictingConfigurationBuildError = (conflicts: string[]) =>\n `gt-next Error: Conflicting configuration${\n conflicts.length > 1 ? 's' : ''\n } detected. Resolve the following conflicts before building your app:\\n${conflicts.join(\n '\\n'\n )}`;\n\nexport const typesFileError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'A types-only entry point was executed at runtime',\n fix: 'Import from the appropriate gt-next runtime entry point instead',\n});\n\nexport const getTranslationsSnapshotRscError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'getTranslationsSnapshot() is not available for React Server Components',\n fix: 'Use gt-next build-time translation helpers in the App Router, or call getTranslationsSnapshot() from a Pages Router entry point',\n});\n\nexport const invalidLocalesError = (locales: string[]) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Invalid locale codes in your configuration',\n fix: 'Specify a list of valid locales or use \"customMapping\" to define aliases for the invalid locales',\n details: locales,\n });\n\nexport const invalidCanonicalLocalesError = (locales: string[]) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Invalid canonical locale codes in your configuration',\n fix: 'Use valid BCP 47 locale codes before starting translation',\n details: locales,\n });\n\nexport const createInvalidRequestLocaleWarning = (\n locale: string,\n defaultLocale: string\n) =>\n createGtNextDiagnostic({\n severity: 'Warning',\n whatHappened: `Locale \"${locale}\" is not valid or is not supported by this app`,\n wayOut: `The default locale \"${defaultLocale}\" will be used for this request`,\n fix: 'Use a valid BCP 47 locale code, add a custom mapping, or configure the locale in gt-next',\n });\n\nexport const createInvalidMiddlewareRegexError = (\n regexFilter: string,\n error: unknown\n) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `regexFilter \"${regexFilter}\" is not a valid regular expression`,\n fix: 'Pass a valid JavaScript regular expression string to createNextMiddleware()',\n details: formatDiagnosticErrorDetails(error),\n });\n\n// ---- WARNINGS ---- //\n\nexport const createBadFilepathWarning = (filename: string, dir: string[]) =>\n createGtNextDiagnostic({\n whatHappened: `${filename} was found in ${dir.join(' or ')}, which is not supported`,\n fix: 'Move it to your project root so gt-next can load it',\n });\n\nexport const createUnsupportedLocalesWarning = (locales: string[]) =>\n `gt-next: The following locales are currently unsupported by our service: ${locales\n .map((locale) => {\n const { name } = getLocaleProperties(locale);\n return `${locale} (${name})`;\n })\n .join(', ')}`;\n\nexport const projectIdMissingWarn = createGtNextDiagnostic({\n whatHappened: 'Runtime translation needs a project ID',\n fix: 'Set GT_PROJECT_ID in your environment or pass projectId to withGTConfig()',\n docsUrl: 'https://generaltranslation.com/dashboard',\n});\n\nexport const APIKeyMissingWarn = createGtNextPluginDiagnostic({\n whatHappened: 'Runtime translation needs a development API key',\n fix: 'Find your development API key at generaltranslation.com/dashboard, or set runtimeUrl to an empty string to disable runtime translation',\n});\n\nexport const standardizedLocalesWarning = (locales: string[]) =>\n `gt-next: The following locales were standardized: ${locales.join(', ')}. Use the standardized codes in your config to avoid this warning.`;\n\nexport const standardizedCanonicalLocalesWarning = (locales: string[]) =>\n `gt-next: The following canonical locales were standardized: ${locales.join(', ')}. Use the standardized codes in your config to avoid this warning.`;\n\nexport const createGTCompilerUnresolvedWarning = (type: 'babel' | 'swc') =>\n `gt-next (plugin): The GT ${type} compiler could not be resolved. Skipping compiler optimizations.`;\n\nexport const customGetLocaleUnresolvedWarning = createGtNextDiagnostic({\n whatHappened: 'Custom getLocale() could not be resolved',\n wayOut: 'gt-next will fall back to default locale detection',\n fix: 'Export a getLocale() function from the configured request file',\n});\n\nexport const customGetRegionUnresolvedWarning = createGtNextDiagnostic({\n whatHappened: 'Custom getRegion() could not be resolved',\n wayOut: 'gt-next will fall back to default region detection',\n fix: 'Export a getRegion() function from the configured request file',\n});\n\nexport const createGTCompilerUnavailableWarning = (type: 'babel' | 'swc') =>\n type === 'swc'\n ? `gt-next (plugin): The GT swc compiler is compatible with < next@${SWC_PLUGIN_SUPPORT}. Skipping compiler optimizations.`\n : `gt-next (plugin): The GT babel compiler requires react@${BABEL_PLUGIN_SUPPORT} or newer. Skipping compiler optimizations.`;\n\nexport const babelCompilerTurbopackUnavailableWarning =\n `gt-next (plugin): The GT babel compiler is not compatible with Turbopack. ` +\n `To use compiler optimizations with Turbopack, set experimentalCompilerOptions: { type: 'swc' }.`;\n\nexport const disablingCompileTimeHashWarning = `gt-next (plugin): Compile-time hash is disabled. Compiler optimizations are inactive.`;\n\nexport const swcPluginCompatibilityChangeWarning = `gt-next (plugin): As of gt-next@6.12.4, SWC plugin support is disabled for Next.js versions prior to ${SWC_PLUGIN_SUPPORT}. Update to the latest version of Next.js.`;\n"],"mappings":"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"}
1
+ {"version":3,"file":"createErrors.js","names":["createGtNextDiagnostic","createGtNextPluginDiagnostic","SWC_PLUGIN_SUPPORT","BABEL_PLUGIN_SUPPORT"],"sources":["../../src/errors/createErrors.ts"],"sourcesContent":["// ---- ERRORS ---- //\n\nimport { getLocaleProperties } from '@generaltranslation/format';\nimport {\n createGtNextDiagnostic,\n createGtNextPluginDiagnostic,\n formatDiagnosticErrorDetails,\n} from './diagnostics';\nimport { BABEL_PLUGIN_SUPPORT, SWC_PLUGIN_SUPPORT } from '../plugin/constants';\n\nexport const remoteTranslationsError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Remote translations could not be loaded',\n fix: 'Check your project ID, API key, and network connection, then try again',\n wayOut: 'Source content will render as a fallback',\n});\n\nexport const customLoadTranslationsError = (locale: string = '') =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `Locally stored translations could not be loaded${locale ? ` for \"${locale}\"` : ''}`,\n fix: 'If you use loadTranslations(), make sure it returns translations for the requested locale',\n });\n\nexport const customLoadDictionaryWarning = (locale: string = '') =>\n createGtNextDiagnostic({\n severity: 'Warning',\n whatHappened: `The local dictionary could not be loaded${locale ? ` for \"${locale}\"` : ''}`,\n fix: 'If you use loadDictionary(), make sure it returns a dictionary for the requested locale',\n });\n\nexport const createUnresolvedNextVersionError = (error: Error) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'The installed Next.js version could not be resolved',\n fix: 'Check that next is installed in this project',\n details: error.message,\n });\n\nexport const createUnresolvedReactVersionError = (error: Error) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'The installed React version could not be resolved',\n fix: 'Check that react is installed in this project',\n details: error.message,\n });\n\nexport const devApiKeyIncludedInProductionError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Production builds cannot use a development API key',\n fix: 'Replace it with a production API key',\n});\n\nexport const createDictionarySubsetError = (id: string, functionName: string) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `${functionName} with id \"${id}\" could not read a valid dictionary subtree`,\n fix: 'Make sure the id maps to the correct subroute of the dictionary',\n });\n\nexport const unresolvedCustomLoadDictionaryError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'loadDictionary() was found during the build but could not be resolved at runtime',\n fix: 'Export a loadDictionary() function from the configured file',\n});\n\nexport const unresolvedCustomLoadTranslationsError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'loadTranslations() was found during the build but could not be resolved at runtime',\n fix: 'Export a loadTranslations() function from the configured file',\n});\n\nexport const unresolvedLoadDictionaryBuildError = (path: string) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `The file defining loadDictionary() could not be resolved at ${path}`,\n fix: 'Check the configured path and try again',\n });\n\nexport const unresolvedLoadTranslationsBuildError = (path: string) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `The file defining loadTranslations() could not be resolved at ${path}`,\n fix: 'Check the configured path and try again',\n });\n\nexport const conflictingConfigurationBuildError = (conflicts: string[]) =>\n `gt-next Error: Conflicting configuration${\n conflicts.length > 1 ? 's' : ''\n } detected. Resolve the following conflicts before building your app:\\n${conflicts.join(\n '\\n'\n )}`;\n\nexport const typesFileError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'A types-only entry point was executed at runtime',\n fix: 'Import from the appropriate gt-next runtime entry point instead',\n});\n\nexport const getTranslationsSnapshotRscError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'getTranslationsSnapshot() is not available for React Server Components',\n fix: 'Use gt-next build-time translation helpers in the App Router, or call getTranslationsSnapshot() from a Pages Router entry point',\n});\n\nexport const withGTStaticPropsClientError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'withGTStaticProps() cannot run in the browser',\n why: 'Static props are generated on the server by the Pages Router',\n fix: 'Export withGTStaticProps() from a Pages Router page module',\n});\n\nexport const withGTStaticPropsRscError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'withGTStaticProps() is not available for React Server Components',\n why: 'This helper supports the Pages Router, not the App Router',\n fix: 'Use gt-next build-time translation helpers in the App Router, or export withGTStaticProps() from a Pages Router page module',\n});\n\nexport const invalidLocalesError = (locales: string[]) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Invalid locale codes in your configuration',\n fix: 'Specify a list of valid locales or use \"customMapping\" to define aliases for the invalid locales',\n details: locales,\n });\n\nexport const invalidCanonicalLocalesError = (locales: string[]) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Invalid canonical locale codes in your configuration',\n fix: 'Use valid BCP 47 locale codes before starting translation',\n details: locales,\n });\n\nexport const createInvalidRequestLocaleWarning = (\n locale: string,\n defaultLocale: string\n) =>\n createGtNextDiagnostic({\n severity: 'Warning',\n whatHappened: `Locale \"${locale}\" is not valid or is not supported by this app`,\n wayOut: `The default locale \"${defaultLocale}\" will be used for this request`,\n fix: 'Use a valid BCP 47 locale code, add a custom mapping, or configure the locale in gt-next',\n });\n\nexport const createInvalidPathRegexError = (\n pathRegex: string,\n error: unknown\n) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `pathRegex \"${pathRegex}\" is not a valid regular expression`,\n fix: 'Pass a valid JavaScript regular expression string to withGTConfig()',\n details: formatDiagnosticErrorDetails(error),\n });\n\n// ---- WARNINGS ---- //\n\nexport const createBadFilepathWarning = (filename: string, dir: string[]) =>\n createGtNextDiagnostic({\n whatHappened: `${filename} was found in ${dir.join(' or ')}, which is not supported`,\n fix: 'Move it to your project root so gt-next can load it',\n });\n\nexport const createUnsupportedLocalesWarning = (locales: string[]) =>\n `gt-next: The following locales are currently unsupported by our service: ${locales\n .map((locale) => {\n const { name } = getLocaleProperties(locale);\n return `${locale} (${name})`;\n })\n .join(', ')}`;\n\nexport const projectIdMissingWarn = createGtNextDiagnostic({\n whatHappened: 'Runtime translation needs a project ID',\n fix: 'Set GT_PROJECT_ID in your environment or pass projectId to withGTConfig()',\n docsUrl: 'https://generaltranslation.com/dashboard',\n});\n\nexport const APIKeyMissingWarn = createGtNextPluginDiagnostic({\n whatHappened: 'Runtime translation needs a development API key',\n fix: 'Find your development API key at generaltranslation.com/dashboard, or set runtimeUrl to an empty string to disable runtime translation',\n});\n\nexport const standardizedLocalesWarning = (locales: string[]) =>\n `gt-next: The following locales were standardized: ${locales.join(', ')}. Use the standardized codes in your config to avoid this warning.`;\n\nexport const standardizedCanonicalLocalesWarning = (locales: string[]) =>\n `gt-next: The following canonical locales were standardized: ${locales.join(', ')}. Use the standardized codes in your config to avoid this warning.`;\n\nexport const createGTCompilerUnresolvedWarning = (type: 'babel' | 'swc') =>\n createGtNextPluginDiagnostic({\n whatHappened: `The GT ${type} compiler could not be resolved`,\n wayOut: 'Skipping compiler optimizations',\n ...(type === 'babel' && {\n fix: 'Install @generaltranslation/compiler to enable the experimental babel compiler',\n }),\n });\n\nexport const customGetLocaleUnresolvedWarning = createGtNextDiagnostic({\n whatHappened: 'Custom getLocale() could not be resolved',\n wayOut: 'gt-next will fall back to default locale detection',\n fix: 'Export a getLocale() function from the configured request file',\n});\n\nexport const customGetRegionUnresolvedWarning = createGtNextDiagnostic({\n whatHappened: 'Custom getRegion() could not be resolved',\n wayOut: 'gt-next will fall back to default region detection',\n fix: 'Export a getRegion() function from the configured request file',\n});\n\nexport const createGTCompilerUnavailableWarning = (type: 'babel' | 'swc') =>\n type === 'swc'\n ? `gt-next (plugin): The GT swc compiler is compatible with < next@${SWC_PLUGIN_SUPPORT}. Skipping compiler optimizations.`\n : `gt-next (plugin): The GT babel compiler requires react@${BABEL_PLUGIN_SUPPORT} or newer. Skipping compiler optimizations.`;\n\nexport const babelCompilerTurbopackUnavailableWarning =\n `gt-next (plugin): The GT babel compiler is not compatible with Turbopack. ` +\n `To use compiler optimizations with Turbopack, set experimentalCompilerOptions: { type: 'swc' }.`;\n\nexport const disablingCompileTimeHashWarning = `gt-next (plugin): Compile-time hash is disabled. Compiler optimizations are inactive.`;\n\nexport const swcPluginCompatibilityChangeWarning = `gt-next (plugin): As of gt-next@6.12.4, SWC plugin support is disabled for Next.js versions prior to ${SWC_PLUGIN_SUPPORT}. Update to the latest version of Next.js.`;\n"],"mappings":"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"}
@@ -71,6 +71,18 @@ const getTranslationsSnapshotRscError = createGtNextDiagnostic({
71
71
  whatHappened: "getTranslationsSnapshot() is not available for React Server Components",
72
72
  fix: "Use gt-next build-time translation helpers in the App Router, or call getTranslationsSnapshot() from a Pages Router entry point"
73
73
  });
74
+ const withGTStaticPropsClientError = createGtNextDiagnostic({
75
+ severity: "Error",
76
+ whatHappened: "withGTStaticProps() cannot run in the browser",
77
+ why: "Static props are generated on the server by the Pages Router",
78
+ fix: "Export withGTStaticProps() from a Pages Router page module"
79
+ });
80
+ const withGTStaticPropsRscError = createGtNextDiagnostic({
81
+ severity: "Error",
82
+ whatHappened: "withGTStaticProps() is not available for React Server Components",
83
+ why: "This helper supports the Pages Router, not the App Router",
84
+ fix: "Use gt-next build-time translation helpers in the App Router, or export withGTStaticProps() from a Pages Router page module"
85
+ });
74
86
  const invalidLocalesError = (locales) => createGtNextDiagnostic({
75
87
  severity: "Error",
76
88
  whatHappened: "Invalid locale codes in your configuration",
@@ -89,10 +101,10 @@ const createInvalidRequestLocaleWarning = (locale, defaultLocale) => createGtNex
89
101
  wayOut: `The default locale "${defaultLocale}" will be used for this request`,
90
102
  fix: "Use a valid BCP 47 locale code, add a custom mapping, or configure the locale in gt-next"
91
103
  });
92
- const createInvalidMiddlewareRegexError = (regexFilter, error) => createGtNextDiagnostic({
104
+ const createInvalidPathRegexError = (pathRegex, error) => createGtNextDiagnostic({
93
105
  severity: "Error",
94
- whatHappened: `regexFilter "${regexFilter}" is not a valid regular expression`,
95
- fix: "Pass a valid JavaScript regular expression string to createNextMiddleware()",
106
+ whatHappened: `pathRegex "${pathRegex}" is not a valid regular expression`,
107
+ fix: "Pass a valid JavaScript regular expression string to withGTConfig()",
96
108
  details: formatDiagnosticErrorDetails(error)
97
109
  });
98
110
  const createBadFilepathWarning = (filename, dir) => createGtNextDiagnostic({
@@ -114,7 +126,11 @@ const APIKeyMissingWarn = createGtNextPluginDiagnostic({
114
126
  });
115
127
  const standardizedLocalesWarning = (locales) => `gt-next: The following locales were standardized: ${locales.join(", ")}. Use the standardized codes in your config to avoid this warning.`;
116
128
  const standardizedCanonicalLocalesWarning = (locales) => `gt-next: The following canonical locales were standardized: ${locales.join(", ")}. Use the standardized codes in your config to avoid this warning.`;
117
- const createGTCompilerUnresolvedWarning = (type) => `gt-next (plugin): The GT ${type} compiler could not be resolved. Skipping compiler optimizations.`;
129
+ const createGTCompilerUnresolvedWarning = (type) => createGtNextPluginDiagnostic({
130
+ whatHappened: `The GT ${type} compiler could not be resolved`,
131
+ wayOut: "Skipping compiler optimizations",
132
+ ...type === "babel" && { fix: "Install @generaltranslation/compiler to enable the experimental babel compiler" }
133
+ });
118
134
  const customGetLocaleUnresolvedWarning = createGtNextDiagnostic({
119
135
  whatHappened: "Custom getLocale() could not be resolved",
120
136
  wayOut: "gt-next will fall back to default locale detection",
@@ -130,6 +146,6 @@ const babelCompilerTurbopackUnavailableWarning = "gt-next (plugin): The GT babel
130
146
  const disablingCompileTimeHashWarning = `gt-next (plugin): Compile-time hash is disabled. Compiler optimizations are inactive.`;
131
147
  const swcPluginCompatibilityChangeWarning = `gt-next (plugin): As of gt-next@6.12.4, SWC plugin support is disabled for Next.js versions prior to ${SWC_PLUGIN_SUPPORT}. Update to the latest version of Next.js.`;
132
148
  //#endregion
133
- export { APIKeyMissingWarn, babelCompilerTurbopackUnavailableWarning, conflictingConfigurationBuildError, createBadFilepathWarning, createDictionarySubsetError, createGTCompilerUnavailableWarning, createGTCompilerUnresolvedWarning, createInvalidMiddlewareRegexError, createInvalidRequestLocaleWarning, createUnresolvedNextVersionError, createUnresolvedReactVersionError, createUnsupportedLocalesWarning, customGetLocaleUnresolvedWarning, customGetRegionUnresolvedWarning, customLoadDictionaryWarning, customLoadTranslationsError, devApiKeyIncludedInProductionError, disablingCompileTimeHashWarning, getTranslationsSnapshotRscError, invalidCanonicalLocalesError, invalidLocalesError, projectIdMissingWarn, remoteTranslationsError, standardizedCanonicalLocalesWarning, standardizedLocalesWarning, swcPluginCompatibilityChangeWarning, typesFileError, unresolvedCustomLoadDictionaryError, unresolvedCustomLoadTranslationsError, unresolvedLoadDictionaryBuildError, unresolvedLoadTranslationsBuildError };
149
+ export { APIKeyMissingWarn, babelCompilerTurbopackUnavailableWarning, conflictingConfigurationBuildError, createBadFilepathWarning, createDictionarySubsetError, createGTCompilerUnavailableWarning, createGTCompilerUnresolvedWarning, createInvalidPathRegexError, createInvalidRequestLocaleWarning, createUnresolvedNextVersionError, createUnresolvedReactVersionError, createUnsupportedLocalesWarning, customGetLocaleUnresolvedWarning, customGetRegionUnresolvedWarning, customLoadDictionaryWarning, customLoadTranslationsError, devApiKeyIncludedInProductionError, disablingCompileTimeHashWarning, getTranslationsSnapshotRscError, invalidCanonicalLocalesError, invalidLocalesError, projectIdMissingWarn, remoteTranslationsError, standardizedCanonicalLocalesWarning, standardizedLocalesWarning, swcPluginCompatibilityChangeWarning, typesFileError, unresolvedCustomLoadDictionaryError, unresolvedCustomLoadTranslationsError, unresolvedLoadDictionaryBuildError, unresolvedLoadTranslationsBuildError, withGTStaticPropsClientError, withGTStaticPropsRscError };
134
150
 
135
151
  //# sourceMappingURL=createErrors.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"createErrors.mjs","names":[],"sources":["../../src/errors/createErrors.ts"],"sourcesContent":["// ---- ERRORS ---- //\n\nimport { getLocaleProperties } from '@generaltranslation/format';\nimport {\n createGtNextDiagnostic,\n createGtNextPluginDiagnostic,\n formatDiagnosticErrorDetails,\n} from './diagnostics';\nimport { BABEL_PLUGIN_SUPPORT, SWC_PLUGIN_SUPPORT } from '../plugin/constants';\n\nexport const remoteTranslationsError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Remote translations could not be loaded',\n fix: 'Check your project ID, API key, and network connection, then try again',\n wayOut: 'Source content will render as a fallback',\n});\n\nexport const customLoadTranslationsError = (locale: string = '') =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `Locally stored translations could not be loaded${locale ? ` for \"${locale}\"` : ''}`,\n fix: 'If you use loadTranslations(), make sure it returns translations for the requested locale',\n });\n\nexport const customLoadDictionaryWarning = (locale: string = '') =>\n createGtNextDiagnostic({\n severity: 'Warning',\n whatHappened: `The local dictionary could not be loaded${locale ? ` for \"${locale}\"` : ''}`,\n fix: 'If you use loadDictionary(), make sure it returns a dictionary for the requested locale',\n });\n\nexport const createUnresolvedNextVersionError = (error: Error) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'The installed Next.js version could not be resolved',\n fix: 'Check that next is installed in this project',\n details: error.message,\n });\n\nexport const createUnresolvedReactVersionError = (error: Error) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'The installed React version could not be resolved',\n fix: 'Check that react is installed in this project',\n details: error.message,\n });\n\nexport const devApiKeyIncludedInProductionError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Production builds cannot use a development API key',\n fix: 'Replace it with a production API key',\n});\n\nexport const createDictionarySubsetError = (id: string, functionName: string) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `${functionName} with id \"${id}\" could not read a valid dictionary subtree`,\n fix: 'Make sure the id maps to the correct subroute of the dictionary',\n });\n\nexport const unresolvedCustomLoadDictionaryError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'loadDictionary() was found during the build but could not be resolved at runtime',\n fix: 'Export a loadDictionary() function from the configured file',\n});\n\nexport const unresolvedCustomLoadTranslationsError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'loadTranslations() was found during the build but could not be resolved at runtime',\n fix: 'Export a loadTranslations() function from the configured file',\n});\n\nexport const unresolvedLoadDictionaryBuildError = (path: string) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `The file defining loadDictionary() could not be resolved at ${path}`,\n fix: 'Check the configured path and try again',\n });\n\nexport const unresolvedLoadTranslationsBuildError = (path: string) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `The file defining loadTranslations() could not be resolved at ${path}`,\n fix: 'Check the configured path and try again',\n });\n\nexport const conflictingConfigurationBuildError = (conflicts: string[]) =>\n `gt-next Error: Conflicting configuration${\n conflicts.length > 1 ? 's' : ''\n } detected. Resolve the following conflicts before building your app:\\n${conflicts.join(\n '\\n'\n )}`;\n\nexport const typesFileError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'A types-only entry point was executed at runtime',\n fix: 'Import from the appropriate gt-next runtime entry point instead',\n});\n\nexport const getTranslationsSnapshotRscError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'getTranslationsSnapshot() is not available for React Server Components',\n fix: 'Use gt-next build-time translation helpers in the App Router, or call getTranslationsSnapshot() from a Pages Router entry point',\n});\n\nexport const invalidLocalesError = (locales: string[]) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Invalid locale codes in your configuration',\n fix: 'Specify a list of valid locales or use \"customMapping\" to define aliases for the invalid locales',\n details: locales,\n });\n\nexport const invalidCanonicalLocalesError = (locales: string[]) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Invalid canonical locale codes in your configuration',\n fix: 'Use valid BCP 47 locale codes before starting translation',\n details: locales,\n });\n\nexport const createInvalidRequestLocaleWarning = (\n locale: string,\n defaultLocale: string\n) =>\n createGtNextDiagnostic({\n severity: 'Warning',\n whatHappened: `Locale \"${locale}\" is not valid or is not supported by this app`,\n wayOut: `The default locale \"${defaultLocale}\" will be used for this request`,\n fix: 'Use a valid BCP 47 locale code, add a custom mapping, or configure the locale in gt-next',\n });\n\nexport const createInvalidMiddlewareRegexError = (\n regexFilter: string,\n error: unknown\n) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `regexFilter \"${regexFilter}\" is not a valid regular expression`,\n fix: 'Pass a valid JavaScript regular expression string to createNextMiddleware()',\n details: formatDiagnosticErrorDetails(error),\n });\n\n// ---- WARNINGS ---- //\n\nexport const createBadFilepathWarning = (filename: string, dir: string[]) =>\n createGtNextDiagnostic({\n whatHappened: `${filename} was found in ${dir.join(' or ')}, which is not supported`,\n fix: 'Move it to your project root so gt-next can load it',\n });\n\nexport const createUnsupportedLocalesWarning = (locales: string[]) =>\n `gt-next: The following locales are currently unsupported by our service: ${locales\n .map((locale) => {\n const { name } = getLocaleProperties(locale);\n return `${locale} (${name})`;\n })\n .join(', ')}`;\n\nexport const projectIdMissingWarn = createGtNextDiagnostic({\n whatHappened: 'Runtime translation needs a project ID',\n fix: 'Set GT_PROJECT_ID in your environment or pass projectId to withGTConfig()',\n docsUrl: 'https://generaltranslation.com/dashboard',\n});\n\nexport const APIKeyMissingWarn = createGtNextPluginDiagnostic({\n whatHappened: 'Runtime translation needs a development API key',\n fix: 'Find your development API key at generaltranslation.com/dashboard, or set runtimeUrl to an empty string to disable runtime translation',\n});\n\nexport const standardizedLocalesWarning = (locales: string[]) =>\n `gt-next: The following locales were standardized: ${locales.join(', ')}. Use the standardized codes in your config to avoid this warning.`;\n\nexport const standardizedCanonicalLocalesWarning = (locales: string[]) =>\n `gt-next: The following canonical locales were standardized: ${locales.join(', ')}. Use the standardized codes in your config to avoid this warning.`;\n\nexport const createGTCompilerUnresolvedWarning = (type: 'babel' | 'swc') =>\n `gt-next (plugin): The GT ${type} compiler could not be resolved. Skipping compiler optimizations.`;\n\nexport const customGetLocaleUnresolvedWarning = createGtNextDiagnostic({\n whatHappened: 'Custom getLocale() could not be resolved',\n wayOut: 'gt-next will fall back to default locale detection',\n fix: 'Export a getLocale() function from the configured request file',\n});\n\nexport const customGetRegionUnresolvedWarning = createGtNextDiagnostic({\n whatHappened: 'Custom getRegion() could not be resolved',\n wayOut: 'gt-next will fall back to default region detection',\n fix: 'Export a getRegion() function from the configured request file',\n});\n\nexport const createGTCompilerUnavailableWarning = (type: 'babel' | 'swc') =>\n type === 'swc'\n ? `gt-next (plugin): The GT swc compiler is compatible with < next@${SWC_PLUGIN_SUPPORT}. Skipping compiler optimizations.`\n : `gt-next (plugin): The GT babel compiler requires react@${BABEL_PLUGIN_SUPPORT} or newer. Skipping compiler optimizations.`;\n\nexport const babelCompilerTurbopackUnavailableWarning =\n `gt-next (plugin): The GT babel compiler is not compatible with Turbopack. ` +\n `To use compiler optimizations with Turbopack, set experimentalCompilerOptions: { type: 'swc' }.`;\n\nexport const disablingCompileTimeHashWarning = `gt-next (plugin): Compile-time hash is disabled. Compiler optimizations are inactive.`;\n\nexport const swcPluginCompatibilityChangeWarning = `gt-next (plugin): As of gt-next@6.12.4, SWC plugin support is disabled for Next.js versions prior to ${SWC_PLUGIN_SUPPORT}. Update to the latest version of Next.js.`;\n"],"mappings":"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"}
1
+ {"version":3,"file":"createErrors.mjs","names":[],"sources":["../../src/errors/createErrors.ts"],"sourcesContent":["// ---- ERRORS ---- //\n\nimport { getLocaleProperties } from '@generaltranslation/format';\nimport {\n createGtNextDiagnostic,\n createGtNextPluginDiagnostic,\n formatDiagnosticErrorDetails,\n} from './diagnostics';\nimport { BABEL_PLUGIN_SUPPORT, SWC_PLUGIN_SUPPORT } from '../plugin/constants';\n\nexport const remoteTranslationsError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Remote translations could not be loaded',\n fix: 'Check your project ID, API key, and network connection, then try again',\n wayOut: 'Source content will render as a fallback',\n});\n\nexport const customLoadTranslationsError = (locale: string = '') =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `Locally stored translations could not be loaded${locale ? ` for \"${locale}\"` : ''}`,\n fix: 'If you use loadTranslations(), make sure it returns translations for the requested locale',\n });\n\nexport const customLoadDictionaryWarning = (locale: string = '') =>\n createGtNextDiagnostic({\n severity: 'Warning',\n whatHappened: `The local dictionary could not be loaded${locale ? ` for \"${locale}\"` : ''}`,\n fix: 'If you use loadDictionary(), make sure it returns a dictionary for the requested locale',\n });\n\nexport const createUnresolvedNextVersionError = (error: Error) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'The installed Next.js version could not be resolved',\n fix: 'Check that next is installed in this project',\n details: error.message,\n });\n\nexport const createUnresolvedReactVersionError = (error: Error) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'The installed React version could not be resolved',\n fix: 'Check that react is installed in this project',\n details: error.message,\n });\n\nexport const devApiKeyIncludedInProductionError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Production builds cannot use a development API key',\n fix: 'Replace it with a production API key',\n});\n\nexport const createDictionarySubsetError = (id: string, functionName: string) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `${functionName} with id \"${id}\" could not read a valid dictionary subtree`,\n fix: 'Make sure the id maps to the correct subroute of the dictionary',\n });\n\nexport const unresolvedCustomLoadDictionaryError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'loadDictionary() was found during the build but could not be resolved at runtime',\n fix: 'Export a loadDictionary() function from the configured file',\n});\n\nexport const unresolvedCustomLoadTranslationsError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'loadTranslations() was found during the build but could not be resolved at runtime',\n fix: 'Export a loadTranslations() function from the configured file',\n});\n\nexport const unresolvedLoadDictionaryBuildError = (path: string) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `The file defining loadDictionary() could not be resolved at ${path}`,\n fix: 'Check the configured path and try again',\n });\n\nexport const unresolvedLoadTranslationsBuildError = (path: string) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `The file defining loadTranslations() could not be resolved at ${path}`,\n fix: 'Check the configured path and try again',\n });\n\nexport const conflictingConfigurationBuildError = (conflicts: string[]) =>\n `gt-next Error: Conflicting configuration${\n conflicts.length > 1 ? 's' : ''\n } detected. Resolve the following conflicts before building your app:\\n${conflicts.join(\n '\\n'\n )}`;\n\nexport const typesFileError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'A types-only entry point was executed at runtime',\n fix: 'Import from the appropriate gt-next runtime entry point instead',\n});\n\nexport const getTranslationsSnapshotRscError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'getTranslationsSnapshot() is not available for React Server Components',\n fix: 'Use gt-next build-time translation helpers in the App Router, or call getTranslationsSnapshot() from a Pages Router entry point',\n});\n\nexport const withGTStaticPropsClientError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'withGTStaticProps() cannot run in the browser',\n why: 'Static props are generated on the server by the Pages Router',\n fix: 'Export withGTStaticProps() from a Pages Router page module',\n});\n\nexport const withGTStaticPropsRscError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'withGTStaticProps() is not available for React Server Components',\n why: 'This helper supports the Pages Router, not the App Router',\n fix: 'Use gt-next build-time translation helpers in the App Router, or export withGTStaticProps() from a Pages Router page module',\n});\n\nexport const invalidLocalesError = (locales: string[]) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Invalid locale codes in your configuration',\n fix: 'Specify a list of valid locales or use \"customMapping\" to define aliases for the invalid locales',\n details: locales,\n });\n\nexport const invalidCanonicalLocalesError = (locales: string[]) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: 'Invalid canonical locale codes in your configuration',\n fix: 'Use valid BCP 47 locale codes before starting translation',\n details: locales,\n });\n\nexport const createInvalidRequestLocaleWarning = (\n locale: string,\n defaultLocale: string\n) =>\n createGtNextDiagnostic({\n severity: 'Warning',\n whatHappened: `Locale \"${locale}\" is not valid or is not supported by this app`,\n wayOut: `The default locale \"${defaultLocale}\" will be used for this request`,\n fix: 'Use a valid BCP 47 locale code, add a custom mapping, or configure the locale in gt-next',\n });\n\nexport const createInvalidPathRegexError = (\n pathRegex: string,\n error: unknown\n) =>\n createGtNextDiagnostic({\n severity: 'Error',\n whatHappened: `pathRegex \"${pathRegex}\" is not a valid regular expression`,\n fix: 'Pass a valid JavaScript regular expression string to withGTConfig()',\n details: formatDiagnosticErrorDetails(error),\n });\n\n// ---- WARNINGS ---- //\n\nexport const createBadFilepathWarning = (filename: string, dir: string[]) =>\n createGtNextDiagnostic({\n whatHappened: `${filename} was found in ${dir.join(' or ')}, which is not supported`,\n fix: 'Move it to your project root so gt-next can load it',\n });\n\nexport const createUnsupportedLocalesWarning = (locales: string[]) =>\n `gt-next: The following locales are currently unsupported by our service: ${locales\n .map((locale) => {\n const { name } = getLocaleProperties(locale);\n return `${locale} (${name})`;\n })\n .join(', ')}`;\n\nexport const projectIdMissingWarn = createGtNextDiagnostic({\n whatHappened: 'Runtime translation needs a project ID',\n fix: 'Set GT_PROJECT_ID in your environment or pass projectId to withGTConfig()',\n docsUrl: 'https://generaltranslation.com/dashboard',\n});\n\nexport const APIKeyMissingWarn = createGtNextPluginDiagnostic({\n whatHappened: 'Runtime translation needs a development API key',\n fix: 'Find your development API key at generaltranslation.com/dashboard, or set runtimeUrl to an empty string to disable runtime translation',\n});\n\nexport const standardizedLocalesWarning = (locales: string[]) =>\n `gt-next: The following locales were standardized: ${locales.join(', ')}. Use the standardized codes in your config to avoid this warning.`;\n\nexport const standardizedCanonicalLocalesWarning = (locales: string[]) =>\n `gt-next: The following canonical locales were standardized: ${locales.join(', ')}. Use the standardized codes in your config to avoid this warning.`;\n\nexport const createGTCompilerUnresolvedWarning = (type: 'babel' | 'swc') =>\n createGtNextPluginDiagnostic({\n whatHappened: `The GT ${type} compiler could not be resolved`,\n wayOut: 'Skipping compiler optimizations',\n ...(type === 'babel' && {\n fix: 'Install @generaltranslation/compiler to enable the experimental babel compiler',\n }),\n });\n\nexport const customGetLocaleUnresolvedWarning = createGtNextDiagnostic({\n whatHappened: 'Custom getLocale() could not be resolved',\n wayOut: 'gt-next will fall back to default locale detection',\n fix: 'Export a getLocale() function from the configured request file',\n});\n\nexport const customGetRegionUnresolvedWarning = createGtNextDiagnostic({\n whatHappened: 'Custom getRegion() could not be resolved',\n wayOut: 'gt-next will fall back to default region detection',\n fix: 'Export a getRegion() function from the configured request file',\n});\n\nexport const createGTCompilerUnavailableWarning = (type: 'babel' | 'swc') =>\n type === 'swc'\n ? `gt-next (plugin): The GT swc compiler is compatible with < next@${SWC_PLUGIN_SUPPORT}. Skipping compiler optimizations.`\n : `gt-next (plugin): The GT babel compiler requires react@${BABEL_PLUGIN_SUPPORT} or newer. Skipping compiler optimizations.`;\n\nexport const babelCompilerTurbopackUnavailableWarning =\n `gt-next (plugin): The GT babel compiler is not compatible with Turbopack. ` +\n `To use compiler optimizations with Turbopack, set experimentalCompilerOptions: { type: 'swc' }.`;\n\nexport const disablingCompileTimeHashWarning = `gt-next (plugin): Compile-time hash is disabled. Compiler optimizations are inactive.`;\n\nexport const swcPluginCompatibilityChangeWarning = `gt-next (plugin): As of gt-next@6.12.4, SWC plugin support is disabled for Next.js versions prior to ${SWC_PLUGIN_SUPPORT}. Update to the latest version of Next.js.`;\n"],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export declare const noLocalesCouldBeDeterminedWarning: string;
2
+ export declare const withGTStaticPropsLocaleRoutingError: string;
2
3
  //# sourceMappingURL=ssg.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ssg.d.ts","sourceRoot":"","sources":["../../src/errors/ssg.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iCAAiC,QAM5C,CAAC"}
1
+ {"version":3,"file":"ssg.d.ts","sourceRoot":"","sources":["../../src/errors/ssg.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iCAAiC,QAM5C,CAAC;AAEH,eAAO,MAAM,mCAAmC,QAM9C,CAAC"}
@@ -1,12 +1,20 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_errors_diagnostics = require("./diagnostics.js");
2
3
  //#region src/errors/ssg.ts
3
- const noLocalesCouldBeDeterminedWarning = require("./diagnostics.js").createGtNextDiagnostic({
4
+ const noLocalesCouldBeDeterminedWarning = require_errors_diagnostics.createGtNextDiagnostic({
4
5
  whatHappened: "No locale could be determined for this request",
5
6
  wayOut: "gt-next will fall back to the default locale",
6
7
  fix: "If you use SSG, configure locale resolution",
7
8
  docsUrl: "https://generaltranslation.com/en/docs/next/guides/ssg#ssg-custom-get-locale"
8
9
  });
10
+ const withGTStaticPropsLocaleRoutingError = require_errors_diagnostics.createGtNextDiagnostic({
11
+ severity: "Error",
12
+ whatHappened: "withGTStaticProps() could not determine the statically generated locale",
13
+ why: "Without Pages Router locale routing, Next.js generates only one version of this page",
14
+ fix: "Add i18n locales and defaultLocale to your Next.js configuration"
15
+ });
9
16
  //#endregion
10
17
  exports.noLocalesCouldBeDeterminedWarning = noLocalesCouldBeDeterminedWarning;
18
+ exports.withGTStaticPropsLocaleRoutingError = withGTStaticPropsLocaleRoutingError;
11
19
 
12
20
  //# sourceMappingURL=ssg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ssg.js","names":["createGtNextDiagnostic"],"sources":["../../src/errors/ssg.ts"],"sourcesContent":["import { createGtNextDiagnostic } from './diagnostics';\n\n// ========== WARNINGS ========== //\n\n// This was (1) triggered by SSG without running middleware, or (2) triggered by a request with no locale headers (also no middleware).\nexport const noLocalesCouldBeDeterminedWarning = createGtNextDiagnostic({\n whatHappened: 'No locale could be determined for this request',\n wayOut: 'gt-next will fall back to the default locale',\n fix: 'If you use SSG, configure locale resolution',\n docsUrl:\n 'https://generaltranslation.com/en/docs/next/guides/ssg#ssg-custom-get-locale',\n});\n"],"mappings":";;AAKA,MAAa,+DAAoCA,CAAAA,uBAAuB;CACtE,cAAc;CACd,QAAQ;CACR,KAAK;CACL,SACE;CACH,CAAC"}
1
+ {"version":3,"file":"ssg.js","names":["createGtNextDiagnostic"],"sources":["../../src/errors/ssg.ts"],"sourcesContent":["import { createGtNextDiagnostic } from './diagnostics';\n\n// ========== WARNINGS ========== //\n\n// This was (1) triggered by SSG without running middleware, or (2) triggered by a request with no locale headers (also no middleware).\nexport const noLocalesCouldBeDeterminedWarning = createGtNextDiagnostic({\n whatHappened: 'No locale could be determined for this request',\n wayOut: 'gt-next will fall back to the default locale',\n fix: 'If you use SSG, configure locale resolution',\n docsUrl:\n 'https://generaltranslation.com/en/docs/next/guides/ssg#ssg-custom-get-locale',\n});\n\nexport const withGTStaticPropsLocaleRoutingError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'withGTStaticProps() could not determine the statically generated locale',\n why: 'Without Pages Router locale routing, Next.js generates only one version of this page',\n fix: 'Add i18n locales and defaultLocale to your Next.js configuration',\n});\n"],"mappings":";;;AAKA,MAAa,oCAAoCA,2BAAAA,uBAAuB;CACtE,cAAc;CACd,QAAQ;CACR,KAAK;CACL,SACE;CACH,CAAC;AAEF,MAAa,sCAAsCA,2BAAAA,uBAAuB;CACxE,UAAU;CACV,cACE;CACF,KAAK;CACL,KAAK;CACN,CAAC"}
@@ -6,7 +6,13 @@ const noLocalesCouldBeDeterminedWarning = createGtNextDiagnostic({
6
6
  fix: "If you use SSG, configure locale resolution",
7
7
  docsUrl: "https://generaltranslation.com/en/docs/next/guides/ssg#ssg-custom-get-locale"
8
8
  });
9
+ const withGTStaticPropsLocaleRoutingError = createGtNextDiagnostic({
10
+ severity: "Error",
11
+ whatHappened: "withGTStaticProps() could not determine the statically generated locale",
12
+ why: "Without Pages Router locale routing, Next.js generates only one version of this page",
13
+ fix: "Add i18n locales and defaultLocale to your Next.js configuration"
14
+ });
9
15
  //#endregion
10
- export { noLocalesCouldBeDeterminedWarning };
16
+ export { noLocalesCouldBeDeterminedWarning, withGTStaticPropsLocaleRoutingError };
11
17
 
12
18
  //# sourceMappingURL=ssg.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ssg.mjs","names":[],"sources":["../../src/errors/ssg.ts"],"sourcesContent":["import { createGtNextDiagnostic } from './diagnostics';\n\n// ========== WARNINGS ========== //\n\n// This was (1) triggered by SSG without running middleware, or (2) triggered by a request with no locale headers (also no middleware).\nexport const noLocalesCouldBeDeterminedWarning = createGtNextDiagnostic({\n whatHappened: 'No locale could be determined for this request',\n wayOut: 'gt-next will fall back to the default locale',\n fix: 'If you use SSG, configure locale resolution',\n docsUrl:\n 'https://generaltranslation.com/en/docs/next/guides/ssg#ssg-custom-get-locale',\n});\n"],"mappings":";;AAKA,MAAa,oCAAoC,uBAAuB;CACtE,cAAc;CACd,QAAQ;CACR,KAAK;CACL,SACE;CACH,CAAC"}
1
+ {"version":3,"file":"ssg.mjs","names":[],"sources":["../../src/errors/ssg.ts"],"sourcesContent":["import { createGtNextDiagnostic } from './diagnostics';\n\n// ========== WARNINGS ========== //\n\n// This was (1) triggered by SSG without running middleware, or (2) triggered by a request with no locale headers (also no middleware).\nexport const noLocalesCouldBeDeterminedWarning = createGtNextDiagnostic({\n whatHappened: 'No locale could be determined for this request',\n wayOut: 'gt-next will fall back to the default locale',\n fix: 'If you use SSG, configure locale resolution',\n docsUrl:\n 'https://generaltranslation.com/en/docs/next/guides/ssg#ssg-custom-get-locale',\n});\n\nexport const withGTStaticPropsLocaleRoutingError = createGtNextDiagnostic({\n severity: 'Error',\n whatHappened:\n 'withGTStaticProps() could not determine the statically generated locale',\n why: 'Without Pages Router locale routing, Next.js generates only one version of this page',\n fix: 'Add i18n locales and defaultLocale to your Next.js configuration',\n});\n"],"mappings":";;AAKA,MAAa,oCAAoC,uBAAuB;CACtE,cAAc;CACd,QAAQ;CACR,KAAK;CACL,SACE;CACH,CAAC;AAEF,MAAa,sCAAsC,uBAAuB;CACxE,UAAU;CACV,cACE;CACF,KAAK;CACL,KAAK;CACN,CAAC"}
@@ -1,12 +1,14 @@
1
1
  import type { GetServerSideProps, GetServerSidePropsContext, PreviewData } from 'next';
2
2
  import type { ParsedUrlQuery } from 'querystring';
3
3
  import type { WithGTServerSideProps } from './pages-dir/withGTServerSideProps';
4
+ import type { WithGTStaticProps, WithGTStaticPropsFunction } from './pages-dir/withGTStaticProps';
4
5
  export declare function parseLocale<Params extends ParsedUrlQuery = ParsedUrlQuery, Preview extends PreviewData = PreviewData>(_: GetServerSidePropsContext<Params, Preview>): string;
5
6
  export declare function withGTServerSideProps<Props extends Record<string, unknown> = Record<string, unknown>, Params extends ParsedUrlQuery = ParsedUrlQuery, Preview extends PreviewData = PreviewData>(_?: GetServerSideProps<Props, Params, Preview>): GetServerSideProps<WithGTServerSideProps<Props>, Params, Preview>;
7
+ export declare const withGTStaticProps: WithGTStaticPropsFunction;
6
8
  export { Branch, Currency, DateTime, Derive, GTProvider, LocaleSelector, Num, Plural, RegionSelector, RelativeTime, T, Var, } from 'gt-react';
7
9
  export { useDefaultLocale, useGT, useLocale, useLocaleDirection, useLocaleProperties, useLocales, useLocaleSelector, useMessages, useRegion, useSetLocale, useTranslations, } from 'gt-react';
8
10
  export { decodeMsg, decodeOptions, decodeVars, declareVar, derive, getDefaultLocale, getLocaleProperties, getLocales, resolveCanonicalLocale, getTranslationsSnapshot, getVersionId, gtFallback, mFallback, msg, } from 'gt-react';
9
11
  export { isLocaleSupported } from './request/localeValidation';
10
12
  export type { GTTranslationOptions, RuntimeTranslationOptions } from 'gt-react';
11
- export type { WithGTServerSideProps };
13
+ export type { WithGTServerSideProps, WithGTStaticProps };
12
14
  //# sourceMappingURL=index.client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../src/index.client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACZ,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG/E,wBAAgB,WAAW,CACzB,MAAM,SAAS,cAAc,GAAG,cAAc,EAC9C,OAAO,SAAS,WAAW,GAAG,WAAW,EACzC,CAAC,EAAE,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAIvD;AAED,wBAAgB,qBAAqB,CACnC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,MAAM,SAAS,cAAc,GAAG,cAAc,EAC9C,OAAO,SAAS,WAAW,GAAG,WAAW,EAEzC,CAAC,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,GAC7C,kBAAkB,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAInE;AAGD,OAAO,EACL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,UAAU,EACV,cAAc,EACd,GAAG,EACH,MAAM,EACN,cAAc,EACd,YAAY,EACZ,CAAC,EACD,GAAG,GACJ,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,gBAAgB,EAChB,KAAK,EACL,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,GAChB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,GAAG,GACJ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D,YAAY,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAChF,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../src/index.client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACZ,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EACV,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAIvC,wBAAgB,WAAW,CACzB,MAAM,SAAS,cAAc,GAAG,cAAc,EAC9C,OAAO,SAAS,WAAW,GAAG,WAAW,EACzC,CAAC,EAAE,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAIvD;AAED,wBAAgB,qBAAqB,CACnC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,MAAM,SAAS,cAAc,GAAG,cAAc,EAC9C,OAAO,SAAS,WAAW,GAAG,WAAW,EAEzC,CAAC,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,GAC7C,kBAAkB,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAInE;AAED,eAAO,MAAM,iBAAiB,EAAE,yBAE/B,CAAC;AAGF,OAAO,EACL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,UAAU,EACV,cAAc,EACd,GAAG,EACH,MAAM,EACN,cAAc,EACd,YAAY,EACZ,CAAC,EACD,GAAG,GACJ,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,gBAAgB,EAChB,KAAK,EACL,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,GAChB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,SAAS,EACT,aAAa,EACb,UAAU,EACV,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,GAAG,GACJ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D,YAAY,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAChF,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("./_virtual/_rolldown/runtime.js");
4
+ const require_errors_createErrors = require("./errors/createErrors.js");
4
5
  const require_setup_initGT_client = require("./setup/initGT.client.js");
5
6
  const require_request_localeValidation = require("./request/localeValidation.js");
6
7
  let gt_react = require("gt-react");
@@ -12,6 +13,9 @@ function parseLocale(_) {
12
13
  function withGTServerSideProps(_) {
13
14
  throw new Error("withGTServerSideProps() is only available from gt-next on the server.");
14
15
  }
16
+ const withGTStaticProps = () => {
17
+ throw new Error(require_errors_createErrors.withGTStaticPropsClientError);
18
+ };
15
19
  //#endregion
16
20
  Object.defineProperty(exports, "Branch", {
17
21
  enumerable: true,
@@ -238,5 +242,6 @@ Object.defineProperty(exports, "useTranslations", {
238
242
  }
239
243
  });
240
244
  exports.withGTServerSideProps = withGTServerSideProps;
245
+ exports.withGTStaticProps = withGTStaticProps;
241
246
 
242
247
  //# sourceMappingURL=index.client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["initializeGTClient"],"sources":["../src/index.client.ts"],"sourcesContent":["'use client';\n\nimport { initializeGTClient } from './setup/initGT.client';\ninitializeGTClient();\n\nimport type {\n GetServerSideProps,\n GetServerSidePropsContext,\n PreviewData,\n} from 'next';\nimport type { ParsedUrlQuery } from 'querystring';\nimport type { WithGTServerSideProps } from './pages-dir/withGTServerSideProps';\n\n// ===== Unsupported Server APIs ===== //\nexport function parseLocale<\n Params extends ParsedUrlQuery = ParsedUrlQuery,\n Preview extends PreviewData = PreviewData,\n>(_: GetServerSidePropsContext<Params, Preview>): string {\n throw new Error(\n 'parseLocale() is only available from gt-next on the server.'\n );\n}\n\nexport function withGTServerSideProps<\n Props extends Record<string, unknown> = Record<string, unknown>,\n Params extends ParsedUrlQuery = ParsedUrlQuery,\n Preview extends PreviewData = PreviewData,\n>(\n _?: GetServerSideProps<Props, Params, Preview>\n): GetServerSideProps<WithGTServerSideProps<Props>, Params, Preview> {\n throw new Error(\n 'withGTServerSideProps() is only available from gt-next on the server.'\n );\n}\n\n// ===== Components ===== //\nexport {\n Branch,\n Currency,\n DateTime,\n Derive,\n GTProvider,\n LocaleSelector,\n Num,\n Plural,\n RegionSelector,\n RelativeTime,\n T,\n Var,\n} from 'gt-react';\n\n// ===== Hooks ===== //\nexport {\n useDefaultLocale,\n useGT,\n useLocale,\n useLocaleDirection,\n useLocaleProperties,\n useLocales,\n useLocaleSelector,\n useMessages,\n useRegion,\n useSetLocale,\n useTranslations,\n} from 'gt-react';\n\n// ===== Functions ===== //\nexport {\n decodeMsg,\n decodeOptions,\n decodeVars,\n declareVar,\n derive,\n getDefaultLocale,\n getLocaleProperties,\n getLocales,\n resolveCanonicalLocale,\n getTranslationsSnapshot,\n getVersionId,\n gtFallback,\n mFallback,\n msg,\n} from 'gt-react';\nexport { isLocaleSupported } from './request/localeValidation';\n\n// ===== Types ===== //\nexport type { GTTranslationOptions, RuntimeTranslationOptions } from 'gt-react';\nexport type { WithGTServerSideProps };\n"],"mappings":";;;;;;;AAGAA,4BAAAA,oBAAoB;AAWpB,SAAgB,YAGd,GAAuD;AACvD,OAAM,IAAI,MACR,8DACD;;AAGH,SAAgB,sBAKd,GACmE;AACnE,OAAM,IAAI,MACR,wEACD"}
1
+ {"version":3,"file":"index.client.js","names":["initializeGTClient","withGTStaticPropsClientError"],"sources":["../src/index.client.ts"],"sourcesContent":["'use client';\n\nimport { initializeGTClient } from './setup/initGT.client';\ninitializeGTClient();\n\nimport type {\n GetServerSideProps,\n GetServerSidePropsContext,\n PreviewData,\n} from 'next';\nimport type { ParsedUrlQuery } from 'querystring';\nimport type { WithGTServerSideProps } from './pages-dir/withGTServerSideProps';\nimport type {\n WithGTStaticProps,\n WithGTStaticPropsFunction,\n} from './pages-dir/withGTStaticProps';\nimport { withGTStaticPropsClientError } from './errors/createErrors';\n\n// ===== Unsupported Server APIs ===== //\nexport function parseLocale<\n Params extends ParsedUrlQuery = ParsedUrlQuery,\n Preview extends PreviewData = PreviewData,\n>(_: GetServerSidePropsContext<Params, Preview>): string {\n throw new Error(\n 'parseLocale() is only available from gt-next on the server.'\n );\n}\n\nexport function withGTServerSideProps<\n Props extends Record<string, unknown> = Record<string, unknown>,\n Params extends ParsedUrlQuery = ParsedUrlQuery,\n Preview extends PreviewData = PreviewData,\n>(\n _?: GetServerSideProps<Props, Params, Preview>\n): GetServerSideProps<WithGTServerSideProps<Props>, Params, Preview> {\n throw new Error(\n 'withGTServerSideProps() is only available from gt-next on the server.'\n );\n}\n\nexport const withGTStaticProps: WithGTStaticPropsFunction = () => {\n throw new Error(withGTStaticPropsClientError);\n};\n\n// ===== Components ===== //\nexport {\n Branch,\n Currency,\n DateTime,\n Derive,\n GTProvider,\n LocaleSelector,\n Num,\n Plural,\n RegionSelector,\n RelativeTime,\n T,\n Var,\n} from 'gt-react';\n\n// ===== Hooks ===== //\nexport {\n useDefaultLocale,\n useGT,\n useLocale,\n useLocaleDirection,\n useLocaleProperties,\n useLocales,\n useLocaleSelector,\n useMessages,\n useRegion,\n useSetLocale,\n useTranslations,\n} from 'gt-react';\n\n// ===== Functions ===== //\nexport {\n decodeMsg,\n decodeOptions,\n decodeVars,\n declareVar,\n derive,\n getDefaultLocale,\n getLocaleProperties,\n getLocales,\n resolveCanonicalLocale,\n getTranslationsSnapshot,\n getVersionId,\n gtFallback,\n mFallback,\n msg,\n} from 'gt-react';\nexport { isLocaleSupported } from './request/localeValidation';\n\n// ===== Types ===== //\nexport type { GTTranslationOptions, RuntimeTranslationOptions } from 'gt-react';\nexport type { WithGTServerSideProps, WithGTStaticProps };\n"],"mappings":";;;;;;;;AAGAA,4BAAAA,oBAAoB;AAgBpB,SAAgB,YAGd,GAAuD;AACvD,OAAM,IAAI,MACR,8DACD;;AAGH,SAAgB,sBAKd,GACmE;AACnE,OAAM,IAAI,MACR,wEACD;;AAGH,MAAa,0BAAqD;AAChE,OAAM,IAAI,MAAMC,4BAAAA,6BAA6B"}