diff --git a/package-lock.json b/package-lock.json index 429ef0a423..75c7f1e6ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@neighbourhoodie/websql": "2.0.4", "double-ended-queue": "2.1.0-0", - "fetch-cookie": "2.2.0", + "fetch-cookie": "3.2.0", "level": "6.0.1", "level-codec": "9.0.2", "level-write-stream": "1.0.0", @@ -20,7 +20,6 @@ "localstorage-down": "0.6.7", "ltgt": "2.2.1", "memdown": "1.4.1", - "node-fetch": "2.6.9", "readable-stream": "1.1.14", "spark-md5": "3.0.2", "through2": "3.0.2", @@ -403,9 +402,9 @@ "license": "MIT" }, "node_modules/@11ty/eleventy/node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { @@ -3377,7 +3376,7 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "devOptional": true, + "dev": true, "dependencies": { "iconv-lite": "^0.6.2" } @@ -3400,7 +3399,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "devOptional": true, + "dev": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -4305,12 +4304,25 @@ } }, "node_modules/fetch-cookie": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-2.2.0.tgz", - "integrity": "sha512-h9AgfjURuCgA2+2ISl8GbavpUdR+WGAM2McW/ovn4tVccegp8ZqCKWSBR8uRdM8dDNlx5WdKRWxBYUwteLDCNQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-3.2.0.tgz", + "integrity": "sha512-n61pQIxP25C6DRhcJxn7BDzgHP/+S56Urowb5WFxtcRMpU6drqXD90xjyAsVQYsNSNNVbaCcYY1DuHsdkZLuiA==", + "license": "Unlicense", "dependencies": { "set-cookie-parser": "^2.4.8", - "tough-cookie": "^4.0.0" + "tough-cookie": "^6.0.0" + } + }, + "node_modules/fetch-cookie/node_modules/tough-cookie": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", + "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" } }, "node_modules/file-entry-cache": { @@ -4448,9 +4460,9 @@ "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", - "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true, "funding": [ { @@ -4458,7 +4470,6 @@ "url": "https://github.com/sponsors/RubenVerborgh" } ], - "license": "MIT", "engines": { "node": ">=4.0" }, @@ -4531,20 +4542,6 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -6469,9 +6466,9 @@ } }, "node_modules/liquidjs": { - "version": "10.25.5", - "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.25.5.tgz", - "integrity": "sha512-GKiKeZjJDdVoQAu+S9rzkYsYnYhcep5W3WwZXgb5f+yq484P/k9JqamBbGYu+LBEixcUAXZr2jogdAIjB3ki1w==", + "version": "10.25.0", + "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.25.0.tgz", + "integrity": "sha512-XpO7AiGULTG4xcTlwkcTI5JreFG7b6esLCLp+aUSh7YuQErJZEoUXre9u9rbdb0057pfWG4l0VursvLd5Q/eAw==", "dev": true, "license": "MIT", "dependencies": { @@ -7311,25 +7308,6 @@ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", "dev": true }, - "node_modules/node-fetch": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", - "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, "node_modules/node-gyp-build": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz", @@ -7899,11 +7877,10 @@ "dev": true }, "node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -7954,20 +7931,6 @@ "node": ">=18" } }, - "node_modules/playwright/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/please-upgrade-node": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", @@ -9002,7 +8965,8 @@ "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true }, "node_modules/public-encrypt": { "version": "4.0.3", @@ -9088,7 +9052,8 @@ "node_modules/querystringify": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true }, "node_modules/queue-microtask": { "version": "1.2.3", @@ -9510,7 +9475,8 @@ "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true }, "node_modules/resolve": { "version": "1.22.3", @@ -9717,7 +9683,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "devOptional": true + "dev": true }, "node_modules/sanitize-filename": { "version": "1.6.3", @@ -10781,9 +10747,9 @@ } }, "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { @@ -10793,6 +10759,24 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/tldts": { + "version": "7.0.28", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.28.tgz", + "integrity": "sha512-+Zg3vWhRUv8B1maGSTFdev9mjoo8Etn2Ayfs4cnjlD3CsGkxXX4QyW3j2WJ0wdjYcYmy7Lx2RDsZMhgCWafKIw==", + "license": "MIT", + "dependencies": { + "tldts-core": "^7.0.28" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.0.28", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.28.tgz", + "integrity": "sha512-7W5Efjhsc3chVdFhqtaU0KtK32J37Zcr9RKtID54nG+tIpcY79CQK/veYPODxtD/LJ4Lue66jvrQzIX2Z2/pUQ==", + "license": "MIT" + }, "node_modules/to-buffer": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz", @@ -10842,6 +10826,7 @@ "version": "4.1.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -10856,6 +10841,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, "engines": { "node": ">=6" } @@ -10863,7 +10849,8 @@ "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true }, "node_modules/truncate-utf8-bytes": { "version": "1.0.2", @@ -11163,6 +11150,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, "engines": { "node": ">= 4.0.0" } @@ -11264,6 +11252,7 @@ "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -11392,12 +11381,14 @@ "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" diff --git a/package.json b/package.json index e8eed0f0a3..58f2b9e1a9 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ }, "dependencies": { "double-ended-queue": "2.1.0-0", - "fetch-cookie": "2.2.0", + "fetch-cookie": "3.2.0", "level": "6.0.1", "level-codec": "9.0.2", "level-write-stream": "1.0.0", @@ -46,7 +46,6 @@ "localstorage-down": "0.6.7", "ltgt": "2.2.1", "memdown": "1.4.1", - "node-fetch": "2.6.9", "readable-stream": "1.1.14", "spark-md5": "3.0.2", "through2": "3.0.2", diff --git a/packages/node_modules/pouchdb-abstract-mapreduce/src/index.js b/packages/node_modules/pouchdb-abstract-mapreduce/src/index.js index 0ec19ed37e..ac5ecce982 100644 --- a/packages/node_modules/pouchdb-abstract-mapreduce/src/index.js +++ b/packages/node_modules/pouchdb-abstract-mapreduce/src/index.js @@ -16,7 +16,6 @@ import { } from 'pouchdb-collate'; import { generateErrorFromResponse } from 'pouchdb-errors'; -import { Headers } from 'pouchdb-fetch'; import TaskQueue from './taskqueue'; import createView from './createView'; import { diff --git a/packages/node_modules/pouchdb-adapter-http/src/index.js b/packages/node_modules/pouchdb-adapter-http/src/index.js index b19f2b4122..d02bac03b8 100644 --- a/packages/node_modules/pouchdb-adapter-http/src/index.js +++ b/packages/node_modules/pouchdb-adapter-http/src/index.js @@ -2,7 +2,7 @@ import pool from './promise-pool'; -import { fetch, Headers } from 'pouchdb-fetch'; +import { fetch } from 'pouchdb-fetch'; import { createError, @@ -23,6 +23,7 @@ import { import { atob, btoa, + arrayBufferToBlobOrBuffer, binaryStringToBlobOrBuffer as binStringToBluffer, base64StringToBlobOrBuffer as b64StringToBluffer, blobOrBufferToBase64 as blufferToBase64 @@ -514,20 +515,11 @@ function HttpPouch(opts, callback) { const response = await ourFetch(genDBUrl(host, path)); - let blob; - if ('buffer' in response) { - blob = await response.buffer(); - } else { - /* istanbul ignore next */ - blob = await response.blob(); - } + const arrayBuffer = await response.arrayBuffer(); + const blob = arrayBufferToBlobOrBuffer(arrayBuffer, att.content_type); let data; if (opts.binary) { - const typeFieldDescriptor = Object.getOwnPropertyDescriptor(blob.__proto__, 'type'); - if (!typeFieldDescriptor || typeFieldDescriptor.set) { - blob.type = att.content_type; - } data = blob; } else { data = await new Promise(function (resolve) { @@ -635,21 +627,10 @@ function HttpPouch(opts, callback) { } contentType = response.headers.get('content-type'); - let blob; - if (typeof process !== 'undefined' && !process.browser && typeof response.buffer === 'function') { - blob = await response.buffer(); - } else { - /* istanbul ignore next */ - blob = await response.blob(); - } - // TODO: also remove - if (typeof process !== 'undefined' && !process.browser) { - const typeFieldDescriptor = Object.getOwnPropertyDescriptor(blob.__proto__, 'type'); - if (!typeFieldDescriptor || typeFieldDescriptor.set) { - blob.type = contentType; - } - } + const arrayBuffer = await response.arrayBuffer(); + const blob = arrayBufferToBlobOrBuffer(arrayBuffer, contentType); + callback(null, blob); } catch (err) { callback(err); diff --git a/packages/node_modules/pouchdb-binary-utils/package.json b/packages/node_modules/pouchdb-binary-utils/package.json index 4a19310e7e..9d094c377c 100644 --- a/packages/node_modules/pouchdb-binary-utils/package.json +++ b/packages/node_modules/pouchdb-binary-utils/package.json @@ -20,6 +20,7 @@ "./src/binaryStringToBlobOrBuffer.js": "./src/binaryStringToBlobOrBuffer-browser.js", "./src/blobOrBufferToBase64.js": "./src/blobOrBufferToBase64-browser.js", "./src/blobOrBufferToBinaryString.js": "./src/blobOrBufferToBinaryString-browser.js", - "./src/typedBuffer.js": "./src/typedBuffer-browser.js" + "./src/typedBuffer.js": "./src/typedBuffer-browser.js", + "./src/arrayBufferToBlobOrBuffer.js": "./src/arrayBufferToBlobOrBuffer-browser.js" } } diff --git a/packages/node_modules/pouchdb-binary-utils/src/arrayBufferToBlobOrBuffer-browser.js b/packages/node_modules/pouchdb-binary-utils/src/arrayBufferToBlobOrBuffer-browser.js new file mode 100644 index 0000000000..56c2c54187 --- /dev/null +++ b/packages/node_modules/pouchdb-binary-utils/src/arrayBufferToBlobOrBuffer-browser.js @@ -0,0 +1,8 @@ +import blob from 'pouchdb-binary-utils/src/blob'; + +function arrayBufferToBlobOrBuffer(arrayBuffer, type) { + // In the browser, create a Blob + return blob([arrayBuffer], { type }); +} + +export default arrayBufferToBlobOrBuffer; diff --git a/packages/node_modules/pouchdb-binary-utils/src/arrayBufferToBlobOrBuffer.js b/packages/node_modules/pouchdb-binary-utils/src/arrayBufferToBlobOrBuffer.js new file mode 100644 index 0000000000..57cba80301 --- /dev/null +++ b/packages/node_modules/pouchdb-binary-utils/src/arrayBufferToBlobOrBuffer.js @@ -0,0 +1,10 @@ +function arrayBufferToBlobOrBuffer(arrayBuffer, type) { + // In Node.js, create a Buffer + const buffer = Buffer.from(arrayBuffer); + /* PouchDB uses `type` in various places, see `packages/node_modules/pouchdb-binary-utils/src/typedBuffer.js` + */ + buffer.type = type; + return buffer; +} + +export default arrayBufferToBlobOrBuffer; diff --git a/packages/node_modules/pouchdb-binary-utils/src/index.js b/packages/node_modules/pouchdb-binary-utils/src/index.js index bf6245347d..48dc7c0502 100644 --- a/packages/node_modules/pouchdb-binary-utils/src/index.js +++ b/packages/node_modules/pouchdb-binary-utils/src/index.js @@ -1,4 +1,5 @@ import {atob, btoa} from './base64'; +import arrayBufferToBlobOrBuffer from './arrayBufferToBlobOrBuffer'; import base64StringToBlobOrBuffer from './base64StringToBlobOrBuffer'; import binaryStringToArrayBuffer from './binaryStringToArrayBuffer'; import binaryStringToBlobOrBuffer from './binaryStringToBlobOrBuffer'; @@ -12,6 +13,7 @@ import typedBuffer from './typedBuffer'; export { atob, btoa, + arrayBufferToBlobOrBuffer, base64StringToBlobOrBuffer, binaryStringToArrayBuffer, binaryStringToBlobOrBuffer, diff --git a/packages/node_modules/pouchdb-fetch/src/fetch-browser.js b/packages/node_modules/pouchdb-fetch/src/fetch-browser.js index ffc924dc1e..a5bc1c1f47 100644 --- a/packages/node_modules/pouchdb-fetch/src/fetch-browser.js +++ b/packages/node_modules/pouchdb-fetch/src/fetch-browser.js @@ -1,6 +1,5 @@ 'use strict'; var f = fetch; -var h = Headers; -export { f as fetch, h as Headers }; +export { f as fetch }; diff --git a/packages/node_modules/pouchdb-fetch/src/fetch.js b/packages/node_modules/pouchdb-fetch/src/fetch.js index f1b95b4d80..8c5843516b 100644 --- a/packages/node_modules/pouchdb-fetch/src/fetch.js +++ b/packages/node_modules/pouchdb-fetch/src/fetch.js @@ -1,8 +1,7 @@ 'use strict'; -import nodeFetch, {Headers} from 'node-fetch'; -import fetchCookie from 'fetch-cookie'; +import makeFetchCookie from 'fetch-cookie'; -var fetch = fetchCookie(nodeFetch); +const fetchWithCookie = makeFetchCookie(fetch); -export { fetch, Headers }; +export { fetchWithCookie as fetch }; diff --git a/packages/node_modules/pouchdb-fetch/src/index.js b/packages/node_modules/pouchdb-fetch/src/index.js index 70e6512182..396f29a110 100644 --- a/packages/node_modules/pouchdb-fetch/src/index.js +++ b/packages/node_modules/pouchdb-fetch/src/index.js @@ -1 +1 @@ -export { fetch, Headers } from './fetch'; +export { fetch } from './fetch'; diff --git a/packages/node_modules/pouchdb-find/src/adapters/http/index.js b/packages/node_modules/pouchdb-find/src/adapters/http/index.js index 2efb3767f7..d39147c598 100644 --- a/packages/node_modules/pouchdb-find/src/adapters/http/index.js +++ b/packages/node_modules/pouchdb-find/src/adapters/http/index.js @@ -1,5 +1,4 @@ import { createError, generateErrorFromResponse } from 'pouchdb-errors'; -import { Headers } from 'pouchdb-fetch'; import massageCreateIndexRequest from '../../massageCreateIndexRequest'; import validateSelector from '../../validateSelector'; diff --git a/tests/component/test.ajax.js b/tests/component/test.ajax.js index 541650e48d..5f36d86f7f 100644 --- a/tests/component/test.ajax.js +++ b/tests/component/test.ajax.js @@ -15,9 +15,9 @@ describe('test.ajax.js', function () { res.end(JSON.stringify({ok: req.headers.cookie === 'Test=test'})); } }); - server.listen(6000, function () { - PouchDB.fetch('http://127.0.0.1:6000/install-cookie').then(function () { - return PouchDB.fetch('http://127.0.0.1:6000/check-cookie'); + server.listen(6100, function () { + PouchDB.fetch('http://127.0.0.1:6100/install-cookie').then(function () { + return PouchDB.fetch('http://127.0.0.1:6100/check-cookie'); }).then(function (response) { return response.json(); }).then(function (res) { @@ -32,8 +32,8 @@ describe('test.ajax.js', function () { var server = http.createServer(function (req, res) { res.end(JSON.stringify({ok: req.url === '/testdb/path'})); }); - server.listen(6000, function () { - var db = new PouchDB('http://127.0.0.1:6000/testdb', { skip_setup: true }); + server.listen(6100, function () { + var db = new PouchDB('http://127.0.0.1:6100/testdb', { skip_setup: true }); db.fetch('path').then(function (response) { return response.json(); }).then(function (res) { @@ -48,8 +48,8 @@ describe('test.ajax.js', function () { var server = http.createServer(function (req, res) { res.end(JSON.stringify({ok: req.url === '/root-path'})); }); - server.listen(6000, function () { - var db = new PouchDB('http://127.0.0.1:6000/testdb', { skip_setup: true }); + server.listen(6100, function () { + var db = new PouchDB('http://127.0.0.1:6100/testdb', { skip_setup: true }); db.fetch('/root-path').then(function (response) { return response.json(); }).then(function (res) { diff --git a/tests/component/test.replication_perf_regression.js b/tests/component/test.replication_perf_regression.js index 84595cdd3b..495bccc280 100644 --- a/tests/component/test.replication_perf_regression.js +++ b/tests/component/test.replication_perf_regression.js @@ -35,6 +35,8 @@ describe('test.replication_perf_regression.js', function () { }); after(function (done) { + // server.close takes surprisingly long + this.timeout(10000); server.close(done); }); diff --git a/tests/integration/utils.js b/tests/integration/utils.js index 4d81fc187f..4fc12474ec 100644 --- a/tests/integration/utils.js +++ b/tests/integration/utils.js @@ -32,7 +32,11 @@ testUtils.adapterType = function () { testUtils.readBlob = function (blob, callback) { if (testUtils.isNode()) { - callback(blob.toString('binary')); + if (blob.text) { + blob.text().then(text => callback(text)); + } else { + callback(blob.toString('binary')); + } } else { var reader = new FileReader(); reader.onloadend = function () { @@ -59,7 +63,11 @@ testUtils.readBlobPromise = function (blob) { testUtils.base64Blob = function (blob, callback) { if (testUtils.isNode()) { - callback(blob.toString('base64')); + if (blob.text) { + blob.text().then(text => callback(text)); + } else { + callback(blob.toString('base64')); + } } else { testUtils.readBlob(blob, function (binary) { callback(testUtils.btoa(binary));