Skip to content

Commit 2f90d78

Browse files
authored
fix: validate user options and warn for undesired default values (#3654)
1 parent 9ddccc5 commit 2f90d78

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

src/prepare/options.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import type { I18nNuxtContext } from '../context'
2+
import type { NuxtI18nOptions } from '../types'
23
import type { Nuxt } from '@nuxt/schema'
3-
import { applyOptionOverrides, formatMessage } from '../utils'
4+
import defu from 'defu'
5+
import { applyOptionOverrides, formatMessage, getLayerI18n } from '../utils'
46
import { checkLayerOptions } from '../layers'
57

68
export function prepareOptions({ debug, logger, options }: I18nNuxtContext, nuxt: Nuxt) {
@@ -20,13 +22,19 @@ export function prepareOptions({ debug, logger, options }: I18nNuxtContext, nuxt
2022
)
2123
}
2224

23-
if (!nuxt.options?._prepare && !nuxt.options?.test && options.bundle.optimizeTranslationDirective == null) {
25+
// take into account inline module options
26+
const userOptions = defu(
27+
{},
28+
...nuxt.options._layers.map(x => getLayerI18n(x)).filter(Boolean)
29+
) as Partial<NuxtI18nOptions>
30+
31+
if (!nuxt.options?._prepare && !nuxt.options?.test && userOptions?.bundle?.optimizeTranslationDirective == null) {
2432
logger.warn(
2533
'`bundle.optimizeTranslationDirective` is enabled by default, we recommend disabling this feature as it causes issues and will be deprecated in v10.\nExplicitly setting this option to `true` or `false` disables this warning, for more details see: https://github.com/nuxt-modules/i18n/issues/3238#issuecomment-2672492536'
2634
)
2735
}
2836

29-
if (options.experimental.autoImportTranslationFunctions && nuxt.options.imports.autoImport === false) {
37+
if (userOptions.experimental?.autoImportTranslationFunctions && nuxt.options.imports.autoImport === false) {
3038
logger.warn(
3139
'Disabling `autoImports` in Nuxt is not compatible with `experimental.autoImportTranslationFunctions`, either enable `autoImports` or disable `experimental.autoImportTranslationFunctions`.'
3240
)

0 commit comments

Comments
 (0)