diff --git a/platform/node/CMakeLists.txt b/platform/node/CMakeLists.txt index f2e5e8ee1..0e41189ea 100644 --- a/platform/node/CMakeLists.txt +++ b/platform/node/CMakeLists.txt @@ -5,13 +5,12 @@ include(${CMAKE_CURRENT_LIST_DIR}/cmake/module.cmake) add_node_module( mbgl-node INSTALL_PATH ${PROJECT_SOURCE_DIR}/lib/{node_abi}/mbgl.node - NAN_VERSION 2.14.2 + NAN_VERSION 2.17.0 EXCLUDE_NODE_ABIS 46 47 48 51 - 111 ) find_package(PkgConfig REQUIRED) pkg_search_module(LIBUV libuv REQUIRED) diff --git a/platform/node/src/node_expression.cpp b/platform/node/src/node_expression.cpp index cce1cacdd..5480ef279 100644 --- a/platform/node/src/node_expression.cpp +++ b/platform/node/src/node_expression.cpp @@ -17,7 +17,11 @@ namespace node_mbgl { Nan::Persistent NodeExpression::constructor; void NodeExpression::Init(v8::Local target) { +#if defined NODE_MODULE_VERSION && NODE_MODULE_VERSION < 93 v8::Local context = target->CreationContext(); +#else + v8::Local context = target->GetCreationContext().ToLocalChecked(); +#endif v8::Local tpl = Nan::New(New); tpl->SetClassName(Nan::New("Expression").ToLocalChecked()); tpl->InstanceTemplate()->SetInternalFieldCount(1); // what is this doing? @@ -50,7 +54,11 @@ type::Type parseType(v8::Local type) { std::string kind(*v8::String::Utf8Value(v8::Isolate::GetCurrent(), v8kind)); if (kind == "array") { +#if defined NODE_MODULE_VERSION && NODE_MODULE_VERSION < 93 v8::Local context = type->CreationContext(); +#else + v8::Local context = type->GetCreationContext().ToLocalChecked(); +#endif type::Type itemType = parseType(Nan::Get(type, Nan::New("itemType").ToLocalChecked()).ToLocalChecked()->ToObject(context).ToLocalChecked()); mbgl::optional N; diff --git a/platform/node/src/node_map.cpp b/platform/node/src/node_map.cpp index a4d1e4886..77a3ef806 100644 --- a/platform/node/src/node_map.cpp +++ b/platform/node/src/node_map.cpp @@ -116,7 +116,11 @@ ParseError)JS").ToLocalChecked()).ToLocalChecked(); Nan::SetPrototypeMethod(tpl, "dumpDebugLogs", DumpDebugLogs); Nan::SetPrototypeMethod(tpl, "queryRenderedFeatures", QueryRenderedFeatures); +#if defined NODE_MODULE_VERSION && NODE_MODULE_VERSION < 93 v8::Local context = target->CreationContext(); +#else + v8::Local context = target->GetCreationContext().ToLocalChecked(); +#endif constructor.Reset(tpl->GetFunction(context).ToLocalChecked()); Nan::Set(target, Nan::New("Map").ToLocalChecked(), tpl->GetFunction(context).ToLocalChecked()); diff --git a/platform/node/src/node_request.cpp b/platform/node/src/node_request.cpp index c763b8da6..c8901f07a 100644 --- a/platform/node/src/node_request.cpp +++ b/platform/node/src/node_request.cpp @@ -27,7 +27,11 @@ NodeRequest::~NodeRequest() { Nan::Persistent NodeRequest::constructor; void NodeRequest::Init(v8::Local target) { +#if defined NODE_MODULE_VERSION && NODE_MODULE_VERSION < 93 v8::Local context = target->CreationContext(); +#else + v8::Local context = target->GetCreationContext().ToLocalChecked(); +#endif v8::Local tpl = Nan::New(New); tpl->InstanceTemplate()->SetInternalFieldCount(1);