diff --git a/desktop/app/package.json b/desktop/app/package.json new file mode 100644 index 000000000..80d5a6f92 --- /dev/null +++ b/desktop/app/package.json @@ -0,0 +1,98 @@ +{ + "name": "flipper", + "version": "0.34.0", + "versionDate": "2018-4-12", + "description": "Mobile development tool", + "productName": "Flipper", + "author": "Facebook Inc", + "main": "src/index.tsx", + "icon": "icon.png", + "category": "facebook-intern", + "privileged": true, + "license": "MIT", + "resolutions": { + "adbkit/adbkit-logcat": "2" + }, + "dependencies": { + "@emotion/core": "^10.0.22", + "@emotion/styled": "^10.0.23", + "@iarna/toml": "^2.2.3", + "JSONStream": "^1.3.1", + "adbkit": "^2.11.1", + "adbkit-logcat": "^2.0.1", + "algoliasearch": "^4.0.0", + "ansi-to-html": "^0.6.3", + "async-mutex": "^0.1.3", + "chalk": "^3.0.0", + "codemirror": "^5.25.0", + "cross-env": "^7.0.0", + "dashify": "^2.0.0", + "decompress": "^4.2.0", + "decompress-targz": "^4.1.1", + "decompress-unzip": "^4.0.1", + "deep-equal": "^2.0.1", + "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.7.0", + "fs-extra": "^8.0.1", + "immer": "^6.0.0", + "immutable": "^4.0.0-rc.12", + "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", + "mkdirp": "^1.0.0", + "node-fetch": "^2.3.0", + "npm-api": "^1.0.0", + "open": "^7.0.0", + "openssl-wrapper": "^0.3.4", + "p-map": "^4.0.0", + "patch-package": "^6.2.0", + "pkg": "^4.4.1", + "promise-retry": "^1.1.1", + "promisify-child-process": "^3.1.3", + "prop-types": "^15.6.0", + "query-string": "^6.10.1", + "react": "16.13.0", + "react-color": "^2.11.7", + "react-debounce-render": "^6.0.0", + "react-devtools-core": "^4.0.6", + "react-dom": "^16.13.0", + "react-markdown": "^4.2.2", + "react-player": "^1.15.2", + "react-redux": "^7.1.1", + "react-test-renderer": "^16.13.0", + "react-transition-group": "^4.3.0", + "react-virtualized-auto-sizer": "^1.0.2", + "react-window": "^1.3.1", + "redux": "^4.0.0", + "redux-persist": "^6.0.0", + "remote-redux-devtools": "^0.5.16", + "rsocket-core": "^0.0.19", + "rsocket-tcp-server": "^0.0.19", + "socket.io": "^2.0.4", + "string-natural-compare": "^3.0.0", + "tmp": "0.0.33", + "uuid": "^7.0.1", + "websocket": "^1.0.31", + "which": "^2.0.1", + "ws": "^7.2.0", + "xdg-basedir": "^4.0.0", + "xml2js": "^0.4.19", + "yargs": "^15.0.1", + "yazl": "^2.5.1" + }, + "greenkeeper": { + "ignore": [ + "tmp", + "flipper-doctor" + ] + }, + "optionalDependencies": { + "7zip-bin-mac": "^1.0.1" + } +} diff --git a/desktop/src/.eslintrc.js b/desktop/app/src/.eslintrc.js similarity index 100% rename from desktop/src/.eslintrc.js rename to desktop/app/src/.eslintrc.js diff --git a/desktop/src/App.tsx b/desktop/app/src/App.tsx similarity index 100% rename from desktop/src/App.tsx rename to desktop/app/src/App.tsx diff --git a/desktop/src/Client.tsx b/desktop/app/src/Client.tsx similarity index 100% rename from desktop/src/Client.tsx rename to desktop/app/src/Client.tsx diff --git a/desktop/src/MenuBar.tsx b/desktop/app/src/MenuBar.tsx similarity index 100% rename from desktop/src/MenuBar.tsx rename to desktop/app/src/MenuBar.tsx diff --git a/desktop/src/NotificationsHub.tsx b/desktop/app/src/NotificationsHub.tsx similarity index 100% rename from desktop/src/NotificationsHub.tsx rename to desktop/app/src/NotificationsHub.tsx diff --git a/desktop/src/PluginContainer.tsx b/desktop/app/src/PluginContainer.tsx similarity index 100% rename from desktop/src/PluginContainer.tsx rename to desktop/app/src/PluginContainer.tsx diff --git a/desktop/src/UninitializedClient.tsx b/desktop/app/src/UninitializedClient.tsx similarity index 100% rename from desktop/src/UninitializedClient.tsx rename to desktop/app/src/UninitializedClient.tsx diff --git a/desktop/src/__tests__/__snapshots__/createMockFlipperWithPlugin.node.tsx.snap b/desktop/app/src/__tests__/__snapshots__/createMockFlipperWithPlugin.node.tsx.snap similarity index 100% rename from desktop/src/__tests__/__snapshots__/createMockFlipperWithPlugin.node.tsx.snap rename to desktop/app/src/__tests__/__snapshots__/createMockFlipperWithPlugin.node.tsx.snap diff --git a/desktop/src/__tests__/createMockFlipperWithPlugin.node.tsx b/desktop/app/src/__tests__/createMockFlipperWithPlugin.node.tsx similarity index 100% rename from desktop/src/__tests__/createMockFlipperWithPlugin.node.tsx rename to desktop/app/src/__tests__/createMockFlipperWithPlugin.node.tsx diff --git a/desktop/src/__tests__/createTablePlugin.node.tsx b/desktop/app/src/__tests__/createTablePlugin.node.tsx similarity index 100% rename from desktop/src/__tests__/createTablePlugin.node.tsx rename to desktop/app/src/__tests__/createTablePlugin.node.tsx diff --git a/desktop/src/chrome/AutoUpdateVersion.tsx b/desktop/app/src/chrome/AutoUpdateVersion.tsx similarity index 100% rename from desktop/src/chrome/AutoUpdateVersion.tsx rename to desktop/app/src/chrome/AutoUpdateVersion.tsx diff --git a/desktop/src/chrome/BugReporterDialog.tsx b/desktop/app/src/chrome/BugReporterDialog.tsx similarity index 100% rename from desktop/src/chrome/BugReporterDialog.tsx rename to desktop/app/src/chrome/BugReporterDialog.tsx diff --git a/desktop/src/chrome/CancellableExportStatus.tsx b/desktop/app/src/chrome/CancellableExportStatus.tsx similarity index 100% rename from desktop/src/chrome/CancellableExportStatus.tsx rename to desktop/app/src/chrome/CancellableExportStatus.tsx diff --git a/desktop/src/chrome/ChangelogSheet.tsx b/desktop/app/src/chrome/ChangelogSheet.tsx similarity index 100% rename from desktop/src/chrome/ChangelogSheet.tsx rename to desktop/app/src/chrome/ChangelogSheet.tsx diff --git a/desktop/src/chrome/DetailSidebar.tsx b/desktop/app/src/chrome/DetailSidebar.tsx similarity index 100% rename from desktop/src/chrome/DetailSidebar.tsx rename to desktop/app/src/chrome/DetailSidebar.tsx diff --git a/desktop/src/chrome/DevicesButton.tsx b/desktop/app/src/chrome/DevicesButton.tsx similarity index 100% rename from desktop/src/chrome/DevicesButton.tsx rename to desktop/app/src/chrome/DevicesButton.tsx diff --git a/desktop/src/chrome/DoctorBar.tsx b/desktop/app/src/chrome/DoctorBar.tsx similarity index 100% rename from desktop/src/chrome/DoctorBar.tsx rename to desktop/app/src/chrome/DoctorBar.tsx diff --git a/desktop/src/chrome/DoctorSheet.tsx b/desktop/app/src/chrome/DoctorSheet.tsx similarity index 100% rename from desktop/src/chrome/DoctorSheet.tsx rename to desktop/app/src/chrome/DoctorSheet.tsx diff --git a/desktop/src/chrome/ErrorBar.tsx b/desktop/app/src/chrome/ErrorBar.tsx similarity index 100% rename from desktop/src/chrome/ErrorBar.tsx rename to desktop/app/src/chrome/ErrorBar.tsx diff --git a/desktop/src/chrome/ExportDataPluginSheet.tsx b/desktop/app/src/chrome/ExportDataPluginSheet.tsx similarity index 100% rename from desktop/src/chrome/ExportDataPluginSheet.tsx rename to desktop/app/src/chrome/ExportDataPluginSheet.tsx diff --git a/desktop/src/chrome/FpsGraph.tsx b/desktop/app/src/chrome/FpsGraph.tsx similarity index 100% rename from desktop/src/chrome/FpsGraph.tsx rename to desktop/app/src/chrome/FpsGraph.tsx diff --git a/desktop/src/chrome/JSEmulatorLauncherSheet.tsx b/desktop/app/src/chrome/JSEmulatorLauncherSheet.tsx similarity index 100% rename from desktop/src/chrome/JSEmulatorLauncherSheet.tsx rename to desktop/app/src/chrome/JSEmulatorLauncherSheet.tsx diff --git a/desktop/src/chrome/ListView.tsx b/desktop/app/src/chrome/ListView.tsx similarity index 100% rename from desktop/src/chrome/ListView.tsx rename to desktop/app/src/chrome/ListView.tsx diff --git a/desktop/src/chrome/LocationsButton.tsx b/desktop/app/src/chrome/LocationsButton.tsx similarity index 95% rename from desktop/src/chrome/LocationsButton.tsx rename to desktop/app/src/chrome/LocationsButton.tsx index a895dc6d4..19935abe4 100644 --- a/desktop/src/chrome/LocationsButton.tsx +++ b/desktop/app/src/chrome/LocationsButton.tsx @@ -14,10 +14,10 @@ import {State as Store} from '../reducers'; import { readBookmarksFromDB, writeBookmarkToDB, -} from '../../plugins/navigation/util/indexedDB'; -import {PersistedState as NavPluginState} from '../../plugins/navigation/types'; +} from '../../../plugins/navigation/util/indexedDB'; +import {PersistedState as NavPluginState} from '../../../plugins/navigation/types'; import BaseDevice from '../devices/BaseDevice'; -import {State as PluginState} from 'src/reducers/pluginStates'; +import {State as PluginState} from 'app/src/reducers/pluginStates'; import {platform} from 'os'; import {getPluginKey} from '../utils/pluginUtils'; diff --git a/desktop/src/chrome/MetroButton.tsx b/desktop/app/src/chrome/MetroButton.tsx similarity index 100% rename from desktop/src/chrome/MetroButton.tsx rename to desktop/app/src/chrome/MetroButton.tsx diff --git a/desktop/src/chrome/NotificationScreen.tsx b/desktop/app/src/chrome/NotificationScreen.tsx similarity index 100% rename from desktop/src/chrome/NotificationScreen.tsx rename to desktop/app/src/chrome/NotificationScreen.tsx diff --git a/desktop/src/chrome/Popover.tsx b/desktop/app/src/chrome/Popover.tsx similarity index 100% rename from desktop/src/chrome/Popover.tsx rename to desktop/app/src/chrome/Popover.tsx diff --git a/desktop/src/chrome/RatingButton.tsx b/desktop/app/src/chrome/RatingButton.tsx similarity index 99% rename from desktop/src/chrome/RatingButton.tsx rename to desktop/app/src/chrome/RatingButton.tsx index 4d45efcea..91af88e6b 100644 --- a/desktop/src/chrome/RatingButton.tsx +++ b/desktop/app/src/chrome/RatingButton.tsx @@ -22,7 +22,7 @@ import GK from '../fb-stubs/GK'; import * as UserFeedback from '../fb-stubs/UserFeedback'; import {FeedbackPrompt} from '../fb-stubs/UserFeedback'; import {connect} from 'react-redux'; -import {State as Store} from 'src/reducers'; +import {State as Store} from 'app/src/reducers'; type PropsFromState = { sessionId: string | null; diff --git a/desktop/src/chrome/ScreenCaptureButtons.tsx b/desktop/app/src/chrome/ScreenCaptureButtons.tsx similarity index 100% rename from desktop/src/chrome/ScreenCaptureButtons.tsx rename to desktop/app/src/chrome/ScreenCaptureButtons.tsx diff --git a/desktop/src/chrome/SettingsSheet.tsx b/desktop/app/src/chrome/SettingsSheet.tsx similarity index 100% rename from desktop/src/chrome/SettingsSheet.tsx rename to desktop/app/src/chrome/SettingsSheet.tsx diff --git a/desktop/src/chrome/ShareSheetErrorList.tsx b/desktop/app/src/chrome/ShareSheetErrorList.tsx similarity index 100% rename from desktop/src/chrome/ShareSheetErrorList.tsx rename to desktop/app/src/chrome/ShareSheetErrorList.tsx diff --git a/desktop/src/chrome/ShareSheetExportFile.tsx b/desktop/app/src/chrome/ShareSheetExportFile.tsx similarity index 100% rename from desktop/src/chrome/ShareSheetExportFile.tsx rename to desktop/app/src/chrome/ShareSheetExportFile.tsx diff --git a/desktop/src/chrome/ShareSheetExportUrl.tsx b/desktop/app/src/chrome/ShareSheetExportUrl.tsx similarity index 100% rename from desktop/src/chrome/ShareSheetExportUrl.tsx rename to desktop/app/src/chrome/ShareSheetExportUrl.tsx diff --git a/desktop/src/chrome/ShareSheetPendingDialog.tsx b/desktop/app/src/chrome/ShareSheetPendingDialog.tsx similarity index 100% rename from desktop/src/chrome/ShareSheetPendingDialog.tsx rename to desktop/app/src/chrome/ShareSheetPendingDialog.tsx diff --git a/desktop/src/chrome/Sheet.tsx b/desktop/app/src/chrome/Sheet.tsx similarity index 100% rename from desktop/src/chrome/Sheet.tsx rename to desktop/app/src/chrome/Sheet.tsx diff --git a/desktop/src/chrome/SignInSheet.tsx b/desktop/app/src/chrome/SignInSheet.tsx similarity index 100% rename from desktop/src/chrome/SignInSheet.tsx rename to desktop/app/src/chrome/SignInSheet.tsx diff --git a/desktop/src/chrome/StatusBar.tsx b/desktop/app/src/chrome/StatusBar.tsx similarity index 100% rename from desktop/src/chrome/StatusBar.tsx rename to desktop/app/src/chrome/StatusBar.tsx diff --git a/desktop/src/chrome/TitleBar.tsx b/desktop/app/src/chrome/TitleBar.tsx similarity index 100% rename from desktop/src/chrome/TitleBar.tsx rename to desktop/app/src/chrome/TitleBar.tsx diff --git a/desktop/src/chrome/UpdateIndicator.tsx b/desktop/app/src/chrome/UpdateIndicator.tsx similarity index 100% rename from desktop/src/chrome/UpdateIndicator.tsx rename to desktop/app/src/chrome/UpdateIndicator.tsx diff --git a/desktop/src/chrome/UserAccount.tsx b/desktop/app/src/chrome/UserAccount.tsx similarity index 100% rename from desktop/src/chrome/UserAccount.tsx rename to desktop/app/src/chrome/UserAccount.tsx diff --git a/desktop/src/chrome/VideoRecordingButton.tsx b/desktop/app/src/chrome/VideoRecordingButton.tsx similarity index 100% rename from desktop/src/chrome/VideoRecordingButton.tsx rename to desktop/app/src/chrome/VideoRecordingButton.tsx diff --git a/desktop/src/chrome/WarningEmployee.tsx b/desktop/app/src/chrome/WarningEmployee.tsx similarity index 100% rename from desktop/src/chrome/WarningEmployee.tsx rename to desktop/app/src/chrome/WarningEmployee.tsx diff --git a/desktop/src/chrome/WelcomeScreen.tsx b/desktop/app/src/chrome/WelcomeScreen.tsx similarity index 100% rename from desktop/src/chrome/WelcomeScreen.tsx rename to desktop/app/src/chrome/WelcomeScreen.tsx diff --git a/desktop/src/chrome/WelcomeScreenHeadless.tsx b/desktop/app/src/chrome/WelcomeScreenHeadless.tsx similarity index 100% rename from desktop/src/chrome/WelcomeScreenHeadless.tsx rename to desktop/app/src/chrome/WelcomeScreenHeadless.tsx diff --git a/desktop/src/chrome/__tests__/ChangelogSheet.node.tsx b/desktop/app/src/chrome/__tests__/ChangelogSheet.node.tsx similarity index 100% rename from desktop/src/chrome/__tests__/ChangelogSheet.node.tsx rename to desktop/app/src/chrome/__tests__/ChangelogSheet.node.tsx diff --git a/src/chrome/__tests__/ExportDataPluginSheet.node.tsx b/desktop/app/src/chrome/__tests__/ExportDataPluginSheet.node.tsx similarity index 100% rename from src/chrome/__tests__/ExportDataPluginSheet.node.tsx rename to desktop/app/src/chrome/__tests__/ExportDataPluginSheet.node.tsx diff --git a/desktop/src/chrome/__tests__/ShareSheetErrorList.node.js b/desktop/app/src/chrome/__tests__/ShareSheetErrorList.node.js similarity index 100% rename from desktop/src/chrome/__tests__/ShareSheetErrorList.node.js rename to desktop/app/src/chrome/__tests__/ShareSheetErrorList.node.js diff --git a/desktop/src/chrome/__tests__/ShareSheetPendingDialog.node.tsx b/desktop/app/src/chrome/__tests__/ShareSheetPendingDialog.node.tsx similarity index 100% rename from desktop/src/chrome/__tests__/ShareSheetPendingDialog.node.tsx rename to desktop/app/src/chrome/__tests__/ShareSheetPendingDialog.node.tsx diff --git a/desktop/src/chrome/__tests__/StatusBar.node.tsx b/desktop/app/src/chrome/__tests__/StatusBar.node.tsx similarity index 100% rename from desktop/src/chrome/__tests__/StatusBar.node.tsx rename to desktop/app/src/chrome/__tests__/StatusBar.node.tsx diff --git a/src/chrome/__tests__/__snapshots__/ExportDataPluginSheet.node.tsx.snap b/desktop/app/src/chrome/__tests__/__snapshots__/ExportDataPluginSheet.node.tsx.snap similarity index 100% rename from src/chrome/__tests__/__snapshots__/ExportDataPluginSheet.node.tsx.snap rename to desktop/app/src/chrome/__tests__/__snapshots__/ExportDataPluginSheet.node.tsx.snap diff --git a/desktop/src/chrome/__tests__/__snapshots__/ShareSheetPendingDialog.node.tsx.snap b/desktop/app/src/chrome/__tests__/__snapshots__/ShareSheetPendingDialog.node.tsx.snap similarity index 100% rename from desktop/src/chrome/__tests__/__snapshots__/ShareSheetPendingDialog.node.tsx.snap rename to desktop/app/src/chrome/__tests__/__snapshots__/ShareSheetPendingDialog.node.tsx.snap diff --git a/desktop/src/chrome/mainsidebar/MainSidebar2.tsx b/desktop/app/src/chrome/mainsidebar/MainSidebar2.tsx similarity index 100% rename from desktop/src/chrome/mainsidebar/MainSidebar2.tsx rename to desktop/app/src/chrome/mainsidebar/MainSidebar2.tsx diff --git a/desktop/src/chrome/mainsidebar/MainSidebarUtilsSection.tsx b/desktop/app/src/chrome/mainsidebar/MainSidebarUtilsSection.tsx similarity index 100% rename from desktop/src/chrome/mainsidebar/MainSidebarUtilsSection.tsx rename to desktop/app/src/chrome/mainsidebar/MainSidebarUtilsSection.tsx diff --git a/desktop/src/chrome/mainsidebar/sidebarUtils.tsx b/desktop/app/src/chrome/mainsidebar/sidebarUtils.tsx similarity index 100% rename from desktop/src/chrome/mainsidebar/sidebarUtils.tsx rename to desktop/app/src/chrome/mainsidebar/sidebarUtils.tsx diff --git a/desktop/src/chrome/plugin-manager/PluginDebugger.tsx b/desktop/app/src/chrome/plugin-manager/PluginDebugger.tsx similarity index 100% rename from desktop/src/chrome/plugin-manager/PluginDebugger.tsx rename to desktop/app/src/chrome/plugin-manager/PluginDebugger.tsx diff --git a/desktop/src/chrome/plugin-manager/PluginInstaller.tsx b/desktop/app/src/chrome/plugin-manager/PluginInstaller.tsx similarity index 100% rename from desktop/src/chrome/plugin-manager/PluginInstaller.tsx rename to desktop/app/src/chrome/plugin-manager/PluginInstaller.tsx diff --git a/desktop/src/chrome/plugin-manager/PluginManager.tsx b/desktop/app/src/chrome/plugin-manager/PluginManager.tsx similarity index 100% rename from desktop/src/chrome/plugin-manager/PluginManager.tsx rename to desktop/app/src/chrome/plugin-manager/PluginManager.tsx diff --git a/desktop/src/chrome/plugin-manager/PluginPackageInstaller.tsx b/desktop/app/src/chrome/plugin-manager/PluginPackageInstaller.tsx similarity index 100% rename from desktop/src/chrome/plugin-manager/PluginPackageInstaller.tsx rename to desktop/app/src/chrome/plugin-manager/PluginPackageInstaller.tsx diff --git a/desktop/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx b/desktop/app/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx similarity index 100% rename from desktop/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx rename to desktop/app/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx diff --git a/desktop/src/chrome/settings/KeyboardShortcutInput.tsx b/desktop/app/src/chrome/settings/KeyboardShortcutInput.tsx similarity index 100% rename from desktop/src/chrome/settings/KeyboardShortcutInput.tsx rename to desktop/app/src/chrome/settings/KeyboardShortcutInput.tsx diff --git a/desktop/src/chrome/settings/ToggledSection.tsx b/desktop/app/src/chrome/settings/ToggledSection.tsx similarity index 100% rename from desktop/src/chrome/settings/ToggledSection.tsx rename to desktop/app/src/chrome/settings/ToggledSection.tsx diff --git a/desktop/src/chrome/settings/configFields.tsx b/desktop/app/src/chrome/settings/configFields.tsx similarity index 100% rename from desktop/src/chrome/settings/configFields.tsx rename to desktop/app/src/chrome/settings/configFields.tsx diff --git a/desktop/src/createTablePlugin.tsx b/desktop/app/src/createTablePlugin.tsx similarity index 100% rename from desktop/src/createTablePlugin.tsx rename to desktop/app/src/createTablePlugin.tsx diff --git a/desktop/src/devices/AndroidDevice.tsx b/desktop/app/src/devices/AndroidDevice.tsx similarity index 100% rename from desktop/src/devices/AndroidDevice.tsx rename to desktop/app/src/devices/AndroidDevice.tsx diff --git a/desktop/src/devices/ArchivedDevice.tsx b/desktop/app/src/devices/ArchivedDevice.tsx similarity index 100% rename from desktop/src/devices/ArchivedDevice.tsx rename to desktop/app/src/devices/ArchivedDevice.tsx diff --git a/desktop/src/devices/BaseDevice.tsx b/desktop/app/src/devices/BaseDevice.tsx similarity index 100% rename from desktop/src/devices/BaseDevice.tsx rename to desktop/app/src/devices/BaseDevice.tsx diff --git a/desktop/src/devices/IOSDevice.tsx b/desktop/app/src/devices/IOSDevice.tsx similarity index 100% rename from desktop/src/devices/IOSDevice.tsx rename to desktop/app/src/devices/IOSDevice.tsx diff --git a/desktop/src/devices/JSDevice.tsx b/desktop/app/src/devices/JSDevice.tsx similarity index 100% rename from desktop/src/devices/JSDevice.tsx rename to desktop/app/src/devices/JSDevice.tsx diff --git a/desktop/src/devices/KaiOSDevice.tsx b/desktop/app/src/devices/KaiOSDevice.tsx similarity index 100% rename from desktop/src/devices/KaiOSDevice.tsx rename to desktop/app/src/devices/KaiOSDevice.tsx diff --git a/desktop/src/devices/MacDevice.tsx b/desktop/app/src/devices/MacDevice.tsx similarity index 100% rename from desktop/src/devices/MacDevice.tsx rename to desktop/app/src/devices/MacDevice.tsx diff --git a/desktop/src/devices/MetroDevice.tsx b/desktop/app/src/devices/MetroDevice.tsx similarity index 100% rename from desktop/src/devices/MetroDevice.tsx rename to desktop/app/src/devices/MetroDevice.tsx diff --git a/desktop/src/devices/WindowsDevice.tsx b/desktop/app/src/devices/WindowsDevice.tsx similarity index 100% rename from desktop/src/devices/WindowsDevice.tsx rename to desktop/app/src/devices/WindowsDevice.tsx diff --git a/desktop/src/dispatcher/__tests__/TestPlugin.js b/desktop/app/src/dispatcher/__tests__/TestPlugin.js similarity index 100% rename from desktop/src/dispatcher/__tests__/TestPlugin.js rename to desktop/app/src/dispatcher/__tests__/TestPlugin.js diff --git a/desktop/src/dispatcher/__tests__/deeplinkURLParsing.node.js b/desktop/app/src/dispatcher/__tests__/deeplinkURLParsing.node.js similarity index 100% rename from desktop/src/dispatcher/__tests__/deeplinkURLParsing.node.js rename to desktop/app/src/dispatcher/__tests__/deeplinkURLParsing.node.js diff --git a/desktop/src/dispatcher/__tests__/plugins.node.js b/desktop/app/src/dispatcher/__tests__/plugins.node.js similarity index 100% rename from desktop/src/dispatcher/__tests__/plugins.node.js rename to desktop/app/src/dispatcher/__tests__/plugins.node.js diff --git a/desktop/src/dispatcher/__tests__/tracking.node.tsx b/desktop/app/src/dispatcher/__tests__/tracking.node.tsx similarity index 100% rename from desktop/src/dispatcher/__tests__/tracking.node.tsx rename to desktop/app/src/dispatcher/__tests__/tracking.node.tsx diff --git a/desktop/src/dispatcher/androidDevice.tsx b/desktop/app/src/dispatcher/androidDevice.tsx similarity index 100% rename from desktop/src/dispatcher/androidDevice.tsx rename to desktop/app/src/dispatcher/androidDevice.tsx diff --git a/desktop/src/dispatcher/application.tsx b/desktop/app/src/dispatcher/application.tsx similarity index 100% rename from desktop/src/dispatcher/application.tsx rename to desktop/app/src/dispatcher/application.tsx diff --git a/desktop/src/dispatcher/desktopDevice.tsx b/desktop/app/src/dispatcher/desktopDevice.tsx similarity index 100% rename from desktop/src/dispatcher/desktopDevice.tsx rename to desktop/app/src/dispatcher/desktopDevice.tsx diff --git a/desktop/src/dispatcher/iOSDevice.tsx b/desktop/app/src/dispatcher/iOSDevice.tsx similarity index 100% rename from desktop/src/dispatcher/iOSDevice.tsx rename to desktop/app/src/dispatcher/iOSDevice.tsx diff --git a/desktop/src/dispatcher/index.tsx b/desktop/app/src/dispatcher/index.tsx similarity index 100% rename from desktop/src/dispatcher/index.tsx rename to desktop/app/src/dispatcher/index.tsx diff --git a/desktop/src/dispatcher/metroDevice.tsx b/desktop/app/src/dispatcher/metroDevice.tsx similarity index 100% rename from desktop/src/dispatcher/metroDevice.tsx rename to desktop/app/src/dispatcher/metroDevice.tsx diff --git a/desktop/src/dispatcher/notifications.tsx b/desktop/app/src/dispatcher/notifications.tsx similarity index 100% rename from desktop/src/dispatcher/notifications.tsx rename to desktop/app/src/dispatcher/notifications.tsx diff --git a/desktop/src/dispatcher/pluginManager.tsx b/desktop/app/src/dispatcher/pluginManager.tsx similarity index 100% rename from desktop/src/dispatcher/pluginManager.tsx rename to desktop/app/src/dispatcher/pluginManager.tsx diff --git a/desktop/src/dispatcher/plugins.tsx b/desktop/app/src/dispatcher/plugins.tsx similarity index 100% rename from desktop/src/dispatcher/plugins.tsx rename to desktop/app/src/dispatcher/plugins.tsx diff --git a/desktop/src/dispatcher/reactNative.tsx b/desktop/app/src/dispatcher/reactNative.tsx similarity index 96% rename from desktop/src/dispatcher/reactNative.tsx rename to desktop/app/src/dispatcher/reactNative.tsx index 7fb881b03..3194573ed 100644 --- a/desktop/src/dispatcher/reactNative.tsx +++ b/desktop/app/src/dispatcher/reactNative.tsx @@ -9,7 +9,7 @@ import {remote} from 'electron'; import {MetroDevice} from 'flipper'; -import {Store} from 'src/reducers'; +import {Store} from 'app/src/reducers'; type ShortcutEventCommand = | { diff --git a/desktop/src/dispatcher/server.tsx b/desktop/app/src/dispatcher/server.tsx similarity index 100% rename from desktop/src/dispatcher/server.tsx rename to desktop/app/src/dispatcher/server.tsx diff --git a/desktop/src/dispatcher/tracking.tsx b/desktop/app/src/dispatcher/tracking.tsx similarity index 100% rename from desktop/src/dispatcher/tracking.tsx rename to desktop/app/src/dispatcher/tracking.tsx diff --git a/desktop/src/dispatcher/types.tsx b/desktop/app/src/dispatcher/types.tsx similarity index 100% rename from desktop/src/dispatcher/types.tsx rename to desktop/app/src/dispatcher/types.tsx diff --git a/desktop/src/dispatcher/user.tsx b/desktop/app/src/dispatcher/user.tsx similarity index 100% rename from desktop/src/dispatcher/user.tsx rename to desktop/app/src/dispatcher/user.tsx diff --git a/desktop/src/fb-interfaces/Logger.tsx b/desktop/app/src/fb-interfaces/Logger.tsx similarity index 100% rename from desktop/src/fb-interfaces/Logger.tsx rename to desktop/app/src/fb-interfaces/Logger.tsx diff --git a/desktop/src/fb-stubs/BugReporter.tsx b/desktop/app/src/fb-stubs/BugReporter.tsx similarity index 100% rename from desktop/src/fb-stubs/BugReporter.tsx rename to desktop/app/src/fb-stubs/BugReporter.tsx diff --git a/desktop/src/fb-stubs/ErrorReporter.tsx b/desktop/app/src/fb-stubs/ErrorReporter.tsx similarity index 100% rename from desktop/src/fb-stubs/ErrorReporter.tsx rename to desktop/app/src/fb-stubs/ErrorReporter.tsx diff --git a/desktop/src/fb-stubs/GK.tsx b/desktop/app/src/fb-stubs/GK.tsx similarity index 100% rename from desktop/src/fb-stubs/GK.tsx rename to desktop/app/src/fb-stubs/GK.tsx diff --git a/desktop/src/fb-stubs/LauncherSettingsPanel.tsx b/desktop/app/src/fb-stubs/LauncherSettingsPanel.tsx similarity index 89% rename from desktop/src/fb-stubs/LauncherSettingsPanel.tsx rename to desktop/app/src/fb-stubs/LauncherSettingsPanel.tsx index d9f20ed1d..0fe88895b 100644 --- a/desktop/src/fb-stubs/LauncherSettingsPanel.tsx +++ b/desktop/app/src/fb-stubs/LauncherSettingsPanel.tsx @@ -7,7 +7,7 @@ * @format */ -import {Tristate} from 'src/reducers/settings'; +import {Tristate} from 'app/src/reducers/settings'; export default function(_props: { isPrefetchingEnabled: Tristate; diff --git a/desktop/src/fb-stubs/LayoutInspectorSidebarExtensions.tsx b/desktop/app/src/fb-stubs/LayoutInspectorSidebarExtensions.tsx similarity index 88% rename from desktop/src/fb-stubs/LayoutInspectorSidebarExtensions.tsx rename to desktop/app/src/fb-stubs/LayoutInspectorSidebarExtensions.tsx index 1cb88f8fd..226d73232 100644 --- a/desktop/src/fb-stubs/LayoutInspectorSidebarExtensions.tsx +++ b/desktop/app/src/fb-stubs/LayoutInspectorSidebarExtensions.tsx @@ -8,7 +8,7 @@ */ import {PluginClient, Client, ElementID} from 'flipper'; -import {Logger} from 'src/fb-interfaces/Logger'; +import {Logger} from 'app/src/fb-interfaces/Logger'; export default [] as Array< ( diff --git a/desktop/src/fb-stubs/Logger.tsx b/desktop/app/src/fb-stubs/Logger.tsx similarity index 100% rename from desktop/src/fb-stubs/Logger.tsx rename to desktop/app/src/fb-stubs/Logger.tsx diff --git a/desktop/src/fb-stubs/Prefetcher.tsx b/desktop/app/src/fb-stubs/Prefetcher.tsx similarity index 100% rename from desktop/src/fb-stubs/Prefetcher.tsx rename to desktop/app/src/fb-stubs/Prefetcher.tsx diff --git a/desktop/src/fb-stubs/ScribeLogger.tsx b/desktop/app/src/fb-stubs/ScribeLogger.tsx similarity index 100% rename from desktop/src/fb-stubs/ScribeLogger.tsx rename to desktop/app/src/fb-stubs/ScribeLogger.tsx diff --git a/desktop/src/fb-stubs/SupportRequestDetails.tsx b/desktop/app/src/fb-stubs/SupportRequestDetails.tsx similarity index 100% rename from desktop/src/fb-stubs/SupportRequestDetails.tsx rename to desktop/app/src/fb-stubs/SupportRequestDetails.tsx diff --git a/desktop/src/fb-stubs/SupportRequestFormV2.tsx b/desktop/app/src/fb-stubs/SupportRequestFormV2.tsx similarity index 100% rename from desktop/src/fb-stubs/SupportRequestFormV2.tsx rename to desktop/app/src/fb-stubs/SupportRequestFormV2.tsx diff --git a/desktop/src/fb-stubs/UserFeedback.tsx b/desktop/app/src/fb-stubs/UserFeedback.tsx similarity index 100% rename from desktop/src/fb-stubs/UserFeedback.tsx rename to desktop/app/src/fb-stubs/UserFeedback.tsx diff --git a/desktop/src/fb-stubs/WatchTools.tsx b/desktop/app/src/fb-stubs/WatchTools.tsx similarity index 100% rename from desktop/src/fb-stubs/WatchTools.tsx rename to desktop/app/src/fb-stubs/WatchTools.tsx diff --git a/desktop/src/fb-stubs/__mocks__/Logger.tsx b/desktop/app/src/fb-stubs/__mocks__/Logger.tsx similarity index 100% rename from desktop/src/fb-stubs/__mocks__/Logger.tsx rename to desktop/app/src/fb-stubs/__mocks__/Logger.tsx diff --git a/desktop/src/fb-stubs/config.tsx b/desktop/app/src/fb-stubs/config.tsx similarity index 100% rename from desktop/src/fb-stubs/config.tsx rename to desktop/app/src/fb-stubs/config.tsx diff --git a/desktop/src/fb-stubs/constants.tsx b/desktop/app/src/fb-stubs/constants.tsx similarity index 100% rename from desktop/src/fb-stubs/constants.tsx rename to desktop/app/src/fb-stubs/constants.tsx diff --git a/desktop/src/fb-stubs/createPaste.tsx b/desktop/app/src/fb-stubs/createPaste.tsx similarity index 100% rename from desktop/src/fb-stubs/createPaste.tsx rename to desktop/app/src/fb-stubs/createPaste.tsx diff --git a/desktop/src/fb-stubs/iOSContainerUtility.tsx b/desktop/app/src/fb-stubs/iOSContainerUtility.tsx similarity index 100% rename from desktop/src/fb-stubs/iOSContainerUtility.tsx rename to desktop/app/src/fb-stubs/iOSContainerUtility.tsx diff --git a/desktop/src/fb-stubs/user.tsx b/desktop/app/src/fb-stubs/user.tsx similarity index 100% rename from desktop/src/fb-stubs/user.tsx rename to desktop/app/src/fb-stubs/user.tsx diff --git a/desktop/src/index.tsx b/desktop/app/src/index.tsx similarity index 100% rename from desktop/src/index.tsx rename to desktop/app/src/index.tsx diff --git a/desktop/src/init.tsx b/desktop/app/src/init.tsx similarity index 100% rename from desktop/src/init.tsx rename to desktop/app/src/init.tsx diff --git a/desktop/src/plugin.tsx b/desktop/app/src/plugin.tsx similarity index 100% rename from desktop/src/plugin.tsx rename to desktop/app/src/plugin.tsx diff --git a/desktop/src/plugins/TableNativePlugin.tsx b/desktop/app/src/plugins/TableNativePlugin.tsx similarity index 99% rename from desktop/src/plugins/TableNativePlugin.tsx rename to desktop/app/src/plugins/TableNativePlugin.tsx index 7ef2b4a9f..d2fda14df 100644 --- a/desktop/src/plugins/TableNativePlugin.tsx +++ b/desktop/app/src/plugins/TableNativePlugin.tsx @@ -33,7 +33,7 @@ import textContent from '../utils/textContent'; import createPaste from '../fb-stubs/createPaste'; import {ReactNode} from 'react'; import React from 'react'; -import {KeyboardActions} from 'src/MenuBar'; +import {KeyboardActions} from 'app/src/MenuBar'; type ID = string; diff --git a/desktop/src/reducers/__tests__/__snapshots__/healthchecks.node.tsx.snap b/desktop/app/src/reducers/__tests__/__snapshots__/healthchecks.node.tsx.snap similarity index 100% rename from desktop/src/reducers/__tests__/__snapshots__/healthchecks.node.tsx.snap rename to desktop/app/src/reducers/__tests__/__snapshots__/healthchecks.node.tsx.snap diff --git a/desktop/src/reducers/__tests__/applications.electron.tsx b/desktop/app/src/reducers/__tests__/applications.electron.tsx similarity index 100% rename from desktop/src/reducers/__tests__/applications.electron.tsx rename to desktop/app/src/reducers/__tests__/applications.electron.tsx diff --git a/desktop/src/reducers/__tests__/connections.node.tsx b/desktop/app/src/reducers/__tests__/connections.node.tsx similarity index 100% rename from desktop/src/reducers/__tests__/connections.node.tsx rename to desktop/app/src/reducers/__tests__/connections.node.tsx diff --git a/desktop/src/reducers/__tests__/healthchecks.node.tsx b/desktop/app/src/reducers/__tests__/healthchecks.node.tsx similarity index 100% rename from desktop/src/reducers/__tests__/healthchecks.node.tsx rename to desktop/app/src/reducers/__tests__/healthchecks.node.tsx diff --git a/desktop/src/reducers/__tests__/notifications.node.tsx b/desktop/app/src/reducers/__tests__/notifications.node.tsx similarity index 100% rename from desktop/src/reducers/__tests__/notifications.node.tsx rename to desktop/app/src/reducers/__tests__/notifications.node.tsx diff --git a/desktop/src/reducers/__tests__/pluginManager.node.tsx b/desktop/app/src/reducers/__tests__/pluginManager.node.tsx similarity index 100% rename from desktop/src/reducers/__tests__/pluginManager.node.tsx rename to desktop/app/src/reducers/__tests__/pluginManager.node.tsx diff --git a/desktop/src/reducers/__tests__/pluginStates.node.tsx b/desktop/app/src/reducers/__tests__/pluginStates.node.tsx similarity index 100% rename from desktop/src/reducers/__tests__/pluginStates.node.tsx rename to desktop/app/src/reducers/__tests__/pluginStates.node.tsx diff --git a/desktop/src/reducers/__tests__/plugins.node.tsx b/desktop/app/src/reducers/__tests__/plugins.node.tsx similarity index 100% rename from desktop/src/reducers/__tests__/plugins.node.tsx rename to desktop/app/src/reducers/__tests__/plugins.node.tsx diff --git a/desktop/src/reducers/__tests__/settings.node.tsx b/desktop/app/src/reducers/__tests__/settings.node.tsx similarity index 100% rename from desktop/src/reducers/__tests__/settings.node.tsx rename to desktop/app/src/reducers/__tests__/settings.node.tsx diff --git a/desktop/src/reducers/__tests__/user.node.tsx b/desktop/app/src/reducers/__tests__/user.node.tsx similarity index 100% rename from desktop/src/reducers/__tests__/user.node.tsx rename to desktop/app/src/reducers/__tests__/user.node.tsx diff --git a/desktop/src/reducers/application.tsx b/desktop/app/src/reducers/application.tsx similarity index 100% rename from desktop/src/reducers/application.tsx rename to desktop/app/src/reducers/application.tsx diff --git a/desktop/src/reducers/connections.tsx b/desktop/app/src/reducers/connections.tsx similarity index 100% rename from desktop/src/reducers/connections.tsx rename to desktop/app/src/reducers/connections.tsx diff --git a/desktop/src/reducers/healthchecks.tsx b/desktop/app/src/reducers/healthchecks.tsx similarity index 100% rename from desktop/src/reducers/healthchecks.tsx rename to desktop/app/src/reducers/healthchecks.tsx diff --git a/desktop/src/reducers/index.tsx b/desktop/app/src/reducers/index.tsx similarity index 100% rename from desktop/src/reducers/index.tsx rename to desktop/app/src/reducers/index.tsx diff --git a/desktop/src/reducers/launcherSettings.tsx b/desktop/app/src/reducers/launcherSettings.tsx similarity index 100% rename from desktop/src/reducers/launcherSettings.tsx rename to desktop/app/src/reducers/launcherSettings.tsx diff --git a/desktop/src/reducers/notifications.tsx b/desktop/app/src/reducers/notifications.tsx similarity index 100% rename from desktop/src/reducers/notifications.tsx rename to desktop/app/src/reducers/notifications.tsx diff --git a/desktop/src/reducers/pluginManager.tsx b/desktop/app/src/reducers/pluginManager.tsx similarity index 100% rename from desktop/src/reducers/pluginManager.tsx rename to desktop/app/src/reducers/pluginManager.tsx diff --git a/desktop/src/reducers/pluginMessageQueue.tsx b/desktop/app/src/reducers/pluginMessageQueue.tsx similarity index 100% rename from desktop/src/reducers/pluginMessageQueue.tsx rename to desktop/app/src/reducers/pluginMessageQueue.tsx diff --git a/desktop/src/reducers/pluginStates.tsx b/desktop/app/src/reducers/pluginStates.tsx similarity index 100% rename from desktop/src/reducers/pluginStates.tsx rename to desktop/app/src/reducers/pluginStates.tsx diff --git a/desktop/src/reducers/plugins.tsx b/desktop/app/src/reducers/plugins.tsx similarity index 100% rename from desktop/src/reducers/plugins.tsx rename to desktop/app/src/reducers/plugins.tsx diff --git a/desktop/src/reducers/settings.tsx b/desktop/app/src/reducers/settings.tsx similarity index 100% rename from desktop/src/reducers/settings.tsx rename to desktop/app/src/reducers/settings.tsx diff --git a/desktop/src/reducers/supportForm.tsx b/desktop/app/src/reducers/supportForm.tsx similarity index 100% rename from desktop/src/reducers/supportForm.tsx rename to desktop/app/src/reducers/supportForm.tsx diff --git a/desktop/src/reducers/usageTracking.tsx b/desktop/app/src/reducers/usageTracking.tsx similarity index 100% rename from desktop/src/reducers/usageTracking.tsx rename to desktop/app/src/reducers/usageTracking.tsx diff --git a/desktop/src/reducers/user.tsx b/desktop/app/src/reducers/user.tsx similarity index 100% rename from desktop/src/reducers/user.tsx rename to desktop/app/src/reducers/user.tsx diff --git a/desktop/src/server.tsx b/desktop/app/src/server.tsx similarity index 100% rename from desktop/src/server.tsx rename to desktop/app/src/server.tsx diff --git a/desktop/src/store.tsx b/desktop/app/src/store.tsx similarity index 100% rename from desktop/src/store.tsx rename to desktop/app/src/store.tsx diff --git a/desktop/src/test-utils/createMockFlipperWithPlugin.tsx b/desktop/app/src/test-utils/createMockFlipperWithPlugin.tsx similarity index 100% rename from desktop/src/test-utils/createMockFlipperWithPlugin.tsx rename to desktop/app/src/test-utils/createMockFlipperWithPlugin.tsx diff --git a/desktop/src/ui/components/AlternatingRows.tsx b/desktop/app/src/ui/components/AlternatingRows.tsx similarity index 100% rename from desktop/src/ui/components/AlternatingRows.tsx rename to desktop/app/src/ui/components/AlternatingRows.tsx diff --git a/desktop/src/ui/components/Block.tsx b/desktop/app/src/ui/components/Block.tsx similarity index 100% rename from desktop/src/ui/components/Block.tsx rename to desktop/app/src/ui/components/Block.tsx diff --git a/desktop/src/ui/components/Bordered.tsx b/desktop/app/src/ui/components/Bordered.tsx similarity index 100% rename from desktop/src/ui/components/Bordered.tsx rename to desktop/app/src/ui/components/Bordered.tsx diff --git a/desktop/src/ui/components/Box.tsx b/desktop/app/src/ui/components/Box.tsx similarity index 100% rename from desktop/src/ui/components/Box.tsx rename to desktop/app/src/ui/components/Box.tsx diff --git a/desktop/src/ui/components/Button.tsx b/desktop/app/src/ui/components/Button.tsx similarity index 100% rename from desktop/src/ui/components/Button.tsx rename to desktop/app/src/ui/components/Button.tsx diff --git a/desktop/src/ui/components/ButtonGroup.tsx b/desktop/app/src/ui/components/ButtonGroup.tsx similarity index 100% rename from desktop/src/ui/components/ButtonGroup.tsx rename to desktop/app/src/ui/components/ButtonGroup.tsx diff --git a/desktop/src/ui/components/ButtonGroupChain.tsx b/desktop/app/src/ui/components/ButtonGroupChain.tsx similarity index 100% rename from desktop/src/ui/components/ButtonGroupChain.tsx rename to desktop/app/src/ui/components/ButtonGroupChain.tsx diff --git a/desktop/src/ui/components/ButtonNavigationGroup.tsx b/desktop/app/src/ui/components/ButtonNavigationGroup.tsx similarity index 100% rename from desktop/src/ui/components/ButtonNavigationGroup.tsx rename to desktop/app/src/ui/components/ButtonNavigationGroup.tsx diff --git a/desktop/src/ui/components/CenteredView.tsx b/desktop/app/src/ui/components/CenteredView.tsx similarity index 100% rename from desktop/src/ui/components/CenteredView.tsx rename to desktop/app/src/ui/components/CenteredView.tsx diff --git a/desktop/src/ui/components/Checkbox.tsx b/desktop/app/src/ui/components/Checkbox.tsx similarity index 100% rename from desktop/src/ui/components/Checkbox.tsx rename to desktop/app/src/ui/components/Checkbox.tsx diff --git a/desktop/src/ui/components/CodeBlock.tsx b/desktop/app/src/ui/components/CodeBlock.tsx similarity index 100% rename from desktop/src/ui/components/CodeBlock.tsx rename to desktop/app/src/ui/components/CodeBlock.tsx diff --git a/desktop/src/ui/components/ContextMenu.tsx b/desktop/app/src/ui/components/ContextMenu.tsx similarity index 100% rename from desktop/src/ui/components/ContextMenu.tsx rename to desktop/app/src/ui/components/ContextMenu.tsx diff --git a/desktop/src/ui/components/ContextMenuProvider.tsx b/desktop/app/src/ui/components/ContextMenuProvider.tsx similarity index 100% rename from desktop/src/ui/components/ContextMenuProvider.tsx rename to desktop/app/src/ui/components/ContextMenuProvider.tsx diff --git a/desktop/src/ui/components/ErrorBlock.tsx b/desktop/app/src/ui/components/ErrorBlock.tsx similarity index 100% rename from desktop/src/ui/components/ErrorBlock.tsx rename to desktop/app/src/ui/components/ErrorBlock.tsx diff --git a/desktop/src/ui/components/ErrorBoundary.tsx b/desktop/app/src/ui/components/ErrorBoundary.tsx similarity index 100% rename from desktop/src/ui/components/ErrorBoundary.tsx rename to desktop/app/src/ui/components/ErrorBoundary.tsx diff --git a/desktop/src/ui/components/File.tsx b/desktop/app/src/ui/components/File.tsx similarity index 100% rename from desktop/src/ui/components/File.tsx rename to desktop/app/src/ui/components/File.tsx diff --git a/desktop/src/ui/components/FileList.tsx b/desktop/app/src/ui/components/FileList.tsx similarity index 100% rename from desktop/src/ui/components/FileList.tsx rename to desktop/app/src/ui/components/FileList.tsx diff --git a/desktop/src/ui/components/FileSelector.tsx b/desktop/app/src/ui/components/FileSelector.tsx similarity index 100% rename from desktop/src/ui/components/FileSelector.tsx rename to desktop/app/src/ui/components/FileSelector.tsx diff --git a/desktop/src/ui/components/FlexBox.tsx b/desktop/app/src/ui/components/FlexBox.tsx similarity index 100% rename from desktop/src/ui/components/FlexBox.tsx rename to desktop/app/src/ui/components/FlexBox.tsx diff --git a/desktop/src/ui/components/FlexCenter.tsx b/desktop/app/src/ui/components/FlexCenter.tsx similarity index 100% rename from desktop/src/ui/components/FlexCenter.tsx rename to desktop/app/src/ui/components/FlexCenter.tsx diff --git a/desktop/src/ui/components/FlexColumn.tsx b/desktop/app/src/ui/components/FlexColumn.tsx similarity index 100% rename from desktop/src/ui/components/FlexColumn.tsx rename to desktop/app/src/ui/components/FlexColumn.tsx diff --git a/desktop/src/ui/components/FlexRow.tsx b/desktop/app/src/ui/components/FlexRow.tsx similarity index 100% rename from desktop/src/ui/components/FlexRow.tsx rename to desktop/app/src/ui/components/FlexRow.tsx diff --git a/desktop/src/ui/components/FocusableBox.tsx b/desktop/app/src/ui/components/FocusableBox.tsx similarity index 100% rename from desktop/src/ui/components/FocusableBox.tsx rename to desktop/app/src/ui/components/FocusableBox.tsx diff --git a/desktop/src/ui/components/Glyph.tsx b/desktop/app/src/ui/components/Glyph.tsx similarity index 100% rename from desktop/src/ui/components/Glyph.tsx rename to desktop/app/src/ui/components/Glyph.tsx diff --git a/desktop/src/ui/components/HBox.tsx b/desktop/app/src/ui/components/HBox.tsx similarity index 100% rename from desktop/src/ui/components/HBox.tsx rename to desktop/app/src/ui/components/HBox.tsx diff --git a/desktop/src/ui/components/Heading.tsx b/desktop/app/src/ui/components/Heading.tsx similarity index 100% rename from desktop/src/ui/components/Heading.tsx rename to desktop/app/src/ui/components/Heading.tsx diff --git a/desktop/src/ui/components/HorizontalRule.tsx b/desktop/app/src/ui/components/HorizontalRule.tsx similarity index 100% rename from desktop/src/ui/components/HorizontalRule.tsx rename to desktop/app/src/ui/components/HorizontalRule.tsx diff --git a/desktop/src/ui/components/Info.tsx b/desktop/app/src/ui/components/Info.tsx similarity index 100% rename from desktop/src/ui/components/Info.tsx rename to desktop/app/src/ui/components/Info.tsx diff --git a/desktop/src/ui/components/Input.tsx b/desktop/app/src/ui/components/Input.tsx similarity index 100% rename from desktop/src/ui/components/Input.tsx rename to desktop/app/src/ui/components/Input.tsx diff --git a/desktop/src/ui/components/Interactive.tsx b/desktop/app/src/ui/components/Interactive.tsx similarity index 100% rename from desktop/src/ui/components/Interactive.tsx rename to desktop/app/src/ui/components/Interactive.tsx diff --git a/desktop/src/ui/components/Label.tsx b/desktop/app/src/ui/components/Label.tsx similarity index 100% rename from desktop/src/ui/components/Label.tsx rename to desktop/app/src/ui/components/Label.tsx diff --git a/desktop/src/ui/components/Labeled.tsx b/desktop/app/src/ui/components/Labeled.tsx similarity index 100% rename from desktop/src/ui/components/Labeled.tsx rename to desktop/app/src/ui/components/Labeled.tsx diff --git a/desktop/src/ui/components/Link.tsx b/desktop/app/src/ui/components/Link.tsx similarity index 100% rename from desktop/src/ui/components/Link.tsx rename to desktop/app/src/ui/components/Link.tsx diff --git a/desktop/src/ui/components/LoadingIndicator.tsx b/desktop/app/src/ui/components/LoadingIndicator.tsx similarity index 100% rename from desktop/src/ui/components/LoadingIndicator.tsx rename to desktop/app/src/ui/components/LoadingIndicator.tsx diff --git a/desktop/src/ui/components/Markdown.tsx b/desktop/app/src/ui/components/Markdown.tsx similarity index 100% rename from desktop/src/ui/components/Markdown.tsx rename to desktop/app/src/ui/components/Markdown.tsx diff --git a/desktop/src/ui/components/MarkerTimeline.tsx b/desktop/app/src/ui/components/MarkerTimeline.tsx similarity index 100% rename from desktop/src/ui/components/MarkerTimeline.tsx rename to desktop/app/src/ui/components/MarkerTimeline.tsx diff --git a/desktop/src/ui/components/ModalOverlay.tsx b/desktop/app/src/ui/components/ModalOverlay.tsx similarity index 100% rename from desktop/src/ui/components/ModalOverlay.tsx rename to desktop/app/src/ui/components/ModalOverlay.tsx diff --git a/desktop/src/ui/components/MultiLineInput.tsx b/desktop/app/src/ui/components/MultiLineInput.tsx similarity index 100% rename from desktop/src/ui/components/MultiLineInput.tsx rename to desktop/app/src/ui/components/MultiLineInput.tsx diff --git a/desktop/src/ui/components/Orderable.tsx b/desktop/app/src/ui/components/Orderable.tsx similarity index 100% rename from desktop/src/ui/components/Orderable.tsx rename to desktop/app/src/ui/components/Orderable.tsx diff --git a/desktop/src/ui/components/Panel.tsx b/desktop/app/src/ui/components/Panel.tsx similarity index 100% rename from desktop/src/ui/components/Panel.tsx rename to desktop/app/src/ui/components/Panel.tsx diff --git a/desktop/src/ui/components/PathBreadcrumbs.tsx b/desktop/app/src/ui/components/PathBreadcrumbs.tsx similarity index 100% rename from desktop/src/ui/components/PathBreadcrumbs.tsx rename to desktop/app/src/ui/components/PathBreadcrumbs.tsx diff --git a/desktop/src/ui/components/Popover.tsx b/desktop/app/src/ui/components/Popover.tsx similarity index 100% rename from desktop/src/ui/components/Popover.tsx rename to desktop/app/src/ui/components/Popover.tsx diff --git a/desktop/src/ui/components/Radio.tsx b/desktop/app/src/ui/components/Radio.tsx similarity index 100% rename from desktop/src/ui/components/Radio.tsx rename to desktop/app/src/ui/components/Radio.tsx diff --git a/desktop/src/ui/components/ResizeSensor.tsx b/desktop/app/src/ui/components/ResizeSensor.tsx similarity index 100% rename from desktop/src/ui/components/ResizeSensor.tsx rename to desktop/app/src/ui/components/ResizeSensor.tsx diff --git a/desktop/src/ui/components/RoundedSection.tsx b/desktop/app/src/ui/components/RoundedSection.tsx similarity index 100% rename from desktop/src/ui/components/RoundedSection.tsx rename to desktop/app/src/ui/components/RoundedSection.tsx diff --git a/desktop/src/ui/components/Select.tsx b/desktop/app/src/ui/components/Select.tsx similarity index 100% rename from desktop/src/ui/components/Select.tsx rename to desktop/app/src/ui/components/Select.tsx diff --git a/desktop/src/ui/components/Sheet.tsx b/desktop/app/src/ui/components/Sheet.tsx similarity index 100% rename from desktop/src/ui/components/Sheet.tsx rename to desktop/app/src/ui/components/Sheet.tsx diff --git a/desktop/src/ui/components/Sidebar.tsx b/desktop/app/src/ui/components/Sidebar.tsx similarity index 100% rename from desktop/src/ui/components/Sidebar.tsx rename to desktop/app/src/ui/components/Sidebar.tsx diff --git a/desktop/src/ui/components/SidebarLabel.tsx b/desktop/app/src/ui/components/SidebarLabel.tsx similarity index 100% rename from desktop/src/ui/components/SidebarLabel.tsx rename to desktop/app/src/ui/components/SidebarLabel.tsx diff --git a/desktop/src/ui/components/SmallText.tsx b/desktop/app/src/ui/components/SmallText.tsx similarity index 100% rename from desktop/src/ui/components/SmallText.tsx rename to desktop/app/src/ui/components/SmallText.tsx diff --git a/desktop/src/ui/components/StackTrace.tsx b/desktop/app/src/ui/components/StackTrace.tsx similarity index 100% rename from desktop/src/ui/components/StackTrace.tsx rename to desktop/app/src/ui/components/StackTrace.tsx diff --git a/desktop/src/ui/components/StarButton.tsx b/desktop/app/src/ui/components/StarButton.tsx similarity index 100% rename from desktop/src/ui/components/StarButton.tsx rename to desktop/app/src/ui/components/StarButton.tsx diff --git a/desktop/src/ui/components/StatusIndicator.tsx b/desktop/app/src/ui/components/StatusIndicator.tsx similarity index 100% rename from desktop/src/ui/components/StatusIndicator.tsx rename to desktop/app/src/ui/components/StatusIndicator.tsx diff --git a/desktop/src/ui/components/Tab.tsx b/desktop/app/src/ui/components/Tab.tsx similarity index 100% rename from desktop/src/ui/components/Tab.tsx rename to desktop/app/src/ui/components/Tab.tsx diff --git a/desktop/src/ui/components/Tabs.tsx b/desktop/app/src/ui/components/Tabs.tsx similarity index 100% rename from desktop/src/ui/components/Tabs.tsx rename to desktop/app/src/ui/components/Tabs.tsx diff --git a/desktop/src/ui/components/TabsContainer.tsx b/desktop/app/src/ui/components/TabsContainer.tsx similarity index 100% rename from desktop/src/ui/components/TabsContainer.tsx rename to desktop/app/src/ui/components/TabsContainer.tsx diff --git a/desktop/src/ui/components/Text.tsx b/desktop/app/src/ui/components/Text.tsx similarity index 100% rename from desktop/src/ui/components/Text.tsx rename to desktop/app/src/ui/components/Text.tsx diff --git a/desktop/src/ui/components/TextParagraph.tsx b/desktop/app/src/ui/components/TextParagraph.tsx similarity index 100% rename from desktop/src/ui/components/TextParagraph.tsx rename to desktop/app/src/ui/components/TextParagraph.tsx diff --git a/desktop/src/ui/components/Textarea.tsx b/desktop/app/src/ui/components/Textarea.tsx similarity index 100% rename from desktop/src/ui/components/Textarea.tsx rename to desktop/app/src/ui/components/Textarea.tsx diff --git a/desktop/src/ui/components/ToggleSwitch.tsx b/desktop/app/src/ui/components/ToggleSwitch.tsx similarity index 100% rename from desktop/src/ui/components/ToggleSwitch.tsx rename to desktop/app/src/ui/components/ToggleSwitch.tsx diff --git a/desktop/src/ui/components/Toolbar.tsx b/desktop/app/src/ui/components/Toolbar.tsx similarity index 100% rename from desktop/src/ui/components/Toolbar.tsx rename to desktop/app/src/ui/components/Toolbar.tsx diff --git a/desktop/src/ui/components/Tooltip.tsx b/desktop/app/src/ui/components/Tooltip.tsx similarity index 100% rename from desktop/src/ui/components/Tooltip.tsx rename to desktop/app/src/ui/components/Tooltip.tsx diff --git a/desktop/src/ui/components/TooltipProvider.tsx b/desktop/app/src/ui/components/TooltipProvider.tsx similarity index 100% rename from desktop/src/ui/components/TooltipProvider.tsx rename to desktop/app/src/ui/components/TooltipProvider.tsx diff --git a/desktop/src/ui/components/VBox.tsx b/desktop/app/src/ui/components/VBox.tsx similarity index 100% rename from desktop/src/ui/components/VBox.tsx rename to desktop/app/src/ui/components/VBox.tsx diff --git a/desktop/src/ui/components/VerticalRule.tsx b/desktop/app/src/ui/components/VerticalRule.tsx similarity index 100% rename from desktop/src/ui/components/VerticalRule.tsx rename to desktop/app/src/ui/components/VerticalRule.tsx diff --git a/desktop/src/ui/components/View.tsx b/desktop/app/src/ui/components/View.tsx similarity index 100% rename from desktop/src/ui/components/View.tsx rename to desktop/app/src/ui/components/View.tsx diff --git a/desktop/src/ui/components/ViewWithSize.tsx b/desktop/app/src/ui/components/ViewWithSize.tsx similarity index 100% rename from desktop/src/ui/components/ViewWithSize.tsx rename to desktop/app/src/ui/components/ViewWithSize.tsx diff --git a/desktop/src/ui/components/VirtualList.tsx b/desktop/app/src/ui/components/VirtualList.tsx similarity index 100% rename from desktop/src/ui/components/VirtualList.tsx rename to desktop/app/src/ui/components/VirtualList.tsx diff --git a/desktop/src/ui/components/__tests__/MarkerTimeline.electron.tsx b/desktop/app/src/ui/components/__tests__/MarkerTimeline.electron.tsx similarity index 100% rename from desktop/src/ui/components/__tests__/MarkerTimeline.electron.tsx rename to desktop/app/src/ui/components/__tests__/MarkerTimeline.electron.tsx diff --git a/desktop/src/ui/components/__tests__/__snapshots__/MarkerTimeline.electron.tsx.snap b/desktop/app/src/ui/components/__tests__/__snapshots__/MarkerTimeline.electron.tsx.snap similarity index 100% rename from desktop/src/ui/components/__tests__/__snapshots__/MarkerTimeline.electron.tsx.snap rename to desktop/app/src/ui/components/__tests__/__snapshots__/MarkerTimeline.electron.tsx.snap diff --git a/desktop/src/ui/components/colors.tsx b/desktop/app/src/ui/components/colors.tsx similarity index 100% rename from desktop/src/ui/components/colors.tsx rename to desktop/app/src/ui/components/colors.tsx diff --git a/desktop/src/ui/components/console.tsx b/desktop/app/src/ui/components/console.tsx similarity index 100% rename from desktop/src/ui/components/console.tsx rename to desktop/app/src/ui/components/console.tsx diff --git a/desktop/src/ui/components/data-inspector/DataDescription.tsx b/desktop/app/src/ui/components/data-inspector/DataDescription.tsx similarity index 100% rename from desktop/src/ui/components/data-inspector/DataDescription.tsx rename to desktop/app/src/ui/components/data-inspector/DataDescription.tsx diff --git a/desktop/src/ui/components/data-inspector/DataInspector.tsx b/desktop/app/src/ui/components/data-inspector/DataInspector.tsx similarity index 100% rename from desktop/src/ui/components/data-inspector/DataInspector.tsx rename to desktop/app/src/ui/components/data-inspector/DataInspector.tsx diff --git a/desktop/src/ui/components/data-inspector/DataPreview.tsx b/desktop/app/src/ui/components/data-inspector/DataPreview.tsx similarity index 100% rename from desktop/src/ui/components/data-inspector/DataPreview.tsx rename to desktop/app/src/ui/components/data-inspector/DataPreview.tsx diff --git a/desktop/src/ui/components/data-inspector/ManagedDataInspector.tsx b/desktop/app/src/ui/components/data-inspector/ManagedDataInspector.tsx similarity index 100% rename from desktop/src/ui/components/data-inspector/ManagedDataInspector.tsx rename to desktop/app/src/ui/components/data-inspector/ManagedDataInspector.tsx diff --git a/desktop/src/ui/components/data-inspector/utils.tsx b/desktop/app/src/ui/components/data-inspector/utils.tsx similarity index 100% rename from desktop/src/ui/components/data-inspector/utils.tsx rename to desktop/app/src/ui/components/data-inspector/utils.tsx diff --git a/desktop/src/ui/components/desktop-toolbar.tsx b/desktop/app/src/ui/components/desktop-toolbar.tsx similarity index 100% rename from desktop/src/ui/components/desktop-toolbar.tsx rename to desktop/app/src/ui/components/desktop-toolbar.tsx diff --git a/desktop/src/ui/components/elements-inspector/ElementsInspector.tsx b/desktop/app/src/ui/components/elements-inspector/ElementsInspector.tsx similarity index 100% rename from desktop/src/ui/components/elements-inspector/ElementsInspector.tsx rename to desktop/app/src/ui/components/elements-inspector/ElementsInspector.tsx diff --git a/desktop/src/ui/components/elements-inspector/Visualizer.tsx b/desktop/app/src/ui/components/elements-inspector/Visualizer.tsx similarity index 100% rename from desktop/src/ui/components/elements-inspector/Visualizer.tsx rename to desktop/app/src/ui/components/elements-inspector/Visualizer.tsx diff --git a/desktop/src/ui/components/elements-inspector/elements.tsx b/desktop/app/src/ui/components/elements-inspector/elements.tsx similarity index 100% rename from desktop/src/ui/components/elements-inspector/elements.tsx rename to desktop/app/src/ui/components/elements-inspector/elements.tsx diff --git a/desktop/src/ui/components/elements-inspector/sidebar.tsx b/desktop/app/src/ui/components/elements-inspector/sidebar.tsx similarity index 100% rename from desktop/src/ui/components/elements-inspector/sidebar.tsx rename to desktop/app/src/ui/components/elements-inspector/sidebar.tsx diff --git a/desktop/src/ui/components/filter/FilterRow.tsx b/desktop/app/src/ui/components/filter/FilterRow.tsx similarity index 100% rename from desktop/src/ui/components/filter/FilterRow.tsx rename to desktop/app/src/ui/components/filter/FilterRow.tsx diff --git a/desktop/src/ui/components/filter/types.tsx b/desktop/app/src/ui/components/filter/types.tsx similarity index 100% rename from desktop/src/ui/components/filter/types.tsx rename to desktop/app/src/ui/components/filter/types.tsx diff --git a/desktop/src/ui/components/searchable/FilterToken.tsx b/desktop/app/src/ui/components/searchable/FilterToken.tsx similarity index 100% rename from desktop/src/ui/components/searchable/FilterToken.tsx rename to desktop/app/src/ui/components/searchable/FilterToken.tsx diff --git a/desktop/src/ui/components/searchable/Searchable.tsx b/desktop/app/src/ui/components/searchable/Searchable.tsx similarity index 100% rename from desktop/src/ui/components/searchable/Searchable.tsx rename to desktop/app/src/ui/components/searchable/Searchable.tsx diff --git a/desktop/src/ui/components/searchable/SearchableTable.tsx b/desktop/app/src/ui/components/searchable/SearchableTable.tsx similarity index 100% rename from desktop/src/ui/components/searchable/SearchableTable.tsx rename to desktop/app/src/ui/components/searchable/SearchableTable.tsx diff --git a/desktop/src/ui/components/searchable/SearchableTable_immutable.tsx b/desktop/app/src/ui/components/searchable/SearchableTable_immutable.tsx similarity index 100% rename from desktop/src/ui/components/searchable/SearchableTable_immutable.tsx rename to desktop/app/src/ui/components/searchable/SearchableTable_immutable.tsx diff --git a/desktop/src/ui/components/table/ManagedTable.tsx b/desktop/app/src/ui/components/table/ManagedTable.tsx similarity index 100% rename from desktop/src/ui/components/table/ManagedTable.tsx rename to desktop/app/src/ui/components/table/ManagedTable.tsx diff --git a/desktop/src/ui/components/table/ManagedTable_immutable.tsx b/desktop/app/src/ui/components/table/ManagedTable_immutable.tsx similarity index 100% rename from desktop/src/ui/components/table/ManagedTable_immutable.tsx rename to desktop/app/src/ui/components/table/ManagedTable_immutable.tsx diff --git a/desktop/src/ui/components/table/TableHead.tsx b/desktop/app/src/ui/components/table/TableHead.tsx similarity index 100% rename from desktop/src/ui/components/table/TableHead.tsx rename to desktop/app/src/ui/components/table/TableHead.tsx diff --git a/desktop/src/ui/components/table/TableRow.tsx b/desktop/app/src/ui/components/table/TableRow.tsx similarity index 100% rename from desktop/src/ui/components/table/TableRow.tsx rename to desktop/app/src/ui/components/table/TableRow.tsx diff --git a/desktop/src/ui/components/table/TypeBasedValueRenderer.tsx b/desktop/app/src/ui/components/table/TypeBasedValueRenderer.tsx similarity index 100% rename from desktop/src/ui/components/table/TypeBasedValueRenderer.tsx rename to desktop/app/src/ui/components/table/TypeBasedValueRenderer.tsx diff --git a/desktop/src/ui/components/table/types.tsx b/desktop/app/src/ui/components/table/types.tsx similarity index 100% rename from desktop/src/ui/components/table/types.tsx rename to desktop/app/src/ui/components/table/types.tsx diff --git a/desktop/src/ui/components/table/utils.tsx b/desktop/app/src/ui/components/table/utils.tsx similarity index 100% rename from desktop/src/ui/components/table/utils.tsx rename to desktop/app/src/ui/components/table/utils.tsx diff --git a/desktop/src/ui/index.tsx b/desktop/app/src/ui/index.tsx similarity index 100% rename from desktop/src/ui/index.tsx rename to desktop/app/src/ui/index.tsx diff --git a/desktop/src/utils/CertificateProvider.tsx b/desktop/app/src/utils/CertificateProvider.tsx similarity index 100% rename from desktop/src/utils/CertificateProvider.tsx rename to desktop/app/src/utils/CertificateProvider.tsx diff --git a/desktop/src/utils/Idler.tsx b/desktop/app/src/utils/Idler.tsx similarity index 100% rename from desktop/src/utils/Idler.tsx rename to desktop/app/src/utils/Idler.tsx diff --git a/desktop/src/utils/InteractionTracker.tsx b/desktop/app/src/utils/InteractionTracker.tsx similarity index 100% rename from desktop/src/utils/InteractionTracker.tsx rename to desktop/app/src/utils/InteractionTracker.tsx diff --git a/desktop/src/utils/LowPassFilter.tsx b/desktop/app/src/utils/LowPassFilter.tsx similarity index 100% rename from desktop/src/utils/LowPassFilter.tsx rename to desktop/app/src/utils/LowPassFilter.tsx diff --git a/desktop/src/utils/StubLogger.tsx b/desktop/app/src/utils/StubLogger.tsx similarity index 100% rename from desktop/src/utils/StubLogger.tsx rename to desktop/app/src/utils/StubLogger.tsx diff --git a/desktop/src/utils/__mocks__/argvUtils.js b/desktop/app/src/utils/__mocks__/argvUtils.js similarity index 100% rename from desktop/src/utils/__mocks__/argvUtils.js rename to desktop/app/src/utils/__mocks__/argvUtils.js diff --git a/desktop/src/utils/__tests__/Idler.node.js b/desktop/app/src/utils/__tests__/Idler.node.js similarity index 100% rename from desktop/src/utils/__tests__/Idler.node.js rename to desktop/app/src/utils/__tests__/Idler.node.js diff --git a/desktop/src/utils/__tests__/adbConfig.node.js b/desktop/app/src/utils/__tests__/adbConfig.node.js similarity index 100% rename from desktop/src/utils/__tests__/adbConfig.node.js rename to desktop/app/src/utils/__tests__/adbConfig.node.js diff --git a/desktop/src/utils/__tests__/clientUtils.node.tsx b/desktop/app/src/utils/__tests__/clientUtils.node.tsx similarity index 100% rename from desktop/src/utils/__tests__/clientUtils.node.tsx rename to desktop/app/src/utils/__tests__/clientUtils.node.tsx diff --git a/desktop/src/utils/__tests__/crashReporterUtility.node.js b/desktop/app/src/utils/__tests__/crashReporterUtility.node.js similarity index 100% rename from desktop/src/utils/__tests__/crashReporterUtility.node.js rename to desktop/app/src/utils/__tests__/crashReporterUtility.node.js diff --git a/desktop/src/utils/__tests__/data/settings-v1-valid.json b/desktop/app/src/utils/__tests__/data/settings-v1-valid.json similarity index 100% rename from desktop/src/utils/__tests__/data/settings-v1-valid.json rename to desktop/app/src/utils/__tests__/data/settings-v1-valid.json diff --git a/desktop/src/utils/__tests__/environmentVariables.node.js b/desktop/app/src/utils/__tests__/environmentVariables.node.js similarity index 100% rename from desktop/src/utils/__tests__/environmentVariables.node.js rename to desktop/app/src/utils/__tests__/environmentVariables.node.js diff --git a/desktop/src/utils/__tests__/exportData.electron.tsx b/desktop/app/src/utils/__tests__/exportData.electron.tsx similarity index 100% rename from desktop/src/utils/__tests__/exportData.electron.tsx rename to desktop/app/src/utils/__tests__/exportData.electron.tsx diff --git a/desktop/src/utils/__tests__/icons.node.ts b/desktop/app/src/utils/__tests__/icons.node.ts similarity index 100% rename from desktop/src/utils/__tests__/icons.node.ts rename to desktop/app/src/utils/__tests__/icons.node.ts diff --git a/desktop/src/utils/__tests__/jsonFileStorage.node.js b/desktop/app/src/utils/__tests__/jsonFileStorage.node.js similarity index 89% rename from desktop/src/utils/__tests__/jsonFileStorage.node.js rename to desktop/app/src/utils/__tests__/jsonFileStorage.node.js index ba60cf8ea..9f9500fe0 100644 --- a/desktop/src/utils/__tests__/jsonFileStorage.node.js +++ b/desktop/app/src/utils/__tests__/jsonFileStorage.node.js @@ -11,7 +11,7 @@ import JsonFileStorage from '../jsonFileReduxPersistStorage.tsx'; import fs from 'fs'; const validSerializedData = fs - .readFileSync('src/utils/__tests__/data/settings-v1-valid.json') + .readFileSync('app/src/utils/__tests__/data/settings-v1-valid.json') .toString() .replace(/\r\n/g, '\n') .trim(); @@ -20,7 +20,7 @@ const validDeserializedData = '{"androidHome":"\\"/opt/android_sdk\\"","something":"{\\"else\\":4}","_persist":"{\\"version\\":-1,\\"rehydrated\\":true}"}'; const storage = new JsonFileStorage( - 'src/utils/__tests__/data/settings-v1-valid.json', + 'app/src/utils/__tests__/data/settings-v1-valid.json', ); test('A valid settings file gets parsed correctly', () => { diff --git a/desktop/src/utils/__tests__/messageQueue.node.tsx b/desktop/app/src/utils/__tests__/messageQueue.node.tsx similarity index 100% rename from desktop/src/utils/__tests__/messageQueue.node.tsx rename to desktop/app/src/utils/__tests__/messageQueue.node.tsx diff --git a/desktop/src/utils/__tests__/packageMetadata.node.js b/desktop/app/src/utils/__tests__/packageMetadata.node.js similarity index 100% rename from desktop/src/utils/__tests__/packageMetadata.node.js rename to desktop/app/src/utils/__tests__/packageMetadata.node.js diff --git a/desktop/src/utils/__tests__/pluginUtils.node.js b/desktop/app/src/utils/__tests__/pluginUtils.node.js similarity index 100% rename from desktop/src/utils/__tests__/pluginUtils.node.js rename to desktop/app/src/utils/__tests__/pluginUtils.node.js diff --git a/desktop/src/utils/__tests__/processConfig.node.js b/desktop/app/src/utils/__tests__/processConfig.node.js similarity index 100% rename from desktop/src/utils/__tests__/processConfig.node.js rename to desktop/app/src/utils/__tests__/processConfig.node.js diff --git a/desktop/src/utils/__tests__/promiseTimeout.node.js b/desktop/app/src/utils/__tests__/promiseTimeout.node.js similarity index 100% rename from desktop/src/utils/__tests__/promiseTimeout.node.js rename to desktop/app/src/utils/__tests__/promiseTimeout.node.js diff --git a/desktop/src/utils/__tests__/serialization.node.js b/desktop/app/src/utils/__tests__/serialization.node.js similarity index 100% rename from desktop/src/utils/__tests__/serialization.node.js rename to desktop/app/src/utils/__tests__/serialization.node.js diff --git a/desktop/src/utils/adbClient.tsx b/desktop/app/src/utils/adbClient.tsx similarity index 100% rename from desktop/src/utils/adbClient.tsx rename to desktop/app/src/utils/adbClient.tsx diff --git a/desktop/src/utils/adbConfig.tsx b/desktop/app/src/utils/adbConfig.tsx similarity index 100% rename from desktop/src/utils/adbConfig.tsx rename to desktop/app/src/utils/adbConfig.tsx diff --git a/desktop/src/utils/androidContainerUtility.tsx b/desktop/app/src/utils/androidContainerUtility.tsx similarity index 100% rename from desktop/src/utils/androidContainerUtility.tsx rename to desktop/app/src/utils/androidContainerUtility.tsx diff --git a/desktop/src/utils/androidContainerUtilityInternal.tsx b/desktop/app/src/utils/androidContainerUtilityInternal.tsx similarity index 100% rename from desktop/src/utils/androidContainerUtilityInternal.tsx rename to desktop/app/src/utils/androidContainerUtilityInternal.tsx diff --git a/desktop/src/utils/argvUtils.tsx b/desktop/app/src/utils/argvUtils.tsx similarity index 100% rename from desktop/src/utils/argvUtils.tsx rename to desktop/app/src/utils/argvUtils.tsx diff --git a/desktop/src/utils/clientUtils.tsx b/desktop/app/src/utils/clientUtils.tsx similarity index 100% rename from desktop/src/utils/clientUtils.tsx rename to desktop/app/src/utils/clientUtils.tsx diff --git a/desktop/src/utils/crashReporterUtility.tsx b/desktop/app/src/utils/crashReporterUtility.tsx similarity index 100% rename from desktop/src/utils/crashReporterUtility.tsx rename to desktop/app/src/utils/crashReporterUtility.tsx diff --git a/desktop/src/utils/electronCrashReporter.tsx b/desktop/app/src/utils/electronCrashReporter.tsx similarity index 100% rename from desktop/src/utils/electronCrashReporter.tsx rename to desktop/app/src/utils/electronCrashReporter.tsx diff --git a/desktop/src/utils/environmentVariables.tsx b/desktop/app/src/utils/environmentVariables.tsx similarity index 100% rename from desktop/src/utils/environmentVariables.tsx rename to desktop/app/src/utils/environmentVariables.tsx diff --git a/desktop/src/utils/errors.tsx b/desktop/app/src/utils/errors.tsx similarity index 100% rename from desktop/src/utils/errors.tsx rename to desktop/app/src/utils/errors.tsx diff --git a/desktop/src/utils/exportData.tsx b/desktop/app/src/utils/exportData.tsx similarity index 100% rename from desktop/src/utils/exportData.tsx rename to desktop/app/src/utils/exportData.tsx diff --git a/desktop/src/utils/exportMetrics.tsx b/desktop/app/src/utils/exportMetrics.tsx similarity index 100% rename from desktop/src/utils/exportMetrics.tsx rename to desktop/app/src/utils/exportMetrics.tsx diff --git a/desktop/src/utils/fbEmployee.tsx b/desktop/app/src/utils/fbEmployee.tsx similarity index 100% rename from desktop/src/utils/fbEmployee.tsx rename to desktop/app/src/utils/fbEmployee.tsx diff --git a/desktop/src/utils/geometry.tsx b/desktop/app/src/utils/geometry.tsx similarity index 100% rename from desktop/src/utils/geometry.tsx rename to desktop/app/src/utils/geometry.tsx diff --git a/desktop/src/utils/icons.d.ts b/desktop/app/src/utils/icons.d.ts similarity index 87% rename from desktop/src/utils/icons.d.ts rename to desktop/app/src/utils/icons.d.ts index bc99cd9a2..35a62880f 100644 --- a/desktop/src/utils/icons.d.ts +++ b/desktop/app/src/utils/icons.d.ts @@ -7,7 +7,7 @@ * @format */ -import {IconSize} from 'src/ui/components/Glyph'; +import {IconSize} from '../ui/components/Glyph'; declare function getIconURL( name: string, diff --git a/desktop/src/utils/icons.ts b/desktop/app/src/utils/icons.ts similarity index 100% rename from desktop/src/utils/icons.ts rename to desktop/app/src/utils/icons.ts diff --git a/desktop/src/utils/index.tsx b/desktop/app/src/utils/index.tsx similarity index 100% rename from desktop/src/utils/index.tsx rename to desktop/app/src/utils/index.tsx diff --git a/desktop/src/utils/info.tsx b/desktop/app/src/utils/info.tsx similarity index 100% rename from desktop/src/utils/info.tsx rename to desktop/app/src/utils/info.tsx diff --git a/desktop/src/utils/isHeadless.tsx b/desktop/app/src/utils/isHeadless.tsx similarity index 100% rename from desktop/src/utils/isHeadless.tsx rename to desktop/app/src/utils/isHeadless.tsx diff --git a/desktop/src/utils/isProduction.tsx b/desktop/app/src/utils/isProduction.tsx similarity index 100% rename from desktop/src/utils/isProduction.tsx rename to desktop/app/src/utils/isProduction.tsx diff --git a/desktop/src/utils/js-client/api.js b/desktop/app/src/utils/js-client/api.js similarity index 100% rename from desktop/src/utils/js-client/api.js rename to desktop/app/src/utils/js-client/api.js diff --git a/desktop/src/utils/js-client/example.js b/desktop/app/src/utils/js-client/example.js similarity index 100% rename from desktop/src/utils/js-client/example.js rename to desktop/app/src/utils/js-client/example.js diff --git a/desktop/src/utils/js-client/package.json b/desktop/app/src/utils/js-client/package.json similarity index 100% rename from desktop/src/utils/js-client/package.json rename to desktop/app/src/utils/js-client/package.json diff --git a/desktop/src/utils/js-client/plugins/analyticsLogging.js b/desktop/app/src/utils/js-client/plugins/analyticsLogging.js similarity index 100% rename from desktop/src/utils/js-client/plugins/analyticsLogging.js rename to desktop/app/src/utils/js-client/plugins/analyticsLogging.js diff --git a/desktop/src/utils/js-client/plugins/fury.js b/desktop/app/src/utils/js-client/plugins/fury.js similarity index 100% rename from desktop/src/utils/js-client/plugins/fury.js rename to desktop/app/src/utils/js-client/plugins/fury.js diff --git a/desktop/src/utils/js-client/serverUtils.tsx b/desktop/app/src/utils/js-client/serverUtils.tsx similarity index 100% rename from desktop/src/utils/js-client/serverUtils.tsx rename to desktop/app/src/utils/js-client/serverUtils.tsx diff --git a/desktop/src/utils/js-client/websocketClientFlipperConnection.tsx b/desktop/app/src/utils/js-client/websocketClientFlipperConnection.tsx similarity index 100% rename from desktop/src/utils/js-client/websocketClientFlipperConnection.tsx rename to desktop/app/src/utils/js-client/websocketClientFlipperConnection.tsx diff --git a/desktop/src/utils/js-client/webviewImpl.js b/desktop/app/src/utils/js-client/webviewImpl.js similarity index 100% rename from desktop/src/utils/js-client/webviewImpl.js rename to desktop/app/src/utils/js-client/webviewImpl.js diff --git a/desktop/src/utils/js-client/yarn.lock b/desktop/app/src/utils/js-client/yarn.lock similarity index 100% rename from desktop/src/utils/js-client/yarn.lock rename to desktop/app/src/utils/js-client/yarn.lock diff --git a/desktop/src/utils/jsonFileReduxPersistStorage.tsx b/desktop/app/src/utils/jsonFileReduxPersistStorage.tsx similarity index 100% rename from desktop/src/utils/jsonFileReduxPersistStorage.tsx rename to desktop/app/src/utils/jsonFileReduxPersistStorage.tsx diff --git a/desktop/src/utils/jsonTypes.tsx b/desktop/app/src/utils/jsonTypes.tsx similarity index 100% rename from desktop/src/utils/jsonTypes.tsx rename to desktop/app/src/utils/jsonTypes.tsx diff --git a/desktop/src/utils/launcher.tsx b/desktop/app/src/utils/launcher.tsx similarity index 100% rename from desktop/src/utils/launcher.tsx rename to desktop/app/src/utils/launcher.tsx diff --git a/desktop/src/utils/launcherSettingsStorage.tsx b/desktop/app/src/utils/launcherSettingsStorage.tsx similarity index 100% rename from desktop/src/utils/launcherSettingsStorage.tsx rename to desktop/app/src/utils/launcherSettingsStorage.tsx diff --git a/desktop/src/utils/listDevices.tsx b/desktop/app/src/utils/listDevices.tsx similarity index 100% rename from desktop/src/utils/listDevices.tsx rename to desktop/app/src/utils/listDevices.tsx diff --git a/desktop/src/utils/messageQueue.tsx b/desktop/app/src/utils/messageQueue.tsx similarity index 100% rename from desktop/src/utils/messageQueue.tsx rename to desktop/app/src/utils/messageQueue.tsx diff --git a/desktop/src/utils/metrics.tsx b/desktop/app/src/utils/metrics.tsx similarity index 100% rename from desktop/src/utils/metrics.tsx rename to desktop/app/src/utils/metrics.tsx diff --git a/desktop/src/utils/onRegisterDevice.tsx b/desktop/app/src/utils/onRegisterDevice.tsx similarity index 100% rename from desktop/src/utils/onRegisterDevice.tsx rename to desktop/app/src/utils/onRegisterDevice.tsx diff --git a/desktop/src/utils/openssl-wrapper-with-promises.tsx b/desktop/app/src/utils/openssl-wrapper-with-promises.tsx similarity index 100% rename from desktop/src/utils/openssl-wrapper-with-promises.tsx rename to desktop/app/src/utils/openssl-wrapper-with-promises.tsx diff --git a/desktop/src/utils/packageMetadata.tsx b/desktop/app/src/utils/packageMetadata.tsx similarity index 100% rename from desktop/src/utils/packageMetadata.tsx rename to desktop/app/src/utils/packageMetadata.tsx diff --git a/desktop/src/utils/pathUtils.tsx b/desktop/app/src/utils/pathUtils.tsx similarity index 91% rename from desktop/src/utils/pathUtils.tsx rename to desktop/app/src/utils/pathUtils.tsx index d6fb12c1f..7b84e4438 100644 --- a/desktop/src/utils/pathUtils.tsx +++ b/desktop/app/src/utils/pathUtils.tsx @@ -17,7 +17,7 @@ export function getStaticPath() { if (_staticPath) { return _staticPath; } - _staticPath = path.resolve(__dirname, '..', '..', 'static'); + _staticPath = path.resolve(__dirname, '..', '..', '..', 'static'); if (fs.existsSync(_staticPath)) { return _staticPath; } diff --git a/desktop/src/utils/persistor.tsx b/desktop/app/src/utils/persistor.tsx similarity index 100% rename from desktop/src/utils/persistor.tsx rename to desktop/app/src/utils/persistor.tsx diff --git a/desktop/src/utils/pluginManager.tsx b/desktop/app/src/utils/pluginManager.tsx similarity index 100% rename from desktop/src/utils/pluginManager.tsx rename to desktop/app/src/utils/pluginManager.tsx diff --git a/desktop/src/utils/pluginStateRecorder.tsx b/desktop/app/src/utils/pluginStateRecorder.tsx similarity index 99% rename from desktop/src/utils/pluginStateRecorder.tsx rename to desktop/app/src/utils/pluginStateRecorder.tsx index 95e2e3534..8c977654a 100644 --- a/desktop/src/utils/pluginStateRecorder.tsx +++ b/desktop/app/src/utils/pluginStateRecorder.tsx @@ -134,15 +134,13 @@ function getOutputDir(pluginName: string) { const outDir = path.join(process.cwd(), '..'); const fbPluginDir = path.join( outDir, - 'src', - 'fb', 'plugins', + 'fb', pluginName.toLowerCase(), '__tests__', ); const defaultPluginDir = path.join( outDir, - 'src', 'plugins', pluginName.toLowerCase(), '__tests__', diff --git a/desktop/src/utils/pluginUtils.tsx b/desktop/app/src/utils/pluginUtils.tsx similarity index 100% rename from desktop/src/utils/pluginUtils.tsx rename to desktop/app/src/utils/pluginUtils.tsx diff --git a/desktop/src/utils/processCleanup.tsx b/desktop/app/src/utils/processCleanup.tsx similarity index 100% rename from desktop/src/utils/processCleanup.tsx rename to desktop/app/src/utils/processCleanup.tsx diff --git a/desktop/src/utils/processConfig.tsx b/desktop/app/src/utils/processConfig.tsx similarity index 100% rename from desktop/src/utils/processConfig.tsx rename to desktop/app/src/utils/processConfig.tsx diff --git a/desktop/src/utils/promiseTimeout.tsx b/desktop/app/src/utils/promiseTimeout.tsx similarity index 100% rename from desktop/src/utils/promiseTimeout.tsx rename to desktop/app/src/utils/promiseTimeout.tsx diff --git a/desktop/src/utils/publicVersionChecker.tsx b/desktop/app/src/utils/publicVersionChecker.tsx similarity index 100% rename from desktop/src/utils/publicVersionChecker.tsx rename to desktop/app/src/utils/publicVersionChecker.tsx diff --git a/desktop/src/utils/reduxDevToolsConfig.tsx b/desktop/app/src/utils/reduxDevToolsConfig.tsx similarity index 100% rename from desktop/src/utils/reduxDevToolsConfig.tsx rename to desktop/app/src/utils/reduxDevToolsConfig.tsx diff --git a/desktop/src/utils/restartFlipper.tsx b/desktop/app/src/utils/restartFlipper.tsx similarity index 100% rename from desktop/src/utils/restartFlipper.tsx rename to desktop/app/src/utils/restartFlipper.tsx diff --git a/desktop/src/utils/runHealthchecks.tsx b/desktop/app/src/utils/runHealthchecks.tsx similarity index 100% rename from desktop/src/utils/runHealthchecks.tsx rename to desktop/app/src/utils/runHealthchecks.tsx diff --git a/desktop/src/utils/screenshot.tsx b/desktop/app/src/utils/screenshot.tsx similarity index 100% rename from desktop/src/utils/screenshot.tsx rename to desktop/app/src/utils/screenshot.tsx diff --git a/desktop/src/utils/serialization.tsx b/desktop/app/src/utils/serialization.tsx similarity index 100% rename from desktop/src/utils/serialization.tsx rename to desktop/app/src/utils/serialization.tsx diff --git a/desktop/src/utils/snap.tsx b/desktop/app/src/utils/snap.tsx similarity index 100% rename from desktop/src/utils/snap.tsx rename to desktop/app/src/utils/snap.tsx diff --git a/desktop/src/utils/supportRequestsFormUtils.tsx b/desktop/app/src/utils/supportRequestsFormUtils.tsx similarity index 100% rename from desktop/src/utils/supportRequestsFormUtils.tsx rename to desktop/app/src/utils/supportRequestsFormUtils.tsx diff --git a/desktop/src/utils/textContent.tsx b/desktop/app/src/utils/textContent.tsx similarity index 100% rename from desktop/src/utils/textContent.tsx rename to desktop/app/src/utils/textContent.tsx diff --git a/desktop/src/utils/typeUtils.tsx b/desktop/app/src/utils/typeUtils.tsx similarity index 100% rename from desktop/src/utils/typeUtils.tsx rename to desktop/app/src/utils/typeUtils.tsx diff --git a/desktop/flow-typed/flipper.js b/desktop/flow-typed/flipper.js index d0519d9c7..3a07f8f19 100644 --- a/desktop/flow-typed/flipper.js +++ b/desktop/flow-typed/flipper.js @@ -43,6 +43,8 @@ declare module 'flipper' { supportsMethod(method: string): Promise; } + declare type Logger = Logger; + declare type PluginTarget = BaseDevice | Client; declare type Notification = {| diff --git a/desktop/headless-tests/package.json b/desktop/headless-tests/package.json index 566364519..4695aec12 100644 --- a/desktop/headless-tests/package.json +++ b/desktop/headless-tests/package.json @@ -16,6 +16,7 @@ }, "license": "MIT", "dependencies": { + "@babel/core": "^7.8.7", "@babel/preset-env": "^7.8.3", "@babel/preset-flow": "^7.8.3", "babel-jest": "^24.8.0", diff --git a/desktop/headless/index.tsx b/desktop/headless/index.tsx index a71314a57..6476120c3 100644 --- a/desktop/headless/index.tsx +++ b/desktop/headless/index.tsx @@ -11,20 +11,23 @@ import path from 'path'; import {createStore, Dispatch, Middleware, MiddlewareAPI} from 'redux'; import {applyMiddleware} from 'redux'; import yargs, {Argv} from 'yargs'; -import dispatcher from '../src/dispatcher/index'; -import reducers, {Actions, State} from '../src/reducers/index'; -import {init as initLogger} from '../src/fb-stubs/Logger'; -import {exportStore} from '../src/utils/exportData'; +import dispatcher from '../app/src/dispatcher/index'; +import reducers, {Actions, State} from '../app/src/reducers/index'; +import {init as initLogger} from '../app/src/fb-stubs/Logger'; +import {exportStore} from '../app/src/utils/exportData'; import { exportMetricsWithoutTrace, exportMetricsFromTrace, -} from '../src/utils/exportMetrics'; -import {listDevices} from '../src/utils/listDevices'; +} from '../app/src/utils/exportMetrics'; +import {listDevices} from '../app/src/utils/listDevices'; import setup from '../static/setup'; -import {getPersistentPlugins, pluginsClassMap} from '../src/utils/pluginUtils'; -import {serialize} from '../src/utils/serialization'; -import {getStringFromErrorLike} from '../src/utils/index'; -import AndroidDevice from '../src/devices/AndroidDevice'; +import { + getPersistentPlugins, + pluginsClassMap, +} from '../app/src/utils/pluginUtils'; +import {serialize} from '../app/src/utils/serialization'; +import {getStringFromErrorLike} from '../app/src/utils/index'; +import AndroidDevice from '../app/src/devices/AndroidDevice'; import {Store} from 'flipper'; type Action = {exit: boolean; result?: string}; diff --git a/desktop/package.json b/desktop/package.json index 6066d821f..53c2f3153 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -1,15 +1,19 @@ { - "name": "flipper", + "name": "flipper-project", "version": "0.34.0", - "versionDate": "2018-4-12", - "description": "Mobile development tool", - "productName": "Flipper", - "author": "Facebook Inc", - "main": "src/index.tsx", - "icon": "icon.png", - "category": "facebook-intern", - "privileged": true, - "license": "MIT", + "private": true, + "workspaces": { + "packages": [ + "app", + "doctor", + "pkg", + "static", + "headless-tests" + ], + "nohoist": [ + "flipper-static/**" + ] + }, "build": { "appId": "flipper", "productName": "Flipper", @@ -78,7 +82,7 @@ "/static/globalTestSetup.js" ], "moduleNameMapper": { - "^flipper$": "/src", + "^flipper$": "/app/src", "^flipper-doctor$": "/doctor/src", "^flipper-pkg$": "/pkg/src" }, @@ -96,25 +100,35 @@ "@types/express": "^4.17.2", "@types/fb-watchman": "^2.0.0", "@types/fs-extra": "^8.0.0", + "@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/mkdirp": "^1.0.0", "@types/node": "^13.7.5", + "@types/promise-retry": "^1.1.3", "@types/react": "^16.9.17", + "@types/react-color": "^3.0.1", "@types/react-dom": "^16.9.4", "@types/react-redux": "^7.1.5", + "@types/react-test-renderer": "^16.9.1", + "@types/react-transition-group": "^4.2.2", + "@types/react-virtualized": "^9.21.7", "@types/react-virtualized-auto-sizer": "^1.0.0", "@types/react-window": "^1.8.1", "@types/recursive-readdir": "^2.2.0", + "@types/redux-devtools-extension": "^2.13.2", + "@types/redux-mock-store": "^1.0.1", "@types/redux-persist": "^4.3.1", "@types/requestidlecallback": "^0.3.1", "@types/rsocket-core": "^0.0.5", + "@types/rsocket-tcp-server": "^0.0.2", "@types/socket.io": "^2.1.4", "@types/testing-library__react": "^9.1.2", "@types/tmp": "^0.1.0", "@types/uuid": "^7.0.0", + "@types/which": "^1.3.2", "@types/ws": "^7.2.0", "@types/yazl": "^2.4.2", "@typescript-eslint/eslint-plugin": "^2.19.2", @@ -135,6 +149,7 @@ "eslint-plugin-react": "^7.16.0", "eslint-plugin-relay": "^1.4.1", "flow-bin": "^0.120.1", + "fs-extra": "^8.1.0", "glob": "^7.1.2", "jest": "^25.1.0", "jest-fetch-mock": "^3.0.0", @@ -148,95 +163,6 @@ "ts-node": "^8.6.2", "typescript": "^3.7.2" }, - "dependencies": { - "@emotion/core": "^10.0.22", - "@emotion/styled": "^10.0.23", - "@iarna/toml": "^2.2.3", - "@types/glob": "^7.1.1", - "@types/promise-retry": "^1.1.3", - "@types/react-color": "^3.0.1", - "@types/react-test-renderer": "^16.9.1", - "@types/react-transition-group": "^4.2.2", - "@types/react-virtualized": "^9.21.7", - "@types/redux-devtools-extension": "^2.13.2", - "@types/redux-mock-store": "^1.0.1", - "@types/rsocket-tcp-server": "^0.0.2", - "@types/which": "^1.3.2", - "JSONStream": "^1.3.1", - "adbkit": "^2.11.1", - "adbkit-logcat": "^2.0.1", - "algoliasearch": "^4.0.0", - "ansi-to-html": "^0.6.3", - "async-mutex": "^0.1.3", - "chalk": "^3.0.0", - "codemirror": "^5.25.0", - "cross-env": "^7.0.0", - "dashify": "^2.0.0", - "decompress": "^4.2.0", - "decompress-targz": "^4.1.1", - "decompress-unzip": "^4.0.1", - "deep-equal": "^2.0.1", - "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.7.0", - "fs-extra": "^8.0.1", - "immer": "^6.0.0", - "immutable": "^4.0.0-rc.12", - "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", - "mkdirp": "^1.0.0", - "node-fetch": "^2.3.0", - "npm-api": "^1.0.0", - "open": "^7.0.0", - "openssl-wrapper": "^0.3.4", - "p-map": "^4.0.0", - "patch-package": "^6.2.0", - "pkg": "^4.4.1", - "promise-retry": "^1.1.1", - "promisify-child-process": "^3.1.3", - "prop-types": "^15.6.0", - "query-string": "^6.10.1", - "react": "16.13.0", - "react-color": "^2.11.7", - "react-debounce-render": "^6.0.0", - "react-devtools-core": "^4.0.6", - "react-dom": "^16.13.0", - "react-markdown": "^4.2.2", - "react-player": "^1.15.2", - "react-redux": "^7.1.1", - "react-test-renderer": "^16.13.0", - "react-transition-group": "^4.3.0", - "react-virtualized-auto-sizer": "^1.0.2", - "react-window": "^1.3.1", - "redux": "^4.0.0", - "redux-persist": "^6.0.0", - "remote-redux-devtools": "^0.5.16", - "rsocket-core": "^0.0.19", - "rsocket-tcp-server": "^0.0.19", - "socket.io": "^2.0.4", - "string-natural-compare": "^3.0.0", - "tmp": "0.0.33", - "uuid": "^7.0.1", - "websocket": "^1.0.31", - "which": "^2.0.1", - "ws": "^7.2.0", - "xdg-basedir": "^4.0.0", - "xml2js": "^0.4.19", - "yargs": "^15.0.1", - "yazl": "^2.5.1" - }, - "greenkeeper": { - "ignore": [ - "tmp", - "flipper-doctor" - ] - }, "scripts": { "preinstall": "node scripts/prepare-watchman-config.js && yarn config set ignore-engines", "postinstall": "cross-env TS_NODE_FILES=true node --require ts-node/register scripts/yarn-install.ts && patch-package", @@ -249,12 +175,12 @@ "start:break": "cross-env NODE_ENV=development TS_NODE_FILES=true node --require ts-node/register scripts/start-dev-server.ts --inspect-brk=9229", "start:no-embedded-plugins": "cross-env NODE_ENV=development cross-env FLIPPER_NO_EMBEDDED_PLUGINS=true TS_NODE_FILES=true node --require ts-node/register scripts/start-dev-server.ts", "build": "yarn rm-dist && cross-env NODE_ENV=production TS_NODE_FILES=true node --require ts-node/register scripts/build-release.ts $@", - "build-headless": "yarn rm-dist && mkdir dist && cross-env NODE_ENV=production TS_NODE_FILES=true node --require ts-node/register scripts/build-headless.ts $@", + "build-headless": "yarn rm-dist && mkdir ../dist && cross-env NODE_ENV=production TS_NODE_FILES=true node --require ts-node/register scripts/build-headless.ts $@", "fix": "eslint . --fix --ext .js,.ts,.tsx", - "test": "jest --testPathPattern=\"node\\.(js|tsx)$\" --no-cache", + "test": "jest --testPathPattern=\"node\\.(js|ts|tsx)$\" --no-cache", "test:debug": "node --inspect node_modules/.bin/jest --runInBand", - "test-electron": "jest --testPathPattern=\"electron\\.(js|tsx)$\" --testEnvironment=@jest-runner/electron/environment --runner=@jest-runner/electron --no-cache", - "test-with-device": "USE_ELECTRON_STUBS=1 jest --testPathPattern=\"device\\.(js|tsx)$\" --detectOpenHandles --no-cache", + "test-electron": "jest --testPathPattern=\"electron\\.(js|ts|tsx)$\" --testEnvironment=@jest-runner/electron/environment --runner=@jest-runner/electron --no-cache", + "test-with-device": "USE_ELECTRON_STUBS=1 jest --testPathPattern=\"device\\.(js|ts|tsx)$\" --detectOpenHandles --no-cache", "lint:tsc": "tsc --noemit", "lint:eslint": "eslint . --ext .js,.ts,.tsx", "lint:flow": "flow check", diff --git a/desktop/pkg/src/transforms/dynamic-requires.js b/desktop/pkg/src/transforms/dynamic-requires.js index d09065067..7b3b4b774 100644 --- a/desktop/pkg/src/transforms/dynamic-requires.js +++ b/desktop/pkg/src/transforms/dynamic-requires.js @@ -16,7 +16,7 @@ function isDynamicRequire(node) { ); } -module.exports = function(babel) { +module.exports = function(babel, state) { const t = babel.types; return { @@ -27,7 +27,11 @@ module.exports = function(babel) { return; } - path.replaceWith(t.identifier('triggerDynamicRequireError')); + path.replaceWith( + t.identifier( + 'triggerDynamicRequireError_' + state.file.opts.filename, + ), + ); }, }, }; diff --git a/desktop/pkg/src/transforms/fb-stubs.js b/desktop/pkg/src/transforms/fb-stubs.js index 6c3f74053..c30c3bdb5 100644 --- a/desktop/pkg/src/transforms/fb-stubs.js +++ b/desktop/pkg/src/transforms/fb-stubs.js @@ -10,7 +10,7 @@ const fs = require('fs'); const path = require('path'); const replaceFBStubs = fs.existsSync( - path.join(__dirname, '..', '..', 'src', 'fb'), + path.join(__dirname, '..', '..', 'app', 'src', 'fb'), ); const isFBFile = filePath => filePath.includes(`${path.sep}fb${path.sep}`); diff --git a/desktop/pkg/src/transforms/index.js b/desktop/pkg/src/transforms/index.js index 4fd1e7d2d..b29c83382 100644 --- a/desktop/pkg/src/transforms/index.js +++ b/desktop/pkg/src/transforms/index.js @@ -63,7 +63,7 @@ function transform({filename, options, src}) { if ( fs.existsSync( - path.resolve(path.dirname(path.dirname(__dirname)), 'src', 'fb'), + path.resolve(path.dirname(path.dirname(__dirname)), 'app', 'src', 'fb'), ) ) { plugins.push(require('./fb-stubs.js')); diff --git a/desktop/plugins/crash_reporter/__tests__/testCrashReporterPlugin.electron.js b/desktop/plugins/crash_reporter/__tests__/testCrashReporterPlugin.electron.js index 1b9f3ddde..045b9c408 100644 --- a/desktop/plugins/crash_reporter/__tests__/testCrashReporterPlugin.electron.js +++ b/desktop/plugins/crash_reporter/__tests__/testCrashReporterPlugin.electron.js @@ -7,7 +7,7 @@ * @format */ -import BaseDevice from '../../../src/devices/BaseDevice.tsx'; +import {BaseDevice} from 'flipper'; import CrashReporterPlugin from '../../crash_reporter'; import type {PersistedState, Crash} from '../../crash_reporter'; import { @@ -16,10 +16,7 @@ import { parsePath, shouldShowCrashNotification, } from '../../crash_reporter'; -import { - getPluginKey, - getPersistedState, -} from '../../../src/utils/pluginUtils.tsx'; +import {getPluginKey, getPersistedState} from 'flipper'; function setDefaultPersistedState(defaultState: PersistedState) { CrashReporterPlugin.defaultPersistedState = defaultState; diff --git a/desktop/plugins/crash_reporter/index.js b/desktop/plugins/crash_reporter/index.js index e64314456..0eea07114 100644 --- a/desktop/plugins/crash_reporter/index.js +++ b/desktop/plugins/crash_reporter/index.js @@ -35,7 +35,7 @@ import os from 'os'; import util from 'util'; import path from 'path'; import {promisify} from 'util'; -import type {Notification} from '../../src/plugin.tsx'; +import type {Notification} from 'flipper'; import type {Store, DeviceLogEntry, OS, Props} from 'flipper'; import {Component} from 'react'; diff --git a/desktop/plugins/logs/index.tsx b/desktop/plugins/logs/index.tsx index 405683f3a..b43efca3c 100644 --- a/desktop/plugins/logs/index.tsx +++ b/desktop/plugins/logs/index.tsx @@ -37,7 +37,7 @@ import { } from 'flipper'; import LogWatcher from './LogWatcher'; import React from 'react'; -import {MenuTemplate} from 'src/ui/components/ContextMenu'; +import {MenuTemplate} from 'app/src/ui/components/ContextMenu'; const LOG_WATCHER_LOCAL_STORAGE_KEY = 'LOG_WATCHER_LOCAL_STORAGE_KEY'; diff --git a/desktop/plugins/network/index.tsx b/desktop/plugins/network/index.tsx index 9ae67b509..b88afa9d5 100644 --- a/desktop/plugins/network/index.tsx +++ b/desktop/plugins/network/index.tsx @@ -35,7 +35,7 @@ import {convertRequestToCurlCommand, getHeaderValue, decodeBody} from './utils'; import RequestDetails from './RequestDetails'; import {clipboard} from 'electron'; import {URL} from 'url'; -import {DefaultKeyboardAction} from 'src/MenuBar'; +import {DefaultKeyboardAction} from 'app/src/MenuBar'; import {MockResponseDialog} from './MockResponseDialog'; type PersistedState = { diff --git a/desktop/scripts/build-headless.ts b/desktop/scripts/build-headless.ts index 64d0d49b7..bcc49c211 100644 --- a/desktop/scripts/build-headless.ts +++ b/desktop/scripts/build-headless.ts @@ -14,7 +14,7 @@ import yazl from 'yazl'; const {exec: createBinary} = require('pkg'); import { buildFolder, - compile, + compileHeadless, compileDefaultPlugins, getVersionNumber, genMercurialRevision, @@ -98,7 +98,7 @@ async function createZip(buildDir: string, distDir: string, targets: string[]) { const distDir = path.join(__dirname, '..', '..', 'dist'); // eslint-disable-next-line no-console console.log('Created build directory', buildDir); - await compile(buildDir, path.join(__dirname, '..', 'headless', 'index.tsx')); + await compileHeadless(buildDir); const versionNumber = getVersionNumber(); const buildRevision = await genMercurialRevision(); await preludeBundle(buildDir, versionNumber, buildRevision); diff --git a/desktop/scripts/build-release.ts b/desktop/scripts/build-release.ts index 550756587..bfc83e0fa 100755 --- a/desktop/scripts/build-release.ts +++ b/desktop/scripts/build-release.ts @@ -13,7 +13,7 @@ import {Platform, Arch, ElectronDownloadOptions, build} from 'electron-builder'; import {spawn} from 'promisify-child-process'; import { buildFolder, - compile, + compileRenderer, compileMain, die, compileDefaultPlugins, @@ -21,7 +21,7 @@ import { genMercurialRevision, } from './build-utils'; import fetch from 'node-fetch'; -import {getIcons, buildLocalIconPath, getIconURL} from '../src/utils/icons'; +import {getIcons, buildLocalIconPath, getIconURL} from '../app/src/utils/icons'; function generateManifest(versionNumber: string) { const filePath = path.join(__dirname, '..', '..', 'dist'); @@ -182,7 +182,7 @@ function downloadIcons(buildFolder: string) { copyStaticFolder(dir); await downloadIcons(dir); await compileDefaultPlugins(path.join(dir, 'defaultPlugins')); - await compile(dir, path.join(__dirname, '..', 'src', 'init.tsx')); + await compileRenderer(dir); const versionNumber = getVersionNumber(); const hgRevision = await genMercurialRevision(); modifyPackageManifest(dir, versionNumber, hgRevision); diff --git a/desktop/scripts/build-utils.ts b/desktop/scripts/build-utils.ts index 79b25ec07..7b5282e25 100644 --- a/desktop/scripts/build-utils.ts +++ b/desktop/scripts/build-utils.ts @@ -15,8 +15,8 @@ import path from 'path'; import fs from 'fs-extra'; import {spawn} from 'promisify-child-process'; import recursiveReaddir from 'recursive-readdir'; - -const projectRoot = path.join(__dirname, '..'); +import {default as getWatchFolders} from '../static/get-watch-folders'; +import {appDir, staticDir, pluginsDir, headlessDir} from './paths'; async function mostRecentlyChanged( dir: string, @@ -41,12 +41,7 @@ export function compileDefaultPlugins( ) { return compilePlugins( null, - skipAll - ? [] - : [ - path.join(__dirname, '..', 'plugins'), - path.join(__dirname, '..', 'plugins', 'fb'), - ], + skipAll ? [] : [pluginsDir, path.join(pluginsDir, 'fb')], defaultPluginDir, {force: true, failSilently: false, recompileOnChanges: false}, ) @@ -64,21 +59,20 @@ export function compileDefaultPlugins( .catch(die); } -export function compile(buildFolder: string, entry: string) { - console.log(`⚙️ Compiling renderer bundle...`); - return Metro.runBuild( +async function compile( + buildFolder: string, + projectRoot: string, + watchFolders: string[], + entry: string, +) { + await Metro.runBuild( { reporter: {update: () => {}}, - projectRoot: projectRoot, - watchFolders: [projectRoot], + projectRoot, + watchFolders, serializer: {}, transformer: { - babelTransformerPath: path.join( - projectRoot, - 'static', - 'transforms', - 'index.js', - ), + babelTransformerPath: path.join(staticDir, 'transforms', 'index.js'), }, resolver: { resolverMainFields: ['flipper:source', 'module', 'main'], @@ -93,13 +87,56 @@ export function compile(buildFolder: string, entry: string) { entry, out: path.join(buildFolder, 'bundle.js'), }, - ) - .then(() => console.log('✅ Compiled renderer bundle.')) - .catch(die); + ); +} + +export async function compileHeadless(buildFolder: string) { + console.log(`⚙️ Compiling headless bundle...`); + const watchFolders = [ + headlessDir, + ...(await getWatchFolders(staticDir)), + ...(await getWatchFolders(appDir)), + path.join(pluginsDir, 'navigation'), + path.join(pluginsDir, 'fb', 'layout', 'sidebar_extensions'), + path.join(pluginsDir, 'fb', 'mobileconfig'), + path.join(pluginsDir, 'fb', 'watch'), + ].filter(fs.pathExists); + try { + await compile( + buildFolder, + headlessDir, + watchFolders, + path.join(headlessDir, 'index.tsx'), + ); + console.log('✅ Compiled headless bundle.'); + } catch (err) { + die(err); + } +} + +export async function compileRenderer(buildFolder: string) { + console.log(`⚙️ Compiling renderer bundle...`); + const watchFolders = [ + ...(await getWatchFolders(appDir)), + path.join(pluginsDir, 'navigation'), + path.join(pluginsDir, 'fb', 'layout', 'sidebar_extensions'), + path.join(pluginsDir, 'fb', 'mobileconfig'), + path.join(pluginsDir, 'fb', 'watch'), + ].filter(fs.pathExists); + try { + await compile( + buildFolder, + appDir, + watchFolders, + path.join(appDir, 'src', 'init.tsx'), + ); + console.log('✅ Compiled renderer bundle.'); + } catch (err) { + die(err); + } } export async function compileMain({dev}: {dev: boolean}) { - const staticDir = path.resolve(projectRoot, 'static'); const out = path.join(staticDir, 'main.bundle.js'); // check if main needs to be compiled if (await fs.pathExists(out)) { @@ -110,19 +147,14 @@ export async function compileMain({dev}: {dev: boolean}) { return; } } - console.log(`⚙️ Compiling main bundle...`); + console.log(`⚙️ Compiling main bundle... ${staticDir}`); try { const config = Object.assign({}, await Metro.loadConfig(), { reporter: {update: () => {}}, projectRoot: staticDir, - watchFolders: [projectRoot], + watchFolders: await getWatchFolders(staticDir), transformer: { - babelTransformerPath: path.join( - projectRoot, - 'static', - 'transforms', - 'index.js', - ), + babelTransformerPath: path.join(staticDir, 'transforms', 'index.js'), }, resolver: { sourceExts: ['tsx', 'ts', 'js'], diff --git a/desktop/scripts/paths.ts b/desktop/scripts/paths.ts new file mode 100644 index 000000000..9d9bef44c --- /dev/null +++ b/desktop/scripts/paths.ts @@ -0,0 +1,16 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + */ + +import path from 'path'; + +export const rootDir = path.resolve(__dirname, '..'); +export const appDir = path.join(rootDir, 'app'); +export const staticDir = path.join(rootDir, 'static'); +export const pluginsDir = path.join(rootDir, 'plugins'); +export const headlessDir = path.join(rootDir, 'headless'); diff --git a/desktop/scripts/start-dev-server.ts b/desktop/scripts/start-dev-server.ts index fb86b9283..3ef7c6126 100644 --- a/desktop/scripts/start-dev-server.ts +++ b/desktop/scripts/start-dev-server.ts @@ -17,16 +17,17 @@ import AnsiToHtmlConverter from 'ansi-to-html'; import chalk from 'chalk'; import http from 'http'; import path from 'path'; -import fs from 'fs'; +import fs from 'fs-extra'; import {compileMain} from './build-utils'; import Watchman from '../static/watchman'; import Metro from 'metro'; import MetroResolver from 'metro-resolver'; +import {default as getWatchFolders} from '../static/get-watch-folders'; +import {staticDir, pluginsDir, appDir} from './paths'; const ansiToHtmlConverter = new AnsiToHtmlConverter(); const DEFAULT_PORT = (process.env.PORT || 3000) as number; -const STATIC_DIR = path.join(__dirname, '..', 'static'); let shutdownElectron: (() => void) | undefined = undefined; @@ -40,13 +41,13 @@ function launchElectron({ electronURL: string; }) { const args = [ - path.join(STATIC_DIR, 'index.js'), + path.join(staticDir, 'index.js'), '--remote-debugging-port=9222', ...process.argv, ]; const proc = child.spawn(electronBinary, args, { - cwd: STATIC_DIR, + cwd: staticDir, env: { ...process.env, SONAR_ROOT: process.cwd(), @@ -75,18 +76,19 @@ function launchElectron({ }; } -function startMetroServer(app: Express) { - const projectRoot = path.join(__dirname, '..'); - return Metro.runMetro({ - projectRoot, - watchFolders: [projectRoot], +async function startMetroServer(app: Express) { + const watchFolders = [ + ...(await getWatchFolders(appDir)), + path.join(pluginsDir, 'navigation'), + path.join(pluginsDir, 'fb', 'layout', 'sidebar_extensions'), + path.join(pluginsDir, 'fb', 'mobileconfig'), + path.join(pluginsDir, 'fb', 'watch'), + ].filter(fs.pathExists); + const metroBundlerServer = await Metro.runMetro({ + projectRoot: appDir, + watchFolders, transformer: { - babelTransformerPath: path.join( - projectRoot, - 'static', - 'transforms', - 'index.js', - ), + babelTransformerPath: path.join(staticDir, 'transforms', 'index.js'), }, resolver: { resolverMainFields: ['flipper:source', 'module', 'main'], @@ -103,9 +105,8 @@ function startMetroServer(app: Express) { }, }, watch: true, - }).then((metroBundlerServer: any) => { - app.use(metroBundlerServer.processRequest.bind(metroBundlerServer)); }); + app.use(metroBundlerServer.processRequest.bind(metroBundlerServer)); } function startAssetServer( @@ -141,12 +142,12 @@ function startAssetServer( }); app.get('/', (req, res) => { - fs.readFile(path.join(STATIC_DIR, 'index.dev.html'), (err, content) => { + fs.readFile(path.join(staticDir, 'index.dev.html'), (err, content) => { res.end(content); }); }); - app.use(express.static(STATIC_DIR)); + app.use(express.static(staticDir)); app.use(function(err: any, req: any, res: any, _next: any) { knownErrors[req.url] = err; diff --git a/desktop/scripts/yarn-install.ts b/desktop/scripts/yarn-install.ts index 1138a21a2..253686c11 100644 --- a/desktop/scripts/yarn-install.ts +++ b/desktop/scripts/yarn-install.ts @@ -13,15 +13,7 @@ import globImport from 'glob'; import {exec as execImport} from 'child_process'; const glob = util.promisify(globImport); const exec = util.promisify(execImport); -const PACKAGES = [ - 'headless-tests', - 'static', - 'doctor', - 'pkg', - 'plugins/*', - 'plugins/fb/*', - 'plugins/fb/layout/*', -]; +const PACKAGES = ['plugins/*', 'plugins/fb/*', 'plugins/fb/layout/*']; const WINDOWS = /^win/.test(process.platform); const YARN_PATH = process.argv.length > 2 diff --git a/desktop/static/compilePlugins.ts b/desktop/static/compilePlugins.ts index 7a7f6c53d..1877fd83e 100644 --- a/desktop/static/compilePlugins.ts +++ b/desktop/static/compilePlugins.ts @@ -9,7 +9,7 @@ */ import path from 'path'; -import fs from 'fs'; +import fs from 'fs-extra'; import Metro from 'metro'; import util from 'util'; import recursiveReaddir from 'recursive-readdir'; @@ -17,6 +17,7 @@ import expandTilde from 'expand-tilde'; import pMap from 'p-map'; import {homedir} from 'os'; import Watchman from './watchman'; +import getWatchFolders from './get-watch-folders'; const HOME_DIR = homedir(); @@ -59,8 +60,8 @@ export default async function( ) { options = Object.assign({}, DEFAULT_COMPILE_OPTIONS, options); const plugins = pluginEntryPoints(pluginPaths); - if (!fs.existsSync(pluginCache)) { - fs.mkdirSync(pluginCache); + if (!(await fs.pathExists(pluginCache))) { + await fs.mkdir(pluginCache); } if (options.recompileOnChanges) { await startWatchChanges(plugins, reloadCallback, pluginCache, options); @@ -248,7 +249,7 @@ async function compilePlugin( const {rootDir, manifest, entry, name} = pluginInfo; const bundleMain = manifest.bundleMain ?? path.join('dist', 'index.js'); const bundlePath = path.join(rootDir, bundleMain); - if (fs.existsSync(bundlePath)) { + if (await fs.pathExists(bundlePath)) { // eslint-disable-next-line no-console const out = path.join(rootDir, bundleMain); console.log(`🥫 Using pre-built version of ${name}: ${out}...`); @@ -262,8 +263,8 @@ async function compilePlugin( const rootDirCtime = await mostRecentlyChanged(rootDir); if ( !options.force && - fs.existsSync(out) && - rootDirCtime < fs.lstatSync(out).ctime + (await fs.pathExists(out)) && + rootDirCtime < (await fs.lstat(out)).ctime ) { // eslint-disable-next-line no-console console.log(`🥫 Using cached version of ${name}...`); @@ -275,7 +276,7 @@ async function compilePlugin( { reporter: {update: () => {}}, projectRoot: rootDir, - watchFolders: [__dirname, rootDir], + watchFolders: [__dirname].concat(await getWatchFolders(rootDir)), serializer: { getRunModuleStatement: (moduleID: string) => `module.exports = global.__r(${moduleID}).default;`, @@ -290,7 +291,7 @@ async function compilePlugin( }, resolver: { sourceExts: ['tsx', 'ts', 'js'], - blacklistRE: /(\/|\\)(sonar|flipper|flipper-public)(\/|\\)(dist|doctor)(\/|\\)|(\.native\.js$)/, + blacklistRE: /\.native\.js$/, }, }, { diff --git a/desktop/static/get-watch-folders.ts b/desktop/static/get-watch-folders.ts new file mode 100644 index 000000000..f7eab2fbc --- /dev/null +++ b/desktop/static/get-watch-folders.ts @@ -0,0 +1,38 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + */ + +import fs from 'fs-extra'; +import path from 'path'; + +export default async (packageDir: string) => { + const watchDirs: string[] = [packageDir]; + const pkg = await fs.readJson(path.join(packageDir, 'package.json')); + while (true) { + const nodeModulesDir = path.join(packageDir, 'node_modules'); + if (await fs.pathExists(nodeModulesDir)) { + watchDirs.push(nodeModulesDir); + const modules = await fs.readdir(nodeModulesDir); + for (const moduleName of modules) { + if (pkg.dependencies && pkg.dependencies[moduleName]) { + const fullPath = path.join(nodeModulesDir, moduleName); + const stat = await fs.lstat(fullPath); + if (stat.isSymbolicLink()) { + const target = await fs.readlink(fullPath); + watchDirs.push(path.resolve(nodeModulesDir, target)); + } + } + } + } + if (packageDir === '/') { + break; + } + packageDir = path.dirname(packageDir); + } + return watchDirs; +}; diff --git a/desktop/static/package.json b/desktop/static/package.json index e8bc413b6..19aad1808 100644 --- a/desktop/static/package.json +++ b/desktop/static/package.json @@ -19,6 +19,7 @@ "expand-tilde": "^2.0.2", "fb-watchman": "^2.0.0", "fix-path": "^3.0.0", + "fs-extra": "^8.1.0", "mem": "^6.0.0", "metro": "^0.58.0", "mkdirp": "^1.0.0", diff --git a/desktop/static/transforms/fb-stubs.js b/desktop/static/transforms/fb-stubs.js index 6c3f74053..c30c3bdb5 100644 --- a/desktop/static/transforms/fb-stubs.js +++ b/desktop/static/transforms/fb-stubs.js @@ -10,7 +10,7 @@ const fs = require('fs'); const path = require('path'); const replaceFBStubs = fs.existsSync( - path.join(__dirname, '..', '..', 'src', 'fb'), + path.join(__dirname, '..', '..', 'app', 'src', 'fb'), ); const isFBFile = filePath => filePath.includes(`${path.sep}fb${path.sep}`); diff --git a/desktop/static/transforms/index.js b/desktop/static/transforms/index.js index 8630c7775..3575a89cb 100644 --- a/desktop/static/transforms/index.js +++ b/desktop/static/transforms/index.js @@ -16,7 +16,7 @@ const staticDir = path.resolve(__dirname, '..'); function transform({filename, options, src}) { const isPlugin = - options.projectRoot && !__dirname.startsWith(options.projectRoot); + options.projectRoot && options.projectRoot.includes('/desktop/plugins/'); const isMain = options.projectRoot && options.projectRoot === staticDir && @@ -77,7 +77,7 @@ function transform({filename, options, src}) { if ( fs.existsSync( - path.resolve(path.dirname(path.dirname(__dirname)), 'src', 'fb'), + path.resolve(path.dirname(path.dirname(__dirname)), 'app', 'src', 'fb'), ) ) { plugins.push(require('./fb-stubs.js')); diff --git a/desktop/tsconfig.json b/desktop/tsconfig.json index dee48970b..705bcb413 100644 --- a/desktop/tsconfig.json +++ b/desktop/tsconfig.json @@ -13,7 +13,7 @@ "downlevelIteration": true, "skipLibCheck": true, "paths": { - "flipper": ["./src"], + "flipper": ["./app/src"], "flipper-doctor": ["./doctor/src"], "flipper-pkg": ["./pkg/src"], "live-plugin-manager": ["./types/live-plugin-manager.d.tsx"] diff --git a/desktop/types/globals.tsx b/desktop/types/globals.tsx index c0a59ab44..44cc1c622 100644 --- a/desktop/types/globals.tsx +++ b/desktop/types/globals.tsx @@ -9,7 +9,7 @@ import {StoreEnhancerStoreCreator} from 'redux'; import {ResizeObserver} from './ResizeObserver.d'; -import {Store} from '../src/reducers'; +import {Store} from '../app/src/reducers'; export {}; type RequestIdleHandle = number; diff --git a/desktop/yarn.lock b/desktop/yarn.lock index 9fe3f0903..bfa112910 100644 --- a/desktop/yarn.lock +++ b/desktop/yarn.lock @@ -12,6 +12,11 @@ resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz#bc5b5532ecafd923a61f2fb097e3b108c0106a3f" integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== +"7zip@0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/7zip/-/7zip-0.0.6.tgz#9cafb171af82329490353b4816f03347aa150a30" + integrity sha1-nK+xca+CMpSQNTtIFvAzR6oVCjA= + "@algolia/cache-browser-local-storage@4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.0.0.tgz#53085805373aeb6f3dfe06a1028c944343f087b5" @@ -130,7 +135,16 @@ dependencies: "@babel/highlight" "^7.8.3" -"@babel/core@^7.0.0", "@babel/core@^7.7.5": +"@babel/compat-data@^7.8.6": + version "7.8.6" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.8.6.tgz#7eeaa0dfa17e50c7d9c0832515eee09b56f04e35" + integrity sha512-CurCIKPTkS25Mb8mz267vU95vy+TyUpnctEX2lV33xWNmHAfjruztgiPBbXZRh3xZZy1CYvGx6XfxyTVS+sk7Q== + dependencies: + browserslist "^4.8.5" + invariant "^2.2.4" + semver "^5.5.0" + +"@babel/core@^7.0.0", "@babel/core@^7.7.5", "@babel/core@^7.8.3", "@babel/core@^7.8.6", "@babel/core@^7.8.7": version "7.8.7" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.7.tgz#b69017d221ccdeb203145ae9da269d72cf102f3b" integrity sha512-rBlqF3Yko9cynC5CCFy6+K/w2N+Sq/ff2BPy+Krp7rHlABIr5epbA7OxVeKoMHB39LZOp1UY5SuLjy6uWi35yA== @@ -191,6 +205,16 @@ lodash "^4.17.13" source-map "^0.5.0" +"@babel/generator@^7.8.3": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.8.tgz#cdcd58caab730834cee9eeadb729e833b625da3e" + integrity sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg== + dependencies: + "@babel/types" "^7.8.7" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" @@ -247,6 +271,17 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.7" +"@babel/helper-compilation-targets@^7.8.7": + version "7.8.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz#dac1eea159c0e4bd46e309b5a1b04a66b53c1dde" + integrity sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw== + dependencies: + "@babel/compat-data" "^7.8.6" + browserslist "^4.9.1" + invariant "^2.2.4" + levenary "^1.1.1" + semver "^5.5.0" + "@babel/helper-create-class-features-plugin@^7.5.5", "@babel/helper-create-class-features-plugin@^7.6.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz#769711acca889be371e9bc2eb68641d55218021f" @@ -280,6 +315,15 @@ "@babel/helper-regex" "^7.8.3" regexpu-core "^4.6.0" +"@babel/helper-create-regexp-features-plugin@^7.8.8": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz#5d84180b588f560b7864efaeea89243e58312087" + integrity sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-regex" "^7.8.3" + regexpu-core "^4.7.0" + "@babel/helper-define-map@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369" @@ -589,6 +633,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.5.tgz#cbf45321619ac12d83363fcf9c94bb67fa646d71" integrity sha512-KNlOe9+/nk4i29g0VXgl8PEXIRms5xKLJeuZ6UptN0fHv+jDiriG+y94X6qAgWTR0h3KaoM1wK5G5h7MHFRSig== +"@babel/parser@^7.8.3": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.8.tgz#4c3b7ce36db37e0629be1f0d50a571d2f86f6cd4" + integrity sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA== + "@babel/parser@^7.8.6", "@babel/parser@^7.8.7": version "7.8.7" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.7.tgz#7b8facf95d25fef9534aad51c4ffecde1a61e26a" @@ -610,7 +659,16 @@ "@babel/helper-remap-async-to-generator" "^7.1.0" "@babel/plugin-syntax-async-generators" "^7.2.0" -"@babel/plugin-proposal-class-properties@^7.0.0": +"@babel/plugin-proposal-async-generator-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" + integrity sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-remap-async-to-generator" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + +"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA== @@ -634,6 +692,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-dynamic-import" "^7.2.0" +"@babel/plugin-proposal-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054" + integrity sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-proposal-export-default-from@^7.0.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.8.3.tgz#4cb7c2fdeaed490b60d9bfd3dc8a20f81f9c2e7c" @@ -650,7 +716,15 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings" "^7.2.0" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0": +"@babel/plugin-proposal-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b" + integrity sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" integrity sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw== @@ -666,7 +740,15 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" -"@babel/plugin-proposal-optional-catch-binding@^7.0.0": +"@babel/plugin-proposal-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz#eb5ae366118ddca67bed583b53d7554cad9951bb" + integrity sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + +"@babel/plugin-proposal-optional-catch-binding@^7.0.0", "@babel/plugin-proposal-optional-catch-binding@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" integrity sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw== @@ -682,7 +764,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" -"@babel/plugin-proposal-optional-chaining@^7.0.0": +"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz#ae10b3214cb25f7adb1f3bc87ba42ca10b7e2543" integrity sha512-QIoIR9abkVn+seDE3OjA08jWcs3eZ9+wJCKSRgo3WdEU2csFYgdScb+8qHB3+WXsGJD55u+5hWCISI7ejXS+kg== @@ -699,6 +781,14 @@ "@babel/helper-regex" "^7.4.4" regexpu-core "^4.6.0" +"@babel/plugin-proposal-unicode-property-regex@^7.8.3": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d" + integrity sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.8" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-async-generators@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" @@ -706,6 +796,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-syntax-async-generators@^7.8.0": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + "@babel/plugin-syntax-bigint@^7.0.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" @@ -720,7 +817,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-dynamic-import@^7.0.0": +"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== @@ -741,7 +838,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.0.0": +"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.8.3.tgz#f2c883bd61a6316f2c89380ae5122f923ba4527f" integrity sha512-innAx3bUbA0KSYj2E2MNFSn9hiCeowOFLxlsuhXzw8hMQnzkDomUr9QCD7E9VF60NmnG1sNTuuv6Qf4f8INYsg== @@ -762,6 +859,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-syntax-json-strings@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + "@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94" @@ -783,6 +887,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-syntax-object-rest-spread@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" @@ -804,6 +915,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391" + integrity sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-typescript@^7.2.0": version "7.3.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz#a7cc3f66119a9f7ebe2de5383cce193473d65991" @@ -818,7 +936,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-arrow-functions@^7.0.0": +"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6" integrity sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg== @@ -832,7 +950,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-async-to-generator@^7.0.0": +"@babel/plugin-transform-async-to-generator@^7.0.0", "@babel/plugin-transform-async-to-generator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086" integrity sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ== @@ -850,7 +968,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-remap-async-to-generator" "^7.1.0" -"@babel/plugin-transform-block-scoped-functions@^7.0.0": +"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3" integrity sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg== @@ -864,7 +982,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-block-scoping@^7.0.0": +"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a" integrity sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w== @@ -880,7 +998,7 @@ "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.13" -"@babel/plugin-transform-classes@^7.0.0": +"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.8.6": version "7.8.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.6.tgz#77534447a477cbe5995ae4aee3e39fbc8090c46d" integrity sha512-k9r8qRay/R6v5aWZkrEclEhKO6mc1CCQr2dLsVHBmOQiMpN6I2bpjX3vgnldUWeEI1GHVNByULVxZ4BdP4Hmdg== @@ -908,7 +1026,7 @@ "@babel/helper-split-export-declaration" "^7.4.4" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.0.0": +"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" integrity sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA== @@ -936,6 +1054,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-transform-destructuring@^7.8.3": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz#fadb2bc8e90ccaf5658de6f8d4d22ff6272a2f4b" + integrity sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-dotall-regex@^7.6.2": version "7.6.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz#44abb948b88f0199a627024e1508acaf8dc9b2f9" @@ -945,6 +1070,14 @@ "@babel/helper-regex" "^7.4.4" regexpu-core "^4.6.0" +"@babel/plugin-transform-dotall-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" + integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-duplicate-keys@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" @@ -952,7 +1085,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-exponentiation-operator@^7.0.0": +"@babel/plugin-transform-duplicate-keys@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1" + integrity sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.0.0", "@babel/plugin-transform-exponentiation-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7" integrity sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ== @@ -976,7 +1116,15 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-flow" "^7.2.0" -"@babel/plugin-transform-for-of@^7.0.0": +"@babel/plugin-transform-flow-strip-types@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.8.3.tgz#da705a655466b2a9b36046b57bf0cbcd53551bd4" + integrity sha512-g/6WTWG/xbdd2exBBzMfygjX/zw4eyNC4X8pRaq7aRHRoDUCzAIu3kGYIXviOv8BjCuWm8vDBwjHcjiRNgXrPA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-flow" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.8.6": version "7.8.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.6.tgz#a051bd1b402c61af97a27ff51b468321c7c2a085" integrity sha512-M0pw4/1/KI5WAxPsdcUL/w2LJ7o89YHN3yLkzNjg7Yl15GlVGgzHyCU+FMeAxevHGsLVmUqbirlUIKTafPmzdw== @@ -990,7 +1138,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-function-name@^7.0.0": +"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" integrity sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ== @@ -1006,7 +1154,7 @@ "@babel/helper-function-name" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-literals@^7.0.0": +"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1" integrity sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A== @@ -1020,7 +1168,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-member-expression-literals@^7.0.0": +"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410" integrity sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA== @@ -1043,7 +1191,16 @@ "@babel/helper-plugin-utils" "^7.0.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.0.0": +"@babel/plugin-transform-modules-amd@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz#65606d44616b50225e76f5578f33c568a0b876a5" + integrity sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ== + dependencies: + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + +"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz#df251706ec331bd058a34bdd72613915f82928a5" integrity sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg== @@ -1072,6 +1229,16 @@ "@babel/helper-plugin-utils" "^7.0.0" babel-plugin-dynamic-import-node "^2.3.0" +"@babel/plugin-transform-modules-systemjs@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz#d8bbf222c1dbe3661f440f2f00c16e9bb7d0d420" + integrity sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg== + dependencies: + "@babel/helper-hoist-variables" "^7.8.3" + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + "@babel/plugin-transform-modules-umd@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" @@ -1080,6 +1247,14 @@ "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-transform-modules-umd@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz#592d578ce06c52f5b98b02f913d653ffe972661a" + integrity sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw== + dependencies: + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-named-capturing-groups-regex@^7.6.3": version "7.6.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz#aaa6e409dd4fb2e50b6e2a91f7e3a3149dbce0cf" @@ -1087,6 +1262,13 @@ dependencies: regexpu-core "^4.6.0" +"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" + integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/plugin-transform-new-target@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" @@ -1094,6 +1276,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-transform-new-target@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43" + integrity sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-object-assign@^7.0.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.8.3.tgz#dc3b8dd50ef03837868a37b7df791f64f288538e" @@ -1101,7 +1290,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-object-super@^7.0.0": +"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725" integrity sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ== @@ -1135,7 +1324,16 @@ "@babel/helper-get-function-arity" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-property-literals@^7.0.0": +"@babel/plugin-transform-parameters@^7.8.7": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.8.tgz#0381de466c85d5404565243660c4496459525daf" + integrity sha512-hC4Ld/Ulpf1psQciWWwdnUspQoQco2bMzSrwU6TmzRlvoYQe4rQFy9vnCZDTlVeCQj0JPfL+1RX0V8hCJvkgBA== + dependencies: + "@babel/helper-call-delegate" "^7.8.7" + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263" integrity sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg== @@ -1149,14 +1347,22 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-react-display-name@^7.0.0": +"@babel/plugin-transform-react-display-name@^7.0.0", "@babel/plugin-transform-react-display-name@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5" integrity sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A== dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-react-jsx-source@^7.0.0": +"@babel/plugin-transform-react-jsx-self@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.8.3.tgz#c4f178b2aa588ecfa8d077ea80d4194ee77ed702" + integrity sha512-01OT7s5oa0XTLf2I8XGsL8+KqV9lx3EZV+jxn/L2LQ97CGKila2YMroTkCEIE0HV/FF7CMSRsIAybopdN9NTdg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + +"@babel/plugin-transform-react-jsx-source@^7.0.0", "@babel/plugin-transform-react-jsx-source@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.8.3.tgz#951e75a8af47f9f120db731be095d2b2c34920e0" integrity sha512-PLMgdMGuVDtRS/SzjNEQYUT8f4z1xb2BAT54vM1X5efkVuYBf5WyGUMbpmARcfq3NaglIwz08UVQK4HHHbC6ag== @@ -1164,7 +1370,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-jsx" "^7.8.3" -"@babel/plugin-transform-react-jsx@^7.0.0": +"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.8.3.tgz#4220349c0390fdefa505365f68c103562ab2fc4a" integrity sha512-r0h+mUiyL595ikykci+fbwm9YzmuOrUBi0b+FDIKmi3fPQyFokWVEMJnRWHJPPQEjyFJyna9WZC6Viv6UHSv1g== @@ -1173,7 +1379,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-jsx" "^7.8.3" -"@babel/plugin-transform-regenerator@^7.0.0": +"@babel/plugin-transform-regenerator@^7.0.0", "@babel/plugin-transform-regenerator@^7.8.7": version "7.8.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8" integrity sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA== @@ -1194,6 +1400,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-transform-reserved-words@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5" + integrity sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-runtime@^7.0.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.8.3.tgz#c0153bc0a5375ebc1f1591cb7eea223adea9f169" @@ -1204,7 +1417,7 @@ resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-shorthand-properties@^7.0.0": +"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8" integrity sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w== @@ -1218,7 +1431,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-spread@^7.0.0": +"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8" integrity sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g== @@ -1232,7 +1445,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-sticky-regex@^7.0.0": +"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100" integrity sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw== @@ -1248,7 +1461,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.0.0" -"@babel/plugin-transform-template-literals@^7.0.0": +"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80" integrity sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ== @@ -1271,7 +1484,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-typescript@^7.5.0": +"@babel/plugin-transform-typeof-symbol@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412" + integrity sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-typescript@^7.5.0", "@babel/plugin-transform-typescript@^7.8.3": version "7.8.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.8.7.tgz#48bccff331108a7b3a28c3a4adc89e036dc3efda" integrity sha512-7O0UsPQVNKqpHeHLpfvOG4uXmlw+MOxYvUv6Otc9uH5SYMIxvF6eBdjkWvC3f9G+VXe0RsNExyAQBeTRug/wqQ== @@ -1289,7 +1509,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-typescript" "^7.2.0" -"@babel/plugin-transform-unicode-regex@^7.0.0": +"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" integrity sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw== @@ -1362,6 +1582,69 @@ js-levenshtein "^1.1.3" semver "^5.5.0" +"@babel/preset-env@^7.8.3": + version "7.8.7" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.8.7.tgz#1fc7d89c7f75d2d70c2b6768de6c2e049b3cb9db" + integrity sha512-BYftCVOdAYJk5ASsznKAUl53EMhfBbr8CJ1X+AJLfGPscQkwJFiaV/Wn9DPH/7fzm2v6iRYJKYHSqyynTGw0nw== + dependencies: + "@babel/compat-data" "^7.8.6" + "@babel/helper-compilation-targets" "^7.8.7" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-async-generator-functions" "^7.8.3" + "@babel/plugin-proposal-dynamic-import" "^7.8.3" + "@babel/plugin-proposal-json-strings" "^7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.8.3" + "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.8.3" + "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.8.3" + "@babel/plugin-transform-async-to-generator" "^7.8.3" + "@babel/plugin-transform-block-scoped-functions" "^7.8.3" + "@babel/plugin-transform-block-scoping" "^7.8.3" + "@babel/plugin-transform-classes" "^7.8.6" + "@babel/plugin-transform-computed-properties" "^7.8.3" + "@babel/plugin-transform-destructuring" "^7.8.3" + "@babel/plugin-transform-dotall-regex" "^7.8.3" + "@babel/plugin-transform-duplicate-keys" "^7.8.3" + "@babel/plugin-transform-exponentiation-operator" "^7.8.3" + "@babel/plugin-transform-for-of" "^7.8.6" + "@babel/plugin-transform-function-name" "^7.8.3" + "@babel/plugin-transform-literals" "^7.8.3" + "@babel/plugin-transform-member-expression-literals" "^7.8.3" + "@babel/plugin-transform-modules-amd" "^7.8.3" + "@babel/plugin-transform-modules-commonjs" "^7.8.3" + "@babel/plugin-transform-modules-systemjs" "^7.8.3" + "@babel/plugin-transform-modules-umd" "^7.8.3" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" + "@babel/plugin-transform-new-target" "^7.8.3" + "@babel/plugin-transform-object-super" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.8.7" + "@babel/plugin-transform-property-literals" "^7.8.3" + "@babel/plugin-transform-regenerator" "^7.8.7" + "@babel/plugin-transform-reserved-words" "^7.8.3" + "@babel/plugin-transform-shorthand-properties" "^7.8.3" + "@babel/plugin-transform-spread" "^7.8.3" + "@babel/plugin-transform-sticky-regex" "^7.8.3" + "@babel/plugin-transform-template-literals" "^7.8.3" + "@babel/plugin-transform-typeof-symbol" "^7.8.4" + "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/types" "^7.8.7" + browserslist "^4.8.5" + core-js-compat "^3.6.2" + invariant "^2.2.2" + levenary "^1.1.1" + semver "^5.5.0" + "@babel/preset-flow@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0.tgz#afd764835d9535ec63d8c7d4caf1c06457263da2" @@ -1370,6 +1653,25 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-flow-strip-types" "^7.0.0" +"@babel/preset-flow@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.8.3.tgz#52af74c6a4e80d889bd9436e8e278d0fecac6e18" + integrity sha512-iCXFk+T4demnq+dNLLvlGOgvYF6sPZ/hS1EmswugOqh1Ysp2vuiqJzpgsnp5rW8+6dLJT/0CXDzye28ZH6BAfQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-flow-strip-types" "^7.8.3" + +"@babel/preset-react@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.8.3.tgz#23dc63f1b5b0751283e04252e78cf1d6589273d2" + integrity sha512-9hx0CwZg92jGb7iHYQVgi0tOEHP/kM60CtWJQnmbATSPIQQ2xYzfoCI3EdqAhFBeeJwYMdWQuDUHMsuDbH9hyQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-react-display-name" "^7.8.3" + "@babel/plugin-transform-react-jsx" "^7.8.3" + "@babel/plugin-transform-react-jsx-self" "^7.8.3" + "@babel/plugin-transform-react-jsx-source" "^7.8.3" + "@babel/preset-typescript@^7.1.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.6.0.tgz#25768cb8830280baf47c45ab1a519a9977498c98" @@ -1693,6 +1995,40 @@ jest-util "^25.1.0" slash "^3.0.0" +"@jest/core@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" + integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A== + dependencies: + "@jest/console" "^24.7.1" + "@jest/reporters" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-changed-files "^24.9.0" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-resolve-dependencies "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + jest-watcher "^24.9.0" + micromatch "^3.1.10" + p-each-series "^1.0.0" + realpath-native "^1.1.0" + rimraf "^2.5.4" + slash "^2.0.0" + strip-ansi "^5.0.0" + "@jest/core@^25.1.0": version "25.1.0" resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.1.0.tgz#3d4634fc3348bb2d7532915d67781cdac0869e47" @@ -1766,6 +2102,33 @@ jest-util "^25.1.0" lolex "^5.0.0" +"@jest/reporters@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" + integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + istanbul-lib-coverage "^2.0.2" + istanbul-lib-instrument "^3.0.1" + istanbul-lib-report "^2.0.4" + istanbul-lib-source-maps "^3.0.1" + istanbul-reports "^2.2.6" + jest-haste-map "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + node-notifier "^5.4.2" + slash "^2.0.0" + source-map "^0.6.0" + string-length "^2.0.0" + "@jest/reporters@^25.1.0": version "25.1.0" resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.1.0.tgz#9178ecf136c48f125674ac328f82ddea46e482b0" @@ -1941,6 +2304,90 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" +"@oclif/command@^1", "@oclif/command@^1.5.1", "@oclif/command@^1.5.13": + version "1.5.19" + resolved "https://registry.yarnpkg.com/@oclif/command/-/command-1.5.19.tgz#13f472450eb83bd6c6871a164c03eadb5e1a07ed" + integrity sha512-6+iaCMh/JXJaB2QWikqvGE9//wLEVYYwZd5sud8aLoLKog1Q75naZh2vlGVtg5Mq/NqpqGQvdIjJb3Bm+64AUQ== + dependencies: + "@oclif/config" "^1" + "@oclif/errors" "^1.2.2" + "@oclif/parser" "^3.8.3" + "@oclif/plugin-help" "^2" + debug "^4.1.1" + semver "^5.6.0" + +"@oclif/config@^1", "@oclif/config@^1.12.12": + version "1.14.0" + resolved "https://registry.yarnpkg.com/@oclif/config/-/config-1.14.0.tgz#0af93facd5c5087f804489f1603c4f3bc0c45014" + integrity sha512-KsOP/mx9lzTah+EtGqLUXN3PDL0J3zb9/dTneFyiUK2K6T7vFEGhV6OasmqTh4uMZHGYTGrNPV8x/Yw6qZNL6A== + dependencies: + "@oclif/errors" "^1.0.0" + "@oclif/parser" "^3.8.0" + debug "^4.1.1" + tslib "^1.9.3" + +"@oclif/dev-cli@^1": + version "1.22.2" + resolved "https://registry.yarnpkg.com/@oclif/dev-cli/-/dev-cli-1.22.2.tgz#e890f93d0335c0e3faaa25741999776259b2171f" + integrity sha512-c7633R37RxrQIpwqPKxjNRm6/jb1yuG8fd16hmNz9Nw+/MUhEtQtKHSCe9ScH8n5M06l6LEo4ldk9LEGtpaWwA== + dependencies: + "@oclif/command" "^1.5.13" + "@oclif/config" "^1.12.12" + "@oclif/errors" "^1.2.2" + "@oclif/plugin-help" "^2.1.6" + cli-ux "^5.2.1" + debug "^4.1.1" + fs-extra "^7.0.1" + github-slugger "^1.2.1" + lodash "^4.17.11" + normalize-package-data "^2.5.0" + qqjs "^0.3.10" + tslib "^1.9.3" + +"@oclif/errors@^1.0.0", "@oclif/errors@^1.2.1", "@oclif/errors@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@oclif/errors/-/errors-1.2.2.tgz#9d8f269b15f13d70aa93316fed7bebc24688edc2" + integrity sha512-Eq8BFuJUQcbAPVofDxwdE0bL14inIiwt5EaKRVY9ZDIG11jwdXZqiQEECJx0VfnLyUZdYfRd/znDI/MytdJoKg== + dependencies: + clean-stack "^1.3.0" + fs-extra "^7.0.0" + indent-string "^3.2.0" + strip-ansi "^5.0.0" + wrap-ansi "^4.0.0" + +"@oclif/linewrap@^1.0.0": + version "1.0.0" + 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": + version "3.8.4" + resolved "https://registry.yarnpkg.com/@oclif/parser/-/parser-3.8.4.tgz#1a90fc770a42792e574fb896325618aebbe8c9e4" + integrity sha512-cyP1at3l42kQHZtqDS3KfTeyMvxITGwXwH1qk9ktBYvqgMp5h4vHT+cOD74ld3RqJUOZY/+Zi9lb4Tbza3BtuA== + dependencies: + "@oclif/linewrap" "^1.0.0" + chalk "^2.4.2" + tslib "^1.9.3" + +"@oclif/plugin-help@^2", "@oclif/plugin-help@^2.1.6": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-2.2.3.tgz#b993041e92047f0e1762668aab04d6738ac06767" + integrity sha512-bGHUdo5e7DjPJ0vTeRBMIrfqTRDBfyR5w0MP41u0n3r7YG5p14lvMmiCXxi6WDaP2Hw5nqx3PnkAIntCKZZN7g== + dependencies: + "@oclif/command" "^1.5.13" + chalk "^2.4.1" + indent-string "^4.0.0" + lodash.template "^4.4.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + widest-line "^2.0.1" + wrap-ansi "^4.0.0" + +"@oclif/screen@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-1.0.4.tgz#b740f68609dfae8aa71c3a6cab15d816407ba493" + integrity sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw== + "@sheerun/mutationobserver-shim@^0.3.2": version "0.3.2" resolved "https://registry.yarnpkg.com/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.2.tgz#8013f2af54a2b7d735f71560ff360d3a8176a87b" @@ -2071,6 +2518,11 @@ resolved "https://registry.yarnpkg.com/@types/detect-port/-/detect-port-1.1.0.tgz#07075d264e2e5a432624b1e7ffc11379fe66be8a" integrity sha1-BwddJk4uWkMmJLHn/8ETef5mvoo= +"@types/electron-devtools-installer@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@types/electron-devtools-installer/-/electron-devtools-installer-2.2.0.tgz#32ee4ebbe99b3daf9847a6d2097dc00b5de94f10" + integrity sha512-HJNxpaOXuykCK4rQ6FOMxAA0NLFYsf7FiPFGmab0iQmtVBHSAfxzy3MRFpLTTDDWbV0yD2YsHOQvdu8yCqtCfw== + "@types/eslint-visitor-keys@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" @@ -2103,7 +2555,7 @@ "@types/express-serve-static-core" "*" "@types/serve-static" "*" -"@types/fb-watchman@^2.0.0": +"@types/fb-watchman@2.0.0", "@types/fb-watchman@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@types/fb-watchman/-/fb-watchman-2.0.0.tgz#ca60ded406baa8c81c65ac1f86763a5d00aa7c55" integrity sha512-Ao2jlksPEUGCEXBvJz5e2MuDpYUtxXgtUk45cg0g5Mmy4f0j7bQuDlOlqBMgKGRl9dZAK4ZTzFtukuzj2mURlQ== @@ -2141,6 +2593,14 @@ "@types/react" "*" hoist-non-react-statics "^3.3.0" +"@types/inquirer@^6.5.0": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-6.5.0.tgz#b83b0bf30b88b8be7246d40e51d32fe9d10e09be" + integrity sha512-rjaYQ9b9y/VFGOpqBEXRavc3jh0a+e6evAbI31tMda8VlPaSy0AZJfXsvmIe3wklc7W6C3zCSfleuMXR7NOyXw== + dependencies: + "@types/through" "*" + rxjs "^6.4.0" + "@types/invariant@^2.2.31": version "2.2.31" resolved "https://registry.yarnpkg.com/@types/invariant/-/invariant-2.2.31.tgz#4444c03004f215289dbca3856538434317dd28b2" @@ -2166,6 +2626,13 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" +"@types/jest@^24.0.21": + version "24.9.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" + integrity sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q== + dependencies: + jest-diff "^24.3.0" + "@types/jest@^25.1.0": version "25.1.2" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.1.2.tgz#1c4c8770c27906c7d8def5d2033df9dbd39f60da" @@ -2249,12 +2716,7 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.5.tgz#66103d2eddc543d44a04394abb7be52506d7f290" integrity sha512-KEjODidV4XYUlJBF3XdjSH5FWoMCtO0utnhtdLf1AgeuZLOrRbvmU/gaRCVg7ZaQDjVf3l84egiY0mRNe5xE4A== -"@types/node@^12.12.12": - version "12.12.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.12.tgz#529bc3e73dbb35dd9e90b0a1c83606a9d3264bdb" - integrity sha512-MGuvYJrPU0HUwqF7LqvIj50RZUX23Z+m583KBygKYUZLlZ88n6w28XRNJRJgsHukLEnLz6w6SvxZoLgbr5wLqQ== - -"@types/node@^13.7.5": +"@types/node@^13.7.5", "@types/node@^13.7.7": version "13.9.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.1.tgz#96f606f8cd67fb018847d9b61e93997dabdefc72" integrity sha512-E6M6N0blf/jiZx8Q3nb0vNaswQeEyn0XlupO+xN6DtJ6r6IT4nXrTry7zhIfYvFCl3/8Cu6WIysmUBKiqV0bqQ== @@ -2473,6 +2935,13 @@ "@types/react-dom" "*" "@types/testing-library__dom" "*" +"@types/through@*": + version "0.0.30" + resolved "https://registry.yarnpkg.com/@types/through/-/through-0.0.30.tgz#e0e42ce77e897bd6aead6f6ea62aeb135b8a3895" + integrity sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg== + dependencies: + "@types/node" "*" + "@types/tmp@^0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.1.0.tgz#19cf73a7bcf641965485119726397a096f0049bd" @@ -2537,6 +3006,17 @@ 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" @@ -2546,6 +3026,15 @@ "@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/parser@^2.19.2": version "2.19.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.19.2.tgz#21f42c0694846367e7d6a907feb08ab2f89c0879" @@ -2569,6 +3058,19 @@ 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" + "@yarnpkg/lockfile@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" @@ -2638,11 +3140,16 @@ acorn@^7.1.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== -adbkit-logcat@2, adbkit-logcat@^1.1.0, adbkit-logcat@^2.0.1: +adbkit-logcat@2, adbkit-logcat@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/adbkit-logcat/-/adbkit-logcat-2.0.1.tgz#d4986b9fc7cfda42733389d46a52124abef43ca5" integrity sha512-MznVzzEzcrWhIaIyblll+a0AL1TICJe/yuaia7HDYTAtiNabR/9amJkAnLt30U8/W7MVBc3mvU1jB/6MJ/TYHw== +adbkit-logcat@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/adbkit-logcat/-/adbkit-logcat-1.1.0.tgz#01d7f9b0cef9093a30bcb3b007efff301508962f" + integrity sha1-Adf5sM75CTowvLOwB+//MBUIli8= + adbkit-monkey@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/adbkit-monkey/-/adbkit-monkey-1.0.1.tgz#f291be701a2efc567a63fc7aa6afcded31430be1" @@ -2730,6 +3237,11 @@ ansi-align@^3.0.0: dependencies: string-width "^3.0.0" +ansi-escapes@^3.0.0, ansi-escapes@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + ansi-escapes@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.2.1.tgz#4dccdb846c3eee10f6d64dea66273eab90c37228" @@ -2791,6 +3303,11 @@ ansi-to-html@^0.6.3: dependencies: entities "^1.1.2" +ansicolors@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" + integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk= + anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -3083,7 +3600,7 @@ babel-eslint@^10.0.1: eslint-visitor-keys "^1.0.0" resolve "^1.12.0" -babel-jest@^24.9.0: +babel-jest@^24.8.0, babel-jest@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== @@ -3301,6 +3818,13 @@ bl@^1.0.0: readable-stream "^2.3.5" safe-buffer "^5.1.1" +bl@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.1.tgz#8c9b4fb754e80cc86463077722be7b88b4af3f42" + integrity sha512-FL/TdvchukRCuWVxT0YMO/7+L5TNeNrVFvRU2IY63aUyv9mpt8splf2NEr6qXtPo5fya5a66YohQKvGNmLrWNA== + dependencies: + readable-stream "^3.4.0" + blob@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" @@ -3423,6 +3947,15 @@ browserslist@^4.6.0, browserslist@^4.7.1: electron-to-chromium "^1.3.284" node-releases "^1.1.36" +browserslist@^4.8.3, browserslist@^4.8.5, browserslist@^4.9.1: + version "4.9.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.9.1.tgz#01ffb9ca31a1aef7678128fc6a2253316aa7287c" + integrity sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw== + dependencies: + caniuse-lite "^1.0.30001030" + electron-to-chromium "^1.3.363" + node-releases "^1.1.50" + bs-logger@0.x: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" @@ -3617,6 +4150,16 @@ caniuse-lite@^1.0.30000999: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001002.tgz#ba999a737b1abd5bf0fd47efe43a09b9cadbe9b0" integrity sha512-pRuxPE8wdrWmVPKcDmJJiGBxr6lFJq4ivdSeo9FTmGj5Rb8NX3Mby2pARG57MXF15hYAhZ0nHV5XxT2ig4bz3g== +caniuse-lite@^1.0.30001030: + version "1.0.30001035" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz#2bb53b8aa4716b2ed08e088d4dc816a5fe089a1e" + integrity sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ== + +canonical-json@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/canonical-json/-/canonical-json-0.0.4.tgz#6579c072c3db5c477ec41dc978fbf2b8f41074a3" + integrity sha1-ZXnAcsPbXEd+xB3JePvyuPQQdKM= + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -3629,6 +4172,14 @@ capture-stack-trace@^1.0.0: resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== +cardinal@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" + integrity sha1-fMEFXYItISlU0HsIXeolHMe8VQU= + dependencies: + ansicolors "~0.3.2" + redeyed "~2.1.0" + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -3717,6 +4268,11 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" +clean-stack@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31" + integrity sha1-noIVAa6XmYbEax1m0tQy2y/UrjE= + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -3739,6 +4295,46 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" +cli-progress@^3.4.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.6.0.tgz#20317e6a653c3e5636fb5f03a7d67cd48ebc215a" + integrity sha512-elg6jkiDedYrvwqWSae2FGvtbMo37Lo04oI9jJ5cI43Ge3jrDPWzeL3axv7MgBLYHDY/kGio/CXa49m4MWMrNw== + dependencies: + colors "^1.1.2" + string-width "^2.1.1" + +cli-ux@^5.2.1, cli-ux@^5.4.5: + version "5.4.5" + resolved "https://registry.yarnpkg.com/cli-ux/-/cli-ux-5.4.5.tgz#1b9e6648754307a1fa59a0c5a9c6be0ed899c2cd" + integrity sha512-5A6FuU0wPUlfCWUjtizUvNIbXElp6jN9QUJsDibs6F9cVX1kTgaMR3m6KT0R3iriEXpMrmPKV6yYS8XICNuQ6Q== + dependencies: + "@oclif/command" "^1.5.1" + "@oclif/errors" "^1.2.1" + "@oclif/linewrap" "^1.0.0" + "@oclif/screen" "^1.0.3" + ansi-escapes "^3.1.0" + ansi-styles "^3.2.1" + cardinal "^2.1.1" + chalk "^2.4.1" + clean-stack "^2.0.0" + cli-progress "^3.4.0" + extract-stack "^1.0.0" + fs-extra "^7.0.1" + hyperlinker "^1.0.0" + indent-string "^4.0.0" + is-wsl "^1.1.0" + js-yaml "^3.13.1" + lodash "^4.17.11" + natural-orderby "^2.0.1" + password-prompt "^1.1.2" + semver "^5.6.0" + string-width "^3.1.0" + strip-ansi "^5.1.0" + supports-color "^5.5.0" + supports-hyperlinks "^1.0.1" + treeify "^1.1.0" + tslib "^1.9.3" + cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" @@ -3977,7 +4573,7 @@ content-disposition@0.5.3: dependencies: safe-buffer "5.1.2" -content-type@~1.0.4: +content-type@^1.0.4, content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== @@ -4024,6 +4620,14 @@ core-js-compat@^3.1.1: browserslist "^4.7.1" semver "^6.3.0" +core-js-compat@^3.6.2: + version "3.6.4" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.4.tgz#938476569ebb6cda80d339bcf199fae4f16fff17" + integrity sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA== + dependencies: + browserslist "^4.8.3" + semver "7.0.0" + core-js@^2.2.2: version "2.6.11" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" @@ -4086,6 +4690,14 @@ cross-fetch@^3.0.4: node-fetch "2.6.0" whatwg-fetch "3.0.0" +cross-spawn@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" + integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE= + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + cross-spawn@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" @@ -4115,6 +4727,11 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1: shebang-command "^2.0.0" which "^2.0.1" +cross-unzip@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/cross-unzip/-/cross-unzip-0.0.2.tgz#5183bc47a09559befcf98cc4657964999359372f" + integrity sha1-UYO8R6CVWb78+YzEZXlkmZNZNy8= + crypto-random-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" @@ -4319,6 +4936,11 @@ deepmerge@^4.0.0: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== +default-shell@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/default-shell/-/default-shell-1.0.1.tgz#752304bddc6174f49eb29cb988feea0b8813c8bc" + integrity sha1-dSMEvdxhdPSespy5iP7qC4gTyLw= + defer-to-connect@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.0.2.tgz#4bae758a314b034ae33902b5aac25a8dd6a8633e" @@ -4378,6 +5000,11 @@ destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +detect-indent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" + integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== + detect-libc@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" @@ -4587,6 +5214,16 @@ electron-builder@^22.3.2: update-notifier "^4.0.0" yargs "^15.1.0" +electron-devtools-installer@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/electron-devtools-installer/-/electron-devtools-installer-2.2.4.tgz#261a50337e37121d338b966f07922eb4939a8763" + integrity sha512-b5kcM3hmUqn64+RUcHjjr8ZMpHS2WJ5YO0pnG9+P/RTdx46of/JrEjuciHWux6pE+On6ynWhHJF53j/EDJN0PA== + dependencies: + "7zip" "0.0.6" + cross-unzip "0.0.2" + rimraf "^2.5.2" + semver "^5.3.0" + electron-publish@22.3.2: version "22.3.2" resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.3.2.tgz#d2e60caf7a9643fe57e501c20acaf32c737b1c50" @@ -4619,6 +5256,11 @@ electron-to-chromium@^1.3.284: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.292.tgz#7812fc5138619342f1dd5823df6e9cbb7d2820e9" integrity sha512-hqkem5ANpt6mxVXmhAmlbdG8iicuyM/jEYgmP1tiHPeOLyZoTyGUzrDmJS/xyrrZy9frkW1uQcubicu7f6DS5g== +electron-to-chromium@^1.3.363: + version "1.3.376" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.376.tgz#7cb7b5205564a06c8f8ecfbe832cbd47a1224bb1" + integrity sha512-cv/PYVz5szeMz192ngilmezyPNFkUjuynuL2vNdiqIrio440nfTDdc0JJU0TS2KHLSVCs9gBbt4CFqM+HcBnjw== + electron@8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/electron/-/electron-8.0.1.tgz#7f5070a1625f423cddcece25a1eb9e6d2f1339fb" @@ -4628,6 +5270,11 @@ electron@8.0.1: "@types/node" "^12.0.12" extract-zip "^1.0.3" +"emoji-regex@>=6.0.0 <=6.1.1": + version "6.1.1" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz#c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e" + integrity sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4= + emoji-regex@^7.0.1, emoji-regex@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -4658,7 +5305,7 @@ encoding@^0.1.11: dependencies: iconv-lite "~0.4.13" -end-of-stream@^1.0.0, end-of-stream@^1.1.0: +end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -4938,6 +5585,13 @@ eslint-plugin-flowtype@^4.3.0: dependencies: lodash "^4.17.15" +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" + integrity sha512-W5hLjpFfZyZsXfo5anlu7HM970JBDqbEshAJUkeczP6BFCIfJXuiIBQXyberLRtOStT0OGPF8efeTbxlHk4LpQ== + dependencies: + lodash "^4.17.15" + eslint-plugin-header@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/eslint-plugin-header/-/eslint-plugin-header-3.0.0.tgz#0e048b5f0adfdd9754142d59d551ae6bfdaf90ad" @@ -4961,7 +5615,7 @@ eslint-plugin-import@^2.19.1: read-pkg-up "^2.0.0" resolve "^1.12.0" -eslint-plugin-jsx-a11y@^6.0.3: +eslint-plugin-jsx-a11y@^6.0.3, eslint-plugin-jsx-a11y@^6.2.3: version "6.2.3" resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" integrity sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg== @@ -4976,7 +5630,7 @@ eslint-plugin-jsx-a11y@^6.0.3: has "^1.0.3" jsx-ast-utils "^2.2.1" -eslint-plugin-prettier@^3.1.2: +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" integrity sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA== @@ -5030,6 +5684,49 @@ eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== +eslint@^6.6.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^1.4.3" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.14" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.3" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + eslint@^6.7.0: version "6.7.2" resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.7.2.tgz#c17707ca4ad7b2d8af986a33feba71e18a9fecd1" @@ -5136,6 +5833,32 @@ exec-sh@^0.3.2: resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== +execa@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" + integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== + dependencies: + cross-spawn "^6.0.0" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.5.1.tgz#de3fb85cb8d6e91c85bcbceb164581785cb57b36" + integrity sha1-3j+4XLjW6RyFvLzrFkWBeFy1ezY= + dependencies: + cross-spawn "^4.0.0" + get-stream "^2.2.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + execa@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" @@ -5311,6 +6034,11 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" +extract-stack@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/extract-stack/-/extract-stack-1.0.0.tgz#b97acaf9441eea2332529624b732fc5a1c8165fa" + integrity sha1-uXrK+UQe6iMyUpYktzL8WhyBZfo= + extract-zip@^1.0.3: version "1.6.7" resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9" @@ -5519,6 +6247,13 @@ find-yarn-workspace-root@^1.2.1: fs-extra "^4.0.3" micromatch "^3.1.4" +fix-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/fix-path/-/fix-path-3.0.0.tgz#c6b82fd5f5928e520b392a63565ebfef0ddf037e" + integrity sha512-opGAl4+ip5jUikHR2C8Jo7czZ80pz8EK/0gMlAZu7xgDmBqIynlX8SMYg9KowYjAU6HT0nxsSJEWru0u+n+N2Q== + dependencies: + shell-path "^2.1.0" + flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -5533,15 +6268,6 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== -flipper-doctor@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/flipper-doctor/-/flipper-doctor-0.7.0.tgz#642aca4004add6e94e29fa69e5ea58b5ab7b724a" - integrity sha512-cdT/nXiRkJH3Y2HYr3rCZyjOgk/+hLry4QYxp7gvKhKA6Nvy4SiPgSCae2aBTdFSe1KoQeqD3mFURrkVlZcsWg== - dependencies: - "@types/node" "^12.12.12" - envinfo "^7.4.0" - fb-watchman "^2.0.1" - flow-bin@^0.120.1: version "0.120.1" resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.120.1.tgz#ab051d6df71829b70a26a2c90bb81f9d43797cae" @@ -5626,7 +6352,16 @@ fs-extra@^4.0.3: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^7.0.1: +fs-extra@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b" + integrity sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^7.0.0, fs-extra@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== @@ -5759,6 +6494,13 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" +github-slugger@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.3.0.tgz#9bd0a95c5efdfc46005e82a906ef8e2a059124c9" + integrity sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q== + dependencies: + emoji-regex ">=6.0.0 <=6.1.1" + glob-parent@^5.0.0, glob-parent@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" @@ -5853,6 +6595,20 @@ globalyzer@^0.1.0: resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.4.tgz#bc8e273afe1ac7c24eea8def5b802340c5cc534f" integrity sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA== +globby@^10: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + globby@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22" @@ -5965,6 +6721,11 @@ has-cors@1.1.0: resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -6103,6 +6864,18 @@ http-cache-semantics@^4.0.0: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5" integrity sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew== +http-call@^5.1.2: + version "5.3.0" + resolved "https://registry.yarnpkg.com/http-call/-/http-call-5.3.0.tgz#4ded815b13f423de176eb0942d69c43b25b148db" + integrity sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w== + dependencies: + content-type "^1.0.4" + debug "^4.1.1" + is-retry-allowed "^1.1.0" + is-stream "^2.0.0" + parse-json "^4.0.0" + tunnel-agent "^0.6.0" + http-errors@1.7.2: version "1.7.2" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" @@ -6139,6 +6912,11 @@ human-signals@^1.1.1: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== +hyperlinker@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hyperlinker/-/hyperlinker-1.0.0.tgz#23dc9e38a206b208ee49bc2d6c8ef47027df0c0e" + integrity sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== + iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -6211,6 +6989,14 @@ import-lazy@^2.1.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + import-local@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" @@ -6224,6 +7010,11 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= +indent-string@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + indent-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" @@ -6276,6 +7067,25 @@ inquirer@^7.0.0: strip-ansi "^5.1.0" through "^2.3.6" +inquirer@^7.0.5: + version "7.1.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29" + integrity sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^3.0.0" + cli-cursor "^3.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.5.3" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + into-stream@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-5.1.1.tgz#f9a20a348a11f3c13face22763f2d02e127f4db8" @@ -6560,6 +7370,11 @@ is-plain-obj@^1.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= +is-plain-obj@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -6584,7 +7399,7 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" -is-retry-allowed@^1.0.0: +is-retry-allowed@^1.0.0, is-retry-allowed@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== @@ -6646,6 +7461,11 @@ is-word-character@^1.0.0: resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.3.tgz#264d15541cbad0ba833d3992c34e6b40873b08aa" integrity sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A== +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + is-wsl@^2.1.0, is-wsl@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" @@ -6706,7 +7526,7 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istanbul-lib-coverage@^2.0.5: +istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== @@ -6716,7 +7536,7 @@ istanbul-lib-coverage@^3.0.0: resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== -istanbul-lib-instrument@^3.3.0: +istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== @@ -6742,6 +7562,15 @@ istanbul-lib-instrument@^4.0.0: istanbul-lib-coverage "^3.0.0" semver "^6.3.0" +istanbul-lib-report@^2.0.4: + version "2.0.8" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" + integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== + dependencies: + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + supports-color "^6.1.0" + istanbul-lib-report@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" @@ -6751,6 +7580,17 @@ istanbul-lib-report@^3.0.0: make-dir "^3.0.0" supports-color "^7.1.0" +istanbul-lib-source-maps@^3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" + integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + rimraf "^2.6.3" + source-map "^0.6.1" + istanbul-lib-source-maps@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" @@ -6760,6 +7600,13 @@ istanbul-lib-source-maps@^4.0.0: istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" +istanbul-reports@^2.2.6: + version "2.2.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" + integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== + dependencies: + html-escaper "^2.0.0" + istanbul-reports@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.0.tgz#d4d16d035db99581b6194e119bbf36c963c5eb70" @@ -6773,6 +7620,15 @@ iterall@^1.2.2: resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" integrity sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA== +jest-changed-files@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" + integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== + dependencies: + "@jest/types" "^24.9.0" + execa "^1.0.0" + throat "^4.0.0" + jest-changed-files@^25.1.0: version "25.1.0" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.1.0.tgz#73dae9a7d9949fdfa5c278438ce8f2ff3ec78131" @@ -6782,6 +7638,25 @@ jest-changed-files@^25.1.0: execa "^3.2.0" throat "^5.0.0" +jest-cli@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" + integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== + dependencies: + "@jest/core" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + import-local "^2.0.0" + is-ci "^2.0.0" + jest-config "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + prompts "^2.0.1" + realpath-native "^1.1.0" + yargs "^13.3.0" + jest-cli@^25.1.0: version "25.1.0" resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.1.0.tgz#75f0b09cf6c4f39360906bf78d580be1048e4372" @@ -6847,7 +7722,7 @@ jest-config@^25.1.0: pretty-format "^25.1.0" realpath-native "^1.1.0" -jest-diff@^24.9.0: +jest-diff@^24.3.0, jest-diff@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== @@ -7142,6 +8017,15 @@ jest-regex-util@^25.1.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.1.0.tgz#efaf75914267741838e01de24da07b2192d16d87" integrity sha512-9lShaDmDpqwg+xAd73zHydKrBbbrIi08Kk9YryBEBybQFg/lBWR/2BDjjiSE7KIppM9C5+c03XiDaZ+m4Pgs1w== +jest-resolve-dependencies@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" + integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== + dependencies: + "@jest/types" "^24.9.0" + jest-regex-util "^24.3.0" + jest-snapshot "^24.9.0" + jest-resolve-dependencies@^25.1.0: version "25.1.0" resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.1.0.tgz#8a1789ec64eb6aaa77fd579a1066a783437e70d2" @@ -7383,6 +8267,19 @@ jest-validate@^25.1.0: leven "^3.1.0" pretty-format "^25.1.0" +jest-watcher@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" + integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== + dependencies: + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + jest-util "^24.9.0" + string-length "^2.0.0" + jest-watcher@^25.1.0: version "25.1.0" resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.1.0.tgz#97cb4a937f676f64c9fad2d07b824c56808e9806" @@ -7411,6 +8308,14 @@ jest-worker@^25.1.0: merge-stream "^2.0.0" supports-color "^7.0.0" +jest@^24.7.1, jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" + integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== + dependencies: + import-local "^2.0.0" + jest-cli "^24.9.0" + jest@^25.1.0: version "25.1.0" resolved "https://registry.yarnpkg.com/jest/-/jest-25.1.0.tgz#b85ef1ddba2fdb00d295deebbd13567106d35be9" @@ -7749,6 +8654,13 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== +levenary@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" + integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== + dependencies: + leven "^3.1.0" + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -7762,6 +8674,11 @@ line-replace@^1.0.2: resolved "https://registry.yarnpkg.com/line-replace/-/line-replace-1.0.2.tgz#b1995da54060d671c449196fa228395f0faaea47" integrity sha1-sZldpUBg1nHESRlvoig5Xw+q6kc= +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + linked-list@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/linked-list/-/linked-list-0.1.0.tgz#798b0ff97d1b92a4fd08480f55aea4e9d49d37bf" @@ -7807,6 +8724,16 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" +load-json-file@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" + integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== + dependencies: + graceful-fs "^4.1.15" + parse-json "^5.0.0" + strip-bom "^4.0.0" + type-fest "^0.6.0" + load-script@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/load-script/-/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4" @@ -7842,6 +8769,11 @@ lockfile@^1.0.4: dependencies: signal-exit "^3.0.2" +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" @@ -7862,7 +8794,7 @@ lodash.isplainobject@^4.0.6: resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= -lodash.memoize@4.x: +lodash.memoize@4.x, lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= @@ -7872,6 +8804,21 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= +lodash.template@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.throttle@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" @@ -7928,7 +8875,7 @@ make-dir@^1.0.0: dependencies: pify "^3.0.0" -make-dir@^2.0.0: +make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== @@ -7960,7 +8907,7 @@ makeerror@1.0.x: dependencies: tmpl "1.0.x" -map-age-cleaner@^0.1.1: +map-age-cleaner@^0.1.1, map-age-cleaner@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== @@ -8017,6 +8964,14 @@ mem@^4.0.0: mimic-fn "^2.0.0" p-is-promise "^2.0.0" +mem@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/mem/-/mem-6.0.1.tgz#3f8ad1b0f8c4e00daf07f104e95b9d78131d7908" + integrity sha512-uIRYASflIsXqvKe+7aXbLrydaRzz4qiK6amqZDQI++eRtW3UoKtnDcGeCAOREgll7YMxO5E4VB9+3B0LFmy96g== + dependencies: + map-age-cleaner "^0.1.3" + mimic-fn "^3.0.0" + "memoize-one@>=3.1.1 <6": version "5.1.1" resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0" @@ -8325,6 +9280,11 @@ mimic-fn@^2.0.0, mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +mimic-fn@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.0.0.tgz#76044cfa8818bbf6999c5c9acadf2d3649b14b4b" + integrity sha512-PiVO95TKvhiwgSwg1IdLYlCTdul38yZxZMIcnDSFIBUm4BNZha2qpQ4GpJ++15bHoKDtrW2D69lMfFwdFYtNZQ== + mimic-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" @@ -8462,6 +9422,11 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= +natural-orderby@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/natural-orderby/-/natural-orderby-2.0.3.tgz#8623bc518ba162f8ff1cdb8941d74deb0fdcc016" + integrity sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== + needle@^2.2.1: version "2.4.0" resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" @@ -8535,6 +9500,17 @@ node-modules-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= +node-notifier@^5.4.2: + version "5.4.3" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" + integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== + dependencies: + growly "^1.3.0" + is-wsl "^1.1.0" + semver "^5.5.0" + shellwords "^0.1.1" + which "^1.3.0" + node-notifier@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" @@ -8569,6 +9545,13 @@ node-releases@^1.1.36: dependencies: semver "^6.3.0" +node-releases@^1.1.50: + version "1.1.52" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.52.tgz#bcffee3e0a758e92e44ecfaecd0a47554b0bcba9" + integrity sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ== + dependencies: + semver "^6.3.0" + nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -8891,6 +9874,13 @@ p-defer@^1.0.0: resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= +p-each-series@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" + integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= + dependencies: + p-reduce "^1.0.0" + p-each-series@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" @@ -8958,6 +9948,11 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" +p-reduce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= + p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -9029,6 +10024,16 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-json@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" + integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + lines-and-columns "^1.1.6" + parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" @@ -9068,6 +10073,14 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= +password-prompt@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/password-prompt/-/password-prompt-1.1.2.tgz#85b2f93896c5bd9e9f2d6ff0627fa5af3dc00923" + integrity sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA== + dependencies: + ansi-escapes "^3.1.0" + cross-spawn "^6.0.5" + patch-package@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.2.0.tgz#677de858e352b6ca4e6cb48a6efde2cec9fde566" @@ -9431,6 +10444,25 @@ pupa@^2.0.1: dependencies: escape-goat "^2.0.0" +qqjs@^0.3.10: + version "0.3.11" + resolved "https://registry.yarnpkg.com/qqjs/-/qqjs-0.3.11.tgz#795b9f7d00807d75c391b1241b5be3077143d9ea" + integrity sha512-pB2X5AduTl78J+xRSxQiEmga1jQV0j43jOPs/MTgTLApGFEOn6NgdE2dEjp7nvDtjkIOZbvFIojAiYUx6ep3zg== + dependencies: + chalk "^2.4.1" + debug "^4.1.1" + execa "^0.10.0" + fs-extra "^6.0.1" + get-stream "^5.1.0" + glob "^7.1.2" + globby "^10.0.1" + http-call "^5.1.2" + load-json-file "^6.2.0" + pkg-dir "^4.2.0" + tar-fs "^2.0.0" + tmp "^0.1.0" + write-json-file "^4.1.1" + qs@6.7.0: version "6.7.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" @@ -9705,6 +10737,15 @@ readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.3.0, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@^3.1.1, readable-stream@^3.4.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + realpath-native@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" @@ -9722,13 +10763,20 @@ recast@^0.16.1: private "~0.1.5" source-map "~0.6.1" -recursive-readdir@^2.2.2: +recursive-readdir@2.2.2, recursive-readdir@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== dependencies: minimatch "3.0.4" +redeyed@~2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" + integrity sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs= + dependencies: + esprima "~4.0.0" + redux-devtools-core@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/redux-devtools-core/-/redux-devtools-core-0.2.1.tgz#4e43cbe590a1f18c13ee165d2d42e0bc77a164d8" @@ -9780,6 +10828,13 @@ regenerate-unicode-properties@^8.1.0: dependencies: regenerate "^1.4.0" +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + regenerate@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" @@ -9848,6 +10903,18 @@ regexpu-core@^4.6.0: unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.1.0" +regexpu-core@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" + integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + registry-auth-token@^3.0.1: version "3.4.0" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" @@ -9878,7 +10945,7 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" -regjsgen@^0.5.0: +regjsgen@^0.5.0, regjsgen@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== @@ -9890,6 +10957,13 @@ regjsparser@^0.6.0: dependencies: jsesc "~0.5.0" +regjsparser@^0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" + integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== + dependencies: + jsesc "~0.5.0" + remark-parse@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95" @@ -10030,6 +11104,13 @@ require-main-filename@^2.0.0: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" @@ -10120,7 +11201,7 @@ rimraf@2.6.3: dependencies: glob "^7.1.3" -rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: +rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -10213,6 +11294,13 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" +run-async@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.0.tgz#e59054a5b86876cfae07f431d18cbaddc594f1e8" + integrity sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg== + dependencies: + is-promise "^2.1.0" + run-parallel@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" @@ -10232,12 +11320,19 @@ rxjs@^6.4.0: dependencies: tslib "^1.9.0" +rxjs@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" + integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== + dependencies: + tslib "^1.9.0" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2: +safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== @@ -10344,6 +11439,11 @@ semver-diff@^3.1.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + semver@^6.0.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" @@ -10458,6 +11558,22 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== +shell-env@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/shell-env/-/shell-env-0.3.0.tgz#2250339022989165bda4eb7bf383afeaaa92dc34" + integrity sha1-IlAzkCKYkWW9pOt784Ov6qqS3DQ= + dependencies: + default-shell "^1.0.0" + execa "^0.5.0" + strip-ansi "^3.0.0" + +shell-path@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/shell-path/-/shell-path-2.1.0.tgz#ea7d06ae1070874a1bac5c65bb9bdd62e4f67a38" + integrity sha1-6n0GrhBwh0obrFxlu5vdYuT2ejg= + dependencies: + shell-env "^0.3.0" + shell-quote@^1.6.1: version "1.7.2" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" @@ -10611,6 +11727,13 @@ socketcluster-client@^14.2.1: uuid "3.2.1" ws "7.1.0" +sort-keys@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-4.0.0.tgz#56dc5e256637bfe3fec8db0dc57c08b1a2be22d6" + integrity sha512-hlJLzrn/VN49uyNkZ8+9b+0q9DjmmYcYOnbMQtpkLrYpPwRApDPZfmqbUfJnAA3sb/nRib+nDot7Zi/1ER1fuA== + dependencies: + is-plain-obj "^2.0.0" + source-map-resolve@^0.5.0: version "0.5.2" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" @@ -10773,6 +11896,14 @@ strict-uri-encode@^2.0.0: resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= +string-length@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" + string-length@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" @@ -10837,6 +11968,13 @@ string.prototype.trimright@^2.1.0: define-properties "^1.1.3" function-bind "^1.1.1" +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -10921,7 +12059,7 @@ supports-color@^2.0.0: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^5.3.0: +supports-color@^5.0.0, supports-color@^5.3.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -10942,6 +12080,14 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-hyperlinks@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz#71daedf36cc1060ac5100c351bb3da48c29c0ef7" + integrity sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw== + dependencies: + has-flag "^2.0.0" + supports-color "^5.0.0" + supports-hyperlinks@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" @@ -10975,6 +12121,16 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" +tar-fs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.0.tgz#677700fc0c8b337a78bee3623fdc235f21d7afad" + integrity sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA== + dependencies: + chownr "^1.1.1" + mkdirp "^0.5.1" + pump "^3.0.0" + tar-stream "^2.0.0" + tar-stream@^1.5.2: version "1.6.2" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" @@ -10988,6 +12144,17 @@ tar-stream@^1.5.2: to-buffer "^1.1.1" xtend "^4.0.0" +tar-stream@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.2.tgz#6d5ef1a7e5783a95ff70b69b97455a5968dc1325" + integrity sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q== + dependencies: + bl "^4.0.1" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + tar@^4: version "4.4.13" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" @@ -11126,6 +12293,13 @@ tmp@0.0.33, tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" +tmp@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877" + integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw== + dependencies: + rimraf "^2.6.3" + tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" @@ -11220,6 +12394,11 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" +treeify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" + integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== + trim-trailing-lines@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz#d2f1e153161152e9f02fabc670fb40bec2ea2e3a" @@ -11242,6 +12421,22 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" +ts-jest@^24.1.0: + version "24.3.0" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.3.0.tgz#b97814e3eab359ea840a1ac112deae68aa440869" + integrity sha512-Hb94C/+QRIgjVZlJyiWwouYUF+siNJHJHknyspaOcZ+OQAIdFG/UrdQVXw/0B8Z3No34xkUXZJpOTy9alOWdVQ== + 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 "0.x" + resolve "1.x" + semver "^5.5" + yargs-parser "10.x" + ts-jest@^25.1.0: version "25.1.0" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.1.0.tgz#06e776c4cce8a4da8eec4945f36a5823d0c0f9ba" @@ -11258,7 +12453,7 @@ ts-jest@^25.1.0: semver "^5.5" yargs-parser "10.x" -ts-node@^8.6.2: +ts-node@^8, ts-node@^8.6.2: version "8.6.2" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.6.2.tgz#7419a01391a818fbafa6f826a33c1a13e9464e35" integrity sha512-4mZEbofxGqLL2RImpe3zMJukvEvcO1XP8bj8ozBPySdCUXEcU5cIRwR0aM3R+VoZq7iXc8N86NC0FspGRqP4gg== @@ -11279,11 +12474,21 @@ tsconfig-paths@^3.9.0: minimist "^1.2.0" strip-bom "^3.0.0" +tslib@^1, tslib@^1.9.3: + version "1.11.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" + integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== + tslib@^1.8.1, tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== +tslint-config-prettier@^1.18.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz#75f140bde947d35d8f0d238e0ebf809d64592c37" + integrity sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg== + tsutils@^3.17.1: version "3.17.1" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" @@ -11325,6 +12530,11 @@ type-fest@^0.5.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2" integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw== +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + type-fest@^0.8.0, type-fest@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" @@ -11417,6 +12627,11 @@ unicode-match-property-value-ecmascript@^1.1.0: resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + unicode-property-aliases-ecmascript@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" @@ -11602,7 +12817,7 @@ utf8-byte-length@^1.0.1: resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" integrity sha1-9F8VDExm7uloGGUFq5P8u4rWv2E= -util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= @@ -11803,7 +13018,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.2.9, which@^1.3.1: +which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -11824,7 +13039,7 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" -widest-line@^2.0.0: +widest-line@^2.0.0, widest-line@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== @@ -11856,6 +13071,15 @@ wrap-ansi@^2.0.0: string-width "^1.0.1" strip-ansi "^3.0.1" +wrap-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-4.0.0.tgz#b3570d7c70156159a2d42be5cc942e957f7b1131" + integrity sha512-uMTsj9rDb0/7kk1PbcbCcwvHUxp60fGDB/NNXpVa0Q+ic/e7y5+BwTxKfQ33VYgDppSwi/FBzpetYzo8s6tfbg== + dependencies: + ansi-styles "^3.2.0" + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" @@ -11916,6 +13140,18 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" +write-json-file@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-4.3.0.tgz#908493d6fd23225344af324016e4ca8f702dd12d" + integrity sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ== + dependencies: + detect-indent "^6.0.0" + graceful-fs "^4.1.15" + is-plain-obj "^2.0.0" + make-dir "^3.0.0" + sort-keys "^4.0.0" + write-file-atomic "^3.0.0" + write@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" @@ -11945,18 +13181,13 @@ ws@^5.2.0: dependencies: async-limiter "~1.0.0" -ws@^7, ws@^7.1.2: +ws@^7, ws@^7.0.0, ws@^7.1.2, ws@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.0.tgz#422eda8c02a4b5dba7744ba66eebbd84bcef0ec7" integrity sha512-+SqNqFbwTm/0DC18KYzIsMTnEWpLwJsiasW/O17la4iDRRIO9uaHbvKiAS3AHgTiuuWerK/brj4O6MYZkei9xg== dependencies: async-limiter "^1.0.0" -ws@^7.0.0, ws@^7.2.0: - version "7.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.1.tgz#03ed52423cd744084b2cf42ed197c8b65a936b8e" - integrity sha512-sucePNSafamSKoOqoNfBd8V0StlkzJKL2ZAhGQinCfNQ+oacw+Pk7lcdAElecBF2VkLNZRiIb5Oi1Q5lVUVt2A== - ws@~6.1.0: version "6.1.4" resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9"