Commit f5ccc0b2 by ccran

fix: VisActor多份bug;

parent 253ab02e
...@@ -11,6 +11,43 @@ const semiUiDir = path.resolve( ...@@ -11,6 +11,43 @@ const semiUiDir = path.resolve(
'../..', '../..',
) )
const semiUiDateFnsDir = path.resolve(semiUiDir, 'node_modules/date-fns') const semiUiDateFnsDir = path.resolve(semiUiDir, 'node_modules/date-fns')
const resolvePackageRoot = (packageName: string, baseRequire = require) => {
let current = path.dirname(baseRequire.resolve(packageName))
while (current !== path.dirname(current)) {
if (require('fs').existsSync(path.join(current, 'package.json'))) {
return current
}
current = path.dirname(current)
}
return current
}
const vchartDir = resolvePackageRoot('@visactor/vchart')
const vchartRequire = createRequire(path.join(vchartDir, 'package.json'))
const visactorChartAliases = Object.fromEntries(
[
'@visactor/react-vchart',
'@visactor/vchart',
'@visactor/vchart-semi-theme',
'@visactor/vchart-theme-utils',
'@visactor/vrender-components',
'@visactor/vrender-core',
'@visactor/vrender-kits',
'@visactor/vdataset',
'@visactor/vscale',
'@visactor/vutils',
'@visactor/vutils-extension',
].map((packageName) => [
packageName,
resolvePackageRoot(
packageName,
packageName === '@visactor/react-vchart' ||
packageName === '@visactor/vchart-semi-theme' ||
packageName === '@visactor/vchart-theme-utils'
? require
: vchartRequire,
),
]),
)
export default defineConfig(({ envMode }) => { export default defineConfig(({ envMode }) => {
const env = loadEnv({ mode: envMode, prefixes: ['VITE_'] }) const env = loadEnv({ mode: envMode, prefixes: ['VITE_'] })
...@@ -49,6 +86,7 @@ export default defineConfig(({ envMode }) => { ...@@ -49,6 +86,7 @@ export default defineConfig(({ envMode }) => {
'dist/css/semi.css', 'dist/css/semi.css',
), ),
'date-fns': semiUiDateFnsDir, 'date-fns': semiUiDateFnsDir,
...visactorChartAliases,
}, },
}, },
html: { html: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment