server bundle

This commit is contained in:
Flam3rboy 2021-08-14 13:57:34 +02:00
parent 96080e8786
commit bacb78f5c5
7 changed files with 277 additions and 168 deletions

View File

@ -41,7 +41,6 @@
"atomically": "^1.7.0", "atomically": "^1.7.0",
"bcrypt": "^5.0.1", "bcrypt": "^5.0.1",
"body-parser": "^1.19.0", "body-parser": "^1.19.0",
"canvas": "^2.8.0",
"cheerio": "^1.0.0-rc.9", "cheerio": "^1.0.0-rc.9",
"dot-prop": "^6.0.1", "dot-prop": "^6.0.1",
"dotenv": "^8.2.0", "dotenv": "^8.2.0",
@ -141,7 +140,6 @@
"@types/mongoose-autopopulate": "^0.10.1", "@types/mongoose-autopopulate": "^0.10.1",
"@types/uuid": "^8.3.0", "@types/uuid": "^8.3.0",
"@types/ws": "^7.4.0", "@types/ws": "^7.4.0",
"erlpack": "^0.1.3",
"ts-node-dev": "^1.1.6" "ts-node-dev": "^1.1.6"
} }
}, },
@ -1583,7 +1581,6 @@
"atomically": "^1.7.0", "atomically": "^1.7.0",
"bcrypt": "^5.0.1", "bcrypt": "^5.0.1",
"body-parser": "^1.19.0", "body-parser": "^1.19.0",
"canvas": "^2.8.0",
"caxa": "^2.1.0", "caxa": "^2.1.0",
"cheerio": "^1.0.0-rc.9", "cheerio": "^1.0.0-rc.9",
"dot-prop": "^6.0.1", "dot-prop": "^6.0.1",
@ -1655,7 +1652,6 @@
"ajv": "^8.5.0", "ajv": "^8.5.0",
"amqplib": "^0.8.0", "amqplib": "^0.8.0",
"dotenv": "^8.2.0", "dotenv": "^8.2.0",
"erlpack": "^0.1.3",
"jsonwebtoken": "^8.5.1", "jsonwebtoken": "^8.5.1",
"lambert-server": "^1.2.8", "lambert-server": "^1.2.8",
"missing-native-js-functions": "^1.2.3", "missing-native-js-functions": "^1.2.3",

View File

@ -11,6 +11,7 @@
"build:cdn": "cd ../cdn/ && npm run build", "build:cdn": "cd ../cdn/ && npm run build",
"build:gateway": "cd ../gateway/ && npm run build", "build:gateway": "cd ../gateway/ && npm run build",
"start": "npm run build && node dist/start.js", "start": "npm run build && node dist/start.js",
"root": "npm run build && node dist/root.js",
"test": "echo \"Error: no test specified\" && exit 1" "test": "echo \"Error: no test specified\" && exit 1"
}, },
"repository": { "repository": {
@ -25,19 +26,19 @@
}, },
"homepage": "https://fosscord.com", "homepage": "https://fosscord.com",
"dependencies": { "dependencies": {
"@types/async-exit-hook": "^2.0.0",
"@types/express": "^4.17.13",
"@types/node-os-utils": "^1.2.0",
"typescript": "^4.3.5",
"@types/node": "^16.6.1",
"@fosscord/api": "file:../api", "@fosscord/api": "file:../api",
"@fosscord/cdn": "file:../cdn", "@fosscord/cdn": "file:../cdn",
"@fosscord/gateway": "file:../gateway", "@fosscord/gateway": "file:../gateway",
"@fosscord/util": "file:../util", "@fosscord/util": "file:../util",
"@types/async-exit-hook": "^2.0.0",
"@types/express": "^4.17.13",
"@types/node": "^16.6.1",
"@types/node-os-utils": "^1.2.0",
"async-exit-hook": "^2.0.1", "async-exit-hook": "^2.0.1",
"express": "^4.17.1", "express": "^4.17.1",
"link": "^0.1.5", "link": "^0.1.5",
"mongodb-memory-server-global-4.4": "^7.3.6", "mongodb-memory-server-global-4.4": "^7.3.6",
"node-os-utils": "^1.3.5" "node-os-utils": "^1.3.5",
"typescript": "^4.3.5"
} }
} }

33
bundle/src/root.ts Normal file
View File

@ -0,0 +1,33 @@
process.on("unhandledRejection", console.error);
process.on("uncaughtException", console.error);
import { FosscordServer as APIServer } from "@fosscord/api";
import { Server as GatewayServer } from "@fosscord/gateway";
import { CDNServer } from "@fosscord/cdn/";
import { Config } from "../../util/dist";
const production = true;
const api = new APIServer({ production, port: Number(process.env.API_PORT) || 3001 });
const gateway = new GatewayServer({ port: Number(process.env.GATEWAY_PORT) || 3002 });
const cdn = new CDNServer({ production, port: Number(process.env.CDN_PORT) || 3003 });
async function main() {
await Config.set({
cdn: {
endpointClient: "${location.host}",
endpoint: `http://localhost:${cdn.options.port}`,
},
gateway: {
endpointClient:
'${location.protocol === "https:" ? "wss://" : "ws://"}${location.hostname}:' + gateway.port,
endpoint: `ws://localhost:${gateway.port}`,
},
});
await api.start();
await cdn.start();
await gateway.start();
}
main().catch(console.error);

View File

@ -28,7 +28,6 @@
"@types/mongoose-autopopulate": "^0.10.1", "@types/mongoose-autopopulate": "^0.10.1",
"@types/uuid": "^8.3.0", "@types/uuid": "^8.3.0",
"@types/ws": "^7.4.0", "@types/ws": "^7.4.0",
"erlpack": "^0.1.3",
"ts-node-dev": "^1.1.6" "ts-node-dev": "^1.1.6"
} }
}, },
@ -287,15 +286,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/bindings": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
"integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
"dev": true,
"dependencies": {
"file-uri-to-path": "1.0.0"
}
},
"node_modules/bitsyntax": { "node_modules/bitsyntax": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz", "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz",
@ -649,17 +639,6 @@
"node": ">= 0.8" "node": ">= 0.8"
} }
}, },
"node_modules/erlpack": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/erlpack/-/erlpack-0.1.3.tgz",
"integrity": "sha512-QeG9v8CVsY/a/IoQi8zjn23aYKcziOihAxwjUl3tI/KB4R1FjTtctDAAMovgtpC16S+WiOauers2oWwIOQtKBQ==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
"bindings": "^1.5.0",
"nan": "^2.14.0"
}
},
"node_modules/escape-html": { "node_modules/escape-html": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@ -731,12 +710,6 @@
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
}, },
"node_modules/file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
"dev": true
},
"node_modules/fill-range": { "node_modules/fill-range": {
"version": "7.0.1", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@ -1391,12 +1364,6 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}, },
"node_modules/nan": {
"version": "2.15.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz",
"integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==",
"dev": true
},
"node_modules/negotiator": { "node_modules/negotiator": {
"version": "0.6.2", "version": "0.6.2",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
@ -2264,15 +2231,6 @@
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true "dev": true
}, },
"bindings": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
"integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
"dev": true,
"requires": {
"file-uri-to-path": "1.0.0"
}
},
"bitsyntax": { "bitsyntax": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz", "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz",
@ -2565,16 +2523,6 @@
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
}, },
"erlpack": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/erlpack/-/erlpack-0.1.3.tgz",
"integrity": "sha512-QeG9v8CVsY/a/IoQi8zjn23aYKcziOihAxwjUl3tI/KB4R1FjTtctDAAMovgtpC16S+WiOauers2oWwIOQtKBQ==",
"dev": true,
"requires": {
"bindings": "^1.5.0",
"nan": "^2.14.0"
}
},
"escape-html": { "escape-html": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@ -2640,12 +2588,6 @@
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
}, },
"file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
"dev": true
},
"fill-range": { "fill-range": {
"version": "7.0.1", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@ -3150,12 +3092,6 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}, },
"nan": {
"version": "2.15.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz",
"integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==",
"dev": true
},
"negotiator": { "negotiator": {
"version": "0.6.2", "version": "0.6.2",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",

View File

@ -32,7 +32,6 @@
"@types/mongoose-autopopulate": "^0.10.1", "@types/mongoose-autopopulate": "^0.10.1",
"@types/uuid": "^8.3.0", "@types/uuid": "^8.3.0",
"@types/ws": "^7.4.0", "@types/ws": "^7.4.0",
"erlpack": "^0.1.3",
"ts-node-dev": "^1.1.6" "ts-node-dev": "^1.1.6"
} }
} }

326
util/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -32,7 +32,6 @@
"@types/mongoose-autopopulate": "^0.10.1", "@types/mongoose-autopopulate": "^0.10.1",
"@types/mongoose-lean-virtuals": "^0.5.1", "@types/mongoose-lean-virtuals": "^0.5.1",
"@types/node": "^14.17.9", "@types/node": "^14.17.9",
"typescript": "^4.1.3",
"ajv": "^8.5.0", "ajv": "^8.5.0",
"amqplib": "^0.8.0", "amqplib": "^0.8.0",
"dot-prop": "^6.0.1", "dot-prop": "^6.0.1",
@ -41,6 +40,7 @@
"missing-native-js-functions": "^1.2.2", "missing-native-js-functions": "^1.2.2",
"mongodb": "^3.6.9", "mongodb": "^3.6.9",
"mongoose": "^5.13.7", "mongoose": "^5.13.7",
"mongoose-autopopulate": "^0.12.3" "mongoose-autopopulate": "^0.12.3",
"typescript": "^4.1.3"
} }
} }