@@ -3,7 +3,7 @@ import type { VueSFCTransformerFileLoader } from '../sfc-transformer'
3
3
import type { Loader } from '../types/mkdist'
4
4
import { readFileSync } from 'node:fs'
5
5
import { createRequire } from 'node:module'
6
- import { resolve } from 'node:path'
6
+ import { join , resolve } from 'node:path'
7
7
import { scriptLoader } from '../block-loader/script'
8
8
import { styleLoader } from '../block-loader/style'
9
9
import { templateLoader } from '../block-loader/template'
@@ -28,8 +28,10 @@ function isMkdistSupportDualVueDts(): boolean {
28
28
}
29
29
try {
30
30
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' )
33
35
const { version = '0.0.0' } = JSON . parse ( packageJson ) as { version : string }
34
36
const [ major = 0 , minor = 0 , patch = 0 ] = version . split ( '.' ) . map ( n => Number . parseInt ( n ) )
35
37
const normalizedVersion = major * 1_000_000 + minor * 1_000 + patch
0 commit comments