import { pathExistsSync } from 'fs-extra' import path from 'path' export function getLowcodeViewFilePath({ dir, pkg, es = true, }: { dir: string pkg: string es: boolean }) { const pkgDir = path.join(dir, 'node_modules', pkg) const esExist = pathExistsSync(path.join(pkgDir, 'es')) const dirName = es && esExist ? 'es' : 'lib' try { const codeDir = path.join(pkgDir, dirName) // 匹配 'view.js', 'view.jsx' (旧的低码 view) // 不要匹配 view/index.js 和 view/index.jsx (新的源码 view) for (const entry of [ 'lowcode/view.js', 'lowcode/view.jsx', 'view.js', 'view.jsx', 'index.js', 'index.jsx', ]) { if (pathExistsSync(path.join(codeDir, entry))) { return `${pkg}/${dirName}/${entry.replace(/\.(j|t)sx?$/, '')}` } } } catch (err) { // } return `${pkg}/${dirName}/index` }