diff --git a/.idea/dictionaries/develar.xml b/.idea/dictionaries/develar.xml
index 4e818960e1a..a5c1e1a0357 100644
--- a/.idea/dictionaries/develar.xml
+++ b/.idea/dictionaries/develar.xml
@@ -14,9 +14,11 @@
archiver
archs
aspx
+ atexit
atime
authenticode
awaiter
+ bashism
bintray
buildpack
chown
@@ -160,6 +162,7 @@
xenial
xorriso
yargs
+ zenity
zisofs
diff --git a/docs/Options.md b/docs/Options.md
index 8377ba06eca..67d10d9ff07 100644
--- a/docs/Options.md
+++ b/docs/Options.md
@@ -147,6 +147,7 @@ Linux specific build options.
| desktop | The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries.
| compression | *deb-only.* The compression type, one of `gz`, `bzip2`, `xz`. Defaults to `xz`.
| depends | Package dependencies. Defaults to `["libappindicator1", "libnotify-bin"]`.
+| executableName |
The executable name. Defaults to productName
.
Cannot be specified per target, allowed only in the .build.linux
.
### `.build.mac`
diff --git a/nsis-auto-updater/tsconfig.json b/nsis-auto-updater/tsconfig.json
index 2ad916c3ae4..ab901c69e6b 100755
--- a/nsis-auto-updater/tsconfig.json
+++ b/nsis-auto-updater/tsconfig.json
@@ -12,6 +12,7 @@
"strictNullChecks": true,
"noEmitHelpers": true,
"noFallthroughCasesInSwitch": true,
+ "noUnusedLocals": true,
"skipLibCheck": true
},
"declaration": {
diff --git a/package.json b/package.json
index 19d0dce32ca..be26cf7550a 100644
--- a/package.json
+++ b/package.json
@@ -113,7 +113,7 @@
"json8": "^0.9.2",
"path-sort": "^0.1.0",
"ts-babel": "^1.1.3",
- "tslint": "^4.0.0-dev.0",
+ "tslint": "^4.0.0-dev.1",
"typescript": "^2.1.0-dev.20161101",
"validate-commit-msg": "^2.8.2",
"whitespace": "^2.1.0"
diff --git a/src/linuxPackager.ts b/src/linuxPackager.ts
index aad4907ce7b..cacbebbde74 100755
--- a/src/linuxPackager.ts
+++ b/src/linuxPackager.ts
@@ -8,10 +8,16 @@ import { LinuxTargetHelper } from "./targets/LinuxTargetHelper"
import AppImageTarget from "./targets/appImage"
import { rename } from "fs-extra-p"
import { LinuxBuildOptions } from "./options/linuxOptions"
+import sanitizeFileName from "sanitize-filename"
export class LinuxPackager extends PlatformPackager {
+ readonly executableName: string
+
constructor(info: BuildInfo) {
super(info)
+
+ let executableName = this.platformSpecificBuildOptions.executableName
+ this.executableName = sanitizeFileName(executableName == null ? this.appInfo.name : executableName)
}
normalizePlatformSpecificBuildOptions(options: LinuxBuildOptions | n): LinuxBuildOptions {
@@ -64,7 +70,7 @@ export class LinuxPackager extends PlatformPackager {
}
protected postInitApp(appOutDir: string): Promise {
- return rename(path.join(appOutDir, "electron"), path.join(appOutDir, this.appInfo.productFilename))
+ return rename(path.join(appOutDir, "electron"), path.join(appOutDir, this.executableName))
}
protected async packageInDistributableFormat(outDir: string, appOutDir: string, arch: Arch, targets: Array): Promise {
diff --git a/src/options/linuxOptions.ts b/src/options/linuxOptions.ts
index 3af2ae9b16a..6573b3355dc 100644
--- a/src/options/linuxOptions.ts
+++ b/src/options/linuxOptions.ts
@@ -65,4 +65,11 @@ export interface LinuxBuildOptions extends PlatformSpecificBuildOptions {
Package dependencies. Defaults to `["libappindicator1", "libnotify-bin"]`.
*/
readonly depends?: string[] | null
+
+ /*
+ The executable name. Defaults to `productName`.
+
+ Cannot be specified per target, allowed only in the `.build.linux`.
+ */
+ readonly executableName?: string | null
}
diff --git a/src/publish/BintrayPublisher.ts b/src/publish/BintrayPublisher.ts
index 13a0c8067a3..8274f07ce82 100644
--- a/src/publish/BintrayPublisher.ts
+++ b/src/publish/BintrayPublisher.ts
@@ -14,7 +14,7 @@ export class BintrayPublisher implements Publisher {
private readonly client: BintrayClient
- constructor(private readonly info: BintrayOptions, private readonly version: string, private readonly options: PublishOptions = {}) {
+ constructor(info: BintrayOptions, private readonly version: string, private readonly options: PublishOptions = {}) {
let token = info.token
if (isEmptyOrSpaces(token)) {
token = process.env.BT_TOKEN
diff --git a/src/targets/LinuxTargetHelper.ts b/src/targets/LinuxTargetHelper.ts
index 1a1cd180a72..b20ddd836e9 100644
--- a/src/targets/LinuxTargetHelper.ts
+++ b/src/targets/LinuxTargetHelper.ts
@@ -1,9 +1,9 @@
import { readdir, outputFile, ensureDir } from "fs-extra-p"
import * as path from "path"
import { exec, debug, isEmptyOrSpaces } from "../util/util"
-import { PlatformPackager } from "../platformPackager"
import BluebirdPromise from "bluebird-lst-c"
import { LinuxBuildOptions } from "../options/linuxOptions"
+import { LinuxPackager } from "../linuxPackager"
export const installPrefix = "/opt"
@@ -12,7 +12,7 @@ export class LinuxTargetHelper {
maxIconPath: string | null = null
- constructor(private packager: PlatformPackager) {
+ constructor(private packager: LinuxPackager) {
this.icons = this.computeDesktopIcons()
}
@@ -72,7 +72,7 @@ export class LinuxTargetHelper {
const desktopMeta: any = Object.assign({
Name: appInfo.productName,
Comment: platformSpecificBuildOptions.description || appInfo.description,
- Exec: exec == null ? `"${installPrefix}/${productFilename}/${productFilename}"` : exec,
+ Exec: exec == null ? `"${installPrefix}/${productFilename}/${this.packager.executableName}"` : exec,
Terminal: "false",
Type: "Application",
Icon: appInfo.name,
diff --git a/src/targets/appImage.ts b/src/targets/appImage.ts
index d81fc81ab5d..e9b70749a2f 100644
--- a/src/targets/appImage.ts
+++ b/src/targets/appImage.ts
@@ -1,4 +1,4 @@
-import { PlatformPackager, TargetEx } from "../platformPackager"
+import { TargetEx } from "../platformPackager"
import { Arch } from "../metadata"
import * as path from "path"
import { exec, unlinkIfExists } from "../util/util"
@@ -7,7 +7,7 @@ import { LinuxTargetHelper } from "./LinuxTargetHelper"
import { getBin } from "../util/binDownload"
import BluebirdPromise from "bluebird-lst-c"
import { v1 as uuid1 } from "uuid-1345"
-import { LinuxBuildOptions } from "../options/linuxOptions"
+import { LinuxPackager } from "../linuxPackager"
const appImageVersion = process.platform === "darwin" ? "AppImage-09-07-16-mac" : "AppImage-09-07-16-linux"
//noinspection SpellCheckingInspection
@@ -19,7 +19,7 @@ export default class AppImageTarget extends TargetEx {
private readonly options = Object.assign({}, this.packager.platformSpecificBuildOptions, (this.packager.devMetadata.build)[this.name])
private readonly desktopEntry: Promise
- constructor(private packager: PlatformPackager, private helper: LinuxTargetHelper, private outDir: string) {
+ constructor(private packager: LinuxPackager, private helper: LinuxTargetHelper, private outDir: string) {
super("appImage")
// we add X-AppImage-BuildId to ensure that new desktop file will be installed
@@ -35,11 +35,9 @@ export default class AppImageTarget extends TargetEx {
// avoid spaces in the file name
const image = path.join(this.outDir, packager.generateName("AppImage", arch, true))
- const appInfo = packager.appInfo
await unlinkIfExists(image)
const appImagePath = await appImagePathPromise
- const appExecutableImagePath = `/usr/bin/${appInfo.name}`
const args = [
"-joliet", "on",
"-volid", "AppImage",
@@ -47,10 +45,8 @@ export default class AppImageTarget extends TargetEx {
"-padding", "0",
"-map", appOutDir, "/usr/bin",
"-map", path.join(__dirname, "..", "..", "templates", "linux", "AppRun.sh"), "/AppRun",
- "-map", await this.desktopEntry, `/${appInfo.name}.desktop`,
- "-move", `/usr/bin/${appInfo.productFilename}`, appExecutableImagePath,
- // http://stackoverflow.com/questions/13633488/can-i-store-unix-permissions-in-a-zip-file-built-with-apache-ant, xorriso doesn't preserve it for zip, but we set it in any case
- "-chmod", "+x", "/AppRun", appExecutableImagePath, "--",
+ // we get executable name in the AppRun by desktop file name, so, must be named as executable
+ "-map", await this.desktopEntry, `/${this.packager.executableName}.desktop`,
]
for (let [from, to] of (await this.helper.icons)) {
args.push("-map", from, `/usr/share/icons/default/${to}`)
diff --git a/src/targets/fpm.ts b/src/targets/fpm.ts
index 650ad365af5..6d1ec8eb2c0 100644
--- a/src/targets/fpm.ts
+++ b/src/targets/fpm.ts
@@ -1,5 +1,5 @@
import { Arch } from "../metadata"
-import { smarten, PlatformPackager, TargetEx } from "../platformPackager"
+import { smarten, TargetEx } from "../platformPackager"
import { use, exec } from "../util/util"
import * as path from "path"
import { getBin } from "../util/binDownload"
@@ -8,7 +8,7 @@ import BluebirdPromise from "bluebird-lst-c"
import { LinuxTargetHelper, installPrefix } from "./LinuxTargetHelper"
import * as errorMessages from "../errorMessages"
import { TmpDir } from "../util/tmp"
-import { LinuxBuildOptions } from "../options/linuxOptions"
+import { LinuxPackager } from "../linuxPackager"
const template = require("lodash.template")
@@ -33,7 +33,7 @@ export default class FpmTarget extends TargetEx {
private readonly scriptFiles: Promise>
private readonly desktopEntry: Promise
- constructor(name: string, private packager: PlatformPackager, private helper: LinuxTargetHelper, private outDir: string) {
+ constructor(name: string, private packager: LinuxPackager, private helper: LinuxTargetHelper, private outDir: string) {
super(name)
this.scriptFiles = this.createScripts()
@@ -46,7 +46,7 @@ export default class FpmTarget extends TargetEx {
const packager = this.packager
const templateOptions = Object.assign({
// old API compatibility
- executable: packager.appInfo.productFilename,
+ executable: this.packager.executableName,
}, packager.platformSpecificBuildOptions)
function getResource(value: string | n, defaultFile: string) {
diff --git a/test/src/BuildTest.ts b/test/src/BuildTest.ts
index 13e35eb5661..2c297f8478f 100755
--- a/test/src/BuildTest.ts
+++ b/test/src/BuildTest.ts
@@ -234,7 +234,11 @@ test.ifDevOrLinuxCi("extra metadata", () => {
foo: {
bar: 12,
},
- productName: "NewName"
+ build: {
+ linux: {
+ executableName: "NewName"
+ }
+ }
}
return assertPack("test-app-one", {
targets: Platform.LINUX.createTarget(DIR_TARGET),
@@ -260,7 +264,11 @@ test.ifDevOrLinuxCi("extra metadata", () => {
test.ifDevOrLinuxCi("extra metadata - two", () => {
const extraMetadata = {
- productName: "NewName"
+ build: {
+ linux: {
+ executableName: "NewName"
+ }
+ }
}
return assertPack("test-app", {
targets: Platform.LINUX.createTarget(DIR_TARGET),
diff --git a/test/src/helpers/fileAssert.ts b/test/src/helpers/fileAssert.ts
index 71628624e3e..7339def6ef8 100644
--- a/test/src/helpers/fileAssert.ts
+++ b/test/src/helpers/fileAssert.ts
@@ -48,7 +48,7 @@ class Assertions {
compare(this.actual.slice().sort(), Array.from(expected).slice().sort())
}
- hasProperties(expected: any) {
+ hasProperties(expected: any) {
const actual = Object.create(null)
for (let name of Object.getOwnPropertyNames(this.actual)) {
if (name in expected) {
diff --git a/test/src/helpers/packTester.ts b/test/src/helpers/packTester.ts
index e674f8dc6c0..ce2bc873fdd 100755
--- a/test/src/helpers/packTester.ts
+++ b/test/src/helpers/packTester.ts
@@ -208,7 +208,7 @@ async function checkLinuxResult(outDir: string, packager: Packager, checkOptions
const productFilename = appInfo.productFilename
const expectedContents = pathSorter(expectedLinuxContents.map(it => {
if (it === "/opt/TestApp/TestApp") {
- return `/opt/${productFilename}/${productFilename}`
+ return `/opt/${productFilename}/TestApp`
}
else if (it === "/usr/share/applications/TestApp.desktop") {
return `/usr/share/applications/${productFilename}.desktop`
diff --git a/test/src/linuxPackagerTest.ts b/test/src/linuxPackagerTest.ts
index 990079ffa36..9a293dc7357 100755
--- a/test/src/linuxPackagerTest.ts
+++ b/test/src/linuxPackagerTest.ts
@@ -11,7 +11,16 @@ test.ifNotWindows("arm deb", app({targets: Platform.LINUX.createTarget("deb", Ar
test.ifDevOrLinuxCi("AppImage", app({targets: Platform.LINUX.createTarget()}))
-test.ifDevOrLinuxCi("AppImage - default icon", app({targets: Platform.LINUX.createTarget("appimage")}, {
+test.ifDevOrLinuxCi("AppImage - default icon", app({
+ targets: Platform.LINUX.createTarget("appimage"),
+ devMetadata: {
+ build: {
+ linux: {
+ executableName: "foo",
+ }
+ }
+ }
+}, {
projectDirCreated: projectDir => remove(path.join(projectDir, "build"))
}))
diff --git a/test/tsconfig.json b/test/tsconfig.json
index 4298c72ea22..37aa9ef99b5 100755
--- a/test/tsconfig.json
+++ b/test/tsconfig.json
@@ -12,6 +12,7 @@
"noImplicitReturns": true,
"noEmitHelpers": true,
"noFallthroughCasesInSwitch": true,
+ "noUnusedLocals": true,
"skipLibCheck": true
},
"rootDirs": [
diff --git a/tsconfig.json b/tsconfig.json
index 9abbbfec8e2..74ec902d730 100755
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -12,6 +12,7 @@
"strictNullChecks": true,
"noEmitHelpers": true,
"noFallthroughCasesInSwitch": true,
+ "noUnusedLocals": true,
"skipLibCheck": true
},
"declaration": {
diff --git a/tslint.json b/tslint.json
index 1ea19379d63..3758d0785ff 100644
--- a/tslint.json
+++ b/tslint.json
@@ -5,9 +5,6 @@
"static-before-instance",
"variables-before-functions"
],
- "no-unused-variable": [
- true
- ],
"one-line": [
true,
"check-open-brace",
diff --git a/yarn.lock b/yarn.lock
index bce0f8def15..d24e36a38b9 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -90,8 +90,8 @@ align-text@^0.1.1, align-text@^0.1.3:
repeat-string "^1.5.2"
amdefine@>=0.0.4:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.0.tgz#fd17474700cb5cc9c2b709f0be9d23ce3c198c33"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
ansi-align@^1.1.0:
version "1.1.0"
@@ -138,8 +138,8 @@ archiver-utils@^1.3.0:
readable-stream "^2.0.0"
archiver@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/archiver/-/archiver-1.1.0.tgz#e1e8c4d356cf155308f351d60cc18cb6fb2344ee"
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/archiver/-/archiver-1.2.0.tgz#fb5c6af5443b3fa6a426344753bad2a7b444aadd"
dependencies:
archiver-utils "^1.3.0"
async "^2.0.0"
@@ -379,8 +379,8 @@ babel-code-frame@^6.16.0:
js-tokens "^2.0.0"
babel-core@^6.17.0, babel-core@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.18.0.tgz#bb5ce9bc0a956e6e94e2f12d597abb3b0b330deb"
+ version "6.18.2"
+ resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.18.2.tgz#d8bb14dd6986fa4f3566a26ceda3964fa0e04e5b"
dependencies:
babel-code-frame "^6.16.0"
babel-generator "^6.18.0"
@@ -1228,10 +1228,8 @@ co-with-promise@^4.6.0:
pinkie-promise "^1.0.0"
code-point-at@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.0.1.tgz#1104cd34f9b5b45d3eba88f1babc1924e1ce35fb"
- dependencies:
- number-is-nan "^1.0.0"
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
color-convert@~0.5.0:
version "0.5.3"
@@ -1621,10 +1619,6 @@ dezalgo@^1.0.0, dezalgo@^1.0.1:
asap "^2.0.0"
wrappy "1"
-diff@^2.2.1:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99"
-
diff@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/diff/-/diff-3.0.1.tgz#a52d90cc08956994be00877bff97110062582c35"
@@ -1905,8 +1899,8 @@ fs.realpath@^1.0.0:
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
fsevents@^1.0.0:
- version "1.0.14"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.14.tgz#558e8cc38643d8ef40fe45158486d0d25758eee4"
+ version "1.0.15"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.15.tgz#fa63f590f3c2ad91275e4972a6cea545fb0aae44"
dependencies:
nan "^2.3.0"
node-pre-gyp "^0.6.29"
@@ -2065,7 +2059,7 @@ glob@^6.0.0, glob@^6.0.1:
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.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
dependencies:
@@ -2101,12 +2095,11 @@ globby@^6.0.0:
pinkie-promise "^2.0.0"
got@^5.0.0:
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/got/-/got-5.6.0.tgz#bb1d7ee163b78082bbc8eb836f3f395004ea6fbf"
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35"
dependencies:
create-error-class "^3.0.1"
duplexer2 "^0.1.4"
- is-plain-obj "^1.0.0"
is-redirect "^1.0.0"
is-retry-allowed "^1.0.0"
is-stream "^1.0.0"
@@ -2117,13 +2110,13 @@ got@^5.0.0:
pinkie-promise "^2.0.0"
read-all-stream "^3.0.0"
readable-stream "^2.0.5"
- timed-out "^2.0.0"
- unzip-response "^1.0.0"
+ timed-out "^3.0.0"
+ unzip-response "^1.0.2"
url-parse-lax "^1.0.0"
graceful-fs@^4.1.0, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
- version "4.1.9"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29"
+ version "4.1.10"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.10.tgz#f2d720c22092f743228775c75e3612632501f131"
"graceful-readlink@>= 1.0.0":
version "1.0.1"
@@ -2693,8 +2686,8 @@ lodash@^3.6.0:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
lodash@^4.0.0, lodash@^4.14.0, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.5.1, lodash@^4.8.0:
- version "4.16.5"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.5.tgz#77d88feac548009b1a5c4ca7b49ac431ce346ae8"
+ version "4.16.6"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777"
longest@^1.0.1:
version "1.0.1"
@@ -2737,8 +2730,8 @@ map-stream@~0.1.0:
resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194"
markdown-it@^8.0.1:
- version "8.0.1"
- resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.0.1.tgz#ff60e2103d17896cb6c57407baa9766f916495cb"
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.1.0.tgz#38902d4e7bac2260c073eb67be623211fbb2c2e3"
dependencies:
argparse "^1.0.7"
entities "~1.1.1"
@@ -3515,8 +3508,8 @@ repeating@^3.0.0:
resolved "https://registry.yarnpkg.com/repeating/-/repeating-3.0.0.tgz#f4c376fdd2015761f6f96f4303b1224d581e802f"
request@^2.45.0, request@^2.74.0, request@^2.75.0:
- version "2.76.0"
- resolved "https://registry.yarnpkg.com/request/-/request-2.76.0.tgz#be44505afef70360a0436955106be3945d95560e"
+ version "2.78.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc"
dependencies:
aws-sign2 "~0.6.0"
aws4 "^1.2.1"
@@ -3911,9 +3904,9 @@ time-require@^0.1.2:
pretty-ms "^0.2.1"
text-table "^0.2.0"
-timed-out@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz#f38b0ae81d3747d628001f41dafc652ace671c0a"
+timed-out@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.0.0.tgz#ff88de96030ce960eabd42487db61d3add229273"
to-fast-properties@^1.0.1:
version "1.0.2"
@@ -3965,13 +3958,13 @@ ts-babel@^1.1.3:
source-map-support "^0.4.5"
tslint@^4.0.0-dev.0:
- version "4.0.0-dev.0"
- resolved "https://registry.yarnpkg.com/tslint/-/tslint-4.0.0-dev.0.tgz#38826e164299c0fefb024a5587d391a430e0a6be"
+ version "4.0.0-dev.1"
+ resolved "https://registry.yarnpkg.com/tslint/-/tslint-4.0.0-dev.1.tgz#10146c7ff47e18ce41315c146ff03dbdb5eb8abc"
dependencies:
colors "^1.1.2"
- diff "^2.2.1"
+ diff "^3.0.1"
findup-sync "~0.3.0"
- glob "^7.0.3"
+ glob "^7.1.1"
optimist "~0.6.0"
resolve "^1.1.7"
underscore.string "^3.3.4"
@@ -3992,9 +3985,9 @@ typedarray@~0.0.5:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-typescript@^2.1.0-dev.20161029:
- version "2.1.0-dev.20161101"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.1.0-dev.20161101.tgz#c2abfbb4eaf2be5972d95799ebdce28d73a239af"
+typescript@^2.1.0-dev.20161101:
+ version "2.1.0-dev.20161103"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.1.0-dev.20161103.tgz#747a2e148526cd10d8e7723e731bdbbf57f3b65e"
uc.micro@^1.0.1, uc.micro@^1.0.3:
version "1.0.3"
@@ -4036,9 +4029,9 @@ unique-temp-dir@^1.0.0:
os-tmpdir "^1.0.1"
uid2 "0.0.3"
-unzip-response@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.1.tgz#4a73959f2989470fa503791cefb54e1dbbc68412"
+unzip-response@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe"
update-notifier@^1.0.2:
version "1.0.2"