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> => {
|
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);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user