Skip to content

Commit

Permalink
n-api: expose n-api version in process.versions
Browse files Browse the repository at this point in the history
Expose n-api version in process.versions so that it is
available for use in javascript by external modules
like node-pre-gyp. It was previously accessible through
a functon available in the N-API.

PR-URL: #18067
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Tobias Nießn <tniessen@tnie.de>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
  • Loading branch information
mhdawson authored and evanlucas committed Jan 30, 2018
1 parent d8ac817 commit 0668a75
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 3 deletions.
6 changes: 6 additions & 0 deletions src/node.cc
Expand Up @@ -3368,6 +3368,12 @@ void SetupProcessObject(Environment* env,
"nghttp2",
FIXED_ONE_BYTE_STRING(env->isolate(), NGHTTP2_VERSION));

const char node_napi_version[] = NODE_STRINGIFY(NAPI_VERSION);
READONLY_PROPERTY(
versions,
"napi",
FIXED_ONE_BYTE_STRING(env->isolate(), node_napi_version));

// process._promiseRejectEvent
Local<Object> promiseRejectEvent = Object::New(env->isolate());
READONLY_DONT_ENUM_PROPERTY(process,
Expand Down
2 changes: 0 additions & 2 deletions src/node_api.cc
Expand Up @@ -18,8 +18,6 @@
#include "node_api.h"
#include "node_internals.h"

#define NAPI_VERSION 2

static
napi_status napi_set_last_error(napi_env env, napi_status error_code,
uint32_t engine_error_code = 0,
Expand Down
3 changes: 3 additions & 0 deletions src/node_version.h
Expand Up @@ -108,4 +108,7 @@
*/
#define NODE_MODULE_VERSION 59

// the NAPI_VERSION provided by this version of the runtime
#define NAPI_VERSION 2

#endif // SRC_NODE_VERSION_H_
2 changes: 1 addition & 1 deletion test/parallel/test-process-versions.js
Expand Up @@ -3,7 +3,7 @@ const common = require('../common');
const assert = require('assert');

const expected_keys = ['ares', 'http_parser', 'modules', 'node',
'uv', 'v8', 'zlib', 'nghttp2'];
'uv', 'v8', 'zlib', 'nghttp2', 'napi'];

if (common.hasCrypto) {
expected_keys.push('openssl');
Expand Down

0 comments on commit 0668a75

Please sign in to comment.