From d0281e3ca4686ca52b1b4d886dad4e8de27bdcfa Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Tue, 8 Oct 2019 16:27:04 -0700 Subject: node package improvements (#15748) * node package improvements * npm run test-suite does not do anything anymore --- .npmignore | 32 ++++++++++++++++++++++++++++++++ cmake/node.cmake | 4 ++-- package.json | 2 +- platform/node/DEVELOPING.md | 21 +++++++++++---------- platform/node/README.md | 6 +++--- 5 files changed, 49 insertions(+), 16 deletions(-) create mode 100644 .npmignore diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000000..d2490da83f --- /dev/null +++ b/.npmignore @@ -0,0 +1,32 @@ +Makefile +CmakeLists.txt +*yml +build +cmake +misc +.* +*tgz +benchmark +expression-test +cloudformation +bin +vendor +include +mason_packages +mapbox-gl-js +test +lib +next +src +scripts +render-test +platform/android +platform/darwin +platform/default +platform/glfw +platform/ios +platform/linux +platform/macos +platform/qt +platform/node/symbol-list +platform/node/version-script \ No newline at end of file diff --git a/cmake/node.cmake b/cmake/node.cmake index a791d99b42..edea4df71b 100644 --- a/cmake/node.cmake +++ b/cmake/node.cmake @@ -20,8 +20,8 @@ create_source_groups(mbgl-loop-node) add_node_module(mbgl-node INSTALL_PATH "lib/{node_abi}/mbgl.node" - NAN_VERSION "2.10.0" - + NAN_VERSION "2.14.0" + # Don't build for Node 4.x, 5.x, 7.x, 9.x, 11.x and 12.x # See https://nodejs.org/en/download/releases/ for mapping of Node version to ABI number. # Changes to this property should happen in tandem with updates to the version targets diff --git a/package.json b/package.json index 9b11a039cd..90ec89de71 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "node": ">=6" }, "scripts": { - "install": "node-pre-gyp install --fallback-to-build=false || make node", + "install": "node-pre-gyp install --fallback-to-build=false", "test": "tape platform/node/test/js/**/*.test.js", "test-memory": "node --expose-gc platform/node/test/memory.test.js", "test-expressions": "node -r esm platform/node/test/expression.test.js", diff --git a/platform/node/DEVELOPING.md b/platform/node/DEVELOPING.md index 3d07253ee3..1466052155 100644 --- a/platform/node/DEVELOPING.md +++ b/platform/node/DEVELOPING.md @@ -8,27 +8,28 @@ To develop these bindings, you’ll need to build them from source. Building req the [macOS](../macos/INSTALL.md#requirements) or [Linux](../linux/README.md#prerequisites) install documentation, depending on the target platform. -To compile the Node.js bindings and install module dependencies, from the repository root directory, run: +To compile the Node.js bindings and install module dependencies, from the repository root directory, first run: - npm install --build-from-source +``` +make distclean +``` -To recompile just the C++ code while developing, run `make node`. +If you are rebuilding after time has passed. -To create an Xcode project and use a GUI debugger in the case of a crash, run `make xnode`. +Then do: + +```bash +make node +``` ## Testing To test the Node.js bindings: -``` +```bash npm test ``` -To run the visual render test suite: - -``` -npm run test-suite -``` ## Merging your pull request diff --git a/platform/node/README.md b/platform/node/README.md index 7273c0813a..859172108b 100644 --- a/platform/node/README.md +++ b/platform/node/README.md @@ -9,7 +9,7 @@ Requires a modern C++ runtime that supports C++14. By default, installs binaries. On these platforms no additional dependencies are needed. - 64 bit macOS or 64 bit Linux -- Node.js v4.x _(note: v5+ is known to have issues)_ +- Node.js v10.x Run: @@ -168,9 +168,9 @@ var map = new mbgl.Map({ if (res.headers.modified) { response.modified = new Date(res.headers.modified); } if (res.headers.expires) { response.expires = new Date(res.headers.expires); } if (res.headers.etag) { response.etag = res.headers.etag; } - + response.data = body; - + callback(null, response); } else { callback(new Error(JSON.parse(body).message)); -- cgit v1.2.1