feat: resolve import.meta.[dirname|filename] to support CommonJS format
This commit is contained in:
parent
d79de5abb6
commit
b3185d7fc5
|
@ -18,7 +18,7 @@ import { build } from 'esbuild'
|
||||||
import { electronMainVitePlugin, electronPreloadVitePlugin, electronRendererVitePlugin } from './plugins/electron'
|
import { electronMainVitePlugin, electronPreloadVitePlugin, electronRendererVitePlugin } from './plugins/electron'
|
||||||
import assetPlugin from './plugins/asset'
|
import assetPlugin from './plugins/asset'
|
||||||
import workerPlugin from './plugins/worker'
|
import workerPlugin from './plugins/worker'
|
||||||
import importMetaUrlPlugin from './plugins/importMetaUrl'
|
import importMetaPlugin from './plugins/importMeta'
|
||||||
import esmShimPlugin from './plugins/esm'
|
import esmShimPlugin from './plugins/esm'
|
||||||
import modulePathPlugin from './plugins/modulePath'
|
import modulePathPlugin from './plugins/modulePath'
|
||||||
import { isObject, isFilePathESM } from './utils'
|
import { isObject, isFilePathESM } from './utils'
|
||||||
|
@ -151,7 +151,7 @@ export async function resolveConfig(
|
||||||
assetPlugin(),
|
assetPlugin(),
|
||||||
workerPlugin(),
|
workerPlugin(),
|
||||||
modulePathPlugin(),
|
modulePathPlugin(),
|
||||||
importMetaUrlPlugin(),
|
importMetaPlugin(),
|
||||||
esmShimPlugin()
|
esmShimPlugin()
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@ -168,7 +168,7 @@ export async function resolveConfig(
|
||||||
mergePlugins(preloadViteConfig, [
|
mergePlugins(preloadViteConfig, [
|
||||||
...electronPreloadVitePlugin({ root }),
|
...electronPreloadVitePlugin({ root }),
|
||||||
assetPlugin(),
|
assetPlugin(),
|
||||||
importMetaUrlPlugin(),
|
importMetaPlugin(),
|
||||||
esmShimPlugin()
|
esmShimPlugin()
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,20 @@
|
||||||
import type { Plugin } from 'vite'
|
import type { Plugin } from 'vite'
|
||||||
|
|
||||||
export default function importMetaUrlPlugin(): Plugin {
|
export default function importMetaPlugin(): Plugin {
|
||||||
return {
|
return {
|
||||||
name: 'vite:import-meta-url',
|
name: 'vite:import-meta',
|
||||||
apply: 'build',
|
apply: 'build',
|
||||||
enforce: 'pre',
|
enforce: 'pre',
|
||||||
resolveImportMeta(property, { format }): string | null {
|
resolveImportMeta(property, { format }): string | null {
|
||||||
if (property === 'url' && format === 'cjs') {
|
if (property === 'url' && format === 'cjs') {
|
||||||
return `require("url").pathToFileURL(__filename).href`
|
return `require("url").pathToFileURL(__filename).href`
|
||||||
}
|
}
|
||||||
|
if (property === 'filename' && format === 'cjs') {
|
||||||
|
return `__filename`
|
||||||
|
}
|
||||||
|
if (property === 'dirname' && format === 'cjs') {
|
||||||
|
return `__dirname`
|
||||||
|
}
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue