Skip to content

Commit a78757d

Browse files
committed
fix: setup auto-imports outside modules:done hook
1 parent d89eb48 commit a78757d

3 files changed

Lines changed: 10 additions & 16 deletions

File tree

src/alias.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,7 @@ const debug = createDebug('@nuxtjs/i18n:alias')
1919

2020
export function setupAlias({ userOptions: options, isDev, isPrepare }: I18nNuxtContext, nuxt: Nuxt) {
2121
const modules = {
22-
[VUE_I18N_PKG]:
23-
isDev || isPrepare
24-
? `${VUE_I18N_PKG}/dist/vue-i18n.mjs`
25-
: `${VUE_I18N_PKG}/dist/vue-i18n${options.bundle?.runtimeOnly ? '.runtime' : ''}.mjs`,
22+
[VUE_I18N_PKG]: `${VUE_I18N_PKG}/dist/vue-i18n${!isDev && !isPrepare && options.bundle?.runtimeOnly ? '.runtime' : ''}.mjs`,
2623
[SHARED_PKG]: `${SHARED_PKG}/dist/shared.mjs`,
2724
[MESSAGE_COMPILER_PKG]: `${MESSAGE_COMPILER_PKG}/dist/message-compiler.mjs`,
2825
[CORE_BASE_PKG]: `${CORE_BASE_PKG}/dist/core-base.mjs`,

src/module.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@ export default defineNuxtModule<NuxtI18nOptions>({
4343
*/
4444
prepareOptions(ctx, nuxt)
4545

46+
/**
47+
* auto imports
48+
*/
49+
prepareAutoImports(ctx)
50+
4651
/**
4752
* allow other modules to setup first in case these use i18n hooks
4853
*/
@@ -101,11 +106,6 @@ export default defineNuxtModule<NuxtI18nOptions>({
101106
*/
102107
await setupNitro(ctx, nuxt)
103108

104-
/**
105-
* auto imports
106-
*/
107-
prepareAutoImports(ctx, nuxt)
108-
109109
/**
110110
* transpile @nuxtjs/i18n
111111
*/

src/prepare/auto-imports.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
1-
import type { Nuxt } from '@nuxt/schema'
21
import {
32
NUXT_I18N_COMPOSABLE_DEFINE_CONFIG,
43
NUXT_I18N_COMPOSABLE_DEFINE_LOCALE,
54
NUXT_I18N_COMPOSABLE_DEFINE_ROUTE,
65
VUE_I18N_PKG
76
} from '../constants'
8-
import { addComponent, addImports } from '@nuxt/kit'
7+
import { addComponent, addImports, resolveModule } from '@nuxt/kit'
98
import { runtimeDir } from '../dirs'
109
import type { I18nNuxtContext } from '../context'
1110

12-
export function prepareAutoImports({ debug, resolver }: I18nNuxtContext, nuxt: Nuxt) {
13-
const vueI18nPath = nuxt.options.alias[VUE_I18N_PKG]
14-
debug('vueI18nPath for auto-import', vueI18nPath)
15-
11+
export function prepareAutoImports({ resolver, userOptions: options, isDev, isPrepare }: I18nNuxtContext) {
1612
addComponent({
1713
name: 'NuxtLinkLocale',
1814
filePath: resolver.resolve(runtimeDir, 'components/NuxtLinkLocale')
@@ -23,8 +19,9 @@ export function prepareAutoImports({ debug, resolver }: I18nNuxtContext, nuxt: N
2319
filePath: resolver.resolve(runtimeDir, 'components/SwitchLocalePathLink')
2420
})
2521

22+
const vueI18nPath = `${VUE_I18N_PKG}/dist/vue-i18n${!isDev && !isPrepare && options.bundle?.runtimeOnly ? '.runtime' : ''}.mjs`
2623
addImports([
27-
{ name: 'useI18n', from: vueI18nPath },
24+
{ name: 'useI18n', from: resolveModule(vueI18nPath) },
2825
...[
2926
'useRouteBaseName',
3027
'useLocalePath',

0 commit comments

Comments
 (0)