n-api: expose n-api version in process.versions

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: https://github.com/nodejs/node/pull/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>
This commit is contained in:
Michael Dawson 2018-01-09 15:06:28 -05:00
parent b225970e6c
commit 8938c4c22d
4 changed files with 10 additions and 3 deletions

View File

@ -3032,6 +3032,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,

View File

@ -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,

View File

@ -109,4 +109,7 @@
*/
#define NODE_MODULE_VERSION 60
// the NAPI_VERSION provided by this version of the runtime
#define NAPI_VERSION 2
#endif // SRC_NODE_VERSION_H_

View File

@ -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');