From e0ab7a611f23ca9bdc522089bf64645f203574bd Mon Sep 17 00:00:00 2001 From: Gauthier Pogam--Le Montagner Date: Fri, 16 Nov 2018 17:11:56 +0100 Subject: [PATCH] Update dependencies & flow definitions (#441) --- flow-libs/atom.js.flow | 97 +- flow-libs/electron-v2.0.9.js.flow | 3652 +++++++++++++++++ flow-libs/electron.js.flow | 925 ----- flow-typed/npm/babel-polyfill_v6.x.x.js | 4 + flow-typed/npm/babel-register_v6.x.x.js | 44 + .../npm/enzyme-adapter-react-16_vx.x.x.js | 53 + flow-typed/npm/enzyme_v3.x.x.js | 9 +- .../npm/inline-style-prefixer_v3.x.x.js | 19 - flow-typed/npm/jest_v22.x.x.js | 988 ----- flow-typed/npm/mocha_v5.x.x.js | 5 +- flow-typed/npm/moment_v2.3.x.js | 329 -- flow-typed/npm/moment_v2.x.x.js | 376 ++ flow-typed/npm/prettier_v1.x.x.js | 48 +- flow-typed/npm/radium_v0.19.x.js | 137 - .../npm/react-addons-test-utils_v15.x.x.js | 61 - .../npm/react-dnd-html5-backend_v2.x.x.js | 21 - flow-typed/npm/react-dnd_v2.x.x.js | 207 - flow-typed/npm/react-redux_v5.x.x.js | 129 +- flow-typed/npm/react-test-renderer_v16.x.x.js | 28 +- flow-typed/npm/recompose_v0.x.x.js | 482 --- flow-typed/npm/redux-mock-store_v1.2.x.js | 10 +- flow-typed/npm/rxjs_v5.0.x.js | 9 +- flow-typed/npm/styled-components_v3.x.x.js | 45 +- flow-typed/npm/xterm_v3.x.x.js | 258 ++ .../Model/watchmanSubscriptions.js | 32 +- .../ActionSystemFeature/Presenters/Term.js | 4 +- .../Presenters/ConsoleTraveller.js | 2 +- .../ControlPanelFeature/Presenters/Section.js | 13 +- .../Presenters/DiagnosticDetailsFlow.js | 2 +- .../Presenters/DiagnosticsPanel.js | 44 +- .../Presenters/DiagnosticsSummaryCircle.js | 2 +- .../Model/LanguageClientConnection.js | 4 +- .../Model/LanguageServerConnection.js | 4 +- .../__snapshots__/PlanConfigList.test.js.snap | 4 +- .../Plugins/ReactNative.js | 206 - .../Containers/QuestionsConnecter.js | 9 +- .../Presenters/Questions.js | 29 +- .../TaskExecutionFeature/Reducers/Tasks.js | 229 +- .../TaskExecutionFeature/Selectors/Tasks.js | 5 +- .../PackageFeature/Epics/Packages.js | 5 +- .../PackageFeature/Reducers/Packages.js | 13 +- lib/molecule-dev-environment.js | 6 - package.json | 41 +- testsUI/spec.js | 88 - yarn.lock | 1636 ++------ 45 files changed, 5268 insertions(+), 5046 deletions(-) create mode 100644 flow-libs/electron-v2.0.9.js.flow delete mode 100644 flow-libs/electron.js.flow create mode 100644 flow-typed/npm/babel-polyfill_v6.x.x.js create mode 100644 flow-typed/npm/babel-register_v6.x.x.js create mode 100644 flow-typed/npm/enzyme-adapter-react-16_vx.x.x.js delete mode 100644 flow-typed/npm/inline-style-prefixer_v3.x.x.js delete mode 100644 flow-typed/npm/jest_v22.x.x.js delete mode 100644 flow-typed/npm/moment_v2.3.x.js create mode 100644 flow-typed/npm/moment_v2.x.x.js delete mode 100644 flow-typed/npm/radium_v0.19.x.js delete mode 100644 flow-typed/npm/react-addons-test-utils_v15.x.x.js delete mode 100644 flow-typed/npm/react-dnd-html5-backend_v2.x.x.js delete mode 100644 flow-typed/npm/react-dnd_v2.x.x.js delete mode 100644 flow-typed/npm/recompose_v0.x.x.js create mode 100644 flow-typed/npm/xterm_v3.x.x.js delete mode 100644 lib/ExecutionControlEpic/Plugins/ReactNative.js delete mode 100644 testsUI/spec.js diff --git a/flow-libs/atom.js.flow b/flow-libs/atom.js.flow index 00cdeb02..01548c44 100644 --- a/flow-libs/atom.js.flow +++ b/flow-libs/atom.js.flow @@ -133,6 +133,12 @@ declare class atom$CompositeDisposable { clear(): void, } +type atom$ConfigParams = { + saveCallback?: Object => void, + mainSource?: string, + projectHomeSchema?: atom$ConfigSchema, +}; + type atom$ConfigType = 'boolean' | 'string' | 'integer' | 'number' | 'array' | 'object' | 'color' | 'any'; @@ -149,6 +155,9 @@ type atom$ConfigSchema = { }; declare class atom$Config { + defaultSettings: Object, + settings: Object, + // Config Subscription observe( keyPath: string, @@ -198,6 +207,7 @@ declare class atom$Config { getUserConfigPath(): string, // Undocumented Methods + constructor(params?: atom$ConfigParams): atom$Config, getRawValue(keyPath: ?string, options: {excludeSources?: string, sources?: string}): mixed, getSchema(keyPath: string): atom$ConfigSchema, save(): void, @@ -207,9 +217,16 @@ declare class atom$Config { schema: atom$ConfigSchema, ): void, removeAtKeyPath(keyPath: ?string, value: ?mixed): mixed, + + // Used by nuclide-config to set the initial settings from disk + resetUserSettings(newSettings: Object, options?: {source?: string}): void, } declare class atom$Cursor { + // Cursor Marker + marker: atom$Marker; + editor: atom$TextEditor; + // Event Subscription onDidChangePosition( callback: (event: { @@ -229,6 +246,8 @@ declare class atom$Cursor { // Cursor Position Details // Moving the Cursor + moveUp(rowCount: number, {moveToEndOfSelection?: boolean}): void, + moveDown(rowCount: number, {moveToEndOfSelection?: boolean}): void, // Local Positions and Ranges getCurrentWordBufferRange(options?: {wordRegex: RegExp}): atom$Range, @@ -259,6 +278,7 @@ declare class atom$DisplayMarkerLayer { markBufferRange(range: atom$Range | atom$RangeLike, options?: MarkerOptions): atom$Marker, findMarkers(options: MarkerOptions): Array, getMarkers(): Array, + onDidUpdate(callback: () => mixed): IDisposable } declare class atom$LayerDecoration { @@ -293,7 +313,7 @@ declare class atom$Gutter { destroy(): void, decorateMarker( marker: atom$Marker, - options?: {'class'?: string, item?: Object | HTMLElement}, + options?: {type?: string, 'class'?: string, item?: Object | HTMLElement}, ): atom$Decoration, show(): void, hide(): void, @@ -323,6 +343,7 @@ declare class atom$Marker { isValid(): boolean, isDestroyed(): boolean, onDidDestroy(callback: () => mixed): IDisposable, + getScreenRange(): atom$Range, setBufferRange( range: atom$RangeLike, properties?: {reversed: boolean}, @@ -373,6 +394,7 @@ declare class atom$PackageManager { getActivePackage(name: string): ?atom$Package, getActivePackages(): Array, isPackageActive(name: string): boolean, + hasActivatedInitialPackages(): boolean, // Activating and deactivating packages activatePackage(name: string): Promise, @@ -440,6 +462,9 @@ declare class atom$applicationDelegate { devMode?: boolean, safeMode?: boolean, }): void, + + // Used by nuclide-config to replicate atom.config saveCallback + setUserSettings(config: atom$Config, configFilePath: string): Promise; } type atom$PaneParams = { @@ -465,7 +490,7 @@ declare class atom$Pane { activateItem(item: Object): ?Object, activateItemAtIndex(index: number): void, moveItemToPane(item: Object, pane: atom$Pane, index: number): void, - destroyItem(item: Object, force?: boolean): boolean | Promise, + destroyItem(item: Object, force?: boolean): Promise, itemForURI(uri: string): Object, // Event subscriptions. @@ -500,6 +525,7 @@ declare class atom$Pane { setPendingItem(item: atom$PaneItem): void, clearPendingItem(): void, getFlexScale(): number, + getElement(): HTMLElement, getParent(): Object, removeItem(item: Object, moved: ?boolean): void, setActiveItem(item: Object): Object, @@ -775,6 +801,9 @@ type DecorateMarkerParams = { type: 'block', item: HTMLElement, position?: 'before' | 'after', // Defaults to 'before' when unspecified. +} | { + type: 'line-number', + class?: string, }; type ChangeCursorPositionEvent = { @@ -811,6 +840,8 @@ declare class atom$TextEditor extends atom$Model { onDidStopChanging(callback: () => mixed): IDisposable, onDidChangeCursorPosition(callback: (event: ChangeCursorPositionEvent) => mixed): IDisposable, + onDidAddCursor(callback: (cursor: atom$Cursor) => mixed): IDisposable; + onDidRemoveCursor(callback: (cursor: atom$Cursor) => mixed): IDisposable; onDidDestroy(callback: () => mixed): IDisposable, onDidSave(callback: (event: {path: string}) => mixed): IDisposable, getBuffer(): atom$TextBuffer, @@ -853,6 +884,7 @@ declare class atom$TextEditor extends atom$Model { getText(): string, getTextInBufferRange(range: atom$RangeLike): string, getLineCount(): number, + getScreenLineCount(): number, getLastScreenRow(): number, // Mutating Text @@ -1105,6 +1137,7 @@ declare class atom$TextEditorComponent { setScrollLeft(scrollLeft: number): void, getScrollLeft(): number, + updateSync(useScheduler?: boolean): void, } /** @@ -1235,11 +1268,22 @@ type AddTextEditorEvent = { index: number, }; +type atom$WorkspaceOpenOptions = { + activatePane?: ?boolean, + activateItem?: ?boolean, + initialLine?: ?number, + initialColumn?: ?number, + pending?: ?boolean, + split?: ?string, + searchAllPanes?: ?boolean, + location?: atom$PaneLocation, +} + declare class atom$Workspace { // Event Subscription observePanes(cb: (pane: atom$Pane) => void): IDisposable, observeTextEditors(callback: (editor: atom$TextEditor) => mixed): IDisposable, - observeActiveTextEditor(callback: (editor: atom$TextEditor) => mixed): IDisposable, + observeActiveTextEditor(callback: (editor: ?atom$TextEditor) => mixed): IDisposable, onDidAddTextEditor(callback: (event: AddTextEditorEvent) => mixed): IDisposable, onDidChangeActivePaneItem(callback: (item: mixed) => mixed): IDisposable, onDidDestroyPaneItem(callback: (event: DestroyPaneItemEvent) => mixed): IDisposable, @@ -1257,14 +1301,7 @@ declare class atom$Workspace { // Opening open( uri?: string, - options?: { - activatePane?: ?boolean, - initialLine?: ?number, - initialColumn?: ?number, - pending?: ?boolean, - split?: ?string, - searchAllPanes?: ?boolean, - } + options?: atom$WorkspaceOpenOptions, ): Promise, openURIInPane( uri?: string, @@ -1278,7 +1315,7 @@ declare class atom$Workspace { ): Promise, isTextEditor(item: ?mixed): boolean, /* Optional method because this was added post-1.0. */ - buildTextEditor: ((params: atom$TextEditorParams) => atom$TextEditor), + buildTextEditor: ((params: ?atom$TextEditorParams) => atom$TextEditor), /* Optional method because this was added in 1.9.0 */ handleGrammarUsed?: (grammar: atom$Grammar) => void, reopenItem(): Promise, @@ -1293,8 +1330,10 @@ declare class atom$Workspace { // Pane Items getPaneItems(): Array, getActivePaneItem(): ?Object, + getActivePaneContainer(): atom$PaneContainer, getTextEditors(): Array, getActiveTextEditor(): ?atom$TextEditor, + createItemForURI(uri: string, options: atom$WorkspaceOpenOptions): atom$PaneItem, // Panes getPanes(): Array, @@ -1303,6 +1342,7 @@ declare class atom$Workspace { activatePreviousPane(): boolean, paneForURI(uri: string): atom$Pane, paneForItem(item: mixed): ?atom$Pane, + paneContainers: {[location: atom$PaneLocation]: atom$AbstractPaneContainer}, // Panels panelContainers: {[location: string]: atom$PanelContainer}, @@ -1565,6 +1605,13 @@ declare class atom$Grammar { name: string, scopeName: string, tokenizeLines(text: string): Array>, + tokenizeLine(line: string, ruleStack: mixed, firstLine: boolean): { + line: string, + tags: Array, + // Dynamic property: invoking it will incur additional overhead + tokens: Array, + ruleStack: mixed + }, } type atom$GrammarToken = { @@ -1584,6 +1631,10 @@ declare class atom$GrammarRegistry { autoAssignLanguageMode(buffer: atom$TextBuffer): void, assignLanguageMode(buffer: atom$TextBuffer, languageId: string): void, + // Extended + getGrammarScore(grammar: atom$Grammar, filePath: string, contents?: string): number, + forEachGrammar(callback: (grammar: atom$Grammar) => mixed): void, + // Private API clear(): IDisposable, } @@ -1847,6 +1898,7 @@ declare class atom$TextBuffer { getLastRow(): number, getRange(): atom$Range, rangeForRow(row: number, includeNewLine?: boolean): atom$Range, + getLength(): number, // Position/Index mapping characterIndexForPosition(position: atom$PointLike): number, @@ -1997,11 +2049,21 @@ type AtomGlobal = { getCurrentWindow: void, // Messaging the User - confirm(options: { - buttons?: Array | {[buttonName: string]: () => mixed}, - detailedMessage?: string, - message: string, - }): ?number, + +confirm: + & (( + { + message: string, + detail?: string, + buttons?: Array, + }, + (number) => void, + ) => void) + // The synchronous form. You really shouldn't use this. + & (({ + message: string, + detailedMessage?: string, + buttons?: Array | {[buttonName: string]: () => mixed}, + }) => ?number), open(params: { pathsToOpen?: Array, @@ -2043,7 +2105,6 @@ declare class atom$Repository { getType: () => string, getPath: () => string, getWorkingDirectory: () => string, - getProjectDirectory: () => string, isProjectAtRoot: () => boolean, relativize: (aPath: string) => string, getOriginURL: (aPath: ?string) => ?string, diff --git a/flow-libs/electron-v2.0.9.js.flow b/flow-libs/electron-v2.0.9.js.flow new file mode 100644 index 00000000..e05ee379 --- /dev/null +++ b/flow-libs/electron-v2.0.9.js.flow @@ -0,0 +1,3652 @@ +/** + * Copyright 2018-present Facebook. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * @format + * @flow + * + * This is an autogenerated libdef for: electron-v2.0.9 renderer process + */ + +declare module 'electron' { + declare module.exports: { + clipboard: { + readText: (type?: ?string) => string, + writeText: (text: string, type?: ?string) => void, + readHTML: (type?: ?string) => string, + writeHTML: (markup: string, type?: ?string) => void, + readImage: (type?: ?string) => NativeImage, + writeImage: (image: NativeImage, type?: ?string) => void, + readRTF: (type?: ?string) => string, + writeRTF: (text: string, type?: ?string) => void, + readBookmark: () => { + title: string, + url: string, + }, + writeBookmark: (title: string, url: string, type?: ?string) => void, + readFindText: () => string, + writeFindText: (text: string) => void, + clear: (type?: ?string) => void, + availableFormats: (type?: ?string) => Array, + has: (format: string, type?: ?string) => boolean, + read: (format: string) => string, + readBuffer: (format: string) => Buffer, + writeBuffer: (format: string, buffer: Buffer, type?: ?string) => void, + write: ( + data: { + text?: ?string, + html?: ?string, + image?: ?NativeImage, + rtf?: ?string, + bookmark?: ?string, + }, + type?: ?string, + ) => void, + }, + crashReporter: { + start: (options: { + companyName?: ?string, + submitURL: string, + productName?: ?string, + uploadToServer?: ?boolean, + ignoreSystemCrashHandler?: ?boolean, + extra?: ?{}, + crashesDirectory?: ?string, + }) => void, + getLastCrashReport: () => CrashReport, + getUploadedReports: () => Array, + getUploadToServer: () => boolean, + setUploadToServer: (uploadToServer: boolean) => void, + addExtraParameter: (key: string, value: string) => void, + removeExtraParameter: (key: string) => void, + getParameters: () => void, + }, + desktopCapturer: { + getSources: ( + options: { + types: Array, + thumbnailSize?: ?Size, + }, + callback: Function, + ) => void, + }, + ipcRenderer: { + on: (channel: string, listener: Function) => void, + once: (channel: string, listener: Function) => void, + removeListener: (channel: string, listener: Function) => void, + removeAllListeners: (channel: string) => void, + send: (channel: string, ...args: Array) => void, + sendSync: (channel: string, ...args: Array) => any, + sendTo: (windowId: number, channel: string, ...args: Array) => void, + sendToHost: (channel: string, ...args: Array) => void, + }, + nativeImage: { + createEmpty: () => NativeImage, + createFromPath: (path: string) => NativeImage, + createFromBuffer: ( + buffer: Buffer, + options?: ?{ + width?: ?number, + height?: ?number, + scaleFactor?: ?number, + }, + ) => NativeImage, + createFromDataURL: (dataURL: string) => NativeImage, + createFromNamedImage: ( + imageName: string, + hslShift: Array, + ) => NativeImage, + }, + process: { + crash: () => void, + getCPUUsage: () => CPUUsage, + getIOCounters: () => IOCounters, + getProcessMemoryInfo: () => { + workingSetSize: number, + peakWorkingSetSize: number, + privateBytes: number, + sharedBytes: number, + }, + getSystemMemoryInfo: () => { + total: number, + free: number, + swapTotal: number, + swapFree: number, + }, + hang: () => void, + setFdLimit: (maxDescriptors: number) => void, + on: (eventName: 'loaded', callback: () => void) => void, + once: (eventName: 'loaded', callback: () => void) => void, + defaultApp?: ?boolean, + mas?: ?boolean, + noAsar?: ?boolean, + noDeprecation?: ?boolean, + resourcesPath?: ?string, + throwDeprecation?: ?boolean, + traceDeprecation?: ?boolean, + traceProcessWarnings?: ?boolean, + type?: ?string, + windowsStore?: ?boolean, + versions: { + chrome?: ?string, + electron?: ?string, + }, + }, + remote: { + require: (module: string) => any, + getCurrentWindow: () => BrowserWindow, + getCurrentWebContents: () => WebContents, + getGlobal: (name: string) => any, + process?: ?any, + app: { + quit: () => void, + exit: (exitCode?: ?number) => void, + relaunch: ( + options?: ?{ + args?: ?Array, + execPath?: ?string, + }, + ) => void, + isReady: () => boolean, + focus: () => void, + hide: () => void, + show: () => void, + getAppPath: () => string, + getPath: (name: string) => string, + getFileIcon: ( + path: string, + options?: ?{ + size: 'small' | 'normal' | 'large', + }, + callback: Function, + ) => void, + setPath: (name: string, path: string) => void, + getVersion: () => string, + getName: () => string, + setName: (name: string) => void, + getLocale: () => string, + addRecentDocument: (path: string) => void, + clearRecentDocuments: () => void, + setAsDefaultProtocolClient: ( + protocol: string, + path?: ?string, + args?: ?Array, + ) => boolean, + removeAsDefaultProtocolClient: ( + protocol: string, + path?: ?string, + args?: ?Array, + ) => boolean, + isDefaultProtocolClient: ( + protocol: string, + path?: ?string, + args?: ?Array, + ) => boolean, + setUserTasks: (tasks: Array) => boolean, + getJumpListSettings: () => { + minItems: number, + removedItems: Array, + }, + setJumpList: (categories: Array) => void, + makeSingleInstance: (callback: Function) => boolean, + releaseSingleInstance: () => void, + setUserActivity: ( + type: string, + userInfo: {}, + webpageURL?: ?string, + ) => void, + getCurrentActivityType: () => string, + invalidateCurrentActivity: (type: string) => void, + updateCurrentActivity: (type: string, userInfo: {}) => void, + setAppUserModelId: (id: string) => void, + importCertificate: ( + options: { + certificate: string, + password: string, + }, + callback: Function, + ) => void, + disableHardwareAcceleration: () => void, + disableDomainBlockingFor3DAPIs: () => void, + getAppMetrics: () => Array, + getGPUFeatureStatus: () => GPUFeatureStatus, + setBadgeCount: (count: number) => boolean, + getBadgeCount: () => number, + isUnityRunning: () => boolean, + getLoginItemSettings: ( + options?: ?{ + path?: ?string, + args?: ?Array, + }, + ) => { + options?: ?{ + path?: ?string, + args?: ?Array, + }, + openAtLogin: boolean, + openAsHidden: boolean, + wasOpenedAtLogin: boolean, + wasOpenedAsHidden: boolean, + restoreState: boolean, + }, + setLoginItemSettings: (settings: { + openAtLogin?: ?boolean, + openAsHidden?: ?boolean, + path?: ?string, + args?: ?Array, + }) => void, + isAccessibilitySupportEnabled: () => boolean, + setAccessibilitySupportEnabled: (enabled: boolean) => void, + setAboutPanelOptions: (options: { + applicationName?: ?string, + applicationVersion?: ?string, + copyright?: ?string, + credits?: ?string, + version?: ?string, + }) => void, + startAccessingSecurityScopedResource: ( + bookmarkData: string, + ) => Function, + enableMixedSandbox: () => void, + isInApplicationsFolder: () => boolean, + moveToApplicationsFolder: () => boolean, + on: (( + eventName: 'will-finish-launching', + callback: () => void, + ) => void) & + ((eventName: 'ready', callback: (launchInfo: {}) => void) => void) & + ((eventName: 'window-all-closed', callback: () => void) => void) & + (( + eventName: 'before-quit', + callback: (event: Event) => void, + ) => void) & + ((eventName: 'will-quit', callback: (event: Event) => void) => void) & + (( + eventName: 'quit', + callback: (event: Event, exitCode: number) => void, + ) => void) & + (( + eventName: 'open-file', + callback: (event: Event, path: string) => void, + ) => void) & + (( + eventName: 'open-url', + callback: (event: Event, url: string) => void, + ) => void) & + (( + eventName: 'activate', + callback: (event: Event, hasVisibleWindows: boolean) => void, + ) => void) & + (( + eventName: 'continue-activity', + callback: (event: Event, type: string, userInfo: {}) => void, + ) => void) & + (( + eventName: 'will-continue-activity', + callback: (event: Event, type: string) => void, + ) => void) & + (( + eventName: 'continue-activity-error', + callback: (event: Event, type: string, error: string) => void, + ) => void) & + (( + eventName: 'activity-was-continued', + callback: (event: Event, type: string, userInfo: {}) => void, + ) => void) & + (( + eventName: 'update-activity-state', + callback: (event: Event, type: string, userInfo: {}) => void, + ) => void) & + (( + eventName: 'new-window-for-tab', + callback: (event: Event) => void, + ) => void) & + (( + eventName: 'browser-window-blur', + callback: (event: Event, window: BrowserWindow) => void, + ) => void) & + (( + eventName: 'browser-window-focus', + callback: (event: Event, window: BrowserWindow) => void, + ) => void) & + (( + eventName: 'browser-window-created', + callback: (event: Event, window: BrowserWindow) => void, + ) => void) & + (( + eventName: 'web-contents-created', + callback: (event: Event, webContents: WebContents) => void, + ) => void) & + (( + eventName: 'certificate-error', + callback: ( + event: Event, + webContents: WebContents, + url: string, + error: string, + certificate: Certificate, + callback: Function, + ) => void, + ) => void) & + (( + eventName: 'select-client-certificate', + callback: ( + event: Event, + webContents: WebContents, + url: URL, + certificateList: Array, + callback: Function, + ) => void, + ) => void) & + (( + eventName: 'login', + callback: ( + event: Event, + webContents: WebContents, + request: { + method: string, + url: URL, + referrer: URL, + }, + authInfo: { + isProxy: boolean, + scheme: string, + host: string, + port: number, + realm: string, + }, + callback: Function, + ) => void, + ) => void) & + (( + eventName: 'gpu-process-crashed', + callback: (event: Event, killed: boolean) => void, + ) => void) & + (( + eventName: 'accessibility-support-changed', + callback: ( + event: Event, + accessibilitySupportEnabled: boolean, + ) => void, + ) => void) & + (( + eventName: 'session-created', + callback: (event: Event, session: Session) => void, + ) => void), + once: (( + eventName: 'will-finish-launching', + callback: () => void, + ) => void) & + ((eventName: 'ready', callback: (launchInfo: {}) => void) => void) & + ((eventName: 'window-all-closed', callback: () => void) => void) & + (( + eventName: 'before-quit', + callback: (event: Event) => void, + ) => void) & + ((eventName: 'will-quit', callback: (event: Event) => void) => void) & + (( + eventName: 'quit', + callback: (event: Event, exitCode: number) => void, + ) => void) & + (( + eventName: 'open-file', + callback: (event: Event, path: string) => void, + ) => void) & + (( + eventName: 'open-url', + callback: (event: Event, url: string) => void, + ) => void) & + (( + eventName: 'activate', + callback: (event: Event, hasVisibleWindows: boolean) => void, + ) => void) & + (( + eventName: 'continue-activity', + callback: (event: Event, type: string, userInfo: {}) => void, + ) => void) & + (( + eventName: 'will-continue-activity', + callback: (event: Event, type: string) => void, + ) => void) & + (( + eventName: 'continue-activity-error', + callback: (event: Event, type: string, error: string) => void, + ) => void) & + (( + eventName: 'activity-was-continued', + callback: (event: Event, type: string, userInfo: {}) => void, + ) => void) & + (( + eventName: 'update-activity-state', + callback: (event: Event, type: string, userInfo: {}) => void, + ) => void) & + (( + eventName: 'new-window-for-tab', + callback: (event: Event) => void, + ) => void) & + (( + eventName: 'browser-window-blur', + callback: (event: Event, window: BrowserWindow) => void, + ) => void) & + (( + eventName: 'browser-window-focus', + callback: (event: Event, window: BrowserWindow) => void, + ) => void) & + (( + eventName: 'browser-window-created', + callback: (event: Event, window: BrowserWindow) => void, + ) => void) & + (( + eventName: 'web-contents-created', + callback: (event: Event, webContents: WebContents) => void, + ) => void) & + (( + eventName: 'certificate-error', + callback: ( + event: Event, + webContents: WebContents, + url: string, + error: string, + certificate: Certificate, + callback: Function, + ) => void, + ) => void) & + (( + eventName: 'select-client-certificate', + callback: ( + event: Event, + webContents: WebContents, + url: URL, + certificateList: Array, + callback: Function, + ) => void, + ) => void) & + (( + eventName: 'login', + callback: ( + event: Event, + webContents: WebContents, + request: { + method: string, + url: URL, + referrer: URL, + }, + authInfo: { + isProxy: boolean, + scheme: string, + host: string, + port: number, + realm: string, + }, + callback: Function, + ) => void, + ) => void) & + (( + eventName: 'gpu-process-crashed', + callback: (event: Event, killed: boolean) => void, + ) => void) & + (( + eventName: 'accessibility-support-changed', + callback: ( + event: Event, + accessibilitySupportEnabled: boolean, + ) => void, + ) => void) & + (( + eventName: 'session-created', + callback: (event: Event, session: Session) => void, + ) => void), + commandLine: { + appendSwitch?: ?Function, + appendArgument?: ?Function, + }, + dock: { + bounce?: ?Function, + cancelBounce?: ?Function, + downloadFinished?: ?Function, + setBadge?: ?Function, + getBadge?: ?Function, + hide?: ?Function, + show?: ?Function, + isVisible?: ?Function, + setMenu?: ?Function, + setIcon?: ?Function, + }, + }, + autoUpdater: { + setFeedURL: (options: { + url: string, + headers?: ?{}, + serverType?: ?string, + }) => void, + getFeedURL: () => string, + checkForUpdates: () => void, + quitAndInstall: () => void, + on: ((eventName: 'error', callback: (error: Error) => void) => void) & + ((eventName: 'checking-for-update', callback: () => void) => void) & + ((eventName: 'update-available', callback: () => void) => void) & + ((eventName: 'update-not-available', callback: () => void) => void) & + (( + eventName: 'update-downloaded', + callback: ( + event: Event, + releaseNotes: string, + releaseName: string, + releaseDate: Date, + updateURL: string, + ) => void, + ) => void), + once: ((eventName: 'error', callback: (error: Error) => void) => void) & + ((eventName: 'checking-for-update', callback: () => void) => void) & + ((eventName: 'update-available', callback: () => void) => void) & + ((eventName: 'update-not-available', callback: () => void) => void) & + (( + eventName: 'update-downloaded', + callback: ( + event: Event, + releaseNotes: string, + releaseName: string, + releaseDate: Date, + updateURL: string, + ) => void, + ) => void), + }, + clipboard: { + readText: (type?: ?string) => string, + writeText: (text: string, type?: ?string) => void, + readHTML: (type?: ?string) => string, + writeHTML: (markup: string, type?: ?string) => void, + readImage: (type?: ?string) => NativeImage, + writeImage: (image: NativeImage, type?: ?string) => void, + readRTF: (type?: ?string) => string, + writeRTF: (text: string, type?: ?string) => void, + readBookmark: () => { + title: string, + url: string, + }, + writeBookmark: (title: string, url: string, type?: ?string) => void, + readFindText: () => string, + writeFindText: (text: string) => void, + clear: (type?: ?string) => void, + availableFormats: (type?: ?string) => Array, + has: (format: string, type?: ?string) => boolean, + read: (format: string) => string, + readBuffer: (format: string) => Buffer, + writeBuffer: (format: string, buffer: Buffer, type?: ?string) => void, + write: ( + data: { + text?: ?string, + html?: ?string, + image?: ?NativeImage, + rtf?: ?string, + bookmark?: ?string, + }, + type?: ?string, + ) => void, + }, + contentTracing: { + getCategories: (callback: Function) => void, + startRecording: ( + options: { + categoryFilter: string, + traceOptions: string, + }, + callback: Function, + ) => void, + stopRecording: (resultFilePath: string, callback: Function) => void, + startMonitoring: ( + options: { + categoryFilter: string, + traceOptions: string, + }, + callback: Function, + ) => void, + stopMonitoring: (callback: Function) => void, + captureMonitoringSnapshot: ( + resultFilePath: string, + callback: Function, + ) => void, + getTraceBufferUsage: (callback: Function) => void, + }, + crashReporter: { + start: (options: { + companyName?: ?string, + submitURL: string, + productName?: ?string, + uploadToServer?: ?boolean, + ignoreSystemCrashHandler?: ?boolean, + extra?: ?{}, + crashesDirectory?: ?string, + }) => void, + getLastCrashReport: () => CrashReport, + getUploadedReports: () => Array, + getUploadToServer: () => boolean, + setUploadToServer: (uploadToServer: boolean) => void, + addExtraParameter: (key: string, value: string) => void, + removeExtraParameter: (key: string) => void, + getParameters: () => void, + }, + dialog: { + showOpenDialog: (( + browserWindow?: ?BrowserWindow, + options: { + title?: ?string, + defaultPath?: ?string, + buttonLabel?: ?string, + filters?: ?Array, + properties?: ?Array< + | 'openFile' + | 'openDirectory' + | 'multiSelections' + | 'showHiddenFiles' + | 'createDirectory' + | 'promptToCreate' + | 'noResolveAliases' + | 'treatPackageAsDirectory', + >, + message?: ?string, + securityScopedBookmarks?: ?boolean, + }, + callback?: ?Function, + ) => Array) & + (( + options: { + title?: ?string, + defaultPath?: ?string, + buttonLabel?: ?string, + filters?: ?Array, + properties?: ?Array< + | 'openFile' + | 'openDirectory' + | 'multiSelections' + | 'showHiddenFiles' + | 'createDirectory' + | 'promptToCreate' + | 'noResolveAliases' + | 'treatPackageAsDirectory', + >, + message?: ?string, + securityScopedBookmarks?: ?boolean, + }, + callback?: ?Function, + ) => Array), + showSaveDialog: (( + browserWindow?: ?BrowserWindow, + options: { + title?: ?string, + defaultPath?: ?string, + buttonLabel?: ?string, + filters?: ?Array, + message?: ?string, + nameFieldLabel?: ?string, + showsTagField?: ?boolean, + securityScopedBookmarks?: ?boolean, + }, + callback?: ?Function, + ) => string) & + (( + options: { + title?: ?string, + defaultPath?: ?string, + buttonLabel?: ?string, + filters?: ?Array, + message?: ?string, + nameFieldLabel?: ?string, + showsTagField?: ?boolean, + securityScopedBookmarks?: ?boolean, + }, + callback?: ?Function, + ) => string), + showMessageBox: (( + browserWindow?: ?BrowserWindow, + options: { + type?: ?string, + buttons?: ?Array, + defaultId?: ?number, + title?: ?string, + message: string, + detail?: ?string, + checkboxLabel?: ?string, + checkboxChecked?: ?boolean, + icon?: ?NativeImage, + cancelId?: ?number, + noLink?: ?boolean, + normalizeAccessKeys?: ?boolean, + }, + callback?: ?Function, + ) => number) & + (( + options: { + type?: ?string, + buttons?: ?Array, + defaultId?: ?number, + title?: ?string, + message: string, + detail?: ?string, + checkboxLabel?: ?string, + checkboxChecked?: ?boolean, + icon?: ?NativeImage, + cancelId?: ?number, + noLink?: ?boolean, + normalizeAccessKeys?: ?boolean, + }, + callback?: ?Function, + ) => number), + showErrorBox: (title: string, content: string) => void, + showCertificateTrustDialog: (( + browserWindow?: ?BrowserWindow, + options: { + certificate: Certificate, + message: string, + }, + callback: Function, + ) => void) & + (( + options: { + certificate: Certificate, + message: string, + }, + callback: Function, + ) => void), + }, + globalShortcut: { + register: (accelerator: Accelerator, callback: Function) => void, + isRegistered: (accelerator: Accelerator) => boolean, + unregister: (accelerator: Accelerator) => void, + unregisterAll: () => void, + }, + inAppPurchase: { + purchaseProduct: ( + productID: string, + quantity?: ?number, + callback?: ?Function, + ) => void, + canMakePayments: () => boolean, + getReceiptURL: () => string, + on: ( + eventName: 'transactions-updated', + callback: (event: Event, transactions: Array) => void, + ) => void, + once: ( + eventName: 'transactions-updated', + callback: (event: Event, transactions: Array) => void, + ) => void, + }, + ipcMain: { + on: (channel: string, listener: Function) => void, + once: (channel: string, listener: Function) => void, + removeListener: (channel: string, listener: Function) => void, + removeAllListeners: (channel: string) => void, + }, + nativeImage: { + createEmpty: () => NativeImage, + createFromPath: (path: string) => NativeImage, + createFromBuffer: ( + buffer: Buffer, + options?: ?{ + width?: ?number, + height?: ?number, + scaleFactor?: ?number, + }, + ) => NativeImage, + createFromDataURL: (dataURL: string) => NativeImage, + createFromNamedImage: ( + imageName: string, + hslShift: Array, + ) => NativeImage, + }, + net: { + request: (options: Object | string) => ClientRequest, + }, + powerMonitor: { + on: ((eventName: 'suspend', callback: () => void) => void) & + ((eventName: 'resume', callback: () => void) => void) & + ((eventName: 'on-ac', callback: () => void) => void) & + ((eventName: 'on-battery', callback: () => void) => void) & + ((eventName: 'shutdown', callback: () => void) => void), + once: ((eventName: 'suspend', callback: () => void) => void) & + ((eventName: 'resume', callback: () => void) => void) & + ((eventName: 'on-ac', callback: () => void) => void) & + ((eventName: 'on-battery', callback: () => void) => void) & + ((eventName: 'shutdown', callback: () => void) => void), + }, + powerSaveBlocker: { + start: ( + type: 'prevent-app-suspension' | 'prevent-display-sleep', + ) => number, + stop: (id: number) => void, + isStarted: (id: number) => boolean, + }, + process: { + crash: () => void, + getCPUUsage: () => CPUUsage, + getIOCounters: () => IOCounters, + getProcessMemoryInfo: () => { + workingSetSize: number, + peakWorkingSetSize: number, + privateBytes: number, + sharedBytes: number, + }, + getSystemMemoryInfo: () => { + total: number, + free: number, + swapTotal: number, + swapFree: number, + }, + hang: () => void, + setFdLimit: (maxDescriptors: number) => void, + on: (eventName: 'loaded', callback: () => void) => void, + once: (eventName: 'loaded', callback: () => void) => void, + defaultApp?: ?boolean, + mas?: ?boolean, + noAsar?: ?boolean, + noDeprecation?: ?boolean, + resourcesPath?: ?string, + throwDeprecation?: ?boolean, + traceDeprecation?: ?boolean, + traceProcessWarnings?: ?boolean, + type?: ?string, + windowsStore?: ?boolean, + versions: { + chrome?: ?string, + electron?: ?string, + }, + }, + protocol: { + registerStandardSchemes: ( + schemes: Array, + options?: ?{ + secure?: ?boolean, + }, + ) => void, + registerServiceWorkerSchemes: (schemes: Array) => void, + registerFileProtocol: ( + scheme: string, + handler: Function, + completion?: ?Function, + ) => void, + registerBufferProtocol: ( + scheme: string, + handler: Function, + completion?: ?Function, + ) => void, + registerStringProtocol: ( + scheme: string, + handler: Function, + completion?: ?Function, + ) => void, + registerHttpProtocol: ( + scheme: string, + handler: Function, + completion?: ?Function, + ) => void, + registerStreamProtocol: ( + scheme: string, + handler: Function, + completion?: ?Function, + ) => void, + unregisterProtocol: (scheme: string, completion?: ?Function) => void, + isProtocolHandled: (scheme: string, callback: Function) => void, + interceptFileProtocol: ( + scheme: string, + handler: Function, + completion?: ?Function, + ) => void, + interceptStringProtocol: ( + scheme: string, + handler: Function, + completion?: ?Function, + ) => void, + interceptBufferProtocol: ( + scheme: string, + handler: Function, + completion?: ?Function, + ) => void, + interceptHttpProtocol: ( + scheme: string, + handler: Function, + completion?: ?Function, + ) => void, + interceptStreamProtocol: ( + scheme: string, + handler: Function, + completion?: ?Function, + ) => void, + uninterceptProtocol: (scheme: string, completion?: ?Function) => void, + }, + screen: { + getCursorScreenPoint: () => Point, + getMenuBarHeight: () => number, + getPrimaryDisplay: () => Display, + getAllDisplays: () => Array, + getDisplayNearestPoint: (point: Point) => Display, + getDisplayMatching: (rect: Rectangle) => Display, + on: (( + eventName: 'display-added', + callback: (event: Event, newDisplay: Display) => void, + ) => void) & + (( + eventName: 'display-removed', + callback: (event: Event, oldDisplay: Display) => void, + ) => void) & + (( + eventName: 'display-metrics-changed', + callback: ( + event: Event, + display: Display, + changedMetrics: Array, + ) => void, + ) => void), + once: (( + eventName: 'display-added', + callback: (event: Event, newDisplay: Display) => void, + ) => void) & + (( + eventName: 'display-removed', + callback: (event: Event, oldDisplay: Display) => void, + ) => void) & + (( + eventName: 'display-metrics-changed', + callback: ( + event: Event, + display: Display, + changedMetrics: Array, + ) => void, + ) => void), + }, + session: { + fromPartition: ( + partition: string, + options?: ?{ + cache: boolean, + }, + ) => Session, + defaultSession?: ?Session, + }, + shell: { + showItemInFolder: (fullPath: string) => boolean, + openItem: (fullPath: string) => boolean, + openExternal: ( + url: string, + options?: ?{ + activate: boolean, + }, + callback?: ?Function, + ) => boolean, + moveItemToTrash: (fullPath: string) => boolean, + beep: () => void, + writeShortcutLink: ( + shortcutPath: string, + operation?: ?'create' | 'update' | 'replace', + options: ShortcutDetails, + ) => boolean, + readShortcutLink: (shortcutPath: string) => ShortcutDetails, + }, + systemPreferences: { + isDarkMode: () => boolean, + isSwipeTrackingFromScrollEventsEnabled: () => boolean, + postNotification: (event: string, userInfo: {}) => void, + postLocalNotification: (event: string, userInfo: {}) => void, + subscribeNotification: (event: string, callback: Function) => void, + unsubscribeNotification: (id: number) => void, + subscribeLocalNotification: (event: string, callback: Function) => void, + unsubscribeLocalNotification: (id: number) => void, + registerDefaults: (defaults: {}) => void, + getUserDefault: ( + key: string, + type: + | 'string' + | 'boolean' + | 'integer' + | 'float' + | 'double' + | 'url' + | 'array' + | 'dictionary', + ) => any, + setUserDefault: (key: string, type: string, value: string) => void, + removeUserDefault: (key: string) => void, + isAeroGlassEnabled: () => boolean, + getAccentColor: () => string, + getColor: ( + color: + | '3d-dark-shadow' + | '3d-face' + | '3d-highlight' + | '3d-light' + | '3d-shadow' + | 'active-border' + | 'active-caption' + | 'active-caption-gradient' + | 'app-workspace' + | 'button-text' + | 'caption-text' + | 'desktop' + | 'disabled-text' + | 'highlight' + | 'highlight-text' + | 'hotlight' + | 'inactive-border' + | 'inactive-caption' + | 'inactive-caption-gradient' + | 'inactive-caption-text' + | 'info-background' + | 'info-text' + | 'menu' + | 'menu-highlight' + | 'menubar' + | 'menu-text' + | 'scrollbar' + | 'window' + | 'window-frame' + | 'window-text', + ) => string, + isInvertedColorScheme: () => boolean, + on: (( + eventName: 'accent-color-changed', + callback: (event: Event, newColor: string) => void, + ) => void) & + (( + eventName: 'color-changed', + callback: (event: Event) => void, + ) => void) & + (( + eventName: 'inverted-color-scheme-changed', + callback: (event: Event, invertedColorScheme: boolean) => void, + ) => void), + once: (( + eventName: 'accent-color-changed', + callback: (event: Event, newColor: string) => void, + ) => void) & + (( + eventName: 'color-changed', + callback: (event: Event) => void, + ) => void) & + (( + eventName: 'inverted-color-scheme-changed', + callback: (event: Event, invertedColorScheme: boolean) => void, + ) => void), + }, + webContents: { + getAllWebContents: () => Array, + getFocusedWebContents: () => WebContents, + fromId: (id: number) => WebContents, + }, + BrowserView: Class, + BrowserWindow: Class, + ClientRequest: Class, + Cookies: Class, + Debugger: Class, + DownloadItem: Class, + IncomingMessage: Class, + Menu: Class, + MenuItem: Class, + NativeImage: Class, + Notification: Class, + Session: Class, + TouchBar: Class, + Tray: Class, + WebContents: Class, + WebRequest: Class, + }, + screen: { + getCursorScreenPoint: () => Point, + getMenuBarHeight: () => number, + getPrimaryDisplay: () => Display, + getAllDisplays: () => Array, + getDisplayNearestPoint: (point: Point) => Display, + getDisplayMatching: (rect: Rectangle) => Display, + on: (( + eventName: 'display-added', + callback: (event: Event, newDisplay: Display) => void, + ) => void) & + (( + eventName: 'display-removed', + callback: (event: Event, oldDisplay: Display) => void, + ) => void) & + (( + eventName: 'display-metrics-changed', + callback: ( + event: Event, + display: Display, + changedMetrics: Array, + ) => void, + ) => void), + once: (( + eventName: 'display-added', + callback: (event: Event, newDisplay: Display) => void, + ) => void) & + (( + eventName: 'display-removed', + callback: (event: Event, oldDisplay: Display) => void, + ) => void) & + (( + eventName: 'display-metrics-changed', + callback: ( + event: Event, + display: Display, + changedMetrics: Array, + ) => void, + ) => void), + }, + shell: { + showItemInFolder: (fullPath: string) => boolean, + openItem: (fullPath: string) => boolean, + openExternal: ( + url: string, + options?: ?{ + activate: boolean, + }, + callback?: ?Function, + ) => boolean, + moveItemToTrash: (fullPath: string) => boolean, + beep: () => void, + writeShortcutLink: ( + shortcutPath: string, + operation?: ?'create' | 'update' | 'replace', + options: ShortcutDetails, + ) => boolean, + readShortcutLink: (shortcutPath: string) => ShortcutDetails, + }, + webFrame: { + setZoomFactor: (factor: number) => void, + getZoomFactor: () => number, + setZoomLevel: (level: number) => void, + getZoomLevel: () => number, + setVisualZoomLevelLimits: ( + minimumLevel: number, + maximumLevel: number, + ) => void, + setLayoutZoomLevelLimits: ( + minimumLevel: number, + maximumLevel: number, + ) => void, + setSpellCheckProvider: ( + language: string, + autoCorrectWord: boolean, + provider: { + spellCheck: Function, + }, + ) => void, + registerURLSchemeAsSecure: (scheme: string) => void, + registerURLSchemeAsBypassingCSP: (scheme: string) => void, + registerURLSchemeAsPrivileged: ( + scheme: string, + options?: ?{ + secure?: ?boolean, + bypassCSP?: ?boolean, + allowServiceWorkers?: ?boolean, + supportFetchAPI?: ?boolean, + corsEnabled?: ?boolean, + }, + ) => void, + insertText: (text: string) => void, + executeJavaScript: ( + code: string, + userGesture?: ?boolean, + callback?: ?Function, + ) => Promise, + executeJavaScriptInIsolatedWorld: ( + worldId: number, + scripts: Array, + userGesture?: ?boolean, + callback?: ?Function, + ) => void, + setIsolatedWorldContentSecurityPolicy: ( + worldId: number, + csp: string, + ) => void, + setIsolatedWorldHumanReadableName: ( + worldId: number, + name: string, + ) => void, + setIsolatedWorldSecurityOrigin: ( + worldId: number, + securityOrigin: string, + ) => void, + getResourceUsage: () => { + images: MemoryUsageDetails, + scripts: MemoryUsageDetails, + cssStyleSheets: MemoryUsageDetails, + xslStyleSheets: MemoryUsageDetails, + fonts: MemoryUsageDetails, + other: MemoryUsageDetails, + }, + clearCache: () => void, + }, + BrowserWindowProxy: Class, + NativeImage: Class, + }; + declare type BluetoothDevice = { + deviceName: string, + deviceId: string, + }; + declare type Certificate = { + data: string, + issuer: CertificatePrincipal, + issuerName: string, + issuerCert: Certificate, + subject: CertificatePrincipal, + subjectName: string, + serialNumber: string, + validStart: number, + validExpiry: number, + fingerprint: string, + }; + declare type CertificatePrincipal = { + commonName: string, + organizations: Array, + organizationUnits: Array, + locality: string, + state: string, + country: string, + }; + declare type Cookie = { + name: string, + value: string, + domain?: ?string, + hostOnly?: ?boolean, + path?: ?string, + secure?: ?boolean, + httpOnly?: ?boolean, + session?: ?boolean, + expirationDate?: ?number, + }; + declare type CPUUsage = { + percentCPUUsage: number, + idleWakeupsPerSecond: number, + }; + declare type CrashReport = { + date: Date, + id: string, + }; + declare type DesktopCapturerSource = { + id: string, + name: string, + thumbnail: NativeImage, + }; + declare type Display = { + id: number, + rotation: number, + scaleFactor: number, + touchSupport: 'available' | 'unavailable' | 'unknown', + bounds: Rectangle, + size: Size, + workArea: Rectangle, + workAreaSize: Size, + }; + declare type FileFilter = { + name: string, + extensions: Array, + }; + declare type GPUFeatureStatus = { + '2d_canvas': string, + flash_3d: string, + flash_stage3d: string, + flash_stage3d_baseline: string, + gpu_compositing: string, + multiple_raster_threads: string, + native_gpu_memory_buffers: string, + rasterization: string, + video_decode: string, + video_encode: string, + vpx_decode: string, + webgl: string, + webgl2: string, + }; + declare type IOCounters = { + readOperationCount: number, + writeOperationCount: number, + otherOperationCount: number, + readTransferCount: number, + writeTransferCount: number, + otherTransferCount: number, + }; + declare type JumpListCategory = { + type?: ?'tasks' | 'frequent' | 'recent' | 'custom', + name?: ?string, + items?: ?Array, + }; + declare type JumpListItem = { + type?: ?'task' | 'separator' | 'file', + path?: ?string, + program?: ?string, + args?: ?string, + title?: ?string, + description?: ?string, + iconPath?: ?string, + iconIndex?: ?number, + }; + declare type MemoryInfo = { + pid: number, + workingSetSize: number, + peakWorkingSetSize: number, + privateBytes: number, + sharedBytes: number, + }; + declare type MemoryUsageDetails = { + count: number, + size: number, + liveSize: number, + }; + declare type MimeTypedBuffer = { + mimeType: string, + data: Buffer, + }; + declare type NotificationAction = { + type: 'button', + text?: ?string, + }; + declare type Point = { + x: number, + y: number, + }; + declare type PrinterInfo = { + name: string, + description: string, + status: number, + isDefault: boolean, + }; + declare type ProcessMetric = { + pid: number, + type: string, + memory: MemoryInfo, + cpu: CPUUsage, + }; + declare type Rectangle = { + x: number, + y: number, + width: number, + height: number, + }; + declare type RemoveClientCertificate = { + type: string, + origin: string, + }; + declare type RemovePassword = { + type: string, + origin?: ?string, + scheme?: ?'basic' | 'digest' | 'ntlm' | 'negotiate', + realm?: ?string, + username?: ?string, + password?: ?string, + }; + declare type ScrubberItem = { + label?: ?string, + icon?: ?NativeImage, + }; + declare type SegmentedControlSegment = { + label?: ?string, + icon?: ?NativeImage, + enabled?: ?boolean, + }; + declare type ShortcutDetails = { + target: string, + cwd?: ?string, + args?: ?string, + description?: ?string, + icon?: ?string, + iconIndex?: ?number, + appUserModelId?: ?string, + }; + declare type Size = { + width: number, + height: number, + }; + declare type StreamProtocolResponse = { + statusCode: number, + headers: {}, + data: ReadableStream, + }; + declare type Task = { + program: string, + arguments: string, + title: string, + description: string, + iconPath: string, + iconIndex: number, + }; + declare type ThumbarButton = { + icon: NativeImage, + click: Function, + tooltip?: ?string, + flags?: ?Array, + }; + declare type Transaction = { + transactionIdentifier: string, + transactionDate: string, + originalTransactionIdentifier: string, + transactionState: string, + errorCode: number, + errorMessage: string, + payment: { + productIdentifier: string, + quantity: number, + }, + }; + declare type UploadBlob = { + type: string, + blobUUID: string, + }; + declare type UploadData = { + bytes: Buffer, + file: string, + blobUUID: string, + }; + declare type UploadFile = { + type: string, + filePath: string, + offset: number, + length: number, + modificationTime: number, + }; + declare type UploadFileSystem = { + type: string, + filsSystemURL: string, + offset: number, + length: number, + modificationTime: number, + }; + declare type UploadRawData = { + type: string, + bytes: Buffer, + }; + declare type WebSource = { + code: string, + url?: ?string, + startLine?: ?number, + }; + declare class webviewTag extends HTMLElement { + loadURL: ( + url: URL, + options?: ?{ + httpReferrer?: ?string, + userAgent?: ?string, + extraHeaders?: ?string, + postData?: + | ?Array + | Array + | Array + | Array, + baseURLForDataURL?: ?string, + }, + ) => void; + getURL: () => string; + getTitle: () => string; + isLoading: () => boolean; + isWaitingForResponse: () => boolean; + stop: () => void; + reload: () => void; + reloadIgnoringCache: () => void; + canGoBack: () => boolean; + canGoForward: () => boolean; + canGoToOffset: (offset: number) => boolean; + clearHistory: () => void; + goBack: () => void; + goForward: () => void; + goToIndex: (index: number) => void; + goToOffset: (offset: number) => void; + isCrashed: () => boolean; + setUserAgent: (userAgent: string) => void; + getUserAgent: () => string; + insertCSS: (css: string) => void; + executeJavaScript: ( + code: string, + userGesture?: ?boolean, + callback?: ?Function, + ) => void; + openDevTools: () => void; + closeDevTools: () => void; + isDevToolsOpened: () => boolean; + isDevToolsFocused: () => boolean; + inspectElement: (x: number, y: number) => void; + inspectServiceWorker: () => void; + setAudioMuted: (muted: boolean) => void; + isAudioMuted: () => boolean; + undo: () => void; + redo: () => void; + cut: () => void; + copy: () => void; + paste: () => void; + pasteAndMatchStyle: () => void; + delete: () => void; + selectAll: () => void; + unselect: () => void; + replace: (text: string) => void; + replaceMisspelling: (text: string) => void; + insertText: (text: string) => void; + findInPage: ( + text: string, + options?: ?{ + forward?: ?boolean, + findNext?: ?boolean, + matchCase?: ?boolean, + wordStart?: ?boolean, + medialCapitalAsWordStart?: ?boolean, + }, + ) => number; + stopFindInPage: ( + action: 'clearSelection' | 'keepSelection' | 'activateSelection', + ) => void; + print: ( + options?: ?{ + silent?: ?boolean, + printBackground?: ?boolean, + deviceName?: ?string, + }, + ) => void; + printToPDF: ( + options: { + marginsType?: ?number, + pageSize?: ?string, + printBackground?: ?boolean, + printSelectionOnly?: ?boolean, + landscape?: ?boolean, + }, + callback: Function, + ) => void; + capturePage: ((rect?: ?Rectangle, callback: Function) => void) & + ((callback: Function) => void); + send: (channel: string, ...args: Array) => void; + sendInputEvent: (event: {}) => void; + setZoomFactor: (factor: number) => void; + setZoomLevel: (level: number) => void; + showDefinitionForSelection: () => void; + getWebContents: () => WebContents; + on: (( + eventName: 'load-commit', + callback: (url: string, isMainFrame: boolean) => void, + ) => void) & + ((eventName: 'did-finish-load', callback: () => void) => void) & + (( + eventName: 'did-fail-load', + callback: ( + errorCode: number, + errorDescription: string, + validatedURL: string, + isMainFrame: boolean, + ) => void, + ) => void) & + (( + eventName: 'did-frame-finish-load', + callback: (isMainFrame: boolean) => void, + ) => void) & + ((eventName: 'did-start-loading', callback: () => void) => void) & + ((eventName: 'did-stop-loading', callback: () => void) => void) & + (( + eventName: 'did-get-response-details', + callback: ( + status: boolean, + newURL: string, + originalURL: string, + httpResponseCode: number, + requestMethod: string, + referrer: string, + headers: {}, + resourceType: string, + ) => void, + ) => void) & + (( + eventName: 'did-get-redirect-request', + callback: ( + oldURL: string, + newURL: string, + isMainFrame: boolean, + ) => void, + ) => void) & + ((eventName: 'dom-ready', callback: () => void) => void) & + (( + eventName: 'page-title-updated', + callback: (title: string, explicitSet: boolean) => void, + ) => void) & + (( + eventName: 'page-favicon-updated', + callback: (favicons: Array) => void, + ) => void) & + ((eventName: 'enter-html-full-screen', callback: () => void) => void) & + ((eventName: 'leave-html-full-screen', callback: () => void) => void) & + (( + eventName: 'console-message', + callback: ( + level: number, + message: string, + line: number, + sourceId: string, + ) => void, + ) => void) & + (( + eventName: 'found-in-page', + callback: (result: { + requestId: number, + activeMatchOrdinal: number, + matches: number, + selectionArea: {}, + finalUpdate: boolean, + }) => void, + ) => void) & + (( + eventName: 'new-window', + callback: ( + url: string, + frameName: string, + disposition: + | 'default' + | 'foreground-tab' + | 'background-tab' + | 'new-window' + | 'save-to-disk' + | 'other', + options: {}, + ) => void, + ) => void) & + ((eventName: 'will-navigate', callback: (url: string) => void) => void) & + ((eventName: 'did-navigate', callback: (url: string) => void) => void) & + (( + eventName: 'did-navigate-in-page', + callback: (isMainFrame: boolean, url: string) => void, + ) => void) & + ((eventName: 'close', callback: () => void) => void) & + (( + eventName: 'ipc-message', + callback: (channel: string, args: Array) => void, + ) => void) & + ((eventName: 'crashed', callback: () => void) => void) & + ((eventName: 'gpu-crashed', callback: () => void) => void) & + (( + eventName: 'plugin-crashed', + callback: (name: string, version: string) => void, + ) => void) & + ((eventName: 'destroyed', callback: () => void) => void) & + ((eventName: 'media-started-playing', callback: () => void) => void) & + ((eventName: 'media-paused', callback: () => void) => void) & + (( + eventName: 'did-change-theme-color', + callback: (themeColor: string) => void, + ) => void) & + (( + eventName: 'update-target-url', + callback: (url: string) => void, + ) => void) & + ((eventName: 'devtools-opened', callback: () => void) => void) & + ((eventName: 'devtools-closed', callback: () => void) => void) & + ((eventName: 'devtools-focused', callback: () => void) => void); + once: (( + eventName: 'load-commit', + callback: (url: string, isMainFrame: boolean) => void, + ) => void) & + ((eventName: 'did-finish-load', callback: () => void) => void) & + (( + eventName: 'did-fail-load', + callback: ( + errorCode: number, + errorDescription: string, + validatedURL: string, + isMainFrame: boolean, + ) => void, + ) => void) & + (( + eventName: 'did-frame-finish-load', + callback: (isMainFrame: boolean) => void, + ) => void) & + ((eventName: 'did-start-loading', callback: () => void) => void) & + ((eventName: 'did-stop-loading', callback: () => void) => void) & + (( + eventName: 'did-get-response-details', + callback: ( + status: boolean, + newURL: string, + originalURL: string, + httpResponseCode: number, + requestMethod: string, + referrer: string, + headers: {}, + resourceType: string, + ) => void, + ) => void) & + (( + eventName: 'did-get-redirect-request', + callback: ( + oldURL: string, + newURL: string, + isMainFrame: boolean, + ) => void, + ) => void) & + ((eventName: 'dom-ready', callback: () => void) => void) & + (( + eventName: 'page-title-updated', + callback: (title: string, explicitSet: boolean) => void, + ) => void) & + (( + eventName: 'page-favicon-updated', + callback: (favicons: Array) => void, + ) => void) & + ((eventName: 'enter-html-full-screen', callback: () => void) => void) & + ((eventName: 'leave-html-full-screen', callback: () => void) => void) & + (( + eventName: 'console-message', + callback: ( + level: number, + message: string, + line: number, + sourceId: string, + ) => void, + ) => void) & + (( + eventName: 'found-in-page', + callback: (result: { + requestId: number, + activeMatchOrdinal: number, + matches: number, + selectionArea: {}, + finalUpdate: boolean, + }) => void, + ) => void) & + (( + eventName: 'new-window', + callback: ( + url: string, + frameName: string, + disposition: + | 'default' + | 'foreground-tab' + | 'background-tab' + | 'new-window' + | 'save-to-disk' + | 'other', + options: {}, + ) => void, + ) => void) & + ((eventName: 'will-navigate', callback: (url: string) => void) => void) & + ((eventName: 'did-navigate', callback: (url: string) => void) => void) & + (( + eventName: 'did-navigate-in-page', + callback: (isMainFrame: boolean, url: string) => void, + ) => void) & + ((eventName: 'close', callback: () => void) => void) & + (( + eventName: 'ipc-message', + callback: (channel: string, args: Array) => void, + ) => void) & + ((eventName: 'crashed', callback: () => void) => void) & + ((eventName: 'gpu-crashed', callback: () => void) => void) & + (( + eventName: 'plugin-crashed', + callback: (name: string, version: string) => void, + ) => void) & + ((eventName: 'destroyed', callback: () => void) => void) & + ((eventName: 'media-started-playing', callback: () => void) => void) & + ((eventName: 'media-paused', callback: () => void) => void) & + (( + eventName: 'did-change-theme-color', + callback: (themeColor: string) => void, + ) => void) & + (( + eventName: 'update-target-url', + callback: (url: string) => void, + ) => void) & + ((eventName: 'devtools-opened', callback: () => void) => void) & + ((eventName: 'devtools-closed', callback: () => void) => void) & + ((eventName: 'devtools-focused', callback: () => void) => void); + } + declare class BrowserView { + constructor( + options?: ?{ + webPreferences?: ?{}, + }, + ): BrowserView; + static getAllViews: () => Array; + static fromWebContents: (webContents: WebContents) => BrowserView | null; + static fromId: (id: number) => BrowserView; + destroy: () => void; + isDestroyed: () => boolean; + setAutoResize: (options: { + width: boolean, + height: boolean, + }) => void; + setBounds: (bounds: Rectangle) => void; + setBackgroundColor: (color: string) => void; + webContents: WebContents; + id: number; + } + declare class BrowserWindow { + constructor( + options?: ?{ + width?: ?number, + height?: ?number, + x?: ?number, + y?: ?number, + useContentSize?: ?boolean, + center?: ?boolean, + minWidth?: ?number, + minHeight?: ?number, + maxWidth?: ?number, + maxHeight?: ?number, + resizable?: ?boolean, + movable?: ?boolean, + minimizable?: ?boolean, + maximizable?: ?boolean, + closable?: ?boolean, + focusable?: ?boolean, + alwaysOnTop?: ?boolean, + fullscreen?: ?boolean, + fullscreenable?: ?boolean, + simpleFullscreen?: ?boolean, + skipTaskbar?: ?boolean, + kiosk?: ?boolean, + title?: ?string, + icon?: ?NativeImage | string, + show?: ?boolean, + frame?: ?boolean, + parent?: ?BrowserWindow, + modal?: ?boolean, + acceptFirstMouse?: ?boolean, + disableAutoHideCursor?: ?boolean, + autoHideMenuBar?: ?boolean, + enableLargerThanScreen?: ?boolean, + backgroundColor?: ?string, + hasShadow?: ?boolean, + opacity?: ?number, + darkTheme?: ?boolean, + transparent?: ?boolean, + type?: ?string, + titleBarStyle?: + | ?'default' + | 'hidden' + | 'hiddenInset' + | 'customButtonsOnHover', + fullscreenWindowTitle?: ?boolean, + thickFrame?: ?boolean, + vibrancy?: + | ?'appearance-based' + | 'light' + | 'dark' + | 'titlebar' + | 'selection' + | 'menu' + | 'popover' + | 'sidebar' + | 'medium-light' + | 'ultra-dark', + zoomToPageWidth?: ?boolean, + tabbingIdentifier?: ?string, + webPreferences?: ?{ + devTools?: ?boolean, + nodeIntegration?: ?boolean, + nodeIntegrationInWorker?: ?boolean, + preload?: ?string, + sandbox?: ?boolean, + session?: ?Session, + partition?: ?string, + affinity?: ?string, + zoomFactor?: ?number, + javascript?: ?boolean, + webSecurity?: ?boolean, + allowRunningInsecureContent?: ?boolean, + images?: ?boolean, + textAreasAreResizable?: ?boolean, + webgl?: ?boolean, + webaudio?: ?boolean, + plugins?: ?boolean, + experimentalFeatures?: ?boolean, + experimentalCanvasFeatures?: ?boolean, + scrollBounce?: ?boolean, + blinkFeatures?: ?string, + disableBlinkFeatures?: ?string, + defaultFontFamily?: ?{ + standard?: ?string, + serif?: ?string, + sansSerif?: ?string, + monospace?: ?string, + cursive?: ?string, + fantasy?: ?string, + }, + defaultFontSize?: ?number, + defaultMonospaceFontSize?: ?number, + minimumFontSize?: ?number, + defaultEncoding?: ?string, + backgroundThrottling?: ?boolean, + offscreen?: ?boolean, + contextIsolation?: ?boolean, + nativeWindowOpen?: ?boolean, + webviewTag?: ?boolean, + additionalArguments?: ?Array, + }, + }, + ): BrowserWindow; + static getAllWindows: () => Array; + static getFocusedWindow: () => BrowserWindow; + static fromWebContents: (webContents: WebContents) => BrowserWindow; + static fromBrowserView: (browserView: BrowserView) => BrowserWindow | null; + static fromId: (id: number) => BrowserWindow; + static addExtension: (path: string) => void; + static removeExtension: (name: string) => void; + static getExtensions: () => {}; + static addDevToolsExtension: (path: string) => void; + static removeDevToolsExtension: (name: string) => void; + static getDevToolsExtensions: () => {}; + destroy: () => void; + close: () => void; + focus: () => void; + blur: () => void; + isFocused: () => boolean; + isDestroyed: () => boolean; + show: () => void; + showInactive: () => void; + hide: () => void; + isVisible: () => boolean; + isModal: () => boolean; + maximize: () => void; + unmaximize: () => void; + isMaximized: () => boolean; + minimize: () => void; + restore: () => void; + isMinimized: () => boolean; + setFullScreen: (flag: boolean) => void; + isFullScreen: () => boolean; + setSimpleFullScreen: (flag: boolean) => void; + isSimpleFullScreen: () => boolean; + setAspectRatio: (aspectRatio: number, extraSize: Size) => void; + previewFile: (path: string, displayName?: ?string) => void; + closeFilePreview: () => void; + setBounds: (bounds: Rectangle, animate?: ?boolean) => void; + getBounds: () => Rectangle; + setContentBounds: (bounds: Rectangle, animate?: ?boolean) => void; + getContentBounds: () => Rectangle; + setEnabled: (enable: boolean) => void; + setSize: (width: number, height: number, animate?: ?boolean) => void; + getSize: () => Array; + setContentSize: (width: number, height: number, animate?: ?boolean) => void; + getContentSize: () => Array; + setMinimumSize: (width: number, height: number) => void; + getMinimumSize: () => Array; + setMaximumSize: (width: number, height: number) => void; + getMaximumSize: () => Array; + setResizable: (resizable: boolean) => void; + isResizable: () => boolean; + setMovable: (movable: boolean) => void; + isMovable: () => boolean; + setMinimizable: (minimizable: boolean) => void; + isMinimizable: () => boolean; + setMaximizable: (maximizable: boolean) => void; + isMaximizable: () => boolean; + setFullScreenable: (fullscreenable: boolean) => void; + isFullScreenable: () => boolean; + setClosable: (closable: boolean) => void; + isClosable: () => boolean; + setAlwaysOnTop: ( + flag: boolean, + level?: + | ?'normal' + | 'floating' + | 'torn-off-menu' + | 'modal-panel' + | 'main-menu' + | 'status' + | 'pop-up-menu' + | 'screen-saver', + relativeLevel?: ?number, + ) => void; + isAlwaysOnTop: () => boolean; + center: () => void; + setPosition: (x: number, y: number, animate?: ?boolean) => void; + getPosition: () => Array; + setTitle: (title: string) => void; + getTitle: () => string; + setSheetOffset: (offsetY: number, offsetX?: ?number) => void; + flashFrame: (flag: boolean) => void; + setSkipTaskbar: (skip: boolean) => void; + setKiosk: (flag: boolean) => void; + isKiosk: () => boolean; + getNativeWindowHandle: () => Buffer; + hookWindowMessage: (message: number, callback: Function) => void; + isWindowMessageHooked: (message: number) => boolean; + unhookWindowMessage: (message: number) => void; + unhookAllWindowMessages: () => void; + setRepresentedFilename: (filename: string) => void; + getRepresentedFilename: () => string; + setDocumentEdited: (edited: boolean) => void; + isDocumentEdited: () => boolean; + focusOnWebView: () => void; + blurWebView: () => void; + capturePage: ((rect?: ?Rectangle, callback: Function) => void) & + ((callback: Function) => void); + loadURL: ( + url: string, + options?: ?{ + httpReferrer?: ?string, + userAgent?: ?string, + extraHeaders?: ?string, + postData?: + | ?Array + | Array + | Array + | Array, + baseURLForDataURL?: ?string, + }, + ) => void; + loadFile: (filePath: string) => void; + reload: () => void; + setMenu: (menu: Menu | null) => void; + setProgressBar: ( + progress: number, + options?: ?{ + mode: 'none' | 'normal' | 'indeterminate' | 'error' | 'paused', + }, + ) => void; + setOverlayIcon: (overlay: NativeImage | null, description: string) => void; + setHasShadow: (hasShadow: boolean) => void; + hasShadow: () => boolean; + setOpacity: (opacity: number) => void; + getOpacity: () => number; + setThumbarButtons: (buttons: Array) => boolean; + setThumbnailClip: (region: Rectangle) => void; + setThumbnailToolTip: (toolTip: string) => void; + setAppDetails: (options: { + appId?: ?string, + appIconPath?: ?string, + appIconIndex?: ?number, + relaunchCommand?: ?string, + relaunchDisplayName?: ?string, + }) => void; + showDefinitionForSelection: () => void; + setIcon: (icon: NativeImage) => void; + setAutoHideMenuBar: (hide: boolean) => void; + isMenuBarAutoHide: () => boolean; + setMenuBarVisibility: (visible: boolean) => void; + isMenuBarVisible: () => boolean; + setVisibleOnAllWorkspaces: (visible: boolean) => void; + isVisibleOnAllWorkspaces: () => boolean; + setIgnoreMouseEvents: ( + ignore: boolean, + options?: ?{ + forward?: ?boolean, + }, + ) => void; + setContentProtection: (enable: boolean) => void; + setFocusable: (focusable: boolean) => void; + setParentWindow: (parent: BrowserWindow) => void; + getParentWindow: () => BrowserWindow; + getChildWindows: () => Array; + setAutoHideCursor: (autoHide: boolean) => void; + selectPreviousTab: () => void; + selectNextTab: () => void; + mergeAllWindows: () => void; + moveTabToNewWindow: () => void; + toggleTabBar: () => void; + addTabbedWindow: (browserWindow: BrowserWindow) => void; + setVibrancy: ( + type: + | 'appearance-based' + | 'light' + | 'dark' + | 'titlebar' + | 'selection' + | 'menu' + | 'popover' + | 'sidebar' + | 'medium-light' + | 'ultra-dark', + ) => void; + setTouchBar: (touchBar: TouchBar) => void; + setBrowserView: (browserView: BrowserView) => void; + getBrowserView: () => BrowserView | null; + webContents: WebContents; + id: number; + on: (( + eventName: 'page-title-updated', + callback: (event: Event, title: string) => void, + ) => void) & + ((eventName: 'close', callback: (event: Event) => void) => void) & + ((eventName: 'closed', callback: () => void) => void) & + ((eventName: 'session-end', callback: () => void) => void) & + ((eventName: 'unresponsive', callback: () => void) => void) & + ((eventName: 'responsive', callback: () => void) => void) & + ((eventName: 'blur', callback: () => void) => void) & + ((eventName: 'focus', callback: () => void) => void) & + ((eventName: 'show', callback: () => void) => void) & + ((eventName: 'hide', callback: () => void) => void) & + ((eventName: 'ready-to-show', callback: () => void) => void) & + ((eventName: 'maximize', callback: () => void) => void) & + ((eventName: 'unmaximize', callback: () => void) => void) & + ((eventName: 'minimize', callback: () => void) => void) & + ((eventName: 'restore', callback: () => void) => void) & + ((eventName: 'resize', callback: () => void) => void) & + ((eventName: 'move', callback: () => void) => void) & + ((eventName: 'moved', callback: () => void) => void) & + ((eventName: 'enter-full-screen', callback: () => void) => void) & + ((eventName: 'leave-full-screen', callback: () => void) => void) & + ((eventName: 'enter-html-full-screen', callback: () => void) => void) & + ((eventName: 'leave-html-full-screen', callback: () => void) => void) & + (( + eventName: 'app-command', + callback: (event: Event, command: string) => void, + ) => void) & + ((eventName: 'scroll-touch-begin', callback: () => void) => void) & + ((eventName: 'scroll-touch-end', callback: () => void) => void) & + ((eventName: 'scroll-touch-edge', callback: () => void) => void) & + (( + eventName: 'swipe', + callback: (event: Event, direction: string) => void, + ) => void) & + ((eventName: 'sheet-begin', callback: () => void) => void) & + ((eventName: 'sheet-end', callback: () => void) => void) & + ((eventName: 'new-window-for-tab', callback: () => void) => void); + once: (( + eventName: 'page-title-updated', + callback: (event: Event, title: string) => void, + ) => void) & + ((eventName: 'close', callback: (event: Event) => void) => void) & + ((eventName: 'closed', callback: () => void) => void) & + ((eventName: 'session-end', callback: () => void) => void) & + ((eventName: 'unresponsive', callback: () => void) => void) & + ((eventName: 'responsive', callback: () => void) => void) & + ((eventName: 'blur', callback: () => void) => void) & + ((eventName: 'focus', callback: () => void) => void) & + ((eventName: 'show', callback: () => void) => void) & + ((eventName: 'hide', callback: () => void) => void) & + ((eventName: 'ready-to-show', callback: () => void) => void) & + ((eventName: 'maximize', callback: () => void) => void) & + ((eventName: 'unmaximize', callback: () => void) => void) & + ((eventName: 'minimize', callback: () => void) => void) & + ((eventName: 'restore', callback: () => void) => void) & + ((eventName: 'resize', callback: () => void) => void) & + ((eventName: 'move', callback: () => void) => void) & + ((eventName: 'moved', callback: () => void) => void) & + ((eventName: 'enter-full-screen', callback: () => void) => void) & + ((eventName: 'leave-full-screen', callback: () => void) => void) & + ((eventName: 'enter-html-full-screen', callback: () => void) => void) & + ((eventName: 'leave-html-full-screen', callback: () => void) => void) & + (( + eventName: 'app-command', + callback: (event: Event, command: string) => void, + ) => void) & + ((eventName: 'scroll-touch-begin', callback: () => void) => void) & + ((eventName: 'scroll-touch-end', callback: () => void) => void) & + ((eventName: 'scroll-touch-edge', callback: () => void) => void) & + (( + eventName: 'swipe', + callback: (event: Event, direction: string) => void, + ) => void) & + ((eventName: 'sheet-begin', callback: () => void) => void) & + ((eventName: 'sheet-end', callback: () => void) => void) & + ((eventName: 'new-window-for-tab', callback: () => void) => void); + } + declare class BrowserWindowProxy { + blur: () => void; + close: () => void; + eval: (code: string) => void; + focus: () => void; + print: () => void; + postMessage: (message: string, targetOrigin: string) => void; + closed: boolean; + } + declare class ClientRequest { + constructor(options: Object | string): ClientRequest; + setHeader: (name: string, value: {}) => void; + getHeader: ( + name: string, + ) => { + name: string, + }; + removeHeader: (name: string) => void; + write: ( + chunk: string | Buffer, + encoding?: ?string, + callback?: ?Function, + ) => void; + end: (( + chunk?: ?string | Buffer, + encoding?: ?string, + callback?: ?Function, + ) => void) & + (((encoding?: ?string, callback?: ?Function) => void) & + ((callback?: ?Function) => void)); + abort: () => void; + followRedirect: () => void; + chunkedEncoding: boolean; + on: (( + eventName: 'response', + callback: (response: IncomingMessage) => void, + ) => void) & + (( + eventName: 'login', + callback: ( + authInfo: { + isProxy: boolean, + scheme: string, + host: string, + port: number, + realm: string, + }, + callback: Function, + ) => void, + ) => void) & + ((eventName: 'finish', callback: () => void) => void) & + ((eventName: 'abort', callback: () => void) => void) & + ((eventName: 'error', callback: (error: Error) => void) => void) & + ((eventName: 'close', callback: () => void) => void) & + (( + eventName: 'redirect', + callback: ( + statusCode: number, + method: string, + redirectUrl: string, + responseHeaders: {}, + ) => void, + ) => void); + once: (( + eventName: 'response', + callback: (response: IncomingMessage) => void, + ) => void) & + (( + eventName: 'login', + callback: ( + authInfo: { + isProxy: boolean, + scheme: string, + host: string, + port: number, + realm: string, + }, + callback: Function, + ) => void, + ) => void) & + ((eventName: 'finish', callback: () => void) => void) & + ((eventName: 'abort', callback: () => void) => void) & + ((eventName: 'error', callback: (error: Error) => void) => void) & + ((eventName: 'close', callback: () => void) => void) & + (( + eventName: 'redirect', + callback: ( + statusCode: number, + method: string, + redirectUrl: string, + responseHeaders: {}, + ) => void, + ) => void); + } + declare class Cookies { + get: ( + filter: { + url?: ?string, + name?: ?string, + domain?: ?string, + path?: ?string, + secure?: ?boolean, + session?: ?boolean, + }, + callback: Function, + ) => void; + set: ( + details: { + url: string, + name?: ?string, + value?: ?string, + domain?: ?string, + path?: ?string, + secure?: ?boolean, + httpOnly?: ?boolean, + expirationDate?: ?number, + }, + callback: Function, + ) => void; + remove: (url: string, name: string, callback: Function) => void; + flushStore: (callback: Function) => void; + on: ( + eventName: 'changed', + callback: ( + event: Event, + cookie: Cookie, + cause: + | 'explicit' + | 'overwrite' + | 'expired' + | 'evicted' + | 'expired-overwrite', + removed: boolean, + ) => void, + ) => void; + once: ( + eventName: 'changed', + callback: ( + event: Event, + cookie: Cookie, + cause: + | 'explicit' + | 'overwrite' + | 'expired' + | 'evicted' + | 'expired-overwrite', + removed: boolean, + ) => void, + ) => void; + } + declare class Debugger { + attach: (protocolVersion?: ?string) => void; + isAttached: () => boolean; + detach: () => void; + sendCommand: ( + method: string, + commandParams?: ?{}, + callback?: ?Function, + ) => void; + on: (( + eventName: 'detach', + callback: (event: Event, reason: string) => void, + ) => void) & + (( + eventName: 'message', + callback: (event: Event, method: string, params: {}) => void, + ) => void); + once: (( + eventName: 'detach', + callback: (event: Event, reason: string) => void, + ) => void) & + (( + eventName: 'message', + callback: (event: Event, method: string, params: {}) => void, + ) => void); + } + declare class DownloadItem { + setSavePath: (path: string) => void; + getSavePath: () => string; + pause: () => void; + isPaused: () => boolean; + resume: () => void; + canResume: () => boolean; + cancel: () => void; + getURL: () => string; + getMimeType: () => string; + hasUserGesture: () => boolean; + getFilename: () => string; + getTotalBytes: () => number; + getReceivedBytes: () => number; + getContentDisposition: () => string; + getState: () => 'progressing' | 'completed' | 'cancelled' | 'interrupted'; + getURLChain: () => Array; + getLastModifiedTime: () => string; + getETag: () => string; + getStartTime: () => number; + on: (( + eventName: 'updated', + callback: (event: Event, state: 'progressing' | 'interrupted') => void, + ) => void) & + (( + eventName: 'done', + callback: ( + event: Event, + state: 'completed' | 'cancelled' | 'interrupted', + ) => void, + ) => void); + once: (( + eventName: 'updated', + callback: (event: Event, state: 'progressing' | 'interrupted') => void, + ) => void) & + (( + eventName: 'done', + callback: ( + event: Event, + state: 'completed' | 'cancelled' | 'interrupted', + ) => void, + ) => void); + } + declare class IncomingMessage { + statusCode: number; + statusMessage: string; + headers: {}; + httpVersion: string; + httpVersionMajor: number; + httpVersionMinor: number; + on: ((eventName: 'data', callback: (chunk: Buffer) => void) => void) & + ((eventName: 'end', callback: () => void) => void) & + ((eventName: 'aborted', callback: () => void) => void) & + ((eventName: 'error', callback: () => void) => void); + once: ((eventName: 'data', callback: (chunk: Buffer) => void) => void) & + ((eventName: 'end', callback: () => void) => void) & + ((eventName: 'aborted', callback: () => void) => void) & + ((eventName: 'error', callback: () => void) => void); + } + declare class Menu { + constructor(): Menu; + static setApplicationMenu: (menu: Menu | null) => void; + static getApplicationMenu: () => Menu | null; + static sendActionToFirstResponder: (action: string) => void; + static buildFromTemplate: ( + template: Array, + ) => Menu; + popup: (options: { + window?: ?BrowserWindow, + x?: ?number, + y?: ?number, + positioningItem?: ?number, + callback?: ?Function, + }) => void; + closePopup: (browserWindow?: ?BrowserWindow) => void; + append: (menuItem: MenuItem) => void; + getMenuItemById: (id: string) => MenuItem; + insert: (pos: number, menuItem: MenuItem) => void; + items: Array; + on: (( + eventName: 'menu-will-show', + callback: (event: Event) => void, + ) => void) & + (( + eventName: 'menu-will-close', + callback: (event: Event) => void, + ) => void); + once: (( + eventName: 'menu-will-show', + callback: (event: Event) => void, + ) => void) & + (( + eventName: 'menu-will-close', + callback: (event: Event) => void, + ) => void); + } + declare class MenuItem { + constructor(options: { + click?: ?Function, + role?: ?string, + type?: ?'normal' | 'separator' | 'submenu' | 'checkbox' | 'radio', + label?: ?string, + sublabel?: ?string, + accelerator?: ?Accelerator, + icon?: ?NativeImage | string, + enabled?: ?boolean, + visible?: ?boolean, + checked?: ?boolean, + submenu?: ?Array | Menu, + id?: ?string, + position?: ?string, + }): MenuItem; + enabled: boolean; + visible: boolean; + checked: boolean; + label: string; + click: Function; + } + declare class NativeImage { + toPNG: ( + options?: ?{ + scaleFactor?: ?number, + }, + ) => Buffer; + toJPEG: (quality: number) => Buffer; + toBitmap: ( + options?: ?{ + scaleFactor?: ?number, + }, + ) => Buffer; + toDataURL: ( + options?: ?{ + scaleFactor?: ?number, + }, + ) => string; + getBitmap: ( + options?: ?{ + scaleFactor?: ?number, + }, + ) => Buffer; + getNativeHandle: () => Buffer; + isEmpty: () => boolean; + getSize: () => Size; + setTemplateImage: (option: boolean) => void; + isTemplateImage: () => boolean; + crop: (rect: Rectangle) => NativeImage; + resize: (options: { + width?: ?number, + height?: ?number, + quality?: ?string, + }) => NativeImage; + getAspectRatio: () => number; + addRepresentation: (options: { + scaleFactor: number, + width?: ?number, + height?: ?number, + buffer?: ?Buffer, + dataURL?: ?string, + }) => void; + } + declare class Notification { + constructor(options: { + title: string, + subtitle?: ?string, + body: string, + silent?: ?boolean, + icon?: ?string | NativeImage, + hasReply?: ?boolean, + replyPlaceholder?: ?string, + sound?: ?string, + actions?: ?Array, + closeButtonText?: ?string, + }): Notification; + static isSupported: () => boolean; + show: () => void; + close: () => void; + on: ((eventName: 'show', callback: (event: Event) => void) => void) & + ((eventName: 'click', callback: (event: Event) => void) => void) & + ((eventName: 'close', callback: (event: Event) => void) => void) & + (( + eventName: 'reply', + callback: (event: Event, reply: string) => void, + ) => void) & + (( + eventName: 'action', + callback: (event: Event, index: number) => void, + ) => void); + once: ((eventName: 'show', callback: (event: Event) => void) => void) & + ((eventName: 'click', callback: (event: Event) => void) => void) & + ((eventName: 'close', callback: (event: Event) => void) => void) & + (( + eventName: 'reply', + callback: (event: Event, reply: string) => void, + ) => void) & + (( + eventName: 'action', + callback: (event: Event, index: number) => void, + ) => void); + } + declare class Session { + getCacheSize: (callback: Function) => void; + clearCache: (callback: Function) => void; + clearStorageData: (( + options?: ?{ + origin?: ?string, + storages?: ?Array, + quotas?: ?Array, + }, + callback?: ?Function, + ) => void) & + ((callback?: ?Function) => void); + flushStorageData: () => void; + setProxy: ( + config: { + pacScript: string, + proxyRules: string, + proxyBypassRules: string, + }, + callback: Function, + ) => void; + resolveProxy: (url: URL, callback: Function) => void; + setDownloadPath: (path: string) => void; + enableNetworkEmulation: (options: { + offline?: ?boolean, + latency?: ?number, + downloadThroughput?: ?number, + uploadThroughput?: ?number, + }) => void; + disableNetworkEmulation: () => void; + setCertificateVerifyProc: (proc: Function) => void; + setPermissionRequestHandler: (handler: Function | null) => void; + clearHostResolverCache: (callback?: ?Function) => void; + allowNTLMCredentialsForDomains: (domains: string) => void; + setUserAgent: (userAgent: string, acceptLanguages?: ?string) => void; + getUserAgent: () => string; + getBlobData: (identifier: string, callback: Function) => void; + createInterruptedDownload: (options: { + path: string, + urlChain: Array, + mimeType?: ?string, + offset: number, + length: number, + lastModified: string, + eTag: string, + startTime?: ?number, + }) => void; + clearAuthCache: ( + options: RemovePassword | RemoveClientCertificate, + callback?: ?Function, + ) => void; + setPreloads: (preloads: Array) => void; + getPreloads: () => Array; + cookies: Cookies; + webRequest: WebRequest; + protocol: Protocol; + on: ( + eventName: 'will-download', + callback: ( + event: Event, + item: DownloadItem, + webContents: WebContents, + ) => void, + ) => void; + once: ( + eventName: 'will-download', + callback: ( + event: Event, + item: DownloadItem, + webContents: WebContents, + ) => void, + ) => void; + } + declare class TouchBar { + constructor(options: { + items: Array< + | TouchBarButton + | TouchBarColorPicker + | TouchBarGroup + | TouchBarLabel + | TouchBarPopover + | TouchBarScrubber + | TouchBarSegmentedControl + | TouchBarSlider + | TouchBarSpacer, + >, + escapeItem?: + | ?TouchBarButton + | TouchBarColorPicker + | TouchBarGroup + | TouchBarLabel + | TouchBarPopover + | TouchBarScrubber + | TouchBarSegmentedControl + | TouchBarSlider + | TouchBarSpacer + | null, + }): TouchBar; + static TouchBarButton: Class; + static TouchBarColorPicker: Class; + static TouchBarGroup: Class; + static TouchBarLabel: Class; + static TouchBarPopover: Class; + static TouchBarScrubber: Class; + static TouchBarSegmentedControl: Class; + static TouchBarSlider: Class; + static TouchBarSpacer: Class; + escapeItem: TouchBarItem; + } + declare class Tray { + constructor(image: NativeImage | string): Tray; + destroy: () => void; + setImage: (image: NativeImage | string) => void; + setPressedImage: (image: NativeImage | string) => void; + setToolTip: (toolTip: string) => void; + setTitle: (title: string) => void; + setHighlightMode: (mode: 'selection' | 'always' | 'never') => void; + displayBalloon: (options: { + icon?: ?NativeImage | string, + title: string, + content: string, + }) => void; + popUpContextMenu: ((menu?: ?Menu, position?: ?Point) => void) & + ((position?: ?Point) => void); + setContextMenu: (menu: Menu | null) => void; + getBounds: () => Rectangle; + isDestroyed: () => boolean; + on: (( + eventName: 'click', + callback: (event: Event, bounds: Rectangle, position: Point) => void, + ) => void) & + (( + eventName: 'right-click', + callback: (event: Event, bounds: Rectangle) => void, + ) => void) & + (( + eventName: 'double-click', + callback: (event: Event, bounds: Rectangle) => void, + ) => void) & + ((eventName: 'balloon-show', callback: () => void) => void) & + ((eventName: 'balloon-click', callback: () => void) => void) & + ((eventName: 'balloon-closed', callback: () => void) => void) & + ((eventName: 'drop', callback: () => void) => void) & + (( + eventName: 'drop-files', + callback: (event: Event, files: Array) => void, + ) => void) & + (( + eventName: 'drop-text', + callback: (event: Event, text: string) => void, + ) => void) & + ((eventName: 'drag-enter', callback: () => void) => void) & + ((eventName: 'drag-leave', callback: () => void) => void) & + ((eventName: 'drag-end', callback: () => void) => void) & + (( + eventName: 'mouse-enter', + callback: (event: Event, position: Point) => void, + ) => void) & + (( + eventName: 'mouse-leave', + callback: (event: Event, position: Point) => void, + ) => void) & + (( + eventName: 'mouse-move', + callback: (event: Event, position: Point) => void, + ) => void); + once: (( + eventName: 'click', + callback: (event: Event, bounds: Rectangle, position: Point) => void, + ) => void) & + (( + eventName: 'right-click', + callback: (event: Event, bounds: Rectangle) => void, + ) => void) & + (( + eventName: 'double-click', + callback: (event: Event, bounds: Rectangle) => void, + ) => void) & + ((eventName: 'balloon-show', callback: () => void) => void) & + ((eventName: 'balloon-click', callback: () => void) => void) & + ((eventName: 'balloon-closed', callback: () => void) => void) & + ((eventName: 'drop', callback: () => void) => void) & + (( + eventName: 'drop-files', + callback: (event: Event, files: Array) => void, + ) => void) & + (( + eventName: 'drop-text', + callback: (event: Event, text: string) => void, + ) => void) & + ((eventName: 'drag-enter', callback: () => void) => void) & + ((eventName: 'drag-leave', callback: () => void) => void) & + ((eventName: 'drag-end', callback: () => void) => void) & + (( + eventName: 'mouse-enter', + callback: (event: Event, position: Point) => void, + ) => void) & + (( + eventName: 'mouse-leave', + callback: (event: Event, position: Point) => void, + ) => void) & + (( + eventName: 'mouse-move', + callback: (event: Event, position: Point) => void, + ) => void); + } + declare class WebContents { + loadURL: ( + url: string, + options?: ?{ + httpReferrer?: ?string, + userAgent?: ?string, + extraHeaders?: ?string, + postData?: + | ?Array + | Array + | Array + | Array, + baseURLForDataURL?: ?string, + }, + ) => void; + loadFile: (filePath: string) => void; + downloadURL: (url: string) => void; + getURL: () => string; + getTitle: () => string; + isDestroyed: () => boolean; + focus: () => void; + isFocused: () => boolean; + isLoading: () => boolean; + isLoadingMainFrame: () => boolean; + isWaitingForResponse: () => boolean; + stop: () => void; + reload: () => void; + reloadIgnoringCache: () => void; + canGoBack: () => boolean; + canGoForward: () => boolean; + canGoToOffset: (offset: number) => boolean; + clearHistory: () => void; + goBack: () => void; + goForward: () => void; + goToIndex: (index: number) => void; + goToOffset: (offset: number) => void; + isCrashed: () => boolean; + setUserAgent: (userAgent: string) => void; + getUserAgent: () => string; + insertCSS: (css: string) => void; + executeJavaScript: ( + code: string, + userGesture?: ?boolean, + callback?: ?Function, + ) => Promise; + setIgnoreMenuShortcuts: (ignore: boolean) => void; + setAudioMuted: (muted: boolean) => void; + isAudioMuted: () => boolean; + setZoomFactor: (factor: number) => void; + getZoomFactor: (callback: Function) => void; + setZoomLevel: (level: number) => void; + getZoomLevel: (callback: Function) => void; + setVisualZoomLevelLimits: ( + minimumLevel: number, + maximumLevel: number, + ) => void; + setLayoutZoomLevelLimits: ( + minimumLevel: number, + maximumLevel: number, + ) => void; + undo: () => void; + redo: () => void; + cut: () => void; + copy: () => void; + copyImageAt: (x: number, y: number) => void; + paste: () => void; + pasteAndMatchStyle: () => void; + delete: () => void; + selectAll: () => void; + unselect: () => void; + replace: (text: string) => void; + replaceMisspelling: (text: string) => void; + insertText: (text: string) => void; + findInPage: ( + text: string, + options?: ?{ + forward?: ?boolean, + findNext?: ?boolean, + matchCase?: ?boolean, + wordStart?: ?boolean, + medialCapitalAsWordStart?: ?boolean, + }, + ) => number; + stopFindInPage: ( + action: 'clearSelection' | 'keepSelection' | 'activateSelection', + ) => void; + capturePage: ((rect?: ?Rectangle, callback: Function) => void) & + ((callback: Function) => void); + hasServiceWorker: (callback: Function) => void; + unregisterServiceWorker: (callback: Function) => void; + getPrinters: () => Array; + print: (( + options?: ?{ + silent?: ?boolean, + printBackground?: ?boolean, + deviceName?: ?string, + }, + callback?: ?Function, + ) => void) & + ((callback?: ?Function) => void); + printToPDF: ( + options: { + marginsType?: ?number, + pageSize?: ?string, + printBackground?: ?boolean, + printSelectionOnly?: ?boolean, + landscape?: ?boolean, + }, + callback: Function, + ) => void; + addWorkSpace: (path: string) => void; + removeWorkSpace: (path: string) => void; + setDevToolsWebContents: (devToolsWebContents: WebContents) => void; + openDevTools: ( + options?: ?{ + mode: 'right' | 'bottom' | 'undocked' | 'detach', + }, + ) => void; + closeDevTools: () => void; + isDevToolsOpened: () => boolean; + isDevToolsFocused: () => boolean; + toggleDevTools: () => void; + inspectElement: (x: number, y: number) => void; + inspectServiceWorker: () => void; + send: (channel: string, ...args: Array) => void; + enableDeviceEmulation: (parameters: { + screenPosition: 'desktop' | 'mobile', + screenSize: Size, + viewPosition: Point, + deviceScaleFactor: number, + viewSize: Size, + scale: number, + }) => void; + disableDeviceEmulation: () => void; + sendInputEvent: (event: { + type: + | 'mouseDown' + | 'mouseUp' + | 'mouseEnter' + | 'mouseLeave' + | 'contextMenu' + | 'mouseWheel' + | 'mouseMove' + | 'keyDown' + | 'keyUp' + | 'char', + modifiers: Array, + }) => void; + beginFrameSubscription: (( + onlyDirty?: ?boolean, + callback: Function, + ) => void) & + ((callback: Function) => void); + endFrameSubscription: () => void; + startDrag: (item: { + file: string, + icon: NativeImage, + }) => void; + savePage: ( + fullPath: string, + saveType: 'HTMLOnly' | 'HTMLComplete' | 'MHTML', + callback: Function, + ) => boolean; + showDefinitionForSelection: () => void; + setSize: (options: { + enableAutoSize?: ?boolean, + normal?: ?Size, + min?: ?Size, + max?: ?Size, + }) => void; + isOffscreen: () => boolean; + startPainting: () => void; + stopPainting: () => void; + isPainting: () => boolean; + setFrameRate: (fps: number) => void; + getFrameRate: () => number; + invalidate: () => void; + getWebRTCIPHandlingPolicy: () => string; + setWebRTCIPHandlingPolicy: ( + policy: + | 'default' + | 'default_public_interface_only' + | 'default_public_and_private_interfaces' + | 'disable_non_proxied_udp', + ) => void; + getOSProcessId: () => number; + id: number; + session: Session; + hostWebContents: WebContents; + devToolsWebContents: WebContents; + debugger: Debugger; + on: ((eventName: 'did-finish-load', callback: () => void) => void) & + (( + eventName: 'did-fail-load', + callback: ( + event: Event, + errorCode: number, + errorDescription: string, + validatedURL: string, + isMainFrame: boolean, + ) => void, + ) => void) & + (( + eventName: 'did-frame-finish-load', + callback: (event: Event, isMainFrame: boolean) => void, + ) => void) & + ((eventName: 'did-start-loading', callback: () => void) => void) & + ((eventName: 'did-stop-loading', callback: () => void) => void) & + (( + eventName: 'did-get-response-details', + callback: ( + event: Event, + status: boolean, + newURL: string, + originalURL: string, + httpResponseCode: number, + requestMethod: string, + referrer: string, + headers: {}, + resourceType: string, + ) => void, + ) => void) & + (( + eventName: 'did-get-redirect-request', + callback: ( + event: Event, + oldURL: string, + newURL: string, + isMainFrame: boolean, + httpResponseCode: number, + requestMethod: string, + referrer: string, + headers: {}, + ) => void, + ) => void) & + ((eventName: 'dom-ready', callback: (event: Event) => void) => void) & + (( + eventName: 'page-favicon-updated', + callback: (event: Event, favicons: Array) => void, + ) => void) & + (( + eventName: 'new-window', + callback: ( + event: Event, + url: string, + frameName: string, + disposition: + | 'default' + | 'foreground-tab' + | 'background-tab' + | 'new-window' + | 'save-to-disk' + | 'other', + options: {}, + additionalFeatures: Array, + ) => void, + ) => void) & + (( + eventName: 'will-navigate', + callback: (event: Event, url: string) => void, + ) => void) & + (( + eventName: 'did-navigate', + callback: (event: Event, url: string) => void, + ) => void) & + (( + eventName: 'did-navigate-in-page', + callback: (event: Event, url: string, isMainFrame: boolean) => void, + ) => void) & + (( + eventName: 'will-prevent-unload', + callback: (event: Event) => void, + ) => void) & + (( + eventName: 'crashed', + callback: (event: Event, killed: boolean) => void, + ) => void) & + (( + eventName: 'plugin-crashed', + callback: (event: Event, name: string, version: string) => void, + ) => void) & + ((eventName: 'destroyed', callback: () => void) => void) & + (( + eventName: 'before-input-event', + callback: ( + event: Event, + input: { + type: string, + key: string, + code: string, + isAutoRepeat: boolean, + shift: boolean, + control: boolean, + alt: boolean, + meta: boolean, + }, + ) => void, + ) => void) & + ((eventName: 'devtools-opened', callback: () => void) => void) & + ((eventName: 'devtools-closed', callback: () => void) => void) & + ((eventName: 'devtools-focused', callback: () => void) => void) & + (( + eventName: 'certificate-error', + callback: ( + event: Event, + url: string, + error: string, + certificate: Certificate, + callback: Function, + ) => void, + ) => void) & + (( + eventName: 'select-client-certificate', + callback: ( + event: Event, + url: URL, + certificateList: Array, + callback: Function, + ) => void, + ) => void) & + (( + eventName: 'login', + callback: ( + event: Event, + request: { + method: string, + url: URL, + referrer: URL, + }, + authInfo: { + isProxy: boolean, + scheme: string, + host: string, + port: number, + realm: string, + }, + callback: Function, + ) => void, + ) => void) & + (( + eventName: 'found-in-page', + callback: ( + event: Event, + result: { + requestId: number, + activeMatchOrdinal: number, + matches: number, + selectionArea: {}, + finalUpdate: boolean, + }, + ) => void, + ) => void) & + ((eventName: 'media-started-playing', callback: () => void) => void) & + ((eventName: 'media-paused', callback: () => void) => void) & + (( + eventName: 'did-change-theme-color', + callback: (event: Event, color: string | null) => void, + ) => void) & + (( + eventName: 'update-target-url', + callback: (event: Event, url: string) => void, + ) => void) & + (( + eventName: 'cursor-changed', + callback: ( + event: Event, + type: string, + image?: ?NativeImage, + scale?: ?number, + size?: ?Size, + hotspot?: ?Point, + ) => void, + ) => void) & + (( + eventName: 'context-menu', + callback: ( + event: Event, + params: { + x: number, + y: number, + linkURL: string, + linkText: string, + pageURL: string, + frameURL: string, + srcURL: string, + mediaType: + | 'none' + | 'image' + | 'audio' + | 'video' + | 'canvas' + | 'file' + | 'plugin', + hasImageContents: boolean, + isEditable: boolean, + selectionText: string, + titleText: string, + misspelledWord: string, + frameCharset: string, + inputFieldType: string, + menuSourceType: + | 'none' + | 'mouse' + | 'keyboard' + | 'touch' + | 'touchMenu', + mediaFlags: { + inError: boolean, + isPaused: boolean, + isMuted: boolean, + hasAudio: boolean, + isLooping: boolean, + isControlsVisible: boolean, + canToggleControls: boolean, + canRotate: boolean, + }, + editFlags: { + canUndo: boolean, + canRedo: boolean, + canCut: boolean, + canCopy: boolean, + canPaste: boolean, + canDelete: boolean, + canSelectAll: boolean, + }, + }, + ) => void, + ) => void) & + (( + eventName: 'select-bluetooth-device', + callback: ( + event: Event, + devices: Array, + callback: Function, + ) => void, + ) => void) & + (( + eventName: 'paint', + callback: ( + event: Event, + dirtyRect: Rectangle, + image: NativeImage, + ) => void, + ) => void) & + ((eventName: 'devtools-reload-page', callback: () => void) => void) & + (( + eventName: 'will-attach-webview', + callback: (event: Event, webPreferences: {}, params: {}) => void, + ) => void) & + (( + eventName: 'did-attach-webview', + callback: (event: Event, webContents: WebContents) => void, + ) => void) & + (( + eventName: 'console-message', + callback: ( + level: number, + message: string, + line: number, + sourceId: string, + ) => void, + ) => void); + once: ((eventName: 'did-finish-load', callback: () => void) => void) & + (( + eventName: 'did-fail-load', + callback: ( + event: Event, + errorCode: number, + errorDescription: string, + validatedURL: string, + isMainFrame: boolean, + ) => void, + ) => void) & + (( + eventName: 'did-frame-finish-load', + callback: (event: Event, isMainFrame: boolean) => void, + ) => void) & + ((eventName: 'did-start-loading', callback: () => void) => void) & + ((eventName: 'did-stop-loading', callback: () => void) => void) & + (( + eventName: 'did-get-response-details', + callback: ( + event: Event, + status: boolean, + newURL: string, + originalURL: string, + httpResponseCode: number, + requestMethod: string, + referrer: string, + headers: {}, + resourceType: string, + ) => void, + ) => void) & + (( + eventName: 'did-get-redirect-request', + callback: ( + event: Event, + oldURL: string, + newURL: string, + isMainFrame: boolean, + httpResponseCode: number, + requestMethod: string, + referrer: string, + headers: {}, + ) => void, + ) => void) & + ((eventName: 'dom-ready', callback: (event: Event) => void) => void) & + (( + eventName: 'page-favicon-updated', + callback: (event: Event, favicons: Array) => void, + ) => void) & + (( + eventName: 'new-window', + callback: ( + event: Event, + url: string, + frameName: string, + disposition: + | 'default' + | 'foreground-tab' + | 'background-tab' + | 'new-window' + | 'save-to-disk' + | 'other', + options: {}, + additionalFeatures: Array, + ) => void, + ) => void) & + (( + eventName: 'will-navigate', + callback: (event: Event, url: string) => void, + ) => void) & + (( + eventName: 'did-navigate', + callback: (event: Event, url: string) => void, + ) => void) & + (( + eventName: 'did-navigate-in-page', + callback: (event: Event, url: string, isMainFrame: boolean) => void, + ) => void) & + (( + eventName: 'will-prevent-unload', + callback: (event: Event) => void, + ) => void) & + (( + eventName: 'crashed', + callback: (event: Event, killed: boolean) => void, + ) => void) & + (( + eventName: 'plugin-crashed', + callback: (event: Event, name: string, version: string) => void, + ) => void) & + ((eventName: 'destroyed', callback: () => void) => void) & + (( + eventName: 'before-input-event', + callback: ( + event: Event, + input: { + type: string, + key: string, + code: string, + isAutoRepeat: boolean, + shift: boolean, + control: boolean, + alt: boolean, + meta: boolean, + }, + ) => void, + ) => void) & + ((eventName: 'devtools-opened', callback: () => void) => void) & + ((eventName: 'devtools-closed', callback: () => void) => void) & + ((eventName: 'devtools-focused', callback: () => void) => void) & + (( + eventName: 'certificate-error', + callback: ( + event: Event, + url: string, + error: string, + certificate: Certificate, + callback: Function, + ) => void, + ) => void) & + (( + eventName: 'select-client-certificate', + callback: ( + event: Event, + url: URL, + certificateList: Array, + callback: Function, + ) => void, + ) => void) & + (( + eventName: 'login', + callback: ( + event: Event, + request: { + method: string, + url: URL, + referrer: URL, + }, + authInfo: { + isProxy: boolean, + scheme: string, + host: string, + port: number, + realm: string, + }, + callback: Function, + ) => void, + ) => void) & + (( + eventName: 'found-in-page', + callback: ( + event: Event, + result: { + requestId: number, + activeMatchOrdinal: number, + matches: number, + selectionArea: {}, + finalUpdate: boolean, + }, + ) => void, + ) => void) & + ((eventName: 'media-started-playing', callback: () => void) => void) & + ((eventName: 'media-paused', callback: () => void) => void) & + (( + eventName: 'did-change-theme-color', + callback: (event: Event, color: string | null) => void, + ) => void) & + (( + eventName: 'update-target-url', + callback: (event: Event, url: string) => void, + ) => void) & + (( + eventName: 'cursor-changed', + callback: ( + event: Event, + type: string, + image?: ?NativeImage, + scale?: ?number, + size?: ?Size, + hotspot?: ?Point, + ) => void, + ) => void) & + (( + eventName: 'context-menu', + callback: ( + event: Event, + params: { + x: number, + y: number, + linkURL: string, + linkText: string, + pageURL: string, + frameURL: string, + srcURL: string, + mediaType: + | 'none' + | 'image' + | 'audio' + | 'video' + | 'canvas' + | 'file' + | 'plugin', + hasImageContents: boolean, + isEditable: boolean, + selectionText: string, + titleText: string, + misspelledWord: string, + frameCharset: string, + inputFieldType: string, + menuSourceType: + | 'none' + | 'mouse' + | 'keyboard' + | 'touch' + | 'touchMenu', + mediaFlags: { + inError: boolean, + isPaused: boolean, + isMuted: boolean, + hasAudio: boolean, + isLooping: boolean, + isControlsVisible: boolean, + canToggleControls: boolean, + canRotate: boolean, + }, + editFlags: { + canUndo: boolean, + canRedo: boolean, + canCut: boolean, + canCopy: boolean, + canPaste: boolean, + canDelete: boolean, + canSelectAll: boolean, + }, + }, + ) => void, + ) => void) & + (( + eventName: 'select-bluetooth-device', + callback: ( + event: Event, + devices: Array, + callback: Function, + ) => void, + ) => void) & + (( + eventName: 'paint', + callback: ( + event: Event, + dirtyRect: Rectangle, + image: NativeImage, + ) => void, + ) => void) & + ((eventName: 'devtools-reload-page', callback: () => void) => void) & + (( + eventName: 'will-attach-webview', + callback: (event: Event, webPreferences: {}, params: {}) => void, + ) => void) & + (( + eventName: 'did-attach-webview', + callback: (event: Event, webContents: WebContents) => void, + ) => void) & + (( + eventName: 'console-message', + callback: ( + level: number, + message: string, + line: number, + sourceId: string, + ) => void, + ) => void); + } + declare class WebRequest { + onBeforeRequest: (( + filter?: ?{ + urls: Array, + }, + listener: Function, + ) => void) & + ((listener: Function) => void); + onBeforeSendHeaders: (( + filter?: ?{ + urls: Array, + }, + listener: Function, + ) => void) & + ((listener: Function) => void); + onSendHeaders: (( + filter?: ?{ + urls: Array, + }, + listener: Function, + ) => void) & + ((listener: Function) => void); + onHeadersReceived: (( + filter?: ?{ + urls: Array, + }, + listener: Function, + ) => void) & + ((listener: Function) => void); + onResponseStarted: (( + filter?: ?{ + urls: Array, + }, + listener: Function, + ) => void) & + ((listener: Function) => void); + onBeforeRedirect: (( + filter?: ?{ + urls: Array, + }, + listener: Function, + ) => void) & + ((listener: Function) => void); + onCompleted: (( + filter?: ?{ + urls: Array, + }, + listener: Function, + ) => void) & + ((listener: Function) => void); + onErrorOccurred: (( + filter?: ?{ + urls: Array, + }, + listener: Function, + ) => void) & + ((listener: Function) => void); + } + declare class TouchBarButton { + constructor(options: { + label?: ?string, + backgroundColor?: ?string, + icon?: ?NativeImage, + iconPosition?: ?'left' | 'right' | 'overlay', + click?: ?Function, + }): TouchBarButton; + label: string; + backgroundColor: string; + icon: NativeImage; + } + declare class TouchBarColorPicker { + constructor(options: { + availableColors?: ?Array, + selectedColor?: ?string, + change?: ?Function, + }): TouchBarColorPicker; + availableColors: Array; + selectedColor: string; + } + declare class TouchBarGroup { + constructor(options: { + items: TouchBar, + }): TouchBarGroup; + } + declare class TouchBarLabel { + constructor(options: { + label?: ?string, + textColor?: ?string, + }): TouchBarLabel; + label: string; + textColor: string; + } + declare class TouchBarPopover { + constructor(options: { + label?: ?string, + icon?: ?NativeImage, + items?: ?TouchBar, + showCloseButton?: ?boolean, + }): TouchBarPopover; + label: string; + icon: NativeImage; + } + declare class TouchBarScrubber { + constructor(options: { + items: Array, + select: Function, + highlight: Function, + selectedStyle: string, + overlayStyle: string, + showArrowButtons: boolean, + mode: string, + continuous: boolean, + }): TouchBarScrubber; + items: Array; + selectedStyle: string; + overlayStyle: string; + showArrowButtons: boolean; + mode: string; + continuous: boolean; + } + declare class TouchBarSegmentedControl { + constructor(options: { + segmentStyle?: + | ?'automatic' + | 'rounded' + | 'textured-rounded' + | 'round-rect' + | 'textured-square' + | 'capsule' + | 'small-square' + | 'separated', + mode?: ?'single' | 'multiple' | 'buttons', + segments: Array, + selectedIndex?: ?number, + change: Function, + }): TouchBarSegmentedControl; + segmentStyle: string; + segments: Array; + selectedIndex: number; + } + declare class TouchBarSlider { + constructor(options: { + label?: ?string, + value?: ?number, + minValue?: ?number, + maxValue?: ?number, + change?: ?Function, + }): TouchBarSlider; + label: string; + value: number; + minValue: number; + maxValue: number; + } + declare class TouchBarSpacer { + constructor(options: { + size?: ?'small' | 'large' | 'flexible', + }): TouchBarSpacer; + } + declare type Accelerator = any; + declare type ReadableStream = any; + declare type MenuItemConstructorOptions = any; + declare type Protocol = any; + declare type TouchBarItem = any; +} diff --git a/flow-libs/electron.js.flow b/flow-libs/electron.js.flow deleted file mode 100644 index 45569bc7..00000000 --- a/flow-libs/electron.js.flow +++ /dev/null @@ -1,925 +0,0 @@ -/** - * Copyright (c) 2015-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the license found in the LICENSE file in - * the root directory of this source tree. - * - * @flow - */ - -// The properties on this module depend on whether the importer is the main -// process or a renderer process. -declare module 'electron' { - // Main process: - declare var app: ?electron$app; - declare var autoUpdater: ?electron$autoUpdater; - // $FlowFixMe - declare var BrowserWindow: ?typeof electron$BrowserWindow; - declare var contentTracing: ?electron$contentTracing; - declare var dialog: ?electron$dialog; - declare var globalShortcut: ?electron$globalShortcut; - declare var ipcMain: ?electron$IpcMain; - // $FlowFixMe - declare var Menu: ?typeof electron$Menu; - // $FlowFixMe - declare var MenuItem: ?typeof electron$MenuItem; - declare var powerMonitor: ?electron$powerMonitor; - declare var powerSaveBlocker: ?electron$powerSaveBlocker; - declare var protocol: ?electron$protocol; - declare var session: ?electron$session; - declare var electron$Tray: ?typeof electron$Tray; - declare var webContents: ?electron$webContents; - - // Renderer process: - declare var desktopCapturer: ?electron$desktopCapturer; - declare var ipcRenderer: ?electron$IpcRenderer; - declare var remote: ?electron$remote; - declare var webFrame: ?electron$webFrame; - - // Both: - declare var clipboard: electron$clipboard; - declare var crashReporter: electron$crashReporter; - declare var nativeImage: electron$nativeImage; - declare var screen: electron$Screen; - declare var shell: electron$shell; - - declare type electron$BrowserWindow = electron$BrowserWindow; - declare type electron$Menu = electron$Menu; - declare type electron$MenuItem = electron$MenuItem; - declare type electron$NativeImage = electron$NativeImage; - declare type electron$Screen = electron$Screen; - declare type electron$WebContents = electron$WebContents; -} - -// very common struct -type electron$rect = { - x: number, - y: number, - width: number, - height: number, -}; - -//------------------------------------------------------------------------------ -// Custom DOM Elements -//------------------------------------------------------------------------------ - -/** - * https://github.com/electron/electron/blob/master/docs/api/file-object.md - */ - -// HTML5 File API but with a `path` attribute added. - -/** - * https://github.com/electron/electron/blob/master/docs/api/web-view-tag.md - */ - -declare class WebviewElement extends HTMLElement { - src: string, - nodeintegration: boolean, - disablewebsecurity: boolean, - - executeJavaScript(code: string, userGesture: ?boolean): void, - getTitle(): string, - // This used to be `getUrl`, but the old version was dropped in the electron bundled with Atom - // 1.12, and the new version exists at least in Atom 1.10.2 onward. - getURL(): string, - // Not sure when this was introduced - stop?: () => void, - insertCSS(code: string): void, - send(channel: string, ...args: Array): void, - openDevTools(): void, -} - -/** - * https://github.com/electron/electron/blob/master/docs/api/window-open.md - */ - -// window.open - -//------------------------------------------------------------------------------ -// Modules for the Main Process -//------------------------------------------------------------------------------ - -/** - * https://github.com/electron/electron/blob/master/docs/api/app.md - */ - -type electron$app = { - quit(): void, - exit(exitCode?: number): void, - relaunch(options?: {args?: Array, execPath?: string}): void, - isReady(): boolean, - focus(): void, - getAppPath(): string, - getPath(name: string): string, - setPath(name: string, path: string): void, - getVersion(): string, - getName(): string, - setName(name: string): void, - getLocale(): string, - makeSingleInstance(callback: (argv: Array, workingDirectory: string) => void): boolean, - releaseSingleInstance(): void, - disableHardwareAcceleration(): void, -}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/auto-updater.md - */ - -type electron$autoUpdater = {}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/browser-window.md - */ - -type electron$BrowserWindowOptions = { - width?: number, - height?: number, - x?: number, - y?: number, - useContentSize?: boolean, - center?: boolean, - minWidth?: number, - minHeight?: number, - maxWidth?: number, - maxHeight?: number, - resizable?: boolean, - movable?: boolean, - minimizable?: boolean, - maximizable?: boolean, - closable?: boolean, - focusable?: boolean, - alwaysOnTop?: boolean, - fullscreen?: boolean, - fullscreenable?: boolean, - skipTaskbar?: boolean, - kiosk?: boolean, - title?: string, - icon?: electron$NativeImage, - show?: boolean, - frame?: boolean, - parent?: electron$BrowserWindow, - modal?: boolean, - acceptFirstMouse?: boolean, - disableAutoHideCursor?: boolean, - autoHideMenuBar?: boolean, - enableLargerThanScreen?: boolean, - backgroundColor?: string, - hasShadow?: boolean, - darkTheme?: boolean, - transparent?: boolean, - type?: 'desktop' | 'dock' | 'toolbar' | 'splash' | 'notification' | - /* macOS */ 'desktop' | 'textured' | - /* Windows */ 'toolbar', - titleBarStyle?: 'default' | 'hidden' | 'hidden-inset', - thickFrame?: boolean, - webPreferences?: electron$BrowserWindowWebPreferences, -}; - -type electron$BrowserWindowWebPreferences = { - nodeIntegration?: boolean, - preload?: string, - session?: electron$session, - partition?: string, - zoomFactor?: number, - javascript?: boolean, - webSecurity?: boolean, - allowDisplayingInsecureContent?: boolean, - allowRunningInsecureContent?: boolean, - images?: boolean, - textAreasAreResizable?: boolean, - webgl?: boolean, - webaudio?: boolean, - plugins?: boolean, - experimentalFeatures?: boolean, - experimentalCanvasFeatures?: boolean, - scrollBounce?: boolean, - blinkFeatures?: string, - disableBlinkFeatures?: string, - defaultFontFamily?: { - standard?: string, - serif?: string, - sansSerif?: string, - monospace?: string, - }, - defaultFontSize?: number, - defaultMonospaceFontSize?: number, - minimumFontSize?: number, - defaultEncoding?: string, - backgroundThrottling?: boolean, - offscreen?: boolean, -}; - -type electron$BrowserWindowEvents = - | 'page-title-updated' - | 'close' - | 'closed' - | 'unresponsive' - | 'responsive' - | 'blur' - | 'focus' - | 'show' - | 'hide' - | 'ready-to-show' - | 'maximize' - | 'unmaximize' - | 'minimize' - | 'restore' - | 'resize' - | 'move' - | 'moved' - | 'enter-full-screen' - | 'leave-full-screen' - | 'enter-html-full-screen' - | 'leave-html-full-screen' - | 'context-menu' - | 'app-command' // Windows - | 'scroll-touch-begin' // macOS - | 'scroll-touch-end' // macOS - | 'swipe'; // macOS - -type electron$BrowserWindowListener = ( - event: electron$BrowserWindowEvents, - callback: (event: Object, ...args: Array) => void, -) => electron$BrowserWindow; - -declare class electron$BrowserWindow { - constructor(options: electron$BrowserWindowOptions): void, - on: electron$BrowserWindowListener, - once: electron$BrowserWindowListener, - removeAllListeners(event?: electron$BrowserWindowEvents): electron$BrowserWindow, - removeListener(event?: electron$BrowserWindowEvents, callback: Function): electron$BrowserWindow, - send(channel: string, ...args: Array): void, - - static getAllWindows(): Array, - static getFocusedWindow(): ?electron$BrowserWindow, - static fromWebContents(webContents: electron$WebContents): ?electron$BrowserWindow, - static fromId(id: number): ?electron$BrowserWindow, - static addDevToolsExtension(path: string): void, - static removeDevToolsExtension(name: string): void, - static getDevToolsExtensions(): {[name: string]: {[name: string]: string}}, - - webContents: electron$WebContents, - id: number, - destroy(): void, - close(): void, - focus(): void, - blur(): void, - isFocused(): boolean, - show(): void, - showInactive(): void, - hide(): void, - isVisible(): boolean, - isModal(): boolean, - maximize(): void, - unmaximize(): void, - isMaximized(): boolean, - minimize(): void, - restore(): void, - isMinimized(): boolean, - setFullScreen(flag: boolean): void, - isFullScreen(): boolean, - setAspectRatio(aspectRatio: number, extraSize?: {width: number, height: number}): void, // macOS - setBounds(options: electron$rect, /* macOS */ animate?: boolean): void, - getBounds(): electron$rect, - setSize(width: number, height: number, /* macOS */ animate?: boolean): void, - getSize(): [number, number], - setContentSize(width: number, height: number, /* macOS */ animate?: boolean): void, - getContentSize(): [number, number], - setMinimumSize(width: number, height: number): void, - getMinimumSize(): [number, number], - setMaximumSize(width: number, height: number): void, - getMaximumSize(): [number, number], - setResizable(resizable: boolean): void, - isResizable(): boolean, - setMovable(movable: boolean): void, // macOS Windows - isMovable(): boolean, // macOS Windows - setMinimizable(minimizable: boolean): void, // macOS Windows - isMinimizable(): boolean, // macOS Windows - setMaximizable(maximizable: boolean): void, // macOS Windows - isMaximizable(): boolean, // macOS Windows - setFullScreenable(fullscreenable: boolean): void, - isFullScreenable(): boolean, - setClosable(closable: boolean): void, // macOS Windows - isClosable(): boolean, // macOS Windows - setAlwaysOnTop(flag: boolean): void, - isAlwaysOnTop(): boolean, - center(): void, - setPosition(x: number, y: number, /* macOS */ animate?: boolean): void, - getPosition(): [number, number], - setTitle(title: string): void, - getTitle(): string, - setSheetOffset(offsetY: number, offsetX?: number): void, // macOS - flashFrame(flag: boolean): void, - setSkipTaskbar(skip: boolean): void, - setKiosk(flag: boolean): void, - isKiosk(): boolean, - getNativeWindowHandle(): Buffer, - hookWindowMessage(message: number, callback: Function): void, // Windows - isWindowMessageHooked(message: number): boolean, // Windows - unhookWindowMessage(message: number): void, // Windows - unhookAllWindowMessages(): void, // Windows - setRepresentedFilename(filename: string): void, // macOS - getRepresentedFilename(): string, // macOS - setDocumentEdited(edited: boolean): void, // macOS - isDocumentEdited(): boolean, // macOS - focusOnWebView(): void, - blurWebView(): void, - capturePage(rect: electron$rect, callback: (image: electron$NativeImage) => void): void, - capturePage(callback: (image: electron$NativeImage) => void): void, - loadURL( - url: string, - options?: {httpReferrer?: string, userAgent?: string, extraHeaders?: string}, - ): void, - reload(): void, - setMenu(menu: ?electron$Menu): void, // Linux Windows - setProgressBar(progress: number): void, - setOverlayIcon(overlay: electron$NativeImage, description: string): void, // Windows - setHasShadow(hasShadow: boolean): void, // macOS - hasShadow(): boolean, // macOS - setThumbarButtons(buttons: Array<{ - icon: electron$NativeImage, - click: Function, - tooltip?: string, - flags?: Array<'enabled' | 'disabled' | 'dismissonclick' | 'nobackground' | - 'hidden' | 'noninteractive'>, - }>): void, // Windows - setThumbnailClip(region: electron$rect): void, // Windows - showDefinitionForSelection(): void, // macOS - setIcon(icon: electron$NativeImage): void, // Windows Linux - setAutoHideMenuBar(hide: boolean): void, - isMenuBarAutoHide(): boolean, - setMenuBarVisibility(visible: boolean): void, - isMenuBarVisible(): boolean, - setVisibleOnAllWorkspaces(visible: boolean): void, - isVisibleOnAllWorkspaces(): boolean, - setIgnoreMouseEvents(ignore: boolean): void, - setContentProtection(enable: boolean): void, // macOS Windows - setFocusable(focusable: boolean): void, // Windows - setParentWindow(parent: electron$BrowserWindow): void, // Linux macOS - getParentWindow(): ?electron$BrowserWindow, - getChildWindows(): Array, - - // Atom sets this during window setup (see: src/main-process/atom-window.coffee). - loadSettings?: Object, -} - -/** - * https://github.com/electron/electron/blob/master/docs/api/content-tracing.md - */ - -type electron$contentTracing = { - startRecording( - options: {categoryFilter: string, traceOptions: string}, - callback: () => mixed, - ): boolean, - - stopRecording( - resultFilePath: ?string, - callback: (resultFilePath: string) => mixed, - ): void, -}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/dialog.md - */ - -type electron$dialog = { - showOpenDialog( - browserWindow?: electron$BrowserWindow, - options: electron$dialogOpenOptions, - callback?: Function, - ): Array, - showSaveDialog( - browserWindow?: electron$BrowserWindow, - options: electron$dialogSaveOptions, - callback?: Function, - ): string, - showMessageBox( - browserWindow?: electron$BrowserWindow, - options: electron$dialogMessageBoxOptions, - callback?: Function, - ): number, - showErrorBox(title: string, content: string): void, -}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/dialog.md - * See `dialog.showOpenDialog()` - */ - -type electron$dialogOpenOptions = { - title?: string, - defaultPath?: string, - buttonLabel?: string, - filters?: Array, - properties?: Array, -}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/dialog.md - * See `dialog.showSaveDialog()` - */ - -type electron$dialogSaveOptions = { - title?: string, - defaultPath?: string, - buttonLabel?: string, - filters?: Array, -}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/dialog.md - * See `dialog.showMessageBox()` - */ - -type electron$dialogMessageBoxOptions = { - type?: string, - buttons?: Array, - defaultId?: number, - title?: string, - message?: string, - detail?: string, - icon?: electron$NativeImage, - cancelId?: number, - noLink?: boolean, -}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/global-shortcut.md - */ - -type electron$globalShortcut = { - register: (string, () => void) => boolean, - isRegistered: (string) => boolean, - unregister: (string) => void, - unregisterAll: () => void, -}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/ipc-main.md - */ - -declare class electron$IpcMain extends events$EventEmitter {} - -/** - * https://github.com/electron/electron/blob/master/docs/api/menu.md - */ - -declare class electron$Menu { - static setApplicationMenu(menu: electron$Menu): void, - static getApplicationMenu(): ?electron$Menu, - static sendActionToFirstResponder(action: string): void, - static buildFromTemplate(templates: Array): electron$Menu, - popup({| - window?: electron$BrowserWindow, - x?: number, - y?: number, - positioningItem?: number, - callback?: Function, - // Note: this is always true in Electron 2.0+. - async?: boolean, - |}): void, - closePopup(window?: electron$BrowserWindow): void, - append(menuItem: electron$MenuItem): void, - insert(pos: number, menuItem: electron$MenuItem): void, - items: Array, -} - -/** - * https://github.com/electron/electron/blob/master/docs/api/menu-item.md - */ - -type electron$MenuItemOptions = { - click?: ( - menuItem: electron$MenuItem, - browserWindow: electron$BrowserWindow, - event: Object - ) => void, - role?: 'undo' | 'redo' | 'cut' | 'copy' | 'paste' | 'pasteandmatchstyle' | - 'selectall' | 'delete' | 'minimize' | 'close' | 'quit' | 'togglefullscreen' | - // macOS-only - 'about' | 'hide' | 'hideothers' | 'unhide' | 'front' | 'zoom' | 'window' | - 'help' | 'services', - type?: 'normal' | 'separator' | 'submenu' | 'checkbox' | 'radio', - label?: string, - sublabel?: string, - accelerator?: string, - icon?: electron$NativeImage, - enabled?: boolean, - visible?: boolean, - checked?: boolean, - submenu?: electron$MenuItem | electron$MenuItemOptions, - id?: string, - position?: string, -}; - -declare class electron$MenuItem { - constructor(options: electron$MenuItemOptions): void, - enabled: boolean, - visible: boolean, - checked: boolean, -} - -/** - * https://github.com/electron/electron/blob/master/docs/api/power-monitor.md - */ - -type electron$powerMonitor = {}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/power-save-blocker.md - */ - -type electron$powerSaveBlocker = {}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/protocol.md - */ - -type electron$protocol = {}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/session.md - */ - -type electron$session = {}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/system-preferences.md - */ - -type electron$systemPreferences = {}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/tray.md - */ - -declare class electron$Tray {} - -/** - * https://github.com/electron/electron/blob/master/docs/api/web-contents.md - */ - -type electron$InputEventModifiers = - Array<'shift' | 'control' | 'alt' | 'meta' | - 'isKeypad' | 'isAutoRepeat' | 'leftButtonDown' | 'middleButtonDown' | - 'rightButtonDown' | 'capsLock' | 'numLock' | 'left' | 'right'>; - -declare class electron$WebContents extends events$EventEmitter { - loadURL( - url: string, - options?: {httpReferrer?: string, userAgent?: string, extraHeaders?: string}, - ): void, - downloadURL(url: string): void, - getURL(): string, - getTitle(): string, - isDestroyed(): boolean, - isFocused(): boolean, - isLoading(): boolean, - isLoadingMainFrame(): boolean, - isWaitingForResponse(): boolean, - stop(): void, - reload(): void, - reloadIgnoringCache(): void, - canGoBack(): boolean, - canGoForward(): boolean, - canGoToOffset(offset: number): boolean, - clearHistory(): void, - goBack(): void, - goForward(): void, - goToIndex(index: number): void, - goToOffset(index: number): void, - isCrashed(): boolean, - setUserAgent(userAgent: string): void, - getUserAgent(): string, - insertCSS(css: string): void, - // Keep `result` as mixed (and not any) to make this unsafe function less so. - executeJavaScript(code: string, callback: (result: mixed) => void): void, - executeJavaScript(code: string, userGesture?: boolean, callback?: (result: mixed) => void): void, - setAudioMuted(muted: boolean): void, - isAudioMuted(): boolean, - setZoomFactor(factor: number): void, - getZoomFactor(callback: (factor: number) => void): void, - setZoomLevel(level: number): void, - getZoomLevel(callback: (level: number) => void): void, - setZoomLevelLimits(minimumLevel: number, maximumLevel: number): void, - setVisualZoomLevelLimits(minimumLevel: number, maximumLevel: number): void, - setLayoutZoomLevelLimits(minimumLevel: number, maximumLevel: number): void, - undo(): void, - redo(): void, - cut(): void, - copy(): void, - copyImageAt(x: number, y: number): void, - paste(): void, - pasteAndMatchStyle(): void, - delete(): void, - selectAll(): void, - unselect(): void, - replace(text: string): void, - replaceMisspelling(text: string): void, - insertText(text: string): void, - inserfindInPagetText( - text: string, - options?: { - forward?: boolean, - findNext?: boolean, - matchCase?: boolean, - wordStart?: boolean, - medialCapitalAsWordStart?: boolean, - }, - ): void, - stopFindInPage(action: 'clearSelection' | 'keepSelection' | 'activateSelection'): void, - capturePage(rect: electron$rect, callback: (image: electron$NativeImage) => void): void, - capturePage(callback: (image: electron$NativeImage) => void): void, - hasServiceWorker(callback: (result: boolean) => void): void, - unregisterServiceWorker(callback: (result: boolean) => void): void, - print(options?: {silent?: boolean, printBackground?: boolean}): void, - printToPDF(options: { - marginsType: number, - pageSize: string, - pageSize: string, - printBackground: boolean, - printSelectionOnly: boolean, - landscape: boolean, - }, callback: (err: ?mixed, data: ?Buffer) => void): void, - addWorkSpace(path: string): void, - removeWorkSpace(path: string): void, - openDevTools(options?: {mode: 'right' | 'bottom' | 'undocked' | 'detach'}): void, - closeDevTools(): void, - isDevToolsOpened(): boolean, - isDevToolsFocused(): boolean, - toggleDevTools(): void, - inspectElement(x: number, y: number): void, - inspectServiceWorker(): void, - send(channel: string, ...args: Array): void, - enableDeviceEmulation(parameters: { - screenPosition?: 'desktop' | 'mobile', - screenSize: {width: number, height: number}, - viewPosition?: {x: number, y: number}, - deviceScaleFactor?: number, - viewSize?: {width: number, height: number}, - fitToView?: boolean, - offset?: {x: number, y: number}, - scale?: number, - }): void, - disableDeviceEmulation(): void, - sendInputEvent( - event: - { - type: 'keyDown' | 'keyUp' | 'char', - modifiers?: electron$InputEventModifiers, - keyCode: string, - } | { - type: 'mouseDown' | 'mouseUp' | 'mouseEnter' | 'mouseLeave' | 'contextMenu', - modifiers?: electron$InputEventModifiers, - x: number, - y: number, - button: 'left' | 'middle' | 'right', - globalX: number, - globalY: number, - movementX: number, - movementY: number, - clickCount: number, - } | { - type: 'mouseWheel', - modifiers?: electron$InputEventModifiers, - x: number, - y: number, - button: 'left' | 'middle' | 'right', - globalX: number, - globalY: number, - movementX: number, - movementY: number, - clickCount: number, - deltaX: number, - deltaY: number, - wheelTicksX: number, - wheelTicksY: number, - accelerationRatioX: number, - accelerationRatioY: number, - hasPreciseScrollingDeltas: boolean, - canScroll: boolean, - }, - ): void, - beginFrameSubscription( - callback: (frameBuffer: Buffer, dirtyRect: electron$rect) => void, - ): void, - beginFrameSubscription( - onlyDirty?: boolean, - callback: (frameBuffer: Buffer, dirtyRect: electron$rect) => void, - ): void, - endFrameSubscription(): void, - startDrag(item: {file: string, icon: electron$NativeImage}): void, - savePage( - fullPath: string, - saveType: 'HTMLOnly' | 'HTMLComplete' | 'MHTML', - callback: (error: ?mixed) => void, - ): void, - showDefinitionForSelection(): void, - isOffscreen(): boolean, - startPainting(): void, - stopPainting(): void, - isPainting(): boolean, - setFrameRate(fps: number): void, - getFrameRate(): ?number, - - id: number, - session: electron$session, - hostWebContents: ?electron$WebContents, - devToolsWebContents: ?electron$WebContents, - debugger: ?electron$Debugger, -} - -declare class electron$Debugger extends events$EventEmitter { - attach(protocolVersion?: string): void, - isAttached(): boolean, - detach(): void, - sendCommand( - method: string, - callback?: (error: ?mixed, result: ?mixed) => void, - ): void, - sendCommand( - method: string, - commandParams?: Object, - callback?: (error: ?mixed, result: ?mixed) => void, - ): void, -} - -type electron$webContents = { - getAllWebContents(): Array, - getFocusedWebContents: ?electron$WebContents, - fromId(id: number): ?electron$WebContents, -}; - -//------------------------------------------------------------------------------ -// Modules for the Renderer Process (Web Page) -//------------------------------------------------------------------------------ - -/** - * https://github.com/electron/electron/blob/master/docs/api/desktop-capturer.md - */ - -type electron$desktopCapturer = {}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/ipc-renderer.md - */ - -declare class electron$IpcRenderer { - on(channel: string, callback: (...args: Array) => void): electron$IpcRenderer, - once(channel: string, callback: (...args: Array) => void): electron$IpcRenderer, - removeListener(channel: string, callback: (...args: Array) => void): electron$IpcRenderer, - removeAllListeners(channel?: string): electron$IpcRenderer, - send(channel: string, ...args: Array): void, - sendSync(channel: string, ...args: Array): void, - sendTo(windowId: number, channel: string, ...args: Array): void, - sendToHost(channel: string, ...args: Array): void, -} - -/** - * https://github.com/electron/electron/blob/master/docs/api/remote.md - */ - -type electron$remote = { - // main process built-in modules: - app: electron$app, - autoUpdater: electron$autoUpdater, - BrowserWindow: typeof electron$BrowserWindow, - contentTracing: electron$contentTracing, - dialog: electron$dialog, - globalShortcut: electron$globalShortcut, - ipcMain: electron$IpcMain, - Menu: typeof electron$Menu, - MenuItem: typeof electron$MenuItem, - powerMonitor: electron$powerMonitor, - powerSaveBlocker: electron$powerSaveBlocker, - protocol: electron$protocol, - session: electron$session, - electron$Tray: typeof electron$Tray, - webContents: electron$webContents, - // methods: - require(module: string): any, - getCurrentWindow(): electron$BrowserWindow, - getCurrentWebContents(): electron$WebContents, - getGlobal(name: string): ?mixed, - process: typeof process, -}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/web-frame.md - */ - -type electron$webFrame = { - registerURLSchemeAsBypassingCSP(scheme: string): void, -}; - - -//------------------------------------------------------------------------------ -// Modules for Both Processes -//------------------------------------------------------------------------------ - -/** - * https://github.com/electron/electron/blob/master/docs/api/clipboard.md - */ - -type electron$clipboard = {}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/crash-reporter.md - */ - -type electron$crashReporter = {}; - -/** - * https://github.com/electron/electron/blob/master/docs/api/native-image.md - */ - -type electron$nativeImage = { - createEmpty(): electron$NativeImage, - createFromPath(path: string): electron$NativeImage, - createFromBuffer(buffer: Buffer, scaleFactor?: number): electron$NativeImage, - createFromDataURL(dataURL: string): electron$NativeImage, -}; - -declare class electron$NativeImage { - toPNG(): Uint8Array, - toJPEG(quality: number): Uint8Array, - toBitmap(): Uint8Array, - toDataURL(): string, - getNativeHandle(): Uint8Array, - isEmpty(): boolean, - getSize(): {width: number, height: number}, - setTemplateImage(option: boolean): void, - isTemplateImage(): boolean, -} - -/** - * https://github.com/electron/electron/blob/master/docs/api/screen.md - */ - -type electron$Display = { - id: number, - rotation: 0 | 90 | 180 | 270, - scaleFactor: number, - touchSupport: 'available' | 'unavailable' | 'unknown', - bounds: electron$rect, - size: {height: number, width: number}, - workArea: electron$rect, - workAreaSize: {height: number, width: number}, -}; - -type electron$DisplayEvents = - 'display-added' - | 'display-removed' - | 'display-metrics-changed'; - -type electron$ScreenListener = ( - event: electron$DisplayEvents, - callback: ( - event: Object, - display: electron$Display, - changedMetrics?: Array<'bounds' | 'workArea' | 'scaleFactor' | 'rotation'>, - ) => void, -) => electron$Screen; - -declare class electron$Screen { - on: electron$ScreenListener, - once: electron$ScreenListener, - removeAllListeners(event?: electron$DisplayEvents): electron$Screen, - removeListener(event?: electron$DisplayEvents, callback: Function): electron$Screen, - getCursorScreenPoint(): {x: number, y: number}, - getPrimaryDisplay(): electron$Display, - getAllDisplays(): Array, - getDisplayNearestPoint(point: {x: number, y: number}): electron$Display, - getDisplayMatching(rect: electron$rect): electron$Display, -} - -/** - * https://github.com/electron/electron/blob/master/docs/api/shell.md - */ - -type electron$shell = { - showItemInFolder(fullPath: string): void, - openItem(fullPath: string): void, - openExternal(url: string, options?: {activate: boolean}): void, - moveItemToTrash(fullPath: string): boolean, - beep(): void, - // Windows-only - writeShortcutLink( - shortcutPath: string, - operation?: 'create' | 'update' | 'replace', - options?: { - target: string, - cwd?: string, - args?: string, - description?: string, - icon?: string, - iconIndex?: number, - appUserModelId?: string, - } - ): void, - // Windows-only - readShortcutLink(shortcutPath: string): void, -}; diff --git a/flow-typed/npm/babel-polyfill_v6.x.x.js b/flow-typed/npm/babel-polyfill_v6.x.x.js new file mode 100644 index 00000000..f6ab99df --- /dev/null +++ b/flow-typed/npm/babel-polyfill_v6.x.x.js @@ -0,0 +1,4 @@ +// flow-typed signature: 28eccd914ac7bd65de204cb1d8d37cfe +// flow-typed version: 7b122e75af/babel-polyfill_v6.x.x/flow_>=v0.30.x + +declare module 'babel-polyfill' {} diff --git a/flow-typed/npm/babel-register_v6.x.x.js b/flow-typed/npm/babel-register_v6.x.x.js new file mode 100644 index 00000000..9977d67b --- /dev/null +++ b/flow-typed/npm/babel-register_v6.x.x.js @@ -0,0 +1,44 @@ +// flow-typed signature: d39f8c42e21629554940dda3bcbe90e6 +// flow-typed version: b80967946f/babel-register_v6.x.x/flow_>=v0.30.x + +declare module 'babel-register' { + declare type Options = {| + ast?: boolean, + auxiliaryCommentAfter?: ?string, + auxiliaryCommentBefore?: ?string, + babelrc?: boolean, + code?: boolean, + comments?: boolean, + compact?: 'auto' | boolean, + env?: Object, + extends?: ?string, + filename?: string, + filenameRelative?: string, + generatorOpts?: Object, + getModuleId?: void | null | (moduleName: string) => string, + highlightCode?: boolean, + ignore?: boolean | string | RegExp | (filename: string) => boolean, + inputSourceMap?: Object, + minified?: boolean, + moduleId?: string, + moduleIds?: boolean, + moduleRoot?: string, + only?: RegExp, + parserOpts?: Object, + plugins?: Array<[string, Object] | string>, + presets?: Array, + retainLines?: boolean, + resolveModuleSource?: null | (source: string, filename: string) => boolean, + shouldPrintComment?: null | (commentContents: string) => string, + sourceFileName?: string, + sourceMaps?: boolean | 'inline' | 'both', + sourceMapTarget?: string, + sourceRoot?: string, + sourceType?: 'script' | 'module' | 'unambiguous', + wrapPluginVisitorMethod?: null | (pluginAlias: string, visitorType: string, callback: Function) => boolean, + extensions?: Array, + cache?: boolean, + |}; + + declare module.exports: (options?: Options) => void; +} diff --git a/flow-typed/npm/enzyme-adapter-react-16_vx.x.x.js b/flow-typed/npm/enzyme-adapter-react-16_vx.x.x.js new file mode 100644 index 00000000..b7fde1fe --- /dev/null +++ b/flow-typed/npm/enzyme-adapter-react-16_vx.x.x.js @@ -0,0 +1,53 @@ +// flow-typed signature: 42a803f8b75500c5b35e1d707c7542bf +// flow-typed version: <>/enzyme-adapter-react-16_v^1.1.1/flow_v0.85.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'enzyme-adapter-react-16' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * https://github.com/flowtype/flow-typed + */ + +declare module 'enzyme-adapter-react-16' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'enzyme-adapter-react-16/build/index' { + declare module.exports: any; +} + +declare module 'enzyme-adapter-react-16/build/ReactSixteenAdapter' { + declare module.exports: any; +} + +declare module 'enzyme-adapter-react-16/src/index' { + declare module.exports: any; +} + +declare module 'enzyme-adapter-react-16/src/ReactSixteenAdapter' { + declare module.exports: any; +} + +// Filename aliases +declare module 'enzyme-adapter-react-16/build/index.js' { + declare module.exports: $Exports<'enzyme-adapter-react-16/build/index'>; +} +declare module 'enzyme-adapter-react-16/build/ReactSixteenAdapter.js' { + declare module.exports: $Exports<'enzyme-adapter-react-16/build/ReactSixteenAdapter'>; +} +declare module 'enzyme-adapter-react-16/src/index.js' { + declare module.exports: $Exports<'enzyme-adapter-react-16/src/index'>; +} +declare module 'enzyme-adapter-react-16/src/ReactSixteenAdapter.js' { + declare module.exports: $Exports<'enzyme-adapter-react-16/src/ReactSixteenAdapter'>; +} diff --git a/flow-typed/npm/enzyme_v3.x.x.js b/flow-typed/npm/enzyme_v3.x.x.js index abf43308..8389838d 100644 --- a/flow-typed/npm/enzyme_v3.x.x.js +++ b/flow-typed/npm/enzyme_v3.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 7be2af8800fdadaea6ac0404d256bafc -// flow-typed version: 6ce6a0467c/enzyme_v3.x.x/flow_>=v0.53.x +// flow-typed signature: 741a238d71e60f17f794be252b94a324 +// flow-typed version: ff97018d54/enzyme_v3.x.x/flow_>=v0.53.x import * as React from "react"; @@ -26,7 +26,7 @@ declare module "enzyme" { containsAllMatchingElements(nodes: NodeOrNodes): boolean, containsAnyMatchingElements(nodes: NodeOrNodes): boolean, dive(option?: { context?: Object }): this, - exists(): boolean, + exists(selector?: EnzymeSelector): boolean, isEmptyRender(): boolean, matchesElement(node: React.Node): boolean, hasClass(className: string): boolean, @@ -53,8 +53,9 @@ declare module "enzyme" { prop(key: string): any, key(): string, simulate(event: string, ...args: Array): this, + slice(begin?: number, end?: number): this, setState(state: {}, callback?: Function): this, - setProps(props: {}): this, + setProps(props: {}, callback?: Function): this, setContext(context: Object): this, instance(): React.Component<*, *>, update(): this, diff --git a/flow-typed/npm/inline-style-prefixer_v3.x.x.js b/flow-typed/npm/inline-style-prefixer_v3.x.x.js deleted file mode 100644 index 3d86a07c..00000000 --- a/flow-typed/npm/inline-style-prefixer_v3.x.x.js +++ /dev/null @@ -1,19 +0,0 @@ -// flow-typed signature: c40a9238db56a67bb25677726dcfaa7c -// flow-typed version: 7888c3aaad/inline-style-prefixer_v3.x.x/flow_>=v0.34.x - -declare module "inline-style-prefixer" { - declare type Config = { - userAgent?: string, - keepUnprefixed?: boolean - }; - declare class Prefixer { - constructor(config?: Config): Prefixer; - prefix(styles: Object): Object; - } - - declare module.exports: typeof Prefixer; -} - -declare module "inline-style-prefixer/static" { - declare module.exports: Object => Object; -} diff --git a/flow-typed/npm/jest_v22.x.x.js b/flow-typed/npm/jest_v22.x.x.js deleted file mode 100644 index d1ffdad8..00000000 --- a/flow-typed/npm/jest_v22.x.x.js +++ /dev/null @@ -1,988 +0,0 @@ -// flow-typed signature: 5f6b80ba0fa4571aac1e7ea6e5fea425 -// flow-typed version: f4a7859cd3/jest_v22.x.x/flow_>=v0.39.x - -type JestMockFn, TReturn> = { - (...args: TArguments): TReturn, - /** - * An object for introspecting mock calls - */ - mock: { - /** - * An array that represents all calls that have been made into this mock - * function. Each call is represented by an array of arguments that were - * passed during the call. - */ - calls: Array, - /** - * An array that contains all the object instances that have been - * instantiated from this mock function. - */ - instances: Array - }, - /** - * Resets all information stored in the mockFn.mock.calls and - * mockFn.mock.instances arrays. Often this is useful when you want to clean - * up a mock's usage data between two assertions. - */ - mockClear(): void, - /** - * Resets all information stored in the mock. This is useful when you want to - * completely restore a mock back to its initial state. - */ - mockReset(): void, - /** - * Removes the mock and restores the initial implementation. This is useful - * when you want to mock functions in certain test cases and restore the - * original implementation in others. Beware that mockFn.mockRestore only - * works when mock was created with jest.spyOn. Thus you have to take care of - * restoration yourself when manually assigning jest.fn(). - */ - mockRestore(): void, - /** - * Accepts a function that should be used as the implementation of the mock. - * The mock itself will still record all calls that go into and instances - * that come from itself -- the only difference is that the implementation - * will also be executed when the mock is called. - */ - mockImplementation( - fn: (...args: TArguments) => TReturn - ): JestMockFn, - /** - * Accepts a function that will be used as an implementation of the mock for - * one call to the mocked function. Can be chained so that multiple function - * calls produce different results. - */ - mockImplementationOnce( - fn: (...args: TArguments) => TReturn - ): JestMockFn, - /** - * Accepts a string to use in test result output in place of "jest.fn()" to - * indicate which mock function is being referenced. - */ - mockName(name: string): JestMockFn, - /** - * Just a simple sugar function for returning `this` - */ - mockReturnThis(): void, - /** - * Deprecated: use jest.fn(() => value) instead - */ - mockReturnValue(value: TReturn): JestMockFn, - /** - * Sugar for only returning a value once inside your mock - */ - mockReturnValueOnce(value: TReturn): JestMockFn -}; - -type JestAsymmetricEqualityType = { - /** - * A custom Jasmine equality tester - */ - asymmetricMatch(value: mixed): boolean -}; - -type JestCallsType = { - allArgs(): mixed, - all(): mixed, - any(): boolean, - count(): number, - first(): mixed, - mostRecent(): mixed, - reset(): void -}; - -type JestClockType = { - install(): void, - mockDate(date: Date): void, - tick(milliseconds?: number): void, - uninstall(): void -}; - -type JestMatcherResult = { - message?: string | (() => string), - pass: boolean -}; - -type JestMatcher = (actual: any, expected: any) => JestMatcherResult; - -type JestPromiseType = { - /** - * Use rejects to unwrap the reason of a rejected promise so any other - * matcher can be chained. If the promise is fulfilled the assertion fails. - */ - rejects: JestExpectType, - /** - * Use resolves to unwrap the value of a fulfilled promise so any other - * matcher can be chained. If the promise is rejected the assertion fails. - */ - resolves: JestExpectType -}; - -/** - * Jest allows functions and classes to be used as test names in test() and - * describe() - */ -type JestTestName = string | Function; - -/** - * Plugin: jest-enzyme - */ -type EnzymeMatchersType = { - toBeChecked(): void, - toBeDisabled(): void, - toBeEmpty(): void, - toBeEmptyRender(): void, - toBePresent(): void, - toContainReact(element: React$Element): void, - toExist(): void, - toHaveClassName(className: string): void, - toHaveHTML(html: string): void, - toHaveProp: ((propKey: string, propValue?: any) => void) & ((props: Object) => void), - toHaveRef(refName: string): void, - toHaveState: ((stateKey: string, stateValue?: any) => void) & ((state: Object) => void), - toHaveStyle: ((styleKey: string, styleValue?: any) => void) & ((style: Object) => void), - toHaveTagName(tagName: string): void, - toHaveText(text: string): void, - toIncludeText(text: string): void, - toHaveValue(value: any): void, - toMatchElement(element: React$Element): void, - toMatchSelector(selector: string): void -}; - -// DOM testing library extensions https://github.com/kentcdodds/dom-testing-library#custom-jest-matchers -type DomTestingLibraryType = { - toBeInTheDOM(): void, - toHaveTextContent(content: string): void, - toHaveAttribute(name: string, expectedValue?: string): void -}; - -// Jest JQuery Matchers: https://github.com/unindented/custom-jquery-matchers -type JestJQueryMatchersType = { - toExist(): void, - toHaveLength(len: number): void, - toHaveId(id: string): void, - toHaveClass(className: string): void, - toHaveTag(tag: string): void, - toHaveAttr(key: string, val?: any): void, - toHaveProp(key: string, val?: any): void, - toHaveText(text: string | RegExp): void, - toHaveData(key: string, val?: any): void, - toHaveValue(val: any): void, - toHaveCss(css: {[key: string]: any}): void, - toBeChecked(): void, - toBeDisabled(): void, - toBeEmpty(): void, - toBeHidden(): void, - toBeSelected(): void, - toBeVisible(): void, - toBeFocused(): void, - toBeInDom(): void, - toBeMatchedBy(sel: string): void, - toHaveDescendant(sel: string): void, - toHaveDescendantWithText(sel: string, text: string | RegExp): void -}; - - -// Jest Extended Matchers: https://github.com/jest-community/jest-extended -type JestExtendedMatchersType = { - /** - * Note: Currently unimplemented - * Passing assertion - * - * @param {String} message - */ - // pass(message: string): void; - - /** - * Note: Currently unimplemented - * Failing assertion - * - * @param {String} message - */ - // fail(message: string): void; - - /** - * Use .toBeEmpty when checking if a String '', Array [] or Object {} is empty. - */ - toBeEmpty(): void; - - /** - * Use .toBeOneOf when checking if a value is a member of a given Array. - * @param {Array.<*>} members - */ - toBeOneOf(members: any[]): void; - - /** - * Use `.toBeNil` when checking a value is `null` or `undefined`. - */ - toBeNil(): void; - - /** - * Use `.toSatisfy` when you want to use a custom matcher by supplying a predicate function that returns a `Boolean`. - * @param {Function} predicate - */ - toSatisfy(predicate: (n: any) => boolean): void; - - /** - * Use `.toBeArray` when checking if a value is an `Array`. - */ - toBeArray(): void; - - /** - * Use `.toBeArrayOfSize` when checking if a value is an `Array` of size x. - * @param {Number} x - */ - toBeArrayOfSize(x: number): void; - - /** - * Use `.toIncludeAllMembers` when checking if an `Array` contains all of the same members of a given set. - * @param {Array.<*>} members - */ - toIncludeAllMembers(members: any[]): void; - - /** - * Use `.toIncludeAnyMembers` when checking if an `Array` contains any of the members of a given set. - * @param {Array.<*>} members - */ - toIncludeAnyMembers(members: any[]): void; - - /** - * Use `.toSatisfyAll` when you want to use a custom matcher by supplying a predicate function that returns a `Boolean` for all values in an array. - * @param {Function} predicate - */ - toSatisfyAll(predicate: (n: any) => boolean): void; - - /** - * Use `.toBeBoolean` when checking if a value is a `Boolean`. - */ - toBeBoolean(): void; - - /** - * Use `.toBeTrue` when checking a value is equal (===) to `true`. - */ - toBeTrue(): void; - - /** - * Use `.toBeFalse` when checking a value is equal (===) to `false`. - */ - toBeFalse(): void; - - /** - * Use .toBeDate when checking if a value is a Date. - */ - toBeDate(): void; - - /** - * Use `.toBeFunction` when checking if a value is a `Function`. - */ - toBeFunction(): void; - - /** - * Use `.toHaveBeenCalledBefore` when checking if a `Mock` was called before another `Mock`. - * - * Note: Required Jest version >22 - * Note: Your mock functions will have to be asynchronous to cause the timestamps inside of Jest to occur in a differentJS event loop, otherwise the mock timestamps will all be the same - * - * @param {Mock} mock - */ - toHaveBeenCalledBefore(mock: JestMockFn): void; - - /** - * Use `.toBeNumber` when checking if a value is a `Number`. - */ - toBeNumber(): void; - - /** - * Use `.toBeNaN` when checking a value is `NaN`. - */ - toBeNaN(): void; - - /** - * Use `.toBeFinite` when checking if a value is a `Number`, not `NaN` or `Infinity`. - */ - toBeFinite(): void; - - /** - * Use `.toBePositive` when checking if a value is a positive `Number`. - */ - toBePositive(): void; - - /** - * Use `.toBeNegative` when checking if a value is a negative `Number`. - */ - toBeNegative(): void; - - /** - * Use `.toBeEven` when checking if a value is an even `Number`. - */ - toBeEven(): void; - - /** - * Use `.toBeOdd` when checking if a value is an odd `Number`. - */ - toBeOdd(): void; - - /** - * Use `.toBeWithin` when checking if a number is in between the given bounds of: start (inclusive) and end (exclusive). - * - * @param {Number} start - * @param {Number} end - */ - toBeWithin(start: number, end: number): void; - - /** - * Use `.toBeObject` when checking if a value is an `Object`. - */ - toBeObject(): void; - - /** - * Use `.toContainKey` when checking if an object contains the provided key. - * - * @param {String} key - */ - toContainKey(key: string): void; - - /** - * Use `.toContainKeys` when checking if an object has all of the provided keys. - * - * @param {Array.} keys - */ - toContainKeys(keys: string[]): void; - - /** - * Use `.toContainAllKeys` when checking if an object only contains all of the provided keys. - * - * @param {Array.} keys - */ - toContainAllKeys(keys: string[]): void; - - /** - * Use `.toContainAnyKeys` when checking if an object contains at least one of the provided keys. - * - * @param {Array.} keys - */ - toContainAnyKeys(keys: string[]): void; - - /** - * Use `.toContainValue` when checking if an object contains the provided value. - * - * @param {*} value - */ - toContainValue(value: any): void; - - /** - * Use `.toContainValues` when checking if an object contains all of the provided values. - * - * @param {Array.<*>} values - */ - toContainValues(values: any[]): void; - - /** - * Use `.toContainAllValues` when checking if an object only contains all of the provided values. - * - * @param {Array.<*>} values - */ - toContainAllValues(values: any[]): void; - - /** - * Use `.toContainAnyValues` when checking if an object contains at least one of the provided values. - * - * @param {Array.<*>} values - */ - toContainAnyValues(values: any[]): void; - - /** - * Use `.toContainEntry` when checking if an object contains the provided entry. - * - * @param {Array.} entry - */ - toContainEntry(entry: [string, string]): void; - - /** - * Use `.toContainEntries` when checking if an object contains all of the provided entries. - * - * @param {Array.>} entries - */ - toContainEntries(entries: [string, string][]): void; - - /** - * Use `.toContainAllEntries` when checking if an object only contains all of the provided entries. - * - * @param {Array.>} entries - */ - toContainAllEntries(entries: [string, string][]): void; - - /** - * Use `.toContainAnyEntries` when checking if an object contains at least one of the provided entries. - * - * @param {Array.>} entries - */ - toContainAnyEntries(entries: [string, string][]): void; - - /** - * Use `.toBeExtensible` when checking if an object is extensible. - */ - toBeExtensible(): void; - - /** - * Use `.toBeFrozen` when checking if an object is frozen. - */ - toBeFrozen(): void; - - /** - * Use `.toBeSealed` when checking if an object is sealed. - */ - toBeSealed(): void; - - /** - * Use `.toBeString` when checking if a value is a `String`. - */ - toBeString(): void; - - /** - * Use `.toEqualCaseInsensitive` when checking if a string is equal (===) to another ignoring the casing of both strings. - * - * @param {String} string - */ - toEqualCaseInsensitive(string: string): void; - - /** - * Use `.toStartWith` when checking if a `String` starts with a given `String` prefix. - * - * @param {String} prefix - */ - toStartWith(prefix: string): void; - - /** - * Use `.toEndWith` when checking if a `String` ends with a given `String` suffix. - * - * @param {String} suffix - */ - toEndWith(suffix: string): void; - - /** - * Use `.toInclude` when checking if a `String` includes the given `String` substring. - * - * @param {String} substring - */ - toInclude(substring: string): void; - - /** - * Use `.toIncludeRepeated` when checking if a `String` includes the given `String` substring the correct number of times. - * - * @param {String} substring - * @param {Number} times - */ - toIncludeRepeated(substring: string, times: number): void; - - /** - * Use `.toIncludeMultiple` when checking if a `String` includes all of the given substrings. - * - * @param {Array.} substring - */ - toIncludeMultiple(substring: string[]): void; -}; - -type JestExpectType = { - not: JestExpectType & EnzymeMatchersType & DomTestingLibraryType & JestJQueryMatchersType & JestExtendedMatchersType, - /** - * If you have a mock function, you can use .lastCalledWith to test what - * arguments it was last called with. - */ - lastCalledWith(...args: Array): void, - /** - * toBe just checks that a value is what you expect. It uses === to check - * strict equality. - */ - toBe(value: any): void, - /** - * Use .toHaveBeenCalled to ensure that a mock function got called. - */ - toBeCalled(): void, - /** - * Use .toBeCalledWith to ensure that a mock function was called with - * specific arguments. - */ - toBeCalledWith(...args: Array): void, - /** - * Using exact equality with floating point numbers is a bad idea. Rounding - * means that intuitive things fail. - */ - toBeCloseTo(num: number, delta: any): void, - /** - * Use .toBeDefined to check that a variable is not undefined. - */ - toBeDefined(): void, - /** - * Use .toBeFalsy when you don't care what a value is, you just want to - * ensure a value is false in a boolean context. - */ - toBeFalsy(): void, - /** - * To compare floating point numbers, you can use toBeGreaterThan. - */ - toBeGreaterThan(number: number): void, - /** - * To compare floating point numbers, you can use toBeGreaterThanOrEqual. - */ - toBeGreaterThanOrEqual(number: number): void, - /** - * To compare floating point numbers, you can use toBeLessThan. - */ - toBeLessThan(number: number): void, - /** - * To compare floating point numbers, you can use toBeLessThanOrEqual. - */ - toBeLessThanOrEqual(number: number): void, - /** - * Use .toBeInstanceOf(Class) to check that an object is an instance of a - * class. - */ - toBeInstanceOf(cls: Class<*>): void, - /** - * .toBeNull() is the same as .toBe(null) but the error messages are a bit - * nicer. - */ - toBeNull(): void, - /** - * Use .toBeTruthy when you don't care what a value is, you just want to - * ensure a value is true in a boolean context. - */ - toBeTruthy(): void, - /** - * Use .toBeUndefined to check that a variable is undefined. - */ - toBeUndefined(): void, - /** - * Use .toContain when you want to check that an item is in a list. For - * testing the items in the list, this uses ===, a strict equality check. - */ - toContain(item: any): void, - /** - * Use .toContainEqual when you want to check that an item is in a list. For - * testing the items in the list, this matcher recursively checks the - * equality of all fields, rather than checking for object identity. - */ - toContainEqual(item: any): void, - /** - * Use .toEqual when you want to check that two objects have the same value. - * This matcher recursively checks the equality of all fields, rather than - * checking for object identity. - */ - toEqual(value: any): void, - /** - * Use .toHaveBeenCalled to ensure that a mock function got called. - */ - toHaveBeenCalled(): void, - /** - * Use .toHaveBeenCalledTimes to ensure that a mock function got called exact - * number of times. - */ - toHaveBeenCalledTimes(number: number): void, - /** - * Use .toHaveBeenCalledWith to ensure that a mock function was called with - * specific arguments. - */ - toHaveBeenCalledWith(...args: Array): void, - /** - * Use .toHaveBeenLastCalledWith to ensure that a mock function was last called - * with specific arguments. - */ - toHaveBeenLastCalledWith(...args: Array): void, - /** - * Check that an object has a .length property and it is set to a certain - * numeric value. - */ - toHaveLength(number: number): void, - /** - * - */ - toHaveProperty(propPath: string, value?: any): void, - /** - * Use .toMatch to check that a string matches a regular expression or string. - */ - toMatch(regexpOrString: RegExp | string): void, - /** - * Use .toMatchObject to check that a javascript object matches a subset of the properties of an object. - */ - toMatchObject(object: Object | Array): void, - /** - * This ensures that a React component matches the most recent snapshot. - */ - toMatchSnapshot(name?: string): void, - /** - * Use .toThrow to test that a function throws when it is called. - * If you want to test that a specific error gets thrown, you can provide an - * argument to toThrow. The argument can be a string for the error message, - * a class for the error, or a regex that should match the error. - * - * Alias: .toThrowError - */ - toThrow(message?: string | Error | Class | RegExp): void, - toThrowError(message?: string | Error | Class | RegExp): void, - /** - * Use .toThrowErrorMatchingSnapshot to test that a function throws a error - * matching the most recent snapshot when it is called. - */ - toThrowErrorMatchingSnapshot(): void -}; - -type JestObjectType = { - /** - * Disables automatic mocking in the module loader. - * - * After this method is called, all `require()`s will return the real - * versions of each module (rather than a mocked version). - */ - disableAutomock(): JestObjectType, - /** - * An un-hoisted version of disableAutomock - */ - autoMockOff(): JestObjectType, - /** - * Enables automatic mocking in the module loader. - */ - enableAutomock(): JestObjectType, - /** - * An un-hoisted version of enableAutomock - */ - autoMockOn(): JestObjectType, - /** - * Clears the mock.calls and mock.instances properties of all mocks. - * Equivalent to calling .mockClear() on every mocked function. - */ - clearAllMocks(): JestObjectType, - /** - * Resets the state of all mocks. Equivalent to calling .mockReset() on every - * mocked function. - */ - resetAllMocks(): JestObjectType, - /** - * Restores all mocks back to their original value. - */ - restoreAllMocks(): JestObjectType, - /** - * Removes any pending timers from the timer system. - */ - clearAllTimers(): void, - /** - * The same as `mock` but not moved to the top of the expectation by - * babel-jest. - */ - doMock(moduleName: string, moduleFactory?: any): JestObjectType, - /** - * The same as `unmock` but not moved to the top of the expectation by - * babel-jest. - */ - dontMock(moduleName: string): JestObjectType, - /** - * Returns a new, unused mock function. Optionally takes a mock - * implementation. - */ - fn, TReturn>( - implementation?: (...args: TArguments) => TReturn - ): JestMockFn, - /** - * Determines if the given function is a mocked function. - */ - isMockFunction(fn: Function): boolean, - /** - * Given the name of a module, use the automatic mocking system to generate a - * mocked version of the module for you. - */ - genMockFromModule(moduleName: string): any, - /** - * Mocks a module with an auto-mocked version when it is being required. - * - * The second argument can be used to specify an explicit module factory that - * is being run instead of using Jest's automocking feature. - * - * The third argument can be used to create virtual mocks -- mocks of modules - * that don't exist anywhere in the system. - */ - mock( - moduleName: string, - moduleFactory?: any, - options?: Object - ): JestObjectType, - /** - * Returns the actual module instead of a mock, bypassing all checks on - * whether the module should receive a mock implementation or not. - */ - requireActual(moduleName: string): any, - /** - * Returns a mock module instead of the actual module, bypassing all checks - * on whether the module should be required normally or not. - */ - requireMock(moduleName: string): any, - /** - * Resets the module registry - the cache of all required modules. This is - * useful to isolate modules where local state might conflict between tests. - */ - resetModules(): JestObjectType, - /** - * Exhausts the micro-task queue (usually interfaced in node via - * process.nextTick). - */ - runAllTicks(): void, - /** - * Exhausts the macro-task queue (i.e., all tasks queued by setTimeout(), - * setInterval(), and setImmediate()). - */ - runAllTimers(): void, - /** - * Exhausts all tasks queued by setImmediate(). - */ - runAllImmediates(): void, - /** - * Executes only the macro task queue (i.e. all tasks queued by setTimeout() - * or setInterval() and setImmediate()). - */ - advanceTimersByTime(msToRun: number): void, - /** - * Executes only the macro task queue (i.e. all tasks queued by setTimeout() - * or setInterval() and setImmediate()). - * - * Renamed to `advanceTimersByTime`. - */ - runTimersToTime(msToRun: number): void, - /** - * Executes only the macro-tasks that are currently pending (i.e., only the - * tasks that have been queued by setTimeout() or setInterval() up to this - * point) - */ - runOnlyPendingTimers(): void, - /** - * Explicitly supplies the mock object that the module system should return - * for the specified module. Note: It is recommended to use jest.mock() - * instead. - */ - setMock(moduleName: string, moduleExports: any): JestObjectType, - /** - * Indicates that the module system should never return a mocked version of - * the specified module from require() (e.g. that it should always return the - * real module). - */ - unmock(moduleName: string): JestObjectType, - /** - * Instructs Jest to use fake versions of the standard timer functions - * (setTimeout, setInterval, clearTimeout, clearInterval, nextTick, - * setImmediate and clearImmediate). - */ - useFakeTimers(): JestObjectType, - /** - * Instructs Jest to use the real versions of the standard timer functions. - */ - useRealTimers(): JestObjectType, - /** - * Creates a mock function similar to jest.fn but also tracks calls to - * object[methodName]. - */ - spyOn(object: Object, methodName: string, accessType?: "get" | "set"): JestMockFn, - /** - * Set the default timeout interval for tests and before/after hooks in milliseconds. - * Note: The default timeout interval is 5 seconds if this method is not called. - */ - setTimeout(timeout: number): JestObjectType -}; - -type JestSpyType = { - calls: JestCallsType -}; - -/** Runs this function after every test inside this context */ -declare function afterEach( - fn: (done: () => void) => ?Promise, - timeout?: number -): void; -/** Runs this function before every test inside this context */ -declare function beforeEach( - fn: (done: () => void) => ?Promise, - timeout?: number -): void; -/** Runs this function after all tests have finished inside this context */ -declare function afterAll( - fn: (done: () => void) => ?Promise, - timeout?: number -): void; -/** Runs this function before any tests have started inside this context */ -declare function beforeAll( - fn: (done: () => void) => ?Promise, - timeout?: number -): void; - -/** A context for grouping tests together */ -declare var describe: { - /** - * Creates a block that groups together several related tests in one "test suite" - */ - (name: JestTestName, fn: () => void): void, - - /** - * Only run this describe block - */ - only(name: JestTestName, fn: () => void): void, - - /** - * Skip running this describe block - */ - skip(name: JestTestName, fn: () => void): void -}; - -/** An individual test unit */ -declare var it: { - /** - * An individual test unit - * - * @param {JestTestName} Name of Test - * @param {Function} Test - * @param {number} Timeout for the test, in milliseconds. - */ - ( - name: JestTestName, - fn?: (done: () => void) => ?Promise, - timeout?: number - ): void, - /** - * Only run this test - * - * @param {JestTestName} Name of Test - * @param {Function} Test - * @param {number} Timeout for the test, in milliseconds. - */ - only( - name: JestTestName, - fn?: (done: () => void) => ?Promise, - timeout?: number - ): void, - /** - * Skip running this test - * - * @param {JestTestName} Name of Test - * @param {Function} Test - * @param {number} Timeout for the test, in milliseconds. - */ - skip( - name: JestTestName, - fn?: (done: () => void) => ?Promise, - timeout?: number - ): void, - /** - * Run the test concurrently - * - * @param {JestTestName} Name of Test - * @param {Function} Test - * @param {number} Timeout for the test, in milliseconds. - */ - concurrent( - name: JestTestName, - fn?: (done: () => void) => ?Promise, - timeout?: number - ): void -}; -declare function fit( - name: JestTestName, - fn: (done: () => void) => ?Promise, - timeout?: number -): void; -/** An individual test unit */ -declare var test: typeof it; -/** A disabled group of tests */ -declare var xdescribe: typeof describe; -/** A focused group of tests */ -declare var fdescribe: typeof describe; -/** A disabled individual test */ -declare var xit: typeof it; -/** A disabled individual test */ -declare var xtest: typeof it; - -type JestPrettyFormatColors = { - comment: { close: string, open: string }, - content: { close: string, open: string }, - prop: { close: string, open: string }, - tag: { close: string, open: string }, - value: { close: string, open: string }, -}; - -type JestPrettyFormatIndent = string => string; -type JestPrettyFormatRefs = Array; -type JestPrettyFormatPrint = any => string; -type JestPrettyFormatStringOrNull = string | null; - -type JestPrettyFormatOptions = {| - callToJSON: boolean, - edgeSpacing: string, - escapeRegex: boolean, - highlight: boolean, - indent: number, - maxDepth: number, - min: boolean, - plugins: JestPrettyFormatPlugins, - printFunctionName: boolean, - spacing: string, - theme: {| - comment: string, - content: string, - prop: string, - tag: string, - value: string, - |}, -|}; - -type JestPrettyFormatPlugin = { - print: ( - val: any, - serialize: JestPrettyFormatPrint, - indent: JestPrettyFormatIndent, - opts: JestPrettyFormatOptions, - colors: JestPrettyFormatColors, - ) => string, - test: any => boolean, -}; - -type JestPrettyFormatPlugins = Array; - -/** The expect function is used every time you want to test a value */ -declare var expect: { - /** The object that you want to make assertions against */ - (value: any): JestExpectType & JestPromiseType & EnzymeMatchersType & DomTestingLibraryType & JestJQueryMatchersType & JestExtendedMatchersType, - /** Add additional Jasmine matchers to Jest's roster */ - extend(matchers: { [name: string]: JestMatcher }): void, - /** Add a module that formats application-specific data structures. */ - addSnapshotSerializer(pluginModule: JestPrettyFormatPlugin): void, - assertions(expectedAssertions: number): void, - hasAssertions(): void, - any(value: mixed): JestAsymmetricEqualityType, - anything(): any, - arrayContaining(value: Array): Array, - objectContaining(value: Object): Object, - /** Matches any received string that contains the exact expected string. */ - stringContaining(value: string): string, - stringMatching(value: string | RegExp): string -}; - -// TODO handle return type -// http://jasmine.github.io/2.4/introduction.html#section-Spies -declare function spyOn(value: mixed, method: string): Object; - -/** Holds all functions related to manipulating test runner */ -declare var jest: JestObjectType; - -/** - * The global Jasmine object, this is generally not exposed as the public API, - * using features inside here could break in later versions of Jest. - */ -declare var jasmine: { - DEFAULT_TIMEOUT_INTERVAL: number, - any(value: mixed): JestAsymmetricEqualityType, - anything(): any, - arrayContaining(value: Array): Array, - clock(): JestClockType, - createSpy(name: string): JestSpyType, - createSpyObj( - baseName: string, - methodNames: Array - ): { [methodName: string]: JestSpyType }, - objectContaining(value: Object): Object, - stringMatching(value: string): string -}; diff --git a/flow-typed/npm/mocha_v5.x.x.js b/flow-typed/npm/mocha_v5.x.x.js index 29edea86..e16ca5a2 100644 --- a/flow-typed/npm/mocha_v5.x.x.js +++ b/flow-typed/npm/mocha_v5.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: f58bffa67453f8927660cb5f142b2c7f -// flow-typed version: 03669c2773/mocha_v5.x.x/flow_>=v0.28.x +// flow-typed signature: ae94222964881f91f3333824878bbb2f +// flow-typed version: fee7183de9/mocha_v5.x.x/flow_>=v0.28.x declare interface $npm$mocha$SetupOptions { slow?: number; @@ -160,6 +160,7 @@ declare interface $npm$mocha$Test extends $npm$mocha$Runnable { pending: boolean; state: 'failed' | 'passed' | void; fullTitle(): string; + timeout(ms: number): void; } // declare interface $npm$mocha$BeforeAndAfterContext extends $npm$mocha$HookCallbackContext { diff --git a/flow-typed/npm/moment_v2.3.x.js b/flow-typed/npm/moment_v2.3.x.js deleted file mode 100644 index c9177b02..00000000 --- a/flow-typed/npm/moment_v2.3.x.js +++ /dev/null @@ -1,329 +0,0 @@ -// flow-typed signature: c30aa20539f52183d4d30dd36d8ab9c2 -// flow-typed version: 886cf7c002/moment_v2.3.x/flow_>=v0.63.x - -type moment$MomentOptions = { - y?: number | string, - year?: number | string, - years?: number | string, - M?: number | string, - month?: number | string, - months?: number | string, - d?: number | string, - day?: number | string, - days?: number | string, - date?: number | string, - h?: number | string, - hour?: number | string, - hours?: number | string, - m?: number | string, - minute?: number | string, - minutes?: number | string, - s?: number | string, - second?: number | string, - seconds?: number | string, - ms?: number | string, - millisecond?: number | string, - milliseconds?: number | string -}; - -type moment$MomentObject = { - years: number, - months: number, - date: number, - hours: number, - minutes: number, - seconds: number, - milliseconds: number -}; - -type moment$MomentCreationData = { - input: string, - format: string, - locale: Object, - isUTC: boolean, - strict: boolean -}; - -type moment$CalendarFormat = string | ((moment: moment$Moment) => string); - -type moment$CalendarFormats = { - sameDay?: moment$CalendarFormat, - nextDay?: moment$CalendarFormat, - nextWeek?: moment$CalendarFormat, - lastDay?: moment$CalendarFormat, - lastWeek?: moment$CalendarFormat, - sameElse?: moment$CalendarFormat -}; - -declare class moment$LocaleData { - months(moment: moment$Moment): string, - monthsShort(moment: moment$Moment): string, - monthsParse(month: string): number, - weekdays(moment: moment$Moment): string, - weekdaysShort(moment: moment$Moment): string, - weekdaysMin(moment: moment$Moment): string, - weekdaysParse(weekDay: string): number, - longDateFormat(dateFormat: string): string, - isPM(date: string): boolean, - meridiem(hours: number, minutes: number, isLower: boolean): string, - calendar( - key: - | "sameDay" - | "nextDay" - | "lastDay" - | "nextWeek" - | "prevWeek" - | "sameElse", - moment: moment$Moment - ): string, - relativeTime( - number: number, - withoutSuffix: boolean, - key: "s" | "m" | "mm" | "h" | "hh" | "d" | "dd" | "M" | "MM" | "y" | "yy", - isFuture: boolean - ): string, - pastFuture(diff: any, relTime: string): string, - ordinal(number: number): string, - preparse(str: string): any, - postformat(str: string): any, - week(moment: moment$Moment): string, - invalidDate(): string, - firstDayOfWeek(): number, - firstDayOfYear(): number -} -declare class moment$MomentDuration { - humanize(suffix?: boolean): string, - milliseconds(): number, - asMilliseconds(): number, - seconds(): number, - asSeconds(): number, - minutes(): number, - asMinutes(): number, - hours(): number, - asHours(): number, - days(): number, - asDays(): number, - months(): number, - asMonths(): number, - years(): number, - asYears(): number, - add(value: number | moment$MomentDuration | Object, unit?: string): this, - subtract(value: number | moment$MomentDuration | Object, unit?: string): this, - as(unit: string): number, - get(unit: string): number, - toJSON(): string, - toISOString(): string, - isValid(): boolean -} -declare class moment$Moment { - static ISO_8601: string, - static ( - string?: string, - format?: string | Array, - strict?: boolean - ): moment$Moment, - static ( - string?: string, - format?: string | Array, - locale?: string, - strict?: boolean - ): moment$Moment, - static ( - initDate: ?Object | number | Date | Array | moment$Moment | string - ): moment$Moment, - static unix(seconds: number): moment$Moment, - static utc(): moment$Moment, - static utc(number: number | Array): moment$Moment, - static utc( - str: string, - str2?: string | Array, - str3?: string - ): moment$Moment, - static utc(moment: moment$Moment): moment$Moment, - static utc(date: Date): moment$Moment, - static parseZone(): moment$Moment, - static parseZone(rawDate: string): moment$Moment, - static parseZone( - rawDate: string, - format: string | Array - ): moment$Moment, - static parseZone( - rawDate: string, - format: string, - strict: boolean - ): moment$Moment, - static parseZone( - rawDate: string, - format: string, - locale: string, - strict: boolean - ): moment$Moment, - isValid(): boolean, - invalidAt(): 0 | 1 | 2 | 3 | 4 | 5 | 6, - creationData(): moment$MomentCreationData, - millisecond(number: number): this, - milliseconds(number: number): this, - millisecond(): number, - milliseconds(): number, - second(number: number): this, - seconds(number: number): this, - second(): number, - seconds(): number, - minute(number: number): this, - minutes(number: number): this, - minute(): number, - minutes(): number, - hour(number: number): this, - hours(number: number): this, - hour(): number, - hours(): number, - date(number: number): this, - dates(number: number): this, - date(): number, - dates(): number, - day(day: number | string): this, - days(day: number | string): this, - day(): number, - days(): number, - weekday(number: number): this, - weekday(): number, - isoWeekday(number: number): this, - isoWeekday(): number, - dayOfYear(number: number): this, - dayOfYear(): number, - week(number: number): this, - weeks(number: number): this, - week(): number, - weeks(): number, - isoWeek(number: number): this, - isoWeeks(number: number): this, - isoWeek(): number, - isoWeeks(): number, - month(number: number): this, - months(number: number): this, - month(): number, - months(): number, - quarter(number: number): this, - quarter(): number, - year(number: number): this, - years(number: number): this, - year(): number, - years(): number, - weekYear(number: number): this, - weekYear(): number, - isoWeekYear(number: number): this, - isoWeekYear(): number, - weeksInYear(): number, - isoWeeksInYear(): number, - get(string: string): number, - set(unit: string, value: number): this, - set(options: { [unit: string]: number }): this, - static max(...dates: Array): moment$Moment, - static max(dates: Array): moment$Moment, - static min(...dates: Array): moment$Moment, - static min(dates: Array): moment$Moment, - add( - value: number | moment$MomentDuration | moment$Moment | Object, - unit?: string - ): this, - subtract( - value: number | moment$MomentDuration | moment$Moment | string | Object, - unit?: string - ): this, - startOf(unit: string): this, - endOf(unit: string): this, - local(): this, - utc(): this, - utcOffset( - offset: number | string, - keepLocalTime?: boolean, - keepMinutes?: boolean - ): this, - utcOffset(): number, - format(format?: string): string, - fromNow(removeSuffix?: boolean): string, - from( - value: moment$Moment | string | number | Date | Array, - removePrefix?: boolean - ): string, - toNow(removePrefix?: boolean): string, - to( - value: moment$Moment | string | number | Date | Array, - removePrefix?: boolean - ): string, - calendar(refTime?: any, formats?: moment$CalendarFormats): string, - diff( - date: moment$Moment | string | number | Date | Array, - format?: string, - floating?: boolean - ): number, - valueOf(): number, - unix(): number, - daysInMonth(): number, - toDate(): Date, - toArray(): Array, - toJSON(): string, - toISOString( - keepOffset?: boolean - ): string, - toObject(): moment$MomentObject, - isBefore( - date?: moment$Moment | string | number | Date | Array, - units?: ?string - ): boolean, - isSame( - date?: moment$Moment | string | number | Date | Array, - units?: ?string - ): boolean, - isAfter( - date?: moment$Moment | string | number | Date | Array, - units?: ?string - ): boolean, - isSameOrBefore( - date?: moment$Moment | string | number | Date | Array, - units?: ?string - ): boolean, - isSameOrAfter( - date?: moment$Moment | string | number | Date | Array, - units?: ?string - ): boolean, - isBetween( - fromDate: moment$Moment | string | number | Date | Array, - toDate?: ?moment$Moment | string | number | Date | Array, - granularity?: ?string, - inclusion?: ?string - ): boolean, - isDST(): boolean, - isDSTShifted(): boolean, - isLeapYear(): boolean, - clone(): moment$Moment, - static isMoment(obj: any): boolean, - static isDate(obj: any): boolean, - static locale(locale: string, localeData?: Object): string, - static updateLocale(locale: string, localeData?: ?Object): void, - static locale(locales: Array): string, - locale(locale: string, customization?: Object | null): moment$Moment, - locale(): string, - static months(): Array, - static monthsShort(): Array, - static weekdays(): Array, - static weekdaysShort(): Array, - static weekdaysMin(): Array, - static months(): string, - static monthsShort(): string, - static weekdays(): string, - static weekdaysShort(): string, - static weekdaysMin(): string, - static localeData(key?: string): moment$LocaleData, - static duration( - value: number | Object | string, - unit?: string - ): moment$MomentDuration, - static isDuration(obj: any): boolean, - static normalizeUnits(unit: string): string, - static invalid(object: any): moment$Moment -} - -declare module "moment" { - declare module.exports: Class; -} diff --git a/flow-typed/npm/moment_v2.x.x.js b/flow-typed/npm/moment_v2.x.x.js new file mode 100644 index 00000000..3a8684fb --- /dev/null +++ b/flow-typed/npm/moment_v2.x.x.js @@ -0,0 +1,376 @@ +// flow-typed signature: b8d2d85f70b82d72377cf60c3606a2d9 +// flow-typed version: 0cd8e983b3/moment_v2.x.x/flow_>=v0.25.x + +type moment$MomentOptions = { + y?: number | string, + year?: number | string, + years?: number | string, + M?: number | string, + month?: number | string, + months?: number | string, + d?: number | string, + day?: number | string, + days?: number | string, + date?: number | string, + h?: number | string, + hour?: number | string, + hours?: number | string, + m?: number | string, + minute?: number | string, + minutes?: number | string, + s?: number | string, + second?: number | string, + seconds?: number | string, + ms?: number | string, + millisecond?: number | string, + milliseconds?: number | string +}; + +type moment$MomentObject = { + years: number, + months: number, + date: number, + hours: number, + minutes: number, + seconds: number, + milliseconds: number +}; + +type moment$MomentCreationData = { + input: string, + format: string, + locale: Object, + isUTC: boolean, + strict: boolean +}; + +type moment$CalendarFormat = string | ((moment: moment$Moment) => string); + +type moment$CalendarFormats = { + sameDay?: moment$CalendarFormat, + nextDay?: moment$CalendarFormat, + nextWeek?: moment$CalendarFormat, + lastDay?: moment$CalendarFormat, + lastWeek?: moment$CalendarFormat, + sameElse?: moment$CalendarFormat +}; + +type moment$Inclusivity = "()" | "[)" | "()" | "(]" | "[]"; + +declare class moment$LocaleData { + months(moment: moment$Moment): string; + monthsShort(moment: moment$Moment): string; + monthsParse(month: string): number; + weekdays(moment: moment$Moment): string; + weekdaysShort(moment: moment$Moment): string; + weekdaysMin(moment: moment$Moment): string; + weekdaysParse(weekDay: string): number; + longDateFormat(dateFormat: string): string; + isPM(date: string): boolean; + meridiem(hours: number, minutes: number, isLower: boolean): string; + calendar( + key: + | "sameDay" + | "nextDay" + | "lastDay" + | "nextWeek" + | "prevWeek" + | "sameElse", + moment: moment$Moment + ): string; + relativeTime( + number: number, + withoutSuffix: boolean, + key: "s" | "m" | "mm" | "h" | "hh" | "d" | "dd" | "M" | "MM" | "y" | "yy", + isFuture: boolean + ): string; + pastFuture(diff: any, relTime: string): string; + ordinal(number: number): string; + preparse(str: string): any; + postformat(str: string): any; + week(moment: moment$Moment): string; + invalidDate(): string; + firstDayOfWeek(): number; + firstDayOfYear(): number; +} +declare class moment$MomentDuration { + humanize(suffix?: boolean): string; + milliseconds(): number; + asMilliseconds(): number; + seconds(): number; + asSeconds(): number; + minutes(): number; + asMinutes(): number; + hours(): number; + asHours(): number; + days(): number; + asDays(): number; + months(): number; + asWeeks(): number; + weeks(): number; + asMonths(): number; + years(): number; + asYears(): number; + add(value: number | moment$MomentDuration | Object, unit?: string): this; + subtract(value: number | moment$MomentDuration | Object, unit?: string): this; + as(unit: string): number; + get(unit: string): number; + toJSON(): string; + toISOString(): string; + isValid(): boolean; +} +declare class moment$Moment { + static ISO_8601: string; + static (string?: ?string): moment$Moment; + static ( + initDate: + | moment$MomentOptions + | number + | Date + | Array + | moment$Moment + | string + | null + | void + | [] + | {} + ): moment$Moment; + static (array: []): moment$Moment; + static (object: {}): moment$Moment; + static (string: ?string, format: string | Array): moment$Moment; + static ( + string: ?string, + format: string | Array, + strict: boolean + ): moment$Moment; + static ( + string: ?string, + format: string | Array, + locale: string + ): moment$Moment; + static ( + string: ?string, + format: string | Array, + locale: string, + strict: boolean + ): moment$Moment; + static unix(seconds: number): moment$Moment; + static utc(): moment$Moment; + static utc( + initDate: + | moment$MomentOptions + | number + | Date + | Array + | moment$Moment + | string + | null + | void + ): moment$Moment; + static utc(string: string, format: string | Array): moment$Moment; + static utc( + string: string, + format: string | Array, + strict: boolean + ): moment$Moment; + static utc( + string: string, + format: string | Array, + locale: string + ): moment$Moment; + static utc( + string: string, + format: string | Array, + locale: string, + strict: boolean + ): moment$Moment; + static parseZone(): moment$Moment; + static parseZone(rawDate: string | null | void): moment$Moment; + static parseZone( + rawDate: string, + format: string | Array + ): moment$Moment; + static parseZone( + rawDate: string, + format: string | Array, + strict: boolean + ): moment$Moment; + static parseZone( + rawDate: string, + format: string | Array, + locale: string + ): moment$Moment; + static parseZone( + rawDate: string, + format: string | Array, + locale: string, + strict: boolean + ): moment$Moment; + isValid(): boolean; + invalidAt(): 0 | 1 | 2 | 3 | 4 | 5 | 6; + creationData(): moment$MomentCreationData; + millisecond(number: number): this; + milliseconds(number: number): this; + millisecond(): number; + milliseconds(): number; + second(number: number): this; + seconds(number: number): this; + second(): number; + seconds(): number; + minute(number: number): this; + minutes(number: number): this; + minute(): number; + minutes(): number; + hour(number: number): this; + hours(number: number): this; + hour(): number; + hours(): number; + date(number: number): this; + dates(number: number): this; + date(): number; + dates(): number; + day(day: number | string): this; + days(day: number | string): this; + day(): number; + days(): number; + weekday(number: number): this; + weekday(): number; + isoWeekday(day: number | string): this; + isoWeekday(): number; + dayOfYear(day: number): this; + dayOfYear(): number; + week(number: number): this; + weeks(number: number): this; + week(): number; + weeks(): number; + isoWeek(number: number): this; + isoWeeks(number: number): this; + isoWeek(): number; + isoWeeks(): number; + month(number: number): this; + months(number: number): this; + month(): number; + months(): number; + quarter(number: number): this; + quarter(): number; + year(number: number): this; + years(number: number): this; + year(): number; + years(): number; + weekYear(number: number): this; + weekYear(): number; + isoWeekYear(number: number): this; + isoWeekYear(): number; + weeksInYear(): number; + isoWeeksInYear(): number; + get(string: string): number; + set(unit: string, value: number): this; + set(options: { [unit: string]: number }): this; + static max(...dates: Array): moment$Moment; + static max(dates: Array): moment$Moment; + static min(...dates: Array): moment$Moment; + static min(dates: Array): moment$Moment; + add( + value: number | moment$MomentDuration | moment$Moment | Object, + unit?: string + ): this; + subtract( + value: number | moment$MomentDuration | moment$Moment | string | Object, + unit?: string + ): this; + startOf(unit: string): this; + endOf(unit: string): this; + local(): this; + utc(): this; + utcOffset( + offset: number | string, + keepLocalTime?: boolean, + keepMinutes?: boolean + ): this; + utcOffset(): number; + format(format?: string): string; + fromNow(removeSuffix?: boolean): string; + from( + value: moment$Moment | string | number | Date | Array, + removePrefix?: boolean + ): string; + toNow(removePrefix?: boolean): string; + to( + value: moment$Moment | string | number | Date | Array, + removePrefix?: boolean + ): string; + calendar(refTime?: any, formats?: moment$CalendarFormats): string; + diff( + date: moment$Moment | string | number | Date | Array, + format?: string, + floating?: boolean + ): number; + valueOf(): number; + unix(): number; + daysInMonth(): number; + toDate(): Date; + toArray(): Array; + toJSON(): string; + toISOString(keepOffset?: boolean): string; + toObject(): moment$MomentObject; + isBefore( + date?: moment$Moment | string | number | Date | Array, + units?: ?string + ): boolean; + isSame( + date?: moment$Moment | string | number | Date | Array, + units?: ?string + ): boolean; + isAfter( + date?: moment$Moment | string | number | Date | Array, + units?: ?string + ): boolean; + isSameOrBefore( + date?: moment$Moment | string | number | Date | Array, + units?: ?string + ): boolean; + isSameOrAfter( + date?: moment$Moment | string | number | Date | Array, + units?: ?string + ): boolean; + isBetween( + from: moment$Moment | string | number | Date | Array, + to: moment$Moment | string | number | Date | Array, + units?: string, + inclusivity?: moment$Inclusivity + ): boolean; + isDST(): boolean; + isDSTShifted(): boolean; + isLeapYear(): boolean; + clone(): moment$Moment; + static isMoment(obj: any): boolean; + static isDate(obj: any): boolean; + static updateLocale(locale: string, localeData?: ?Object): void; + static defineLocale(locale: string, localeData?: ?Object): void; + static locale(locale?: string, localeData?: Object): string; + static locale(locales: Array): string; + locale(locale: string, customization?: Object | null): moment$Moment; + locale(): string; + static months(): Array; + static monthsShort(): Array; + static weekdays(): Array; + static weekdaysShort(): Array; + static weekdaysMin(): Array; + static months(): string; + static monthsShort(): string; + static weekdays(): string; + static weekdaysShort(): string; + static weekdaysMin(): string; + static localeData(key?: string): moment$LocaleData; + static duration( + value: number | Object | string, + unit?: string + ): moment$MomentDuration; + static isDuration(obj: any): boolean; + static normalizeUnits(unit: string): string; + static invalid(object: any): moment$Moment; +} + +declare module "moment" { + declare module.exports: Class; +} diff --git a/flow-typed/npm/prettier_v1.x.x.js b/flow-typed/npm/prettier_v1.x.x.js index 0c244915..f7e7b6ea 100644 --- a/flow-typed/npm/prettier_v1.x.x.js +++ b/flow-typed/npm/prettier_v1.x.x.js @@ -1,12 +1,12 @@ -// flow-typed signature: 4eed8da2dc730dc33e7710b465eaa44b -// flow-typed version: cc7a557b34/prettier_v1.x.x/flow_>=v0.56.x +// flow-typed signature: 066c92e9ccb5f0711df8d73cbca837d6 +// flow-typed version: 9e32affdbd/prettier_v1.x.x/flow_>=v0.56.x declare module "prettier" { - declare type AST = Object; - declare type Doc = Object; - declare type FastPath = Object; + declare export type AST = Object; + declare export type Doc = Object; + declare export type FastPath = Object; - declare type PrettierParserName = + declare export type PrettierParserName = | "babylon" | "flow" | "typescript" @@ -19,17 +19,17 @@ declare module "prettier" { | "markdown" | "vue"; - declare type PrettierParser = { + declare export type PrettierParser = { [name: PrettierParserName]: (text: string, options?: Object) => AST }; - declare type CustomParser = ( + declare export type CustomParser = ( text: string, parsers: PrettierParser, options: Options ) => AST; - declare type Options = {| + declare export type Options = {| printWidth?: number, tabWidth?: number, useTabs?: boolean, @@ -49,13 +49,13 @@ declare module "prettier" { plugins?: Array |}; - declare type Plugin = { + declare export type Plugin = { languages: SupportLanguage, parsers: { [parserName: string]: Parser }, printers: { [astFormat: string]: Printer } }; - declare type Parser = { + declare export type Parser = { parse: ( text: string, parsers: { [parserName: string]: Parser }, @@ -64,7 +64,7 @@ declare module "prettier" { astFormat: string }; - declare type Printer = { + declare export type Printer = { print: ( path: FastPath, options: Object, @@ -78,7 +78,7 @@ declare module "prettier" { ) => ?Doc }; - declare type CursorOptions = {| + declare export type CursorOptions = {| cursorOffset: number, printWidth?: $PropertyType, tabWidth?: $PropertyType, @@ -97,18 +97,18 @@ declare module "prettier" { plugins?: $PropertyType |}; - declare type CursorResult = {| + declare export type CursorResult = {| formatted: string, cursorOffset: number |}; - declare type ResolveConfigOptions = {| + declare export type ResolveConfigOptions = {| useCache?: boolean, config?: string, editorconfig?: boolean |}; - declare type SupportLanguage = { + declare export type SupportLanguage = { name: string, since: string, parsers: Array, @@ -124,7 +124,7 @@ declare module "prettier" { vscodeLanguageIds: Array }; - declare type SupportOption = {| + declare export type SupportOption = {| since: string, type: "int" | "boolean" | "choice" | "path", deprecated?: string, @@ -136,18 +136,18 @@ declare module "prettier" { choices?: SupportOptionChoice |}; - declare type SupportOptionRedirect = {| + declare export type SupportOptionRedirect = {| options: string, value: SupportOptionValue |}; - declare type SupportOptionRange = {| + declare export type SupportOptionRange = {| start: number, end: number, step: number |}; - declare type SupportOptionChoice = {| + declare export type SupportOptionChoice = {| value: boolean | string, description?: string, since?: string, @@ -155,20 +155,20 @@ declare module "prettier" { redirect?: SupportOptionValue |}; - declare type SupportOptionValue = number | boolean | string; + declare export type SupportOptionValue = number | boolean | string; - declare type SupportInfo = {| + declare export type SupportInfo = {| languages: Array, options: Array |}; - declare type Prettier = {| + declare export type Prettier = {| format: (source: string, options?: Options) => string, check: (source: string, options?: Options) => boolean, formatWithCursor: (source: string, options: CursorOptions) => CursorResult, resolveConfig: { (filePath: string, options?: ResolveConfigOptions): Promise, - sync(filePath: string, options?: ResolveConfigOptions): Promise + sync(filePath: string, options?: ResolveConfigOptions): ?Options }, clearConfigCache: () => void, getSupportInfo: (version?: string) => SupportInfo diff --git a/flow-typed/npm/radium_v0.19.x.js b/flow-typed/npm/radium_v0.19.x.js deleted file mode 100644 index b66d14f5..00000000 --- a/flow-typed/npm/radium_v0.19.x.js +++ /dev/null @@ -1,137 +0,0 @@ -// flow-typed signature: f8513ec52d8d4aac822e34c01ad37d83 -// flow-typed version: da30fe6876/radium_v0.19.x/flow_>=v0.30.x - -declare module "radium" { - declare type PluginResult = { - // Merged into the component directly. Useful for storing things for which you - // don't need to re-render, event subscriptions, for instance. - componentFields?: ?Object, - - // Merged into a Radium controlled global state object. Use this instead of - // module level state for ease of clearing state between tests. - globalState?: ?Object, - - // Merged into the rendered element's props. - props?: ?Object, - - // Replaces (not merged into) the rendered element's style property. - style?: ?Object - }; - - declare type PluginConfig = { - // Adds a chunk of css to the root style sheet - addCSS: (css: string) => { remove: () => void }, - - // Helper function when adding CSS - appendImportantToEachValue: (style: Object) => Object, - - // May not be readable if code has been minified - componentName: string, - - // The Radium configuration - config: RadiumConfig, - - // Converts an object of CSS rules to a string, for use with addCSS - cssRuleSetToString: ( - selector: string, - rules: Object, - userAgent: ?string - ) => string, - - // Retrieve the value of a field on the component - getComponentField: (key: string) => mixed, - - // Retrieve the value of a field global to the Radium module - // Used so that tests can easily clear global state. - getGlobalState: (key: string) => mixed, - - // Retrieve the value of some state specific to the rendered element. - // Requires the element to have a unique key or ref or for an element key - // to be passed in. - getState: (stateKey: string, elementKey?: string) => mixed, - - // Helper function when adding CSS - hash: (data: string) => string, - - // Returns true if the value is a nested style object - isNestedStyle: (value: mixed) => boolean, - - // Access to the mergeStyles utility - mergeStyles: (styles: Array) => Object, - - // The props of the rendered element. This can be changed by each plugin, - // and successive plugins will see the result of previous plugins. - props: Object, - - // Calls setState on the component with the given key and value. - // By default this is specific to the rendered element, but you can override - // by passing in the `elementKey` parameter. - setState: (stateKey: string, value: mixed, elementKey?: string) => void, - - // The style prop of the rendered element. This can be changed by each plugin, - // and successive plugins will see the result of previous plugins. Kept - // separate from `props` for ease of use. - style: Object, - - // uses the exenv npm module - ExecutionEnvironment: { - canUseEventListeners: boolean, - canUseDOM: boolean - } - }; - - declare type MediaQueryListListener = (mql: MediaQueryList) => mixed; - - declare type MediaQueryList = { - matches: boolean, - addListener(listener: MediaQueryListListener): void, - removeListener(listener: MediaQueryListListener): void - }; - - declare type Plugin = (pluginConfig: PluginConfig) => ?PluginResult; - declare type MatchMediaType = (mediaQueryString: string) => MediaQueryList; - - declare type RadiumConfig = { - matchMedia?: MatchMediaType, - plugins?: Array, - userAgent?: string - }; - - declare type FunctionComponent = ( - props: P, - context: Context - ) => ?React$Element; - declare type ClassComponent = Class>; - - declare class ConfiguredRadium { - ( - component: FunctionComponent - ): FunctionComponent; - ( - component: ClassComponent - ): ClassComponent; - (elem: React$Element): React$Element; - } - - declare class Radium { - ( - component: FunctionComponent - ): FunctionComponent; - ( - component: ClassComponent - ): ClassComponent; - (elem: React$Element): React$Element; - (config: RadiumConfig): ConfiguredRadium; - Plugins: Object; - Style: ClassComponent; - StyleRoot: ClassComponent; - getState( - state: Object, - elementKey: string, - value: ":active" | ":hover" | ":focus" - ): boolean; - keyframes(animationObject: Object, name?: string): string; - } - - declare module.exports: Radium; -} diff --git a/flow-typed/npm/react-addons-test-utils_v15.x.x.js b/flow-typed/npm/react-addons-test-utils_v15.x.x.js deleted file mode 100644 index 2847470e..00000000 --- a/flow-typed/npm/react-addons-test-utils_v15.x.x.js +++ /dev/null @@ -1,61 +0,0 @@ -// flow-typed signature: 7472160d3f2bbd92465a51c99d03752e -// flow-typed version: da30fe6876/react-addons-test-utils_v15.x.x/flow_>=v0.25.x - -import React from "react"; - -declare module "react-addons-test-utils" { - declare var Simulate: { - [eventName: string]: (element: Element, eventData?: Object) => void - }; - declare function renderIntoDocument( - instance: React.Element - ): React.Component; - declare function mockComponent( - componentClass: React.ElementType, - mockTagName?: string - ): Object; - declare function isElement(element: React.Element): boolean; - declare function isElementOfType( - element: React.Element, - componentClass: React.ElementType - ): boolean; - declare function isDOMComponent(instance: React.Component): boolean; - declare function isCompositeComponent(instance: React.Component): boolean; - declare function isCompositeComponentWithType( - instance: React.Component, - componentClass: React.ElementType - ): boolean; - declare function findAllInRenderedTree( - tree: React.Component, - test: (child: React.Component) => boolean - ): Array; - declare function scryRenderedDOMComponentsWithClass( - tree: React.Component, - className: string - ): Array; - declare function findRenderedDOMComponentWithClass( - tree: React.Component, - className: string - ): ?Element; - declare function scryRenderedDOMComponentsWithTag( - tree: React.Component, - tagName: string - ): Array; - declare function findRenderedDOMComponentWithTag( - tree: React.Component, - tagName: string - ): ?Element; - declare function scryRenderedComponentsWithType( - tree: React.Component, - componentClass: React.ElementType - ): Array; - declare function findRenderedComponentWithType( - tree: React.Component, - componentClass: React.ElementType - ): ?React.Component; - declare class ReactShallowRender { - render(element: React.Element): void; - getRenderOutput(): React.Element; - } - declare function createRenderer(): ReactShallowRender; -} diff --git a/flow-typed/npm/react-dnd-html5-backend_v2.x.x.js b/flow-typed/npm/react-dnd-html5-backend_v2.x.x.js deleted file mode 100644 index 83e08fc4..00000000 --- a/flow-typed/npm/react-dnd-html5-backend_v2.x.x.js +++ /dev/null @@ -1,21 +0,0 @@ -// flow-typed signature: b517cd8873674b6ac09e799503836168 -// flow-typed version: 30815cf324/react-dnd-html5-backend_v2.x.x/flow_>=v0.25.x - -declare type $npm$reactDnd$NativeTypes$FILE = "__NATIVE_FILE__"; -declare type $npm$reactDnd$NativeTypes$URL = "__NATIVE_URL__"; -declare type $npm$reactDnd$NativeTypes$TEXT = "__NATIVE_TEXT__"; -declare type $npm$reactDnd$NativeTypes = - | $npm$reactDnd$NativeTypes$FILE - | $npm$reactDnd$NativeTypes$URL - | $npm$reactDnd$NativeTypes$TEXT; - -declare module "react-dnd-html5-backend" { - declare module.exports: { - getEmptyImage(): Image, - NativeTypes: { - FILE: $npm$reactDnd$NativeTypes$FILE, - URL: $npm$reactDnd$NativeTypes$URL, - TEXT: $npm$reactDnd$NativeTypes$TEXT - } - }; -} diff --git a/flow-typed/npm/react-dnd_v2.x.x.js b/flow-typed/npm/react-dnd_v2.x.x.js deleted file mode 100644 index e272fbe8..00000000 --- a/flow-typed/npm/react-dnd_v2.x.x.js +++ /dev/null @@ -1,207 +0,0 @@ -// flow-typed signature: 6457154c7e96ef3ce4b654781625f315 -// flow-typed version: 7bc41826e1/react-dnd_v2.x.x/flow_>=v0.53.x - -declare module "react-dnd" { - declare type Identifier = string; - - declare type ClientOffset = { - x: number, - y: number - }; - - declare type ElementOrNode = React$Element | HTMLElement; - - declare type DndOptions

= { - arePropsEqual?: (props: P, otherProps: P) => boolean - }; - - declare type ComponentClassWithDefaultProps = Class< - React$Component - > & { defaultProps: D }; - - declare type _InstanceOf> = I; - declare type InstanceOf = _InstanceOf<*, C>; - - declare class ConnectedComponent extends React$Component

{ - static DecoratedComponent: C, - getDecoratedComponentInstance(): I, - getHandlerId(): Identifier, - props: P, - state: void - } - - declare type Connector = (< - P: SP, - D, - S, - C: ComponentClassWithDefaultProps - >( - component: C - ) => Class< - ConnectedComponent, { ...CP } & $Diff<$Diff, CP>> - >) & - (>>( - component: C - ) => Class< - ConnectedComponent, { ...CP } & $Diff> - >) & - (>( - component: C - ) => Class>>); - - // Drag Source - // ---------------------------------------------------------------------- - - declare type DragSourceType

= Identifier | ((props: P) => Identifier); - - declare type DragSourceSpec

= { - beginDrag: ( - props: P, - monitor: DragSourceMonitor, - component: React$Component - ) => Object, - - endDrag?: ( - props: P, - monitor: DragSourceMonitor, - component: ?React$Component - ) => void, - - canDrag?: (props: P, monitor: DragSourceMonitor) => boolean, - - isDragging?: (props: P, monitor: DragSourceMonitor) => boolean - }; - - declare type DragSourceMonitor = { - canDrag: () => boolean, - isDragging: () => boolean, - getItemType: () => Identifier, - getItem: () => Object, - getDropResult: () => Object, - didDrop: () => boolean, - getInitialClientOffset: () => ClientOffset, - getInitialSourceClientOffset: () => ClientOffset, - getClientOffset: () => ClientOffset, - getDifferenceFromInitialOffset: () => ClientOffset, - getSourceClientOffset: () => ClientOffset - }; - - declare type DragSourceConnector = { - dragSource: () => ConnectDragSource, - dragPreview: () => ConnectDragPreview - }; - - declare type DragSourceOptions = { - dropEffect?: string - }; - - declare type DragPreviewOptions = { - captureDraggingState?: boolean, - anchorX?: number, - anchorY?: number - }; - - declare type ConnectDragSource = ( - elementOrNode: T, - options?: DragSourceOptions - ) => ?T; - - declare type ConnectDragPreview = ( - elementOrNode: T, - options?: DragPreviewOptions - ) => ?T; - - declare type DragSourceCollector = ( - connect: DragSourceConnector, - monitor: DragSourceMonitor - ) => T; - - declare function DragSource( - type: DragSourceType, - spec: DragSourceSpec, - collect: DragSourceCollector, - options?: DndOptions - ): Connector<$Supertype, CP>; - - // Drop Target - // ---------------------------------------------------------------------- - - declare type DropTargetTypes

= - | Identifier - | Array - | ((props: P) => Identifier | Array); - - declare type DropTargetSpec

= { - drop?: ( - props: P, - monitor: DropTargetMonitor, - component: React$Component - ) => ?Object, - - hover?: ( - props: P, - monitor: DropTargetMonitor, - component: React$Component - ) => void, - - canDrop?: (props: P, monitor: DropTargetMonitor) => boolean - }; - - declare type DropTargetMonitor = { - canDrop: () => boolean, - isOver: (options?: { shallow: boolean }) => boolean, - getItemType: () => Identifier, - getItem: () => Object, - getDropResult: () => Object, - didDrop: () => boolean, - getInitialClientOffset: () => ClientOffset, - getInitialSourceClientOffset: () => ClientOffset, - getClientOffset: () => ClientOffset, - getDifferenceFromInitialOffset: () => ClientOffset, - getSourceClientOffset: () => ClientOffset - }; - - declare type DropTargetConnector = { - dropTarget: () => ConnectDropTarget - }; - - declare type ConnectDropTarget = (elementOrNode: T) => ?T; - - declare type DropTargetCollector = ( - connect: DropTargetConnector, - monitor: DropTargetMonitor - ) => T; - - declare function DropTarget( - types: DropTargetTypes, - spec: DropTargetSpec, - collect: DropTargetCollector, - options?: DndOptions - ): Connector<$Supertype, CP>; - - // Drag Layer - // ---------------------------------------------------------------------- - - declare type DragLayerMonitor = { - isDragging: () => boolean, - getItemType: () => Identifier, - getItem: () => Object, - getInitialClientOffset: () => ClientOffset, - getInitialSourceClientOffset: () => ClientOffset, - getClientOffset: () => ClientOffset, - getDifferenceFromInitialOffset: () => ClientOffset, - getSourceClientOffset: () => ClientOffset - }; - - declare function DragLayer( - collect: (monitor: DragLayerMonitor) => CP, - options?: DndOptions - ): Connector<$Supertype, CP>; - - // Drag Drop Context - // ---------------------------------------------------------------------- - - declare function DragDropContext( - backend: mixed - ): Connector<$Supertype, CP>; -} diff --git a/flow-typed/npm/react-redux_v5.x.x.js b/flow-typed/npm/react-redux_v5.x.x.js index 0c3e7d0c..759ad5a5 100644 --- a/flow-typed/npm/react-redux_v5.x.x.js +++ b/flow-typed/npm/react-redux_v5.x.x.js @@ -1,20 +1,30 @@ -// flow-typed signature: d4e793bc07ef1dc9906a244b12960f7b -// flow-typed version: cf33ff8762/react-redux_v5.x.x/flow_>=v0.63.0 - -import type { Dispatch, Store } from "redux"; +// flow-typed signature: 502cfd4f5e95c6308f747cdf16dc93ce +// flow-typed version: 1751d5bf0a/react-redux_v5.x.x/flow_>=v0.68.0 declare module "react-redux" { import type { ComponentType, ElementConfig } from 'react'; - declare export class Provider extends React$Component<{ - store: Store, + // These types are copied directly from the redux libdef. Importing them in + // this libdef causes a loss in type coverage. + declare type DispatchAPI = (action: A) => A; + declare type Dispatch }> = DispatchAPI; + declare type Reducer = (state: S | void, action: A) => S; + declare type Store> = { + dispatch: D; + getState(): S; + subscribe(listener: () => void): () => void; + replaceReducer(nextReducer: Reducer): void + }; + + declare export class Provider extends React$Component<{ + store: Store, children?: any }> {} declare export function createProvider( storeKey?: string, subKey?: string - ): Provider<*, *>; + ): Provider<*, *, *>; /* @@ -30,6 +40,8 @@ declare module "react-redux" { RMP = Returned merge props CP = Props for returned component Com = React Component + ST = Static properties of Com + EFO = Extra factory options (used only in connectAdvanced) */ declare type MapStateToProps = (state: S, props: SP) => RSP; @@ -52,23 +64,71 @@ declare module "react-redux" { storeKey?: string |}; - declare type OmitDispatch = $Diff}>; + declare type OmitDispatch = $Diff}>; + + declare type ConnectAdvancedOptions = { + getDisplayName?: (name: string) => string, + methodName?: string, + renderCountProp?: string, + shouldHandleStateChanges?: boolean, + storeKey?: string, + withRef?: boolean, + }; + + declare type SelectorFactoryOptions = { + getDisplayName: (name: string) => string, + methodName: string, + renderCountProp: ?string, + shouldHandleStateChanges: boolean, + storeKey: string, + withRef: boolean, + displayName: string, + wrappedComponentName: string, + WrappedComponent: Com, + }; + + declare type SelectorFactory< + Com: ComponentType<*>, + A, + S: Object, + OP: Object, + EFO: Object, + CP: Object + > = (dispatch: Dispatch, factoryOptions: SelectorFactoryOptions & EFO) => + MapStateToProps; + + declare export function connectAdvanced< + Com: ComponentType<*>, + A, + S: Object, + OP: Object, + CP: Object, + EFO: Object, + ST: {[_: $Keys]: any} + >( + selectorFactory: SelectorFactory, + connectAdvancedOptions: ?(ConnectAdvancedOptions & EFO), + ): (component: Com) => ComponentType & $Shape; declare export function connect< Com: ComponentType<*>, S: Object, - DP: Object, + SP: Object, RSP: Object, - CP: $Diff>, RSP> + CP: $Diff>, RSP>, + ST: {[_: $Keys]: any} >( - mapStateToProps: MapStateToProps, + mapStateToProps: MapStateToProps, mapDispatchToProps?: null - ): (component: Com) => ComponentType; + ): (component: Com) => ComponentType & $Shape; - declare export function connect>( + declare export function connect< + Com: ComponentType<*>, + ST: {[_: $Keys]: any} + >( mapStateToProps?: null, mapDispatchToProps?: null - ): (component: Com) => ComponentType>>; + ): (component: Com) => ComponentType>> & $Shape; declare export function connect< Com: ComponentType<*>, @@ -78,11 +138,12 @@ declare module "react-redux" { SP: Object, RSP: Object, RDP: Object, - CP: $Diff<$Diff, RSP>, RDP> + CP: $Diff<$Diff, RSP>, RDP>, + ST: $Subtype<{[_: $Keys]: any}> >( mapStateToProps: MapStateToProps, mapDispatchToProps: MapDispatchToProps - ): (component: Com) => ComponentType; + ): (component: Com) => ComponentType & $Shape; declare export function connect< Com: ComponentType<*>, @@ -90,7 +151,8 @@ declare module "react-redux" { OP: Object, DP: Object, PR: Object, - CP: $Diff, DP> + CP: $Diff, DP>, + ST: $Subtype<{[_: $Keys]: any}> >( mapStateToProps?: null, mapDispatchToProps: MapDispatchToProps @@ -98,11 +160,12 @@ declare module "react-redux" { declare export function connect< Com: ComponentType<*>, - MDP: Object + MDP: Object, + ST: $Subtype<{[_: $Keys]: any}> >( mapStateToProps?: null, mapDispatchToProps: MDP - ): (component: Com) => ComponentType<$Diff, MDP>>; + ): (component: Com) => ComponentType<$Diff, MDP>> & $Shape; declare export function connect< Com: ComponentType<*>, @@ -110,11 +173,12 @@ declare module "react-redux" { SP: Object, RSP: Object, MDP: Object, - CP: $Diff, RSP> + CP: $Diff, RSP>, + ST: $Subtype<{[_: $Keys]: any}> >( mapStateToProps: MapStateToProps, - mapDispatchToPRops: MDP - ): (component: Com) => ComponentType<$Diff & SP>; + mapDispatchToProps: MDP + ): (component: Com) => ComponentType<$Diff & SP> & $Shape; declare export function connect< Com: ComponentType<*>, @@ -126,12 +190,13 @@ declare module "react-redux" { RDP: Object, MP: Object, RMP: Object, - CP: $Diff, RMP> + CP: $Diff, RMP>, + ST: $Subtype<{[_: $Keys]: any}> >( mapStateToProps: MapStateToProps, mapDispatchToProps: ?MapDispatchToProps, mergeProps: MergeProps - ): (component: Com) => ComponentType; + ): (component: Com) => ComponentType & $Shape; declare export function connect< Com: ComponentType<*>, @@ -144,12 +209,13 @@ declare module "react-redux" { MDP: Object, MP: Object, RMP: Object, - CP: $Diff, RMP> + CP: $Diff, RMP>, + ST: $Subtype<{[_: $Keys]: any}> >( mapStateToProps: MapStateToProps, mapDispatchToProps: MDP, mergeProps: MergeProps - ): (component: Com) => ComponentType; + ): (component: Com) => ComponentType & $Shape; declare export function connect, A, @@ -159,13 +225,14 @@ declare module "react-redux" { RSP: Object, RDP: Object, MP: Object, - RMP: Object + RMP: Object, + ST: $Subtype<{[_: $Keys]: any}> >( mapStateToProps: ?MapStateToProps, mapDispatchToProps: ?MapDispatchToProps, mergeProps: ?MergeProps, options: ConnectOptions - ): (component: Com) => ComponentType<$Diff, RMP> & SP & DP & MP>; + ): (component: Com) => ComponentType<$Diff, RMP> & SP & DP & MP> & $Shape; declare export function connect, A, @@ -176,17 +243,19 @@ declare module "react-redux" { RDP: Object, MDP: Object, MP: Object, - RMP: Object + RMP: Object, + ST: $Subtype<{[_: $Keys]: any}> >( mapStateToProps: ?MapStateToProps, mapDispatchToProps: ?MapDispatchToProps, mergeProps: MDP, options: ConnectOptions - ): (component: Com) => ComponentType<$Diff, RMP> & SP & DP & MP>; + ): (component: Com) => ComponentType<$Diff, RMP> & SP & DP & MP> & $Shape; declare export default { Provider: typeof Provider, createProvider: typeof createProvider, connect: typeof connect, + connectAdvanced: typeof connectAdvanced, }; } diff --git a/flow-typed/npm/react-test-renderer_v16.x.x.js b/flow-typed/npm/react-test-renderer_v16.x.x.js index 62ed9a2d..d4a7146e 100644 --- a/flow-typed/npm/react-test-renderer_v16.x.x.js +++ b/flow-typed/npm/react-test-renderer_v16.x.x.js @@ -1,9 +1,11 @@ -// flow-typed signature: cd91208a3c81125a801eb305516651a1 -// flow-typed version: 6b56f6033e/react-test-renderer_v16.x.x/flow_>=v0.47.x +// flow-typed signature: 9b9f4128694a7f68659d945b81fb78ff +// flow-typed version: 46dfe79a54/react-test-renderer_v16.x.x/flow_>=v0.47.x // Type definitions for react-test-renderer 16.x.x // Ported from: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react-test-renderer +type ReactComponentInstance = React$Component; + type ReactTestRendererJSON = { type: string, props: { [propName: string]: any }, @@ -12,12 +14,12 @@ type ReactTestRendererJSON = { type ReactTestRendererTree = ReactTestRendererJSON & { nodeType: "component" | "host", - instance: any, + instance: ?ReactComponentInstance, rendered: null | ReactTestRendererTree }; type ReactTestInstance = { - instance: any, + instance: ?ReactComponentInstance, type: string, props: { [propName: string]: any }, parent: null | ReactTestInstance, @@ -41,20 +43,20 @@ type ReactTestInstance = { ): ReactTestInstance[] }; -type ReactTestRenderer = { - toJSON(): null | ReactTestRendererJSON, - toTree(): null | ReactTestRendererTree, - unmount(nextElement?: React$Element): void, - update(nextElement: React$Element): void, - getInstance(): null | ReactTestInstance, - root: ReactTestInstance -}; - type TestRendererOptions = { createNodeMock(element: React$Element): any }; declare module "react-test-renderer" { + declare export type ReactTestRenderer = { + toJSON(): null | ReactTestRendererJSON, + toTree(): null | ReactTestRendererTree, + unmount(nextElement?: React$Element): void, + update(nextElement: React$Element): void, + getInstance(): ?ReactComponentInstance, + root: ReactTestInstance + }; + declare function create( nextElement: React$Element, options?: TestRendererOptions diff --git a/flow-typed/npm/recompose_v0.x.x.js b/flow-typed/npm/recompose_v0.x.x.js deleted file mode 100644 index bda39220..00000000 --- a/flow-typed/npm/recompose_v0.x.x.js +++ /dev/null @@ -1,482 +0,0 @@ -// flow-typed signature: ababb4f540ef52bbdbb2fdd0e473eb0d -// flow-typed version: 245513abee/recompose_v0.x.x/flow_>=v0.57.x - -/** - * 1) Types give additional constraint on a language, recompose was written on the untyped language - * as a consequence of this fact - * for some recompose HOCs is near impossible to add correct typings. - * 2) flow sometimes does not work as expected. - * - * So any help and suggestions will be very appreciated. - * - * ----------------------------------------------------------------------------------- - * Type definition of recompose HOCs are splitted into 2 parts, - * "HOCs with good flow support" - in most cases you can use them without big issues, - * see `test_${hocName}.js` for the idea. - * Some known issues: - * see test_mapProps.js - inference work but type errors are not detected in hocs - * - * SUPPORTED HOCs: - * defaultProps, mapProps, withProps, withStateHandlers, withHandlers, pure, - * onlyUpdateForKeys, shouldUpdate, renderNothing, renderComponent, branch, withPropsOnChange, - * onlyUpdateForPropTypes, toClass, withContext, getContext, - * setStatic, setPropTypes, setDisplayName, - * ----------------------------------------------------------------------------------- - * "TODO (UNSUPPORTED) HOCs" - you need to provide type information - * (no automatic type inference), voodoo dancing etc - * see `test_voodoo.js` for the idea - * - * remember that: - * flattenProp,renameProp, renameProps can easily be replaced with withProps - * withReducer, withState -> use withStateHandlers instead - * lifecycle -> you don't need recompose if you need a lifecycle, just use React class instead - * mapPropsStream -> see test_mapPropsStream.js - * ----------------------------------------------------------------------------------- - * - * utils: - * getDisplayName, wrapDisplayName, shallowEqual, - * isClassComponent, createEagerElement, createEagerFactory, createSink, componentFromProp, - * nest, hoistStatics, - */ - -//------------------- - -declare module "recompose" { - // ----------------------------------------------------------------- - // Private declarations - // ----------------------------------------------------------------- - - declare type Void_ R> = ( - A, - B, - C, - D - ) => void; - - declare type Void = Void_<*, *, *, *, *, T>; - - declare type ExtractStateHandlersCodomain = ( - v: (state: State, props: Enhanced) => V - ) => Void; - - declare type ExtractHandlersCodomain = ( - v: (props: Enhanced) => V - ) => V; - - declare type UnaryFn = (a: A) => R; - - // ----------------------------------------------------------------- - // Public declarations - // ----------------------------------------------------------------- - - declare export type Component = React$ComponentType; - - declare export type HOC = UnaryFn< - Component, - Component - >; - - declare export var compose: $Compose; - - // --------------------------------------------------------------------------- - // ----------------===<<>>===-------------------- - // --------------------------------------------------------------------------- - - declare export function defaultProps( - defProps: Default - ): HOC<{ ...$Exact, ...Default }, Enhanced>; - - declare export function mapProps( - propsMapper: (ownerProps: Enhanced) => Base - ): HOC; - - declare export function withProps( - propsMapper: ((ownerProps: Enhanced) => BaseAdd) | BaseAdd - ): HOC<{ ...$Exact, ...BaseAdd }, Enhanced>; - - declare export function withStateHandlers< - State, - Enhanced, - StateHandlers: { - [key: string]: ( - state: State, - props: Enhanced - ) => (...payload: any[]) => $Shape - } - >( - initialState: ((props: Enhanced) => State) | State, - stateUpdaters: StateHandlers - ): HOC< - { - ...$Exact, - ...$Exact, - ...$ObjMap - }, - Enhanced - >; - - declare export function withHandlers< - Enhanced, - Handlers: - | (( - props: Enhanced - ) => { - [key: string]: (props: Enhanced) => Function - }) - | { - [key: string]: (props: Enhanced) => Function - } - >( - handlers: ((props: Enhanced) => Handlers) | Handlers - ): HOC< - { - ...$Exact, - ...$ObjMap - }, - Enhanced - >; - - declare export function pure(a: Component): Component; - declare export function onlyUpdateForPropTypes( - a: Component - ): Component; - declare export function onlyUpdateForKeys(Array<$Keys>): HOC; - declare export function shouldUpdate( - (props: A, nextProps: A) => boolean - ): HOC; - - declare export function toClass(a: Component): Component; - - declare export function withContext( - childContextTypes: ContextPropTypes, - getChildContext: (props: A) => ContextObj - ): HOC; - - declare export function getContext( - contextTypes: CtxTypes - ): HOC<{ ...$Exact, ...CtxTypes }, Enhanced>; - - /** - * It's wrong declaration but having that renderNothing and renderComponent are somehow useless - * outside branch enhancer, we just give it an id type - * so common way of using branch like - * `branch(testFn, renderNothing | renderComponent(Comp))` will work as expected. - * Tests are placed at test_branch. - */ - declare export function renderNothing(C: Component): Component; - declare export function renderComponent(a: Component): HOC; - - /** - * We make an assumtion that left and right have the same type if exists - */ - declare export function branch( - testFn: (props: Enhanced) => boolean, - // not a HOC because of inference problems, this works but HOC is not - left: (Component) => Component, - // I never use right part and it can be a problem with inference as should be same type as left - right?: (Component) => Component - ): HOC; - - // test_statics - declare export function setStatic(key: string, value: any): HOC; - declare export function setPropTypes(propTypes: Object): HOC; - declare export function setDisplayName(displayName: string): HOC; - - declare export function withPropsOnChange( - shouldMapOrKeys: - | ((props: Enhanced, nextProps: Enhanced) => boolean) - | Array<$Keys>, - propsMapper: (ownerProps: Enhanced) => BaseAdd - ): HOC<{ ...$Exact, ...BaseAdd }, Enhanced>; - - // --------------------------------------------------------------------------- - // ----------------===<<>>===------------------------ - // --------------------------------------------------------------------------- - - // use withProps instead - declare export function flattenProp( - propName: $Keys - ): HOC; - - // use withProps instead - declare export function renameProp( - oldName: $Keys, - newName: $Keys - ): HOC; - - // use withProps instead - declare export function renameProps(nameMap: { - [key: $Keys]: $Keys - }): HOC; - - // use withStateHandlers instead - declare export function withState( - stateName: string, - stateUpdaterName: string, - initialState: T | ((props: Enhanced) => T) - ): HOC; - - // use withStateHandlers instead - declare export function withReducer( - stateName: string, - dispatchName: string, - reducer: (state: State, action: Action) => State, - initialState: State - ): HOC; - - // lifecycle use React instead - declare export function lifecycle(spec: Object): HOC; - - // Help needed, as explicitly providing the type - // errors not detected, see TODO at test_mapPropsStream.js - declare export function mapPropsStream( - (props$: any) => any - ): HOC; - - // --------------------------------------------------------------------------- - // -----------------------------===<<>>===----------------------------- - // --------------------------------------------------------------------------- - - declare export function getDisplayName(C: Component): string; - - declare export function wrapDisplayName( - C: Component, - wrapperName: string - ): string; - - declare export function shallowEqual(objA: mixed, objB: mixed): boolean; - - declare export function isClassComponent(value: any): boolean; - - declare export function createEagerElement( - type: Component | string, - props: ?A, - children?: ?React$Node - ): React$Element; - - declare export function createEagerFactory( - type: Component | string - ): (props: ?A, children?: ?React$Node) => React$Element; - - declare export function createSink( - callback: (props: A) => void - ): Component; - - declare export function componentFromProp(propName: string): Component; - - declare export function nest( - ...Components: Array | string> - ): Component; - - declare export function hoistStatics>(hoc: H): H; - - declare export function componentFromStream( - (props$: any) => any - ): T => React$Element; - - declare export function createEventHandler(): { - stream: any, - handler: Function - }; -} - -declare module "recompose/defaultProps" { - declare module.exports: $PropertyType<$Exports<"recompose">, "defaultProps">; -} - -declare module "recompose/mapProps" { - declare module.exports: $PropertyType<$Exports<"recompose">, "mapProps">; -} - -declare module "recompose/withProps" { - declare module.exports: $PropertyType<$Exports<"recompose">, "withProps">; -} - -declare module "recompose/withStateHandlers" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "withStateHandlers" - >; -} - -declare module "recompose/withHandlers" { - declare module.exports: $PropertyType<$Exports<"recompose">, "withHandlers">; -} - -declare module "recompose/pure" { - declare module.exports: $PropertyType<$Exports<"recompose">, "pure">; -} - -declare module "recompose/onlyUpdateForPropTypes" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "onlyUpdateForPropTypes" - >; -} - -declare module "recompose/onlyUpdateForKeys" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "onlyUpdateForKeys" - >; -} - -declare module "recompose/shouldUpdate" { - declare module.exports: $PropertyType<$Exports<"recompose">, "shouldUpdate">; -} - -declare module "recompose/toClass" { - declare module.exports: $PropertyType<$Exports<"recompose">, "toClass">; -} - -declare module "recompose/withContext" { - declare module.exports: $PropertyType<$Exports<"recompose">, "withContext">; -} - -declare module "recompose/getContext" { - declare module.exports: $PropertyType<$Exports<"recompose">, "getContext">; -} - -declare module "recompose/renderNothing" { - declare module.exports: $PropertyType<$Exports<"recompose">, "renderNothing">; -} - -declare module "recompose/renderComponent" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "renderComponent" - >; -} - -declare module "recompose/branch" { - declare module.exports: $PropertyType<$Exports<"recompose">, "branch">; -} - -declare module "recompose/setStatic" { - declare module.exports: $PropertyType<$Exports<"recompose">, "setStatic">; -} - -declare module "recompose/setPropTypes" { - declare module.exports: $PropertyType<$Exports<"recompose">, "setPropTypes">; -} - -declare module "recompose/setDisplayName" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "setDisplayName" - >; -} - -declare module "recompose/withPropsOnChange" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "withPropsOnChange" - >; -} - -declare module "recompose/flattenProp" { - declare module.exports: $PropertyType<$Exports<"recompose">, "flattenProp">; -} - -declare module "recompose/renameProp" { - declare module.exports: $PropertyType<$Exports<"recompose">, "renameProp">; -} - -declare module "recompose/renameProps" { - declare module.exports: $PropertyType<$Exports<"recompose">, "renameProps">; -} - -declare module "recompose/withState" { - declare module.exports: $PropertyType<$Exports<"recompose">, "withState">; -} - -declare module "recompose/withReducer" { - declare module.exports: $PropertyType<$Exports<"recompose">, "withReducer">; -} - -declare module "recompose/lifecycle" { - declare module.exports: $PropertyType<$Exports<"recompose">, "lifecycle">; -} - -declare module "recompose/mapPropsStream" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "mapPropsStream" - >; -} - -declare module "recompose/getDisplayName" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "getDisplayName" - >; -} - -declare module "recompose/wrapDisplayName" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "wrapDisplayName" - >; -} - -declare module "recompose/shallowEqual" { - declare module.exports: $PropertyType<$Exports<"recompose">, "shallowEqual">; -} - -declare module "recompose/isClassComponent" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "isClassComponent" - >; -} - -declare module "recompose/createEagerElement" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "createEagerElement" - >; -} - -declare module "recompose/createEagerFactory" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "createEagerFactory" - >; -} - -declare module "recompose/createSink" { - declare module.exports: $PropertyType<$Exports<"recompose">, "createSink">; -} - -declare module "recompose/componentFromProp" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "componentFromProp" - >; -} - -declare module "recompose/nest" { - declare module.exports: $PropertyType<$Exports<"recompose">, "nest">; -} - -declare module "recompose/hoistStatics" { - declare module.exports: $PropertyType<$Exports<"recompose">, "hoistStatics">; -} - -declare module "recompose/componentFromStream" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "componentFromStream" - >; -} - -declare module "recompose/createEventHandler" { - declare module.exports: $PropertyType< - $Exports<"recompose">, - "createEventHandler" - >; -} - -declare module "recompose/compose" { - declare module.exports: $PropertyType<$Exports<"recompose">, "compose">; -} diff --git a/flow-typed/npm/redux-mock-store_v1.2.x.js b/flow-typed/npm/redux-mock-store_v1.2.x.js index 1e84bd30..7d6cf12e 100644 --- a/flow-typed/npm/redux-mock-store_v1.2.x.js +++ b/flow-typed/npm/redux-mock-store_v1.2.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 9e2769d1002704a6dd0533f4362869d2 -// flow-typed version: 614bf49aa8/redux-mock-store_v1.2.x/flow_>=v0.25.x +// flow-typed signature: 1a52c9b15ddf789276c0cf9a8a0f3802 +// flow-typed version: e3d371228f/redux-mock-store_v1.2.x/flow_>=v0.25.x declare module "redux-mock-store" { /* @@ -10,12 +10,14 @@ declare module "redux-mock-store" { declare type mockStore = { (state: S): mockStoreWithoutMiddleware }; + declare type DispatchAPI = (action: A) => A; + declare type Dispatch }> = DispatchAPI; declare type mockStoreWithoutMiddleware = { getState(): S, getActions(): Array, - dispatch(action: A): A, + dispatch: Dispatch, clearActions(): void, - subscribe(callback: Function): void, + subscribe(callback: Function): () => void, replaceReducer(nextReducer: Function): void }; diff --git a/flow-typed/npm/rxjs_v5.0.x.js b/flow-typed/npm/rxjs_v5.0.x.js index fb19474e..95708ea1 100644 --- a/flow-typed/npm/rxjs_v5.0.x.js +++ b/flow-typed/npm/rxjs_v5.0.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: ba8bd69b3b15ca5144e860a8ed7c2c4e -// flow-typed version: 5cce1617ae/rxjs_v5.0.x/flow_>=v0.34.x +// flow-typed signature: 2c1a1b2981d6538d29ee1fcd94983cf5 +// flow-typed version: d087764128/rxjs_v5.0.x/flow_>=v0.34.x type rxjs$PartialObserver<-T> = | { @@ -327,6 +327,8 @@ declare class rxjs$Observable<+T> { static of(...values: T[]): rxjs$Observable; + static race(...sources: rxjs$Observable[]): rxjs$Observable; + static range( start?: number, count?: number, @@ -729,6 +731,9 @@ declare class rxjs$Observable<+T> { onCompleted: ?() => mixed ): rxjs$Subscription; + combineAll(): rxjs$Observable; + combineAll(project: (...values: any[]) => U): rxjs$Observable; + static combineLatest( a: rxjs$Observable, resultSelector: (a: A) => B diff --git a/flow-typed/npm/styled-components_v3.x.x.js b/flow-typed/npm/styled-components_v3.x.x.js index 175d1752..e0291771 100644 --- a/flow-typed/npm/styled-components_v3.x.x.js +++ b/flow-typed/npm/styled-components_v3.x.x.js @@ -1,5 +1,5 @@ -// flow-typed signature: 8e8f10c16b7f1b7249a269ae3938551e -// flow-typed version: b0f6644f4d/styled-components_v3.x.x/flow_>=v0.57.x +// flow-typed signature: f523b1ef4ab2de4542946d8ff8f9d2be +// flow-typed version: a92e9b07d7/styled-components_v3.x.x/flow_>=v0.75.x // @flow @@ -111,7 +111,7 @@ type $npm$styledComponents$WithTheme = & $npm$styledComponents$WithThemeReactComponentFunctionalUndefinedDefaultProps // ---- MISC ---- -type $npm$styledComponents$Theme = {[key: string]: mixed}; +type $npm$styledComponents$Theme = $ReadOnly<{[key: string]: mixed}>; type $npm$styledComponents$ThemeProviderProps = { theme: $npm$styledComponents$Theme | ((outerTheme: $npm$styledComponents$Theme) => void) }; @@ -302,6 +302,7 @@ type $npm$styledComponents$StyledComponentsNativeComponentList = {| ProgressViewIOS: $npm$styledComponents$StyledComponentsNativeComponentListValue, RecyclerViewBackedScrollView: $npm$styledComponents$StyledComponentsNativeComponentListValue, RefreshControl: $npm$styledComponents$StyledComponentsNativeComponentListValue, + SafeAreaView: $npm$styledComponents$StyledComponentsNativeComponentListValue, ScrollView: $npm$styledComponents$StyledComponentsNativeComponentListValue, SectionList: $npm$styledComponents$StyledComponentsNativeComponentListValue, SegmentedControlIOS: $npm$styledComponents$StyledComponentsNativeComponentListValue, @@ -356,37 +357,39 @@ declare module 'styled-components' { declare export var ThemeProvider: typeof Npm$StyledComponents$ThemeProvider; declare export default { - $call: $npm$styledComponents$Call, css: TaggedTemplateLiteral>, ...$npm$styledComponents$StyledComponentsComponentList, ...$npm$styledComponents$StyledComponentsNativeComponentList, + } & { + [[call]]: $npm$styledComponents$Call } } declare module 'styled-components/native' { - declare type Interpolation = $npm$styledComponents$Interpolation; - declare type NameGenerator = $npm$styledComponents$NameGenerator; - declare type Theme = $npm$styledComponents$Theme; - declare type ThemeProviderProps = $npm$styledComponents$ThemeProviderProps; - declare type TaggedTemplateLiteral = $npm$styledComponents$TaggedTemplateLiteral; - declare type NativeComponentListKeys = $npm$styledComponents$StyledComponentsNativeComponentListKeys; - - declare type ReactComponentFunctional = $npm$styledComponents$ReactComponentFunctional; - declare type ReactComponentFunctionalUndefinedDefaultProps = $npm$styledComponents$ReactComponentFunctionalUndefinedDefaultProps; - declare type ReactComponentClass = $npm$styledComponents$ReactComponentClass; - declare type ReactComponentClassUndefinedDefaultProps = $npm$styledComponents$ReactComponentClassUndefinedDefaultProps; - declare type ReactComponentUnion = $npm$styledComponents$ReactComponentUnion; - declare type ReactComponentIntersection = $npm$styledComponents$ReactComponentIntersection; - declare type ReactComponentStyledStaticProps = $npm$styledComponents$ReactComponentStyledStaticPropsWithComponent; - declare type ReactComponentStyled = $npm$styledComponents$ReactComponentStyled; - declare type ReactComponentStyledTaggedTemplateLiteral = $npm$styledComponents$ReactComponentStyledTaggedTemplateLiteralWithComponent; + declare export type Interpolation = $npm$styledComponents$Interpolation; + declare export type NameGenerator = $npm$styledComponents$NameGenerator; + declare export type Theme = $npm$styledComponents$Theme; + declare export type ThemeProviderProps = $npm$styledComponents$ThemeProviderProps; + declare export type TaggedTemplateLiteral = $npm$styledComponents$TaggedTemplateLiteral; + declare export type NativeComponentListKeys = $npm$styledComponents$StyledComponentsNativeComponentListKeys; + + declare export type ReactComponentFunctional = $npm$styledComponents$ReactComponentFunctional; + declare export type ReactComponentFunctionalUndefinedDefaultProps = $npm$styledComponents$ReactComponentFunctionalUndefinedDefaultProps; + declare export type ReactComponentClass = $npm$styledComponents$ReactComponentClass; + declare export type ReactComponentClassUndefinedDefaultProps = $npm$styledComponents$ReactComponentClassUndefinedDefaultProps; + declare export type ReactComponentUnion = $npm$styledComponents$ReactComponentUnion; + declare export type ReactComponentIntersection = $npm$styledComponents$ReactComponentIntersection; + declare export type ReactComponentStyledStaticProps = $npm$styledComponents$ReactComponentStyledStaticPropsWithComponent; + declare export type ReactComponentStyled = $npm$styledComponents$ReactComponentStyled; + declare export type ReactComponentStyledTaggedTemplateLiteral = $npm$styledComponents$ReactComponentStyledTaggedTemplateLiteralWithComponent; declare export var keyframes: TaggedTemplateLiteral; declare export var withTheme: $npm$styledComponents$WithTheme; declare export var ThemeProvider: typeof Npm$StyledComponents$ThemeProvider; declare export default { - $call: $npm$styledComponents$Call, css: TaggedTemplateLiteral>, ...$npm$styledComponents$StyledComponentsNativeComponentList, + } & { + [[call]]: $npm$styledComponents$Call } } diff --git a/flow-typed/npm/xterm_v3.x.x.js b/flow-typed/npm/xterm_v3.x.x.js new file mode 100644 index 00000000..8253fbc6 --- /dev/null +++ b/flow-typed/npm/xterm_v3.x.x.js @@ -0,0 +1,258 @@ +// flow-typed signature: 648842eba230bb7a0960d21a0dc2fe5e +// flow-typed version: d94fd329cc/xterm_v3.x.x/flow_>=v0.56.x + +declare module "xterm" { + declare export type FontWeight = + | "normal" + | "bold" + | "100" + | "200" + | "300" + | "400" + | "500" + | "600" + | "700" + | "800" + | "900"; + + declare export type Theme = $Shape<{ + foreground: string, + background: string, + cursor: string, + cursorAccent: string, + selection: string, + black: string, + red: string, + green: string, + yellow: string, + blue: string, + magenta: string, + cyan: string, + white: string, + brightBlack: string, + brightRed: string, + brightGreen: string, + brightYellow: string, + brightBlue: string, + brightMagenta: string, + brightCyan: string, + brightWhite: string + }>; + + declare export type TerminalOptions = $Shape<{ + allowTransparency: boolean, + bellSound: string, + bellStyle: "none" | "sound", + cols: number, + cursorBlink: boolean, + cursorStyle: "block" | "underline" | "bar", + disableStdin: boolean, + enableBold: boolean, + fontSize: number, + fontFamily: string, + fontWeight: FontWeight, + fontWeightBold: FontWeight, + letterSpacing: number, + lineHeight: number, + macOptionIsMeta: boolean, + rightClickSelectsWord: boolean, + rows: number, + screenReaderMode: boolean, + scrollback: number, + tabStopWidth: number, + theme: Theme + }>; + + declare export type LinkMatcherOptions = $Shape<{ + matchIndex: number, + validationCallback: ( + uri: string, + callback: (isValid: boolean) => void + ) => void, + tooltipCallback: (event: MouseEvent, uri: string) => boolean | void, + leaveCallback: (event: MouseEvent, uri: string) => boolean | void, + priority: number, + willLinkActivate: (event: MouseEvent, uri: string) => boolean + }>; + + declare export type Disposable = {| + dispose(): void + |}; + + declare export type Marker = {| + ...Disposable, + +id: number, + +isDisposed: boolean, + +line: number + |}; + + declare export type LocalizableStrings = {| + blankLine: string, + promptLabel: string, + tooMuchOutput: string + |}; + + declare export class Terminal { + element: HTMLElement; + textarea: HTMLTextAreaElement; + rows: number; + cols: number; + markers: Marker[]; + static strings: LocalizableStrings; + constructor(options?: TerminalOptions): Terminal; + blur(): void; + focus(): void; + on( + type: "blur" | "focus" | "linefeed" | "selection", + listener: () => void + ): void; + on(type: "data", listener: (...args: any[]) => void): void; + on( + type: "key", + listener: (key?: string, event?: KeyboardEvent) => void + ): void; + on( + type: "keypress" | "keydown", + listener: (event?: KeyboardEvent) => void + ): void; + on( + type: "refresh", + listener: (data?: { start: number, end: number }) => void + ): void; + on( + type: "resize", + listener: (data?: { cols: number, rows: number }) => void + ): void; + on(type: "scroll", listener: (ydisp?: number) => void): void; + on(type: "title", listener: (title?: string) => void): void; + on(type: string, listener: (...args: any[]) => void): void; + off( + type: | "blur" + | "focus" + | "linefeed" + | "selection" + | "data" + | "key" + | "keypress" + | "keydown" + | "refresh" + | "resize" + | "scroll" + | "title" + | string, + listener: (...args: any[]) => void + ): void; + emit(type: string, data?: any): void; + addDisposableListener( + type: string, + handler: (...args: any[]) => void + ): Disposable; + resize(columns: number, rows: number): void; + writeln(data: string): void; + open(parent: HTMLElement): void; + attachCustomKeyEventHandler( + customKeyEventHandler: (event: KeyboardEvent) => boolean + ): void; + registerLinkMatcher( + regex: RegExp, + handler: (event: MouseEvent, uri: string) => void, + options?: LinkMatcherOptions + ): number; + deregisterLinkMatcher(matcherId: number): void; + addMarker(cursorYOffset: number): Marker; + hasSelection(): boolean; + getSelection(): string; + clearSelection(): void; + selectAll(): void; + selectLines(start: number, end: number): void; + destroy(): void; + scrollLines(amount: number): void; + scrollPages(pageCount: number): void; + scrollToTop(): void; + scrollToBottom(): void; + scrollToLine(line: number): void; + clear(): void; + write(data: string): void; + getOption( + key: | "bellSound" + | "bellStyle" + | "cursorStyle" + | "fontFamily" + | "fontWeight" + | "fontWeightBold" + | "termName" + ): string; + getOption( + key: | "allowTransparency" + | "cancelEvents" + | "convertEol" + | "cursorBlink" + | "debug" + | "disableStdin" + | "enableBold" + | "macOptionIsMeta" + | "rightClickSelectsWord" + | "popOnBell" + | "screenKeys" + | "useFlowControl" + | "visualBell" + ): boolean; + getOption(key: "colors"): Array; + getOption( + key: | "cols" + | "fontSize" + | "letterSpacing" + | "lineHeight" + | "rows" + | "tabStopWidth" + | "scrollback" + ): number; + getOption(key: "handler"): (data: string) => void; + getOption(key: string): any; + setOption( + key: "fontFamily" | "termName" | "bellSound", + value: string + ): void; + setOption(key: "fontWeight" | "fontWeightBold", value: ?FontWeight): void; + setOption( + key: "bellStyle", + value: null | "none" | "visual" | "sound" | "both" + ): void; + setOption( + key: "cursorStyle", + value: null | "block" | "underline" | "bar" + ): void; + setOption( + key: | "allowTransparency" + | "cancelEvents" + | "convertEol" + | "cursorBlink" + | "debug" + | "disableStdin" + | "enableBold" + | "macOptionIsMeta" + | "popOnBell" + | "rightClickSelectsWord" + | "screenKeys" + | "useFlowControl" + | "visualBell", + value: boolean + ): void; + setOption(key: "colors", value: Array): void; + setOption( + key: | "fontSize" + | "letterSpacing" + | "lineHeight" + | "tabStopWidth" + | "scrollback", + value: number + ): void; + setOption(key: "handler", value: (data: string) => void): void; + setOption(key: "theme", value: Theme): void; + setOption(key: "cols" | "rows", value: number): void; + setOption(key: string, value: any): void; + refresh(start: number, end: number): void; + reset(): void; + static applyAddon(addon: any): void; + } +} diff --git a/lib/EventSystemEpic/FileFeature/Model/watchmanSubscriptions.js b/lib/EventSystemEpic/FileFeature/Model/watchmanSubscriptions.js index 37f30f1f..f8a33ebd 100644 --- a/lib/EventSystemEpic/FileFeature/Model/watchmanSubscriptions.js +++ b/lib/EventSystemEpic/FileFeature/Model/watchmanSubscriptions.js @@ -42,22 +42,24 @@ export const makeSubscription = ( if (!stopInitialFlow) { observer.next( - resp.files.filter(file => file.type === "f").map(file => { - let fileAction = ON_MODIFIED; - if (listFiles.find((test: string) => test === file.name)) { - if (!file.exists) { - listFiles = listFiles.filter(test => test !== file.name); - fileAction = ON_DELETED; + resp.files + .filter(file => file.type === "f") + .map(file => { + let fileAction = ON_MODIFIED; + if (listFiles.find((test: string) => test === file.name)) { + if (!file.exists) { + listFiles = listFiles.filter(test => test !== file.name); + fileAction = ON_DELETED; + } + } else { + listFiles = listFiles.push(file.name); + fileAction = ON_CREATED; } - } else { - listFiles = listFiles.push(file.name); - fileAction = ON_CREATED; - } - return Object.assign({ - action: fileAction, - path: file.name, - }); - }), + return Object.assign({ + action: fileAction, + path: file.name, + }); + }), ); } } diff --git a/lib/ExecutionControlEpic/ActionSystemFeature/Presenters/Term.js b/lib/ExecutionControlEpic/ActionSystemFeature/Presenters/Term.js index b4896d23..a1443c05 100644 --- a/lib/ExecutionControlEpic/ActionSystemFeature/Presenters/Term.js +++ b/lib/ExecutionControlEpic/ActionSystemFeature/Presenters/Term.js @@ -47,14 +47,14 @@ export default class Term extends React.Component { } } - componentWillReceiveProps(nextProps: Props) { + UNSAFE_componentWillReceiveProps(nextProps: Props) { if (nextProps.xtermInstance !== this.props.xtermInstance) { if (nextProps.xtermInstance == null) this.clear(this.props.xtermInstance); this.containerKey += 1; } } - componentDidUpdate(prevProps: Props) { + UNSAFE_componentDidUpdate(prevProps: Props) { if (prevProps.xtermInstance !== this.props.xtermInstance) { this.initTerm(); } diff --git a/lib/ExecutionControlEpic/ConsoleFeature/Presenters/ConsoleTraveller.js b/lib/ExecutionControlEpic/ConsoleFeature/Presenters/ConsoleTraveller.js index ef44aa5c..99260a74 100644 --- a/lib/ExecutionControlEpic/ConsoleFeature/Presenters/ConsoleTraveller.js +++ b/lib/ExecutionControlEpic/ConsoleFeature/Presenters/ConsoleTraveller.js @@ -41,7 +41,7 @@ export default class ConsoleTraveller extends React.Component { this._scroll(); } - componentWillUpdate() { + UNSAFE_componentWillUpdate() { if (this.contain) this.isDown = this.isScrolledDown(); } diff --git a/lib/ExecutionControlEpic/ControlPanelFeature/Presenters/Section.js b/lib/ExecutionControlEpic/ControlPanelFeature/Presenters/Section.js index e54e948c..6fe86f85 100644 --- a/lib/ExecutionControlEpic/ControlPanelFeature/Presenters/Section.js +++ b/lib/ExecutionControlEpic/ControlPanelFeature/Presenters/Section.js @@ -173,13 +173,12 @@ export function Section({ {controls()} - {opened && - children && ( - - {color && } - {children} - - )} + {opened && children && ( + + {color && } + {children} + + )} ); } diff --git a/lib/ExecutionControlEpic/DiagnosticsFeature/Presenters/DiagnosticDetailsFlow.js b/lib/ExecutionControlEpic/DiagnosticsFeature/Presenters/DiagnosticDetailsFlow.js index 644858e1..56077e7c 100644 --- a/lib/ExecutionControlEpic/DiagnosticsFeature/Presenters/DiagnosticDetailsFlow.js +++ b/lib/ExecutionControlEpic/DiagnosticsFeature/Presenters/DiagnosticDetailsFlow.js @@ -47,7 +47,7 @@ export default class DiagnosticDetailsFlow extends React.Component< this._scroll(); } - componentWillUpdate() { + UNSAFE_componentWillUpdate() { if (this.contain) this.isDown = this.isScrolledDown(); } diff --git a/lib/ExecutionControlEpic/DiagnosticsFeature/Presenters/DiagnosticsPanel.js b/lib/ExecutionControlEpic/DiagnosticsFeature/Presenters/DiagnosticsPanel.js index d91c794f..66a6590a 100644 --- a/lib/ExecutionControlEpic/DiagnosticsFeature/Presenters/DiagnosticsPanel.js +++ b/lib/ExecutionControlEpic/DiagnosticsFeature/Presenters/DiagnosticsPanel.js @@ -38,39 +38,35 @@ const Filter = withProps( diagnostics: diagnostics.map(map => map .update(1, (list = List()) => - list.filter( - d => - contentState.search != "" - ? (d.path && d.path.includes(contentState.search)) || - (d.message && d.message.includes(contentState.search)) - : true, + list.filter(d => + contentState.search != "" + ? (d.path && d.path.includes(contentState.search)) || + (d.message && d.message.includes(contentState.search)) + : true, ), ) .update(2, (list = List()) => - list.filter( - d => - contentState.search != "" - ? (d.path && d.path.includes(contentState.search)) || - (d.message && d.message.includes(contentState.search)) - : true, + list.filter(d => + contentState.search != "" + ? (d.path && d.path.includes(contentState.search)) || + (d.message && d.message.includes(contentState.search)) + : true, ), ) .update(3, (list = List()) => - list.filter( - d => - contentState.search != "" - ? (d.path && d.path.includes(contentState.search)) || - (d.message && d.message.includes(contentState.search)) - : true, + list.filter(d => + contentState.search != "" + ? (d.path && d.path.includes(contentState.search)) || + (d.message && d.message.includes(contentState.search)) + : true, ), ) .update(5, (list = List()) => - list.filter( - d => - contentState.search != "" - ? (d.path && d.path.includes(contentState.search)) || - (d.message && d.message.includes(contentState.search)) - : true, + list.filter(d => + contentState.search != "" + ? (d.path && d.path.includes(contentState.search)) || + (d.message && d.message.includes(contentState.search)) + : true, ), ) .filter( diff --git a/lib/ExecutionControlEpic/DiagnosticsFeature/Presenters/DiagnosticsSummaryCircle.js b/lib/ExecutionControlEpic/DiagnosticsFeature/Presenters/DiagnosticsSummaryCircle.js index b8ec71c3..ba124787 100644 --- a/lib/ExecutionControlEpic/DiagnosticsFeature/Presenters/DiagnosticsSummaryCircle.js +++ b/lib/ExecutionControlEpic/DiagnosticsFeature/Presenters/DiagnosticsSummaryCircle.js @@ -86,7 +86,7 @@ export class DiagnosticsSummaryCircle extends React.Component { } } - componentWillReceiveProps(nextProps: Props) { + UNSAFE_componentWillReceiveProps(nextProps: Props) { if ( nextProps.number !== this.props.number && this.state.pulsing === false diff --git a/lib/ExecutionControlEpic/LanguageServerProtocolFeature/Model/LanguageClientConnection.js b/lib/ExecutionControlEpic/LanguageServerProtocolFeature/Model/LanguageClientConnection.js index 5405eb5d..fee13ccf 100644 --- a/lib/ExecutionControlEpic/LanguageServerProtocolFeature/Model/LanguageClientConnection.js +++ b/lib/ExecutionControlEpic/LanguageServerProtocolFeature/Model/LanguageClientConnection.js @@ -6,8 +6,8 @@ import JsonRpcConnection from "./JsonRpcConnection"; import type { ConnectionOptions } from "./JsonRpcConnection"; /* -** Connection from the server to the client -*/ + ** Connection from the server to the client + */ export default class LanguageClientConnection extends JsonRpcConnection { constructor(options: ConnectionOptions) { super(options); diff --git a/lib/ExecutionControlEpic/LanguageServerProtocolFeature/Model/LanguageServerConnection.js b/lib/ExecutionControlEpic/LanguageServerProtocolFeature/Model/LanguageServerConnection.js index d57f1a75..ff683f6a 100644 --- a/lib/ExecutionControlEpic/LanguageServerProtocolFeature/Model/LanguageServerConnection.js +++ b/lib/ExecutionControlEpic/LanguageServerProtocolFeature/Model/LanguageServerConnection.js @@ -6,8 +6,8 @@ import type { ConnectionOptions } from "./JsonRpcConnection"; import type { InitializeParams } from "../Types/standard"; /* -** Connection initiated from the client to the server. -*/ + ** Connection initiated from the client to the server. + */ export default class LanguageServerConnection extends JsonRpcConnection { constructor(options: ConnectionOptions) { super(options); diff --git a/lib/ExecutionControlEpic/PlanConfigurationFeature/Presenters/__snapshots__/PlanConfigList.test.js.snap b/lib/ExecutionControlEpic/PlanConfigurationFeature/Presenters/__snapshots__/PlanConfigList.test.js.snap index 57fb5ee2..42220adc 100644 --- a/lib/ExecutionControlEpic/PlanConfigurationFeature/Presenters/__snapshots__/PlanConfigList.test.js.snap +++ b/lib/ExecutionControlEpic/PlanConfigurationFeature/Presenters/__snapshots__/PlanConfigList.test.js.snap @@ -8,6 +8,8 @@ exports[`PlanConfigList should display the values 1`] = ` + > + + `; diff --git a/lib/ExecutionControlEpic/Plugins/ReactNative.js b/lib/ExecutionControlEpic/Plugins/ReactNative.js deleted file mode 100644 index e108a8c7..00000000 --- a/lib/ExecutionControlEpic/Plugins/ReactNative.js +++ /dev/null @@ -1,206 +0,0 @@ -"use babel"; -// @flow - -import type { - Directory, - PlanConfig, -} from "../PlanConfigurationFeature/Types/types"; -import type { TaskAPI } from "../LanguageServerProtocolFeature/Types/pluginApi"; -import moment from "moment"; -import path from "path"; -import type { HelperAPI } from "../TaskExecutionFeature/Types/types"; -import type { PackageTesterResult } from "../../ProjectSystemEpic/PackageFeature/Types/types"; -import fs from "fs"; -import type { Plugin } from "../DevtoolLoadingFeature/Types/types"; - -const plugin: Plugin = { - info: { - name: "react-native", - iconUri: "atom://molecule/images/plugins/react-native.svg", - }, - configSchema: { - type: "conditional", - expression: { - type: "enum", - label: "command", - default: "start", - enum: [ - { value: "start", description: "start" }, - { value: "run_android", description: "run-android" }, - { value: "run_ios", description: "run-ios" }, - { value: "link", description: "link" }, - { value: "install", description: "install" }, - ], - }, - cases: { - start: { - type: "object", - schemas: { - port: { - type: "number", - default: 4200, - label: "Port", - placeholder: "4200", - }, - }, - }, - run_android: { - type: "object", - schemas: { - options: { - type: "string", - default: "", - label: "Options", - placeholder: "--deviceId [string]...", - }, - }, - }, - run_ios: { - type: "object", - schemas: { - options: { - type: "string", - default: "", - label: "Options", - placeholder: '--simulator "iPhone 7"...', - }, - }, - }, - install: { - type: "object", - schemas: { - options: { - type: "string", - default: "", - label: "Options", - placeholder: "[options]", - }, - package: { - type: "string", - default: "", - label: "Package", - placeholder: "", - }, - }, - }, - link: null, - }, - }, - getStrategyForPlan(plan: PlanConfig, helperAPI: HelperAPI) { - let binaryPath = `${path.join( - path.dirname(plan.packageInfo.path), - "node_modules", - ".bin", - "react-native", - )}`; - let cmd; - - if (plan.config.expressionValue === "start") { - cmd = binaryPath + " start"; - if (plan.config.expressionValue.port !== "") - cmd += ` --port ${plan.config.caseValue.port}`; - } else if (plan.config.expressionValue === "run_android") { - cmd = binaryPath + ` run-android ${plan.config.caseValue.options}`; - } else if (plan.config.expressionValue === "run_ios") { - cmd = binaryPath + ` run-ios ${plan.config.caseValue.options}`; - } else if (plan.config.expressionValue === "link") { - cmd = binaryPath + ` link`; - } else if (plan.config.expressionValue === "install") { - cmd = - binaryPath + - ` install ${plan.config.caseValue.options} ${ - plan.config.caseValue.package - }`; - } - return { - strategy: { - type: "terminal", - command: cmd, - cwd: path.dirname(plan.packageInfo.path), - }, - controller: { - onData(data: string, taskAPI: TaskAPI, helperAPI: HelperAPI): void { - let datatype = "info"; - - if ( - data.indexOf("success") !== -1 || - data.indexOf("Success") !== -1 || - data.indexOf("SUCCESS") !== -1 - ) { - datatype = "success"; - } else if ( - data.indexOf("warning") !== -1 || - data.indexOf("Warning") !== -1 || - data.indexOf("WARNING") !== -1 - ) { - datatype = "warning"; - } else if ( - data.indexOf("error") !== -1 || - data.indexOf("Error") !== -1 || - data.indexOf("ERROR") !== -1 || - data.indexOf("FAILURE") !== -1 - ) { - datatype = "error"; - } - - if (datatype !== "info") { - taskAPI.diagnostics.setForWorkspace([ - { - type: datatype, - message: data - .replace( - /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-qry=><]/g, - "", - ) - .toString(), - date: moment().unix(), - }, - ]); - } - }, - onExit(code: number, taskAPI: TaskAPI, helperAPI: HelperAPI): void { - if (plan.config.expressionValue === "link") { - taskAPI.diagnostics.setForWorkspace([ - { - type: code === 0 ? "success" : "error", - message: - code === 0 - ? "Link: done." - : "Link: Something went wrong. See console for more information.", - date: moment().unix(), - }, - ]); - } - }, - }, - }; - }, - isPackage: ( - packagePath: string, - directory: ?Directory, - ): PackageTesterResult => { - if (path.basename(packagePath) === "package.json") { - return new Promise(resolve => - fs.access( - path.join( - packagePath.slice( - 0, - packagePath.lastIndexOf(path.basename(packagePath)), - ), - "node_modules", - "react-native", - ), - fs.constants.F_OK, - err => { - if (err) resolve(false); - else resolve(true); - }, - ), - ); - } else { - return false; - } - }, -}; - -export default plugin; diff --git a/lib/ExecutionControlEpic/QuestionSystemFeature/Containers/QuestionsConnecter.js b/lib/ExecutionControlEpic/QuestionSystemFeature/Containers/QuestionsConnecter.js index aea044b8..1fda6570 100644 --- a/lib/ExecutionControlEpic/QuestionSystemFeature/Containers/QuestionsConnecter.js +++ b/lib/ExecutionControlEpic/QuestionSystemFeature/Containers/QuestionsConnecter.js @@ -169,11 +169,10 @@ export default (questions, onAnswer) => Component => props.formState.loaded, ) : question.choices) || [] - ).map( - choice => - typeof choice == "string" - ? { value: choice, description: choice } - : choice, + ).map(choice => + typeof choice == "string" + ? { value: choice, description: choice } + : choice, ); const accept = typeof question.accept == "string" diff --git a/lib/ExecutionControlEpic/QuestionSystemFeature/Presenters/Questions.js b/lib/ExecutionControlEpic/QuestionSystemFeature/Presenters/Questions.js index b960a72d..54b3f8ef 100644 --- a/lib/ExecutionControlEpic/QuestionSystemFeature/Presenters/Questions.js +++ b/lib/ExecutionControlEpic/QuestionSystemFeature/Presenters/Questions.js @@ -51,21 +51,20 @@ export default Radium( ))} - {first == false && - step == "ask" && ( - - )} + {first == false && step == "ask" && ( + + )} - byTaskID.has(action.payload.id) - ? state.byTaskID.update( - action.payload.id, - task => - task.state == "created" - ? { ...task, state: "running", end: action.payload.date } - : task, - ) - : byTaskID, + return state.update("byTaskID", byTaskID => + byTaskID.has(action.payload.id) + ? state.byTaskID.update(action.payload.id, task => + task.state == "created" + ? { ...task, state: "running", end: action.payload.date } + : task, + ) + : byTaskID, ); case "STOP_TASK": - return state.update( - "byTaskID", - byTaskID => - byTaskID.has(action.payload.id) - ? state.byTaskID.update( - action.payload.id, - task => - task.state == "running" - ? { - ...task, - state: "stopped", - end: action.payload.date, - busy: false, - } - : task, - ) - : byTaskID, + return state.update("byTaskID", byTaskID => + byTaskID.has(action.payload.id) + ? state.byTaskID.update(action.payload.id, task => + task.state == "running" + ? { + ...task, + state: "stopped", + end: action.payload.date, + busy: false, + } + : task, + ) + : byTaskID, ); case "KILL_TASK": case "STOP_TASK_OF_PLAN": return state.update("byTaskID", byTaskID => - byTaskID.map( - task => - task.state == "running" && - (state.byPlanID.get(action.payload.plan.id) || List()).includes( - task.id, - ) - ? { - ...task, - state: "stopped", - end: action.payload.date, - busy: false, - } - : task, + byTaskID.map(task => + task.state == "running" && + (state.byPlanID.get(action.payload.plan.id) || List()).includes( + task.id, + ) + ? { + ...task, + state: "stopped", + end: action.payload.date, + busy: false, + } + : task, ), ); case "CRASH_TASK": - return state.update( - "byTaskID", - byTaskID => - byTaskID.has(action.payload.id) - ? state.byTaskID.update( - action.payload.id, - task => - task.state == "running" - ? { - ...task, - state: "crashed", - end: action.payload.date, - busy: false, - } - : task, - ) - : byTaskID, + return state.update("byTaskID", byTaskID => + byTaskID.has(action.payload.id) + ? state.byTaskID.update(action.payload.id, task => + task.state == "running" + ? { + ...task, + state: "crashed", + end: action.payload.date, + busy: false, + } + : task, + ) + : byTaskID, ); case "FAIL_TASK": - return state.update( - "byTaskID", - byTaskID => - byTaskID.has(action.payload.id) - ? state.byTaskID.update( - action.payload.id, - task => - task.state == "running" - ? { - ...task, - state: "failed", - end: action.payload.date, - busy: false, - } - : task, - ) - : byTaskID, + return state.update("byTaskID", byTaskID => + byTaskID.has(action.payload.id) + ? state.byTaskID.update(action.payload.id, task => + task.state == "running" + ? { + ...task, + state: "failed", + end: action.payload.date, + busy: false, + } + : task, + ) + : byTaskID, ); case "SUCCEED_TASK": - return state.update( - "byTaskID", - byTaskID => - byTaskID.has(action.payload.id) - ? state.byTaskID.update( - action.payload.id, - task => - task.state == "running" - ? { - ...task, - state: "succeed", - end: action.payload.date, - busy: false, - } - : task, - ) - : byTaskID, + return state.update("byTaskID", byTaskID => + byTaskID.has(action.payload.id) + ? state.byTaskID.update(action.payload.id, task => + task.state == "running" + ? { + ...task, + state: "succeed", + end: action.payload.date, + busy: false, + } + : task, + ) + : byTaskID, ); case "NEXT_STEP": - return state.update( - "byTaskID", - byTaskID => - byTaskID.has(action.payload.id) - ? state.byTaskID.update(action.payload.id, task => ({ - ...task, - step: task.step + 1, - })) - : byTaskID, + return state.update("byTaskID", byTaskID => + byTaskID.has(action.payload.id) + ? state.byTaskID.update(action.payload.id, task => ({ + ...task, + step: task.step + 1, + })) + : byTaskID, ); case "BUSY_TASK": - return state.update( - "byTaskID", - byTaskID => - byTaskID.has(action.payload.id) - ? state.byTaskID.update(action.payload.id, task => ({ - ...task, - busy: true, - })) - : byTaskID, + return state.update("byTaskID", byTaskID => + byTaskID.has(action.payload.id) + ? state.byTaskID.update(action.payload.id, task => ({ + ...task, + busy: true, + })) + : byTaskID, ); case "WAITING_TASK": - return state.update( - "byTaskID", - byTaskID => - byTaskID.has(action.payload.id) - ? state.byTaskID.update(action.payload.id, task => ({ - ...task, - busy: false, - })) - : byTaskID, + return state.update("byTaskID", byTaskID => + byTaskID.has(action.payload.id) + ? state.byTaskID.update(action.payload.id, task => ({ + ...task, + busy: false, + })) + : byTaskID, ); case "TERMINAL_INITIALIZED": - return state.update( - "byTaskID", - byTaskID => - byTaskID.has(action.payload.id) - ? state.byTaskID.update(action.payload.id, task => ({ - ...task, - terminal: true, - })) - : byTaskID, + return state.update("byTaskID", byTaskID => + byTaskID.has(action.payload.id) + ? state.byTaskID.update(action.payload.id, task => ({ + ...task, + terminal: true, + })) + : byTaskID, ); default: return state; diff --git a/lib/ExecutionControlEpic/TaskExecutionFeature/Selectors/Tasks.js b/lib/ExecutionControlEpic/TaskExecutionFeature/Selectors/Tasks.js index 67a2f14d..1a7b8c61 100644 --- a/lib/ExecutionControlEpic/TaskExecutionFeature/Selectors/Tasks.js +++ b/lib/ExecutionControlEpic/TaskExecutionFeature/Selectors/Tasks.js @@ -74,9 +74,8 @@ export function selectTaskIDOfRunningPlan( : tasks, List(), ) - .update( - values => - values.count() > 0 ? (values.has(0) ? values.get(0).id : null) : null, + .update(values => + values.count() > 0 ? (values.has(0) ? values.get(0).id : null) : null, ); } diff --git a/lib/ProjectSystemEpic/PackageFeature/Epics/Packages.js b/lib/ProjectSystemEpic/PackageFeature/Epics/Packages.js index 3c12095a..58de3941 100644 --- a/lib/ProjectSystemEpic/PackageFeature/Epics/Packages.js +++ b/lib/ProjectSystemEpic/PackageFeature/Epics/Packages.js @@ -38,9 +38,8 @@ const packagesEpic = ( const fileStat$ = Rx.Observable.bindNodeCallback(lstat)(rootPath); return fileStat$ - .map( - fileStat => - fileStat.isDirectory ? new Directory(rootPath) : new File(rootPath), + .map(fileStat => + fileStat.isDirectory ? new Directory(rootPath) : new File(rootPath), ) .flatMap(fileOrDir => Rx.Observable.from(plugins) diff --git a/lib/ProjectSystemEpic/PackageFeature/Reducers/Packages.js b/lib/ProjectSystemEpic/PackageFeature/Reducers/Packages.js index a68fc372..a42fc9a7 100644 --- a/lib/ProjectSystemEpic/PackageFeature/Reducers/Packages.js +++ b/lib/ProjectSystemEpic/PackageFeature/Reducers/Packages.js @@ -15,13 +15,12 @@ export default function Packages( newState.update(pkg.plugin.tool.id, (list = List()) => list.push(pkg), ), - state.map( - (packages, toolId) => - action.payload.plugins.find(plugin => plugin.tool.id == toolId) - ? packages.filter( - pkg => !pkg.path.startsWith(action.payload.rootPath), - ) - : packages, + state.map((packages, toolId) => + action.payload.plugins.find(plugin => plugin.tool.id == toolId) + ? packages.filter( + pkg => !pkg.path.startsWith(action.payload.rootPath), + ) + : packages, ), ); case "REMOVE_PACKAGES": diff --git a/lib/molecule-dev-environment.js b/lib/molecule-dev-environment.js index 239036ec..24272b44 100644 --- a/lib/molecule-dev-environment.js +++ b/lib/molecule-dev-environment.js @@ -85,11 +85,6 @@ export default { description: "Activate or not Npm in Molecule", default: true, }, - ReactNative: { - type: "boolean", - description: "Activate or not ReactNative in Molecule", - default: true, - }, Shell: { type: "boolean", description: "Activate or not Shell in Molecule", @@ -153,7 +148,6 @@ export default { "Gulp.js", "Jest.js", "Npm.js", - "ReactNative.js", "Shell.js", "Testcafe.js", "Cpp.js", diff --git a/package.json b/package.json index 5852fa4d..b13154b1 100644 --- a/package.json +++ b/package.json @@ -12,11 +12,10 @@ "eslint": "eslint ./", "flow": "flow check --show-all-errors", "jest:watch": "jest --watch", - "test": "jest && npm run eslint", + "test": "jest && yarn eslint", "babel:build": "babel lib --out-dir ./build/babel/ --source-maps", "babel:watch": "babel lib --out-dir ./build/babel/ --source-maps --watch", - "postinstall": "npm run babel:build", - "test:e2e": "mocha testsUI/" + "postinstall": "yarn babel:build" }, "repository": "https://github.com/alanzanattadev/atom-molecule-dev-environment", "license": "MIT", @@ -84,22 +83,20 @@ "xterm": "3.7.0" }, "devDependencies": { - "enzyme": "^3.3.0", - "enzyme-adapter-react-16": "^1.1.1", - "enzyme-to-json": "^3.3.3", - "eslint": "^4.11.0", - "eslint-config-prettier": "^2.7.0", - "eslint-plugin-flowtype": "^2.39.1", - "eslint-plugin-prettier": "^2.3.1", - "eslint-plugin-react": "^7.4.0", - "flow-bin": "^0.76.0", - "prettier": "^1.13.5", - "react-devtools": "^3.2.3", - "react-test-renderer": "^16.2.0", - "redux-mock-store": "^1.3.0", - "redux-mock-store-await-actions": "^2.1.0", - "spectron": "^3.8.0", - "webpack": "^3.12.0" + "enzyme": "^3.7.0", + "enzyme-adapter-react-16": "^1.6.0", + "enzyme-to-json": "^3.3.4", + "eslint": "^5.8.0", + "eslint-config-prettier": "^3.1.0", + "eslint-plugin-flowtype": "^3.2.0", + "eslint-plugin-prettier": "^3.0.0", + "eslint-plugin-react": "^7.11.1", + "flow-bin": "^0.85.0", + "prettier": "^1.15.1", + "react-devtools": "^3.4.2", + "react-test-renderer": "^16.6.1", + "redux-mock-store": "^1.5.3", + "redux-mock-store-await-actions": "^2.1.0" }, "babel": { "presets": [ @@ -163,6 +160,12 @@ "prettier/flowtype", "prettier/react" ], + "settings": { + "react": { + "version": "16.4", + "flowVersion": "0.85" + } + }, "rules": { "no-console": [ "warn", diff --git a/testsUI/spec.js b/testsUI/spec.js deleted file mode 100644 index 0e099021..00000000 --- a/testsUI/spec.js +++ /dev/null @@ -1,88 +0,0 @@ -const Application = require("spectron").Application; -const assert = require("assert"); -const path = require("path"); -const os = require("os"); -const process = require("process"); - -describe("Application launch", function() { - this.timeout(100000); - - beforeEach(function() { - let binaryPath = ""; - if (os.platform() === "win32") { - const userName = process.env.USERNAME; - binaryPath = - "C:\\Users\\" + userName + "\\AppData\\Local\\atom\\atom.exe"; - } else if (os.platform() === "darwin") { - binaryPath = "/usr/local/bin/atom"; - } else { - binaryPath = "/usr/share/atom/atom"; - } - - this.app = new Application({ - // Put your atom binary path here - // For windows : C:\Users\\AppData\Local\atom\atom.exe - // For Linux : /usr/share/atom/atom You may try with /usr/bin/atom - // For Mac : /usr/local/bin/atom not sure for this one - path: binaryPath, - - // Assuming you have the following directory structure - - // |__ my project - // |__ ... - // |__ main.js - // |__ package.json - // |__ index.html - // |__ ... - // |__ test - // |__ spec.js <- You are here! ~ Well you should be. - - // The following line tells spectron to look and use the main.js file - // and the package.json located 1 level above. - args: [path.join(__dirname, "..")], - }); - return this.app.start(); - }); - - afterEach(function() { - if (this.app && this.app.isRunning()) { - return this.app.stop(); - } - }); - - it("shows an initial window", function() { - return this.app.client.getWindowCount().then(function(count) { - assert.equal(count, 2); - // Please note that getWindowCount() will return 2 if `dev tools` are opened. - }); - }); - - it("Should display Control Panel", function() { - let ControlPanelDiv = "div*=Control Panel"; - return this.app.client.isVisible(ControlPanelDiv); - }); - - it("Should display Unified Diagnostics button", function() { - return this.app.client.waitUntilTextExists( - "span", - "Unified Diagnostics", - 20000, - ); - }); - - it("should create a Plan for NPM", function() { - return this.app.client - .waitUntilTextExists("span", "Unified Diagnostics", 20000) - .then(() => { - return this.app.client - .click("#jestNewPlan") - .waitUntilTextExists("h1", "jest") - .element("#name") - .setValue("TestPlanJest") - .click("button*=Create"); - }) - .then(() => { - return this.app.client.waitUntilTextExists("span", "TestPlanJest"); - }); - }); -}); diff --git a/yarn.lock b/yarn.lock index b300ca15..3f0812a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,6 +10,13 @@ esutils "^2.0.2" js-tokens "^3.0.0" +"@babel/code-frame@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== + dependencies: + "@babel/highlight" "^7.0.0" + "@babel/code-frame@^7.0.0-beta.35": version "7.0.0-beta.47" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.47.tgz#d18c2f4c4ba8d093a2bcfab5616593bfe2441a27" @@ -38,6 +45,15 @@ esutils "^2.0.2" js-tokens "^3.0.0" +"@babel/highlight@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" + integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + "@babel/template@7.0.0-beta.36": version "7.0.0-beta.36" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.36.tgz#02e903de5d68bd7899bce3c5b5447e59529abb00" @@ -84,12 +100,6 @@ abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" -acorn-dynamic-import@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" - dependencies: - acorn "^4.0.3" - acorn-globals@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" @@ -102,17 +112,16 @@ acorn-globals@^4.1.0: dependencies: acorn "^5.0.0" -acorn-jsx@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" - dependencies: - acorn "^3.0.4" +acorn-jsx@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.0.tgz#958584ddb60990c02c97c1bd9d521fce433bb101" + integrity sha512-XkB50fn0MURDyww9+UYL3c1yLbOBz0ZFvrdYlGB8l+Ije1oSC75qAqrzSPjYQbdnQUzhlUGNKuesryAv0gxZOg== -acorn@^3.0.4, acorn@^3.1.0, acorn@~3.3.0: +acorn@^3.1.0, acorn@~3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" -acorn@^4.0.3, acorn@^4.0.4, acorn@~4.0.2: +acorn@^4.0.4, acorn@~4.0.2: version "4.0.13" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" @@ -120,9 +129,10 @@ acorn@^5.0.0, acorn@^5.3.0: version "5.5.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" -acorn@^5.2.1: - version "5.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.3.0.tgz#7446d39459c54fb49a80e6ee6478149b940ec822" +acorn@^6.0.2: + version "6.0.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.4.tgz#77377e7353b72ec5104550aa2d2097a2fd40b754" + integrity sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg== adm-zip@^0.4.7: version "0.4.11" @@ -135,14 +145,6 @@ agent-base@2: extend "~3.0.0" semver "~5.0.1" -ajv-keywords@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" - -ajv-keywords@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" - ajv@^4.9.1: version "4.11.8" resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" @@ -150,7 +152,7 @@ ajv@^4.9.1: co "^4.6.0" json-stable-stringify "^1.0.1" -ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: +ajv@^5.1.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" dependencies: @@ -159,14 +161,15 @@ ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" -ajv@^6.1.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.0.tgz#4c8affdf80887d8f132c9c52ab8a2dc4d0b7b24c" +ajv@^6.5.3: + version "6.5.5" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.5.tgz#cf97cdade71c6399a92c6d6c4177381291b781a1" + integrity sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg== dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - uri-js "^4.2.1" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" @@ -238,30 +241,6 @@ aproba@^1.0.3: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" -archiver-utils@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-1.3.0.tgz#e50b4c09c70bf3d680e32ff1b7994e9f9d895174" - dependencies: - glob "^7.0.0" - graceful-fs "^4.1.0" - lazystream "^1.0.0" - lodash "^4.8.0" - normalize-path "^2.0.0" - readable-stream "^2.0.0" - -archiver@~2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/archiver/-/archiver-2.1.1.tgz#ff662b4a78201494a3ee544d3a33fe7496509ebc" - dependencies: - archiver-utils "^1.3.0" - async "^2.0.0" - buffer-crc32 "^0.2.1" - glob "^7.0.0" - lodash "^4.8.0" - readable-stream "^2.0.0" - tar-stream "^1.5.0" - zip-stream "^1.2.0" - are-we-there-yet@~1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" @@ -338,6 +317,15 @@ array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" +array.prototype.flat@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz#812db8f02cad24d3fab65dd67eabe3b8903494a4" + integrity sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw== + dependencies: + define-properties "^1.1.2" + es-abstract "^1.10.0" + function-bind "^1.1.1" + arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -346,14 +334,6 @@ asap@~2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" @@ -366,12 +346,6 @@ assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" -assert@^1.1.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - dependencies: - util "0.10.3" - assertion-error@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.0.tgz#c7f85438fdd466bc7ca16ab90c81513797a5d23b" @@ -404,13 +378,7 @@ async@^1.4.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.0.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" - dependencies: - lodash "^4.14.0" - -async@^2.1.2, async@^2.1.4: +async@^2.1.4: version "2.6.1" resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" dependencies: @@ -428,10 +396,6 @@ atob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" -atob@~1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773" - atom-patch@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/atom-patch/-/atom-patch-0.3.0.tgz#e007ac55cb500a8a66c2d8eef7a4375d31428f54" @@ -471,7 +435,7 @@ babel-cli@^6.26.0: optionalDependencies: chokidar "^1.6.1" -babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: +babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" dependencies: @@ -1161,23 +1125,12 @@ binary-extensions@^1.0.0: version "1.8.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" -bl@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" - dependencies: - readable-stream "^2.3.5" - safe-buffer "^5.1.1" - block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" dependencies: inherits "~2.0.0" -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -1238,7 +1191,7 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" -braces@^2.3.0, braces@^2.3.1: +braces@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" dependencies: @@ -1253,10 +1206,6 @@ braces@^2.3.0, braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - browser-process-hrtime@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" @@ -1275,58 +1224,6 @@ browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.1.tgz#3343124db6d7ad53e26a8826318712bdc8450f9c" - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - dependencies: - pako "~1.0.5" - browserslist@^2.1.2: version "2.1.5" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.1.5.tgz#e882550df3d1cd6d481c1a3e0038f2baf13a4711" @@ -1340,41 +1237,10 @@ bser@^2.0.0: dependencies: node-int64 "^0.4.0" -buffer-alloc-unsafe@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-0.1.1.tgz#ffe1f67551dd055737de253337bfe853dfab1a6a" - -buffer-alloc@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.1.0.tgz#05514d33bf1656d3540c684f65b1202e90eca303" - dependencies: - buffer-alloc-unsafe "^0.1.0" - buffer-fill "^0.1.0" - -buffer-crc32@^0.2.1: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - -buffer-fill@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-0.1.1.tgz#76d825c4d6e50e06b7a31eb520c04d08cc235071" - buffer-from@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531" -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - -buffer@^4.3.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - buffer@^5.0.3: version "5.0.6" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.6.tgz#2ea669f7eec0b6eda05b08f8b5ff661b28573588" @@ -1386,10 +1252,6 @@ builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - bytes@2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" @@ -1509,9 +1371,10 @@ character-parser@^2.1.1: dependencies: is-regex "^1.0.3" -chardet@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== cheerio@^1.0.0-rc.2: version "1.0.0-rc.2" @@ -1539,24 +1402,6 @@ chokidar@^1.6.1: optionalDependencies: fsevents "^1.0.0" -chokidar@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176" - dependencies: - anymatch "^2.0.0" - async-each "^1.0.0" - braces "^2.3.0" - glob-parent "^3.1.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^2.1.1" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - upath "^1.0.0" - optionalDependencies: - fsevents "^1.1.2" - chownr@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" @@ -1565,13 +1410,6 @@ ci-info@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.3.tgz#710193264bb05c77b8c90d02f5aaf22216a667b2" -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - circular-json@^0.3.1: version "0.3.3" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" @@ -1717,27 +1555,10 @@ component-emitter@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" -compress-commons@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-1.2.2.tgz#524a9f10903f3a813389b0225d27c48bb751890f" - dependencies: - buffer-crc32 "^0.2.1" - crc32-stream "^2.0.0" - normalize-path "^2.0.0" - readable-stream "^2.0.0" - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@1.6.0, concat-stream@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - concat-stream@1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" @@ -1758,12 +1579,6 @@ configstore@^3.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" -console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - dependencies: - date-now "^0.1.4" - console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" @@ -1775,10 +1590,6 @@ constantinople@^3.0.1: acorn "^3.1.0" is-expression "^2.0.1" -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" @@ -1803,52 +1614,13 @@ core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" -crc32-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-2.0.0.tgz#e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4" - dependencies: - crc "^3.4.4" - readable-stream "^2.0.0" - -crc@^3.4.4: - version "3.5.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.5.0.tgz#98b8ba7d489665ba3979f59b21381374101a1964" - -create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - create-error-class@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" dependencies: capture-stack-trace "^1.0.0" -create-hash@^1.1.0, create-hash@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-spawn@^5.0.1, cross-spawn@^5.1.0: +cross-spawn@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" dependencies: @@ -1856,6 +1628,17 @@ cross-spawn@^5.0.1, cross-spawn@^5.1.0: shebang-command "^1.2.0" which "^1.2.9" +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + cryptiles@2.x.x: version "2.0.5" resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" @@ -1868,22 +1651,6 @@ cryptiles@3.x.x: dependencies: boom "5.x.x" -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - crypto-random-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" @@ -1898,12 +1665,6 @@ css-in-js-utils@^2.0.0: dependencies: hyphenate-style-name "^1.0.2" -css-parse@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4" - dependencies: - css "^2.0.0" - css-select@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -1921,23 +1682,10 @@ css-to-react-native@^2.0.3: fbjs "^0.8.5" postcss-value-parser "^3.3.0" -css-value@~0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/css-value/-/css-value-0.0.1.tgz#5efd6c2eea5ea1fd6b6ac57ec0427b18452424ea" - css-what@2.1: version "2.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" -css@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/css/-/css-2.2.1.tgz#73a4c81de85db664d4ee674f7d47085e3b2d55dc" - dependencies: - inherits "^2.0.1" - source-map "^0.1.38" - source-map-resolve "^0.3.0" - urix "^0.1.0" - cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": version "0.3.2" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" @@ -1954,12 +1702,6 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" -d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - dependencies: - es5-ext "^0.10.9" - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -1982,10 +1724,6 @@ date-format@^0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/date-format/-/date-format-0.0.0.tgz#09206863ab070eb459acea5542cbd856b11966b3" -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - debug@2: version "2.6.8" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" @@ -2014,6 +1752,13 @@ debug@^0.7.2: version "0.7.4" resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" +debug@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87" + integrity sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg== + dependencies: + ms "^2.1.1" + decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -2040,10 +1785,6 @@ deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" -deepmerge@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.0.1.tgz#25c1c24f110fb914f80001b925264dd77f3f4312" - default-require-extensions@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" @@ -2104,13 +1845,6 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" -des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" @@ -2125,10 +1859,6 @@ detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" -dev-null@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dev-null/-/dev-null-0.1.1.tgz#5a205ce3c2b2ef77b6238d6ba179eb74c6a0e818" - diff@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" @@ -2141,21 +1871,14 @@ diff@3.5.0, diff@^3.2.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - discontinuous-range@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" -doctrine@^2.0.0, doctrine@^2.0.2: +doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" @@ -2170,10 +1893,6 @@ dom-serializer@0, dom-serializer@~0.1.0: domelementtype "~1.1.1" entities "~1.1.1" -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - domelementtype@1, domelementtype@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" @@ -2221,17 +1940,6 @@ ejs@0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/ejs/-/ejs-0.8.3.tgz#db8aac47ff80a7df82b4c82c126fe8970870626f" -ejs@~2.5.6: - version "2.5.9" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.9.tgz#7ba254582a560d267437109a68354112475b0ce5" - -electron-chromedriver@~1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/electron-chromedriver/-/electron-chromedriver-1.8.0.tgz#901714133cf6f6093d365e1f44a52d99624d8241" - dependencies: - electron-download "^4.1.0" - extract-zip "^1.6.5" - electron-download@^3.0.1: version "3.3.0" resolved "https://registry.yarnpkg.com/electron-download/-/electron-download-3.3.0.tgz#2cfd54d6966c019c4d49ad65fbe65cc9cdef68c8" @@ -2246,20 +1954,6 @@ electron-download@^3.0.1: semver "^5.3.0" sumchecker "^1.2.0" -electron-download@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/electron-download/-/electron-download-4.1.0.tgz#bf932c746f2f87ffcc09d1dd472f2ff6b9187845" - dependencies: - debug "^2.2.0" - env-paths "^1.0.0" - fs-extra "^2.0.0" - minimist "^1.2.0" - nugget "^2.0.0" - path-exists "^3.0.0" - rc "^1.1.2" - semver "^5.3.0" - sumchecker "^2.0.1" - electron-to-chromium@^1.3.14: version "1.3.15" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz#08397934891cbcfaebbd18b82a95b5a481138369" @@ -2272,18 +1966,6 @@ electron@^1.8.7: electron-download "^3.0.1" extract-zip "^1.0.3" -elliptic@^6.0.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" @@ -2294,75 +1976,63 @@ encoding@^0.1.11: dependencies: iconv-lite "~0.4.13" -end-of-stream@^1.0.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - dependencies: - once "^1.4.0" - -enhanced-resolve@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - object-assign "^4.0.1" - tapable "^0.2.7" - entities@^1.1.1, entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" -env-paths@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0" - -enzyme-adapter-react-16@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.1.1.tgz#a8f4278b47e082fbca14f5bfb1ee50ee650717b4" +enzyme-adapter-react-16@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.6.0.tgz#3fca28d3c32f3ff427495380fe2dd51494689073" + integrity sha512-ay9eGFpChyUDnjTFMMJHzrb681LF3hPWJLEA7RoLFG9jSWAdAm2V50pGmFV9dYGJgh5HfdiqM+MNvle41Yf/PA== dependencies: - enzyme-adapter-utils "^1.3.0" - lodash "^4.17.4" - object.assign "^4.0.4" + enzyme-adapter-utils "^1.8.0" + function.prototype.name "^1.1.0" + object.assign "^4.1.0" object.values "^1.0.4" - prop-types "^15.6.0" - react-reconciler "^0.7.0" + prop-types "^15.6.2" + react-is "^16.5.2" react-test-renderer "^16.0.0-0" -enzyme-adapter-utils@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.3.0.tgz#d6c85756826c257a8544d362cc7a67e97ea698c7" +enzyme-adapter-utils@^1.8.0: + version "1.8.1" + resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.8.1.tgz#a927d840ce2c14b42892a533aec836809d4e022b" + integrity sha512-s3QB3xQAowaDS2sHhmEqrT13GJC4+n5bG015ZkLv60n9k5vhxxHTQRIneZmQ4hmdCZEBrvUJ89PG6fRI5OEeuQ== dependencies: - lodash "^4.17.4" - object.assign "^4.0.4" - prop-types "^15.6.0" + function.prototype.name "^1.1.0" + object.assign "^4.1.0" + prop-types "^15.6.2" -enzyme-to-json@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.3.3.tgz#ede45938fb309cd87ebd4386f60c754525515a07" +enzyme-to-json@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.3.4.tgz#67c6040e931182f183418af2eb9f4323258aa77f" + integrity sha1-Z8YEDpMRgvGDQYry659DIyWKp38= dependencies: lodash "^4.17.4" -enzyme@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.3.0.tgz#0971abd167f2d4bf3f5bd508229e1c4b6dc50479" +enzyme@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.7.0.tgz#9b499e8ca155df44fef64d9f1558961ba1385a46" + integrity sha512-QLWx+krGK6iDNyR1KlH5YPZqxZCQaVF6ike1eDJAOg0HvSkSCVImPsdWaNw6v+VrnK92Kg8jIOYhuOSS9sBpyg== dependencies: + array.prototype.flat "^1.2.1" cheerio "^1.0.0-rc.2" - function.prototype.name "^1.0.3" - has "^1.0.1" + function.prototype.name "^1.1.0" + has "^1.0.3" is-boolean-object "^1.0.0" - is-callable "^1.1.3" + is-callable "^1.1.4" is-number-object "^1.0.3" is-string "^1.0.4" is-subset "^0.1.1" - lodash "^4.17.4" - object-inspect "^1.5.0" + lodash.escape "^4.0.1" + lodash.isequal "^4.5.0" + object-inspect "^1.6.0" object-is "^1.0.1" object.assign "^4.1.0" object.entries "^1.0.4" object.values "^1.0.4" raf "^3.4.0" rst-selector-parser "^2.2.3" + string.prototype.trim "^1.1.2" errno@^0.1.1: version "0.1.4" @@ -2370,18 +2040,23 @@ errno@^0.1.1: dependencies: prr "~0.0.0" -errno@^0.1.3: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - dependencies: - prr "~1.0.1" - error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" dependencies: is-arrayish "^0.2.1" +es-abstract@^1.10.0, es-abstract@^1.5.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" + integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA== + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + es-abstract@^1.5.1: version "1.11.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681" @@ -2419,63 +2094,10 @@ es-to-primitive@^1.1.1: is-date-object "^1.0.1" is-symbol "^1.0.1" -es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.42" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.42.tgz#8c07dd33af04d5dcd1310b5cef13bea63a89ba8d" - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.1" - next-tick "1" - -es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-map@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-set "~0.1.5" - es6-symbol "~3.1.1" - event-emitter "~0.3.5" - es6-promise@^4.0.5: version "4.2.4" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29" -es6-set@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-symbol "3.1.1" - event-emitter "~0.3.5" - -es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - dependencies: - d "1" - es5-ext "~0.10.14" - -es6-weak-map@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -2502,102 +2124,114 @@ escodegen@^1.9.0: optionalDependencies: source-map "~0.6.1" -escope@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" +eslint-config-prettier@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.1.0.tgz#2c26d2cdcfa3a05f0642cd7e6e4ef3316cdabfa2" + integrity sha512-QYGfmzuc4q4J6XIhlp8vRKdI/fI0tQfQPy1dME3UOLprE+v4ssH/3W9LM2Q7h5qBcy5m0ehCrBDU2YF8q6OY8w== dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" - esrecurse "^4.1.0" - estraverse "^4.1.1" + get-stdin "^6.0.0" -eslint-config-prettier@^2.7.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz#5ecd65174d486c22dff389fe036febf502d468a3" +eslint-plugin-flowtype@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.2.0.tgz#824364ed5940a404b91326fdb5a313a2a74760df" + integrity sha512-baJmzngM6UKbEkJ5OY3aGw2zjXBt5L2QKZvTsOlXX7yHKIjNRrlJx2ods8Rng6EdqPR9rVNIQNYHpTs0qfn2qA== dependencies: - get-stdin "^5.0.1" + lodash "^4.17.10" -eslint-plugin-flowtype@^2.39.1: - version "2.41.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.41.0.tgz#fd5221c60ba917c059d7ef69686a99cca09fd871" +eslint-plugin-prettier@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.0.0.tgz#f6b823e065f8c36529918cdb766d7a0e975ec30c" + integrity sha512-4g11opzhqq/8+AMmo5Vc2Gn7z9alZ4JqrbZ+D4i8KlSyxeQhZHlmIrY8U9Akf514MoEhogPa87Jgkq87aZ2Ohw== dependencies: - lodash "^4.15.0" + prettier-linter-helpers "^1.0.0" -eslint-plugin-prettier@^2.3.1: - version "2.5.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.5.0.tgz#39a91dd7528eaf19cd42c0ee3f2c1f684606a05f" +eslint-plugin-react@^7.11.1: + version "7.11.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz#c01a7af6f17519457d6116aa94fc6d2ccad5443c" + integrity sha512-cVVyMadRyW7qsIUh3FHp3u6QHNhOgVrLQYdQEB1bPWBsgbNCHdFAeNMquBMCcZJu59eNthX053L70l7gRt4SCw== dependencies: - fast-diff "^1.1.1" - jest-docblock "^21.0.0" + array-includes "^3.0.3" + doctrine "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.0.1" + prop-types "^15.6.2" -eslint-plugin-react@^7.4.0: - version "7.5.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.5.1.tgz#52e56e8d80c810de158859ef07b880d2f56ee30b" +eslint-scope@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" + integrity sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA== dependencies: - doctrine "^2.0.0" - has "^1.0.1" - jsx-ast-utils "^2.0.0" - prop-types "^15.6.0" + esrecurse "^4.1.0" + estraverse "^4.1.1" -eslint-scope@^3.7.1, eslint-scope@~3.7.1: +eslint-scope@~3.7.1: version "3.7.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-utils@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" + integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== + eslint-visitor-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" -eslint@^4.11.0: - version "4.15.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.15.0.tgz#89ab38c12713eec3d13afac14e4a89e75ef08145" +eslint@^5.8.0: + version "5.8.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.8.0.tgz#91fbf24f6e0471e8fdf681a4d9dd1b2c9f28309b" + integrity sha512-Zok6Bru3y2JprqTNm14mgQ15YQu/SMDkWdnmHfFg770DIUlmMFd/gqqzCHekxzjHZJxXv3tmTpH0C1icaYJsRQ== dependencies: - ajv "^5.3.0" - babel-code-frame "^6.22.0" + "@babel/code-frame" "^7.0.0" + ajv "^6.5.3" chalk "^2.1.0" - concat-stream "^1.6.0" - cross-spawn "^5.1.0" - debug "^3.1.0" - doctrine "^2.0.2" - eslint-scope "^3.7.1" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^2.1.0" + eslint-scope "^4.0.0" + eslint-utils "^1.3.1" eslint-visitor-keys "^1.0.0" - espree "^3.5.2" - esquery "^1.0.0" + espree "^4.0.0" + esquery "^1.0.1" esutils "^2.0.2" file-entry-cache "^2.0.0" functional-red-black-tree "^1.0.1" glob "^7.1.2" - globals "^11.0.1" - ignore "^3.3.3" + globals "^11.7.0" + ignore "^4.0.6" imurmurhash "^0.1.4" - inquirer "^3.0.6" - is-resolvable "^1.0.0" - js-yaml "^3.9.1" + inquirer "^6.1.0" + is-resolvable "^1.1.0" + js-yaml "^3.12.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" - lodash "^4.17.4" - minimatch "^3.0.2" + lodash "^4.17.5" + minimatch "^3.0.4" mkdirp "^0.5.1" natural-compare "^1.4.0" optionator "^0.8.2" path-is-inside "^1.0.2" pluralize "^7.0.0" progress "^2.0.0" + regexpp "^2.0.1" require-uncached "^1.0.3" - semver "^5.3.0" + semver "^5.5.1" strip-ansi "^4.0.0" - strip-json-comments "~2.0.1" - table "^4.0.1" - text-table "~0.2.0" + strip-json-comments "^2.0.1" + table "^5.0.2" + text-table "^0.2.0" -espree@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.2.tgz#756ada8b979e9dcfcdb30aad8d1a9304a905e1ca" +espree@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-4.1.0.tgz#728d5451e0fd156c04384a7ad89ed51ff54eb25f" + integrity sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w== dependencies: - acorn "^5.2.1" - acorn-jsx "^3.0.0" + acorn "^6.0.2" + acorn-jsx "^5.0.0" + eslint-visitor-keys "^1.0.0" esprima@3.x.x, esprima@^3.1.3: version "3.1.3" @@ -2611,9 +2245,10 @@ esprima@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" -esquery@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" +esquery@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== dependencies: estraverse "^4.0.0" @@ -2636,28 +2271,10 @@ esutils@^2.0.0, esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" -event-emitter@~0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - dependencies: - d "1" - es5-ext "~0.10.14" - event-kit@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/event-kit/-/event-kit-2.2.0.tgz#29df50deae3d6d4c1c62451b10925f28641e928b" -events@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - exec-sh@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38" @@ -2736,12 +2353,13 @@ extend@3, extend@~3.0.0, extend@~3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" -external-editor@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48" +external-editor@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" + integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== dependencies: - chardet "^0.4.0" - iconv-lite "^0.4.17" + chardet "^0.7.0" + iconv-lite "^0.4.24" tmp "^0.0.33" extglob@^0.3.1: @@ -2772,15 +2390,6 @@ extract-zip@^1.0.3: mkdirp "0.5.1" yauzl "2.4.1" -extract-zip@^1.6.5: - version "1.6.6" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.6.tgz#1290ede8d20d0872b429fd3f351ca128ec5ef85c" - dependencies: - concat-stream "1.6.0" - debug "2.6.9" - mkdirp "0.5.0" - yauzl "2.4.1" - extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" @@ -2797,9 +2406,10 @@ fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" -fast-diff@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154" +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== fast-json-stable-stringify@^2.0.0: version "2.0.0" @@ -2928,9 +2538,10 @@ flat-cache@^1.2.1: graceful-fs "^4.1.2" write "^0.2.1" -flow-bin@^0.76.0: - version "0.76.0" - resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.76.0.tgz#eb00036991c3abc106743fcbc7ee321f02aa4faa" +flow-bin@^0.85.0: + version "0.85.0" + resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.85.0.tgz#a3ca80748a35a071d5bbb2fcd61d64d977fc53a6" + integrity sha512-ougBA2q6Rn9sZrjZQ9r5pTFxCotlGouySpD2yRIuq5AYwwfIT8HHhVMeSwrN5qJayjHINLJyrnsSkkPCZyfMrQ== flow-language-server@^0.5.0: version "0.5.0" @@ -3009,10 +2620,6 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - fs-extra@^0.30.0: version "0.30.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" @@ -3023,13 +2630,6 @@ fs-extra@^0.30.0: path-is-absolute "^1.0.0" rimraf "^2.2.8" -fs-extra@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - fs-minipass@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" @@ -3060,7 +2660,7 @@ fsevents@^1.0.0: nan "^2.3.0" node-pre-gyp "^0.6.36" -fsevents@^1.1.2, fsevents@^1.2.3: +fsevents@^1.2.3: version "1.2.4" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" dependencies: @@ -3095,9 +2695,10 @@ function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" -function.prototype.name@^1.0.3: +function.prototype.name@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327" + integrity sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg== dependencies: define-properties "^1.1.2" function-bind "^1.1.1" @@ -3124,12 +2725,6 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" -gaze@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" - dependencies: - globule "^1.0.0" - get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" @@ -3142,9 +2737,10 @@ get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" -get-stdin@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== get-stream@^3.0.0: version "3.0.0" @@ -3184,13 +2780,6 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - glob@7.0.5: version "7.0.5" resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" @@ -3213,7 +2802,7 @@ glob@7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1: +glob@7.1.2, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -3240,10 +2829,15 @@ global-dirs@^0.1.0: dependencies: ini "^1.3.4" -globals@^11.0.1, globals@^11.1.0: +globals@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.1.0.tgz#632644457f5f0e3ae711807183700ebf2e4633e4" +globals@^11.7.0: + version "11.8.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.8.0.tgz#c1ef45ee9bed6badf0663c5cb90e8d1adec1321d" + integrity sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA== + globals@^9.18.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" @@ -3259,14 +2853,6 @@ globby@^5.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -globule@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09" - dependencies: - glob "~7.1.1" - lodash "~4.17.4" - minimatch "~3.0.2" - got@^6.7.1: version "6.7.1" resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" @@ -3283,7 +2869,7 @@ got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" -graceful-fs@^4.1.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" @@ -3394,19 +2980,12 @@ has@^1.0.1: dependencies: function-bind "^1.0.2" -hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.0" + function-bind "^1.1.1" hawk@3.1.3, hawk@~3.1.3: version "3.1.3" @@ -3430,14 +3009,6 @@ he@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" @@ -3514,10 +3085,6 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - https-proxy-agent@1: version "1.0.0" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" @@ -3534,10 +3101,17 @@ iconv-lite@0.4.15: version "0.4.15" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" -iconv-lite@0.4.19, iconv-lite@^0.4.17: +iconv-lite@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" +iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.23" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" @@ -3562,9 +3136,10 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" -ignore@^3.3.3: - version "3.3.7" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== image-size@~0.5.0: version "0.5.5" @@ -3595,10 +3170,6 @@ indent-string@^2.1.0: dependencies: repeating "^2.0.0" -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -3610,10 +3181,6 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - ini@^1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" @@ -3629,29 +3196,25 @@ inline-style-prefixer@^4.0.0: bowser "^1.7.3" css-in-js-utils "^2.0.0" -inquirer@^3.0.6, inquirer@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" +inquirer@^6.1.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8" + integrity sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg== dependencies: ansi-escapes "^3.0.0" chalk "^2.0.0" cli-cursor "^2.1.0" cli-width "^2.0.0" - external-editor "^2.0.4" + external-editor "^3.0.0" figures "^2.0.0" - lodash "^4.3.0" + lodash "^4.17.10" mute-stream "0.0.7" run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" + rxjs "^6.1.0" string-width "^2.1.0" strip-ansi "^4.0.0" through "^2.3.6" -interpret@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" - invariant@2.2.2, invariant@^2.0.0, invariant@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" @@ -3716,6 +3279,11 @@ is-callable@^1.1.1, is-callable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" +is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + is-ci@^1.0.10: version "1.1.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" @@ -3792,10 +3360,6 @@ is-extglob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - is-finite@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" @@ -3822,18 +3386,6 @@ is-glob@^2.0.0, is-glob@^2.0.1: dependencies: is-extglob "^1.0.0" -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" - dependencies: - is-extglob "^2.1.1" - is-installed-globally@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" @@ -3919,9 +3471,10 @@ is-regex@^1.0.3, is-regex@^1.0.4: dependencies: has "^1.0.1" -is-resolvable@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.1.tgz#acca1cd36dbe44b974b924321555a70ba03b1cf4" +is-resolvable@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== is-retry-allowed@^1.0.0: version "1.1.0" @@ -3959,7 +3512,7 @@ isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: +isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -4125,10 +3678,6 @@ jest-diff@^23.0.1: jest-get-type "^22.1.0" pretty-format "^23.0.1" -jest-docblock@^21.0.0: - version "21.2.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" - jest-docblock@^23.0.1: version "23.0.1" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.0.1.tgz#deddd18333be5dc2415260a04ef3fce9276b5725" @@ -4339,16 +3888,22 @@ js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" -js-yaml@^3.7.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" + integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== dependencies: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^3.9.1: - version "3.10.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" +js-yaml@^3.7.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -4400,10 +3955,6 @@ jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" -json-loader@^0.5.4: - version "0.5.7" - resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" - json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -4412,6 +3963,11 @@ json-schema-traverse@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -4464,9 +4020,10 @@ jstransformer@1.0.0: is-promise "^2.0.0" promise "^7.0.1" -jsx-ast-utils@^2.0.0: +jsx-ast-utils@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" + integrity sha1-6AGxs5mF4g//yHtA43SAgOLcrH8= dependencies: array-includes "^3.0.3" @@ -4506,12 +4063,6 @@ lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" -lazystream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" - dependencies: - readable-stream "^2.0.5" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -4578,11 +4129,7 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" -loader-runner@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" - -loader-utils@^1.0.2, loader-utils@^1.1.0: +loader-utils@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" dependencies: @@ -4690,6 +4237,11 @@ lodash.defaultsdeep@4.3.2: lodash.mergewith "^4.0.0" lodash.rest "^4.0.0" +lodash.escape@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98" + integrity sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg= + lodash.flattendeep@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" @@ -4702,7 +4254,12 @@ lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" -lodash.isplainobject@^4.0.0: +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + +lodash.isplainobject@^4.0.0, lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" @@ -4730,11 +4287,11 @@ lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" -lodash@^4.0.0, lodash@^4.15.0, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.9.0: +lodash@^4.0.0, lodash@^4.15.0, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.9.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" -lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.8.0, lodash@~4.17.4: +lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.4: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" @@ -4819,26 +4376,12 @@ math-random@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" -md5.js@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - mem@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" dependencies: mimic-fn "^1.0.0" -memory-fs@^0.4.0, memory-fs@~0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - meow@^3.1.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -4900,13 +4443,6 @@ micromatch@^3.1.4, micromatch@^3.1.8: snapdragon "^0.8.1" to-regex "^3.0.2" -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - mime-db@~1.29.0: version "1.29.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.29.0.tgz#48d26d235589651704ac5916ca06001914266878" @@ -4935,15 +4471,7 @@ mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" -minimalistic-assert@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -4987,13 +4515,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12" - dependencies: - minimist "0.0.8" - -mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -5051,6 +4573,11 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" +ms@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -5118,17 +4645,14 @@ needle@^2.2.0: iconv-lite "^0.4.4" sax "^1.2.4" -neo-async@^2.5.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.1.tgz#acb909e327b1e87ec9ef15f41b8a269512ad41ee" - netmask@~1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35" -next-tick@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== nightwatch-html-reporter@^2.0.0: version "2.0.4" @@ -5172,34 +4696,6 @@ node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" -node-libs-browser@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^1.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.0" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.10.3" - vm-browserify "0.0.4" - node-notifier@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.2.1.tgz#fa313dd08f5517db0e2502e5758d664ac69f9dea" @@ -5273,10 +4769,6 @@ npm-bundled@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308" -npm-install-package@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/npm-install-package/-/npm-install-package-2.1.0.tgz#d7efe3cfcd7ab00614b896ea53119dc9ab259125" - npm-packlist@^1.1.6: version "1.1.10" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a" @@ -5376,9 +4868,10 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.5.0.tgz#9d876c11e40f485c79215670281b767488f9bfe3" +object-inspect@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" + integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== object-is@^1.0.1: version "1.0.1" @@ -5398,7 +4891,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.0.4, object.assign@^4.1.0: +object.assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" dependencies: @@ -5461,7 +4954,7 @@ open@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc" -optimist@0.6.1, optimist@^0.6.1, optimist@~0.6.1: +optimist@0.6.1, optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" dependencies: @@ -5479,10 +4972,6 @@ optionator@^0.8.1, optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -5573,20 +5062,6 @@ package-json@^4.0.0: registry-url "^3.0.3" semver "^5.1.0" -pako@~1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" - -parse-asn1@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -5623,14 +5098,6 @@ pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" -path-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - path-exists@^2.0.0, path-exists@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" @@ -5649,7 +5116,7 @@ path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" -path-key@^2.0.0: +path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" @@ -5677,16 +5144,6 @@ path-type@^3.0.0: dependencies: pify "^3.0.0" -pbkdf2@^3.0.3: - version "3.0.16" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c" - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" @@ -5751,9 +5208,17 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@^1.13.5: - version "1.13.5" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.5.tgz#7ae2076998c8edce79d63834e9b7b09fead6bfd0" +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@^1.15.1: + version "1.15.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.15.1.tgz#06c67106afb1b40e74b002353b2079cc7e0e67bf" + integrity sha512-4rgV2hyc/5Pk0XHH4VjJWHRgVjgRbpMfLQjREAhHBtyW1UvTFkjJEsueGYNYYZd9mn97K+1qv0EBwm11zoaSgA== pretty-bytes@^1.0.2: version "1.0.4" @@ -5785,10 +5250,6 @@ process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - progress-stream@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/progress-stream/-/progress-stream-1.2.0.tgz#2cd3cfea33ba3a89c9c121ec3347abe9ab125f77" @@ -5821,6 +5282,14 @@ prop-types@^15.5.4, prop-types@^15.5.8: fbjs "^0.8.9" loose-envify "^1.3.1" +prop-types@^15.6.2: + version "15.6.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102" + integrity sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ== + dependencies: + loose-envify "^1.3.1" + object-assign "^4.1.1" + proxy-agent@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-2.0.0.tgz#57eb5347aa805d74ec681cb25649dba39c933499" @@ -5838,24 +5307,10 @@ prr@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - pseudomap@^1.0.1, pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" -public-encrypt@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994" - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - pug-attrs@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/pug-attrs/-/pug-attrs-2.0.2.tgz#8be2b2225568ffa75d1b866982bff9f4111affcb" @@ -5949,11 +5404,7 @@ pug@^2.0.0-beta11: pug-runtime "^2.0.3" pug-strip-comments "^1.0.2" -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - -punycode@^1.2.4, punycode@^1.4.1: +punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -5965,10 +5416,6 @@ q@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" -q@~1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" @@ -5977,10 +5424,6 @@ qs@~6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - querystring@0.2.0, querystring@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" @@ -6028,19 +5471,6 @@ randomatic@^3.0.0: kind-of "^6.0.0" math-random "^1.0.1" -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - raw-body@2: version "2.2.0" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz#994976cf6a5096a41162840492f0bdc5d6e7fb96" @@ -6067,22 +5497,24 @@ rc@^1.1.2, rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-devtools-core@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-3.2.3.tgz#a37e199d94865e2cbb616b97be8f5820674e6abd" +react-devtools-core@^3.4.1: + version "3.4.2" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-3.4.2.tgz#4888b428f1db9a3078fdff66a1da14f71fb1680e" + integrity sha512-1pqbxenMeOiVPLf5Fm69woc+Q/pb/lLfWCizJuVJQDm9v7x0fcr76VMcq6Q30Onv3ikkfrlAQgOcOdCk/0t5tA== dependencies: shell-quote "^1.6.1" ws "^3.3.1" -react-devtools@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/react-devtools/-/react-devtools-3.2.3.tgz#4793d1df10c145b36cf6675496733612b85bdda1" +react-devtools@^3.4.2: + version "3.4.2" + resolved "https://registry.yarnpkg.com/react-devtools/-/react-devtools-3.4.2.tgz#936ae188afb90ddaa76b2518799009db9d6b252a" + integrity sha512-Z9EDmnVPT08WCeyzTd1Xd7d6u8LyVsOVz55Zmlb4LUNC7l3chPnlH02KoxC+VkwH3GpMtlfodhNaDC7lYNCGwg== dependencies: cross-spawn "^5.0.1" electron "^1.8.7" ip "^1.1.4" minimist "^1.2.0" - react-devtools-core "^3.2.3" + react-devtools-core "^3.4.1" update-notifier "^2.1.0" react-dom@^16.4.0: @@ -6112,6 +5544,11 @@ react-is@^16.3.1: version "16.4.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.4.0.tgz#cc9fdc855ac34d2e7d9d2eb7059bbc240d35ffcf" +react-is@^16.5.2, react-is@^16.6.1: + version "16.6.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.6.1.tgz#f77b1c3d901be300abe8d58645b7a59e794e5982" + integrity sha512-wOKsGtvTMYs7WAscmwwdM8sfRRvE17Ym30zFj3n37Qx5tHRfhenPKEPILHaHob6WoLFADmQm1ZNrE5xMCM6sCw== + react-motion@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/react-motion/-/react-motion-0.5.2.tgz#0dd3a69e411316567927917c6626551ba0607316" @@ -6120,15 +5557,6 @@ react-motion@^0.5.2: prop-types "^15.5.8" raf "^3.1.0" -react-reconciler@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.7.0.tgz#9614894103e5f138deeeb5eabaf3ee80eb1d026d" - dependencies: - fbjs "^0.8.16" - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.0" - react-redux@^5.0.7: version "5.0.7" resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.7.tgz#0dc1076d9afb4670f993ffaef44b8f8c1155a4c8" @@ -6140,7 +5568,7 @@ react-redux@^5.0.7: loose-envify "^1.1.0" prop-types "^15.6.0" -react-test-renderer@^16.0.0-0, react-test-renderer@^16.2.0: +react-test-renderer@^16.0.0-0: version "16.2.0" resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.2.0.tgz#bddf259a6b8fcd8555f012afc8eacc238872a211" dependencies: @@ -6148,6 +5576,16 @@ react-test-renderer@^16.0.0-0, react-test-renderer@^16.2.0: object-assign "^4.1.1" prop-types "^15.6.0" +react-test-renderer@^16.6.1: + version "16.6.1" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.6.1.tgz#8ea357652be3cf81cbd6b2f686e74ebe67c17b78" + integrity sha512-sgZwJZYIgQptRi2qk5+gB8FBQGk4gLSs0gmKZPMfhd3dLkdxIUwVLHteLN3Bnj4LokIZd3U+V2NEJUqeV2PT2w== + dependencies: + object-assign "^4.1.1" + prop-types "^15.6.2" + react-is "^16.6.1" + scheduler "^0.11.0" + react@^16.4.0: version "16.4.0" resolved "https://registry.yarnpkg.com/react/-/react-16.4.0.tgz#402c2db83335336fba1962c08b98c6272617d585" @@ -6223,7 +5661,7 @@ readable-stream@2, readable-stream@^2.0.2, readable-stream@^2.2.2: string_decoder "~1.0.3" util-deprecate "~1.0.1" -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6: +readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.1.4: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" dependencies: @@ -6235,18 +5673,6 @@ readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.6, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^2.0.5: - version "2.3.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -6291,9 +5717,12 @@ redux-mock-store-await-actions@^2.1.0: dependencies: lodash "^4.17.4" -redux-mock-store@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/redux-mock-store/-/redux-mock-store-1.3.0.tgz#6edfef0d2332f20576381069d6d889a6d0a4451c" +redux-mock-store@^1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/redux-mock-store/-/redux-mock-store-1.5.3.tgz#1f10528949b7ce8056c2532624f7cafa98576c6d" + integrity sha512-ryhkkb/4D4CUGpAV2ln1GOY/uh51aczjcRz9k2L2bPx/Xja3c5pSGJJPyR25GNVRXtKIExScdAgFdiXp68GmJA== + dependencies: + lodash.isplainobject "^4.0.6" redux-observable@^0.14.1: version "0.14.1" @@ -6345,6 +5774,11 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== + regexpu-core@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" @@ -6489,7 +5923,7 @@ request@^2.45.0: tunnel-agent "^0.6.0" uuid "^3.1.0" -request@^2.81.0, request@^2.83.0: +request@^2.83.0: version "2.87.0" resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" dependencies: @@ -6514,33 +5948,6 @@ request@^2.81.0, request@^2.83.0: tunnel-agent "^0.6.0" uuid "^3.1.0" -request@~2.83.0: - version "2.83.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.6.0" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.1" - forever-agent "~0.6.1" - form-data "~2.3.1" - har-validator "~5.0.3" - hawk "~6.0.2" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.17" - oauth-sign "~0.8.2" - performance-now "^2.1.0" - qs "~6.5.1" - safe-buffer "^5.1.1" - stringstream "~0.0.5" - tough-cookie "~2.3.3" - tunnel-agent "^0.6.0" - uuid "^3.1.0" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -6570,7 +5977,7 @@ resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" -resolve-url@^0.2.1, resolve-url@~0.2.1: +resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" @@ -6595,10 +6002,6 @@ ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" -rgb2hex@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/rgb2hex/-/rgb2hex-0.1.0.tgz#ccd55f860ae0c5c4ea37504b958e442d8d12325b" - right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" @@ -6627,13 +6030,6 @@ rimraf@~2.4.0: dependencies: glob "^6.0.1" -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - rn-host-detect@^1.0.1: version "1.1.3" resolved "https://registry.yarnpkg.com/rn-host-detect/-/rn-host-detect-1.1.3.tgz#242d76e2fa485c48d751416e65b7cce596969e91" @@ -6655,16 +6051,6 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" - dependencies: - rx-lite "*" - -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" - rxjs@5.5.5: version "5.5.5" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.5.tgz#e164f11d38eaf29f56f08c3447f74ff02dd84e97" @@ -6677,7 +6063,14 @@ rxjs@^5.4.3: dependencies: symbol-observable "^1.0.1" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +rxjs@^6.1.0: + version "6.3.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.3.3.tgz#3c6a7fa420e844a81390fb1158a9ec614f4bad55" + integrity sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw== + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.0.1, 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" @@ -6738,6 +6131,14 @@ sc-formatter@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/sc-formatter/-/sc-formatter-3.0.0.tgz#c91b1fe56c260abd5a6a2e6af98c724bc7998a38" +scheduler@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.11.0.tgz#def1f1bfa6550cc57981a87106e65e8aea41a6b5" + integrity sha512-MAYbBfmiEHxF0W+c4CxMpEqMYK+rYF584VP/qMKSiHM6lTkBKKYOJaDiSILpJHla6hBOsVd6GucPL46o2Uq3sg== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + secure-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/secure-keys/-/secure-keys-1.0.0.tgz#f0c82d98a3b139a8776a8808050b824431087fca" @@ -6756,6 +6157,11 @@ semver@5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" +semver@^5.5.0, semver@^5.5.1: + version "5.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" + integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== + semver@~5.0.1: version "5.0.3" resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" @@ -6786,17 +6192,10 @@ set-value@^2.0.0: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4, setimmediate@^1.0.5: +setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -6925,19 +6324,6 @@ socks@~1.1.5: ip "^1.1.4" smart-buffer "^1.0.13" -source-list-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" - -source-map-resolve@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.3.1.tgz#610f6122a445b8dd51535a2a71b783dfc1248761" - dependencies: - atob "~1.1.0" - resolve-url "~0.2.1" - source-map-url "~0.3.0" - urix "~0.1.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" @@ -6965,22 +6351,12 @@ source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" -source-map-url@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9" - source-map@0.4.x, source-map@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: amdefine ">=0.0.4" -source-map@^0.1.38: - version "0.1.43" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" - dependencies: - amdefine ">=0.0.4" - source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -7021,16 +6397,6 @@ spdx-license-ids@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" -spectron@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/spectron/-/spectron-3.8.0.tgz#122c3562fd7e92b7cdf6f94094aa495b150dfa51" - dependencies: - dev-null "^0.1.1" - electron-chromedriver "~1.8.0" - request "^2.81.0" - split "^1.0.0" - webdriverio "^4.8.0" - speedometer@~0.1.2: version "0.1.4" resolved "https://registry.yarnpkg.com/speedometer/-/speedometer-0.1.4.tgz#9876dbd2a169d3115402d48e6ea6329c8816a50d" @@ -7041,12 +6407,6 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" -split@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - dependencies: - through "2" - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -7080,27 +6440,10 @@ stealthy-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" -stream-browserify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - stream-buffers@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-3.0.1.tgz#68a38c5faadeded79ff79988d368e3fb1325ef06" -stream-http@^2.7.2: - version "2.8.2" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.2.tgz#4126e8c6b107004465918aa2fc35549e77402c87" - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - streamroller@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-0.4.1.tgz#d435bd5974373abd9bd9068359513085106cc05f" @@ -7132,11 +6475,14 @@ string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string_decoder@^1.0.0, string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" +string.prototype.trim@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" + integrity sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo= dependencies: - safe-buffer "~5.1.0" + define-properties "^1.1.2" + es-abstract "^1.5.0" + function-bind "^1.0.2" string_decoder@~0.10.x: version "0.10.31" @@ -7148,6 +6494,12 @@ string_decoder@~1.0.3: dependencies: safe-buffer "~5.1.0" +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + dependencies: + safe-buffer "~5.1.0" + stringstream@~0.0.4: version "0.0.6" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72" @@ -7188,7 +6540,7 @@ strip-indent@^1.0.1: dependencies: get-stdin "^4.0.1" -strip-json-comments@~2.0.1: +strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -7222,12 +6574,6 @@ sumchecker@^1.2.0: debug "^2.2.0" es6-promise "^4.0.5" -sumchecker@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-2.0.2.tgz#0f42c10e5d05da5d42eea3e56c3399a37d6c5b3e" - dependencies: - debug "^2.2.0" - supports-color@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" @@ -7250,7 +6596,7 @@ supports-color@^3.1.2, supports-color@^3.2.3: dependencies: has-flag "^1.0.0" -supports-color@^4.0.0, supports-color@^4.2.1: +supports-color@^4.0.0: version "4.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" dependencies: @@ -7262,12 +6608,6 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@~5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.0.1.tgz#1c5331f22250c84202805b2f17adf16699f3a39a" - dependencies: - has-flag "^2.0.0" - symbol-observable@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" @@ -7284,21 +6624,16 @@ symbol-tree@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" -table@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" +table@^5.0.2: + version "5.1.0" + resolved "https://registry.yarnpkg.com/table/-/table-5.1.0.tgz#69a54644f6f01ad1628f8178715b408dc6bf11f7" + integrity sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg== dependencies: - ajv "^5.2.3" - ajv-keywords "^2.1.0" - chalk "^2.1.0" - lodash "^4.17.4" + ajv "^6.5.3" + lodash "^4.17.10" slice-ansi "1.0.0" string-width "^2.1.1" -tapable@^0.2.7: - version "0.2.8" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" - tar-pack@^3.4.0: version "3.4.1" resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" @@ -7312,18 +6647,6 @@ tar-pack@^3.4.0: tar "^2.2.1" uid-number "^0.0.6" -tar-stream@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.0.tgz#a50efaa7b17760b82c27b3cae4a301a8254a5715" - dependencies: - bl "^1.0.0" - buffer-alloc "^1.1.0" - end-of-stream "^1.0.0" - fs-constants "^1.0.0" - readable-stream "^2.0.0" - to-buffer "^1.1.0" - xtend "^4.0.0" - tar@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" @@ -7367,9 +6690,10 @@ test-exclude@^4.2.1: read-pkg-up "^1.0.1" require-main-filename "^1.0.1" -text-table@~0.2.0: +text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= throat@^4.0.0: version "4.1.0" @@ -7386,7 +6710,7 @@ through2@~0.2.3: readable-stream "~1.1.9" xtend "~2.1.1" -through@2, through@2.3.8, through@^2.3.6: +through@2.3.8, through@^2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -7398,12 +6722,6 @@ timed-out@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" -timers-browserify@^2.0.4: - version "2.0.10" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" - dependencies: - setimmediate "^1.0.4" - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -7414,14 +6732,6 @@ tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - -to-buffer@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" - to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" @@ -7480,9 +6790,10 @@ trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" +tslib@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== tunnel-agent@^0.6.0: version "0.6.0" @@ -7512,7 +6823,7 @@ ua-parser-js@^0.7.9: version "0.7.17" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" -uglify-js@^2.6, uglify-js@^2.6.1, uglify-js@^2.8.29: +uglify-js@^2.6, uglify-js@^2.6.1: version "2.8.29" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" dependencies: @@ -7525,14 +6836,6 @@ uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" -uglifyjs-webpack-plugin@^0.4.6: - version "0.4.6" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" - dependencies: - source-map "^0.5.6" - uglify-js "^2.8.29" - webpack-sources "^1.0.1" - uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" @@ -7585,10 +6888,6 @@ unzip-response@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" -upath@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" - update-notifier@^2.1.0: version "2.5.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" @@ -7604,13 +6903,14 @@ update-notifier@^2.1.0: semver-diff "^2.0.0" xdg-basedir "^3.0.0" -uri-js@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.1.tgz#4595a80a51f356164e22970df64c7abd6ade9850" +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== dependencies: punycode "^2.1.0" -urix@^0.1.0, urix@~0.1.0: +urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" @@ -7620,13 +6920,6 @@ url-parse-lax@^1.0.0: dependencies: prepend-http "^1.0.1" -url@^0.11.0, url@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - dependencies: - punycode "1.3.2" - querystring "0.2.0" - use@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544" @@ -7648,12 +6941,6 @@ util.promisify@^1.0.0: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" -util@0.10.3, util@^0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - dependencies: - inherits "2.0.1" - uuid@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" @@ -7683,12 +6970,6 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vm-browserify@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - dependencies: - indexof "0.0.1" - void-elements@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" @@ -7746,86 +7027,10 @@ watch@~0.18.0: exec-sh "^0.2.0" minimist "^1.2.0" -watchpack@^1.4.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" - dependencies: - chokidar "^2.0.2" - graceful-fs "^4.1.2" - neo-async "^2.5.0" - -wdio-dot-reporter@~0.0.8: - version "0.0.9" - resolved "https://registry.yarnpkg.com/wdio-dot-reporter/-/wdio-dot-reporter-0.0.9.tgz#929b2adafd49d6b0534fda068e87319b47e38fe5" - -webdriverio@^4.8.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-4.12.0.tgz#e340def272183c8168a4dd0b382322f9d7bee10d" - dependencies: - archiver "~2.1.0" - babel-runtime "^6.26.0" - css-parse "~2.0.0" - css-value "~0.0.1" - deepmerge "~2.0.1" - ejs "~2.5.6" - gaze "~1.1.2" - glob "~7.1.1" - inquirer "~3.3.0" - json-stringify-safe "~5.0.1" - mkdirp "~0.5.1" - npm-install-package "~2.1.0" - optimist "~0.6.1" - q "~1.5.0" - request "~2.83.0" - rgb2hex "~0.1.0" - safe-buffer "~5.1.1" - supports-color "~5.0.0" - url "~0.11.0" - wdio-dot-reporter "~0.0.8" - wgxpath "~1.0.0" - webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" -webpack-sources@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.12.0.tgz#3f9e34360370602fcf639e97939db486f4ec0d74" - dependencies: - acorn "^5.0.0" - acorn-dynamic-import "^2.0.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - async "^2.1.2" - enhanced-resolve "^3.4.0" - escope "^3.6.0" - interpret "^1.0.0" - json-loader "^0.5.4" - json5 "^0.5.1" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - mkdirp "~0.5.0" - node-libs-browser "^2.0.0" - source-map "^0.5.3" - supports-color "^4.2.1" - tapable "^0.2.7" - uglifyjs-webpack-plugin "^0.4.6" - watchpack "^1.4.0" - webpack-sources "^1.0.1" - yargs "^8.0.2" - -wgxpath@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wgxpath/-/wgxpath-1.0.0.tgz#eef8a4b9d558cc495ad3a9a2b751597ecd9af690" - whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz#57c235bc8657e914d24e1a397d3c82daee0a6ba3" @@ -7969,10 +7174,6 @@ xregexp@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" -xtend@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - xtend@~2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" @@ -8068,12 +7269,3 @@ yauzl@2.4.1: resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" dependencies: fd-slicer "~1.0.1" - -zip-stream@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-1.2.0.tgz#a8bc45f4c1b49699c6b90198baacaacdbcd4ba04" - dependencies: - archiver-utils "^1.3.0" - compress-commons "^1.2.0" - lodash "^4.8.0" - readable-stream "^2.0.0"