diff --git a/package.json b/package.json index ec1be21..10c8582 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "private": true, "scripts": { "dev": "next dev", + "dev-with-services": "node ./run-all.dev.js", "build": "next build", "start": "next start", "lint": "next lint", diff --git a/run-all.dev.js b/run-all.dev.js new file mode 100644 index 0000000..13fbc9b --- /dev/null +++ b/run-all.dev.js @@ -0,0 +1,29 @@ +const { spawn } = require("child_process"); + +const npm = /^win/.test(process.platform) ? "npm.cmd" : "npm"; + +const client = spawn(npm, ["run", "dev"], { shell: true }); +const parser = spawn(npm, ["run", "serve"], { shell: true, cwd: "./player-parser" }); +const proxy = spawn(npm, ["run", "serve"], { shell: true, cwd: "./api-prox" }); + +const clientInfo = "\x1b[36m[client]\x1b[0m"; +const parserInfo = "\x1b[33m[parser]\x1b[0m"; +const proxyInfo = "\x1b[31m[proxy]\x1b[0m"; + +console.log(`${clientInfo} CMD: ${client.spawnargs.toString()}`); +console.log(`${clientInfo} PID: ${client.pid}`); +console.log(`${parserInfo} CMD: ${parser.spawnargs.toString()}`); +console.log(`${parserInfo} PID: ${parser.pid}`); +console.log(`${proxyInfo} CMD: ${proxy.spawnargs.toString()}`); +console.log(`${proxyInfo} PID: ${proxy.pid}`); +console.log(`\n`); + +client.stdout.on("data", (data) => + console.log(clientInfo, data.toString()) +); +parser.stdout.on("data", (data) => + console.log(parserInfo, data.toString()) +); +proxy.stdout.on("data", (data) => + console.log(proxyInfo, data.toString()) +);