const execa = require("execa"); (async () => { await execa("pnpm", ["clean"], { cwd: __dirname + "/../", stdout: process.stdout, stderr: process.stderr, }); execa("pnpm", ["dlx", "gulp", "watch"], { cwd: __dirname + "/../", stdout: process.stdout, stderr: process.stderr, }); execa("pnpm", ["--filter", "backend", "watch"], { cwd: __dirname + "/../", stdout: process.stdout, stderr: process.stderr, }); execa("pnpm", ["--filter", "client", "watch"], { cwd: __dirname + "/../", stdout: process.stdout, stderr: process.stderr, }); execa("pnpm", ["--filter", "sw", "watch"], { cwd: __dirname + "/../", stdout: process.stdout, stderr: process.stderr, }); const start = async () => { try { await execa("pnpm", ["start"], { cwd: __dirname + "/../", stdout: process.stdout, stderr: process.stderr, }); } catch (e) { await new Promise((resolve) => setTimeout(resolve, 3000)); start(); } }; start(); })();