27 lines
995 B
JavaScript
27 lines
995 B
JavaScript
import { spawn } from "node:child_process";
|
|
import { fileURLToPath } from "node:url";
|
|
import path from "node:path";
|
|
|
|
// WebStorm sometimes runs npm scripts with a different working directory (repo root),
|
|
// which breaks module resolution for PostCSS/Tailwind. Force cwd to this package.
|
|
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
const pkgRoot = path.resolve(here, "..");
|
|
|
|
// Ensure this process (and any child tools that read process.cwd()) runs from package root,
|
|
// even if the caller started in a different working directory (e.g. IDE run configs).
|
|
process.chdir(pkgRoot);
|
|
|
|
const nextBin = path.join(pkgRoot, "node_modules", "next", "dist", "bin", "next");
|
|
|
|
// Forward any args passed after `--` from npm, e.g. `npm run dev -- --port 3005`.
|
|
const extraArgs = process.argv.slice(2);
|
|
const child = spawn(process.execPath, [nextBin, "dev", ...extraArgs], {
|
|
cwd: pkgRoot,
|
|
stdio: "inherit",
|
|
env: process.env,
|
|
});
|
|
|
|
child.on("exit", (code) => {
|
|
process.exit(code ?? 0);
|
|
});
|