aki-plugin-manager
Version:
Lightweight at-runtime plugin manager and loader
22 lines (21 loc) • 822 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.uninstall = void 0;
const fs_1 = require("fs");
const path_1 = require("path");
const rimraf_1 = __importDefault(require("rimraf"));
const _verifyPackage = (name, packageDir) => {
const packageFile = path_1.join(packageDir, 'package.json');
const packageName = JSON.parse(fs_1.readFileSync(packageFile, 'utf-8'))['name'];
return name === packageName;
};
const uninstall = (name, baseDir, callback) => {
const packageDir = path_1.join(baseDir, name);
if (_verifyPackage(name, packageDir)) {
rimraf_1.default(packageDir, callback);
}
};
exports.uninstall = uninstall;