feat: 更新MiaoScriptPackageManager
This commit is contained in:
parent
288619ddb7
commit
a672b85678
@ -22,6 +22,9 @@ var description = {
|
|||||||
'mpm': {
|
'mpm': {
|
||||||
description: 'MiaoScriptPackageManager主命令'
|
description: 'MiaoScriptPackageManager主命令'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
config: {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -57,46 +60,26 @@ function enable() {
|
|||||||
break
|
break
|
||||||
case "install":
|
case "install":
|
||||||
if (args.length > 1) {
|
if (args.length > 1) {
|
||||||
var pname = args[1];
|
download(sender, args[1]);
|
||||||
var pkg = packageCache[pname]
|
|
||||||
if (pkg) {
|
|
||||||
task.async(function install() {
|
|
||||||
var pfile = fs.file(__dirname, pname + '.js')
|
|
||||||
console.sender(sender, '§6开始下载插件: §b%s'.format(pkg.name))
|
|
||||||
console.sender(sender, '§6插件下载地址: §b%s'.format(pkg.url))
|
|
||||||
fs.save(pfile, http.get(pkg.url))
|
|
||||||
console.sender(sender, '§6插件 §b%s §a下载完毕 开始加载 ...'.format(pname))
|
|
||||||
manager.loadPlugin(pfile)
|
|
||||||
console.sender(sender, '§6插件 §b%s §a安装成功!'.format(pname))
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
console.log(sender, '§c插件 %s 不存在!'.format(pname))
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
console.log(sender, '§c请输入插件名称!')
|
console.sender(sender, '§c请输入插件名称!')
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
case "update":
|
case "update":
|
||||||
if (args.length > 1) {
|
if (args.length > 1) {
|
||||||
|
update(sender, args[1]);
|
||||||
} else {
|
} else {
|
||||||
load()
|
load();
|
||||||
|
console.sender(sender, "§a仓库缓存刷新成功 共存在 §b" + pluginCache.length + " §a个插件!")
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
case "upgrade":
|
case "upgrade":
|
||||||
break
|
break
|
||||||
case "delete":
|
case "delete":
|
||||||
if (args.length > 1) {
|
if (args.length > 1) {
|
||||||
var pname = args[1]
|
del(sender, args[1]);
|
||||||
if (pluginCache.indexOf(pname) !== -1) {
|
|
||||||
var plugin = manager.plugins[pname]
|
|
||||||
manager.disable(plugin)
|
|
||||||
fs.delete(plugin.__FILE__)
|
|
||||||
} else {
|
|
||||||
console.log(sender, '§c插件 %s 不存在!'.format(pname))
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
console.log(sender, '§c请输入插件名称!')
|
console.sender(sender, '§c请输入插件名称!')
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
case "reload":
|
case "reload":
|
||||||
@ -105,15 +88,18 @@ function enable() {
|
|||||||
if (pluginCache.indexOf(pname) !== -1) {
|
if (pluginCache.indexOf(pname) !== -1) {
|
||||||
manager.reload(pname)
|
manager.reload(pname)
|
||||||
} else {
|
} else {
|
||||||
console.log(sender, '§c插件 %s 不存在!'.format(pname))
|
console.sender(sender, '§c插件 %s 不存在!'.format(pname))
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
|
case "help":
|
||||||
|
sendHelp(sender);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
sendHelp(sender);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tab: function (sender, command, args) {
|
tab: function (sender, command, args) {
|
||||||
@ -121,22 +107,52 @@ function enable() {
|
|||||||
if (args.length > 1) {
|
if (args.length > 1) {
|
||||||
switch (args[0]) {
|
switch (args[0]) {
|
||||||
case "install":
|
case "install":
|
||||||
return packageNameCache
|
return packageNameCache;
|
||||||
case "update":
|
case "update":
|
||||||
case "upgrade":
|
case "upgrade":
|
||||||
case "reload":
|
case "reload":
|
||||||
return pluginCache
|
return pluginCache;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function sendHelp(sender){
|
||||||
|
[
|
||||||
|
'§6========= §a' + description.name + ' §6帮助 §aBy §b喵♂呜 §6=========',
|
||||||
|
'§6/mpm §ainstall <插件名称> §6- §3安装插件',
|
||||||
|
'§6/mpm §alist §6- §3列出仓库插件',
|
||||||
|
'§6/mpm §aupdate <插件名称> §6- §3更新插件(无插件名称则更新源)',
|
||||||
|
'§6/mpm §aupgrade <插件名称> §6- §3及时更新插件(update需要重启生效)',
|
||||||
|
'§6/mpm §areload <插件名称> §6- §3重载插件(无插件名称则重载自生)',
|
||||||
|
].forEach(function (msg) {
|
||||||
|
console.sender(sender, msg);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function del(sender, name) {
|
||||||
|
if (pluginCache.indexOf(name) !== -1) {
|
||||||
|
console.sender(sender, '§c插件 %s 不存在!'.format(name));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
manager.disable(name);
|
||||||
|
fs.delete(plugin.__FILE__);
|
||||||
|
}
|
||||||
|
|
||||||
function download(sender, name) {
|
function download(sender, name) {
|
||||||
var plugin = packageCache[name]
|
var plugin = packageCache[name];
|
||||||
if (!plugin) {
|
if (!plugin) {
|
||||||
console.sender(sender, '§c插件§b', name, '§c不存在')
|
console.sender(sender, '§c插件§b', name, '§c不存在')
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
var pfile = fs.file(__dirname, pname + '.js')
|
||||||
|
console.sender(sender, '§6开始下载插件: §b%s'.format(pkg.name))
|
||||||
|
console.sender(sender, '§6插件下载地址: §b%s'.format(pkg.url))
|
||||||
|
fs.save(pfile, http.get(pkg.url))
|
||||||
|
console.sender(sender, '§6插件 §b%s §a下载完毕 开始加载 ...'.format(pname))
|
||||||
|
manager.loadPlugin(pfile)
|
||||||
|
console.sender(sender, '§6插件 §b%s §a安装成功!'.format(pname))
|
||||||
}
|
}
|
||||||
|
|
||||||
function disable() {
|
function disable() {
|
||||||
|
Loading…
Reference in New Issue
Block a user