Add ESM Module #252
13
.cjs2esm.js
Normal file
13
.cjs2esm.js
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
module.exports = {
|
||||||
|
input: ["src"],
|
||||||
|
output: "esm",
|
||||||
|
forceDirectory: null,
|
||||||
|
modules: [],
|
||||||
|
extension: {
|
||||||
|
use: "js",
|
||||||
|
ignore: [],
|
||||||
|
},
|
||||||
|
addModuleEntry: false,
|
||||||
|
addPackageJson: true,
|
||||||
|
filesWithShebang: [],
|
||||||
|
};
|
2
.github/workflows/relelases.yml
vendored
2
.github/workflows/relelases.yml
vendored
@ -28,7 +28,7 @@ jobs:
|
|||||||
NODE_AUTH_TOKEN: '${{ secrets.NPM_ORG_TOKEN }}'
|
NODE_AUTH_TOKEN: '${{ secrets.NPM_ORG_TOKEN }}'
|
||||||
|
|
||||||
- name: Remove Dev Versions
|
- name: Remove Dev Versions
|
||||||
run: npm run remove_dev_versions
|
run: npm run cirelease
|
||||||
env:
|
env:
|
||||||
NODE_AUTH_TOKEN: '${{ secrets.NPM_ORG_TOKEN }}'
|
NODE_AUTH_TOKEN: '${{ secrets.NPM_ORG_TOKEN }}'
|
||||||
|
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -11,3 +11,4 @@ the-bds-maneger-core-*.tgz
|
|||||||
.husky
|
.husky
|
||||||
Servers
|
Servers
|
||||||
.Build/Releases.json
|
.Build/Releases.json
|
||||||
|
esm/
|
63
index_esm.js
Normal file
63
index_esm.js
Normal 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
8325
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
20
package.json
20
package.json
@ -7,17 +7,18 @@
|
|||||||
"description": "Scripts to manage minecraft server's",
|
"description": "Scripts to manage minecraft server's",
|
||||||
"private": false,
|
"private": false,
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
|
"exports": {
|
||||||
|
"require": "./index.js",
|
||||||
|
"import": "./index_esm.js"
|
||||||
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node bin/bds_maneger.js -s",
|
"install": "cjs2esm",
|
||||||
"start:telegram": "node bin/telegram_bot.js -e js",
|
"start": "node bin/bds_maneger.js -sk",
|
||||||
"stop": "node -p 'console.log(require(\"./\").kill());'",
|
|
||||||
"test": "mocha --exit .test/*.js",
|
"test": "mocha --exit .test/*.js",
|
||||||
"ci": "node .Build/test/ci.js",
|
"ci": "node .Build/test/ci.js",
|
||||||
"eslint": "eslint --debug .",
|
"eslint": "eslint --debug --fix .",
|
||||||
"eslint:fix": "eslint --debug --fix .",
|
|
||||||
"nexe": "echo Nexe Removed from Bds Maneger Core && exit 1",
|
|
||||||
"Docker": "docker-compose build && docker-compose up",
|
"Docker": "docker-compose build && docker-compose up",
|
||||||
"remove_dev_versions": "node .Build/RemoveVersions.js"
|
"cirelease": "node .Build/RemoveVersions.js"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"bds_maneger": "bin/BdsManeger.js"
|
"bds_maneger": "bin/BdsManeger.js"
|
||||||
@ -80,9 +81,10 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@actions/core": "^1.5.0",
|
"@actions/core": "^1.5.0",
|
||||||
"chai": "^4.3.4",
|
"chai": "^4.3.4",
|
||||||
|
"cjs2esm": "^2.0.2",
|
||||||
"eslint": "^8.0.0",
|
"eslint": "^8.0.0",
|
||||||
|
"json-schema": ">=0.4.0",
|
||||||
"mocha": "^9.1.3",
|
"mocha": "^9.1.3",
|
||||||
"nodemon": "^2.0.12",
|
"nodemon": "^2.0.12"
|
||||||
"json-schema": ">=0.4.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ const BasicCommands = require("./ManegerServer/BasicCommands");
|
|||||||
|
|
||||||
const ServerSessions = {};
|
const ServerSessions = {};
|
||||||
module.exports.GetSessions = () => ServerSessions;
|
module.exports.GetSessions = () => ServerSessions;
|
||||||
|
module.exports.GetSessionsArray = () => Object.keys(ServerSessions).map(key => ServerSessions[key]);
|
||||||
|
|
||||||
const PlayersCallbacks = [];
|
const PlayersCallbacks = [];
|
||||||
module.exports.RegisterPlayerGlobalyCallbacks = function RegisterPlayerGlobalyCallbacks(callback){
|
module.exports.RegisterPlayerGlobalyCallbacks = function RegisterPlayerGlobalyCallbacks(callback){
|
||||||
@ -235,7 +236,6 @@ module.exports.StartServer = function start() {
|
|||||||
|
|
||||||
// Return
|
// Return
|
||||||
ServerSessions[returnFuntion.uuid] = returnFuntion;
|
ServerSessions[returnFuntion.uuid] = returnFuntion;
|
||||||
module.exports.BdsRun = returnFuntion;
|
|
||||||
return returnFuntion;
|
return returnFuntion;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
100
src/api.js
100
src/api.js
@ -17,12 +17,13 @@ const fileUpload = require("express-fileupload");
|
|||||||
const pretty = require("express-prettify");
|
const pretty = require("express-prettify");
|
||||||
const cors = require("cors");
|
const cors = require("cors");
|
||||||
const express_rate_limit = require("express-rate-limit");
|
const express_rate_limit = require("express-rate-limit");
|
||||||
|
const request_ip = require("request-ip");
|
||||||
app.use(cors());
|
app.use(cors());
|
||||||
app.use(bodyParser.json()); /* https://github.com/github/fetch/issues/323#issuecomment-331477498 */
|
app.use(bodyParser.json()); /* https://github.com/github/fetch/issues/323#issuecomment-331477498 */
|
||||||
app.use(bodyParser.urlencoded({ extended: true }));
|
app.use(bodyParser.urlencoded({ extended: true }));
|
||||||
app.use(pretty({always: true, spaces: 2}));
|
app.use(pretty({always: true, spaces: 2}));
|
||||||
app.use(fileUpload({limits: { fileSize: 512 * 1024 }}));
|
app.use(fileUpload({limits: { fileSize: 512 * 1024 }}));
|
||||||
app.use(require("request-ip").mw());
|
app.use(request_ip.mw());
|
||||||
app.use(express_rate_limit({
|
app.use(express_rate_limit({
|
||||||
windowMs: 1 * 60 * 1000, // 1 minutes
|
windowMs: 1 * 60 * 1000, // 1 minutes
|
||||||
max: 500 // limit each IP to 500 requests per windowMs
|
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;
|
const { Player = "Sirherobrine", Text = "You have been removed from the Server" } = req.query;
|
||||||
|
|
||||||
// Kick player
|
// Kick player
|
||||||
const RunnerServer = require("./BdsManegerServer").BdsRun;
|
const Sessions = require("./BdsManegerServer").GetSessionsArray();
|
||||||
try {
|
if (Sessions.length > 0) {
|
||||||
RunnerServer.kick(Player, Text);
|
Sessions.forEach(RunnerServer => RunnerServer.kick(Player, Text));
|
||||||
res.json({ success: true });
|
return res.json({ success: true });
|
||||||
} catch (error) {
|
} else {
|
||||||
res.status(400).json({
|
res.status(400).json({
|
||||||
error: "Server nots Run",
|
error: "Server nots Run"
|
||||||
text: `${error}`
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -328,16 +328,14 @@ app.get("/players/ban", CheckToken, (req, res) => {
|
|||||||
const { Player = "Sirherobrine" } = req.query;
|
const { Player = "Sirherobrine" } = req.query;
|
||||||
|
|
||||||
// Ban player
|
// Ban player
|
||||||
const RunnerServer = require("./BdsManegerServer").BdsRun;
|
const Sessions = require("./BdsManegerServer").GetSessionsArray();
|
||||||
try {
|
if (Sessions.length > 0) {
|
||||||
RunnerServer.ban(Player);
|
Sessions.forEach(RunnerServer => RunnerServer.ban(Player));
|
||||||
res.json({ success: true });
|
return res.sendStatus(200);
|
||||||
} catch (error) {
|
|
||||||
res.status(400).json({
|
|
||||||
error: "Server nots Run",
|
|
||||||
text: `${error}`
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
res.status(400).json({
|
||||||
|
error: "Server nots Run"
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// Op player
|
// Op player
|
||||||
@ -345,16 +343,14 @@ app.get("/players/op", CheckToken, CheckToken, (req, res) => {
|
|||||||
const { Player = "Sirherobrine" } = req.query;
|
const { Player = "Sirherobrine" } = req.query;
|
||||||
|
|
||||||
// Op player
|
// Op player
|
||||||
const RunnerServer = require("./BdsManegerServer").BdsRun;
|
const Sessions = require("./BdsManegerServer").GetSessionsArray();
|
||||||
try {
|
if (Sessions.length > 0) {
|
||||||
RunnerServer.op(Player);
|
Sessions.forEach(RunnerServer => RunnerServer.op(Player));
|
||||||
res.json({ success: true });
|
return res.sendStatus(200);
|
||||||
} catch (error) {
|
|
||||||
res.status(400).json({
|
|
||||||
error: "Server nots Run",
|
|
||||||
text: `${error}`
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
res.status(400).json({
|
||||||
|
error: "Server nots Run"
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// Deop player
|
// Deop player
|
||||||
@ -362,16 +358,14 @@ app.get("/players/deop", (req, res) => {
|
|||||||
const { Player = "Sirherobrine" } = req.query;
|
const { Player = "Sirherobrine" } = req.query;
|
||||||
|
|
||||||
// Deop player
|
// Deop player
|
||||||
const RunnerServer = require("./BdsManegerServer").BdsRun;
|
const Sessions = require("./BdsManegerServer").GetSessionsArray();
|
||||||
try {
|
if (Sessions.length > 0) {
|
||||||
RunnerServer.deop(Player);
|
Sessions.forEach(RunnerServer => RunnerServer.deop(Player));
|
||||||
res.json({ success: true });
|
return res.sendStatus(200);
|
||||||
} catch (error) {
|
|
||||||
res.status(400).json({
|
|
||||||
error: "Server nots Run",
|
|
||||||
text: `${error}`
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
res.status(400).json({
|
||||||
|
error: "Server nots Run"
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// Say to Server
|
// Say to Server
|
||||||
@ -379,16 +373,14 @@ app.get("/players/say", CheckToken, (req, res) => {
|
|||||||
const { Text = "Hello Server" } = req.query;
|
const { Text = "Hello Server" } = req.query;
|
||||||
|
|
||||||
// Say to Server
|
// Say to Server
|
||||||
const RunnerServer = require("./BdsManegerServer").BdsRun;
|
const Sessions = require("./BdsManegerServer").GetSessionsArray();
|
||||||
try {
|
if (Sessions.length > 0) {
|
||||||
RunnerServer.say(Text);
|
Sessions.forEach(RunnerServer => RunnerServer.say(Text));
|
||||||
res.json({ success: true });
|
return res.sendStatus(200);
|
||||||
} catch (error) {
|
|
||||||
res.status(400).json({
|
|
||||||
error: "Server nots Run",
|
|
||||||
text: `${error}`
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
res.status(400).json({
|
||||||
|
error: "Server nots Run"
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// Tp player
|
// Tp player
|
||||||
@ -396,20 +388,14 @@ app.get("/players/tp", (req, res) => {
|
|||||||
const { Player = "Sirherobrine", X = 0, Y = 0, Z = 0 } = req.query;
|
const { Player = "Sirherobrine", X = 0, Y = 0, Z = 0 } = req.query;
|
||||||
|
|
||||||
// Tp player
|
// Tp player
|
||||||
const RunnerServer = require("./BdsManegerServer").BdsRun;
|
const Sessions = require("./BdsManegerServer").GetSessionsArray();
|
||||||
try {
|
if (Sessions.length > 0) {
|
||||||
RunnerServer.tp(Player, {
|
Sessions.forEach(RunnerServer => RunnerServer.tp(Player, X, Y, Z));
|
||||||
x: X,
|
return res.sendStatus(200);
|
||||||
y: Y,
|
|
||||||
z: Z
|
|
||||||
});
|
|
||||||
res.json({ success: true });
|
|
||||||
} catch (error) {
|
|
||||||
res.status(400).json({
|
|
||||||
error: "Server nots Run",
|
|
||||||
text: `${error}`
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
res.status(400).json({
|
||||||
|
error: "Server nots Run"
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// Export API Routes
|
// Export API Routes
|
||||||
|
Reference in New Issue
Block a user