@@ -21,10 +21,6 @@ import type { ResolvedOptions } from '../core/options'
2121import type { PluginOptions } from '../types'
2222import type { VueQuery } from '../vue'
2323
24- type ViteCompaibleModule = {
25- rolldownVersion ?: boolean
26- }
27-
2824const INTLIFY_BUNDLE_IMPORT_ID = '@intlify/unplugin-vue-i18n/messages'
2925const VIRTUAL_PREFIX = '\0'
3026const RE_INTLIFY_BUNDLE_IMPORT_ID = new RegExp ( `^${ INTLIFY_BUNDLE_IMPORT_ID } $` )
@@ -59,20 +55,6 @@ export function resourcePlugin(
5955 meta : UnpluginContextMeta ,
6056 collector ?: import ( './collector' ) . UsedKeysCollector | null
6157) : UnpluginOptions {
62- let viteModule : ViteCompaibleModule | null = null
63- async function getViteModule ( ) {
64- if ( viteModule != null ) {
65- return viteModule
66- }
67- try {
68- viteModule = ( await import ( 'vite' ) ) as unknown as ViteCompaibleModule
69- } catch ( e ) {
70- error ( `vite not found, please install vite.` , ( e as Error ) . message )
71- throw e
72- }
73- return viteModule
74- }
75-
7658 function resolveIncludeExclude ( ) {
7759 const customBlockInclude =
7860 meta . framework === 'vite' ? RE_SFC_I18N_CUSTOM_BLOCK : RE_SFC_I18N_WEBPACK_CUSTOM_BLOCK
@@ -99,15 +81,12 @@ export function resourcePlugin(
9981 if ( meta . framework == 'webpack' ) {
10082 debug ( 'Using filter for webpack' )
10183 _filter = createFilter ( ...resolveIncludeExclude ( ) )
84+ } else if ( hasViteJsonPlugin ) {
85+ debug ( 'Using filter for rollup-vite' )
86+ _filter = createFilter ( ...resolveIncludeExcludeForLegacy ( ) )
10287 } else {
103- const viteModule = await getViteModule ( )
104- if ( viteModule . rolldownVersion ) {
105- debug ( 'Using filter for rolldown-vite' )
106- _filter = createFilter ( ...resolveIncludeExclude ( ) )
107- } else {
108- debug ( 'Using filter for rollup-vite' )
109- _filter = createFilter ( ...resolveIncludeExcludeForLegacy ( ) )
110- }
88+ debug ( 'Using filter for rolldown-vite' )
89+ _filter = createFilter ( ...resolveIncludeExclude ( ) )
11190 }
11291
11392 return _filter
@@ -119,6 +98,7 @@ export function resourcePlugin(
11998
12099 let isProduction = false
121100 let sourceMap = false
101+ let hasViteJsonPlugin = false
122102 const vueI18nAliasName = module
123103 debug ( `vue-i18n alias name: ${ vueI18nAliasName } ` )
124104
@@ -193,6 +173,7 @@ export function resourcePlugin(
193173 * ref: https://github.com/intlify/bundle-tools/issues/553
194174 */
195175 const jsonPlugin = getVitePlugin ( config , 'vite:json' )
176+ hasViteJsonPlugin = ! ! jsonPlugin
196177 if ( jsonPlugin && jsonPlugin . transform ) {
197178 const transform = jsonPlugin . transform
198179 const isObjectHook = typeof transform !== 'function' && 'handler' in transform
0 commit comments