Plugin Maneger #276
@@ -15,7 +15,7 @@ async function PluginManeger(BdsPlatform = BdsSettings.GetPlatform()) {
|
|||||||
if (!pluginName) throw new Error("Plugin name not found");
|
if (!pluginName) throw new Error("Plugin name not found");
|
||||||
const RepositoryPlugins = (await GetPluginsPath());
|
const RepositoryPlugins = (await GetPluginsPath());
|
||||||
if (RepositoryPlugins[0] === undefined) throw new Error(`Bds Platform ${BdsPlatform} not found`);
|
if (RepositoryPlugins[0] === undefined) throw new Error(`Bds Platform ${BdsPlatform} not found`);
|
||||||
const PluginPath = `${BdsPlatform}/${pluginName.charAt(0).toLocaleLowerCase()}/${pluginName}`;
|
const PluginPath = `${BdsPlatform}/${pluginName.split("").filter(le => /[a-zA-Z0-9]/gi.test(le)).join("").charAt(0).toLocaleLowerCase()}/${pluginName}`;
|
||||||
const PluginArray = RepositoryPlugins.filter(Plugin => Plugin.path.startsWith(PluginPath));
|
const PluginArray = RepositoryPlugins.filter(Plugin => Plugin.path.startsWith(PluginPath));
|
||||||
if (PluginArray[0] === undefined) throw new Error(`Plugin ${pluginName} not found`);
|
if (PluginArray[0] === undefined) throw new Error(`Plugin ${pluginName} not found`);
|
||||||
const ConfigFile = js_yaml.load(await request.text(`${RawGithubUrl}/${PluginPath}/${path.basename(PluginArray.filter(A => /config\.y[a]ml$/gi.test(A.path))[0].path)}`));
|
const ConfigFile = js_yaml.load(await request.text(`${RawGithubUrl}/${PluginPath}/${path.basename(PluginArray.filter(A => /config\.y[a]ml$/gi.test(A.path))[0].path)}`));
|
||||||
@@ -71,4 +71,4 @@ async function PluginManeger(BdsPlatform = BdsSettings.GetPlatform()) {
|
|||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
PluginManeger
|
PluginManeger
|
||||||
};
|
};
|
||||||
|
@@ -4,12 +4,13 @@ const RawGithubUrl = "https://raw.githubusercontent.com/The-Bds-Maneger/Plugins_
|
|||||||
*/
|
*/
|
||||||
function Parse(RepositoryPath = "", BdsPlatform = "pocketmine", Config = {}) {
|
function Parse(RepositoryPath = "", BdsPlatform = "pocketmine", Config = {}) {
|
||||||
for (let KeyArray of Object.keys(Config)) {
|
for (let KeyArray of Object.keys(Config)) {
|
||||||
if (!(KeyArray === "revision" || KeyArray === "type" || KeyArray === "versions")) console.error(`${KeyArray} is not supported`);
|
if (!(KeyArray === "revision" || KeyArray === "name" || KeyArray === "type" || KeyArray === "versions")) console.error(`${KeyArray} is not supported`);
|
||||||
}
|
}
|
||||||
if (Config.type === undefined) throw new Error("Config Error: type not found");
|
if (Config.type === undefined) throw new Error("Config Error: type not found");
|
||||||
const NewConfig = {
|
const NewConfig = {
|
||||||
revision: "v1",
|
revision: "v1",
|
||||||
type: String(Config.type).toLowerCase(),
|
type: String(Config.type).toLowerCase(),
|
||||||
|
name: String(Config.name||""),
|
||||||
versions: [
|
versions: [
|
||||||
{
|
{
|
||||||
dependencies: [""],
|
dependencies: [""],
|
||||||
@@ -81,4 +82,4 @@ function Parse(RepositoryPath = "", BdsPlatform = "pocketmine", Config = {}) {
|
|||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
Parse
|
Parse
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user