@elora-cloud/elora-cli
Version:
elora build cli 前端打包脚手架
31 lines (27 loc) • 1.35 kB
JavaScript
;
var node_module = require('node:module');
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
const require$1 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('utils/pkg.cjs', document.baseURI).href)));
function getPackageManifest(pkgPath) {
return require$1(pkgPath);
}
function getPackageDependencies(pkgPath) {
const manifest = getPackageManifest(pkgPath);
const { dependencies = {}, peerDependencies = {} } = manifest;
return {
dependencies: Object.keys(dependencies),
peerDependencies: Object.keys(peerDependencies),
};
}
function generateExternal(options = { full: false, packagePath: '../package.json' }) {
const { packagePath = './package.json' } = options;
const { dependencies, peerDependencies } = getPackageDependencies(packagePath);
return (id) => {
const packages = [...peerDependencies];
if (options.full) {
packages.push('@vue', ...dependencies);
}
return [...new Set(packages)].some(pkg => id === pkg || id.startsWith(`${pkg}/`));
};
}
exports.generateExternal = generateExternal;