node package improvements (#15748)

* node package improvements

* npm run test-suite does not do anything anymore
This commit is contained in:
Dane Springmeyer
2019-10-08 16:27:04 -07:00
committed by GitHub
parent 563f9d0534
commit d0281e3ca4
5 changed files with 49 additions and 16 deletions

32
.npmignore Normal file
View File

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

View File

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

View File

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

View File

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

View File

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