Add ESM Module #252

Merged
Sirherobrine23 merged 1 commits from ESM_Module into main 2021-11-29 19:32:40 +00:00
8 changed files with 8458 additions and 68 deletions

13
.cjs2esm.js Normal file
View File

@ -0,0 +1,13 @@
module.exports = {
input: ["src"],
output: "esm",
forceDirectory: null,
modules: [],
extension: {
use: "js",
ignore: [],
},
addModuleEntry: false,
addPackageJson: true,
filesWithShebang: [],
};

View File

@ -28,7 +28,7 @@ jobs:
NODE_AUTH_TOKEN: '${{ secrets.NPM_ORG_TOKEN }}'
- name: Remove Dev Versions
run: npm run remove_dev_versions
run: npm run cirelease
env:
NODE_AUTH_TOKEN: '${{ secrets.NPM_ORG_TOKEN }}'

1
.gitignore vendored
View File

@ -11,3 +11,4 @@ the-bds-maneger-core-*.tgz
.husky
Servers
.Build/Releases.json
esm/

63
index_esm.js Normal file
View File

@ -0,0 +1,63 @@
// Mount Module Oject
const ModuleExport = {}
import package_json from "./package.json";
import BdsManegerInfo from "./BdsManegerInfo.json";
const BdsManegerCoreJSONs = {
Package: package_json,
Extra: BdsManegerInfo
};
ModuleExport.version = package_json.version;
ModuleExport.ExtraJSON = BdsManegerCoreJSONs;
if (process.env.ShowLoadTime) console.time("Bds Maneger Core: Settings");
import BdsSettings from "./esm/lib/BdsSettings";
ModuleExport.BdsSettings = BdsSettings;
if (process.env.ShowLoadTime) console.timeEnd("Bds Maneger Core: Settings");
if (process.env.ShowLoadTime) console.time("Bds Maneger Core: Token");
import BdsToken from "./esm/lib/Token";
ModuleExport.BdsToken = BdsToken;
if (process.env.ShowLoadTime) console.timeEnd("Bds Maneger Core: Token");
if (process.env.ShowLoadTime) console.time("Bds Maneger Core: System Info");
import BdsSystemInfo from "./esm/lib/BdsSystemInfo";
ModuleExport.BdsSystemInfo = BdsSystemInfo;
if (process.env.ShowLoadTime) console.timeEnd("Bds Maneger Core: System Info");
if (process.env.ShowLoadTime) console.time("Bds Maneger Core: Network");
import BdsNetwork from "./esm/lib/BdsNetwork";
ModuleExport.BdsNetwork = BdsNetwork;
if (process.env.ShowLoadTime) console.timeEnd("Bds Maneger Core: Network");
if (process.env.ShowLoadTime) console.time("Bds Maneger Core: Backups");
import BdsBackup from "./esm/BdsBackup";
ModuleExport.BdsBackup = BdsBackup;
if (process.env.ShowLoadTime) console.timeEnd("Bds Maneger Core: Backups");
if (process.env.ShowLoadTime) console.time("Bds Maneger Core: Server Settings");
import BdsServerSettings from "./esm/BdsServerSettings";
ModuleExport.BdsServerSettings = BdsServerSettings;
if (process.env.ShowLoadTime) console.timeEnd("Bds Maneger Core: Server Settings");
if (process.env.ShowLoadTime) console.time("Bds Maneger Core: Download Server");
import BdsDownload from "./esm/BdsDownload";
ModuleExport.BdsDownload = BdsDownload;
if (process.env.ShowLoadTime) console.timeEnd("Bds Maneger Core: Download Server");
if (process.env.ShowLoadTime) console.time("Bds Maneger Core: Check And Kill");
import BdsCkeckKill from "./esm/BdsCkeckKill";
ModuleExport.BdsCkeckKill = BdsCkeckKill;
if (process.env.ShowLoadTime) console.timeEnd("Bds Maneger Core: Check And Kill");
if (process.env.ShowLoadTime) console.time("Bds Maneger Core: API");
import BdsManegerAPI from "./esm/api";
ModuleExport.BdsManegerAPI = BdsManegerAPI;
if (process.env.ShowLoadTime) console.timeEnd("Bds Maneger Core: API");
if (process.env.ShowLoadTime) console.time("Bds Maneger Core: Server Maneger");
import BdsManegerServer from "./esm/BdsManegerServer";
ModuleExport.BdsManegerServer = BdsManegerServer;
if (process.env.ShowLoadTime) console.timeEnd("Bds Maneger Core: Server Maneger");
if (process.env.ShowLoadTime) console.log("Bds Maneger Core: Complete");

8325
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -7,17 +7,18 @@
"description": "Scripts to manage minecraft server's",
"private": false,
"main": "index.js",
"exports": {
"require": "./index.js",
"import": "./index_esm.js"
},
"scripts": {
"start": "node bin/bds_maneger.js -s",
"start:telegram": "node bin/telegram_bot.js -e js",
"stop": "node -p 'console.log(require(\"./\").kill());'",
"install": "cjs2esm",
"start": "node bin/bds_maneger.js -sk",
"test": "mocha --exit .test/*.js",
"ci": "node .Build/test/ci.js",
"eslint": "eslint --debug .",
"eslint:fix": "eslint --debug --fix .",
"nexe": "echo Nexe Removed from Bds Maneger Core && exit 1",
"eslint": "eslint --debug --fix .",
"Docker": "docker-compose build && docker-compose up",
"remove_dev_versions": "node .Build/RemoveVersions.js"
"cirelease": "node .Build/RemoveVersions.js"
},
"bin": {
"bds_maneger": "bin/BdsManeger.js"
@ -80,9 +81,10 @@
"devDependencies": {
"@actions/core": "^1.5.0",
"chai": "^4.3.4",
"cjs2esm": "^2.0.2",
"eslint": "^8.0.0",
"json-schema": ">=0.4.0",
"mocha": "^9.1.3",
"nodemon": "^2.0.12",
"json-schema": ">=0.4.0"
"nodemon": "^2.0.12"
}
}

View File

@ -11,6 +11,7 @@ const BasicCommands = require("./ManegerServer/BasicCommands");
const ServerSessions = {};
module.exports.GetSessions = () => ServerSessions;
module.exports.GetSessionsArray = () => Object.keys(ServerSessions).map(key => ServerSessions[key]);
const PlayersCallbacks = [];
module.exports.RegisterPlayerGlobalyCallbacks = function RegisterPlayerGlobalyCallbacks(callback){
@ -235,7 +236,6 @@ module.exports.StartServer = function start() {
// Return
ServerSessions[returnFuntion.uuid] = returnFuntion;
module.exports.BdsRun = returnFuntion;
return returnFuntion;
}

View File

@ -17,12 +17,13 @@ const fileUpload = require("express-fileupload");
const pretty = require("express-prettify");
const cors = require("cors");
const express_rate_limit = require("express-rate-limit");
const request_ip = require("request-ip");
app.use(cors());
app.use(bodyParser.json()); /* https://github.com/github/fetch/issues/323#issuecomment-331477498 */
app.use(bodyParser.urlencoded({ extended: true }));
app.use(pretty({always: true, spaces: 2}));
app.use(fileUpload({limits: { fileSize: 512 * 1024 }}));
app.use(require("request-ip").mw());
app.use(request_ip.mw());
app.use(express_rate_limit({
windowMs: 1 * 60 * 1000, // 1 minutes
max: 500 // limit each IP to 500 requests per windowMs
@ -311,14 +312,13 @@ app.get("/players/kick", CheckToken, (req, res) => {
const { Player = "Sirherobrine", Text = "You have been removed from the Server" } = req.query;
// Kick player
const RunnerServer = require("./BdsManegerServer").BdsRun;
try {
RunnerServer.kick(Player, Text);
res.json({ success: true });
} catch (error) {
const Sessions = require("./BdsManegerServer").GetSessionsArray();
if (Sessions.length > 0) {
Sessions.forEach(RunnerServer => RunnerServer.kick(Player, Text));
return res.json({ success: true });
} else {
res.status(400).json({
error: "Server nots Run",
text: `${error}`
error: "Server nots Run"
});
}
});
@ -328,16 +328,14 @@ app.get("/players/ban", CheckToken, (req, res) => {
const { Player = "Sirherobrine" } = req.query;
// Ban player
const RunnerServer = require("./BdsManegerServer").BdsRun;
try {
RunnerServer.ban(Player);
res.json({ success: true });
} catch (error) {
res.status(400).json({
error: "Server nots Run",
text: `${error}`
});
const Sessions = require("./BdsManegerServer").GetSessionsArray();
if (Sessions.length > 0) {
Sessions.forEach(RunnerServer => RunnerServer.ban(Player));
return res.sendStatus(200);
}
res.status(400).json({
error: "Server nots Run"
});
});
// Op player
@ -345,16 +343,14 @@ app.get("/players/op", CheckToken, CheckToken, (req, res) => {
const { Player = "Sirherobrine" } = req.query;
// Op player
const RunnerServer = require("./BdsManegerServer").BdsRun;
try {
RunnerServer.op(Player);
res.json({ success: true });
} catch (error) {
res.status(400).json({
error: "Server nots Run",
text: `${error}`
});
const Sessions = require("./BdsManegerServer").GetSessionsArray();
if (Sessions.length > 0) {
Sessions.forEach(RunnerServer => RunnerServer.op(Player));
return res.sendStatus(200);
}
res.status(400).json({
error: "Server nots Run"
});
});
// Deop player
@ -362,16 +358,14 @@ app.get("/players/deop", (req, res) => {
const { Player = "Sirherobrine" } = req.query;
// Deop player
const RunnerServer = require("./BdsManegerServer").BdsRun;
try {
RunnerServer.deop(Player);
res.json({ success: true });
} catch (error) {
res.status(400).json({
error: "Server nots Run",
text: `${error}`
});
const Sessions = require("./BdsManegerServer").GetSessionsArray();
if (Sessions.length > 0) {
Sessions.forEach(RunnerServer => RunnerServer.deop(Player));
return res.sendStatus(200);
}
res.status(400).json({
error: "Server nots Run"
});
});
// Say to Server
@ -379,16 +373,14 @@ app.get("/players/say", CheckToken, (req, res) => {
const { Text = "Hello Server" } = req.query;
// Say to Server
const RunnerServer = require("./BdsManegerServer").BdsRun;
try {
RunnerServer.say(Text);
res.json({ success: true });
} catch (error) {
res.status(400).json({
error: "Server nots Run",
text: `${error}`
});
const Sessions = require("./BdsManegerServer").GetSessionsArray();
if (Sessions.length > 0) {
Sessions.forEach(RunnerServer => RunnerServer.say(Text));
return res.sendStatus(200);
}
res.status(400).json({
error: "Server nots Run"
});
});
// Tp player
@ -396,20 +388,14 @@ app.get("/players/tp", (req, res) => {
const { Player = "Sirherobrine", X = 0, Y = 0, Z = 0 } = req.query;
// Tp player
const RunnerServer = require("./BdsManegerServer").BdsRun;
try {
RunnerServer.tp(Player, {
x: X,
y: Y,
z: Z
});
res.json({ success: true });
} catch (error) {
res.status(400).json({
error: "Server nots Run",
text: `${error}`
});
const Sessions = require("./BdsManegerServer").GetSessionsArray();
if (Sessions.length > 0) {
Sessions.forEach(RunnerServer => RunnerServer.tp(Player, X, Y, Z));
return res.sendStatus(200);
}
res.status(400).json({
error: "Server nots Run"
});
});
// Export API Routes