From e30638792c9860adc173c86d7257289bcb65d29a Mon Sep 17 00:00:00 2001 From: I-Chun Liu Date: Sun, 5 Nov 2017 11:22:21 +0800 Subject: [PATCH] Upgrade flow --- .flowconfig | 1 + package.json | 2 +- src/actions/utils/middleware/promise.js | 5 +- src/client/chrome/commands.js | 2 +- src/client/firefox/commands.js | 8 +- src/utils/test-head.js | 2 +- src/utils/utils.js | 4 +- src/utils/wasm.js | 1 + yarn.lock | 145 +++++++++++++++--------- 9 files changed, 106 insertions(+), 64 deletions(-) diff --git a/.flowconfig b/.flowconfig index 2d81a1f0d7..c3f1f2d496 100644 --- a/.flowconfig +++ b/.flowconfig @@ -7,6 +7,7 @@ .*node_modules/config-chain.* .*node_modules/documentation.* .*node_modules/devtools-reps/src/object-inspector/index.js +.*node_modules/immutable/dist/immutable.js.flow .*node_modules/jest-in-case/index.js /firefox/.* .*mozilla-central/.* diff --git a/package.json b/package.json index 81af0ac224..5ccec85c0a 100644 --- a/package.json +++ b/package.json @@ -126,7 +126,7 @@ "eslint-plugin-prettier": "^2.3.1", "eslint-plugin-react": "^7.2.1", "expect.js": "^0.3.1", - "flow-bin": "0.53.0", + "flow-bin": "0.57.3", "github-airtable-bridge": "0.0.5", "glob": "^7.0.3", "husky": "^0.14.2", diff --git a/src/actions/utils/middleware/promise.js b/src/actions/utils/middleware/promise.js index dbb7df1ee8..6946425254 100644 --- a/src/actions/utils/middleware/promise.js +++ b/src/actions/utils/middleware/promise.js @@ -19,7 +19,10 @@ function filterAction(action: Object): Object { return fromPairs(toPairs(action).filter(pair => pair[0] !== PROMISE)); } -function promiseMiddleware({ dispatch, getState }: ThunkArgs) { +function promiseMiddleware({ + dispatch, + getState +}: ThunkArgs): Function | Promise { return (next: Function) => (action: Object) => { if (!(PROMISE in action)) { return next(action); diff --git a/src/client/chrome/commands.js b/src/client/chrome/commands.js index 6f4f61ca76..eb531e0d93 100644 --- a/src/client/chrome/commands.js +++ b/src/client/chrome/commands.js @@ -103,7 +103,7 @@ function evaluate(script: string) { return runtimeAgent.evaluate({ expression: script }); } -function debuggeeCommand(script: string) { +function debuggeeCommand(script: string): Promise { evaluate(script); return Promise.resolve(); } diff --git a/src/client/firefox/commands.js b/src/client/firefox/commands.js index 2169dd498c..abf51f3fe8 100644 --- a/src/client/firefox/commands.js +++ b/src/client/firefox/commands.js @@ -130,7 +130,9 @@ function setBreakpoint( }); } -function removeBreakpoint(generatedLocation: Location) { +function removeBreakpoint( + generatedLocation: Location +): Promise | ?BreakpointResult { try { const id = makeLocationId(generatedLocation); const bpClient = bpClients[id]; @@ -166,7 +168,7 @@ type EvaluateParam = { frameId?: FrameId }; -function evaluate(script: Script, { frameId }: EvaluateParam) { +function evaluate(script: Script, { frameId }: EvaluateParam): Promise { const params = frameId ? { frameActor: frameId } : {}; if (!tabTarget || !tabTarget.activeConsole) { return Promise.resolve(); @@ -181,7 +183,7 @@ function evaluate(script: Script, { frameId }: EvaluateParam) { }); } -function debuggeeCommand(script: Script) { +function debuggeeCommand(script: Script): ?Promise { tabTarget.activeConsole.evaluateJS(script, () => {}, {}); if (!debuggerClient) { diff --git a/src/utils/test-head.js b/src/utils/test-head.js index c09f767f76..86ed1c4071 100644 --- a/src/utils/test-head.js +++ b/src/utils/test-head.js @@ -77,7 +77,7 @@ function makeSymbolDeclaration(name: string, line: number) { * @memberof utils/test-head * @static */ -function waitForState(store: any, predicate: any) { +function waitForState(store: any, predicate: any): Promise { return new Promise(resolve => { const unsubscribe = store.subscribe(() => { if (predicate(store.getState())) { diff --git a/src/utils/utils.js b/src/utils/utils.js index 5179c70c49..7638e0b710 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -21,7 +21,7 @@ function handleError(err: any) { * @memberof utils/utils * @static */ -function promisify(context: any, method: any, ...args: any) { +function promisify(context: any, method: any, ...args: any): Promise { return new Promise((resolve, reject) => { args.push(response => { if (response.error) { @@ -66,7 +66,7 @@ function throttle(func: any, ms: number) { }; } -function waitForMs(ms: number) { +function waitForMs(ms: number): Promise { return new Promise(resolve => setTimeout(resolve, ms)); } diff --git a/src/utils/wasm.js b/src/utils/wasm.js index 37c09dbf0c..9381d8b95e 100644 --- a/src/utils/wasm.js +++ b/src/utils/wasm.js @@ -12,6 +12,7 @@ type WasmState = { offsets: Array }; +// $FlowIgnore var wasmStates: { [string]: WasmState } = Object.create(null); /** diff --git a/yarn.lock b/yarn.lock index 6657e21515..988163aee5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -189,17 +189,17 @@ version "3.0.1" resolved "https://registry.yarnpkg.com/@types/inline-style-prefixer/-/inline-style-prefixer-3.0.1.tgz#8541e636b029124b747952e9a28848286d2b5bf6" -"@types/node@^6.0.46": - version "6.0.90" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.90.tgz#0ed74833fa1b73dcdb9409dcb1c97ec0a8b13b02" +"@types/node@*": + version "8.0.50" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.50.tgz#dc545448e128c88c4eec7cd64025fcc3b7604541" "@types/node@^7.0.12": version "7.0.46" resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.46.tgz#c3dedd25558c676b3d6303e51799abb9c3f8f314" "@types/react@^16.0.18": - version "16.0.19" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.0.19.tgz#f804a0fcd6d94c17df92cf2fd46671bbbc862329" + version "16.0.21" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.0.21.tgz#1f4313594f784a477521a0795c46e7b832051ef3" JSONStream@^1.0.3: version "1.3.1" @@ -540,8 +540,8 @@ async@1.5.2, async@^1.4.0: resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" async@^2.1.2, async@^2.1.4, async@^2.4.1: - version "2.5.0" - resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" + version "2.6.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" dependencies: lodash "^4.14.0" @@ -1841,10 +1841,10 @@ browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: electron-to-chromium "^1.2.7" browserslist@^2.1.2, browserslist@^2.5.1: - version "2.7.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.7.0.tgz#dc375dc70048fec3d989042a35022342902eff00" + version "2.8.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.8.0.tgz#27d64028130a2e8585ca96f7c3b7730eff4de493" dependencies: - caniuse-lite "^1.0.30000757" + caniuse-lite "^1.0.30000758" electron-to-chromium "^1.3.27" bser@1.0.2: @@ -1958,12 +1958,12 @@ caniuse-api@^1.5.2: lodash.uniq "^4.5.0" caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: - version "1.0.30000757" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000757.tgz#fa23a383213d857f4a1e6a3bee17b32668504cbf" + version "1.0.30000760" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000760.tgz#3ea29473eb78a6ccb09f2eb73ac9e1debfec528d" -caniuse-lite@^1.0.30000748, caniuse-lite@^1.0.30000757: - version "1.0.30000757" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000757.tgz#81e3bc029728a032933501994ef79db1c21159e3" +caniuse-lite@^1.0.30000748, caniuse-lite@^1.0.30000758: + version "1.0.30000760" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000760.tgz#ec720395742f1c7ec8947fd6dd2604e77a8f98ff" capture-stack-trace@^1.0.0: version "1.0.0" @@ -2532,8 +2532,8 @@ cryptiles@3.x.x: boom "5.x.x" crypto-browserify@^3.11.0: - version "3.11.1" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.1.tgz#948945efc6757a400d6e5e5af47194d10064279f" + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" dependencies: browserify-cipher "^1.0.0" browserify-sign "^4.0.0" @@ -2545,6 +2545,7 @@ crypto-browserify@^3.11.0: pbkdf2 "^3.0.3" public-encrypt "^4.0.0" randombytes "^2.0.0" + randomfill "^1.0.3" crypto-random-string@^1.0.0: version "1.0.0" @@ -3972,9 +3973,9 @@ flatten@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" -flow-bin@0.53.0: - version "0.53.0" - resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.53.0.tgz#f7830e609ca02b12db4127114213cccc7c0771b9" +flow-bin@0.57.3: + version "0.57.3" + resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.57.3.tgz#843fb80a821b6d0c5847f7bb3f42365ffe53b27b" fn-name@^2.0.1: version "2.0.1" @@ -4781,7 +4782,7 @@ https-proxy-agent@^1.0.0: debug "2" extend "3" -husky@^0.14.2, husky@^0.14.3: +husky@^0.14.2: version "0.14.3" resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.3.tgz#c69ed74e2d2779769a17ba8399b54ce0b63c12c3" dependencies: @@ -5876,7 +5877,7 @@ json-loader@^0.5.4, json-loader@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" -json-parse-better-errors@^1.0.0: +json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz#50183cd1b2d25275de069e9e71b467ac9eab973a" @@ -6124,6 +6125,15 @@ load-json-file@^2.0.0: pify "^2.0.0" strip-bom "^3.0.0" +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + load-plugin@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/load-plugin/-/load-plugin-2.2.1.tgz#384def2b47be6edd65db0f18f368fd749b463edd" @@ -6562,11 +6572,9 @@ memory-fs@^0.4.0, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -memory-streams@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/memory-streams/-/memory-streams-0.1.2.tgz#273ff777ab60fec599b116355255282cca2c50c2" - dependencies: - readable-stream "~1.0.2" +memorystream@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" meow@^3.7.0: version "3.7.0" @@ -7008,16 +7016,16 @@ npm-prefix@^1.2.0: untildify "^2.1.0" npm-run-all@^4.0.2: - version "4.1.1" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.1.tgz#3095cf3f3cacf57fcb662b210ab10c609af6ddbb" + version "4.1.2" + resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.2.tgz#90d62d078792d20669139e718621186656cea056" dependencies: ansi-styles "^3.2.0" chalk "^2.1.0" cross-spawn "^5.1.0" - memory-streams "^0.1.2" + memorystream "^0.3.1" minimatch "^3.0.4" ps-tree "^1.1.0" - read-pkg "^2.0.0" + read-pkg "^3.0.0" shell-quote "^1.6.1" string.prototype.padend "^3.0.0" @@ -7045,8 +7053,8 @@ npmlog@^4.0.2: set-blocking "~2.0.0" nspell@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/nspell/-/nspell-1.0.3.tgz#2ade9be62ae3769240d37b9d92fe946a817bca90" + version "1.0.4" + resolved "https://registry.yarnpkg.com/nspell/-/nspell-1.0.4.tgz#20a76769181e3a365d111f926f58d78e7b845423" dependencies: is-buffer "^1.1.4" trim "0.0.1" @@ -7358,6 +7366,13 @@ parse-json@^3.0.0: dependencies: error-ex "^1.3.1" +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + parse-latin@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/parse-latin/-/parse-latin-4.1.0.tgz#f560d46cab1cf04d632815443485a8b3b31e31a7" @@ -7385,10 +7400,10 @@ parse5@^1.5.1: resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" parse5@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.2.tgz#05eff57f0ef4577fb144a79f8b9a967a6cc44510" + version "3.0.3" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" dependencies: - "@types/node" "^6.0.46" + "@types/node" "*" parseurl@~1.3.2: version "1.3.2" @@ -7464,6 +7479,12 @@ path-type@^2.0.0: dependencies: pify "^2.0.0" +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + dependencies: + pify "^3.0.0" + pause-stream@0.0.11: version "0.0.11" resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" @@ -7481,8 +7502,8 @@ pbkdf2@^3.0.3: sha.js "^2.4.8" percy-client@^2.1.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/percy-client/-/percy-client-2.4.1.tgz#a47ea290b9f0cf20886d5c79c4d832a5ddcfe0e0" + version "2.4.2" + resolved "https://registry.yarnpkg.com/percy-client/-/percy-client-2.4.2.tgz#e0548cbab92bf1279929a322f1d097b13750181d" dependencies: base64-js "^1.1.2" bluebird "^3.5.1" @@ -7493,7 +7514,6 @@ percy-client@^2.1.0: request "^2.40.0" request-promise "^4.1.1" optionalDependencies: - husky "^0.14.3" lint-staged "^4.1.3" performance-now@^0.2.0: @@ -7630,8 +7650,8 @@ postcss-flexbugs-fixes@^3.2.0: postcss "^6.0.1" postcss-less@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-1.1.1.tgz#4bd240db517ce3407583d927858184f50045f4ab" + version "1.1.2" + resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-1.1.2.tgz#97225f852972225926c8c66726256fa250c88558" dependencies: postcss "^5.2.16" @@ -7879,7 +7899,7 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0 source-map "^0.5.6" supports-color "^3.2.3" -postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.13, postcss@^6.0.3, postcss@^6.0.6, postcss@^6.0.8: +postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.13, postcss@^6.0.14, postcss@^6.0.3, postcss@^6.0.6, postcss@^6.0.8: version "6.0.14" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.14.tgz#5534c72114739e75d0afcf017db853099f562885" dependencies: @@ -7900,8 +7920,8 @@ preserve@^0.2.0: resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" prettier@^1.6.1: - version "1.7.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.7.4.tgz#5e8624ae9363c80f95ec644584ecdf55d74f93fa" + version "1.8.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.8.1.tgz#91064d778c08c85ac1cbe6b23195c34310d039f9" pretty-fast@^0.2.2: version "0.2.2" @@ -8089,12 +8109,19 @@ randomatic@^1.1.3: is-number "^3.0.0" kind-of "^4.0.0" -randombytes@^2.0.0, randombytes@^2.0.1: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79" dependencies: safe-buffer "^5.1.0" +randomfill@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.3.tgz#b96b7df587f01dd91726c418f30553b1418e3d62" + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + range-parser@^1.0.3, range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" @@ -8390,7 +8417,15 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" -"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.2: +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +"readable-stream@>=1.0.33-1 <1.1.0-0": version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" dependencies: @@ -9513,7 +9548,7 @@ source-map@^0.4.2, source-map@^0.4.4: dependencies: amdefine ">=0.0.4" -source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3, source-map@~0.5.6: +source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -9847,10 +9882,10 @@ subarg@^1.0.0: minimist "^1.1.0" sugarss@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-1.0.0.tgz#65e51b3958432fb70d5451a68bb33e32d0cf1ef7" + version "1.0.1" + resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-1.0.1.tgz#be826d9003e0f247735f92365dc3fd7f1bae9e44" dependencies: - postcss "^6.0.0" + postcss "^6.0.14" supports-color@3.1.2: version "3.1.2" @@ -10652,11 +10687,11 @@ webpack-hot-middleware@^2.18.2, webpack-hot-middleware@^2.20.0: strip-ansi "^3.0.0" webpack-sources@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.1.tgz#c7356436a4d13123be2e2426a05d1dad9cbe65cf" + version "1.0.2" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.2.tgz#d0148ec083b3b5ccef1035a6b3ec16442983b27a" dependencies: source-list-map "^2.0.0" - source-map "~0.5.3" + source-map "~0.6.1" webpack-visualizer-plugin@^0.1.11: version "0.1.11" @@ -10838,8 +10873,8 @@ write@^0.2.1: mkdirp "^0.5.1" ws@1.1.x, ws@^1.0.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.4.tgz#57f40d036832e5f5055662a397c4de76ed66bf61" + version "1.1.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" dependencies: options ">=0.0.5" ultron "1.0.x"