mirror of
https://github.com/EvolutionAPI/evolution-manager.git
synced 2025-07-14 09:51:25 -06:00
65 lines
2.4 KiB
JavaScript
65 lines
2.4 KiB
JavaScript
const build = require('../utils/build.js');
|
|
const fs = require('fs-extra');
|
|
const path = require('path');
|
|
|
|
module.exports = async () => {
|
|
const isEvolutionInstalled = verifyEvolutionInstallation();
|
|
if (!isEvolutionInstalled) return;
|
|
console.log('👍 Evolution-Api installation found');
|
|
|
|
await build({ VITE_BASE_URL: '/manager/' });
|
|
|
|
// copy dist folder to evolution-api/Extras/evolution-manager
|
|
console.time('📦 Copy dist folder to evolution-api/Extras/evolution-manager');
|
|
|
|
const distFolder = path.join(__dirname, '..', '..', 'dist');
|
|
const extrasFolder = path.join(process.cwd(), 'Extras');
|
|
const evolutionManagerFolder = path.join(extrasFolder, 'evolution-manager');
|
|
|
|
if (!fs.existsSync(evolutionManagerFolder)) fs.mkdirSync(evolutionManagerFolder);
|
|
fs.copySync(distFolder, evolutionManagerFolder);
|
|
|
|
console.timeEnd('📦 Copy dist folder to evolution-api/Extras/evolution-manager');
|
|
|
|
|
|
// Apply diff git patch
|
|
console.time('↘️ Apply diff git patch');
|
|
const patchPath = path.join(__dirname, './view.router.ts.patch');
|
|
const apiFile = path.join(process.cwd(), 'src', 'whatsapp', 'routers', 'view.router.ts');
|
|
// copy/replace file with patch
|
|
fs.copySync(patchPath, apiFile);
|
|
console.timeEnd('↘️ Apply diff git patch');
|
|
|
|
|
|
console.log('\n 🎉 Evolution-Api Manager installed successfully! 🎉');
|
|
console.log('👉 Restart your Evolution-Api server to apply changes 👈')
|
|
};
|
|
|
|
function verifyEvolutionInstallation(version = "1.5.0") {
|
|
// load package.json current context
|
|
const packageJsonPath = path.join(process.cwd(), 'package.json');
|
|
if (!fs.existsSync(packageJsonPath)) {
|
|
console.error("🚨 package.json not found. Certify you are in the root of the Evolution-Api installation")
|
|
return false
|
|
}
|
|
var packageJson = fs.readFileSync(packageJsonPath, 'utf8');
|
|
packageJson = JSON.parse(packageJson);
|
|
|
|
|
|
// check if evolution is installed
|
|
if (packageJson.name !== "evolution-api") {
|
|
console.error("🚨 This is not a Evolution-API installation. Certify you are in the root of the Evolution-Api installation")
|
|
return false
|
|
}
|
|
|
|
// verify if version is same or higher
|
|
if (version) {
|
|
const semver = require('semver');
|
|
if (!semver.gte(packageJson.version, version)) {
|
|
console.error(`🚨 Evolution-Api version ${version} or higher is required. Please update your Evolution-Api installation`)
|
|
return false
|
|
}
|
|
}
|
|
|
|
return true
|
|
} |