mirror of
https://github.com/vuejs/core.git
synced 2024-11-22 04:51:10 +00:00
bfe6b459d3
Co-authored-by: 丶远方 <yangpanteng@gmail.com> Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe> Co-authored-by: Guo Xingjun <99574369+Plumbiu@users.noreply.github.com>
38 lines
1.0 KiB
JavaScript
38 lines
1.0 KiB
JavaScript
// @ts-check
|
|
// these aliases are shared between vitest and rollup
|
|
import { readdirSync, statSync } from 'node:fs'
|
|
import path from 'node:path'
|
|
import { fileURLToPath } from 'node:url'
|
|
|
|
const resolveEntryForPkg = (/** @type {string} */ p) =>
|
|
path.resolve(
|
|
fileURLToPath(import.meta.url),
|
|
`../../packages/${p}/src/index.ts`,
|
|
)
|
|
|
|
const dirs = readdirSync(new URL('../packages', import.meta.url))
|
|
|
|
/** @type {Record<string, string>} */
|
|
const entries = {
|
|
vue: resolveEntryForPkg('vue'),
|
|
'vue/compiler-sfc': resolveEntryForPkg('compiler-sfc'),
|
|
'vue/server-renderer': resolveEntryForPkg('server-renderer'),
|
|
'@vue/compat': resolveEntryForPkg('vue-compat'),
|
|
}
|
|
|
|
const nonSrcPackages = ['sfc-playground', 'template-explorer', 'dts-test']
|
|
|
|
for (const dir of dirs) {
|
|
const key = `@vue/${dir}`
|
|
if (
|
|
dir !== 'vue' &&
|
|
!nonSrcPackages.includes(dir) &&
|
|
!(key in entries) &&
|
|
statSync(new URL(`../packages/${dir}`, import.meta.url)).isDirectory()
|
|
) {
|
|
entries[key] = resolveEntryForPkg(dir)
|
|
}
|
|
}
|
|
|
|
export { entries }
|