@@ -26,6 +26,8 @@ import type { CodeGenOptions, DevEnv } from '@intlify/bundle-utils'
26
26
const INTLIFY_BUNDLE_IMPORT_ID = '@intlify/unplugin-vue-i18n/messages'
27
27
const INTLIFY_BUNDLE_IMPORT_DEPRECTED_ID =
28
28
'@intlify/vite-plugin-vue-i18n/messages'
29
+ const VIRTUAL_PREFIX = '\0'
30
+
29
31
const debug = createDebug ( 'unplugin-vue-i18n' )
30
32
31
33
export const unplugin = createUnplugin < PluginOptions > ( ( options = { } , meta ) => {
@@ -206,11 +208,11 @@ export const unplugin = createUnplugin<PluginOptions>((options = {}, meta) => {
206
208
warn (
207
209
`deprected '${ INTLIFY_BUNDLE_IMPORT_DEPRECTED_ID } ', you should switch to '${ INTLIFY_BUNDLE_IMPORT_ID } '`
208
210
)
209
- return id
211
+ return asVirtualId ( id , meta . framework )
210
212
}
211
213
212
214
if ( id === INTLIFY_BUNDLE_IMPORT_ID ) {
213
- return id
215
+ return asVirtualId ( id , meta . framework )
214
216
}
215
217
} ,
216
218
@@ -220,7 +222,7 @@ export const unplugin = createUnplugin<PluginOptions>((options = {}, meta) => {
220
222
const { query } = parseVueRequest ( id )
221
223
if (
222
224
[ INTLIFY_BUNDLE_IMPORT_DEPRECTED_ID , INTLIFY_BUNDLE_IMPORT_ID ] . includes (
223
- id
225
+ getVirtualId ( id , meta . framework )
224
226
) &&
225
227
include
226
228
) {
@@ -567,6 +569,25 @@ function getOptions(
567
569
}
568
570
}
569
571
572
+ function getVirtualId (
573
+ id : string ,
574
+ framework : UnpluginContextMeta [ 'framework' ] = 'vite'
575
+ ) {
576
+ // prettier-ignore
577
+ return framework === 'vite'
578
+ ? id . startsWith ( VIRTUAL_PREFIX )
579
+ ? id . slice ( VIRTUAL_PREFIX . length )
580
+ : ''
581
+ : id
582
+ }
583
+
584
+ function asVirtualId (
585
+ id : string ,
586
+ framework : UnpluginContextMeta [ 'framework' ] = 'vite'
587
+ ) {
588
+ return framework === 'vite' ? VIRTUAL_PREFIX + id : id
589
+ }
590
+
570
591
export default unplugin
571
592
572
593
export * from './types'
0 commit comments