Files

47 lines
924 B
JavaScript
Raw Permalink Normal View History

2026-02-10 08:05:03 +08:00
const fs = require('fs');
const path = require('path');
function switchVersion(version) {
const pkg = require('../package.json');
if (version != 2) {
return;
}
delete pkg.exports;
const pkgStr = JSON.stringify(pkg, null, 2);
fs.writeFileSync(path.resolve(__dirname, '../package.json'), pkgStr, 'utf-8');
}
function loadModule(name) {
try {
return require(name);
} catch (e) {
return undefined;
}
}
const Vue = loadModule('vue');
function main() {
const version = process.env.npm_config_vueVersion || (Vue ? Vue.version : '2.7.');
if (!Vue || typeof version !== 'string') {
console.warn('Vue is not found. Please run "npm install vue" to install.');
return;
}
if (version.startsWith('2.')) {
switchVersion(2);
} else if (version.startsWith('3.')) {
switchVersion(3);
} else {
console.warn(`Vue version v${version} is not supported.`);
}
}
main();