Skip to content

Commit 0578ea7

Browse files
committed
fix: do not rely on internal structure of mkdist
1 parent cbe96fc commit 0578ea7

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/plugins/mkdist.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { VueSFCTransformerFileLoader } from '../sfc-transformer'
33
import type { Loader } from '../types/mkdist'
44
import { readFileSync } from 'node:fs'
55
import { createRequire } from 'node:module'
6-
import { resolve } from 'node:path'
6+
import { join, resolve } from 'node:path'
77
import { scriptLoader } from '../block-loader/script'
88
import { styleLoader } from '../block-loader/style'
99
import { templateLoader } from '../block-loader/template'
@@ -28,8 +28,10 @@ function isMkdistSupportDualVueDts(): boolean {
2828
}
2929
try {
3030
const require = createRequire(import.meta.url)
31-
const mkdistPath = require.resolve('mkdist')
32-
const packageJson = readFileSync(resolve(mkdistPath, '..', '..', 'package.json'), 'utf-8')
31+
const mkdistPath = require.resolve('mkdist').replace(/\\/g, '/')
32+
const lastNodeModules = mkdistPath.lastIndexOf('/mkdist/')
33+
const withoutDist = lastNodeModules !== -1 ? mkdistPath.slice(0, lastNodeModules) : mkdistPath
34+
const packageJson = readFileSync(join(withoutDist, 'mkdist/package.json'), 'utf-8')
3335
const { version = '0.0.0' } = JSON.parse(packageJson) as { version: string }
3436
const [major = 0, minor = 0, patch = 0] = version.split('.').map(n => Number.parseInt(n))
3537
const normalizedVersion = major * 1_000_000 + minor * 1_000 + patch

0 commit comments

Comments
 (0)