From daeefa6e77576c54e17b1d27f04f293e853ea5be Mon Sep 17 00:00:00 2001 From: develar Date: Sat, 20 May 2017 12:26:38 +0200 Subject: [PATCH] feat(electron-updater): isSilent param of quitAndInstall method #1545 --- docs/Auto Update.md | 118 +++++++ docs/Options.md | 80 +++++ docs/api/electron-updater.md | 11 +- package.json | 12 +- packages/electron-builder-http/package.json | 2 +- packages/electron-builder-util/package.json | 2 +- packages/electron-builder/package.json | 2 +- packages/electron-publisher-s3/package.json | 2 +- packages/electron-updater/package.json | 2 +- packages/electron-updater/src/AppUpdater.ts | 4 +- packages/electron-updater/src/NsisUpdater.ts | 4 +- packages/jsdoc2md.js | 2 - yarn.lock | 326 +++++++++---------- 13 files changed, 385 insertions(+), 182 deletions(-) diff --git a/docs/Auto Update.md b/docs/Auto Update.md index 3d219d565a1..197461d2358 100644 --- a/docs/Auto Update.md +++ b/docs/Auto Update.md @@ -103,6 +103,16 @@ Emitted on progress. Only supported over Windows build, since `Squirrel.Mac` [do * [`.warn(message)`](#module_electron-updater.Logger+warn) * [`.UpdateCheckResult`](#UpdateCheckResult) * [.AppUpdater](#AppUpdater) ⇐ internal:EventEmitter + * [`.checkForUpdates()`](#module_electron-updater.AppUpdater+checkForUpdates) ⇒ Promise<[UpdateCheckResult](#UpdateCheckResult)> + * [`.downloadUpdate(cancellationToken)`](#module_electron-updater.AppUpdater+downloadUpdate) ⇒ Promise<any> + * [`.getFeedURL()`](#module_electron-updater.AppUpdater+getFeedURL) ⇒ undefined \| null \| string + * [`.setFeedURL(options)`](#module_electron-updater.AppUpdater+setFeedURL) + * [`.loadUpdateConfig()`](#module_electron-updater.AppUpdater+loadUpdateConfig) ⇒ Promise<any> + * [`.quitAndInstall(isSilent)`](#module_electron-updater.AppUpdater+quitAndInstall) + * [`.computeRequestHeaders(fileInfo)`](#module_electron-updater.AppUpdater+computeRequestHeaders) ⇒ null \| [RequestHeaders](electron-builder-http#RequestHeaders) + * [`.dispatchError(e)`](#module_electron-updater.AppUpdater+dispatchError) + * [`.doDownloadUpdate(versionInfo, fileInfo, cancellationToken)`](#module_electron-updater.AppUpdater+doDownloadUpdate) ⇒ Promise<any> + * [`.onUpdateAvailable(versionInfo, fileInfo)`](#module_electron-updater.AppUpdater+onUpdateAvailable) * [.Provider](#Provider) * [`.getLatestVersion()`](#module_electron-updater.Provider+getLatestVersion) ⇒ Promise<module:electron-updater.T> * [`.setRequestHeaders(value)`](#module_electron-updater.Provider+setRequestHeaders) @@ -201,6 +211,114 @@ Emitted on progress. Only supported over Windows build, since `Squirrel.Mac` [do | app| Electron:App | | | versionInfo| [VersionInfo](Publishing-Artifacts#VersionInfo) \| null | | + +* [.AppUpdater](#AppUpdater) ⇐ internal:EventEmitter + * [`.checkForUpdates()`](#module_electron-updater.AppUpdater+checkForUpdates) ⇒ Promise<[UpdateCheckResult](#UpdateCheckResult)> + * [`.downloadUpdate(cancellationToken)`](#module_electron-updater.AppUpdater+downloadUpdate) ⇒ Promise<any> + * [`.getFeedURL()`](#module_electron-updater.AppUpdater+getFeedURL) ⇒ undefined \| null \| string + * [`.setFeedURL(options)`](#module_electron-updater.AppUpdater+setFeedURL) + * [`.loadUpdateConfig()`](#module_electron-updater.AppUpdater+loadUpdateConfig) ⇒ Promise<any> + * [`.quitAndInstall(isSilent)`](#module_electron-updater.AppUpdater+quitAndInstall) + * [`.computeRequestHeaders(fileInfo)`](#module_electron-updater.AppUpdater+computeRequestHeaders) ⇒ null \| [RequestHeaders](electron-builder-http#RequestHeaders) + * [`.dispatchError(e)`](#module_electron-updater.AppUpdater+dispatchError) + * [`.doDownloadUpdate(versionInfo, fileInfo, cancellationToken)`](#module_electron-updater.AppUpdater+doDownloadUpdate) ⇒ Promise<any> + * [`.onUpdateAvailable(versionInfo, fileInfo)`](#module_electron-updater.AppUpdater+onUpdateAvailable) + + + +#### `appUpdater.checkForUpdates()` ⇒ Promise<[UpdateCheckResult](#UpdateCheckResult)> +Asks the server whether there is an update. + +**Kind**: instance method of [AppUpdater](#AppUpdater) + + +#### `appUpdater.downloadUpdate(cancellationToken)` ⇒ Promise<any> +Start downloading update manually. You can use this method if `autoDownload` option is set to `false`. + +**Kind**: instance method of [AppUpdater](#AppUpdater) +**Returns**: Promise<any> - Path to downloaded file. + +| Param | Type | +| --- | --- | +| cancellationToken | [CancellationToken](electron-builder-http#CancellationToken) | + + + +#### `appUpdater.getFeedURL()` ⇒ undefined \| null \| string +**Kind**: instance method of [AppUpdater](#AppUpdater) + + +#### `appUpdater.setFeedURL(options)` +Configure update provider. If value is `string`, [module:electron-builder-http/out/publishOptions.GenericServerOptions](module:electron-builder-http/out/publishOptions.GenericServerOptions) will be set with value as `url`. + +**Kind**: instance method of [AppUpdater](#AppUpdater) + +| Param | Type | Description | +| --- | --- | --- | +| options | [PublishConfiguration](Publishing-Artifacts#PublishConfiguration) \| [GenericServerOptions](Publishing-Artifacts#GenericServerOptions) \| [S3Options](Publishing-Artifacts#S3Options) \| [BintrayOptions](Publishing-Artifacts#BintrayOptions) \| [GithubOptions](Publishing-Artifacts#GithubOptions) \| string | If you want to override configuration in the `app-update.yml`. | + + + +#### `appUpdater.loadUpdateConfig()` ⇒ Promise<any> +**Kind**: instance method of [AppUpdater](#AppUpdater) + + +#### `appUpdater.quitAndInstall(isSilent)` +Restarts the app and installs the update after it has been downloaded. +It should only be called after `update-downloaded` has been emitted. + +**Note:** `autoUpdater.quitAndInstall()` will close all application windows first and only emit `before-quit` event on `app` after that. +This is different from the normal quit event sequence. + +**Kind**: instance method of [AppUpdater](#AppUpdater) + +| Param | Type | Description | +| --- | --- | --- | +| isSilent | boolean | *windows-only* Runs the installer in silent mode. | + + + +#### `appUpdater.computeRequestHeaders(fileInfo)` ⇒ null \| [RequestHeaders](electron-builder-http#RequestHeaders) +**Kind**: instance method of [AppUpdater](#AppUpdater) +**Access**: protected + +| Param | Type | +| --- | --- | +| fileInfo | [FileInfo](#FileInfo) | + + + +#### `appUpdater.dispatchError(e)` +**Kind**: instance method of [AppUpdater](#AppUpdater) +**Access**: protected + +| Param | Type | +| --- | --- | +| e | Error | + + + +#### `appUpdater.doDownloadUpdate(versionInfo, fileInfo, cancellationToken)` ⇒ Promise<any> +**Kind**: instance method of [AppUpdater](#AppUpdater) +**Access**: protected + +| Param | Type | +| --- | --- | +| versionInfo | [VersionInfo](Publishing-Artifacts#VersionInfo) | +| fileInfo | [FileInfo](#FileInfo) | +| cancellationToken | [CancellationToken](electron-builder-http#CancellationToken) | + + + +#### `appUpdater.onUpdateAvailable(versionInfo, fileInfo)` +**Kind**: instance method of [AppUpdater](#AppUpdater) +**Access**: protected + +| Param | Type | +| --- | --- | +| versionInfo | [VersionInfo](Publishing-Artifacts#VersionInfo) | +| fileInfo | [FileInfo](#FileInfo) | + ### Provider diff --git a/docs/Options.md b/docs/Options.md index fde019b6cf2..b2971c22e2d 100644 --- a/docs/Options.md +++ b/docs/Options.md @@ -101,6 +101,8 @@ You can use [file macros](#file-macros) in the `from` and `to` fields as well. * [`.AppXOptions`](#AppXOptions) * [`.ArtifactCreated`](#ArtifactCreated) * [`.BuildInfo`](#BuildInfo) + * [`.afterPack(context)`](#module_electron-builder.BuildInfo+afterPack) ⇒ Promise<void> + * [`.dispatchArtifactCreated(event)`](#module_electron-builder.BuildInfo+dispatchArtifactCreated) * [`.BuildOptions`](#BuildOptions) ⇐ [PublishOptions](electron-publish#PublishOptions) * [`.BuildResult`](#BuildResult) * [`.CliOptions`](#CliOptions) ⇐ [PublishOptions](electron-publish#PublishOptions) @@ -122,6 +124,11 @@ You can use [file macros](#file-macros) in the `from` and `to` fields as well. * [`.SquirrelWindowsOptions`](#SquirrelWindowsOptions) ⇐ [WinBuildOptions](#WinBuildOptions) * [`.WinBuildOptions`](#WinBuildOptions) ⇐ [PlatformSpecificBuildOptions](electron-builder-core#PlatformSpecificBuildOptions) * [.Packager](#Packager) ⇐ [BuildInfo](#BuildInfo) + * [`.addAfterPackHandler(handler)`](#module_electron-builder.Packager+addAfterPackHandler) + * [`.afterPack(context)`](#module_electron-builder.Packager+afterPack) ⇒ Promise<void> + * [`.artifactCreated(handler)`](#module_electron-builder.Packager+artifactCreated) ⇒ [Packager](#Packager) + * [`.build()`](#module_electron-builder.Packager+build) ⇒ Promise<[BuildResult](#BuildResult)> + * [`.dispatchArtifactCreated(event)`](#module_electron-builder.Packager+dispatchArtifactCreated) * [`.build(rawOptions)`](#module_electron-builder.build) ⇒ Promise<Array<string>> * [`.buildForge(forgeOptions, options)`](#module_electron-builder.buildForge) ⇒ Promise<Array<string>> * [`.createTargets(platforms, type, arch)`](#module_electron-builder.createTargets) ⇒ Map<[Platform](electron-builder-core#Platform) \| Map<[Arch](electron-builder-core#Arch) \| Array<string>>> @@ -197,6 +204,29 @@ AppX Options ([appx](#Config-appx)). | prepackaged| string \| null | | **cancellationToken**| [CancellationToken](electron-builder-http#CancellationToken) | + +* [`.BuildInfo`](#BuildInfo) + * [`.afterPack(context)`](#module_electron-builder.BuildInfo+afterPack) ⇒ Promise<void> + * [`.dispatchArtifactCreated(event)`](#module_electron-builder.BuildInfo+dispatchArtifactCreated) + + + +#### `buildInfo.afterPack(context)` ⇒ Promise<void> +**Kind**: instance method of [BuildInfo](#BuildInfo) + +| Param | Type | +| --- | --- | +| context | [AfterPackContext](#AfterPackContext) | + + + +#### `buildInfo.dispatchArtifactCreated(event)` +**Kind**: instance method of [BuildInfo](#BuildInfo) + +| Param | Type | +| --- | --- | +| event | [ArtifactCreated](#ArtifactCreated) | + ### `BuildOptions` ⇐ [PublishOptions](electron-publish#PublishOptions) @@ -641,6 +671,56 @@ Windows Specific Options ([win](#Config-win)). | tempDirManager = new TmpDir()| [TmpDir](electron-builder-util#TmpDir) | | prepackaged| string \| null | + +* [.Packager](#Packager) ⇐ [BuildInfo](#BuildInfo) + * [`.addAfterPackHandler(handler)`](#module_electron-builder.Packager+addAfterPackHandler) + * [`.afterPack(context)`](#module_electron-builder.Packager+afterPack) ⇒ Promise<void> + * [`.artifactCreated(handler)`](#module_electron-builder.Packager+artifactCreated) ⇒ [Packager](#Packager) + * [`.build()`](#module_electron-builder.Packager+build) ⇒ Promise<[BuildResult](#BuildResult)> + * [`.dispatchArtifactCreated(event)`](#module_electron-builder.Packager+dispatchArtifactCreated) + + + +#### `packager.addAfterPackHandler(handler)` +**Kind**: instance method of [Packager](#Packager) + +| Param | Type | +| --- | --- | +| handler | callback | + + + +#### `packager.afterPack(context)` ⇒ Promise<void> +**Kind**: instance method of [Packager](#Packager) +**Overrides**: [afterPack](#module_electron-builder.BuildInfo+afterPack) + +| Param | Type | +| --- | --- | +| context | [AfterPackContext](#AfterPackContext) | + + + +#### `packager.artifactCreated(handler)` ⇒ [Packager](#Packager) +**Kind**: instance method of [Packager](#Packager) + +| Param | Type | +| --- | --- | +| handler | callback | + + + +#### `packager.build()` ⇒ Promise<[BuildResult](#BuildResult)> +**Kind**: instance method of [Packager](#Packager) + + +#### `packager.dispatchArtifactCreated(event)` +**Kind**: instance method of [Packager](#Packager) +**Overrides**: [dispatchArtifactCreated](#module_electron-builder.BuildInfo+dispatchArtifactCreated) + +| Param | Type | +| --- | --- | +| event | [ArtifactCreated](#ArtifactCreated) | + ### `electron-builder.build(rawOptions)` ⇒ Promise<Array<string>> diff --git a/docs/api/electron-updater.md b/docs/api/electron-updater.md index d04f00aadaa..81b44f00141 100644 --- a/docs/api/electron-updater.md +++ b/docs/api/electron-updater.md @@ -247,7 +247,7 @@ Developer API only. See [[Auto Update]] for user documentation. * [electron-updater/out/NsisUpdater](#module_electron-updater/out/NsisUpdater) * [.NsisUpdater](#NsisUpdater) ⇐ [AppUpdater](Auto-Update#AppUpdater) - * [`.quitAndInstall()`](#module_electron-updater/out/NsisUpdater.NsisUpdater+quitAndInstall) + * [`.quitAndInstall(isSilent)`](#module_electron-updater/out/NsisUpdater.NsisUpdater+quitAndInstall) * [`.doDownloadUpdate(versionInfo, fileInfo, cancellationToken)`](#module_electron-updater/out/NsisUpdater.NsisUpdater+doDownloadUpdate) ⇒ Promise<string> @@ -257,13 +257,18 @@ Developer API only. See [[Auto Update]] for user documentation. **Extends**: [AppUpdater](Auto-Update#AppUpdater) * [.NsisUpdater](#NsisUpdater) ⇐ [AppUpdater](Auto-Update#AppUpdater) - * [`.quitAndInstall()`](#module_electron-updater/out/NsisUpdater.NsisUpdater+quitAndInstall) + * [`.quitAndInstall(isSilent)`](#module_electron-updater/out/NsisUpdater.NsisUpdater+quitAndInstall) * [`.doDownloadUpdate(versionInfo, fileInfo, cancellationToken)`](#module_electron-updater/out/NsisUpdater.NsisUpdater+doDownloadUpdate) ⇒ Promise<string> -#### `nsisUpdater.quitAndInstall()` +#### `nsisUpdater.quitAndInstall(isSilent)` **Kind**: instance method of [NsisUpdater](#NsisUpdater) + +| Param | Type | +| --- | --- | +| isSilent | boolean | + #### `nsisUpdater.doDownloadUpdate(versionInfo, fileInfo, cancellationToken)` ⇒ Promise<string> diff --git a/package.json b/package.json index 0d3ef2d7aa5..381eded1d4d 100644 --- a/package.json +++ b/package.json @@ -28,15 +28,15 @@ "///": "all dependencies for all packages (hoisted)", "dependencies": { "7zip-bin": "^2.0.4", - "ajv": "^5.1.1", + "ajv": "^5.1.2", "ajv-keywords": "^2.0.0", "archiver": "^1.3.0", - "aws-sdk": "^2.50.0", + "aws-sdk": "^2.54.0", "bluebird-lst": "^1.0.2", "chalk": "^1.1.3", "chromium-pickle-js": "^0.2.0", "cuint": "^0.2.2", - "debug": "^2.6.6", + "debug": "^2.6.8", "electron-download-tf": "4.3.1", "electron-is-dev": "^0.1.2", "electron-osx-sign": "0.4.4", @@ -56,7 +56,7 @@ "sanitize-filename": "^1.6.1", "semver": "^5.3.0", "stat-mode": "^0.2.2", - "ts-jsdoc": "^1.2.2", + "ts-jsdoc": "^1.2.3", "tunnel-agent": "^0.6.0", "update-notifier": "^2.1.0", "uuid-1345": "^0.99.6", @@ -64,7 +64,7 @@ "yargs": "^8.0.1" }, "devDependencies": { - "@types/electron": "^1.4.37", + "@types/electron": "^1.4.38", "@types/ini": "^1.3.29", "@types/jest": "^19.2.3", "@types/js-yaml": "^3.5.30", @@ -84,7 +84,7 @@ "develar-typescript-json-schema": "0.11.0", "env-paths": "^1.0.0", "globby": "^6.1.0", - "jest-cli": "^20.0.1", + "jest-cli": "^20.0.3", "jest-environment-node-debug": "^2.0.0", "jest-junit": "^1.5.1", "jsdoc-to-markdown": "^3.0.0", diff --git a/packages/electron-builder-http/package.json b/packages/electron-builder-http/package.json index c5ecbcc0fb5..ffa416d162f 100644 --- a/packages/electron-builder-http/package.json +++ b/packages/electron-builder-http/package.json @@ -12,7 +12,7 @@ ], "//": "client can also install js-yaml to load yaml", "dependencies": { - "debug": "2.6.6", + "debug": "2.6.8", "fs-extra-p": "^4.3.0" }, "typings": "./out/electron-builder-http.d.ts" diff --git a/packages/electron-builder-util/package.json b/packages/electron-builder-util/package.json index 9ac1dd75bea..7d35992ce91 100644 --- a/packages/electron-builder-util/package.json +++ b/packages/electron-builder-util/package.json @@ -16,7 +16,7 @@ "stat-mode": "^0.2.2", "bluebird-lst": "^1.0.2", "chalk": "^1.1.3", - "debug": "2.6.6", + "debug": "2.6.8", "node-emoji": "^1.5.1", "electron-builder-http": "~0.0.0-semantic-release", "source-map-support": "^0.4.15", diff --git a/packages/electron-builder/package.json b/packages/electron-builder/package.json index 6c35679f645..7ffbeba01a5 100644 --- a/packages/electron-builder/package.json +++ b/packages/electron-builder/package.json @@ -45,7 +45,7 @@ "homepage": "https://github.com/electron-userland/electron-builder", "dependencies": { "7zip-bin": "^2.0.4", - "ajv": "^5.1.1", + "ajv": "^5.1.2", "ajv-keywords": "^2.0.0", "bluebird-lst": "^1.0.2", "chalk": "^1.1.3", diff --git a/packages/electron-publisher-s3/package.json b/packages/electron-publisher-s3/package.json index d1ab519b992..be42e0fd251 100644 --- a/packages/electron-publisher-s3/package.json +++ b/packages/electron-publisher-s3/package.json @@ -12,7 +12,7 @@ ], "dependencies": { "fs-extra-p": "^4.3.0", - "aws-sdk": "^2.50.0", + "aws-sdk": "^2.54.0", "mime": "^1.3.6", "electron-publish": "~0.0.0-semantic-release", "electron-builder-util": "~0.0.0-semantic-release" diff --git a/packages/electron-updater/package.json b/packages/electron-updater/package.json index a22000d2888..0f6b3145b18 100644 --- a/packages/electron-updater/package.json +++ b/packages/electron-updater/package.json @@ -20,7 +20,7 @@ "electron-builder-http": "~0.0.0-semantic-release", "electron-is-dev": "^0.1.2", "xelement": "^1.0.14", - "debug": "^2.6.6" + "debug": "^2.6.8" }, "typings": "./out/electron-updater.d.ts" } diff --git a/packages/electron-updater/src/AppUpdater.ts b/packages/electron-updater/src/AppUpdater.ts index 5636c8df8c1..9ea3e156616 100644 --- a/packages/electron-updater/src/AppUpdater.ts +++ b/packages/electron-updater/src/AppUpdater.ts @@ -261,8 +261,10 @@ export abstract class AppUpdater extends EventEmitter { * * **Note:** `autoUpdater.quitAndInstall()` will close all application windows first and only emit `before-quit` event on `app` after that. * This is different from the normal quit event sequence. + * + * @param isSilent *windows-only* Runs the installer in silent mode. */ - abstract quitAndInstall(): void + abstract quitAndInstall(isSilent: boolean): void async loadUpdateConfig() { if (this._appUpdateConfigPath == null) { diff --git a/packages/electron-updater/src/NsisUpdater.ts b/packages/electron-updater/src/NsisUpdater.ts index edc15eb3430..da35670cca4 100644 --- a/packages/electron-updater/src/NsisUpdater.ts +++ b/packages/electron-updater/src/NsisUpdater.ts @@ -82,8 +82,8 @@ export class NsisUpdater extends AppUpdater { }) } - quitAndInstall(): void { - if (this.install(false)) { + quitAndInstall(isSilent: boolean = false): void { + if (this.install(isSilent)) { this.app.quit() } } diff --git a/packages/jsdoc2md.js b/packages/jsdoc2md.js index d81ea7307fb..94bba7e38e5 100644 --- a/packages/jsdoc2md.js +++ b/packages/jsdoc2md.js @@ -17,8 +17,6 @@ async function main() { "!updater/electron-updater-out-electronHttpExecutor.js", "!updater/electron-updater-out-*Updater.js", "!updater/electron-updater-out-*Provider.js", - "updater/electron-updater-out-AppUpdater.js", - "", ], {cwd: source}) const publishOptionsFiles = await globby([ diff --git a/yarn.lock b/yarn.lock index 9ba73341f45..3e7670eca77 100644 --- a/yarn.lock +++ b/yarn.lock @@ -22,9 +22,9 @@ "7zip-bin-mac" "^1.0.1" "7zip-bin-win" "^2.0.2" -"@types/electron@^1.4.37": - version "1.4.37" - resolved "https://registry.yarnpkg.com/@types/electron/-/electron-1.4.37.tgz#cfff6958f224842c1742a6e4873ed7135e5f2ff3" +"@types/electron@^1.4.38": + version "1.4.38" + resolved "https://registry.yarnpkg.com/@types/electron/-/electron-1.4.38.tgz#f3e5e58fdcd5462ee4b5817d33dfdb6700ba2415" dependencies: "@types/node" "*" @@ -45,8 +45,8 @@ resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-0.6.8.tgz#fb38ae420be9c9b679bed3f974201120947b920f" "@types/node@*": - version "7.0.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.18.tgz#cd67f27d3dc0cfb746f0bdd5e086c4c5d55be173" + version "7.0.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.21.tgz#22a890f19b26cff9b6699b493dea1bcee4410da1" "@types/source-map-support@^0.2.28": version "0.2.28" @@ -97,9 +97,9 @@ ajv@^4.9.1: co "^4.6.0" json-stable-stringify "^1.0.1" -ajv@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.1.1.tgz#6d9495b78eec4f2930536b2778ea40aa8645647a" +ajv@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.1.2.tgz#c2be11aff5de51613592913bc820224906da84a1" dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" @@ -271,9 +271,9 @@ asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" -aws-sdk@^2.50.0: - version "2.50.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.50.0.tgz#6b2855741f8efe064f824a3db0bf4f3bc5bde018" +aws-sdk@^2.54.0: + version "2.54.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.54.0.tgz#de97bdc82a975a71ad9f63192c8c75f623992c18" dependencies: buffer "5.0.6" crypto-browserify "1.0.9" @@ -388,13 +388,13 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-jest@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-20.0.1.tgz#9cbe9a15bbe3f1ca1b727dc8e45a4161771d3655" +babel-jest@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-20.0.3.tgz#e4a03b13dc10389e140fc645d09ffc4ced301671" dependencies: babel-core "^6.0.0" babel-plugin-istanbul "^4.0.0" - babel-preset-jest "^20.0.1" + babel-preset-jest "^20.0.3" babel-messages@^6.23.0: version "6.23.0" @@ -414,9 +414,9 @@ babel-plugin-istanbul@^4.0.0: istanbul-lib-instrument "^1.7.1" test-exclude "^4.1.0" -babel-plugin-jest-hoist@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.1.tgz#1b9cc322cff704d3812d1bca8dccd12205eedfd5" +babel-plugin-jest-hoist@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.3.tgz#afedc853bd3f8dc3548ea671fbe69d03cc2c1767" babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" @@ -468,11 +468,11 @@ babel-plugin-transform-strict-mode@^6.8.0: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-preset-jest@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-20.0.1.tgz#8a9e23ce8a0f0c49835de53ed73ecf75dd6daa2e" +babel-preset-jest@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz#cbacaadecb5d689ca1e1de1360ebfc66862c178a" dependencies: - babel-plugin-jest-hoist "^20.0.1" + babel-plugin-jest-hoist "^20.0.3" babel-register@^6.24.1: version "6.24.1" @@ -936,11 +936,11 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -debug@^2.1.1, debug@^2.1.3, debug@^2.2.0, debug@^2.6.1, debug@^2.6.3, debug@^2.6.6: - version "2.6.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.6.tgz#a9fa6fbe9ca43cf1e79f73b75c0189cbb7d6db5a" +debug@^2.1.1, debug@^2.1.3, debug@^2.2.0, debug@^2.6.1, debug@^2.6.3, debug@^2.6.6, debug@^2.6.8: + version "2.6.8" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" dependencies: - ms "0.7.3" + ms "2.0.0" decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: version "1.2.0" @@ -1375,13 +1375,13 @@ glob-parent@^2.0.0: is-glob "^2.0.0" glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.0, glob@^7.1.1, glob@~7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.2" + minimatch "^3.0.4" once "^1.3.0" path-is-absolute "^1.0.0" @@ -1749,13 +1749,13 @@ istanbul-reports@^1.1.0: dependencies: handlebars "^4.0.3" -jest-changed-files@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-20.0.1.tgz#ba9bd42c3fddb1b7c4ae40065199b44a2335e152" +jest-changed-files@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-20.0.3.tgz#9394d5cc65c438406149bef1bf4d52b68e03e3f8" -jest-cli@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-20.0.1.tgz#86ca0bc2e47215ad8e7dc85455c0210f86648502" +jest-cli@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-20.0.3.tgz#fe88ddbb7a9f3a16d0ed55339a0a2424f7f0d361" dependencies: ansi-escapes "^1.4.0" callsites "^2.0.0" @@ -1766,18 +1766,18 @@ jest-cli@^20.0.1: istanbul-lib-coverage "^1.0.1" istanbul-lib-instrument "^1.4.2" istanbul-lib-source-maps "^1.1.0" - jest-changed-files "^20.0.1" - jest-config "^20.0.1" - jest-docblock "^20.0.1" - jest-environment-jsdom "^20.0.1" - jest-haste-map "^20.0.1" - jest-jasmine2 "^20.0.1" - jest-message-util "^20.0.1" - jest-regex-util "^20.0.1" - jest-resolve-dependencies "^20.0.1" - jest-runtime "^20.0.1" - jest-snapshot "^20.0.1" - jest-util "^20.0.1" + jest-changed-files "^20.0.3" + jest-config "^20.0.3" + jest-docblock "^20.0.3" + jest-environment-jsdom "^20.0.3" + jest-haste-map "^20.0.3" + jest-jasmine2 "^20.0.3" + jest-message-util "^20.0.3" + jest-regex-util "^20.0.3" + jest-resolve-dependencies "^20.0.3" + jest-runtime "^20.0.3" + jest-snapshot "^20.0.3" + jest-util "^20.0.3" micromatch "^2.3.11" node-notifier "^5.0.2" pify "^2.3.0" @@ -1788,75 +1788,75 @@ jest-cli@^20.0.1: worker-farm "^1.3.1" yargs "^7.0.2" -jest-config@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-20.0.1.tgz#c6934f585c3e1775c96133efb302f986c3909ad8" +jest-config@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-20.0.3.tgz#a934f27eea764915801cdda26f6f8eec2ac79266" dependencies: chalk "^1.1.3" glob "^7.1.1" - jest-environment-jsdom "^20.0.1" - jest-environment-node "^20.0.1" - jest-jasmine2 "^20.0.1" - jest-matcher-utils "^20.0.1" - jest-regex-util "^20.0.1" - jest-resolve "^20.0.1" - jest-validate "^20.0.1" - pretty-format "^20.0.1" - -jest-diff@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-20.0.1.tgz#2567c80c324243328321386f8871a28ec9d350ac" + jest-environment-jsdom "^20.0.3" + jest-environment-node "^20.0.3" + jest-jasmine2 "^20.0.3" + jest-matcher-utils "^20.0.3" + jest-regex-util "^20.0.3" + jest-resolve "^20.0.3" + jest-validate "^20.0.3" + pretty-format "^20.0.3" + +jest-diff@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-20.0.3.tgz#81f288fd9e675f0fb23c75f1c2b19445fe586617" dependencies: chalk "^1.1.3" diff "^3.2.0" - jest-matcher-utils "^20.0.1" - pretty-format "^20.0.1" + jest-matcher-utils "^20.0.3" + pretty-format "^20.0.3" -jest-docblock@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-20.0.1.tgz#055e0bbcb76798198479901f92d2733bf619f854" +jest-docblock@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-20.0.3.tgz#17bea984342cc33d83c50fbe1545ea0efaa44712" -jest-environment-jsdom@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-20.0.1.tgz#2d29f81368987d387c70ce4f500c6aa560f9b4f7" +jest-environment-jsdom@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-20.0.3.tgz#048a8ac12ee225f7190417713834bb999787de99" dependencies: - jest-mock "^20.0.1" - jest-util "^20.0.1" + jest-mock "^20.0.3" + jest-util "^20.0.3" jsdom "^9.12.0" jest-environment-node-debug@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/jest-environment-node-debug/-/jest-environment-node-debug-2.0.0.tgz#5ef098942fec1b6af5ee4841f4f8a2ff419562f9" -jest-environment-node@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-20.0.1.tgz#75ab5358072ee1efebc54f43474357d7b3d674c7" +jest-environment-node@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-20.0.3.tgz#d488bc4612af2c246e986e8ae7671a099163d403" dependencies: - jest-mock "^20.0.1" - jest-util "^20.0.1" + jest-mock "^20.0.3" + jest-util "^20.0.3" -jest-haste-map@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-20.0.1.tgz#e6ba4db99ab512e7c081a5b0a0af731d0e193d56" +jest-haste-map@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-20.0.3.tgz#6377d537eaf34eb5f75121a691cae3fde82ba971" dependencies: fb-watchman "^2.0.0" graceful-fs "^4.1.11" - jest-docblock "^20.0.1" + jest-docblock "^20.0.3" micromatch "^2.3.11" sane "~1.6.0" worker-farm "^1.3.1" -jest-jasmine2@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-20.0.1.tgz#675772b1fd32ad74e92e8ae8282f8ea71d1de168" +jest-jasmine2@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-20.0.3.tgz#18c4e9d029da7ed1ae727c55300064d1a0542974" dependencies: chalk "^1.1.3" graceful-fs "^4.1.11" - jest-diff "^20.0.1" - jest-matcher-utils "^20.0.1" - jest-matchers "^20.0.1" - jest-message-util "^20.0.1" - jest-snapshot "^20.0.1" + jest-diff "^20.0.3" + jest-matcher-utils "^20.0.3" + jest-matchers "^20.0.3" + jest-message-util "^20.0.3" + jest-snapshot "^20.0.3" once "^1.4.0" p-map "^1.1.1" @@ -1867,103 +1867,103 @@ jest-junit@^1.5.1: mkdirp "^0.5.1" xml "^1.0.1" -jest-matcher-utils@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-20.0.1.tgz#31aef67f59535af3c2271a3a3685db604dbd1622" +jest-matcher-utils@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz#b3a6b8e37ca577803b0832a98b164f44b7815612" dependencies: chalk "^1.1.3" - pretty-format "^20.0.1" + pretty-format "^20.0.3" -jest-matchers@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-matchers/-/jest-matchers-20.0.1.tgz#053b7654ce60129268f39992886e987a5201bb90" +jest-matchers@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-matchers/-/jest-matchers-20.0.3.tgz#ca69db1c32db5a6f707fa5e0401abb55700dfd60" dependencies: - jest-diff "^20.0.1" - jest-matcher-utils "^20.0.1" - jest-message-util "^20.0.1" - jest-regex-util "^20.0.1" + jest-diff "^20.0.3" + jest-matcher-utils "^20.0.3" + jest-message-util "^20.0.3" + jest-regex-util "^20.0.3" -jest-message-util@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-20.0.1.tgz#ac21cb055a6a5786b7f127ac7e705df5ffb1c335" +jest-message-util@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-20.0.3.tgz#6aec2844306fcb0e6e74d5796c1006d96fdd831c" dependencies: chalk "^1.1.3" micromatch "^2.3.11" slash "^1.0.0" -jest-mock@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-20.0.1.tgz#f4cca2e87e441b66fabe4ead6a6d61773ec0773a" +jest-mock@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-20.0.3.tgz#8bc070e90414aa155c11a8d64c869a0d5c71da59" -jest-regex-util@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-20.0.1.tgz#ecbcca8fbe4e217bca7f6f42a9b831d051224dc4" +jest-regex-util@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-20.0.3.tgz#85bbab5d133e44625b19faf8c6aa5122d085d762" -jest-resolve-dependencies@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.1.tgz#38fc012191775b0b277fabebb37aa8282e26846f" +jest-resolve-dependencies@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.3.tgz#6e14a7b717af0f2cb3667c549de40af017b1723a" dependencies: - jest-regex-util "^20.0.1" + jest-regex-util "^20.0.3" -jest-resolve@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-20.0.1.tgz#cace553663f25c703dc977a4ce176e29eda92772" +jest-resolve@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-20.0.3.tgz#375307aa40f78532d40ff8b17d5300b1519f8dd4" dependencies: browser-resolve "^1.11.2" is-builtin-module "^1.0.0" resolve "^1.3.2" -jest-runtime@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-20.0.1.tgz#384f9298b8e8a177870c6d9ad0023db10ddcaedc" +jest-runtime@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-20.0.3.tgz#dddd22bbc429e26e6a96d1acd46ca55714b09252" dependencies: babel-core "^6.0.0" - babel-jest "^20.0.1" + babel-jest "^20.0.3" babel-plugin-istanbul "^4.0.0" chalk "^1.1.3" convert-source-map "^1.4.0" graceful-fs "^4.1.11" - jest-config "^20.0.1" - jest-haste-map "^20.0.1" - jest-regex-util "^20.0.1" - jest-resolve "^20.0.1" - jest-util "^20.0.1" + jest-config "^20.0.3" + jest-haste-map "^20.0.3" + jest-regex-util "^20.0.3" + jest-resolve "^20.0.3" + jest-util "^20.0.3" json-stable-stringify "^1.0.1" micromatch "^2.3.11" strip-bom "3.0.0" yargs "^7.0.2" -jest-snapshot@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-20.0.1.tgz#3704c599705042f20ec7c95ba76a4524c744dfac" +jest-snapshot@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-20.0.3.tgz#5b847e1adb1a4d90852a7f9f125086e187c76566" dependencies: chalk "^1.1.3" - jest-diff "^20.0.1" - jest-matcher-utils "^20.0.1" - jest-util "^20.0.1" + jest-diff "^20.0.3" + jest-matcher-utils "^20.0.3" + jest-util "^20.0.3" natural-compare "^1.4.0" - pretty-format "^20.0.1" + pretty-format "^20.0.3" -jest-util@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-20.0.1.tgz#a3e7afb67110b2c3ac77b82e9a51ca57f4ff72a1" +jest-util@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-20.0.3.tgz#0c07f7d80d82f4e5a67c6f8b9c3fe7f65cfd32ad" dependencies: chalk "^1.1.3" graceful-fs "^4.1.11" - jest-message-util "^20.0.1" - jest-mock "^20.0.1" - jest-validate "^20.0.1" + jest-message-util "^20.0.3" + jest-mock "^20.0.3" + jest-validate "^20.0.3" leven "^2.1.0" mkdirp "^0.5.1" -jest-validate@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-20.0.1.tgz#a236c29e3c29e9b92a1e5da211a732f0238da928" +jest-validate@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-20.0.3.tgz#d0cfd1de4f579f298484925c280f8f1d94ec3cab" dependencies: chalk "^1.1.3" - jest-matcher-utils "^20.0.1" + jest-matcher-utils "^20.0.3" leven "^2.1.0" - pretty-format "^20.0.1" + pretty-format "^20.0.3" jmespath@0.15.0: version "0.15.0" @@ -2121,8 +2121,8 @@ jsprim@^1.2.2: verror "1.3.6" kind-of@^3.0.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.0.tgz#b58abe4d5c044ad33726a8c1525b48cf891bff07" + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" dependencies: is-buffer "^1.1.5" @@ -2352,9 +2352,9 @@ mkpath@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/mkpath/-/mkpath-0.1.0.tgz#7554a6f8d871834cc97b5462b122c4c124d6de91" -ms@0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" natural-compare@^1.4.0: version "1.4.0" @@ -2662,9 +2662,9 @@ pretty-bytes@^1.0.2: get-stdin "^4.0.1" meow "^3.1.0" -pretty-format@^20.0.1: - version "20.0.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-20.0.1.tgz#ba95329771907c189643dd251e244061ff642350" +pretty-format@^20.0.3: + version "20.0.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-20.0.3.tgz#020e350a560a1fe1a98dc3beb6ccffb386de8b14" dependencies: ansi-regex "^2.1.1" ansi-styles "^3.0.0" @@ -3109,10 +3109,10 @@ string_decoder@~0.10.x: resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" string_decoder@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667" + version "1.0.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98" dependencies: - buffer-shims "~1.0.0" + safe-buffer "^5.0.1" stringstream@~0.0.4: version "0.0.5" @@ -3303,9 +3303,9 @@ ts-babel@^3.0.1: fs-extra-p "^4.3.0" source-map-support "^0.4.15" -ts-jsdoc@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/ts-jsdoc/-/ts-jsdoc-1.2.2.tgz#3cf1e32045e45c758844d5aad2aeb85feef45f37" +ts-jsdoc@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/ts-jsdoc/-/ts-jsdoc-1.2.3.tgz#a550daa3f59f62f94ffde9d3e70763e5588238f4" dependencies: bluebird-lst "^1.0.2" chalk "^1.1.3" @@ -3314,8 +3314,8 @@ ts-jsdoc@^1.2.2: source-map-support "^0.4.15" tslib@^1.6.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.7.0.tgz#6e8366695f72961252b35167b0dd4fbeeafba491" + version "1.7.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.7.1.tgz#bc8004164691923a79fe8378bbeb3da2017538ec" tslint@^5.2.0: version "5.2.0" @@ -3361,12 +3361,12 @@ typescript@~2.1.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.1.6.tgz#40c7e6e9e5da7961b7718b55505f9cac9487a607" typical@^2.4.2, typical@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.0.tgz#89d51554ab139848a65bcc2c8772f8fb450c40ed" + version "2.6.1" + resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d" uglify-js@^2.6: - version "2.8.24" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.24.tgz#48eb5175cf32e22ec11a47e638d7c8b4e0faf2dd" + version "2.8.27" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.27.tgz#47787f912b0f242e5b984343be8e35e95f694c9c" dependencies: source-map "~0.5.1" yargs "~3.10.0"