Add process.versions
authorRyan Dahl <ry@tinyclouds.org>
Tue, 17 Aug 2010 18:24:10 +0000 (11:24 -0700)
committerRyan Dahl <ry@tinyclouds.org>
Tue, 17 Aug 2010 18:25:42 +0000 (11:25 -0700)
src/node.cc

index 72dc481..4dd1936 100644 (file)
@@ -1544,9 +1544,22 @@ static void Load(int argc, char *argv[]) {
 
   // process.version
   process->Set(String::NewSymbol("version"), String::New(NODE_VERSION));
+
   // process.installPrefix
   process->Set(String::NewSymbol("installPrefix"), String::New(NODE_PREFIX));
 
+  Local<Object> versions = Object::New();
+  char buf[20];
+  process->Set(String::NewSymbol("versions"), versions);
+  // +1 to get rid of the leading 'v'
+  versions->Set(String::NewSymbol("node"), String::New(NODE_VERSION+1));
+  versions->Set(String::NewSymbol("v8"), String::New(V8::GetVersion()));
+  versions->Set(String::NewSymbol("ares"), String::New(ARES_VERSION_STR));
+  snprintf(buf, 20, "%d.%d", ev_version_major(), ev_version_minor());
+  versions->Set(String::NewSymbol("ev"), String::New(buf));
+
+
+
   // process.platform
 #define xstr(s) str(s)
 #define str(s) #s