diff --git a/.circleci/config.yml b/.circleci/config.yml
index 9db6fad4a7f..cb9ac5d59d8 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -3,7 +3,7 @@ version: 2
jobs:
build:
docker:
- - image: circleci/node:10.9.0
+ - image: circleci/node:10.10.0
steps:
- checkout
- restore_cache:
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
index 848bebaea03..6602ee22e92 100644
--- a/.idea/codeStyles/Project.xml
+++ b/.idea/codeStyles/Project.xml
@@ -24,9 +24,6 @@
-
-
-
diff --git a/docker/10/Dockerfile b/docker/10/Dockerfile
index 9f8c008c00a..15fbcb70b6a 100644
--- a/docker/10/Dockerfile
+++ b/docker/10/Dockerfile
@@ -1,6 +1,6 @@
FROM electronuserland/builder:base
-ENV NODE_VERSION 10.9.0
+ENV NODE_VERSION 10.10.0
# this package is used for snapcraft and we should not clear apt list - to avoid apt-get update during snap build
RUN apt-get -qq update && \
diff --git a/package.json b/package.json
index b492c680300..b5a40211417 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,7 @@
"dependencies": {
"7zip-bin": "~4.0.2",
"@types/is-ci": "^1.1.0",
- "app-builder-bin": "2.1.2",
+ "app-builder-bin": "2.1.3",
"archiver": "^3.0.0",
"async-exit-hook": "^2.0.1",
"bluebird-lst": "^1.0.5",
@@ -66,18 +66,33 @@
"temp-file": "^3.1.3",
"tunnel-agent": "^0.6.0",
"update-notifier": "^2.5.0",
- "yargs": "^12.0.1"
+ "yargs": "^12.0.2"
},
"devDependencies": {
"@babel/core": "^7.0.0",
+ "@babel/plugin-proposal-class-properties": "^7.0.0",
+ "@babel/plugin-proposal-decorators": "^7.0.0",
+ "@babel/plugin-proposal-do-expressions": "^7.0.0",
+ "@babel/plugin-proposal-export-default-from": "^7.0.0",
+ "@babel/plugin-proposal-export-namespace-from": "^7.0.0",
+ "@babel/plugin-proposal-function-bind": "^7.0.0",
+ "@babel/plugin-proposal-function-sent": "^7.0.0",
+ "@babel/plugin-proposal-json-strings": "^7.0.0",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
+ "@babel/plugin-proposal-numeric-separator": "^7.0.0",
+ "@babel/plugin-proposal-optional-chaining": "^7.0.0",
+ "@babel/plugin-proposal-pipeline-operator": "^7.0.0",
+ "@babel/plugin-proposal-throw-expressions": "^7.0.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.0.0",
+ "@babel/plugin-syntax-import-meta": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/preset-react": "^7.0.0",
- "@babel/preset-stage-0": "^7.0.0",
"@types/debug": "^0.0.30",
"@types/ejs": "^2.6.0",
"@types/electron-is-dev": "^0.3.0",
"@types/ini": "^1.3.29",
- "@types/jest": "^23.3.1",
+ "@types/jest": "^23.3.2",
"@types/js-yaml": "^3.11.2",
"@types/lodash.isequal": "^4.5.3",
"@types/node-emoji": "^1.8.0",
@@ -86,6 +101,7 @@
"@types/semver": "^5.5.0",
"@types/source-map-support": "^0.4.1",
"@types/stat-mode": "^0.2.0",
+ "babel-core": "^7.0.0-bridge.0",
"babel-preset-ts-node6-bluebird": "^2.0.11",
"convert-source-map": "^1.6.0",
"cross-env": "^5.2.0",
diff --git a/packages/app-builder-lib/package.json b/packages/app-builder-lib/package.json
index 7bd2228f59b..e9107454c79 100644
--- a/packages/app-builder-lib/package.json
+++ b/packages/app-builder-lib/package.json
@@ -42,7 +42,7 @@
"homepage": "https://github.com/electron-userland/electron-builder",
"dependencies": {
"7zip-bin": "~4.0.2",
- "app-builder-bin": "2.1.2",
+ "app-builder-bin": "2.1.3",
"async-exit-hook": "^2.0.1",
"bluebird-lst": "^1.0.5",
"chromium-pickle-js": "^0.2.0",
diff --git a/packages/app-builder-lib/src/ProtonFramework.ts b/packages/app-builder-lib/src/ProtonFramework.ts
index b10c7947697..75980a906a0 100644
--- a/packages/app-builder-lib/src/ProtonFramework.ts
+++ b/packages/app-builder-lib/src/ProtonFramework.ts
@@ -40,9 +40,33 @@ class ProtonFramework implements Framework {
// out test dir can be located outside of electron-builder node_modules and babel cannot resolve string names of preset
babelOptions.presets = [
[require("@babel/preset-env").default, {targets: {node: this.version}}],
- [require("@babel/preset-stage-0"), {decoratorsLegacy: true}],
require("@babel/preset-react"),
]
+ babelOptions.plugins = [
+ // stage 0
+ require("@babel/plugin-proposal-function-bind").default,
+
+ // stage 1
+ require("@babel/plugin-proposal-export-default-from").default,
+ require("@babel/plugin-proposal-logical-assignment-operators").default,
+ [require("@babel/plugin-proposal-optional-chaining").default, {loose: false}],
+ [require("@babel/plugin-proposal-pipeline-operator").default, {proposal: "minimal"}],
+ [require("@babel/plugin-proposal-nullish-coalescing-operator").default, {loose: false}],
+ require("@babel/plugin-proposal-do-expressions").default,
+
+ // stage 2
+ [require("@babel/plugin-proposal-decorators").default, {legacy: true}],
+ require("@babel/plugin-proposal-function-sent").default,
+ require("@babel/plugin-proposal-export-namespace-from").default,
+ require("@babel/plugin-proposal-numeric-separator").default,
+ require("@babel/plugin-proposal-throw-expressions").default,
+
+ // stage 3
+ require("@babel/plugin-syntax-dynamic-import").default,
+ require("@babel/plugin-syntax-import-meta").default,
+ [require("@babel/plugin-proposal-class-properties").default, {loose: false}],
+ require("@babel/plugin-proposal-json-strings").default,
+ ]
babelOptions.babelrc = false
}
else {
diff --git a/packages/app-builder-lib/src/targets/ArchiveTarget.ts b/packages/app-builder-lib/src/targets/ArchiveTarget.ts
index 664a97315cd..58cde144cdb 100644
--- a/packages/app-builder-lib/src/targets/ArchiveTarget.ts
+++ b/packages/app-builder-lib/src/targets/ArchiveTarget.ts
@@ -4,6 +4,7 @@ import { Platform, Target, TargetSpecificOptions } from "../core"
import { copyFiles, getFileMatchers } from "../fileMatcher"
import { PlatformPackager } from "../platformPackager"
import { archive, tar } from "./archive"
+import { appendBlockmap } from "./differentialUpdateInfoBuilder"
export class ArchiveTarget extends Target {
readonly options: TargetSpecificOptions = (this.packager.config as any)[this.name]
@@ -31,6 +32,7 @@ export class ArchiveTarget extends Target {
const artifactPath = path.join(this.outDir, artifactName)
this.logBuilding(`${isMac ? "macOS " : ""}${format}`, artifactPath, arch)
+ let updateInfo: any = null
if (format.startsWith("tar.")) {
await tar(packager.compression, format, artifactPath, appOutDir, isMac, packager.info.tempDirManager)
}
@@ -54,9 +56,14 @@ export class ArchiveTarget extends Target {
withoutDir,
}
await archive(format, artifactPath, dirToArchive, archiveOptions)
+
+ if (this.isWriteUpdateInfo && format === "zip") {
+ updateInfo = await appendBlockmap(artifactPath)
+ }
}
packager.info.dispatchArtifactCreated({
+ updateInfo,
file: artifactPath,
// tslint:disable-next-line:no-invalid-template-strings
safeArtifactName: packager.computeSafeArtifactName(artifactName, format, arch, false, defaultPattern.replace("${productName}", "${name}")),
diff --git a/packages/app-builder-lib/src/targets/nsis/NsisTarget.ts b/packages/app-builder-lib/src/targets/nsis/NsisTarget.ts
index 72d448a4eb5..d2326d64b7d 100644
--- a/packages/app-builder-lib/src/targets/nsis/NsisTarget.ts
+++ b/packages/app-builder-lib/src/targets/nsis/NsisTarget.ts
@@ -96,7 +96,6 @@ export class NsisTarget extends Target {
const data = await appendBlockmap(archiveFile)
return {
...data,
- size: data.size!!,
path: archiveFile,
}
}
diff --git a/packages/builder-util/package.json b/packages/builder-util/package.json
index 75b71fec59f..b8da83dc366 100644
--- a/packages/builder-util/package.json
+++ b/packages/builder-util/package.json
@@ -11,7 +11,7 @@
"out"
],
"dependencies": {
- "app-builder-bin": "2.1.2",
+ "app-builder-bin": "2.1.3",
"temp-file": "^3.1.3",
"fs-extra-p": "^4.6.1",
"is-ci": "^1.2.0",
diff --git a/packages/electron-builder/package.json b/packages/electron-builder/package.json
index 13eff72814d..12f340b86d0 100644
--- a/packages/electron-builder/package.json
+++ b/packages/electron-builder/package.json
@@ -55,7 +55,7 @@
"read-config-file": "3.1.2",
"sanitize-filename": "^1.6.1",
"update-notifier": "^2.5.0",
- "yargs": "^12.0.1",
+ "yargs": "^12.0.2",
"lazy-val": "^1.0.3",
"app-builder-lib": "0.0.0-semantic-release",
"dmg-builder": "0.0.0-semantic-release"
diff --git a/packages/electron-updater/src/AppUpdater.ts b/packages/electron-updater/src/AppUpdater.ts
index b265b54f3cc..36c4f20a8e3 100644
--- a/packages/electron-updater/src/AppUpdater.ts
+++ b/packages/electron-updater/src/AppUpdater.ts
@@ -13,7 +13,7 @@ import "source-map-support/register"
import { DownloadedUpdateHelper } from "./DownloadedUpdateHelper"
import { ElectronHttpExecutor } from "./electronHttpExecutor"
import { GenericProvider } from "./providers/GenericProvider"
-import { DOWNLOAD_PROGRESS, Logger, Provider, ResolvedUpdateFileInfo, UPDATE_DOWNLOADED, UpdateCheckResult, UpdaterSignal } from "./main"
+import { DOWNLOAD_PROGRESS, Logger, Provider, ResolvedUpdateFileInfo, UpdateCheckResult, UpdaterSignal } from "./main"
import { createClient, isUrlProbablySupportMultiRangeRequests } from "./providerFactory"
export abstract class AppUpdater extends EventEmitter {
@@ -526,7 +526,6 @@ export abstract class AppUpdater extends EventEmitter {
await this.downloadedUpdateHelper.cacheUpdateInfo(updateFileName)
}
- this.emit(UPDATE_DOWNLOADED, updateInfo)
await taskOptions.done!!(updateFile)
return packageFile == null ? [updateFile] : [updateFile, packageFile]
}
diff --git a/packages/electron-updater/src/BaseUpdater.ts b/packages/electron-updater/src/BaseUpdater.ts
index 96a33493ab2..2686c41f96e 100644
--- a/packages/electron-updater/src/BaseUpdater.ts
+++ b/packages/electron-updater/src/BaseUpdater.ts
@@ -1,5 +1,6 @@
import { AllPublishOptions } from "builder-util-runtime"
import { AppUpdater, DownloadExecutorTask } from "./AppUpdater"
+import { UPDATE_DOWNLOADED } from "./main"
export abstract class BaseUpdater extends AppUpdater {
protected quitAndInstallCalled = false
@@ -28,6 +29,7 @@ export abstract class BaseUpdater extends AppUpdater {
return super.executeDownload({
...taskOptions,
done: async () => {
+ this.emit(UPDATE_DOWNLOADED, taskOptions.downloadUpdateOptions.updateInfo)
this.addQuitHandler()
}
})
diff --git a/packages/electron-updater/src/MacUpdater.ts b/packages/electron-updater/src/MacUpdater.ts
index a3a3d7eb0a0..b535277b1f5 100644
--- a/packages/electron-updater/src/MacUpdater.ts
+++ b/packages/electron-updater/src/MacUpdater.ts
@@ -1,15 +1,17 @@
-import { AllPublishOptions, CancellationToken, configureRequestOptionsFromUrl, DigestTransform, newError, RequestHeaders, safeStringifyJson } from "builder-util-runtime"
-import { createServer, IncomingMessage, OutgoingHttpHeaders, ServerResponse } from "http"
+import { AllPublishOptions, newError, safeStringifyJson, UpdateInfo } from "builder-util-runtime"
+import { createReadStream, stat } from "fs-extra-p"
+import { createServer, IncomingMessage, ServerResponse } from "http"
import { AddressInfo } from "net"
import { AppUpdater, DownloadUpdateOptions } from "./AppUpdater"
-import { DOWNLOAD_PROGRESS } from "./main"
+import { UPDATE_DOWNLOADED } from "./main"
import { findFile } from "./providers/Provider"
-import { createReadStream, stat } from "fs-extra-p"
import AutoUpdater = Electron.AutoUpdater
export class MacUpdater extends AppUpdater {
private readonly nativeUpdater: AutoUpdater = require("electron").autoUpdater
+ private updateInfoForPendingUpdateDownloadedEvent: UpdateInfo | null = null
+
constructor(options?: AllPublishOptions) {
super(options)
@@ -17,9 +19,16 @@ export class MacUpdater extends AppUpdater {
this._logger.warn(it)
this.emit("error", it)
})
+ this.nativeUpdater.on("update-downloaded", () => {
+ const updateInfo = this.updateInfoForPendingUpdateDownloadedEvent
+ this.updateInfoForPendingUpdateDownloadedEvent = null
+ this.emit(UPDATE_DOWNLOADED, updateInfo)
+ })
}
protected async doDownloadUpdate(downloadUpdateOptions: DownloadUpdateOptions): Promise> {
+ this.updateInfoForPendingUpdateDownloadedEvent = null
+
const files = (await this.provider).resolveFiles(downloadUpdateOptions.updateInfo)
const zipFileInfo = findFile(files, "zip", ["pkg", "dmg"])
if (zipFileInfo == null) {
@@ -44,6 +53,7 @@ export class MacUpdater extends AppUpdater {
return this.httpExecutor.download(zipFileInfo.url.href, destinationFile, downloadOptions)
},
done: async updateFile => {
+ this.updateInfoForPendingUpdateDownloadedEvent = downloadUpdateOptions.updateInfo
let updateFileSize = zipFileInfo.info.size
if (updateFileSize == null) {
updateFileSize = (await stat(updateFile)).size
@@ -109,42 +119,6 @@ export class MacUpdater extends AppUpdater {
})
}
- private doProxyUpdateFile(nativeResponse: ServerResponse, url: string, headers: OutgoingHttpHeaders, sha512: string | null, cancellationToken: CancellationToken, errorHandler: (error: Error) => void) {
- const downloadRequest = this.httpExecutor.doRequest(configureRequestOptionsFromUrl(url, {headers}), downloadResponse => {
- const nativeHeaders: RequestHeaders = {"Content-Type": "application/zip"}
- const streams: Array = []
- const downloadListenerCount = this.listenerCount(DOWNLOAD_PROGRESS)
- this._logger.info(`${DOWNLOAD_PROGRESS} listener count: ${downloadListenerCount}`)
- nativeResponse.writeHead(200, nativeHeaders)
-
- // for mac only sha512 is produced (sha256 is published for windows only to preserve backward compatibility)
- if (sha512 != null) {
- // "hex" to easy migrate to new base64 encoded hash (we already produces latest-mac.yml with hex encoded hash)
- streams.push(new DigestTransform(sha512, "sha512", sha512.length === 128 && !sha512.includes("+") && !sha512.includes("Z") && !sha512.includes("=") ? "hex" : "base64"))
- }
-
- streams.push(nativeResponse)
-
- let lastStream = downloadResponse
- for (const stream of streams) {
- stream.on("error", errorHandler)
- lastStream = lastStream.pipe(stream)
- }
- })
-
- downloadRequest.on("redirect", (statusCode: number, method: string, redirectUrl: string) => {
- if (headers.authorization != null && (headers!!.authorization as string).startsWith("token")) {
- const parsedNewUrl = new URL(redirectUrl)
- if (parsedNewUrl.hostname.endsWith(".amazonaws.com")) {
- delete headers.authorization
- }
- }
- this.doProxyUpdateFile(nativeResponse, redirectUrl, headers, sha512, cancellationToken, errorHandler)
- })
- downloadRequest.on("error", errorHandler)
- downloadRequest.end()
- }
-
quitAndInstall(): void {
this.nativeUpdater.quitAndInstall()
}
diff --git a/test/out/__snapshots__/PublishManagerTest.js.snap b/test/out/__snapshots__/PublishManagerTest.js.snap
index 6ffc1a00f7e..e906ad8f905 100644
--- a/test/out/__snapshots__/PublishManagerTest.js.snap
+++ b/test/out/__snapshots__/PublishManagerTest.js.snap
@@ -19,7 +19,9 @@ Object {
"fileContent": Object {
"files": Array [
Object {
+ "blockMapSize": "@blockMapSize",
"sha512": "@sha512",
+ "size": "@size",
"url": "TestApp-1.1.0-mac.zip",
},
],
@@ -34,7 +36,9 @@ Object {
"fileContent": Object {
"files": Array [
Object {
+ "blockMapSize": "@blockMapSize",
"sha512": "@sha512",
+ "size": "@size",
"url": "TestApp-1.1.0-mac.zip",
},
],
@@ -49,7 +53,9 @@ Object {
"fileContent": Object {
"files": Array [
Object {
+ "blockMapSize": "@blockMapSize",
"sha512": "@sha512",
+ "size": "@size",
"url": "TestApp-1.1.0-mac.zip",
},
],
@@ -64,7 +70,9 @@ Object {
"fileContent": Object {
"files": Array [
Object {
+ "blockMapSize": "@blockMapSize",
"sha512": "@sha512",
+ "size": "@size",
"url": "TestApp-1.1.0-mac.zip",
},
],
@@ -79,7 +87,9 @@ Object {
"fileContent": Object {
"files": Array [
Object {
+ "blockMapSize": "@blockMapSize",
"sha512": "@sha512",
+ "size": "@size",
"url": "TestApp-1.1.0-mac.zip",
},
],
@@ -94,7 +104,9 @@ Object {
"fileContent": Object {
"files": Array [
Object {
+ "blockMapSize": "@blockMapSize",
"sha512": "@sha512",
+ "size": "@size",
"url": "TestApp-1.1.0-mac.zip",
},
],
@@ -109,7 +121,9 @@ Object {
"fileContent": Object {
"files": Array [
Object {
+ "blockMapSize": "@blockMapSize",
"sha512": "@sha512",
+ "size": "@size",
"url": "TestApp-1.1.0-mac.zip",
},
],
@@ -123,6 +137,11 @@ Object {
"arch": "x64",
"file": "Test App ßW-1.1.0-mac.zip",
"safeArtifactName": "TestApp-1.1.0-mac.zip",
+ "updateInfo": Object {
+ "blockMapSize": "@blockMapSize",
+ "sha512": "@sha512",
+ "size": "@size",
+ },
},
],
}
@@ -190,7 +209,9 @@ Object {
"fileContent": Object {
"files": Array [
Object {
+ "blockMapSize": "@blockMapSize",
"sha512": "@sha512",
+ "size": "@size",
"url": "Test App ßW_1.1.0_mac.zip",
},
],
@@ -204,6 +225,11 @@ Object {
"arch": "x64",
"file": "Test App ßW_1.1.0_mac.zip",
"safeArtifactName": "TestApp-1.1.0-mac.zip",
+ "updateInfo": Object {
+ "blockMapSize": "@blockMapSize",
+ "sha512": "@sha512",
+ "size": "@size",
+ },
},
],
}
@@ -244,7 +270,9 @@ Object {
"fileContent": Object {
"files": Array [
Object {
+ "blockMapSize": "@blockMapSize",
"sha512": "@sha512",
+ "size": "@size",
"url": "Test App ßW-1.1.0-mac.zip",
},
],
@@ -258,6 +286,11 @@ Object {
"arch": "x64",
"file": "Test App ßW-1.1.0-mac.zip",
"safeArtifactName": "TestApp-1.1.0-mac.zip",
+ "updateInfo": Object {
+ "blockMapSize": "@blockMapSize",
+ "sha512": "@sha512",
+ "size": "@size",
+ },
},
],
}
diff --git a/test/out/linux/__snapshots__/snapTest.js.snap b/test/out/linux/__snapshots__/snapTest.js.snap
index 4ab5b1f0940..1fe0be70a36 100644
--- a/test/out/linux/__snapshots__/snapTest.js.snap
+++ b/test/out/linux/__snapshots__/snapTest.js.snap
@@ -212,11 +212,6 @@ Object {
"sep": Object {
"adapter": "none",
"command": "command.sh",
- "environment": Object {
- "LD_LIBRARY_PATH": "$SNAP_LIBRARY_PATH:$SNAP/usr/lib/x86_64-linux-gnu:$SNAP/usr/lib/x86_64-linux-gnu/pulseaudio:$SNAP/usr/lib/x86_64-linux-gnu/mesa-egl:$SNAP/lib:$SNAP/usr/lib:$SNAP/lib/x86_64-linux-gnu:$SNAP/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH:$SNAP/lib:$SNAP/usr/lib:$SNAP/lib/x86_64-linux-gnu:$SNAP/usr/lib/x86_64-linux-gnu",
- "PATH": "$SNAP/usr/sbin:$SNAP/usr/bin:$SNAP/sbin:$SNAP/bin:$PATH",
- "TMPDIR": "$XDG_RUNTIME_DIR",
- },
"plugs": Array [
"desktop",
"desktop-legacy",
@@ -295,11 +290,6 @@ Object {
"sep": Object {
"adapter": "none",
"command": "command.sh",
- "environment": Object {
- "LD_LIBRARY_PATH": "$SNAP_LIBRARY_PATH:$SNAP/usr/lib/x86_64-linux-gnu:$SNAP/usr/lib/x86_64-linux-gnu/pulseaudio:$SNAP/usr/lib/x86_64-linux-gnu/mesa-egl:$SNAP/lib:$SNAP/usr/lib:$SNAP/lib/x86_64-linux-gnu:$SNAP/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH:$SNAP/lib:$SNAP/usr/lib:$SNAP/lib/x86_64-linux-gnu:$SNAP/usr/lib/x86_64-linux-gnu",
- "PATH": "$SNAP/usr/sbin:$SNAP/usr/bin:$SNAP/sbin:$SNAP/bin:$PATH",
- "TMPDIR": "$XDG_RUNTIME_DIR",
- },
"plugs": Array [
"desktop",
"desktop-legacy",
@@ -380,11 +370,6 @@ Object {
"sep": Object {
"adapter": "none",
"command": "command.sh",
- "environment": Object {
- "LD_LIBRARY_PATH": "$SNAP_LIBRARY_PATH:$SNAP/usr/lib/x86_64-linux-gnu:$SNAP/usr/lib/x86_64-linux-gnu/pulseaudio:$SNAP/usr/lib/x86_64-linux-gnu/mesa-egl:$SNAP/lib:$SNAP/usr/lib:$SNAP/lib/x86_64-linux-gnu:$SNAP/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH:$SNAP/lib:$SNAP/usr/lib:$SNAP/lib/x86_64-linux-gnu:$SNAP/usr/lib/x86_64-linux-gnu",
- "PATH": "$SNAP/usr/sbin:$SNAP/usr/bin:$SNAP/sbin:$SNAP/bin:$PATH",
- "TMPDIR": "$XDG_RUNTIME_DIR",
- },
"plugs": Array [
"custom",
"desktop",
@@ -465,11 +450,6 @@ Object {
"sep": Object {
"adapter": "none",
"command": "command.sh",
- "environment": Object {
- "LD_LIBRARY_PATH": "$SNAP_LIBRARY_PATH:$SNAP/usr/lib/x86_64-linux-gnu:$SNAP/usr/lib/x86_64-linux-gnu/pulseaudio:$SNAP/usr/lib/x86_64-linux-gnu/mesa-egl:$SNAP/lib:$SNAP/usr/lib:$SNAP/lib/x86_64-linux-gnu:$SNAP/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH:$SNAP/lib:$SNAP/usr/lib:$SNAP/lib/x86_64-linux-gnu:$SNAP/usr/lib/x86_64-linux-gnu",
- "PATH": "$SNAP/usr/sbin:$SNAP/usr/bin:$SNAP/sbin:$SNAP/bin:$PATH",
- "TMPDIR": "$XDG_RUNTIME_DIR",
- },
"plugs": Array [
"foo1",
"desktop",
diff --git a/test/out/mac/__snapshots__/dmgTest.js.snap b/test/out/mac/__snapshots__/dmgTest.js.snap
index d026e74196f..2ca8a2af12c 100644
--- a/test/out/mac/__snapshots__/dmgTest.js.snap
+++ b/test/out/mac/__snapshots__/dmgTest.js.snap
@@ -50,6 +50,11 @@ Object {
"arch": "x64",
"file": "Test App ßW-1.1.0-mac.zip",
"safeArtifactName": "TestApp-1.1.0-mac.zip",
+ "updateInfo": Object {
+ "blockMapSize": "@blockMapSize",
+ "sha512": "@sha512",
+ "size": "@size",
+ },
},
],
}
@@ -83,6 +88,11 @@ Object {
"arch": "x64",
"file": "Test App ßW-1.1.0-mac.zip",
"safeArtifactName": "TestApp-1.1.0-mac.zip",
+ "updateInfo": Object {
+ "blockMapSize": "@blockMapSize",
+ "sha512": "@sha512",
+ "size": "@size",
+ },
},
],
}
@@ -2432,6 +2442,11 @@ Object {
Object {
"arch": "x64",
"file": "NoApplicationsLink-1.1.0-mac.zip",
+ "updateInfo": Object {
+ "blockMapSize": "@blockMapSize",
+ "sha512": "@sha512",
+ "size": "@size",
+ },
},
],
}
@@ -2566,6 +2581,11 @@ Object {
"arch": "x64",
"file": "Test App ßW-1.1.0-mac.zip",
"safeArtifactName": "TestApp-1.1.0-mac.zip",
+ "updateInfo": Object {
+ "blockMapSize": "@blockMapSize",
+ "sha512": "@sha512",
+ "size": "@size",
+ },
},
],
}
diff --git a/test/out/mac/__snapshots__/macArchiveTest.js.snap b/test/out/mac/__snapshots__/macArchiveTest.js.snap
index d84c1d4341e..ee0686f8ae7 100644
--- a/test/out/mac/__snapshots__/macArchiveTest.js.snap
+++ b/test/out/mac/__snapshots__/macArchiveTest.js.snap
@@ -40,6 +40,11 @@ Object {
"arch": "x64",
"file": "Test App ßW-1.1.0-mac.zip",
"safeArtifactName": "TestApp-1.1.0-mac.zip",
+ "updateInfo": Object {
+ "blockMapSize": "@blockMapSize",
+ "sha512": "@sha512",
+ "size": "@size",
+ },
},
],
}
@@ -75,6 +80,11 @@ Object {
"arch": "x64",
"file": "Test App ßW-1.1.0-mac.zip",
"safeArtifactName": "TestApp-1.1.0-mac.zip",
+ "updateInfo": Object {
+ "blockMapSize": "@blockMapSize",
+ "sha512": "@sha512",
+ "size": "@size",
+ },
},
],
}
diff --git a/test/out/mac/__snapshots__/macPackagerTest.js.snap b/test/out/mac/__snapshots__/macPackagerTest.js.snap
index 23836ab85c8..c7adb2ef42e 100644
--- a/test/out/mac/__snapshots__/macPackagerTest.js.snap
+++ b/test/out/mac/__snapshots__/macPackagerTest.js.snap
@@ -27,7 +27,9 @@ Object {
"fileContent": Object {
"files": Array [
Object {
+ "blockMapSize": "@blockMapSize",
"sha512": "@sha512",
+ "size": "@size",
"url": "Test App ßW-1.1.0-mac.zip",
},
Object {
@@ -46,6 +48,11 @@ Object {
"arch": "x64",
"file": "Test App ßW-1.1.0-mac.zip",
"safeArtifactName": "TestApp-1.1.0-mac.zip",
+ "updateInfo": Object {
+ "blockMapSize": "@blockMapSize",
+ "sha512": "@sha512",
+ "size": "@size",
+ },
},
],
}
@@ -123,7 +130,9 @@ Object {
"fileContent": Object {
"files": Array [
Object {
+ "blockMapSize": "@blockMapSize",
"sha512": "@sha512",
+ "size": "@size",
"url": "TestApp-1.1.0-mac.zip",
},
Object {
@@ -141,6 +150,11 @@ Object {
Object {
"arch": "x64",
"file": "TestApp-1.1.0-mac.zip",
+ "updateInfo": Object {
+ "blockMapSize": "@blockMapSize",
+ "sha512": "@sha512",
+ "size": "@size",
+ },
},
],
}
diff --git a/test/out/updater/__snapshots__/differentialUpdateTest.js.snap b/test/out/updater/__snapshots__/differentialUpdateTest.js.snap
index edaa5212c5d..f5d61ee5125 100644
--- a/test/out/updater/__snapshots__/differentialUpdateTest.js.snap
+++ b/test/out/updater/__snapshots__/differentialUpdateTest.js.snap
@@ -201,7 +201,9 @@ Object {
"fileContent": Object {
"files": Array [
Object {
+ "blockMapSize": "@blockMapSize",
"sha512": "@sha512",
+ "size": "@size",
"url": "Test App ßW-1.0.0-mac.zip",
},
Object {
@@ -220,6 +222,11 @@ Object {
"arch": "x64",
"file": "Test App ßW-1.0.0-mac.zip",
"safeArtifactName": "TestApp-1.0.0-mac.zip",
+ "updateInfo": Object {
+ "blockMapSize": "@blockMapSize",
+ "sha512": "@sha512",
+ "size": "@size",
+ },
},
],
}
diff --git a/test/src/helpers/checkDeps.ts b/test/src/helpers/checkDeps.ts
index 1915da35632..c39cc1d9305 100644
--- a/test/src/helpers/checkDeps.ts
+++ b/test/src/helpers/checkDeps.ts
@@ -14,10 +14,6 @@ const knownMissedDependencies = new Set([
"babel-preset-env",
"babel-preset-stage-0",
"babel-preset-react",
- "@babel/preset-react",
- "@babel/preset-stage-0",
- "@babel/preset-env",
- "@babel/core",
])
const rootDir = path.join(__dirname, "../../..")
@@ -59,7 +55,7 @@ async function check(projectDir: string, devPackageData: any): Promise
for (const name of Object.keys(result.missing)) {
if (name === "electron-builder-squirrel-windows" || name === "electron-webpack" ||
- (packageName === "app-builder-lib" && (name === "dmg-builder" || knownMissedDependencies.has(name)))) {
+ (packageName === "app-builder-lib" && (name === "dmg-builder" || knownMissedDependencies.has(name) || name.startsWith("@babel/")))) {
delete (result.missing as any)[name]
}
}
diff --git a/test/src/helpers/codeSignData.ts b/test/src/helpers/codeSignData.ts
index 01d4d3d009c..51f374933a3 100644
--- a/test/src/helpers/codeSignData.ts
+++ b/test/src/helpers/codeSignData.ts
@@ -1,4 +1,4 @@
-export const CSC_LINK = "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\n"
+export const CSC_LINK = "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\n"
// noinspection SpellCheckingInspection
export const WIN_CSC_LINK = "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\n"
diff --git a/yarn.lock b/yarn.lock
index 70b1dba4be9..1df31f5690b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -226,6 +226,60 @@
"@babel/helper-remap-async-to-generator" "^7.0.0"
"@babel/plugin-syntax-async-generators" "^7.0.0"
+"@babel/plugin-proposal-class-properties@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0.tgz#a16b5c076ba6c3d87df64d2480a380e979543731"
+ dependencies:
+ "@babel/helper-function-name" "^7.0.0"
+ "@babel/helper-member-expression-to-functions" "^7.0.0"
+ "@babel/helper-optimise-call-expression" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-replace-supers" "^7.0.0"
+ "@babel/plugin-syntax-class-properties" "^7.0.0"
+
+"@babel/plugin-proposal-decorators@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.0.0.tgz#33e7e683ca9f8ec3f72104ed11096839d48df502"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-decorators" "^7.0.0"
+
+"@babel/plugin-proposal-do-expressions@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.0.0.tgz#4fe2f29c56a4b18d292caab0dfcb8119c89cc8d8"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-do-expressions" "^7.0.0"
+
+"@babel/plugin-proposal-export-default-from@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.0.0.tgz#a057bbfd4649facfe39f33a537e18554bdd2b5da"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-export-default-from" "^7.0.0"
+
+"@babel/plugin-proposal-export-namespace-from@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.0.0.tgz#ce847cc62c3626547107a1b835592b8ee494af51"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-export-namespace-from" "^7.0.0"
+
+"@babel/plugin-proposal-function-bind@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.0.0.tgz#030bb3dd7affb5a0df8326cdd3e9f6776e95a225"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-function-bind" "^7.0.0"
+
+"@babel/plugin-proposal-function-sent@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.0.0.tgz#61ce7f009f4e80cea70b96ac6a91b433e035bb6f"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-wrap-function" "^7.0.0"
+ "@babel/plugin-syntax-function-sent" "^7.0.0"
+
"@babel/plugin-proposal-json-strings@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz#3b4d7b5cf51e1f2e70f52351d28d44fc2970d01e"
@@ -233,6 +287,27 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-json-strings" "^7.0.0"
+"@babel/plugin-proposal-logical-assignment-operators@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.0.0.tgz#f2a290bcb266e8c9ddae08c6bae5ad3df57c362d"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.0.0"
+
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.0.0.tgz#b72ec31adf612d062dc0348316246127a451e45f"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0"
+
+"@babel/plugin-proposal-numeric-separator@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.0.0.tgz#08aa02ce62481a84bfd0d9ce7a718adaaaa773dd"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-numeric-separator" "^7.0.0"
+
"@babel/plugin-proposal-object-rest-spread@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz#9a17b547f64d0676b6c9cecd4edf74a82ab85e7e"
@@ -247,6 +322,27 @@
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-optional-catch-binding" "^7.0.0"
+"@babel/plugin-proposal-optional-chaining@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.0.0.tgz#3d344d4152253379b8758e7d041148e8787c4a9d"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-optional-chaining" "^7.0.0"
+
+"@babel/plugin-proposal-pipeline-operator@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.0.0.tgz#ab60169a5c4a598292de59a14f9810d4e47b00b8"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-pipeline-operator" "^7.0.0"
+
+"@babel/plugin-proposal-throw-expressions@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.0.0.tgz#fd44563c742c5e0df764b1a41ab86b22dde5a5b7"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-throw-expressions" "^7.0.0"
+
"@babel/plugin-proposal-unicode-property-regex@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz#498b39cd72536cd7c4b26177d030226eba08cd33"
@@ -261,6 +357,60 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
+"@babel/plugin-syntax-class-properties@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0.tgz#e051af5d300cbfbcec4a7476e37a803489881634"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-decorators@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.0.0.tgz#7e151f744e1de3ec3601f6a4c69c8662cef1b27b"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-do-expressions@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.0.0.tgz#069119d1d2fd2c13a3203b172619af5f95b6f696"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-dynamic-import@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0.tgz#6dfb7d8b6c3be14ce952962f658f3b7eb54c33ee"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-export-default-from@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.0.0.tgz#084b639bce3d42f3c5bf3f68ccb42220bb2d729d"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-export-namespace-from@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.0.0.tgz#17a7389a1d2571ac4d9b77ea2defa74a930edf5d"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-function-bind@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.0.0.tgz#04ad5fac3f68460ef028b1d92abc09781f2e7478"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-function-sent@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.0.0.tgz#583f904c86019dbbf486170e79e2d8f2d373f543"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-import-meta@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.0.0.tgz#ca946b73216c29c39a55ef2d739097fee8a85d69"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
"@babel/plugin-syntax-json-strings@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz#0d259a68090e15b383ce3710e01d5b23f3770cbd"
@@ -273,6 +423,24 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
+"@babel/plugin-syntax-logical-assignment-operators@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.0.0.tgz#8c567dcc4caea33d2743307758684656184d20cc"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-nullish-coalescing-operator@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.0.0.tgz#b60931d5a15da82625fff6657c39419969598743"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-numeric-separator@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.0.0.tgz#9594c7ce6ce8089a14d732cb9f6b1eeb047413ba"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
"@babel/plugin-syntax-object-rest-spread@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz#37d8fbcaf216bd658ea1aebbeb8b75e88ebc549b"
@@ -285,6 +453,24 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
+"@babel/plugin-syntax-optional-chaining@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.0.0.tgz#1e6ecba124310b5d3a8fc1e00d50b1c4c2e05e68"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-pipeline-operator@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.0.0.tgz#29106ddb293898192780ff48159c77e6f20c1768"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-throw-expressions@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.0.0.tgz#c0764da188afd99828ffdf78085c5f3c40bb661e"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
"@babel/plugin-transform-arrow-functions@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz#a6c14875848c68a3b4b3163a486535ef25c7e749"
@@ -557,10 +743,6 @@
"@babel/plugin-transform-react-jsx-self" "^7.0.0"
"@babel/plugin-transform-react-jsx-source" "^7.0.0"
-"@babel/preset-stage-0@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@babel/preset-stage-0/-/preset-stage-0-7.0.0.tgz#999aaec79ee8f0a763042c68c06539c97c6e0646"
-
"@babel/template@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0.tgz#c2bc9870405959c89a9c814376a2ecb247838c80"
@@ -628,9 +810,9 @@
version "1.1.0"
resolved "https://registry.yarnpkg.com/@types/is-ci/-/is-ci-1.1.0.tgz#583c5fbfcc461be9971106b9558930d67df49227"
-"@types/jest@^23.3.1":
- version "23.3.1"
- resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.1.tgz#a4319aedb071d478e6f407d1c4578ec8156829cf"
+"@types/jest@^23.3.2":
+ version "23.3.2"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.2.tgz#07b90f6adf75d42c34230c026a2529e56c249dbb"
"@types/js-yaml@^3.11.2":
version "3.11.2"
@@ -771,9 +953,9 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
-app-builder-bin@2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-2.1.2.tgz#528ce8e543aa595210c9595f91bdf5638cecd79b"
+app-builder-bin@2.1.3:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-2.1.3.tgz#7e9c28576b6777208c64dc4e41e5d2070282b5d6"
append-transform@^1.0.0:
version "1.0.0"
@@ -994,6 +1176,10 @@ babel-core@^6.0.0, babel-core@^6.26.0:
slash "^1.0.0"
source-map "^0.5.7"
+babel-core@^7.0.0-bridge.0:
+ version "7.0.0-bridge.0"
+ resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
+
babel-generator@^6.18.0, babel-generator@^6.26.0:
version "6.26.1"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
@@ -1722,7 +1908,7 @@ cross-spawn@^5.0.1:
shebang-command "^1.2.0"
which "^1.2.9"
-cross-spawn@^6.0.5:
+cross-spawn@^6.0.0, cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
dependencies:
@@ -2082,6 +2268,18 @@ exec-sh@^0.2.0:
dependencies:
merge "^1.2.0"
+execa@^0.10.0:
+ version "0.10.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50"
+ dependencies:
+ cross-spawn "^6.0.0"
+ get-stream "^3.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
execa@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
@@ -2671,6 +2869,10 @@ invert-kv@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+invert-kv@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
+
is-accessor-descriptor@^0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
@@ -3522,6 +3724,12 @@ lcid@^1.0.0:
dependencies:
invert-kv "^1.0.0"
+lcid@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
+ dependencies:
+ invert-kv "^2.0.0"
+
left-pad@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
@@ -3684,6 +3892,12 @@ makeerror@1.0.x:
dependencies:
tmpl "1.0.x"
+map-age-cleaner@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz#098fb15538fd3dbe461f12745b0ca8568d4e3f74"
+ dependencies:
+ p-defer "^1.0.0"
+
map-cache@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
@@ -3708,6 +3922,14 @@ mem@^1.1.0:
dependencies:
mimic-fn "^1.0.0"
+mem@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz#6437690d9471678f6cc83659c00cbafcd6b0cdaf"
+ dependencies:
+ map-age-cleaner "^0.1.1"
+ mimic-fn "^1.0.0"
+ p-is-promise "^1.1.0"
+
merge-stream@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
@@ -4108,6 +4330,14 @@ os-locale@^2.0.0:
lcid "^1.0.0"
mem "^1.1.0"
+os-locale@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.0.1.tgz#3b014fbf01d87f60a1e5348d80fe870dc82c4620"
+ dependencies:
+ execa "^0.10.0"
+ lcid "^2.0.0"
+ mem "^4.0.0"
+
os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
@@ -4119,10 +4349,18 @@ osenv@0, osenv@^0.1.4:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
+p-defer@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
+
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+p-is-promise@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e"
+
p-limit@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
@@ -5702,15 +5940,15 @@ yargs@^11.0.0:
y18n "^3.2.1"
yargs-parser "^9.0.2"
-yargs@^12.0.1:
- version "12.0.1"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.1.tgz#6432e56123bb4e7c3562115401e98374060261c2"
+yargs@^12.0.2:
+ version "12.0.2"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc"
dependencies:
cliui "^4.0.0"
decamelize "^2.0.0"
find-up "^3.0.0"
get-caller-file "^1.0.1"
- os-locale "^2.0.0"
+ os-locale "^3.0.0"
require-directory "^2.1.1"
require-main-filename "^1.0.1"
set-blocking "^2.0.0"