@modern-js/utils
Version:
A Progressive React Framework for modern web development.
52 lines (51 loc) • 1.29 kB
JavaScript
import { execa } from "../compiled.mjs";
async function getPnpmVersion() {
const { stdout } = await execa('pnpm', [
'--version'
]);
return stdout;
}
async function canUseNpm() {
try {
await execa('npm', [
'--version'
], {
env: process.env
});
return true;
} catch (e) {
return false;
}
}
async function canUseYarn() {
try {
await execa('yarn', [
'--version'
], {
env: process.env
});
return true;
} catch (e) {
return false;
}
}
async function canUsePnpm() {
try {
await execa('pnpm', [
'--version'
], {
env: process.env
});
return true;
} catch (e) {
return false;
}
}
function removeModuleSyncFromExports(exports) {
if ('object' != typeof exports || null === exports) return exports;
if (Array.isArray(exports)) return exports.map(removeModuleSyncFromExports);
const result = {};
for (const [key, value] of Object.entries(exports))if ('module-sync' !== key) result[key] = removeModuleSyncFromExports(value);
return result;
}
export { canUseNpm, canUsePnpm, canUseYarn, getPnpmVersion, removeModuleSyncFromExports };