summaryrefslogtreecommitdiff
path: root/packages/cli/src/utils/userStartupWarnings.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/utils/userStartupWarnings.ts')
-rw-r--r--packages/cli/src/utils/userStartupWarnings.ts18
1 files changed, 17 insertions, 1 deletions
diff --git a/packages/cli/src/utils/userStartupWarnings.ts b/packages/cli/src/utils/userStartupWarnings.ts
index 3d76a6e1..ddf2300d 100644
--- a/packages/cli/src/utils/userStartupWarnings.ts
+++ b/packages/cli/src/utils/userStartupWarnings.ts
@@ -6,6 +6,7 @@
import fs from 'fs/promises';
import * as os from 'os';
+import semver from 'semver';
type WarningCheck = {
id: string;
@@ -32,8 +33,23 @@ const homeDirectoryCheck: WarningCheck = {
},
};
+const nodeVersionCheck: WarningCheck = {
+ id: 'node-version',
+ check: async (_workspaceRoot: string) => {
+ const minMajor = 20;
+ const major = semver.major(process.versions.node);
+ if (major < minMajor) {
+ return `You are using Node.js v${process.versions.node}. Gemini CLI requires Node.js ${minMajor} or higher for best results.`;
+ }
+ return null;
+ },
+};
+
// All warning checks
-const WARNING_CHECKS: readonly WarningCheck[] = [homeDirectoryCheck];
+const WARNING_CHECKS: readonly WarningCheck[] = [
+ homeDirectoryCheck,
+ nodeVersionCheck,
+];
export async function getUserStartupWarnings(
workspaceRoot: string,