@@ -21,7 +21,7 @@ import {
21
21
import fs from 'fs'
22
22
import createDebugger from 'debug'
23
23
import hash from 'hash-sum'
24
- import { basename , relative , dirname , resolve } from 'path'
24
+ import { basename , relative } from 'path'
25
25
import qs from 'querystring'
26
26
import { Plugin , RollupError } from 'rollup'
27
27
import { createFilter } from 'rollup-pluginutils'
@@ -82,15 +82,18 @@ export default function PluginVue(userOptions: Partial<Options> = {}): Plugin {
82
82
83
83
return {
84
84
name : 'vue' ,
85
- resolveId ( id , importer ) {
85
+ async resolveId ( id , importer ) {
86
86
const query = parseVuePartRequest ( id )
87
87
88
88
if ( query . vue ) {
89
89
if ( query . src ) {
90
- id = resolve ( dirname ( importer ! ) , id )
91
- // map src request to the importer vue file descriptor
92
- const [ filename ] = id . split ( '?' , 2 )
93
- cache . set ( filename , getDescriptor ( importer ! ) )
90
+ const resolved = await this . resolve ( query . filename , importer , {
91
+ skipSelf : true ,
92
+ } )
93
+ if ( resolved ) {
94
+ cache . set ( resolved . id , getDescriptor ( importer ! ) )
95
+ }
96
+ return resolved
94
97
} else if ( ! filter ( query . filename ) ) {
95
98
return undefined
96
99
}
0 commit comments