.debug.script.mjs 741 B

1234567891011121314151617181920212223
  1. import fs from "node:fs";
  2. import path from "node:path";
  3. import { fileURLToPath } from "node:url";
  4. import { createRequire } from "node:module";
  5. import { spawn } from "node:child_process";
  6. const pkg = createRequire(import.meta.url)("../package.json");
  7. const __dirname = path.dirname(fileURLToPath(import.meta.url));
  8. // write .debug.env
  9. const envContent = Object.entries(pkg.debug.env).map(([key, val]) => `${key}=${val}`);
  10. fs.writeFileSync(path.join(__dirname, ".debug.env"), envContent.join("\n"));
  11. // bootstrap
  12. spawn(
  13. // TODO: terminate `npm run dev` when Debug exits.
  14. process.platform === "win32" ? "npm.cmd" : "npm",
  15. ["run", "dev"],
  16. {
  17. stdio: "inherit",
  18. env: Object.assign(process.env, { VSCODE_DEBUG: "true" }),
  19. },
  20. );