diff --git a/.gitignore b/.gitignore
index 6f4cee6bc9e..d11e719c28b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,15 +15,8 @@ dist/
/docs/.idea/
-/typings/browser/
-/typings/browser.d.ts
-/typings/main.d.ts
-
.DS_Store
-/test/typings/electron-builder.d.ts
-/test/typings/electron-updater.d.ts
-
/packages/*/out/
/out/
# to not exclude .js.snap (jest snapshots)
diff --git a/docs/Options.md b/docs/Options.md
index 0cd4c23d665..791c3114373 100644
--- a/docs/Options.md
+++ b/docs/Options.md
@@ -247,6 +247,7 @@ To use Squirrel.Windows please install `electron-builder-squirrel-windows` depen
| certificateFile |
The path to the *.pfx certificate you want to sign with. Please use it only if you cannot use env variable CSC_LINK
(WIN_CSC_LINK
) for some reason. Please see [Code Signing](https://github.com/electron-userland/electron-builder/wiki/Code-Signing).
| certificatePassword | The password to the certificate provided in certificateFile
. Please use it only if you cannot use env variable CSC_KEY_PASSWORD
(WIN_CSC_KEY_PASSWORD
) for some reason. Please see [Code Signing](https://github.com/electron-userland/electron-builder/wiki/Code-Signing).
| certificateSubjectName | The name of the subject of the signing certificate. Required only for EV Code Signing and works only on Windows.
+| certificateSha1 | * The SHA1 hash of the signing certificate. The SHA1 hash is commonly specified when multiple certificates satisfy the criteria specified by the remaining switches. Works only on Windows.
| rfc3161TimeStampServer | The URL of the RFC 3161 time stamp server. Defaults to `http://timestamp.comodoca.com/rfc3161`.
| timeStampServer | The URL of the time stamp server. Defaults to `http://timestamp.verisign.com/scripts/timstamp.dll`.
| publisherName | [The publisher name](https://github.com/electron-userland/electron-builder/issues/1187#issuecomment-278972073), exactly as in your code signed certificate. Several names can be provided. Defaults to common name from your code signing certificate.
diff --git a/package.json b/package.json
index a4621ea49b2..579ac42acbf 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,7 @@
"pretest": "node ./test/vendor/yarn.js compile && node ./test/vendor/yarn.js lint && node ./test/vendor/yarn.js lint-deps",
"lint-deps": "node ./test/out/helpers/checkDeps.js",
"///": "Please see https://github.com/electron-userland/electron-builder/blob/master/CONTRIBUTING.md#run-test-using-cli how to run particular test instead full (and very slow) run",
- "test": "node ./test/out/helpers/runTests.js skipFpm skipSw skipArtifactPublisher",
+ "test": "node ./test/out/helpers/runTests.js skipFpm skipSw skipArtifactPublisher ALL_TESTS=false",
"test-all": "node ./test/vendor/yarn.js pretest && node ./test/out/helpers/runTests.js",
"test-linux": "docker run --rm -ti -v ${PWD}: /project -v ${PWD##*/}-node-modules:/project/node_modules -v ~/.electron:/root/.electron electronuserland/electron-builder:wine /bin/bash -c \"node ./test/vendor/yarn.js && node ./test/vendor/yarn.js test\"",
"//": "Update wiki if docs changed. Update only if functionalily are generally available (latest release, not next)",
@@ -28,8 +28,8 @@
"ajv": "^5.0.2-beta",
"ajv-keywords": "^2.0.1-beta.0",
"archiver": "^1.3.0",
- "asar-electron-builder": "~0.14.2",
- "aws-sdk": "^2.17.0",
+ "asar": "~0.13.0",
+ "aws-sdk": "^2.19.0",
"bluebird-lst": "^1.0.1",
"chalk": "^1.1.3",
"chromium-pickle-js": "^0.2.0",
@@ -79,7 +79,7 @@
"depcheck": "^0.6.7",
"docdash": "https://github.com/develar/docdash.git",
"electron-download-tf": "3.2.0",
- "jest-cli": "^19.0.1",
+ "jest-cli": "^19.0.2",
"jest-environment-node-debug": "^2.0.0",
"jest-junit-reporter": "^1.0.1",
"jsdoc": "^3.4.3",
diff --git a/packages/electron-builder/package.json b/packages/electron-builder/package.json
index fa1cdae6241..87622a7b7e0 100644
--- a/packages/electron-builder/package.json
+++ b/packages/electron-builder/package.json
@@ -47,7 +47,7 @@
"ajv": "^5.0.2-beta",
"ajv-keywords": "^2.0.1-beta.0",
"7zip-bin": "^2.0.4",
- "asar-electron-builder": "~0.14.2",
+ "asar": "~0.13.0",
"bluebird-lst": "^1.0.1",
"chalk": "^1.1.3",
"chromium-pickle-js": "^0.2.0",
diff --git a/packages/electron-builder/src/asarUtil.ts b/packages/electron-builder/src/asarUtil.ts
index 4f97ae08f54..3b98d138ccb 100644
--- a/packages/electron-builder/src/asarUtil.ts
+++ b/packages/electron-builder/src/asarUtil.ts
@@ -1,4 +1,4 @@
-import { AsarFileInfo, listPackage, statFile } from "asar-electron-builder"
+import { AsarFileInfo, listPackage, statFile } from "asar"
import BluebirdPromise from "bluebird-lst"
import { debug } from "electron-builder-util"
import { deepAssign } from "electron-builder-util/out/deepAssign"
@@ -10,7 +10,7 @@ import { AsarOptions } from "./metadata"
const isBinaryFile: any = BluebirdPromise.promisify(require("isbinaryfile"))
const pickle = require ("chromium-pickle-js")
-const Filesystem = require("asar-electron-builder/lib/filesystem")
+const Filesystem = require("asar/lib/filesystem")
const UINT64 = require("cuint").UINT64
const NODE_MODULES_PATTERN = `${path.sep}node_modules${path.sep}`
diff --git a/packages/electron-builder/src/options/winOptions.ts b/packages/electron-builder/src/options/winOptions.ts
index 9bec210c5d3..8d602ef68ea 100644
--- a/packages/electron-builder/src/options/winOptions.ts
+++ b/packages/electron-builder/src/options/winOptions.ts
@@ -47,6 +47,11 @@ export interface WinBuildOptions extends PlatformSpecificBuildOptions {
*/
readonly certificateSubjectName?: string
+ /**
+ * The SHA1 hash of the signing certificate. The SHA1 hash is commonly specified when multiple certificates satisfy the criteria specified by the remaining switches. Works only on Windows.
+ */
+ readonly certificateSha1?: string
+
/**
The URL of the RFC 3161 time stamp server. Defaults to `http://timestamp.comodoca.com/rfc3161`.
*/
diff --git a/packages/electron-builder/src/packager.ts b/packages/electron-builder/src/packager.ts
index c98dfc0d139..d0b55257eb4 100644
--- a/packages/electron-builder/src/packager.ts
+++ b/packages/electron-builder/src/packager.ts
@@ -1,4 +1,4 @@
-import { extractFile } from "asar-electron-builder"
+import { extractFile } from "asar"
import BluebirdPromise from "bluebird-lst"
import { Arch, Platform, Target } from "electron-builder-core"
import { CancellationToken } from "electron-builder-http/out/CancellationToken"
diff --git a/packages/electron-builder/src/targets/appx.ts b/packages/electron-builder/src/targets/appx.ts
index edb2f77da89..e762cdc160c 100644
--- a/packages/electron-builder/src/targets/appx.ts
+++ b/packages/electron-builder/src/targets/appx.ts
@@ -26,8 +26,7 @@ export default class AppXTarget extends Target {
async build(appOutDir: string, arch: Arch): Promise {
const packager = this.packager
- const cscInfo = await packager.cscInfo
- if (cscInfo == null) {
+ if ((await packager.cscInfo) == null) {
throw new Error("AppX package must be signed, but certificate is not set, please see https://github.com/electron-userland/electron-builder/wiki/Code-Signing")
}
diff --git a/packages/electron-builder/src/util/readPackageJson.ts b/packages/electron-builder/src/util/readPackageJson.ts
index d9057e8944a..53b11d2a60a 100644
--- a/packages/electron-builder/src/util/readPackageJson.ts
+++ b/packages/electron-builder/src/util/readPackageJson.ts
@@ -1,5 +1,5 @@
import Ajv from "ajv"
-import { extractFile } from "asar-electron-builder"
+import { extractFile } from "asar"
import { log, warn } from "electron-builder-util/out/log"
import { readFile, readJson } from "fs-extra-p"
import { safeLoad } from "js-yaml"
diff --git a/packages/electron-builder/src/winPackager.ts b/packages/electron-builder/src/winPackager.ts
index a3e8ed3f4f0..42bc24e940f 100644
--- a/packages/electron-builder/src/winPackager.ts
+++ b/packages/electron-builder/src/winPackager.ts
@@ -12,48 +12,44 @@ import { PlatformPackager } from "./platformPackager"
import AppXTarget from "./targets/appx"
import NsisTarget from "./targets/nsis"
import { createCommonTarget, DIR_TARGET } from "./targets/targetFactory"
-import { getSignVendorPath, sign, SignOptions } from "./windowsCodeSign"
-
-export interface FileCodeSigningInfo {
- readonly file?: string | null
- readonly password?: string | null
-
- readonly subjectName?: string | null
-}
+import { FileCodeSigningInfo, getSignVendorPath, sign, SignOptions } from "./windowsCodeSign"
export class WinPackager extends PlatformPackager {
readonly cscInfo = new Lazy(() => {
- const subjectName = this.platformSpecificBuildOptions.certificateSubjectName
- if (subjectName == null) {
- const certificateFile = this.platformSpecificBuildOptions.certificateFile
- if (certificateFile != null) {
- const certificatePassword = this.getCscPassword()
- return BluebirdPromise.resolve({
- file: certificateFile,
- password: certificatePassword == null ? null : certificatePassword.trim(),
- })
- }
- else {
- const cscLink = process.env.WIN_CSC_LINK || this.packagerOptions.cscLink
- if (cscLink != null) {
- return downloadCertificate(cscLink, this.info.tempDirManager)
- .then(path => {
- return {
- file: path,
- password: this.getCscPassword(),
- }
- })
- }
- else {
- return BluebirdPromise.resolve(null)
- }
- }
+ const platformSpecificBuildOptions = this.platformSpecificBuildOptions
+ const subjectName = platformSpecificBuildOptions.certificateSubjectName
+ if (subjectName != null) {
+ return BluebirdPromise.resolve({subjectName})
}
- else {
+
+ const certificateSha1 = platformSpecificBuildOptions.certificateSha1
+ if (certificateSha1 != null) {
+ return BluebirdPromise.resolve({certificateSha1})
+ }
+
+ const certificateFile = platformSpecificBuildOptions.certificateFile
+ if (certificateFile != null) {
+ const certificatePassword = this.getCscPassword()
return BluebirdPromise.resolve({
- subjectName: subjectName
+ file: certificateFile,
+ password: certificatePassword == null ? null : certificatePassword.trim(),
})
}
+ else {
+ const cscLink = process.env.WIN_CSC_LINK || this.packagerOptions.cscLink
+ if (cscLink != null) {
+ return downloadCertificate(cscLink, this.info.tempDirManager)
+ .then(path => {
+ return {
+ file: path,
+ password: this.getCscPassword(),
+ }
+ })
+ }
+ else {
+ return BluebirdPromise.resolve(null)
+ }
+ }
})
private iconPath: Promise | null
@@ -171,7 +167,12 @@ export class WinPackager extends PlatformPackager {
logMessagePrefix = `Signing ${path.basename(file)}`
}
if (certFile == null) {
- log(`${logMessagePrefix} (subject name: "${cscInfo.subjectName}")`)
+ if (cscInfo.subjectName == null) {
+ log(`${logMessagePrefix} (certificate SHA1: "${cscInfo.certificateSha1}")`)
+ }
+ else {
+ log(`${logMessagePrefix} (certificate subject name: "${cscInfo.subjectName}")`)
+ }
}
else {
log(`${logMessagePrefix} (certificate file: "${certFile}")`)
@@ -181,12 +182,14 @@ export class WinPackager extends PlatformPackager {
path: file,
cert: certFile,
- subjectName: cscInfo.subjectName,
password: cscInfo.password,
name: this.appInfo.productName,
site: await this.appInfo.computePackageUrl(),
- options: this.platformSpecificBuildOptions,
+ options: Object.assign({}, this.platformSpecificBuildOptions, {
+ certificateSubjectName: cscInfo.subjectName,
+ certificateSha1: cscInfo.certificateSha1,
+ }),
})
}
diff --git a/packages/electron-builder/src/windowsCodeSign.ts b/packages/electron-builder/src/windowsCodeSign.ts
index 9a3da7f23db..291111a40e2 100644
--- a/packages/electron-builder/src/windowsCodeSign.ts
+++ b/packages/electron-builder/src/windowsCodeSign.ts
@@ -1,9 +1,9 @@
import { exec } from "electron-builder-util"
-import { rename } from "fs-extra-p"
-import * as path from "path"
-import { release } from "os"
import { getBinFromBintray } from "electron-builder-util/out/binDownload"
+import { rename } from "fs-extra-p"
import isCi from "is-ci"
+import { release } from "os"
+import * as path from "path"
import { WinBuildOptions } from "./options/winOptions"
const TOOLS_VERSION = "1.7.0"
@@ -13,11 +13,18 @@ export function getSignVendorPath() {
return getBinFromBintray("winCodeSign", TOOLS_VERSION, "a34a60e74d02b81d0303e498f03c70ce0133f908b671f62ec32896db5cd0a716")
}
+export interface FileCodeSigningInfo {
+ readonly file?: string | null
+ readonly password?: string | null
+
+ readonly subjectName?: string | null
+ readonly certificateSha1?: string | null
+}
+
export interface SignOptions {
readonly path: string
readonly cert?: string | null
- readonly subjectName?: string | null
readonly name?: string | null
readonly password?: string | null
@@ -75,10 +82,17 @@ async function spawnSign(options: SignOptions, inputPath: string, outputPath: st
const certificateFile = options.cert
if (certificateFile == null) {
+ const subjectName = options.options.certificateSubjectName
if (process.platform !== "win32") {
- throw new Error("certificateSubjectName supported only on Windows")
+ throw new Error(`${subjectName == null ? "certificateSha1" : "certificateSubjectName"} supported only on Windows`)
+ }
+
+ if (subjectName == null) {
+ args.push("/sha1", options.options.certificateSha1!)
+ }
+ else {
+ args.push("/n", subjectName)
}
- args.push("/n", options.subjectName!)
}
else {
const certExtension = path.extname(certificateFile)
diff --git a/packages/electron-publisher-s3/package.json b/packages/electron-publisher-s3/package.json
index 3a181e0b1ef..25fbefb7148 100644
--- a/packages/electron-publisher-s3/package.json
+++ b/packages/electron-publisher-s3/package.json
@@ -12,7 +12,7 @@
],
"dependencies": {
"fs-extra-p": "^4.0.2",
- "aws-sdk": "^2.17.0",
+ "aws-sdk": "^2.19.0",
"mime": "^1.3.4",
"electron-publish": "~0.0.0-semantic-release",
"electron-builder-util": "~0.0.0-semantic-release"
diff --git a/test/jestSetup.js b/test/jestSetup.js
index bb92c5591f1..8e105272dd2 100644
--- a/test/jestSetup.js
+++ b/test/jestSetup.js
@@ -9,6 +9,11 @@ const isWindows = process.platform === "win32"
jasmine.DEFAULT_TIMEOUT_INTERVAL = (isWindows ? 30 : 10) * 1000 * 60
const skip = test.skip
+const skipSuite = describe.skip
+
+const isAllTests = process.env.ALL_TESTS === undefined || process.env.ALL_TESTS === "true"
+describe.ifAll = isAllTests ? describe : skipSuite
+test.ifAll = isAllTests ? test : skip
const isMac = process.platform === "darwin"
test.ifMac = isMac ? test : skip
diff --git a/test/out/__snapshots__/BuildTest.js.snap b/test/out/__snapshots__/BuildTest.js.snap
index ff86a6619c6..4321c110971 100644
--- a/test/out/__snapshots__/BuildTest.js.snap
+++ b/test/out/__snapshots__/BuildTest.js.snap
@@ -238,25 +238,25 @@ Object {
}
`;
-exports[`custom buildResources and output dirs: linux 1`] = `
+exports[`sign custom buildResources and output dirs: linux 1`] = `
Array [
"TestApp-1.1.0-x86_64.AppImage",
]
`;
-exports[`custom buildResources and output dirs: win 1`] = `
+exports[`sign custom buildResources and output dirs: win 1`] = `
Array [
"Test App ßW Setup 1.1.0.exe",
]
`;
-exports[`custom buildResources and output dirs: win 2`] = `
+exports[`sign custom buildResources and output dirs: win 2`] = `
Array [
"TestApp-Setup-1.1.0.exe",
]
`;
-exports[`scheme validation 1`] = `
+exports[`sign scheme validation 1`] = `
"Config is invalid:
{
\\"foo\\": \\"Unknown option\\",
@@ -306,7 +306,7 @@ Raw validation errors: [
]"
`;
-exports[`scheme validation 2 1`] = `
+exports[`sign scheme validation 2 1`] = `
"Config is invalid:
{
\\"appId\\": \\"Should be null,string\\"
diff --git a/test/out/windows/__snapshots__/winPackagerTest.js.snap b/test/out/windows/__snapshots__/winPackagerTest.js.snap
new file mode 100644
index 00000000000..cd8443ee03a
--- /dev/null
+++ b/test/out/windows/__snapshots__/winPackagerTest.js.snap
@@ -0,0 +1,11 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`icon < 256 1`] = `"Windows icon size must be at least 256x256, please fix \\"/icon.ico\\""`;
+
+exports[`icon not an image 1`] = `"Windows icon is not valid ico file, please fix \\"/icon.ico\\""`;
+
+exports[`sign certificateSha1 1`] = `"certificateSha1 supported only on Windows"`;
+
+exports[`sign ev 1`] = `"certificateSubjectName supported only on Windows"`;
+
+exports[`sign forceCodeSigning 1`] = `"App is not signed and \\"forceCodeSigning\\" is set to true, please ensure that code signing configuration is correct, please see https://github.com/electron-userland/electron-builder/wiki/Code-Signing"`;
diff --git a/test/src/BuildTest.ts b/test/src/BuildTest.ts
index 5a3752de793..f9f50303dc6 100644
--- a/test/src/BuildTest.ts
+++ b/test/src/BuildTest.ts
@@ -1,4 +1,4 @@
-import { extractFile } from "asar-electron-builder"
+import { extractFile } from "asar"
import BluebirdPromise from "bluebird-lst"
import { Arch, BuildOptions, DIR_TARGET, Platform } from "electron-builder"
import { build, normalizeOptions } from "electron-builder/out/builder"
@@ -78,10 +78,6 @@ function createBuildResourcesTest(platform: Platform) {
})
}
-test.ifNotWindows("custom buildResources and output dirs: mac", createBuildResourcesTest(Platform.MAC))
-test.ifNotCiMac("custom buildResources and output dirs: win", createBuildResourcesTest(Platform.WINDOWS))
-test.ifNotWindows("custom buildResources and output dirs: linux", createBuildResourcesTest(Platform.LINUX))
-
test("build in the app package.json", appTwoThrows(linuxDirTarget, {
projectDirCreated: it => modifyPackageJson(it, data => {
data.build = {
@@ -199,32 +195,38 @@ test("wine version", async () => {
await checkWineVersion(BluebirdPromise.resolve("2.0-rc2"))
})
-test.ifDevOrLinuxCi("prepackaged", app({
- targets: linuxDirTarget,
-}, {
- packed: async (context) => {
- await build(normalizeOptions({
- prepackaged: path.join(context.outDir, "linux-unpacked"),
- project: context.projectDir,
- linux: ["deb"]
- }))
- await assertThat(path.join(context.projectDir, "dist", "TestApp_1.1.0_amd64.deb")).isFile()
- }
-}))
+describe.ifAll("sign", () => {
+ test.ifNotWindows("custom buildResources and output dirs: mac", createBuildResourcesTest(Platform.MAC))
+ test.ifNotCiMac("custom buildResources and output dirs: win", createBuildResourcesTest(Platform.WINDOWS))
+ test.ifNotWindows("custom buildResources and output dirs: linux", createBuildResourcesTest(Platform.LINUX))
-test.ifDevOrLinuxCi("scheme validation", appThrows({
- targets: linuxDirTarget,
- config: {
- foo: 123,
- mac: {
- foo: 12123,
+ test.ifDevOrLinuxCi("prepackaged", app({
+ targets: linuxDirTarget,
+ }, {
+ packed: async (context) => {
+ await build(normalizeOptions({
+ prepackaged: path.join(context.outDir, "linux-unpacked"),
+ project: context.projectDir,
+ linux: ["deb"]
+ }))
+ await assertThat(path.join(context.projectDir, "dist", "TestApp_1.1.0_amd64.deb")).isFile()
+ }
+ }))
+
+ test.ifDevOrLinuxCi("scheme validation", appThrows({
+ targets: linuxDirTarget,
+ config: {
+ foo: 123,
+ mac: {
+ foo: 12123,
+ },
},
- },
-}))
+ }))
-test.ifDevOrLinuxCi("scheme validation 2", appThrows({
- targets: linuxDirTarget,
- config: {
- appId: 123,
- },
-}))
+ test.ifDevOrLinuxCi("scheme validation 2", appThrows({
+ targets: linuxDirTarget,
+ config: {
+ appId: 123,
+ },
+ }))
+})
diff --git a/test/src/extraMetadataTest.ts b/test/src/extraMetadataTest.ts
index e94e802a014..12879699dce 100644
--- a/test/src/extraMetadataTest.ts
+++ b/test/src/extraMetadataTest.ts
@@ -1,4 +1,4 @@
-import { extractFile } from "asar-electron-builder"
+import { extractFile } from "asar"
import { DIR_TARGET, Platform } from "electron-builder"
import * as path from "path"
import { assertThat } from "./helpers/fileAssert"
diff --git a/test/src/globTest.ts b/test/src/globTest.ts
index 3e2acc0f744..293b58a4339 100644
--- a/test/src/globTest.ts
+++ b/test/src/globTest.ts
@@ -1,4 +1,4 @@
-import { statFile } from "asar-electron-builder"
+import { statFile } from "asar"
import BluebirdPromise from "bluebird-lst"
import { DIR_TARGET, Platform } from "electron-builder"
import { mkdirs, outputFile, symlink, writeFile } from "fs-extra-p"
diff --git a/test/src/helpers/config.ts b/test/src/helpers/config.ts
index e192af17da6..5907b216a79 100644
--- a/test/src/helpers/config.ts
+++ b/test/src/helpers/config.ts
@@ -1,6 +1,6 @@
-import * as path from "path"
-import { tmpdir } from "os"
import { createHash } from "crypto"
+import { tmpdir } from "os"
+import * as path from "path"
// reuse to avoid stale data (maybe not removed correctly on test stop)
// use __dirname to allow run in parallel from different project clones
@@ -9,5 +9,6 @@ import { createHash } from "crypto"
docker: Error response from daemon: Mounts denied: o Docker.
You can configure shared paths from Docker -> Preferences... -> File Sharing.
*/
-export const TEST_DIR = path.join(process.platform === "darwin" && !require("is-ci") ? "/tmp" : tmpdir(), `et-${createHash("md5").update(__dirname).digest("hex")}`)
+const baseDir = process.env.ELECTRON_BUILDER_TEST_DIR || (process.platform === "darwin" && !require("is-ci") ? "/tmp" : tmpdir())
+export const TEST_DIR = path.join(baseDir, `et-${createHash("md5").update(__dirname).digest("hex")}`)
export const ELECTRON_VERSION = "1.6.0"
\ No newline at end of file
diff --git a/test/src/helpers/runTests.ts b/test/src/helpers/runTests.ts
index 88c958ee2f5..cc9276bc86d 100755
--- a/test/src/helpers/runTests.ts
+++ b/test/src/helpers/runTests.ts
@@ -121,6 +121,13 @@ async function runTests() {
if ("runInBand" === scriptArg) {
runInBand = true
}
+ else if (scriptArg.includes("=")) {
+ const equalIndex = scriptArg.indexOf("=")
+ const envName = scriptArg.substring(0, equalIndex)
+ const envValue = scriptArg.substring(equalIndex + 1)
+ process.env[envName] = envValue
+ console.log(`Custom env ${envName}=${envValue}`)
+ }
else if (scriptArg.startsWith("skip")) {
if (!isCi) {
const suffix = scriptArg.substring("skip".length)
diff --git a/test/src/helpers/winHelper.ts b/test/src/helpers/winHelper.ts
index 9581e2d61b7..ac552f77761 100644
--- a/test/src/helpers/winHelper.ts
+++ b/test/src/helpers/winHelper.ts
@@ -1,4 +1,4 @@
-import { extractFile } from "asar-electron-builder"
+import { extractFile } from "asar"
import BluebirdPromise from "bluebird-lst"
import { Arch, Platform } from "electron-builder-core"
import { walk } from "electron-builder-util/out/fs"
diff --git a/test/src/windows/installerTest.ts b/test/src/windows/installerTest.ts
index 8de8fc2314a..da5628707dd 100644
--- a/test/src/windows/installerTest.ts
+++ b/test/src/windows/installerTest.ts
@@ -1,9 +1,9 @@
-import { Platform, Arch } from "electron-builder"
-import { assertPack, app, copyTestAsset } from "../helpers/packTester"
-import * as path from "path"
+import { Arch, Platform } from "electron-builder"
import { archFromString } from "electron-builder-core"
+import { readFile } from "fs-extra-p"
import { safeLoad } from "js-yaml"
-import { readFile } from "fs-extra-p";
+import * as path from "path"
+import { app, assertPack, copyTestAsset } from "../helpers/packTester"
import { doTest, expectUpdateMetadata } from "../helpers/winHelper"
const nsisTarget = Platform.WINDOWS.createTarget(["nsis"])
@@ -89,7 +89,7 @@ test.ifNotCiMac("boring", app({
},
}))
-test("allowToChangeInstallationDirectory", app({
+test.ifAll("allowToChangeInstallationDirectory", app({
targets: nsisTarget,
appMetadata: {
name: "test-custom-inst-dir",
diff --git a/test/src/windows/oneClickInstallerTest.ts b/test/src/windows/oneClickInstallerTest.ts
index f7e4de0aca3..c675d6a4ed1 100644
--- a/test/src/windows/oneClickInstallerTest.ts
+++ b/test/src/windows/oneClickInstallerTest.ts
@@ -102,7 +102,7 @@ test.ifDevOrLinuxCi("custom script", app({targets: nsisTarget}, {
packed: context => assertThat(path.join(context.projectDir, "build", "customInstallerScript")).isFile(),
}))
-test("menuCategory", app({
+test.ifAll("menuCategory", app({
targets: Platform.WINDOWS.createTarget(["nsis"], Arch.ia32),
appMetadata: {
name: "test-menu-category",
diff --git a/test/src/windows/winPackagerTest.ts b/test/src/windows/winPackagerTest.ts
index 2fc0a350f3f..5fa88a0afb1 100755
--- a/test/src/windows/winPackagerTest.ts
+++ b/test/src/windows/winPackagerTest.ts
@@ -41,18 +41,31 @@ test.ifMac("custom icon", () => {
})
})
-it.ifDevOrLinuxCi("ev", appThrows({
- targets: Platform.WINDOWS.createTarget(["dir"]),
- config: {
- win: {
- certificateSubjectName: "ev",
+describe.ifAll("sign", () => {
+ const windowsDirTarget = Platform.WINDOWS.createTarget(["dir"])
+
+ test.ifNotWindows("ev", appThrows({
+ targets: windowsDirTarget,
+ config: {
+ win: {
+ certificateSubjectName: "ev",
+ }
}
- }
-}))
+ }))
-it.ifDevOrLinuxCi("forceCodeSigning", appThrows({
- targets: Platform.WINDOWS.createTarget(["dir"]),
- config: {
- forceCodeSigning: true,
- }
-}))
\ No newline at end of file
+ test.ifNotWindows("certificateSha1", appThrows({
+ targets: windowsDirTarget,
+ config: {
+ win: {
+ certificateSha1: "boo",
+ }
+ }
+ }))
+
+ test("forceCodeSigning", appThrows({
+ targets: windowsDirTarget,
+ config: {
+ forceCodeSigning: true,
+ }
+ }))
+})
\ No newline at end of file
diff --git a/test/typings/jest-ex.d.ts b/test/typings/jest-ex.d.ts
index 69ed277ad77..f66dfde7132 100644
--- a/test/typings/jest-ex.d.ts
+++ b/test/typings/jest-ex.d.ts
@@ -11,6 +11,12 @@ declare module jest {
ifDevOrLinuxCi: jest.It
ifLinux: jest.It
ifLinuxOrDevMac: jest.It
+
+ ifAll: jest.It
+ }
+
+ interface Describe {
+ ifAll: jest.Describe
}
interface Matchers {
diff --git a/typings/asar.d.ts b/typings/asar.d.ts
index 2d8641a0b75..a750e93ba2c 100644
--- a/typings/asar.d.ts
+++ b/typings/asar.d.ts
@@ -1,4 +1,4 @@
-declare module "asar-electron-builder" {
+declare module "asar" {
interface AsarFileInfo {
offset: number
size: number
diff --git a/yarn.lock b/yarn.lock
index a3ad3f37c99..33a74213af5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -216,19 +216,31 @@ arrify@^1.0.0, arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
-asar-electron-builder@~0.14.2:
- version "0.14.2"
- resolved "https://registry.yarnpkg.com/asar-electron-builder/-/asar-electron-builder-0.14.2.tgz#11d83db690b877ed0d319fe5de12284035347250"
+asar@~0.13.0:
+ version "0.13.0"
+ resolved "https://registry.yarnpkg.com/asar/-/asar-0.13.0.tgz#df33dd9d01bff842464d0d9f095740d4a62afb14"
dependencies:
chromium-pickle-js "^0.2.0"
- cuint "^0.2.2"
+ commander "^2.9.0"
+ cuint "^0.2.1"
+ glob "^6.0.4"
minimatch "^3.0.3"
- mkdirp "^0.5.1"
+ mkdirp "^0.5.0"
+ mksnapshot "^0.3.0"
+ tmp "0.0.28"
+
+asn1@0.1.11:
+ version "0.1.11"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.1.11.tgz#559be18376d08a4ec4dbe80877d27818639b2df7"
asn1@~0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
+assert-plus@^0.1.5:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz#ee74009413002d84cec7219c6ac811812e723160"
+
assert-plus@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
@@ -251,13 +263,17 @@ async@~0.2.6:
version "0.2.10"
resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
+async@~0.9.0:
+ version "0.9.2"
+ resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
+
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
-aws-sdk@^2.17.0:
- version "2.18.0"
- resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.18.0.tgz#aee7ab04a714f512e98828ad2326606df7a3b2ef"
+aws-sdk@^2.19.0:
+ version "2.19.0"
+ resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.19.0.tgz#ad713ee121b930503fd11ecbfad43b630218e6fb"
dependencies:
buffer "4.9.1"
crypto-browserify "1.0.9"
@@ -269,6 +285,10 @@ aws-sdk@^2.17.0:
xml2js "0.4.15"
xmlbuilder "2.6.2"
+aws-sign2@~0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.5.0.tgz#c57103f7a17fc037f02d7c2e64b602ea223f7d63"
+
aws-sign2@~0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
@@ -511,8 +531,8 @@ babel-types@^6.18.0, babel-types@^6.22.0, babel-types@^6.23.0:
to-fast-properties "^1.0.1"
babylon@^6.1.21, babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0:
- version "6.15.0"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
+ version "6.16.1"
+ resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3"
balanced-match@^0.4.1:
version "0.4.2"
@@ -541,12 +561,22 @@ bl@^1.0.0:
dependencies:
readable-stream "^2.0.5"
+bl@~0.9.0:
+ version "0.9.5"
+ resolved "https://registry.yarnpkg.com/bl/-/bl-0.9.5.tgz#c06b797af085ea00bc527afc8efcf11de2232054"
+ dependencies:
+ readable-stream "~1.0.26"
+
bluebird-lst@^1.0.0, bluebird-lst@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.1.tgz#2b666b20bb1c1902e6b7b352d9c0fbf56830b5a3"
dependencies:
bluebird "^3.4.7"
+bluebird@^2.9.30:
+ version "2.11.0"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1"
+
bluebird@^3.4.7, bluebird@~3.4.6:
version "3.4.7"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3"
@@ -675,6 +705,10 @@ caseless@~0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
+caseless@~0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.9.0.tgz#b7b65ce6bf1413886539cfd533f0b30effa9cf88"
+
catharsis@~0.8.8:
version "0.8.8"
resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.8.tgz#693479f43aac549d806bd73e924cd0d944951a06"
@@ -781,11 +815,17 @@ combined-stream@^1.0.5, combined-stream@~1.0.5:
dependencies:
delayed-stream "~1.0.0"
+combined-stream@~0.0.4, combined-stream@~0.0.5:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-0.0.7.tgz#0137e657baa5a7541c57ac37ac5fc07d73b4dc1f"
+ dependencies:
+ delayed-stream "0.0.5"
+
command-join@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/command-join/-/command-join-2.0.0.tgz#52e8b984f4872d952ff1bdc8b98397d27c7144cf"
-commander@^2.9.0:
+commander@^2.8.1, commander@^2.9.0:
version "2.9.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
dependencies:
@@ -904,7 +944,11 @@ cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
dependencies:
cssom "0.3.x"
-cuint@^0.2.2:
+ctype@0.5.3:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/ctype/-/ctype-0.5.3.tgz#82c18c2461f74114ef16c135224ad0b9144ca12f"
+
+cuint@^0.2.1, cuint@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b"
@@ -930,7 +974,7 @@ 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"
-decompress-zip@^0.3.0:
+decompress-zip@0.3.0, decompress-zip@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/decompress-zip/-/decompress-zip-0.3.0.tgz#ae3bcb7e34c65879adfe77e19c30f86602b4bdb0"
dependencies:
@@ -956,6 +1000,10 @@ default-require-extensions@^1.0.0:
dependencies:
strip-bom "^2.0.0"
+delayed-stream@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-0.0.5.tgz#d4b1f43a93e8296dfe02694f4680bc37a313c73f"
+
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
@@ -1248,10 +1296,18 @@ for-own@^0.1.4:
dependencies:
for-in "^0.1.5"
-forever-agent@~0.6.1:
+forever-agent@~0.6.0, forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+form-data@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-0.2.0.tgz#26f8bc26da6440e299cbdcfb69035c4f77a6e466"
+ dependencies:
+ async "~0.9.0"
+ combined-stream "~0.0.4"
+ mime-types "~2.0.3"
+
form-data@~2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4"
@@ -1267,6 +1323,16 @@ fs-extra-p@^4.0.2:
bluebird-lst "^1.0.1"
fs-extra "^2.0.0"
+fs-extra@0.26.7:
+ version "0.26.7"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9"
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^2.1.0"
+ klaw "^1.0.0"
+ path-is-absolute "^1.0.0"
+ rimraf "^2.2.8"
+
fs-extra@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.0.0.tgz#337352bded4a0b714f3eb84de8cea765e9d37600"
@@ -1319,6 +1385,16 @@ glob-parent@^2.0.0:
dependencies:
is-glob "^2.0.0"
+glob@^6.0.4:
+ version "6.0.4"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "2 || 3"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1, glob@~7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
@@ -1402,6 +1478,15 @@ handlebars@^4.0.3:
optionalDependencies:
uglify-js "^2.6"
+har-validator@^1.4.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-1.8.0.tgz#d83842b0eb4c435960aeb108a067a3aa94c0eeb2"
+ dependencies:
+ bluebird "^2.9.30"
+ chalk "^1.0.0"
+ commander "^2.8.1"
+ is-my-json-valid "^2.12.0"
+
har-validator@~2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
@@ -1421,6 +1506,15 @@ has-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
+hawk@~2.3.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/hawk/-/hawk-2.3.1.tgz#1e731ce39447fa1d0f6d707f7bceebec0fd1ec1f"
+ dependencies:
+ boom "2.x.x"
+ cryptiles "2.x.x"
+ hoek "2.x.x"
+ sntp "1.x.x"
+
hawk@~3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
@@ -1451,6 +1545,14 @@ html-encoding-sniffer@^1.0.1:
dependencies:
whatwg-encoding "^1.0.1"
+http-signature@~0.10.0:
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-0.10.1.tgz#4fbdac132559aa8323121e540779c0a012b27e66"
+ dependencies:
+ asn1 "0.1.11"
+ assert-plus "^0.1.5"
+ ctype "0.5.3"
+
http-signature@~1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
@@ -1493,8 +1595,8 @@ ini@^1.3.4, ini@~1.3.0:
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
inquirer@^3.0.1:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.2.tgz#13caca98cc488e99c8de759a3404a6d0fe224ba6"
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.4.tgz#ed9588020edbcc40fc94c50761ad00dcf8598ff5"
dependencies:
ansi-escapes "^1.1.0"
chalk "^1.0.0"
@@ -1580,7 +1682,7 @@ is-glob@^2.0.0, is-glob@^2.0.1:
dependencies:
is-extglob "^1.0.0"
-is-my-json-valid@^2.12.4:
+is-my-json-valid@^2.12.0, is-my-json-valid@^2.12.4:
version "2.15.0"
resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b"
dependencies:
@@ -1661,7 +1763,7 @@ isobject@^2.0.0:
dependencies:
isarray "1.0.0"
-isstream@~0.1.2:
+isstream@~0.1.1, isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
@@ -1729,13 +1831,13 @@ istanbul-reports@^1.0.0:
dependencies:
handlebars "^4.0.3"
-jest-changed-files@^19.0.0:
- version "19.0.0"
- resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-19.0.0.tgz#8c1a43a4ffccbcb8ae12e819104585adf2ed93a6"
+jest-changed-files@^19.0.2:
+ version "19.0.2"
+ resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-19.0.2.tgz#16c54c84c3270be408e06d2e8af3f3e37a885824"
-jest-cli@^19.0.1:
- version "19.0.1"
- resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-19.0.1.tgz#79630200c3a33a0b15e81b369cf60c35552722c8"
+jest-cli@^19.0.2:
+ version "19.0.2"
+ resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-19.0.2.tgz#cc3620b62acac5f2d93a548cb6ef697d4ec85443"
dependencies:
ansi-escapes "^1.4.0"
callsites "^2.0.0"
@@ -1745,17 +1847,17 @@ jest-cli@^19.0.1:
istanbul-api "^1.1.0-alpha.1"
istanbul-lib-coverage "^1.0.0"
istanbul-lib-instrument "^1.1.1"
- jest-changed-files "^19.0.0"
- jest-config "^19.0.1"
- jest-environment-jsdom "^19.0.1"
+ jest-changed-files "^19.0.2"
+ jest-config "^19.0.2"
+ jest-environment-jsdom "^19.0.2"
jest-haste-map "^19.0.0"
- jest-jasmine2 "^19.0.1"
+ jest-jasmine2 "^19.0.2"
jest-message-util "^19.0.0"
jest-regex-util "^19.0.0"
jest-resolve-dependencies "^19.0.0"
- jest-runtime "^19.0.1"
- jest-snapshot "^19.0.1"
- jest-util "^19.0.1"
+ jest-runtime "^19.0.2"
+ jest-snapshot "^19.0.2"
+ jest-util "^19.0.2"
micromatch "^2.3.11"
node-notifier "^5.0.1"
slash "^1.0.0"
@@ -1765,17 +1867,17 @@ jest-cli@^19.0.1:
worker-farm "^1.3.1"
yargs "^6.3.0"
-jest-config@^19.0.1:
- version "19.0.1"
- resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-19.0.1.tgz#a50698aca3b70949ff4e3898d339a13e166d8fb8"
+jest-config@^19.0.2:
+ version "19.0.2"
+ resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-19.0.2.tgz#1b9bd2db0ddd16df61c2b10a54009e1768da6411"
dependencies:
chalk "^1.1.1"
- jest-environment-jsdom "^19.0.1"
- jest-environment-node "^19.0.1"
- jest-jasmine2 "^19.0.1"
+ jest-environment-jsdom "^19.0.2"
+ jest-environment-node "^19.0.2"
+ jest-jasmine2 "^19.0.2"
jest-regex-util "^19.0.0"
- jest-resolve "^19.0.0"
- jest-validate "^19.0.0"
+ jest-resolve "^19.0.2"
+ jest-validate "^19.0.2"
pretty-format "^19.0.0"
jest-diff@^19.0.0:
@@ -1787,24 +1889,24 @@ jest-diff@^19.0.0:
jest-matcher-utils "^19.0.0"
pretty-format "^19.0.0"
-jest-environment-jsdom@^19.0.1:
- version "19.0.1"
- resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-19.0.1.tgz#baf16bb10cbd54f3b9a3edb8fd88d11282b11f99"
+jest-environment-jsdom@^19.0.2:
+ version "19.0.2"
+ resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-19.0.2.tgz#ceda859c4a4b94ab35e4de7dab54b926f293e4a3"
dependencies:
jest-mock "^19.0.0"
- jest-util "^19.0.1"
+ jest-util "^19.0.2"
jsdom "^9.11.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@^19.0.1:
- version "19.0.1"
- resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-19.0.1.tgz#5a9170437bb8b99da139d79f01de20e8e37a3e34"
+jest-environment-node@^19.0.2:
+ version "19.0.2"
+ resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-19.0.2.tgz#6e84079db87ed21d0c05e1f9669f207b116fe99b"
dependencies:
jest-mock "^19.0.0"
- jest-util "^19.0.1"
+ jest-util "^19.0.2"
jest-file-exists@^19.0.0:
version "19.0.0"
@@ -1820,15 +1922,15 @@ jest-haste-map@^19.0.0:
sane "~1.5.0"
worker-farm "^1.3.1"
-jest-jasmine2@^19.0.1:
- version "19.0.1"
- resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-19.0.1.tgz#9a9ee34573fc15c4856ec32e65a0865ee878756e"
+jest-jasmine2@^19.0.2:
+ version "19.0.2"
+ resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-19.0.2.tgz#167991ac825981fb1a800af126e83afcca832c73"
dependencies:
graceful-fs "^4.1.6"
jest-matcher-utils "^19.0.0"
jest-matchers "^19.0.0"
jest-message-util "^19.0.0"
- jest-snapshot "^19.0.1"
+ jest-snapshot "^19.0.2"
jest-junit-reporter@^1.0.1:
version "1.0.1"
@@ -1873,62 +1975,62 @@ jest-resolve-dependencies@^19.0.0:
dependencies:
jest-file-exists "^19.0.0"
-jest-resolve@^19.0.0:
- version "19.0.0"
- resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-19.0.0.tgz#83e6166d58ad9e31c8503e54b215e30ca56cb5ae"
+jest-resolve@^19.0.2:
+ version "19.0.2"
+ resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-19.0.2.tgz#5793575de4f07aec32f7d7ff0c6c181963eefb3c"
dependencies:
browser-resolve "^1.11.2"
jest-haste-map "^19.0.0"
resolve "^1.2.0"
-jest-runtime@^19.0.1:
- version "19.0.1"
- resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-19.0.1.tgz#7b584cbc690a500d9da148aba6a109bc9266a6b1"
+jest-runtime@^19.0.2:
+ version "19.0.2"
+ resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-19.0.2.tgz#d9a43e72de416d27d196fd9c7940d98fe6685407"
dependencies:
babel-core "^6.0.0"
babel-jest "^19.0.0"
babel-plugin-istanbul "^4.0.0"
chalk "^1.1.3"
graceful-fs "^4.1.6"
- jest-config "^19.0.1"
+ jest-config "^19.0.2"
jest-file-exists "^19.0.0"
jest-haste-map "^19.0.0"
jest-regex-util "^19.0.0"
- jest-resolve "^19.0.0"
- jest-util "^19.0.1"
+ jest-resolve "^19.0.2"
+ jest-util "^19.0.2"
json-stable-stringify "^1.0.1"
micromatch "^2.3.11"
strip-bom "3.0.0"
yargs "^6.3.0"
-jest-snapshot@^19.0.1:
- version "19.0.1"
- resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-19.0.1.tgz#5b8161f737b63b6973f7e6e222b473970b5a69d1"
+jest-snapshot@^19.0.2:
+ version "19.0.2"
+ resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-19.0.2.tgz#9c1b216214f7187c38bfd5c70b1efab16b0ff50b"
dependencies:
chalk "^1.1.3"
jest-diff "^19.0.0"
jest-file-exists "^19.0.0"
jest-matcher-utils "^19.0.0"
- jest-util "^19.0.1"
+ jest-util "^19.0.2"
natural-compare "^1.4.0"
pretty-format "^19.0.0"
-jest-util@^19.0.1:
- version "19.0.1"
- resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-19.0.1.tgz#27235211a21280b42bc7c84d8f69e4e07c72cf9f"
+jest-util@^19.0.2:
+ version "19.0.2"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-19.0.2.tgz#e0a0232a2ab9e6b2b53668bdb3534c2b5977ed41"
dependencies:
chalk "^1.1.1"
graceful-fs "^4.1.6"
jest-file-exists "^19.0.0"
jest-message-util "^19.0.0"
jest-mock "^19.0.0"
- jest-validate "^19.0.0"
+ jest-validate "^19.0.2"
leven "^2.0.0"
mkdirp "^0.5.1"
-jest-validate@^19.0.0:
- version "19.0.0"
- resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-19.0.0.tgz#8c6318a20ecfeaba0ba5378bfbb8277abded4173"
+jest-validate@^19.0.2:
+ version "19.0.2"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-19.0.2.tgz#dc534df5f1278d5b63df32b14241d4dbf7244c0c"
dependencies:
chalk "^1.1.1"
jest-matcher-utils "^19.0.0"
@@ -2019,7 +2121,7 @@ json-stable-stringify@^1.0.1:
dependencies:
jsonify "~0.0.0"
-json-stringify-safe@~5.0.1:
+json-stringify-safe@~5.0.0, json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
@@ -2055,7 +2157,7 @@ kind-of@^3.0.2:
dependencies:
is-buffer "^1.0.2"
-klaw@~1.3.0:
+klaw@^1.0.0, klaw@~1.3.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
optionalDependencies:
@@ -2261,6 +2363,10 @@ micromatch@^2.1.5, micromatch@^2.3.11:
parse-glob "^3.0.4"
regex-cache "^0.4.2"
+mime-db@~1.12.0:
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7"
+
mime-db@~1.26.0:
version "1.26.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff"
@@ -2271,6 +2377,12 @@ mime-types@^2.1.12, mime-types@~2.1.7:
dependencies:
mime-db "~1.26.0"
+mime-types@~2.0.1, mime-types@~2.0.3:
+ version "2.0.14"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz#310e159db23e077f8bb22b748dabfa4957140aa6"
+ dependencies:
+ mime-db "~1.12.0"
+
mime@^1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
@@ -2303,6 +2415,14 @@ mkpath@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/mkpath/-/mkpath-0.1.0.tgz#7554a6f8d871834cc97b5462b122c4c124d6de91"
+mksnapshot@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/mksnapshot/-/mksnapshot-0.3.0.tgz#32ea984ad6f532324c6a3fae6400876b85828407"
+ dependencies:
+ decompress-zip "0.3.0"
+ fs-extra "0.26.7"
+ request "2.55.0"
+
ms@0.7.2:
version "0.7.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
@@ -2342,6 +2462,10 @@ node-status-codes@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f"
+node-uuid@~1.4.0:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f"
+
nopt@^3.0.1:
version "3.0.6"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
@@ -2393,6 +2517,10 @@ number-is-nan@^1.0.0:
version "1.3.9"
resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.3.9.tgz#8bab486ff7fa3dfd086656bbe8b17116d3692d2a"
+oauth-sign@~0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.6.0.tgz#7dbeae44f6ca454e1f168451d630746735813ce3"
+
oauth-sign@~0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
@@ -2652,6 +2780,10 @@ q@^1.1.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e"
+qs@~2.4.0:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-2.4.2.tgz#f7ce788e5777df0b5010da7f7c4e73ba32470f5a"
+
qs@~6.3.0:
version "6.3.1"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.1.tgz#918c0b3bcd36679772baf135b1acb4c1651ed79d"
@@ -2725,6 +2857,15 @@ readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5:
string_decoder "~0.10.x"
util-deprecate "~1.0.1"
+readable-stream@~1.0.26:
+ version "1.0.34"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
redent@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
@@ -2769,7 +2910,30 @@ repeating@^2.0.0:
dependencies:
is-finite "^1.0.0"
-request@^2.45.0, request@^2.79.0:
+request@2.55.0, request@^2.45.0:
+ version "2.55.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.55.0.tgz#d75c1cdf679d76bb100f9bffe1fe551b5c24e93d"
+ dependencies:
+ aws-sign2 "~0.5.0"
+ bl "~0.9.0"
+ caseless "~0.9.0"
+ combined-stream "~0.0.5"
+ forever-agent "~0.6.0"
+ form-data "~0.2.0"
+ har-validator "^1.4.0"
+ hawk "~2.3.0"
+ http-signature "~0.10.0"
+ isstream "~0.1.1"
+ json-stringify-safe "~5.0.0"
+ mime-types "~2.0.1"
+ node-uuid "~1.4.0"
+ oauth-sign "~0.6.0"
+ qs "~2.4.0"
+ stringstream "~0.0.4"
+ tough-cookie ">=0.12.0"
+ tunnel-agent "~0.4.0"
+
+request@^2.79.0:
version "2.79.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
dependencies:
@@ -2817,8 +2981,10 @@ resolve@1.1.7:
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
resolve@^1.1.7, resolve@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c"
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.1.tgz#5d0a1632609b6b00a22284293db1d5d973676314"
+ dependencies:
+ path-parse "^1.0.5"
restore-cursor@^2.0.0:
version "2.0.0"
@@ -2833,9 +2999,9 @@ right-align@^0.1.1:
dependencies:
align-text "^0.1.1"
-rimraf@^2.4.3, rimraf@^2.4.4:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.0.tgz#89b8a0fe432b9ff9ec9a925a00b6cdb3a91bbada"
+rimraf@^2.2.8, rimraf@^2.4.3, rimraf@^2.4.4:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
dependencies:
glob "^7.0.5"
@@ -3131,6 +3297,12 @@ timed-out@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
+tmp@0.0.28:
+ version "0.0.28"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.28.tgz#172735b7f614ea7af39664fa84cf0de4e515d120"
+ dependencies:
+ os-tmpdir "~1.0.1"
+
tmp@^0.0.31:
version "0.0.31"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7"
@@ -3151,7 +3323,7 @@ touch@0.0.3:
dependencies:
nopt "~1.0.10"
-tough-cookie@^2.3.2, tough-cookie@~2.3.0:
+tough-cookie@>=0.12.0, tough-cookie@^2.3.2, tough-cookie@~2.3.0:
version "2.3.2"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
dependencies:
@@ -3205,7 +3377,7 @@ tslint@^4.4.2:
resolve "^1.1.7"
update-notifier "^1.0.2"
-tunnel-agent@^0.4.3, tunnel-agent@~0.4.1:
+tunnel-agent@^0.4.3, tunnel-agent@~0.4.0, tunnel-agent@~0.4.1:
version "0.4.3"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"