10000 fix: let rollup resolve src imports · przemkow/rollup-plugin-vue@5e5a2af · GitHub
[go: up one dir, main page]

Skip to content

Commit 5e5a2af

Browse files
committed
fix: let rollup resolve src imports
This allows other plugins e.g. node-resolve to resolve from dependencies or extension-less imports
1 parent 7dd895d commit 5e5a2af

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/index.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import {
2121
import fs from 'fs'
2222
import createDebugger from 'debug'
2323
import hash from 'hash-sum'
24-
import { basename, relative, dirname, resolve } from 'path'
24+
import { basename, relative } from 'path'
2525
import qs from 'querystring'
2626
import { Plugin, RollupError } from 'rollup'
2727
import { createFilter } from 'rollup-pluginutils'
@@ -82,15 +82,18 @@ export default function PluginVue(userOptions: Partial<Options> = {}): Plugin {
8282

8383
return {
8484
name: 'vue',
85-
resolveId(id, importer) {
85+
async resolveId(id, importer) {
8686
const query = parseVuePartRequest(id)
8787

8888
if (query.vue) {
8989
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
9497
} else if (!filter(query.filename)) {
9598
return undefined
9699
}

0 commit comments

Comments
 (0)
0