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:
@@ -40,6 +40,20 @@ export function registerCapacitorHandlers() {
|
||||
async (_, { appId }: { appId: number }): Promise<boolean> => {
|
||||
const app = await getApp(appId);
|
||||
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);
|
||||
},
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user