diff --git a/desktop/.eslintrc.js b/desktop/.eslintrc.js index 6d0f5ecca..b22a1fb01 100644 --- a/desktop/.eslintrc.js +++ b/desktop/.eslintrc.js @@ -12,6 +12,16 @@ const fbjs = require('eslint-config-fbjs'); // enforces copyright header and @format directive to be present in every file const pattern = /^\*\r?\n[\S\s]*Facebook[\S\s]* \* @format\r?\n/; +const builtInModules = [ + 'flipper', + 'react', + 'react-dom', + 'electron', + 'adbkit', + 'immer', + '@emotion/styled', +]; + const prettierConfig = { // arrowParens=always is the default for Prettier 2.0, but other configs // at Facebook appear to be leaking into this file, which is still on @@ -35,6 +45,7 @@ module.exports = { 'prettier', '@typescript-eslint', 'import', + 'node', ], rules: { // disable rules from eslint-config-fbjs @@ -61,9 +72,9 @@ module.exports = { 'header/header': [2, 'block', {pattern}], 'prettier/prettier': [2, prettierConfig], 'flowtype/object-type-delimiter': [0], - - // import 'import/no-unresolved': [2, {commonjs: true, amd: true}], + 'node/no-extraneous-import': [2, {allowModules: builtInModules}], + 'node/no-extraneous-require': [2, {allowModules: builtInModules}], }, settings: { 'import/resolver': { diff --git a/desktop/app/package.json b/desktop/app/package.json index f44136bcf..3f6b23a29 100644 --- a/desktop/app/package.json +++ b/desktop/app/package.json @@ -10,6 +10,7 @@ "privileged": true, "license": "MIT", "dependencies": { + "@algolia/client-search": "4.1.0", "@emotion/core": "^10.0.22", "@emotion/styled": "^10.0.23", "@iarna/toml": "^2.2.3", @@ -30,7 +31,6 @@ "detect-port": "^1.1.1", "emotion": "^10.0.23", "expand-tilde": "^2.0.2", - "express": "^4.15.2", "fb-watchman": "^2.0.0", "flipper-doctor": "0.39.0", "fs-extra": "^8.0.1", @@ -39,8 +39,7 @@ "invariant": "^2.2.2", "line-replace": "^1.0.2", "live-plugin-manager": "^0.14.0", - "lodash.debounce": "^4.0.8", - "lodash.isequal": "^4.5.0", + "lodash": "^4.17.15", "mkdirp": "^1.0.0", "node-fetch": "^2.3.0", "npm-api": "^1.0.0", @@ -54,6 +53,7 @@ "prop-types": "^15.6.0", "query-string": "^6.10.1", "react": "16.13.0", + "react-async": "^10.0.0", "react-color": "^2.11.7", "react-debounce-render": "^6.0.0", "react-devtools-core": "^4.6.0", @@ -69,7 +69,10 @@ "redux-persist": "^6.0.0", "remote-redux-devtools": "^0.5.16", "rsocket-core": "^0.0.19", + "rsocket-flowable": "^0.0.14", "rsocket-tcp-server": "^0.0.19", + "rsocket-types": "^0.0.16", + "semver": "^7.3.2", "socket.io": "^2.0.4", "string-natural-compare": "^3.0.0", "tmp": "0.0.33", @@ -84,5 +87,13 @@ }, "optionalDependencies": { "7zip-bin-mac": "^1.0.1" + }, + "devDependencies": { + "@testing-library/react": "^10.0.2", + "metro": "^0.59.0", + "pretty-format": "^25.4.0", + "react-refresh": "^0.8.1", + "redux-mock-store": "^1.0.1", + "ts-jest": "^25.4.0" } } diff --git a/desktop/app/src/chrome/SettingsSheet.tsx b/desktop/app/src/chrome/SettingsSheet.tsx index b1c757d8d..514fa2b0e 100644 --- a/desktop/app/src/chrome/SettingsSheet.tsx +++ b/desktop/app/src/chrome/SettingsSheet.tsx @@ -22,7 +22,7 @@ import {flush} from '../utils/persistor'; import ToggledSection from './settings/ToggledSection'; import {FilePathConfigField, ConfigText} from './settings/configFields'; import KeyboardShortcutInput from './settings/KeyboardShortcutInput'; -import isEqual from 'lodash.isequal'; +import {isEqual} from 'lodash'; import restartFlipper from '../utils/restartFlipper'; import LauncherSettingsPanel from '../fb-stubs/LauncherSettingsPanel'; import {reportUsage} from '../utils/metrics'; diff --git a/desktop/app/src/ui/components/searchable/Searchable.tsx b/desktop/app/src/ui/components/searchable/Searchable.tsx index 9da5e2789..e38565a92 100644 --- a/desktop/app/src/ui/components/searchable/Searchable.tsx +++ b/desktop/app/src/ui/components/searchable/Searchable.tsx @@ -19,7 +19,7 @@ import FlexBox from '../FlexBox'; import Glyph from '../Glyph'; import FilterToken from './FilterToken'; import styled from '@emotion/styled'; -import debounce from 'lodash.debounce'; +import {debounce} from 'lodash'; import ToggleButton from '../ToggleSwitch'; import React from 'react'; import Layout from '../Layout'; diff --git a/desktop/app/src/ui/components/table/ManagedTable.tsx b/desktop/app/src/ui/components/table/ManagedTable.tsx index 57d745396..8914c3c65 100644 --- a/desktop/app/src/ui/components/table/ManagedTable.tsx +++ b/desktop/app/src/ui/components/table/ManagedTable.tsx @@ -29,7 +29,7 @@ import ContextMenu from '../ContextMenu'; import FlexColumn from '../FlexColumn'; import createPaste from '../../../fb-stubs/createPaste'; import debounceRender from 'react-debounce-render'; -import debounce from 'lodash.debounce'; +import {debounce} from 'lodash'; import {DEFAULT_ROW_HEIGHT} from './types'; import textContent from '../../../utils/textContent'; import {notNull} from '../../../utils/typeUtils'; diff --git a/desktop/app/src/ui/components/table/ManagedTable_immutable.tsx b/desktop/app/src/ui/components/table/ManagedTable_immutable.tsx index e0c452379..1aecdfc3b 100644 --- a/desktop/app/src/ui/components/table/ManagedTable_immutable.tsx +++ b/desktop/app/src/ui/components/table/ManagedTable_immutable.tsx @@ -30,7 +30,7 @@ import ContextMenu from '../ContextMenu'; import FlexColumn from '../FlexColumn'; import createPaste from '../../../fb-stubs/createPaste'; import debounceRender from 'react-debounce-render'; -import debounce from 'lodash.debounce'; +import {debounce} from 'lodash'; import {DEFAULT_ROW_HEIGHT} from './types'; import textContent from '../../../utils/textContent'; import {notNull} from '../../../utils/typeUtils'; diff --git a/desktop/app/src/utils/js-client/package.json b/desktop/app/src/utils/js-client/package.json index ef3dd154e..6fae53fbf 100644 --- a/desktop/app/src/utils/js-client/package.json +++ b/desktop/app/src/utils/js-client/package.json @@ -1,11 +1,17 @@ { - "name": "flipper-js-client", - "version": "1.0.0", - "main": "index.js", - "license": "MIT", - "title": "Flipper JS Client", - "icon": "apps", - "bugs": { - "email": "timurvaliev@fb.com" - } + "name": "flipper-js-client", + "version": "0.39.0", + "private": true, + "main": "index.js", + "license": "MIT", + "title": "Flipper JS Client", + "icon": "apps", + "bugs": { + "email": "timurvaliev@fb.com" + }, + "dependencies": { + "rsocket-flowable": "^0.0.14", + "rsocket-types": "^0.0.16", + "ws": "^7.2.3" } +} diff --git a/desktop/app/src/utils/js-client/websocketClientFlipperConnection.tsx b/desktop/app/src/utils/js-client/websocketClientFlipperConnection.tsx index 8cdfba80b..a6e448071 100644 --- a/desktop/app/src/utils/js-client/websocketClientFlipperConnection.tsx +++ b/desktop/app/src/utils/js-client/websocketClientFlipperConnection.tsx @@ -8,9 +8,8 @@ */ import {FlipperClientConnection} from '../../Client'; -import {Payload} from 'rsocket-types'; import {Flowable, Single} from 'rsocket-flowable'; -import {ConnectionStatus, ISubscriber} from 'rsocket-types'; +import {Payload, ConnectionStatus, ISubscriber} from 'rsocket-types'; import WebSocket from 'ws'; export class WebsocketClientFlipperConnection diff --git a/desktop/app/src/utils/js-client/yarn.lock b/desktop/app/src/utils/js-client/yarn.lock index fb57ccd13..5a17c5964 100644 --- a/desktop/app/src/utils/js-client/yarn.lock +++ b/desktop/app/src/utils/js-client/yarn.lock @@ -2,3 +2,149 @@ # yarn lockfile v1 +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + +base64-js@^1.0.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + +buffer@^5.0.6: + version "5.6.0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" + integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + +core-js@^2.4.1: + version "2.6.11" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" + integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== + +encoding@^0.1.11: + version "0.1.12" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= + dependencies: + iconv-lite "~0.4.13" + +fbjs-css-vars@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" + integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== + +fbjs@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-1.0.0.tgz#52c215e0883a3c86af2a7a776ed51525ae8e0a5a" + integrity sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA== + dependencies: + core-js "^2.4.1" + fbjs-css-vars "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.18" + +iconv-lite@~0.4.13: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +is-stream@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + +"js-tokens@^3.0.0 || ^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + +rsocket-flowable@^0.0.14: + version "0.0.14" + resolved "https://registry.yarnpkg.com/rsocket-flowable/-/rsocket-flowable-0.0.14.tgz#5195dbd2972a98afe4a4ee082904fbc5890bc630" + integrity sha512-vK85yDj0DRpoTV1jQZF0JmSuQz4qj2DHMyV744I9h/8AP5jVJhuN1D+ArKQvP0VWXjFoRK23ObVMnoSdSkk4pg== + dependencies: + fbjs "^1.0.0" + +rsocket-types@^0.0.16: + version "0.0.16" + resolved "https://registry.yarnpkg.com/rsocket-types/-/rsocket-types-0.0.16.tgz#2113dcf8e25478d6764f1e3e84ad4a97d16a6fde" + integrity sha512-zOJ2u5bgooj8QewqoIoaeEn1FHDZSyHp7VuDSiEJAAjTTQpYyEqKpLTvqi+tazRCBOTfulMBijootTI18VVeIg== + dependencies: + buffer "^5.0.6" + fbjs "^1.0.0" + rsocket-flowable "^0.0.14" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +ua-parser-js@^0.7.18: + version "0.7.21" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777" + integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ== + +whatwg-fetch@>=0.10.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" + integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== + +ws@^7.2.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46" + integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ== diff --git a/desktop/headless/package.json b/desktop/headless/package.json new file mode 100644 index 000000000..233550c8b --- /dev/null +++ b/desktop/headless/package.json @@ -0,0 +1,17 @@ +{ + "name": "flipper-headless", + "private": true, + "version": "0.39.0", + "description": "Headless version of Flipper - Mobile development tool", + "productName": "Flipper Headless", + "author": "Facebook Inc", + "main": "index.tsx", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.3.0", + "redux": "^4.0.0", + "remote-redux-devtools": "^0.5.16", + "ws": "^7.2.3", + "yargs": "^15.3.1" + } +} diff --git a/desktop/package.json b/desktop/package.json index 6c088f49b..646c71615 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -11,8 +11,10 @@ "workspaces": { "packages": [ "app", + "app/src/utils/js-client", "babel-transformer", "doctor", + "headless", "headless-tests", "pkg", "pkg-lib", @@ -124,8 +126,7 @@ "@types/glob": "^7.1.1", "@types/invariant": "^2.2.31", "@types/jest": "^25.1.0", - "@types/lodash.debounce": "^4.0.6", - "@types/lodash.isequal": "^4.5.5", + "@types/lodash": "^4.14.150", "@types/mkdirp": "^1.0.0", "@types/node": "^13.13.0", "@types/promise-retry": "^1.1.3", @@ -155,7 +156,10 @@ "@types/yazl": "^2.4.2", "@typescript-eslint/eslint-plugin": "^2.27.0", "@typescript-eslint/parser": "^2.19.2", + "ansi-to-html": "^0.6.3", "babel-eslint": "^10.0.1", + "chalk": "^3.0.0", + "detect-port": "^1.1.1", "electron": "8.0.1", "electron-builder": "^22.3.2", "eslint": "^6.7.0", @@ -167,9 +171,11 @@ "eslint-plugin-header": "^3.0.0", "eslint-plugin-import": "^2.19.1", "eslint-plugin-jsx-a11y": "^6.0.3", + "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.1.2", "eslint-plugin-react": "^7.16.0", "eslint-plugin-relay": "^1.4.1", + "express": "^4.15.2", "flipper-babel-transformer": "0.39.0", "flipper-pkg-lib": "0.39.0", "flow-bin": "0.123.0", @@ -179,22 +185,29 @@ "jest": "^25.1.0", "jest-environment-jsdom-sixteen": "^1.0.3", "jest-fetch-mock": "^3.0.0", + "line-replace": "^1.0.2", "metro": "^0.59.0", "metro-minify-terser": "^0.59.0", "metro-resolver": "^0.59.0", + "node-fetch": "^2.6.0", "p-filter": "^2.1.0", "p-map": "^4.0.0", + "pkg": "^4.4.1", "prettier": "^2.0.0", "pretty-format": "^25.4.0", + "promisify-child-process": "^3.1.3", "react-async": "^10.0.0", "react-refresh": "^0.8.1", "recursive-readdir": "^2.2.2", - "redux-mock-store": "^1.5.3", + "redux": "^4.0.0", "rimraf": "^3.0.2", + "socket.io": "^2.0.4", + "tmp": "^0.0.33", "ts-jest": "^25.4.0", "ts-node": "^8.8.1", "typescript": "^3.7.2", - "yargs": "^15.3.1" + "yargs": "^15.3.1", + "yazl": "^2.5.1" }, "scripts": { "preinstall": "node scripts/prepare-watchman-config.js && yarn config set ignore-engines", diff --git a/desktop/pkg-lib/src/runBuild.ts b/desktop/pkg-lib/src/runBuild.ts index 38872150b..141502ec3 100644 --- a/desktop/pkg-lib/src/runBuild.ts +++ b/desktop/pkg-lib/src/runBuild.ts @@ -77,7 +77,7 @@ export default async function runBuild( transformer: { ...baseConfig.transformer, babelTransformerPath: require.resolve('flipper-babel-transformer'), - minifierPath: 'metro-minify-terser', + minifierPath: require.resolve('metro-minify-terser'), minifierConfig: { // see: https://www.npmjs.com/package/terser keep_fnames: true, diff --git a/desktop/pkg/package.json b/desktop/pkg/package.json index e1d7b7e96..7aec65290 100644 --- a/desktop/pkg/package.json +++ b/desktop/pkg/package.json @@ -14,6 +14,7 @@ "dependencies": { "@oclif/command": "^1", "@oclif/config": "^1", + "@oclif/parser": "^3", "@oclif/plugin-help": "^2", "cli-ux": "^5.4.5", "fs-extra": "^8.1.0", diff --git a/desktop/plugins/layout/Inspector.tsx b/desktop/plugins/layout/Inspector.tsx index 0ebb5ff57..cf172551c 100644 --- a/desktop/plugins/layout/Inspector.tsx +++ b/desktop/plugins/layout/Inspector.tsx @@ -15,7 +15,7 @@ import { ElementSearchResultSet, } from 'flipper'; import {Component} from 'react'; -import debounce from 'lodash.debounce'; +import {debounce} from 'lodash'; import {PersistedState, ElementMap} from './'; import React from 'react'; diff --git a/desktop/plugins/layout/ProxyArchiveClient.tsx b/desktop/plugins/layout/ProxyArchiveClient.tsx index 77e5d7e4d..ae77aad47 100644 --- a/desktop/plugins/layout/ProxyArchiveClient.tsx +++ b/desktop/plugins/layout/ProxyArchiveClient.tsx @@ -10,7 +10,7 @@ import {Element} from 'flipper'; import {PersistedState} from './index'; import {SearchResultTree} from './Search'; -import cloneDeep from 'lodash.clonedeep'; +import {cloneDeep} from 'lodash'; const propsForPersistedState = ( AXMode: boolean, diff --git a/desktop/plugins/layout/package.json b/desktop/plugins/layout/package.json index 9a626ff9d..b4da590f9 100644 --- a/desktop/plugins/layout/package.json +++ b/desktop/plugins/layout/package.json @@ -8,17 +8,12 @@ ], "dependencies": { "deep-equal": "^2.0.1", - "lodash": "^4.17.15", - "lodash.clonedeep": "^4.5.0", - "lodash.debounce": "^4.0.8" + "lodash": "^4.17.15" }, "title": "Layout", "icon": "target", "bugs": { "email": "oncall+flipper@xmail.facebook.com", "url": "https://fb.workplace.com/groups/flippersupport/" - }, - "devDependencies": { - "@types/lodash.clonedeep": "^4.5.6" } } diff --git a/desktop/scripts/build-utils.ts b/desktop/scripts/build-utils.ts index d31df776c..be46f061e 100644 --- a/desktop/scripts/build-utils.ts +++ b/desktop/scripts/build-utils.ts @@ -55,7 +55,7 @@ export async function generatePluginEntryPoints() { } const minifierConfig = { - minifierPath: 'metro-minify-terser', + minifierPath: require.resolve('metro-minify-terser'), minifierConfig: { // see: https://www.npmjs.com/package/terser keep_fnames: true, diff --git a/desktop/yarn.lock b/desktop/yarn.lock index 517cd414b..223a8dbcf 100644 --- a/desktop/yarn.lock +++ b/desktop/yarn.lock @@ -1575,17 +1575,7 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" -"@jest/types@^25.2.6": - version "25.2.6" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.2.6.tgz#c12f44af9bed444438091e4b59e7ed05f8659cb6" - integrity sha512-myJTTV37bxK7+3NgKc4Y/DlQ5q92/NOwZsZ+Uch7OXdElxOg61QYc72fPYNAjlvbnJ2YvbXLamIsa9tj48BmyQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" - -"@jest/types@^25.4.0": +"@jest/types@^25.2.6", "@jest/types@^25.4.0": version "25.4.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.4.0.tgz#5afeb8f7e1cba153a28e5ac3c9fe3eede7206d59" integrity sha512-XBeaWNzw2PPnGW5aXvZt3+VO60M+34RY3XDsCK5tW7kyj3RK0XClRutCfjqcBuaR2aBQTbluEDME9b5MB9UAPw== @@ -1672,7 +1662,7 @@ resolved "https://registry.yarnpkg.com/@oclif/linewrap/-/linewrap-1.0.0.tgz#aedcb64b479d4db7be24196384897b5000901d91" integrity sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw== -"@oclif/parser@^3.8.0", "@oclif/parser@^3.8.3": +"@oclif/parser@^3", "@oclif/parser@^3.8.0", "@oclif/parser@^3.8.3": version "3.8.4" resolved "https://registry.yarnpkg.com/@oclif/parser/-/parser-3.8.4.tgz#1a90fc770a42792e574fb896325618aebbe8c9e4" integrity sha512-cyP1at3l42kQHZtqDS3KfTeyMvxITGwXwH1qk9ktBYvqgMp5h4vHT+cOD74ld3RqJUOZY/+Zi9lb4Tbza3BtuA== @@ -1968,31 +1958,10 @@ resolved "https://registry.yarnpkg.com/@types/lockfile/-/lockfile-1.0.1.tgz#434a3455e89843312f01976e010c60f1bcbd56f7" integrity sha512-65WZedEm4AnOsBDdsapJJG42MhROu3n4aSSiu87JXF/pSdlubxZxp3S1yz3kTfkJ2KBPud4CpjoHVAptOm9Zmw== -"@types/lodash.clonedeep@^4.5.6": - version "4.5.6" - resolved "https://registry.yarnpkg.com/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.6.tgz#3b6c40a0affe0799a2ce823b440a6cf33571d32b" - integrity sha512-cE1jYr2dEg1wBImvXlNtp0xDoS79rfEdGozQVgliDZj1uERH4k+rmEMTudP9b4VQ8O6nRb5gPqft0QzEQGMQgA== - dependencies: - "@types/lodash" "*" - -"@types/lodash.debounce@^4.0.6": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/lodash.debounce/-/lodash.debounce-4.0.6.tgz#c5a2326cd3efc46566c47e4c0aa248dc0ee57d60" - integrity sha512-4WTmnnhCfDvvuLMaF3KV4Qfki93KebocUF45msxhYyjMttZDQYzHkO639ohhk8+oco2cluAFL3t5+Jn4mleylQ== - dependencies: - "@types/lodash" "*" - -"@types/lodash.isequal@^4.5.5": - version "4.5.5" - resolved "https://registry.yarnpkg.com/@types/lodash.isequal/-/lodash.isequal-4.5.5.tgz#4fed1b1b00bef79e305de0352d797e9bb816c8ff" - integrity sha512-4IKbinG7MGP131wRfceK6W4E/Qt3qssEFLF30LnJbjYiSfHGGRU/Io8YxXrZX109ir+iDETC8hw8QsDijukUVg== - dependencies: - "@types/lodash" "*" - -"@types/lodash@*": - version "4.14.144" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.144.tgz#12e57fc99064bce45e5ab3c8bc4783feb75eab8e" - integrity sha512-ogI4g9W5qIQQUhXAclq6zhqgqNUr7UlFaqDHbch7WLSLeeM/7d3CRaw7GLajxvyFvhJqw4Rpcz5bhoaYtIx6Tg== +"@types/lodash@^4.14.150": + version "4.14.150" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.150.tgz#649fe44684c3f1fcb6164d943c5a61977e8cf0bd" + integrity sha512-kMNLM5JBcasgYscD9x/Gvr6lTAv2NVgsKtet/hm93qMyf/D1pt+7jeEZklKJKxMVmXjxbRVQQGfqDSfipYCO6w== "@types/mime@*": version "2.0.1" @@ -2026,21 +1995,16 @@ "@types/node" "*" form-data "^3.0.0" -"@types/node@*", "@types/node@^13.11.0", "@types/node@^13.7.5": - version "13.11.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.11.0.tgz#390ea202539c61c8fa6ba4428b57e05bc36dc47b" - integrity sha512-uM4mnmsIIPK/yeO+42F2RQhGUIs39K2RFmugcJANppXe6J1nvH87PvzPZYpza7Xhhs8Yn9yIAVdLZ84z61+0xQ== +"@types/node@*", "@types/node@^13.11.0", "@types/node@^13.13.0", "@types/node@^13.7.5": + version "13.13.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.0.tgz#30d2d09f623fe32cde9cb582c7a6eda2788ce4a8" + integrity sha512-WE4IOAC6r/yBZss1oQGM5zs2D7RuKR6Q+w+X2SouPofnWn+LbCqClRyhO3ZE7Ix8nmFgo/oVuuE01cJT2XB13A== "@types/node@^12.0.12": version "12.12.5" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.5.tgz#66103d2eddc543d44a04394abb7be52506d7f290" integrity sha512-KEjODidV4XYUlJBF3XdjSH5FWoMCtO0utnhtdLf1AgeuZLOrRbvmU/gaRCVg7ZaQDjVf3l84egiY0mRNe5xE4A== -"@types/node@^13.13.0": - version "13.13.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.0.tgz#30d2d09f623fe32cde9cb582c7a6eda2788ce4a8" - integrity sha512-WE4IOAC6r/yBZss1oQGM5zs2D7RuKR6Q+w+X2SouPofnWn+LbCqClRyhO3ZE7Ix8nmFgo/oVuuE01cJT2XB13A== - "@types/pako@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/pako/-/pako-1.0.1.tgz#33b237f3c9aff44d0f82fe63acffa4a365ef4a61" @@ -2336,7 +2300,7 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^2.27.0": +"@typescript-eslint/eslint-plugin@^2.27.0", "@typescript-eslint/eslint-plugin@^2.8.0": version "2.28.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.28.0.tgz#4431bc6d3af41903e5255770703d4e55a0ccbdec" integrity sha512-w0Ugcq2iatloEabQP56BRWJowliXUP5Wv6f9fKzjJmDW81hOTBxRoJ4LoEOxRpz9gcY51Libytd2ba3yLmSOfg== @@ -2346,17 +2310,6 @@ regexpp "^3.0.0" tsutils "^3.17.1" -"@typescript-eslint/eslint-plugin@^2.8.0": - version "2.24.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.24.0.tgz#a86cf618c965a462cddf3601f594544b134d6d68" - integrity sha512-wJRBeaMeT7RLQ27UQkDFOu25MqFOBus8PtOa9KaT5ZuxC1kAsd7JEHqWt4YXuY9eancX0GK9C68i5OROnlIzBA== - dependencies: - "@typescript-eslint/experimental-utils" "2.24.0" - eslint-utils "^1.4.3" - functional-red-black-tree "^1.0.1" - regexpp "^3.0.0" - tsutils "^3.17.1" - "@typescript-eslint/experimental-utils@2.19.2": version "2.19.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.19.2.tgz#4611d44cf0f0cb460c26aa7676fc0a787281e233" @@ -2366,15 +2319,6 @@ "@typescript-eslint/typescript-estree" "2.19.2" eslint-scope "^5.0.0" -"@typescript-eslint/experimental-utils@2.24.0": - version "2.24.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.24.0.tgz#a5cb2ed89fedf8b59638dc83484eb0c8c35e1143" - integrity sha512-DXrwuXTdVh3ycNCMYmWhUzn/gfqu9N0VzNnahjiDJvcyhfBy4gb59ncVZVxdp5XzBC77dCncu0daQgOkbvPwBw== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.24.0" - eslint-scope "^5.0.0" - "@typescript-eslint/experimental-utils@2.28.0": version "2.28.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.28.0.tgz#1fd0961cd8ef6522687b4c562647da6e71f8833d" @@ -2408,19 +2352,6 @@ semver "^6.3.0" tsutils "^3.17.1" -"@typescript-eslint/typescript-estree@2.24.0": - version "2.24.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.24.0.tgz#38bbc8bb479790d2f324797ffbcdb346d897c62a" - integrity sha512-RJ0yMe5owMSix55qX7Mi9V6z2FDuuDpN6eR5fzRJrp+8in9UF41IGNQHbg5aMK4/PjVaEQksLvz0IA8n+Mr/FA== - dependencies: - debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^6.3.0" - tsutils "^3.17.1" - "@typescript-eslint/typescript-estree@2.28.0": version "2.28.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.28.0.tgz#d34949099ff81092c36dc275b6a1ea580729ba00" @@ -4921,6 +4852,14 @@ eslint-plugin-babel@^5.3.0: dependencies: eslint-rule-composer "^0.3.0" +eslint-plugin-es@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.0.tgz#98cb1bc8ab0aa807977855e11ad9d1c9422d014b" + integrity sha512-6/Jb/J/ZvSebydwbBJO1R9E5ky7YeElfK56Veh7e4QGFHCXoIXGH9HhVz+ibJLM3XJ1XjP+T7rKBLUa/Y7eIng== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + eslint-plugin-flowtype@^4.3.0, eslint-plugin-flowtype@^4.5.2: version "4.6.0" resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.6.0.tgz#82b2bd6f21770e0e5deede0228e456cb35308451" @@ -4966,6 +4905,18 @@ eslint-plugin-jsx-a11y@^6.0.3, eslint-plugin-jsx-a11y@^6.2.3: has "^1.0.3" jsx-ast-utils "^2.2.1" +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + eslint-plugin-prettier@^3.1.1, eslint-plugin-prettier@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz#432e5a667666ab84ce72f945c72f77d996a5c9ba" @@ -8062,21 +8013,11 @@ lodash.camelcase@^4.3.0: resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= - lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" @@ -9577,17 +9518,7 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" -pretty-format@^25.1.0, pretty-format@^25.2.1, pretty-format@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.2.6.tgz#542a1c418d019bbf1cca2e3620443bc1323cb8d7" - integrity sha512-DEiWxLBaCHneffrIT4B+TpMvkV9RNvvJrd3lY9ew1CEQobDzEXmYT1mg0hJhljZty7kCc10z13ohOFAE8jrUDg== - dependencies: - "@jest/types" "^25.2.6" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - -pretty-format@^25.4.0: +pretty-format@^25.1.0, pretty-format@^25.2.1, pretty-format@^25.2.6, pretty-format@^25.4.0: version "25.4.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.4.0.tgz#c58801bb5c4926ff4a677fe43f9b8b99812c7830" integrity sha512-PI/2dpGjXK5HyXexLPZU/jw5T9Q6S1YVXxxVxco+LIqzUFHXIbKZKdUVt7GcX7QUCr31+3fzhi4gN4/wUYPVxQ== @@ -10147,7 +10078,7 @@ redux-devtools-instrument@^1.9.4: lodash "^4.2.0" symbol-observable "^1.0.2" -redux-mock-store@^1.5.3: +redux-mock-store@^1.0.1: version "1.5.3" resolved "https://registry.yarnpkg.com/redux-mock-store/-/redux-mock-store-1.5.3.tgz#1f10528949b7ce8056c2532624f7cafa98576c6d" integrity sha512-ryhkkb/4D4CUGpAV2ln1GOY/uh51aczjcRz9k2L2bPx/Xja3c5pSGJJPyR25GNVRXtKIExScdAgFdiXp68GmJA== @@ -10425,10 +10356,10 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.x, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.15.1, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: - version "1.15.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" - integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== +resolve@1.x, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.15.1, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: + version "1.16.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.16.1.tgz#49fac5d8bacf1fd53f200fa51247ae736175832c" + integrity sha512-rmAglCSqWWMrrBv/XM6sW0NuRFiKViw/W4d9EbC4pt+49H8JwHy+mcGmALTEg504AUDcLTvb1T2q3E9AnmY+ig== dependencies: path-parse "^1.0.6" @@ -10681,7 +10612,7 @@ semver-diff@^3.1.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@6.x, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: +semver@6.x, semver@^6.0.0, semver@^6.1.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -10691,10 +10622,10 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@^7.1.1, semver@^7.1.3, semver@^7.2.1: - version "7.2.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.2.1.tgz#d997aa36bdbb00b501ae4ac4c7d17e9f7a587ae5" - integrity sha512-aHhm1pD02jXXkyIpq25qBZjr3CQgg8KST8uX0OWXch3xE6jw+1bfbWnCjzMwojsTquroUmKFHNzU6x26mEiRxw== +semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2: + version "7.3.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== send@0.17.1: version "0.17.1" @@ -10987,15 +10918,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@^0.5.9: - version "0.5.16" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" - integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@~0.5.12: +source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@^0.5.9, source-map-support@~0.5.12: version "0.5.17" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.17.tgz#29fe1b3c98b9dbd5064ada89052ee8ff070cb46c" integrity sha512-bwdKOBZ5L0gFRh4KOxNap/J/MpvX9Yxsq9lFDx65s3o7F/NiHy7JRaGIS8MwW6tZPAq9UXE207Il0cfcb5yu/Q== @@ -11672,23 +11595,7 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-jest@^25.2.1, ts-jest@^25.3.0: - version "25.3.0" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.3.0.tgz#c12d34573cbe34d49f10567940e44fd19d1c9178" - integrity sha512-qH/uhaC+AFDU9JfAueSr0epIFJkGMvUPog4FxSEVAtPOur1Oni5WBJMiQIkfHvc7PviVRsnlVLLY2I6221CQew== - dependencies: - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - json5 "2.x" - lodash.memoize "4.x" - make-error "1.x" - mkdirp "1.x" - resolve "1.x" - semver "6.x" - yargs-parser "^18.1.1" - -ts-jest@^25.4.0: +ts-jest@^25.2.1, ts-jest@^25.3.0, ts-jest@^25.4.0: version "25.4.0" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.4.0.tgz#5ad504299f8541d463a52e93e5e9d76876be0ba4" integrity sha512-+0ZrksdaquxGUBwSdTIcdX7VXdwLIlSRsyjivVA9gcO+Cvr6ByqDhu/mi5+HCcb6cMkiQp5xZ8qRO7/eCqLeyw== @@ -12525,7 +12432,7 @@ yaml@^1.7.2: dependencies: "@babel/runtime" "^7.8.7" -yargs-parser@18.x: +yargs-parser@18.x, yargs-parser@^18.1.1: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== @@ -12557,14 +12464,6 @@ yargs-parser@^15.0.0: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^18.1.1: - version "18.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.2.tgz#2f482bea2136dbde0861683abea7756d30b504f1" - integrity sha512-hlIPNR3IzC1YuL1c2UwwDKpXlNFBqD1Fswwh1khz5+d8Cq/8yc/Mn0i+rQXduu8hcrFKvO7Eryk+09NecTQAAQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs@^12.0.1: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13"