fsevents 1.2.11 → 1.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/node_modules/abbrev/package.json +1 -1
  2. package/node_modules/ansi-regex/package.json +1 -1
  3. package/node_modules/aproba/package.json +1 -1
  4. package/node_modules/are-we-there-yet/package.json +1 -1
  5. package/node_modules/balanced-match/package.json +1 -1
  6. package/node_modules/brace-expansion/package.json +1 -1
  7. package/node_modules/chownr/chownr.js +58 -16
  8. package/node_modules/chownr/package.json +13 -10
  9. package/node_modules/code-point-at/package.json +1 -1
  10. package/node_modules/concat-map/package.json +1 -1
  11. package/node_modules/console-control-strings/package.json +1 -1
  12. package/node_modules/core-util-is/package.json +1 -1
  13. package/node_modules/debug/package.json +1 -1
  14. package/node_modules/deep-extend/package.json +1 -1
  15. package/node_modules/delegates/package.json +1 -1
  16. package/node_modules/detect-libc/package.json +2 -2
  17. package/node_modules/fs-minipass/package.json +1 -1
  18. package/node_modules/fs.realpath/package.json +1 -1
  19. package/node_modules/gauge/package.json +1 -1
  20. package/node_modules/glob/package.json +1 -1
  21. package/node_modules/has-unicode/package.json +1 -1
  22. package/node_modules/iconv-lite/package.json +1 -1
  23. package/node_modules/ignore-walk/package.json +1 -1
  24. package/node_modules/inflight/package.json +1 -1
  25. package/node_modules/inherits/package.json +1 -1
  26. package/node_modules/ini/package.json +1 -1
  27. package/node_modules/is-fullwidth-code-point/package.json +1 -1
  28. package/node_modules/isarray/package.json +1 -1
  29. package/node_modules/minimatch/package.json +1 -1
  30. package/node_modules/minimist/.travis.yml +4 -0
  31. package/node_modules/minimist/example/parse.js +1 -1
  32. package/node_modules/minimist/index.js +112 -54
  33. package/node_modules/minimist/package.json +17 -14
  34. package/node_modules/minimist/readme.markdown +28 -6
  35. package/node_modules/{rc/node_modules/minimist → minimist}/test/all_bool.js +0 -0
  36. package/node_modules/{rc/node_modules/minimist → minimist}/test/bool.js +12 -0
  37. package/node_modules/minimist/test/dash.js +7 -0
  38. package/node_modules/minimist/test/default_bool.js +15 -0
  39. package/node_modules/minimist/test/dotted.js +6 -0
  40. package/node_modules/{rc/node_modules/minimist → minimist}/test/kv_short.js +0 -0
  41. package/node_modules/{rc/node_modules/minimist → minimist}/test/num.js +0 -0
  42. package/node_modules/minimist/test/parse.js +23 -144
  43. package/node_modules/minimist/test/parse_modified.js +1 -1
  44. package/node_modules/minimist/test/proto.js +44 -0
  45. package/node_modules/{rc/node_modules/minimist → minimist}/test/stop_early.js +0 -0
  46. package/node_modules/{rc/node_modules/minimist → minimist}/test/unknown.js +0 -0
  47. package/node_modules/minipass/package.json +1 -1
  48. package/node_modules/minizlib/package.json +1 -1
  49. package/node_modules/mkdirp/package.json +17 -10
  50. package/node_modules/ms/package.json +1 -1
  51. package/node_modules/needle/.github/workflows/nodejs.yml +27 -0
  52. package/node_modules/needle/README.md +5 -5
  53. package/node_modules/needle/lib/needle.js +9 -3
  54. package/node_modules/needle/package.json +7 -7
  55. package/node_modules/needle/test/compression_spec.js +18 -0
  56. package/node_modules/node-pre-gyp/package.json +9 -8
  57. package/node_modules/nopt/lib/nopt.js +6 -1
  58. package/node_modules/nopt/package.json +15 -8
  59. package/node_modules/npm-bundled/package.json +1 -1
  60. package/node_modules/npm-normalize-package-bin/package.json +3 -2
  61. package/node_modules/npm-packlist/package.json +8 -7
  62. package/node_modules/npmlog/package.json +1 -1
  63. package/node_modules/number-is-nan/package.json +1 -1
  64. package/node_modules/object-assign/package.json +1 -1
  65. package/node_modules/once/package.json +1 -1
  66. package/node_modules/os-homedir/package.json +1 -1
  67. package/node_modules/os-tmpdir/package.json +1 -1
  68. package/node_modules/osenv/package.json +1 -1
  69. package/node_modules/path-is-absolute/package.json +1 -1
  70. package/node_modules/process-nextick-args/package.json +1 -1
  71. package/node_modules/rc/package.json +2 -2
  72. package/node_modules/readable-stream/.travis.yml +9 -30
  73. package/node_modules/readable-stream/lib/_stream_duplex.js +1 -1
  74. package/node_modules/readable-stream/lib/_stream_passthrough.js +1 -1
  75. package/node_modules/readable-stream/lib/_stream_readable.js +1 -1
  76. package/node_modules/readable-stream/lib/_stream_transform.js +1 -1
  77. package/node_modules/readable-stream/lib/_stream_writable.js +1 -1
  78. package/node_modules/readable-stream/package.json +6 -6
  79. package/node_modules/rimraf/package.json +2 -2
  80. package/node_modules/safe-buffer/package.json +1 -1
  81. package/node_modules/safer-buffer/package.json +1 -1
  82. package/node_modules/sax/package.json +1 -1
  83. package/node_modules/semver/package.json +2 -2
  84. package/node_modules/set-blocking/package.json +1 -1
  85. package/node_modules/signal-exit/package.json +1 -1
  86. package/node_modules/string-width/package.json +1 -1
  87. package/node_modules/string_decoder/package.json +1 -1
  88. package/node_modules/strip-ansi/package.json +1 -1
  89. package/node_modules/strip-json-comments/package.json +1 -1
  90. package/node_modules/tar/package.json +1 -1
  91. package/node_modules/util-deprecate/package.json +1 -1
  92. package/node_modules/wide-align/package.json +1 -1
  93. package/node_modules/wrappy/package.json +1 -1
  94. package/node_modules/yallist/package.json +1 -1
  95. package/package.json +2 -2
  96. package/node_modules/mkdirp/.travis.yml +0 -8
  97. package/node_modules/mkdirp/examples/pow.js +0 -6
  98. package/node_modules/mkdirp/test/chmod.js +0 -41
  99. package/node_modules/mkdirp/test/clobber.js +0 -38
  100. package/node_modules/mkdirp/test/mkdirp.js +0 -28
  101. package/node_modules/mkdirp/test/opts_fs.js +0 -29
  102. package/node_modules/mkdirp/test/opts_fs_sync.js +0 -27
  103. package/node_modules/mkdirp/test/perm.js +0 -32
  104. package/node_modules/mkdirp/test/perm_sync.js +0 -36
  105. package/node_modules/mkdirp/test/race.js +0 -37
  106. package/node_modules/mkdirp/test/rel.js +0 -32
  107. package/node_modules/mkdirp/test/return.js +0 -25
  108. package/node_modules/mkdirp/test/return_sync.js +0 -24
  109. package/node_modules/mkdirp/test/root.js +0 -19
  110. package/node_modules/mkdirp/test/sync.js +0 -32
  111. package/node_modules/mkdirp/test/umask.js +0 -28
  112. package/node_modules/mkdirp/test/umask_sync.js +0 -32
  113. package/node_modules/nopt/.npmignore +0 -1
  114. package/node_modules/nopt/.travis.yml +0 -8
  115. package/node_modules/nopt/examples/my-program.js +0 -30
  116. package/node_modules/nopt/test/basic.js +0 -303
  117. package/node_modules/rc/node_modules/minimist/.travis.yml +0 -8
  118. package/node_modules/rc/node_modules/minimist/LICENSE +0 -18
  119. package/node_modules/rc/node_modules/minimist/example/parse.js +0 -2
  120. package/node_modules/rc/node_modules/minimist/index.js +0 -236
  121. package/node_modules/rc/node_modules/minimist/package.json +0 -73
  122. package/node_modules/rc/node_modules/minimist/readme.markdown +0 -91
  123. package/node_modules/rc/node_modules/minimist/test/dash.js +0 -31
  124. package/node_modules/rc/node_modules/minimist/test/default_bool.js +0 -35
  125. package/node_modules/rc/node_modules/minimist/test/dotted.js +0 -22
  126. package/node_modules/rc/node_modules/minimist/test/long.js +0 -31
  127. package/node_modules/rc/node_modules/minimist/test/parse.js +0 -197
  128. package/node_modules/rc/node_modules/minimist/test/parse_modified.js +0 -9
  129. package/node_modules/rc/node_modules/minimist/test/short.js +0 -67
  130. package/node_modules/rc/node_modules/minimist/test/whitespace.js +0 -8
@@ -0,0 +1,44 @@
1
+ var parse = require('../');
2
+ var test = require('tape');
3
+
4
+ test('proto pollution', function (t) {
5
+ var argv = parse(['--__proto__.x','123']);
6
+ t.equal({}.x, undefined);
7
+ t.equal(argv.__proto__.x, undefined);
8
+ t.equal(argv.x, undefined);
9
+ t.end();
10
+ });
11
+
12
+ test('proto pollution (array)', function (t) {
13
+ var argv = parse(['--x','4','--x','5','--x.__proto__.z','789']);
14
+ t.equal({}.z, undefined);
15
+ t.deepEqual(argv.x, [4,5]);
16
+ t.equal(argv.x.z, undefined);
17
+ t.equal(argv.x.__proto__.z, undefined);
18
+ t.end();
19
+ });
20
+
21
+ test('proto pollution (number)', function (t) {
22
+ var argv = parse(['--x','5','--x.__proto__.z','100']);
23
+ t.equal({}.z, undefined);
24
+ t.equal((4).z, undefined);
25
+ t.equal(argv.x, 5);
26
+ t.equal(argv.x.z, undefined);
27
+ t.end();
28
+ });
29
+
30
+ test('proto pollution (string)', function (t) {
31
+ var argv = parse(['--x','abc','--x.__proto__.z','def']);
32
+ t.equal({}.z, undefined);
33
+ t.equal('...'.z, undefined);
34
+ t.equal(argv.x, 'abc');
35
+ t.equal(argv.x.z, undefined);
36
+ t.end();
37
+ });
38
+
39
+ test('proto pollution (constructor)', function (t) {
40
+ var argv = parse(['--constructor.prototype.y','123']);
41
+ t.equal({}.y, undefined);
42
+ t.equal(argv.y, undefined);
43
+ t.end();
44
+ });
@@ -23,7 +23,7 @@
23
23
  "_resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
24
24
  "_shasum": "e713762e7d3e32fed803115cf93e04bca9fcc9a6",
25
25
  "_spec": "minipass@^2.8.6",
26
- "_where": "/Users/pipobscure/fsevents/node_modules/tar",
26
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/tar",
27
27
  "author": {
28
28
  "name": "Isaac Z. Schlueter",
29
29
  "email": "i@izs.me",
@@ -21,7 +21,7 @@
21
21
  "_resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
22
22
  "_shasum": "2290de96818a34c29551c8a8d301216bd65a861d",
23
23
  "_spec": "minizlib@^1.2.1",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/tar",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/tar",
25
25
  "author": {
26
26
  "name": "Isaac Z. Schlueter",
27
27
  "email": "i@izs.me",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "mkdirp@^0.5.1",
3
- "_id": "mkdirp@0.5.1",
3
+ "_id": "mkdirp@0.5.3",
4
4
  "_inBundle": false,
5
- "_integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
5
+ "_integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==",
6
6
  "_location": "/mkdirp",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -19,10 +19,10 @@
19
19
  "/node-pre-gyp",
20
20
  "/tar"
21
21
  ],
22
- "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
23
- "_shasum": "30057438eac6cf7f8c4767f38648d6697d75c903",
22
+ "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz",
23
+ "_shasum": "5a514b7179259287952881e94410ec5465659f8c",
24
24
  "_spec": "mkdirp@^0.5.1",
25
- "_where": "/Users/pipobscure/fsevents/node_modules/node-pre-gyp",
25
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/node-pre-gyp",
26
26
  "author": {
27
27
  "name": "James Halliday",
28
28
  "email": "mail@substack.net",
@@ -36,14 +36,18 @@
36
36
  },
37
37
  "bundleDependencies": false,
38
38
  "dependencies": {
39
- "minimist": "0.0.8"
39
+ "minimist": "^1.2.5"
40
40
  },
41
- "deprecated": false,
41
+ "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)",
42
42
  "description": "Recursively mkdir, like `mkdir -p`",
43
43
  "devDependencies": {
44
- "mock-fs": "2 >=2.7.0",
45
- "tap": "1"
44
+ "mock-fs": "^3.7.0",
45
+ "tap": "^5.4.2"
46
46
  },
47
+ "files": [
48
+ "bin",
49
+ "index.js"
50
+ ],
47
51
  "homepage": "https://github.com/substack/node-mkdirp#readme",
48
52
  "keywords": [
49
53
  "mkdir",
@@ -52,6 +56,9 @@
52
56
  "license": "MIT",
53
57
  "main": "index.js",
54
58
  "name": "mkdirp",
59
+ "publishConfig": {
60
+ "tag": "legacy"
61
+ },
55
62
  "repository": {
56
63
  "type": "git",
57
64
  "url": "git+https://github.com/substack/node-mkdirp.git"
@@ -59,5 +66,5 @@
59
66
  "scripts": {
60
67
  "test": "tap test/*.js"
61
68
  },
62
- "version": "0.5.1"
69
+ "version": "0.5.3"
63
70
  }
@@ -21,7 +21,7 @@
21
21
  "_resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
22
22
  "_shasum": "d09d1f357b443f493382a8eb3ccd183872ae6009",
23
23
  "_spec": "ms@^2.1.1",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/debug",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/debug",
25
25
  "bugs": {
26
26
  "url": "https://github.com/zeit/ms/issues"
27
27
  },
@@ -0,0 +1,27 @@
1
+ name: Node CI
2
+ on: [push]
3
+
4
+ jobs:
5
+ build:
6
+ runs-on: ubuntu-latest
7
+
8
+ strategy:
9
+ matrix:
10
+ node-version: [0.10.0, 4.x, 6.x, 8.x, 10.x, 12.x]
11
+
12
+ steps:
13
+ - uses: actions/checkout@v1
14
+ - name: Use Node.js ${{ matrix.node-version }}
15
+ uses: actions/setup-node@v1
16
+ with:
17
+ node-version: ${{ matrix.node-version }}
18
+ - name: npm install, build, and test
19
+ run: |
20
+ npm install
21
+ mkdir -p test/keys
22
+ openssl genrsa -out test/keys/ssl.key 2048
23
+ openssl req -new -key test/keys/ssl.key -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" -x509 -days 999 -out test/keys/ssl.cert
24
+ npm run build --if-present
25
+ npm test
26
+ env:
27
+ CI: true
@@ -51,7 +51,7 @@ With only two real dependencies, Needle supports:
51
51
  - Basic & Digest authentication with auto-detection
52
52
  - Multipart form-data (e.g. file uploads)
53
53
  - HTTP Proxy forwarding, optionally with authentication
54
- - Streaming gzip or deflate decompression
54
+ - Streaming gzip, deflate, and brotli decompression
55
55
  - Automatic XML & JSON parsing
56
56
  - 301/302/303 redirect following, with fine-grained tuning, and
57
57
  - Streaming non-UTF-8 charset decoding, via `iconv-lite`
@@ -91,7 +91,7 @@ needle.get('ifconfig.me/all.json', function(error, response, body) {
91
91
 
92
92
  // no callback, using streams
93
93
  var out = fs.createWriteStream('logo.png');
94
- needle.get('https://google.com/images/logo.png').pipe(out).on('finish', function() {
94
+ needle.get('https://google.com/images/logo.png').pipe(out).on('done', function() {
95
95
  console.log('Pipe finished!');
96
96
  });
97
97
  ```
@@ -105,7 +105,7 @@ Response pipeline
105
105
 
106
106
  Depending on the response's Content-Type, Needle will either attempt to parse JSON or XML streams, or, if a text response was received, will ensure that the final encoding you get is UTF-8.
107
107
 
108
- You can also request a gzip/deflated response, which, if sent by the server, will be processed before parsing or decoding is performed.
108
+ You can also request a gzip/deflated/brotli response, which, if sent by the server, will be processed before parsing or decoding is performed. (Note: brotli is only supported on Node 10.16.0 or above, and will not be requested or processed on earlier versions.)
109
109
 
110
110
  ```js
111
111
  needle.get('http://stackoverflow.com/feeds', { compressed: true }, function(err, resp) {
@@ -118,7 +118,7 @@ Or in anti-callback mode, using a few other options:
118
118
 
119
119
  ```js
120
120
  var options = {
121
- compressed : true, // sets 'Accept-Encoding' to 'gzip,deflate'
121
+ compressed : true, // sets 'Accept-Encoding' to 'gzip, deflate, br'
122
122
  follow_max : 5, // follow up to five redirects
123
123
  rejectUnauthorized : true // verify SSL certificate
124
124
  }
@@ -392,7 +392,7 @@ needle.get('foobar.com', { agent: myAgent });
392
392
  Regarding the 'Connection' header
393
393
  ---------------------------------
394
394
 
395
- Unless you're running an old version of Node (< 0.11.4), by default Needle won't set the Connection header on requests, yielding Node's default behaviour of keeping the connection alive with the target server. This speeds up inmensely the process of sending several requests to the same host.
395
+ Unless you're running an old version of Node (< 0.11.4), by default Needle won't set the Connection header on requests, yielding Node's default behaviour of keeping the connection alive with the target server. This speeds up immensely the process of sending several requests to the same host.
396
396
 
397
397
  On older versions, however, this has the unwanted behaviour of preventing the runtime from exiting, either because of a bug or 'feature' that was changed on 0.11.4. To overcome this Needle does set the 'Connection' header to 'close' on those versions, however this also means that making new requests to the same host doesn't benefit from Keep-Alive.
398
398
 
@@ -37,20 +37,25 @@ var close_by_default = !http.Agent || http.Agent.defaultMaxSockets != Infinity;
37
37
  var extend = Object.assign ? Object.assign : require('util')._extend;
38
38
 
39
39
  // these are the status codes that Needle interprets as redirects.
40
- var redirect_codes = [301, 302, 303, 307];
40
+ var redirect_codes = [301, 302, 303, 307, 308];
41
41
 
42
42
  //////////////////////////////////////////
43
- // decompressors for gzip/deflate bodies
43
+ // decompressors for gzip/deflate/br bodies
44
44
 
45
45
  var decompressors = {};
46
+ var brotli_supported = false;
46
47
 
47
48
  try {
48
49
 
49
50
  var zlib = require('zlib');
51
+ brotli_supported = typeof zlib.BrotliDecompress === 'function';
50
52
  decompressors['x-deflate'] = zlib.Inflate;
51
53
  decompressors['deflate'] = zlib.Inflate;
52
54
  decompressors['x-gzip'] = zlib.Gunzip;
53
55
  decompressors['gzip'] = zlib.Gunzip;
56
+ if (brotli_supported) {
57
+ decompressors['br'] = zlib.BrotliDecompress;
58
+ }
54
59
 
55
60
  // Enable Z_SYNC_FLUSH to avoid Z_BUF_ERROR errors (Node PR #2595)
56
61
  var zlib_options = {
@@ -82,6 +87,7 @@ var defaults = {
82
87
  stream_length : -1,
83
88
 
84
89
  // booleans
90
+ compressed : false,
85
91
  decode_response : true,
86
92
  parse_cookies : true,
87
93
  follow_set_cookies : false,
@@ -236,7 +242,7 @@ Needle.prototype.setup = function(uri, options) {
236
242
  config.headers['connection'] = options.connection || 'close';
237
243
 
238
244
  if ((options.compressed || defaults.compressed) && typeof zlib != 'undefined')
239
- config.headers['accept-encoding'] = 'gzip,deflate';
245
+ config.headers['accept-encoding'] = brotli_supported ? 'gzip, deflate, br' : 'gzip, deflate';
240
246
 
241
247
  if (options.cookies)
242
248
  config.headers['cookie'] = cookies.write(options.cookies);
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "needle@^2.2.1",
3
- "_id": "needle@2.4.0",
3
+ "_id": "needle@2.3.3",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==",
5
+ "_integrity": "sha512-EkY0GeSq87rWp1hoq/sH/wnTWgFVhYlnIkbJ0YJFfRgEFlz2RraCjBpFQ+vrEgEdp0ThfyHADmkChEhcb7PKyw==",
6
6
  "_location": "/needle",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -18,16 +18,16 @@
18
18
  "_requiredBy": [
19
19
  "/node-pre-gyp"
20
20
  ],
21
- "_resolved": "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz",
22
- "_shasum": "6833e74975c444642590e15a750288c5f939b57c",
21
+ "_resolved": "https://registry.npmjs.org/needle/-/needle-2.3.3.tgz",
22
+ "_shasum": "a041ad1d04a871b0ebb666f40baaf1fb47867117",
23
23
  "_spec": "needle@^2.2.1",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/node-pre-gyp",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/node-pre-gyp",
25
25
  "author": {
26
26
  "name": "Tomás Pollak",
27
27
  "email": "tomas@forkhq.com"
28
28
  },
29
29
  "bin": {
30
- "needle": "./bin/needle"
30
+ "needle": "bin/needle"
31
31
  },
32
32
  "bugs": {
33
33
  "url": "https://github.com/tomas/needle/issues"
@@ -98,5 +98,5 @@
98
98
  "cookie",
99
99
  "redirect"
100
100
  ],
101
- "version": "2.4.0"
101
+ "version": "2.3.3"
102
102
  }
@@ -29,6 +29,9 @@ describe('compression', function(){
29
29
  } else if (acceptEncoding.match(/\bgzip\b/)) {
30
30
  res.setHeader('Content-Encoding', 'gzip');
31
31
  raw.pipe(zlib.createGzip()).pipe(res);
32
+ } else if (acceptEncoding.match(/\bbr\b/)) {
33
+ res.setHeader('Content-Encoding', 'br');
34
+ raw.pipe(zlib.createBrotliCompress()).pipe(res);
32
35
  } else {
33
36
  raw.pipe(res);
34
37
  }
@@ -90,5 +93,20 @@ describe('compression', function(){
90
93
  })
91
94
  })
92
95
  })
96
+
97
+ describe('and client requests brotli compression', function() {
98
+ it('should have the body decompressed', function(done){
99
+ // Skip this test if Brotli is not supported
100
+ if (typeof zlib.BrotliDecompress !== 'function') {
101
+ return done();
102
+ }
103
+ needle.get('localhost:' + port, {headers: {'Accept-Encoding': 'br'}}, function(err, response, body){
104
+ should.ifError(err);
105
+ body.should.have.property('foo', 'bar');
106
+ response.bytes.should.not.equal(jsonData.length);
107
+ done();
108
+ })
109
+ })
110
+ })
93
111
  })
94
112
  })
@@ -1,33 +1,34 @@
1
1
  {
2
- "_from": "node-pre-gyp@*",
2
+ "_from": "node-pre-gyp@0.14.0",
3
3
  "_id": "node-pre-gyp@0.14.0",
4
4
  "_inBundle": false,
5
5
  "_integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==",
6
6
  "_location": "/node-pre-gyp",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
9
- "type": "range",
9
+ "type": "version",
10
10
  "registry": true,
11
- "raw": "node-pre-gyp@*",
11
+ "raw": "node-pre-gyp@0.14.0",
12
12
  "name": "node-pre-gyp",
13
13
  "escapedName": "node-pre-gyp",
14
- "rawSpec": "*",
14
+ "rawSpec": "0.14.0",
15
15
  "saveSpec": null,
16
- "fetchSpec": "*"
16
+ "fetchSpec": "0.14.0"
17
17
  },
18
18
  "_requiredBy": [
19
+ "#USER",
19
20
  "/"
20
21
  ],
21
22
  "_resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz",
22
23
  "_shasum": "9a0596533b877289bcad4e143982ca3d904ddc83",
23
- "_spec": "node-pre-gyp@*",
24
- "_where": "/Users/pipobscure/fsevents",
24
+ "_spec": "node-pre-gyp@0.14.0",
25
+ "_where": "/Users/user/Developer/personal/fsevents",
25
26
  "author": {
26
27
  "name": "Dane Springmeyer",
27
28
  "email": "dane@mapbox.com"
28
29
  },
29
30
  "bin": {
30
- "node-pre-gyp": "./bin/node-pre-gyp"
31
+ "node-pre-gyp": "bin/node-pre-gyp"
31
32
  },
32
33
  "bugs": {
33
34
  "url": "https://github.com/mapbox/node-pre-gyp/issues"
@@ -113,7 +113,12 @@ function clean (data, types, typeDefs) {
113
113
  return d[k]
114
114
  }).filter(function (val) { return val !== remove })
115
115
 
116
- if (!val.length) delete data[k]
116
+ // if we allow Array specifically, then an empty array is how we
117
+ // express 'no value here', not null. Allow it.
118
+ if (!val.length && type.indexOf(Array) === -1) {
119
+ debug('VAL HAS NO LENGTH, DELETE IT', val, k, type.indexOf(Array))
120
+ delete data[k]
121
+ }
117
122
  else if (isArray) {
118
123
  debug(isArray, data[k], val)
119
124
  data[k] = val
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "nopt@^4.0.1",
3
- "_id": "nopt@4.0.1",
3
+ "_id": "nopt@4.0.3",
4
4
  "_inBundle": false,
5
- "_integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
5
+ "_integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
6
6
  "_location": "/nopt",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -18,17 +18,17 @@
18
18
  "_requiredBy": [
19
19
  "/node-pre-gyp"
20
20
  ],
21
- "_resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
22
- "_shasum": "d0d4685afd5415193c8c7505602d0d17cd64474d",
21
+ "_resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
22
+ "_shasum": "a375cad9d02fd921278d954c2254d5aa57e15e48",
23
23
  "_spec": "nopt@^4.0.1",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/node-pre-gyp",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/node-pre-gyp",
25
25
  "author": {
26
26
  "name": "Isaac Z. Schlueter",
27
27
  "email": "i@izs.me",
28
28
  "url": "http://blog.izs.me/"
29
29
  },
30
30
  "bin": {
31
- "nopt": "./bin/nopt.js"
31
+ "nopt": "bin/nopt.js"
32
32
  },
33
33
  "bugs": {
34
34
  "url": "https://github.com/npm/nopt/issues"
@@ -41,8 +41,12 @@
41
41
  "deprecated": false,
42
42
  "description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.",
43
43
  "devDependencies": {
44
- "tap": "^8.0.1"
44
+ "tap": "^14.10.6"
45
45
  },
46
+ "files": [
47
+ "bin",
48
+ "lib"
49
+ ],
46
50
  "homepage": "https://github.com/npm/nopt#readme",
47
51
  "license": "ISC",
48
52
  "main": "lib/nopt.js",
@@ -52,7 +56,10 @@
52
56
  "url": "git+https://github.com/npm/nopt.git"
53
57
  },
54
58
  "scripts": {
59
+ "postversion": "npm publish",
60
+ "prepublishOnly": "git push origin --follow-tags",
61
+ "preversion": "npm test",
55
62
  "test": "tap test/*.js"
56
63
  },
57
- "version": "4.0.1"
64
+ "version": "4.0.3"
58
65
  }
@@ -21,7 +21,7 @@
21
21
  "_resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
22
22
  "_shasum": "1edd570865a94cdb1bc8220775e29466c9fb234b",
23
23
  "_spec": "npm-bundled@^1.0.1",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/npm-packlist",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/npm-packlist",
25
25
  "author": {
26
26
  "name": "Isaac Z. Schlueter",
27
27
  "email": "i@izs.me",
@@ -16,12 +16,13 @@
16
16
  "fetchSpec": "^1.0.1"
17
17
  },
18
18
  "_requiredBy": [
19
- "/npm-bundled"
19
+ "/npm-bundled",
20
+ "/npm-packlist"
20
21
  ],
21
22
  "_resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
22
23
  "_shasum": "6e79a41f23fd235c0623218228da7d9c23b8f6e2",
23
24
  "_spec": "npm-normalize-package-bin@^1.0.1",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/npm-bundled",
25
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/npm-packlist",
25
26
  "author": {
26
27
  "name": "Isaac Z. Schlueter",
27
28
  "email": "i@izs.me",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "npm-packlist@^1.1.6",
3
- "_id": "npm-packlist@1.4.7",
3
+ "_id": "npm-packlist@1.4.8",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==",
5
+ "_integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
6
6
  "_location": "/npm-packlist",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -18,10 +18,10 @@
18
18
  "_requiredBy": [
19
19
  "/node-pre-gyp"
20
20
  ],
21
- "_resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.7.tgz",
22
- "_shasum": "9e954365a06b80b18111ea900945af4f88ed4848",
21
+ "_resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz",
22
+ "_shasum": "56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e",
23
23
  "_spec": "npm-packlist@^1.1.6",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/node-pre-gyp",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/node-pre-gyp",
25
25
  "author": {
26
26
  "name": "Isaac Z. Schlueter",
27
27
  "email": "i@izs.me",
@@ -33,7 +33,8 @@
33
33
  "bundleDependencies": false,
34
34
  "dependencies": {
35
35
  "ignore-walk": "^3.0.1",
36
- "npm-bundled": "^1.0.1"
36
+ "npm-bundled": "^1.0.1",
37
+ "npm-normalize-package-bin": "^1.0.1"
37
38
  },
38
39
  "deprecated": false,
39
40
  "description": "Get a list of the files to add from a folder into an npm package",
@@ -69,5 +70,5 @@
69
70
  "tap": {
70
71
  "jobs": 1
71
72
  },
72
- "version": "1.4.7"
73
+ "version": "1.4.8"
73
74
  }
@@ -21,7 +21,7 @@
21
21
  "_resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
22
22
  "_shasum": "08a7f2a8bf734604779a9efa4ad5cc717abb954b",
23
23
  "_spec": "npmlog@^4.0.2",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/node-pre-gyp",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/node-pre-gyp",
25
25
  "author": {
26
26
  "name": "Isaac Z. Schlueter",
27
27
  "email": "i@izs.me",
@@ -21,7 +21,7 @@
21
21
  "_resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
22
22
  "_shasum": "097b602b53422a522c1afb8790318336941a011d",
23
23
  "_spec": "number-is-nan@^1.0.0",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/is-fullwidth-code-point",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/is-fullwidth-code-point",
25
25
  "author": {
26
26
  "name": "Sindre Sorhus",
27
27
  "email": "sindresorhus@gmail.com",
@@ -21,7 +21,7 @@
21
21
  "_resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
22
22
  "_shasum": "2109adc7965887cfc05cbbd442cac8bfbb360863",
23
23
  "_spec": "object-assign@^4.1.0",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/gauge",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/gauge",
25
25
  "author": {
26
26
  "name": "Sindre Sorhus",
27
27
  "email": "sindresorhus@gmail.com",
@@ -22,7 +22,7 @@
22
22
  "_resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
23
23
  "_shasum": "583b1aa775961d4b113ac17d9c50baef9dd76bd1",
24
24
  "_spec": "once@^1.3.0",
25
- "_where": "/Users/pipobscure/fsevents/node_modules/glob",
25
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/glob",
26
26
  "author": {
27
27
  "name": "Isaac Z. Schlueter",
28
28
  "email": "i@izs.me",
@@ -21,7 +21,7 @@
21
21
  "_resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
22
22
  "_shasum": "ffbc4988336e0e833de0c168c7ef152121aa7fb3",
23
23
  "_spec": "os-homedir@^1.0.0",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/osenv",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/osenv",
25
25
  "author": {
26
26
  "name": "Sindre Sorhus",
27
27
  "email": "sindresorhus@gmail.com",
@@ -21,7 +21,7 @@
21
21
  "_resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
22
22
  "_shasum": "bbe67406c79aa85c5cfec766fe5734555dfa1274",
23
23
  "_spec": "os-tmpdir@^1.0.0",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/osenv",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/osenv",
25
25
  "author": {
26
26
  "name": "Sindre Sorhus",
27
27
  "email": "sindresorhus@gmail.com",
@@ -21,7 +21,7 @@
21
21
  "_resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
22
22
  "_shasum": "85cdfafaeb28e8677f416e287592b5f3f49ea410",
23
23
  "_spec": "osenv@^0.1.4",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/nopt",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/nopt",
25
25
  "author": {
26
26
  "name": "Isaac Z. Schlueter",
27
27
  "email": "i@izs.me",
@@ -21,7 +21,7 @@
21
21
  "_resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
22
22
  "_shasum": "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f",
23
23
  "_spec": "path-is-absolute@^1.0.0",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/glob",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/glob",
25
25
  "author": {
26
26
  "name": "Sindre Sorhus",
27
27
  "email": "sindresorhus@gmail.com",
@@ -21,7 +21,7 @@
21
21
  "_resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
22
22
  "_shasum": "7820d9b16120cc55ca9ae7792680ae7dba6d7fe2",
23
23
  "_spec": "process-nextick-args@~2.0.0",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/readable-stream",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/readable-stream",
25
25
  "author": "",
26
26
  "bugs": {
27
27
  "url": "https://github.com/calvinmetcalf/process-nextick-args/issues"
@@ -21,14 +21,14 @@
21
21
  "_resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
22
22
  "_shasum": "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed",
23
23
  "_spec": "rc@^1.2.7",
24
- "_where": "/Users/pipobscure/fsevents/node_modules/node-pre-gyp",
24
+ "_where": "/Users/user/Developer/personal/fsevents/node_modules/node-pre-gyp",
25
25
  "author": {
26
26
  "name": "Dominic Tarr",
27
27
  "email": "dominic.tarr@gmail.com",
28
28
  "url": "dominictarr.com"
29
29
  },
30
30
  "bin": {
31
- "rc": "./cli.js"
31
+ "rc": "cli.js"
32
32
  },
33
33
  "browser": "browser.js",
34
34
  "bugs": {