From 629d0f2b3761d26d982287900da03e0da0f1e45c Mon Sep 17 00:00:00 2001 From: nd0ut Date: Fri, 5 Jul 2019 17:52:06 +0300 Subject: [PATCH 1/8] add node progress --- .size-snapshot.json | 50 +++++++++++++++++++++++++++++++++++++------ rollup.config.js | 27 ++++++++++++++++------- src/api/request.ts | 30 ++++++++++++++++++++++++++ test/api/base.spec.ts | 2 +- 4 files changed, 94 insertions(+), 15 deletions(-) diff --git a/.size-snapshot.json b/.size-snapshot.json index c0401ea83..ddff731ab 100644 --- a/.size-snapshot.json +++ b/.size-snapshot.json @@ -19,13 +19,51 @@ "gzipped": 5533 }, "dist/uploadcare-upload-client.js": { - "bundled": 93833, - "minified": 29688, - "gzipped": 9090 + "bundled": 96243, + "minified": 30471, + "gzipped": 9199 }, "dist/uploadcare-upload-client.min.js": { - "bundled": 29872, - "minified": 29672, - "gzipped": 9111 + "bundled": 30655, + "minified": 30435, + "gzipped": 9207 + }, + "dist/uploadcare-upload-client.browser.esm.js": { + "bundled": 48230, + "minified": 21381, + "gzipped": 5627, + "treeshaked": { + "rollup": { + "code": 16124, + "import_statements": 49 + }, + "webpack": { + "code": 19594 + } + } + }, + "dist/uploadcare-upload-client.browser.cjs.js": { + "bundled": 48318, + "minified": 21457, + "gzipped": 5652 + }, + "dist/uploadcare-upload-client.node.esm.js": { + "bundled": 48828, + "minified": 21625, + "gzipped": 5724, + "treeshaked": { + "rollup": { + "code": 16364, + "import_statements": 49 + }, + "webpack": { + "code": 19836 + } + } + }, + "dist/uploadcare-upload-client.node.cjs.js": { + "bundled": 48916, + "minified": 21701, + "gzipped": 5749 } } diff --git a/rollup.config.js b/rollup.config.js index 6af1d7966..7b22ad314 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -7,9 +7,12 @@ import {terser} from 'rollup-plugin-terser' import {sizeSnapshot} from 'rollup-plugin-size-snapshot' import json from 'rollup-plugin-json' -const getPlugins = (format, minify = false) => +const getPlugins = (format, env, minify = false) => [ - replace({'process.env.NODE_ENV': process.env.NODE_ENV}), + replace({ + 'process.env.NODE_ENV': process.env.NODE_ENV, + 'process.env.FOR_NODE': env === 'node', + }), json(), resolve({browser: format === 'umd'}), format === 'umd' && @@ -30,19 +33,19 @@ const getPlugins = (format, minify = false) => sizeSnapshot(), ].filter(plugin => !!plugin) -const chosePostfix = (format, minify = false) => { +const chosePostfix = (format, env, minify = false) => { if (minify) return '.min' if (format === 'umd') return '' - else return `.${format}` + else return `.${env}.${format}` } -const getConfig = (format, minify = false) => ({ +const getConfig = (format, env, minify = false) => ({ input: 'src/index.ts', - plugins: getPlugins(format, minify), + plugins: getPlugins(format, env, minify), external: format === 'umd' ? [] : ['axios', 'form-data'], output: [ { - file: `dist/uploadcare-upload-client${chosePostfix(format, minify)}.js`, + file: `dist/uploadcare-upload-client${chosePostfix(format, env, minify)}.js`, format, name: 'uploadcareAPI', interop: false, @@ -50,4 +53,12 @@ const getConfig = (format, minify = false) => ({ ], }) -export default [getConfig('esm'), getConfig('cjs'), getConfig('umd'), getConfig('umd', true)] +export default [ + getConfig('esm', 'browser'), + getConfig('cjs', 'browser'), + getConfig('umd', 'browser'), + getConfig('umd', 'browser', true), + + getConfig('esm', 'node'), + getConfig('cjs', 'node'), +] diff --git a/src/api/request.ts b/src/api/request.ts index 8af2a439e..2be4af3b6 100644 --- a/src/api/request.ts +++ b/src/api/request.ts @@ -52,6 +52,36 @@ const MAX_CONTENT_LENGTH = 50 * 1000 * 1000 const DEFAULT_FILE_NAME = 'original' const DEFAULT_RETRY_AFTER_TIMEOUT = 15000 +if (process.env.FOR_NODE) { + axios.interceptors.request.use( + function(config) { + const {data, onUploadProgress} = config + if (!onUploadProgress) { + return config + } + + const total = data.getLengthSync() + + let loaded = 0 + + data.on('data', chunk => { + console.log(chunk) + loaded += chunk.length + + onUploadProgress({ + total, + loaded, + } as ProgressEvent) + }) + + return config + }, + function(error) { + return Promise.reject(error) + } + ) +} + /** * Updates options with Uploadcare Settings * diff --git a/test/api/base.spec.ts b/test/api/base.spec.ts index 088e78763..de9f10c1c 100644 --- a/test/api/base.spec.ts +++ b/test/api/base.spec.ts @@ -78,7 +78,7 @@ describe('API - base', () => { }) }) - xit('should be able to handle progress', (done) => { + it('should be able to handle progress', (done) => { let progressValue = 0 const settings = getSettingsForTesting({ publicKey: factory.publicKey('demo') From aa6f020c550264ed25fa6959d62877d43c67a9b0 Mon Sep 17 00:00:00 2001 From: nd0ut Date: Mon, 8 Jul 2019 12:02:42 +0300 Subject: [PATCH 2/8] refactor env variable and update entry point --- package.json | 8 ++++---- rollup.config.js | 2 +- src/api/request.ts | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 6bdab9915..269b3577e 100644 --- a/package.json +++ b/package.json @@ -2,16 +2,16 @@ "name": "@uploadcare/upload-client", "version": "1.0.0-alpha.3", "description": "Library for work with Uploadcare Upload API", - "main": "dist/uploadcare-upload-client.cjs.js", - "module": "dist/uploadcare-upload-client.esm.js", + "main": "dist/uploadcare-upload-client.node.cjs.js", + "module": "dist/uploadcare-upload-client.browser.esm.js", "types": "dist/src/index.d.ts", "scripts": { "clean": "rimraf dist", "lint": "eslint .", "mock:start": "cd ./mock-server && npm run start", "test": "npm-run-all lint test:node test:browser", - "test:node": "jasmine-ts --project test/tsconfig.json --config=test/jasmine.config.json", - "test:browser": "karma start karma.config.js --single-run --nocache", + "test:node": "BUNDLE_ENV=node jasmine-ts --project test/tsconfig.json --config=test/jasmine.config.json", + "test:browser": "BUNDLE_ENV=browser karma start karma.config.js --single-run --nocache", "test:browser:debug": "karma start karma.config.js --browsers=Chrome --single-run=false --watch --debug --nocache", "prebuild": "npm run clean", "build": "NODE_ENV=production rollup -c rollup.config.js", diff --git a/rollup.config.js b/rollup.config.js index 7b22ad314..85ccec86b 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -11,7 +11,7 @@ const getPlugins = (format, env, minify = false) => [ replace({ 'process.env.NODE_ENV': process.env.NODE_ENV, - 'process.env.FOR_NODE': env === 'node', + 'process.env.BUNDLE_ENV': env, }), json(), resolve({browser: format === 'umd'}), diff --git a/src/api/request.ts b/src/api/request.ts index 2be4af3b6..4a92269be 100644 --- a/src/api/request.ts +++ b/src/api/request.ts @@ -52,7 +52,7 @@ const MAX_CONTENT_LENGTH = 50 * 1000 * 1000 const DEFAULT_FILE_NAME = 'original' const DEFAULT_RETRY_AFTER_TIMEOUT = 15000 -if (process.env.FOR_NODE) { +if (process.env.BUNDLE_ENV === 'node') { axios.interceptors.request.use( function(config) { const {data, onUploadProgress} = config From c29a0a34e009e847d57aa16083dd6d18ec46cbdd Mon Sep 17 00:00:00 2001 From: nd0ut Date: Mon, 8 Jul 2019 12:08:16 +0300 Subject: [PATCH 3/8] remove console log --- src/api/request.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/api/request.ts b/src/api/request.ts index 4a92269be..50974612f 100644 --- a/src/api/request.ts +++ b/src/api/request.ts @@ -65,7 +65,6 @@ if (process.env.BUNDLE_ENV === 'node') { let loaded = 0 data.on('data', chunk => { - console.log(chunk) loaded += chunk.length onUploadProgress({ From 87932a1204d20ad363b8f2ff38b22fd9c83c41df Mon Sep 17 00:00:00 2001 From: nd0ut Date: Mon, 8 Jul 2019 12:19:18 +0300 Subject: [PATCH 4/8] use arrow functions --- src/api/request.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/api/request.ts b/src/api/request.ts index 50974612f..698c1982c 100644 --- a/src/api/request.ts +++ b/src/api/request.ts @@ -54,7 +54,7 @@ const DEFAULT_RETRY_AFTER_TIMEOUT = 15000 if (process.env.BUNDLE_ENV === 'node') { axios.interceptors.request.use( - function(config) { + config => { const {data, onUploadProgress} = config if (!onUploadProgress) { return config @@ -75,7 +75,7 @@ if (process.env.BUNDLE_ENV === 'node') { return config }, - function(error) { + error => { return Promise.reject(error) } ) From 77fcfb1aebc2b860aa743476b64b6f2daaa8cafd Mon Sep 17 00:00:00 2001 From: nd0ut Date: Mon, 8 Jul 2019 12:19:24 +0300 Subject: [PATCH 5/8] update changelog --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f81eacf0b..9f34c8277 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## Added * Wrappers for group paths of Upload API (`group`, `groupInfo`) +* `onUploadProgress` for Node.js [Unreleased]: https://github.com/uploadcare/uploadcare-upload-client/compare/v1.0.0-alpha.3...HEAD @@ -19,7 +20,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. * Support `fileFrom` 'uploaded' file (`uuid`) * Support of `waiting` status from `/from_url/status/` endpoint. -* Export some main types from `index.ts` file. +* Export some main types from `index.ts` file. So you can import them now directly from `@uploadcare/upload-client` * Throttling for `request` * `retryThrottledMaxTimes` param to set count of max retries after throttled request (1 by default) @@ -87,7 +88,7 @@ The first public alpha release. * Low-level request wrappers for `/base/` and `/info/` paths of Upload API. * `UploadClient` class with settings and `fileFrom` method that supports only direct uploads now. -* Support of following Uploadcare Settings: `publicKey`, `baseUrl`, +* Support of following Uploadcare Settings: `publicKey`, `baseUrl`, `doNotStore`, `integration`, `secureExpire`, `secureSignature`. * Test environment for both Node.js and browsers From e3e11dfe64c6680745df084f53a5f3db63ffbf34 Mon Sep 17 00:00:00 2001 From: nd0ut Date: Mon, 8 Jul 2019 12:25:40 +0300 Subject: [PATCH 6/8] do not separate bundles --- package.json | 8 ++++---- rollup.config.js | 27 ++++++++------------------- src/api/request.ts | 3 ++- src/tools/isNode.ts | 8 ++++++++ 4 files changed, 22 insertions(+), 24 deletions(-) create mode 100644 src/tools/isNode.ts diff --git a/package.json b/package.json index 269b3577e..6bdab9915 100644 --- a/package.json +++ b/package.json @@ -2,16 +2,16 @@ "name": "@uploadcare/upload-client", "version": "1.0.0-alpha.3", "description": "Library for work with Uploadcare Upload API", - "main": "dist/uploadcare-upload-client.node.cjs.js", - "module": "dist/uploadcare-upload-client.browser.esm.js", + "main": "dist/uploadcare-upload-client.cjs.js", + "module": "dist/uploadcare-upload-client.esm.js", "types": "dist/src/index.d.ts", "scripts": { "clean": "rimraf dist", "lint": "eslint .", "mock:start": "cd ./mock-server && npm run start", "test": "npm-run-all lint test:node test:browser", - "test:node": "BUNDLE_ENV=node jasmine-ts --project test/tsconfig.json --config=test/jasmine.config.json", - "test:browser": "BUNDLE_ENV=browser karma start karma.config.js --single-run --nocache", + "test:node": "jasmine-ts --project test/tsconfig.json --config=test/jasmine.config.json", + "test:browser": "karma start karma.config.js --single-run --nocache", "test:browser:debug": "karma start karma.config.js --browsers=Chrome --single-run=false --watch --debug --nocache", "prebuild": "npm run clean", "build": "NODE_ENV=production rollup -c rollup.config.js", diff --git a/rollup.config.js b/rollup.config.js index 85ccec86b..6af1d7966 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -7,12 +7,9 @@ import {terser} from 'rollup-plugin-terser' import {sizeSnapshot} from 'rollup-plugin-size-snapshot' import json from 'rollup-plugin-json' -const getPlugins = (format, env, minify = false) => +const getPlugins = (format, minify = false) => [ - replace({ - 'process.env.NODE_ENV': process.env.NODE_ENV, - 'process.env.BUNDLE_ENV': env, - }), + replace({'process.env.NODE_ENV': process.env.NODE_ENV}), json(), resolve({browser: format === 'umd'}), format === 'umd' && @@ -33,19 +30,19 @@ const getPlugins = (format, env, minify = false) => sizeSnapshot(), ].filter(plugin => !!plugin) -const chosePostfix = (format, env, minify = false) => { +const chosePostfix = (format, minify = false) => { if (minify) return '.min' if (format === 'umd') return '' - else return `.${env}.${format}` + else return `.${format}` } -const getConfig = (format, env, minify = false) => ({ +const getConfig = (format, minify = false) => ({ input: 'src/index.ts', - plugins: getPlugins(format, env, minify), + plugins: getPlugins(format, minify), external: format === 'umd' ? [] : ['axios', 'form-data'], output: [ { - file: `dist/uploadcare-upload-client${chosePostfix(format, env, minify)}.js`, + file: `dist/uploadcare-upload-client${chosePostfix(format, minify)}.js`, format, name: 'uploadcareAPI', interop: false, @@ -53,12 +50,4 @@ const getConfig = (format, env, minify = false) => ({ ], }) -export default [ - getConfig('esm', 'browser'), - getConfig('cjs', 'browser'), - getConfig('umd', 'browser'), - getConfig('umd', 'browser', true), - - getConfig('esm', 'node'), - getConfig('cjs', 'node'), -] +export default [getConfig('esm'), getConfig('cjs'), getConfig('umd'), getConfig('umd', true)] diff --git a/src/api/request.ts b/src/api/request.ts index 698c1982c..db293b5d1 100644 --- a/src/api/request.ts +++ b/src/api/request.ts @@ -9,6 +9,7 @@ import {FileData, Settings} from '../types' import {BaseProgress} from './base' import {Thenable} from '../tools/Thenable' import {CancelableInterface} from './types' +import {isNode} from '../tools/isNode' export type Query = { [key: string]: string | string[] | boolean | number | void, @@ -52,7 +53,7 @@ const MAX_CONTENT_LENGTH = 50 * 1000 * 1000 const DEFAULT_FILE_NAME = 'original' const DEFAULT_RETRY_AFTER_TIMEOUT = 15000 -if (process.env.BUNDLE_ENV === 'node') { +if (isNode()) { axios.interceptors.request.use( config => { const {data, onUploadProgress} = config diff --git a/src/tools/isNode.ts b/src/tools/isNode.ts new file mode 100644 index 000000000..529cc27d8 --- /dev/null +++ b/src/tools/isNode.ts @@ -0,0 +1,8 @@ +export const isNode = (): boolean => { + try { + return Object.prototype.toString.call(global.process) === '[object process]' + } + catch (e) { + return false + } +} From 3d79471b2b19bf002259b74983582fa2e80a9731 Mon Sep 17 00:00:00 2001 From: nd0ut Date: Mon, 8 Jul 2019 12:26:24 +0300 Subject: [PATCH 7/8] update size snapshot --- .size-snapshot.json | 66 ++++++++++----------------------------------- 1 file changed, 14 insertions(+), 52 deletions(-) diff --git a/.size-snapshot.json b/.size-snapshot.json index ddff731ab..4dc5538be 100644 --- a/.size-snapshot.json +++ b/.size-snapshot.json @@ -1,69 +1,31 @@ { "dist/uploadcare-upload-client.esm.js": { - "bundled": 46088, - "minified": 20378, - "gzipped": 5507, + "bundled": 49011, + "minified": 21736, + "gzipped": 5769, "treeshaked": { "rollup": { - "code": 16124, + "code": 16463, "import_statements": 49 }, "webpack": { - "code": 18789 + "code": 19935 } } }, "dist/uploadcare-upload-client.cjs.js": { - "bundled": 46176, - "minified": 20454, - "gzipped": 5533 + "bundled": 49099, + "minified": 21812, + "gzipped": 5794 }, "dist/uploadcare-upload-client.js": { - "bundled": 96243, - "minified": 30471, - "gzipped": 9199 + "bundled": 97142, + "minified": 30810, + "gzipped": 9310 }, "dist/uploadcare-upload-client.min.js": { - "bundled": 30655, - "minified": 30435, - "gzipped": 9207 - }, - "dist/uploadcare-upload-client.browser.esm.js": { - "bundled": 48230, - "minified": 21381, - "gzipped": 5627, - "treeshaked": { - "rollup": { - "code": 16124, - "import_statements": 49 - }, - "webpack": { - "code": 19594 - } - } - }, - "dist/uploadcare-upload-client.browser.cjs.js": { - "bundled": 48318, - "minified": 21457, - "gzipped": 5652 - }, - "dist/uploadcare-upload-client.node.esm.js": { - "bundled": 48828, - "minified": 21625, - "gzipped": 5724, - "treeshaked": { - "rollup": { - "code": 16364, - "import_statements": 49 - }, - "webpack": { - "code": 19836 - } - } - }, - "dist/uploadcare-upload-client.node.cjs.js": { - "bundled": 48916, - "minified": 21701, - "gzipped": 5749 + "bundled": 30994, + "minified": 30774, + "gzipped": 9311 } } From 115736be933060183aab344f25016a1af6c0f791 Mon Sep 17 00:00:00 2001 From: nd0ut Date: Mon, 8 Jul 2019 12:29:30 +0300 Subject: [PATCH 8/8] update form-data package --- package-lock.json | 314 +++++++++++++++++++++++++++++++++++----------- package.json | 2 +- 2 files changed, 242 insertions(+), 74 deletions(-) diff --git a/package-lock.json b/package-lock.json index 21fa1a783..024ef8832 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@uploadcare/upload-client", - "version": "1.0.0-alpha.2", + "version": "1.0.0-alpha.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -14,9 +14,9 @@ } }, "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", "dev": true, "requires": { "chalk": "^2.0.0", @@ -454,9 +454,9 @@ "dev": true }, "acorn-walk": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", - "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", "dev": true }, "after": { @@ -1562,7 +1562,7 @@ }, "bl": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz", "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "dev": true, "requires": { @@ -1981,7 +1981,7 @@ }, "query-string": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "resolved": "http://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "dev": true, "requires": { @@ -3206,7 +3206,7 @@ }, "duplexer": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", "dev": true }, @@ -3562,9 +3562,9 @@ "dev": true }, "inquirer": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.3.1.tgz", - "integrity": "sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.4.1.tgz", + "integrity": "sha512-/Jw+qPZx4EDYsaT6uz7F4GJRNFMRdKNeUZw3ZnKV8lyuUgz/YWRCSUAJMZSVhSq4Ec0R2oYnyi6b3d4JXcL5Nw==", "dev": true, "requires": { "ansi-escapes": "^3.2.0", @@ -3637,6 +3637,165 @@ "requires": { "eslint": "^5.5.0", "eslint-plugin-react": "^7.10.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "eslint": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", + "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.9.1", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^4.0.3", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.2.2", + "js-yaml": "^3.13.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.11", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0" + } + }, + "espree": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", + "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", + "dev": true, + "requires": { + "acorn": "^6.0.7", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "inquirer": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.4.1.tgz", + "integrity": "sha512-/Jw+qPZx4EDYsaT6uz7F4GJRNFMRdKNeUZw3ZnKV8lyuUgz/YWRCSUAJMZSVhSq4Ec0R2oYnyi6b3d4JXcL5Nw==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.11", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + } + } + } } }, "eslint-plugin-react": { @@ -4165,9 +4324,9 @@ "dev": true }, "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.0.tgz", + "integrity": "sha512-WXieX3G/8side6VIqx44ablyULoGruSde5PNTxoUyo5CeyAMX6nVWUd0rgist/EuX655cjhUhTo1Fo3tRYqbcA==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -5161,7 +5320,7 @@ }, "globby": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "resolved": "http://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { @@ -5541,9 +5700,9 @@ "dev": true }, "import-fresh": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", - "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", + "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -5949,9 +6108,9 @@ "dev": true }, "is-reference": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.2.tgz", - "integrity": "sha512-Kn5g8c7XHKejFOpTf2QN9YjiHHKl5xRj+2uAZf9iM2//nkBNi/NNeB5JMoun28nEaUVHyPUzqzhfRlfAirEjXg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.3.tgz", + "integrity": "sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw==", "dev": true, "requires": { "@types/estree": "0.0.39" @@ -6588,9 +6747,9 @@ } }, "karma-typescript": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/karma-typescript/-/karma-typescript-4.1.0.tgz", - "integrity": "sha512-FhoZlPWVlkWN110KrUYcAOxTPeyvw9kg3uolxP2s/DsmUthdc5MWgl84yOr4j3xFGHStd9wLqek1nGRkFcJ35A==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/karma-typescript/-/karma-typescript-4.1.1.tgz", + "integrity": "sha512-NiGt3Lh8pxKY6hSW4mBV7X45zfB+EA4ezVMNN/vnzLvN+du0UoEc8lTAhrD/DMrjKP3wDlpabku652svRyguXg==", "dev": true, "requires": { "acorn": "^6.0.5", @@ -6637,9 +6796,9 @@ }, "dependencies": { "async": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/async/-/async-3.0.1.tgz", - "integrity": "sha512-ZswD8vwPtmBZzbn9xyi8XBQWXH3AvOQ43Za1KWYq7JeycrZuUYzx01KvHcVbXltjqH4y0MWrQ33008uLTqXuDw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.1.0.tgz", + "integrity": "sha512-4vx/aaY6j/j3Lw3fbCHNWP0pPaTCew3F6F3hYyl/tHs/ndmV1q7NW9T5yuJ2XAGwdQrP+6Wu20x06U4APo/iQQ==", "dev": true }, "readable-stream": { @@ -7822,7 +7981,7 @@ }, "p-cancelable": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "resolved": "http://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", "dev": true }, @@ -8349,9 +8508,9 @@ "dev": true }, "puppeteer": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.17.0.tgz", - "integrity": "sha512-3EXZSximCzxuVKpIHtyec8Wm2dWZn1fc5tQi34qWfiUgubEVYHjUvr0GOJojqf3mifI6oyKnCdrGxaOI+lWReA==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.18.1.tgz", + "integrity": "sha512-luUy0HPSuWPsPZ1wAp6NinE0zgetWtudf5zwZ6dHjMWfYpTQcmKveFRox7VBNhQ98OjNA9PQ9PzQyX8k/KrxTg==", "dev": true, "requires": { "debug": "^4.1.0", @@ -8803,27 +8962,35 @@ } }, "rollup": { - "version": "1.14.5", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.14.5.tgz", - "integrity": "sha512-XKegaT6NhrKuBvFQCeLfDJ7bNpfnWIMQfLx9+Qe34rrKaVOtNGVIf5vyIKuwS4JlF2l/nA7RvEsItXqyF0ZFZg==", + "version": "1.16.6", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.16.6.tgz", + "integrity": "sha512-oM3iKkzPCq9Da95wCnNfS8YlNZjgCD5c/TceKnJIthI9FOeJqnO3PUr/C5Suv9Kjzh0iphKL02PLeja3A5AMIA==", "dev": true, "requires": { "@types/estree": "0.0.39", - "@types/node": "^12.0.7", + "@types/node": "^12.0.10", "acorn": "^6.1.1" + }, + "dependencies": { + "@types/node": { + "version": "12.0.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.12.tgz", + "integrity": "sha512-Uy0PN4R5vgBUXFoJrKryf5aTk3kJ8Rv3PdlHjl6UaX+Cqp1QE0yPQ68MPXGrZOfG7gZVNDIJZYyot0B9ubXUrQ==", + "dev": true + } } }, "rollup-plugin-commonjs": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.0.tgz", - "integrity": "sha512-B8MoX5GRpj3kW4+YaFO/di2JsZkBxNjVmZ9LWjUoTAjq8N9wc7HObMXPsrvolVV9JXVtYSscflXM14A19dXPNQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.1.tgz", + "integrity": "sha512-x0PcCVdEc4J8igv1qe2vttz8JKAKcTs3wfIA3L8xEty3VzxgORLrzZrNWaVMc+pBC4U3aDOb9BnWLAQ8J11vkA==", "dev": true, "requires": { - "estree-walker": "^0.6.0", + "estree-walker": "^0.6.1", "is-reference": "^1.1.2", "magic-string": "^0.25.2", - "resolve": "^1.10.1", - "rollup-pluginutils": "^2.7.0" + "resolve": "^1.11.0", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-json": { @@ -8849,16 +9016,16 @@ } }, "rollup-plugin-node-resolve": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.0.1.tgz", - "integrity": "sha512-9s3dTu44SKQZM/Pwll42GpqXgT+WdvO0Ga01lF8cwZqJGqRUATtD+GrP3uIzZdpnbPonEJbVasfFt80VGPQqKw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", + "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", "dev": true, "requires": { "@types/resolve": "0.0.8", "builtin-modules": "^3.1.0", "is-module": "^1.0.0", - "resolve": "^1.11.0", - "rollup-pluginutils": "^2.8.0" + "resolve": "^1.11.1", + "rollup-pluginutils": "^2.8.1" } }, "rollup-plugin-replace": { @@ -8911,15 +9078,16 @@ } }, "rollup-plugin-terser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.0.0.tgz", - "integrity": "sha512-W+jJ4opYnlmNyVW0vtRufs+EGf68BIJ7bnOazgz8mgz8pA9lUyrEifAhPs5y9M16wFeAyBGaRjKip4dnFBtXaw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.1.1.tgz", + "integrity": "sha512-McIMCDEY8EU6Y839C09UopeRR56wXHGdvKKjlfiZG/GrP6wvZQ62u2ko/Xh1MNH2M9WDL+obAAHySljIZYCuPQ==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "jest-worker": "^24.6.0", + "rollup-pluginutils": "^2.8.1", "serialize-javascript": "^1.7.0", - "terser": "^4.0.0" + "terser": "^4.1.0" }, "dependencies": { "commander": { @@ -8945,22 +9113,22 @@ } }, "terser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.0.0.tgz", - "integrity": "sha512-dOapGTU0hETFl1tCo4t56FN+2jffoKyER9qBGoUFyZ6y7WLoKT0bF+lAYi6B6YsILcGF3q1C2FBh8QcKSCgkgA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.1.1.tgz", + "integrity": "sha512-Bm6xAmnJYRYg1VjDiGU4A+Y6klNzkwNrmK9ffo6H0iR7kouvTKVlZBWu0BTZ/b+5TsLscX+NC0/mzMjjc3ElKA==", "dev": true, "requires": { - "commander": "^2.19.0", + "commander": "^2.20.0", "source-map": "~0.6.1", - "source-map-support": "~0.5.10" + "source-map-support": "~0.5.12" } } } }, "rollup-plugin-typescript2": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.21.1.tgz", - "integrity": "sha512-jM2tn8/fUKDRmDtH++/6CHYHv2R9dxfXnuW0rxbOq1Zrxdsg4g6w+WwbK0X2ma21WQcT9l/U9bA3RO+2SBIJ/A==", + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.21.2.tgz", + "integrity": "sha512-TfX+HLJ99p/P8kYZJdNYp9iGVWFCrj+G/V56LbEYtBqVMVHbGkrSoDH8AJjDtyRp6J9VosaKKmnBDBxhDo7TZw==", "dev": true, "requires": { "fs-extra": "7.0.1", @@ -9787,9 +9955,9 @@ } }, "table": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.0.tgz", - "integrity": "sha512-nHFDrxmbrkU7JAFKqKbDJXfzrX2UBsWmrieXFTGxiI5e4ncg3VqsZeI4EzNmX0ncp4XNGVeoxIWJXfCIXwrsvw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.1.tgz", + "integrity": "sha512-E6CK1/pZe2N75rGZQotFOdmzWQ1AILtgYbMAbAjvms0S1l5IDB47zG3nCnFGB/w+7nB3vKofbLXCH7HPBo864w==", "dev": true, "requires": { "ajv": "^6.9.1", @@ -10145,9 +10313,9 @@ "dev": true }, "ts-node": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.2.0.tgz", - "integrity": "sha512-m8XQwUurkbYqXrKqr3WHCW310utRNvV5OnRVeISeea7LoCWVcdfeB/Ntl8JYWFh+WRoUAdBgESrzKochQt7sMw==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz", + "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", "dev": true, "requires": { "arg": "^4.1.0", @@ -10213,9 +10381,9 @@ "dev": true }, "typescript": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.1.tgz", - "integrity": "sha512-64HkdiRv1yYZsSe4xC1WVgamNigVYjlssIoaH2HcZF0+ijsk5YK2g0G34w9wJkze8+5ow4STd22AynfO6ZYYLw==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", + "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==", "dev": true }, "uglify-js": { @@ -10495,12 +10663,12 @@ } }, "util": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.0.tgz", - "integrity": "sha512-pPSOFl7VLhZ7LO/SFABPraZEEurkJUWSMn3MuA/r3WQZc+Z1fqou2JqLSOZbCLl73EUIxuUVX8X4jkX2vfJeAA==", + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.1.tgz", + "integrity": "sha512-MREAtYOp+GTt9/+kwf00IYoHZyjM8VU4aVrkzUlejyqaIjd2GztVl5V9hGXKlvBKE3gENn/FMfHE5v6hElXGcQ==", "dev": true, "requires": { - "inherits": "2.0.3", + "inherits": "^2.0.3", "is-arguments": "^1.0.4", "is-generator-function": "^1.0.7", "object.entries": "^1.1.0", diff --git a/package.json b/package.json index 6bdab9915..4cd8978df 100644 --- a/package.json +++ b/package.json @@ -75,6 +75,6 @@ }, "dependencies": { "axios": "^0.19.0", - "form-data": "^2.3.3" + "form-data": "^2.5.0" } }