fix: add Node.js version check for capacitor cmds (#801)

Resolves #787. Prevents crashes when running capacitor commands on a
system with an incompatible (older) Node.js version.

---------

Co-authored-by: Will Chen <willchen90@gmail.com>
This commit is contained in:
Bryan
2025-08-11 10:13:04 -07:00
committed by GitHub
parent 676d07e905
commit dfe6da063e

View File

@@ -40,6 +40,20 @@ export function registerCapacitorHandlers() {
async (_, { appId }: { appId: number }): Promise<boolean> => { async (_, { appId }: { appId: number }): Promise<boolean> => {
const app = await getApp(appId); const app = await getApp(appId);
const appPath = getDyadAppPath(app.path); const appPath = getDyadAppPath(app.path);
// check for the required Node.js version before running any commands
const currentNodeVersion = process.version;
const majorVersion = parseInt(
currentNodeVersion.slice(1).split(".")[0],
10,
);
if (majorVersion < 20) {
// version is too old? stop and throw a clear error
throw new Error(
`Capacitor requires Node.js v20 or higher, but you are using ${currentNodeVersion}. Please upgrade your Node.js and try again.`,
);
}
return isCapacitorInstalled(appPath); return isCapacitorInstalled(appPath);
}, },
); );