summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLawnCable <lawnCable.tmw2.dev@simonlaux.de>2018-09-29 13:11:48 +0200
committerLawnCable <lawnCable.tmw2.dev@simonlaux.de>2018-09-29 13:11:48 +0200
commit358f56745b05965c1fcee003d5aa322388d28155 (patch)
tree56a4d7847773e9714336e9301f4a26e33f339be4
parent972a06b26e2123ebcaa0debf49755ed67c42a96f (diff)
downloadelectron-358f56745b05965c1fcee003d5aa322388d28155.tar.gz
electron-358f56745b05965c1fcee003d5aa322388d28155.tar.bz2
electron-358f56745b05965c1fcee003d5aa322388d28155.tar.xz
electron-358f56745b05965c1fcee003d5aa322388d28155.zip
added linux support per appImage
-rw-r--r--package-lock.json624
-rw-r--r--package.json3
-rw-r--r--src/main/manaplus/manaApp/linux.ts124
-rw-r--r--src/main/manaplus/manaApp/windows.ts2
-rw-r--r--src/main/manaplus/manaplus.ts14
5 files changed, 464 insertions, 303 deletions
diff --git a/package-lock.json b/package-lock.json
index cda0f9f..2f43e32 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "mana-launcher",
- "version": "1.0.0",
+ "version": "1.0.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -14,7 +14,7 @@
"resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.2.tgz",
"integrity": "sha512-Q3FWsbdmkQd1ib11A4XNWQvRD//5KpPoGawA8aB2DR7pWKoW9XQv3+dGxD/Z1eVFze23Okdo27ZQytVFlweKvQ==",
"requires": {
- "@types/node": "8.10.17"
+ "@types/node": "*"
}
},
"@types/node": {
@@ -33,10 +33,10 @@
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"requires": {
- "co": "4.6.0",
- "fast-deep-equal": "1.1.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
+ "co": "^4.6.0",
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0"
}
},
"ansi-regex": {
@@ -57,13 +57,13 @@
"integrity": "sha512-+hNnVVDmYbv05We/a9knj/98w171+A94A9DNHj+3kXUr3ENTQoSEcfbJRvBBRHyOh4vukBYWujmHvvaMmQoQbg==",
"dev": true,
"requires": {
- "chromium-pickle-js": "0.2.0",
- "commander": "2.15.1",
- "cuint": "0.2.2",
- "glob": "6.0.4",
- "minimatch": "3.0.4",
- "mkdirp": "0.5.0",
- "mksnapshot": "0.3.1",
+ "chromium-pickle-js": "^0.2.0",
+ "commander": "^2.9.0",
+ "cuint": "^0.2.1",
+ "glob": "^6.0.4",
+ "minimatch": "^3.0.3",
+ "mkdirp": "^0.5.0",
+ "mksnapshot": "^0.3.0",
"tmp": "0.0.28"
},
"dependencies": {
@@ -73,11 +73,11 @@
"integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
"dev": true,
"requires": {
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "2 || 3",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
}
}
}
@@ -136,7 +136,7 @@
"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
"optional": true,
"requires": {
- "tweetnacl": "0.14.5"
+ "tweetnacl": "^0.14.3"
}
},
"binary": {
@@ -145,8 +145,8 @@
"integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=",
"dev": true,
"requires": {
- "buffers": "0.1.1",
- "chainsaw": "0.1.0"
+ "buffers": "~0.1.1",
+ "chainsaw": "~0.1.0"
}
},
"bluebird": {
@@ -161,7 +161,7 @@
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
- "balanced-match": "1.0.0",
+ "balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
@@ -189,8 +189,8 @@
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
"dev": true,
"requires": {
- "camelcase": "2.1.1",
- "map-obj": "1.0.1"
+ "camelcase": "^2.0.0",
+ "map-obj": "^1.0.0"
}
},
"caseless": {
@@ -204,7 +204,23 @@
"integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=",
"dev": true,
"requires": {
- "traverse": "0.3.9"
+ "traverse": ">=0.3.0 <0.4"
+ }
+ },
+ "chmod": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/chmod/-/chmod-0.2.1.tgz",
+ "integrity": "sha1-3uccQg/AC/Uj1XKxSSL1XZGfnQo=",
+ "requires": {
+ "deep-extend": "^0.2.8",
+ "stat-mode": "~0.1.0"
+ },
+ "dependencies": {
+ "deep-extend": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz",
+ "integrity": "sha1-eha6aXKRMjQFBhcElLyD9wdv4I8="
+ }
}
},
"chromium-pickle-js": {
@@ -229,7 +245,7 @@
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"requires": {
- "delayed-stream": "1.0.0"
+ "delayed-stream": "~1.0.0"
}
},
"commander": {
@@ -255,9 +271,9 @@
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
"integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
"requires": {
- "inherits": "2.0.3",
- "readable-stream": "2.3.6",
- "typedarray": "0.0.6"
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
},
"dependencies": {
"isarray": {
@@ -270,13 +286,13 @@
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "2.0.0",
- "safe-buffer": "5.1.2",
- "string_decoder": "1.1.1",
- "util-deprecate": "1.0.2"
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
}
},
"string_decoder": {
@@ -284,7 +300,7 @@
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"requires": {
- "safe-buffer": "5.1.2"
+ "safe-buffer": "~5.1.0"
}
}
}
@@ -306,7 +322,7 @@
"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
"dev": true,
"requires": {
- "array-find-index": "1.0.2"
+ "array-find-index": "^1.0.1"
}
},
"dashdash": {
@@ -314,7 +330,7 @@
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"requires": {
- "assert-plus": "1.0.0"
+ "assert-plus": "^1.0.0"
}
},
"decamelize": {
@@ -329,12 +345,12 @@
"integrity": "sha1-rjvLfjTGWHmt/nfhnDD4ZgK0vbA=",
"dev": true,
"requires": {
- "binary": "0.3.0",
- "graceful-fs": "4.1.11",
- "mkpath": "0.1.0",
- "nopt": "3.0.6",
- "q": "1.5.1",
- "readable-stream": "1.1.14",
+ "binary": "^0.3.0",
+ "graceful-fs": "^4.1.3",
+ "mkpath": "^0.1.0",
+ "nopt": "^3.0.1",
+ "q": "^1.1.2",
+ "readable-stream": "^1.1.8",
"touch": "0.0.3"
}
},
@@ -355,17 +371,18 @@
"integrity": "sha512-b0G6O0WJkxoLQSopyNRqByXCrpBL68HXPMULVZXLjRgj+sStwOmbABM+HwBDJWF6s/uhkB/+cAgq+19x4w0SPA==",
"requires": {
"discord.js": "github:discordjs/discord.js#25b654d49428c9c93841f0680022bc73869ec724",
- "snekfetch": "3.6.4"
+ "snekfetch": "^3.5.8"
}
},
"discord.js": {
"version": "github:discordjs/discord.js#25b654d49428c9c93841f0680022bc73869ec724",
+ "from": "discord.js@github:discordjs/discord.js#25b654d49428c9c93841f0680022bc73869ec724",
"requires": {
- "pako": "1.0.6",
- "prism-media": "0.2.1",
- "snekfetch": "3.6.4",
- "tweetnacl": "1.0.0",
- "ws": "4.1.0"
+ "pako": "^1.0.0",
+ "prism-media": "^0.2.0",
+ "snekfetch": "^3.6.0",
+ "tweetnacl": "^1.0.0",
+ "ws": "^4.0.0"
},
"dependencies": {
"tweetnacl": {
@@ -381,7 +398,7 @@
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
"optional": true,
"requires": {
- "jsbn": "0.1.1"
+ "jsbn": "~0.1.0"
}
},
"electron": {
@@ -390,9 +407,9 @@
"integrity": "sha512-piSwY2P7L6NWx672MNdSvtGPdQP/mhwAg8ICN6ofTTItPkd7D6kNHBPkq+DXwZcXVH1EifYR9yD/l3Xw1haVpQ==",
"dev": true,
"requires": {
- "@types/node": "8.10.17",
- "electron-download": "3.3.0",
- "extract-zip": "1.6.6"
+ "@types/node": "^8.0.24",
+ "electron-download": "^3.0.1",
+ "extract-zip": "^1.0.3"
}
},
"electron-download": {
@@ -401,15 +418,15 @@
"integrity": "sha1-LP1U1pZsAZxNSa1l++Zcyc3vaMg=",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "fs-extra": "0.30.0",
- "home-path": "1.0.6",
- "minimist": "1.2.0",
- "nugget": "2.0.1",
- "path-exists": "2.1.0",
- "rc": "1.2.7",
- "semver": "5.5.0",
- "sumchecker": "1.3.1"
+ "debug": "^2.2.0",
+ "fs-extra": "^0.30.0",
+ "home-path": "^1.0.1",
+ "minimist": "^1.2.0",
+ "nugget": "^2.0.0",
+ "path-exists": "^2.1.0",
+ "rc": "^1.1.2",
+ "semver": "^5.3.0",
+ "sumchecker": "^1.2.0"
},
"dependencies": {
"debug": {
@@ -427,11 +444,11 @@
"integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "jsonfile": "2.4.0",
- "klaw": "1.3.1",
- "path-is-absolute": "1.0.1",
- "rimraf": "2.6.2"
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^2.1.0",
+ "klaw": "^1.0.0",
+ "path-is-absolute": "^1.0.0",
+ "rimraf": "^2.2.8"
}
},
"jsonfile": {
@@ -440,7 +457,7 @@
"integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11"
+ "graceful-fs": "^4.1.6"
}
}
}
@@ -451,12 +468,12 @@
"integrity": "sha1-vk87ibKnWh3F8eckkIGrKSnKOiY=",
"dev": true,
"requires": {
- "bluebird": "3.5.1",
- "compare-version": "0.1.2",
- "debug": "2.6.9",
- "isbinaryfile": "3.0.2",
- "minimist": "1.2.0",
- "plist": "2.1.0"
+ "bluebird": "^3.5.0",
+ "compare-version": "^0.1.2",
+ "debug": "^2.6.8",
+ "isbinaryfile": "^3.0.2",
+ "minimist": "^1.2.0",
+ "plist": "^2.1.0"
},
"dependencies": {
"debug": {
@@ -476,23 +493,23 @@
"integrity": "sha1-BI3U/zhIvhnFhzwxW1sxLfYhUyg=",
"dev": true,
"requires": {
- "asar": "0.14.3",
- "debug": "3.1.0",
- "electron-download": "4.1.0",
- "electron-osx-sign": "0.4.10",
- "extract-zip": "1.6.6",
- "fs-extra": "5.0.0",
- "galactus": "0.2.1",
- "get-package-info": "1.0.0",
- "nodeify": "1.0.1",
- "parse-author": "2.0.0",
- "pify": "3.0.0",
- "plist": "2.1.0",
- "rcedit": "1.1.0",
- "resolve": "1.7.1",
- "sanitize-filename": "1.6.1",
- "semver": "5.5.0",
- "yargs-parser": "10.0.0"
+ "asar": "^0.14.0",
+ "debug": "^3.0.0",
+ "electron-download": "^4.0.0",
+ "electron-osx-sign": "^0.4.1",
+ "extract-zip": "^1.0.3",
+ "fs-extra": "^5.0.0",
+ "galactus": "^0.2.1",
+ "get-package-info": "^1.0.0",
+ "nodeify": "^1.0.1",
+ "parse-author": "^2.0.0",
+ "pify": "^3.0.0",
+ "plist": "^2.0.0",
+ "rcedit": "^1.0.0",
+ "resolve": "^1.1.6",
+ "sanitize-filename": "^1.6.0",
+ "semver": "^5.3.0",
+ "yargs-parser": "^10.0.0"
},
"dependencies": {
"debug": {
@@ -510,15 +527,15 @@
"integrity": "sha1-v5MsdG8vh//MCdHdRy8v9rkYeEU=",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "env-paths": "1.0.0",
- "fs-extra": "2.1.2",
- "minimist": "1.2.0",
- "nugget": "2.0.1",
- "path-exists": "3.0.0",
- "rc": "1.2.7",
- "semver": "5.5.0",
- "sumchecker": "2.0.2"
+ "debug": "^2.2.0",
+ "env-paths": "^1.0.0",
+ "fs-extra": "^2.0.0",
+ "minimist": "^1.2.0",
+ "nugget": "^2.0.0",
+ "path-exists": "^3.0.0",
+ "rc": "^1.1.2",
+ "semver": "^5.3.0",
+ "sumchecker": "^2.0.1"
},
"dependencies": {
"debug": {
@@ -536,8 +553,8 @@
"integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "jsonfile": "2.4.0"
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^2.1.0"
}
}
}
@@ -548,9 +565,9 @@
"integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "jsonfile": "4.0.0",
- "universalify": "0.1.1"
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
},
"dependencies": {
"jsonfile": {
@@ -559,7 +576,7 @@
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11"
+ "graceful-fs": "^4.1.6"
}
}
}
@@ -570,7 +587,7 @@
"integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11"
+ "graceful-fs": "^4.1.6"
}
},
"path-exists": {
@@ -591,7 +608,7 @@
"integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=",
"dev": true,
"requires": {
- "debug": "2.6.9"
+ "debug": "^2.2.0"
},
"dependencies": {
"debug": {
@@ -619,7 +636,7 @@
"integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
"dev": true,
"requires": {
- "is-arrayish": "0.2.1"
+ "is-arrayish": "^0.2.1"
}
},
"es6-promise": {
@@ -674,7 +691,7 @@
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
"integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
"requires": {
- "pend": "1.2.0"
+ "pend": "~1.2.0"
}
},
"find-up": {
@@ -683,8 +700,8 @@
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
"dev": true,
"requires": {
- "path-exists": "2.1.0",
- "pinkie-promise": "2.0.1"
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
}
},
"flora-colossus": {
@@ -693,8 +710,8 @@
"integrity": "sha1-VHKcNh7ezuAU3UQWeeGjfB13OkU=",
"dev": true,
"requires": {
- "debug": "3.1.0",
- "fs-extra": "4.0.3"
+ "debug": "^3.1.0",
+ "fs-extra": "^4.0.0"
},
"dependencies": {
"debug": {
@@ -712,9 +729,9 @@
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "jsonfile": "4.0.0",
- "universalify": "0.1.1"
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
}
}
}
@@ -729,9 +746,9 @@
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
"requires": {
- "asynckit": "0.4.0",
+ "asynckit": "^0.4.0",
"combined-stream": "1.0.6",
- "mime-types": "2.1.18"
+ "mime-types": "^2.1.12"
}
},
"fs-extra": {
@@ -739,9 +756,9 @@
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz",
"integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==",
"requires": {
- "graceful-fs": "4.1.11",
- "jsonfile": "4.0.0",
- "universalify": "0.1.1"
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
}
},
"fs.realpath": {
@@ -756,9 +773,9 @@
"integrity": "sha1-y+0tIKQMH1Z5o1kI4rlBVzPnjbk=",
"dev": true,
"requires": {
- "debug": "3.1.0",
- "flora-colossus": "1.0.0",
- "fs-extra": "4.0.3"
+ "debug": "^3.1.0",
+ "flora-colossus": "^1.0.0",
+ "fs-extra": "^4.0.0"
},
"dependencies": {
"debug": {
@@ -776,9 +793,9 @@
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "jsonfile": "4.0.0",
- "universalify": "0.1.1"
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
}
}
}
@@ -789,10 +806,10 @@
"integrity": "sha1-ZDJ5ZWPigRPNlHTbvQAFKYWkmZw=",
"dev": true,
"requires": {
- "bluebird": "3.5.1",
- "debug": "2.6.9",
- "lodash.get": "4.4.2",
- "read-pkg-up": "2.0.0"
+ "bluebird": "^3.1.1",
+ "debug": "^2.2.0",
+ "lodash.get": "^4.0.0",
+ "read-pkg-up": "^2.0.0"
},
"dependencies": {
"debug": {
@@ -810,7 +827,7 @@
"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
"dev": true,
"requires": {
- "locate-path": "2.0.0"
+ "locate-path": "^2.0.0"
}
},
"load-json-file": {
@@ -819,10 +836,10 @@
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "strip-bom": "3.0.0"
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
}
},
"path-type": {
@@ -831,7 +848,7 @@
"integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
"dev": true,
"requires": {
- "pify": "2.3.0"
+ "pify": "^2.0.0"
}
},
"read-pkg": {
@@ -840,9 +857,9 @@
"integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
"dev": true,
"requires": {
- "load-json-file": "2.0.0",
- "normalize-package-data": "2.4.0",
- "path-type": "2.0.0"
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
}
},
"read-pkg-up": {
@@ -851,8 +868,8 @@
"integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
"dev": true,
"requires": {
- "find-up": "2.1.0",
- "read-pkg": "2.0.0"
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
}
},
"strip-bom": {
@@ -874,7 +891,7 @@
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"requires": {
- "assert-plus": "1.0.0"
+ "assert-plus": "^1.0.0"
}
},
"glob": {
@@ -883,12 +900,12 @@
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
"dev": true,
"requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
}
},
"graceful-fs": {
@@ -906,8 +923,8 @@
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
"integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
"requires": {
- "ajv": "5.5.2",
- "har-schema": "2.0.0"
+ "ajv": "^5.1.0",
+ "har-schema": "^2.0.0"
}
},
"home-path": {
@@ -927,9 +944,9 @@
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"requires": {
- "assert-plus": "1.0.0",
- "jsprim": "1.4.1",
- "sshpk": "1.14.1"
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
}
},
"indent-string": {
@@ -938,7 +955,7 @@
"integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
"dev": true,
"requires": {
- "repeating": "2.0.1"
+ "repeating": "^2.0.0"
}
},
"inflight": {
@@ -947,8 +964,8 @@
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
+ "once": "^1.3.0",
+ "wrappy": "1"
}
},
"inherits": {
@@ -974,7 +991,7 @@
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
"dev": true,
"requires": {
- "builtin-modules": "1.1.1"
+ "builtin-modules": "^1.0.0"
}
},
"is-finite": {
@@ -983,7 +1000,7 @@
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
"dev": true,
"requires": {
- "number-is-nan": "1.0.1"
+ "number-is-nan": "^1.0.0"
}
},
"is-fullwidth-code-point": {
@@ -992,7 +1009,7 @@
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true,
"requires": {
- "number-is-nan": "1.0.1"
+ "number-is-nan": "^1.0.0"
}
},
"is-promise": {
@@ -1055,7 +1072,7 @@
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"requires": {
- "graceful-fs": "4.1.11"
+ "graceful-fs": "^4.1.6"
}
},
"jsprim": {
@@ -1075,7 +1092,7 @@
"integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11"
+ "graceful-fs": "^4.1.9"
}
},
"load-json-file": {
@@ -1084,11 +1101,11 @@
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1",
- "strip-bom": "2.0.0"
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
}
},
"locate-path": {
@@ -1097,8 +1114,8 @@
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
"dev": true,
"requires": {
- "p-locate": "2.0.0",
- "path-exists": "3.0.0"
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
},
"dependencies": {
"path-exists": {
@@ -1121,8 +1138,8 @@
"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
"dev": true,
"requires": {
- "currently-unhandled": "0.4.1",
- "signal-exit": "3.0.2"
+ "currently-unhandled": "^0.4.1",
+ "signal-exit": "^3.0.0"
}
},
"map-obj": {
@@ -1137,16 +1154,16 @@
"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
"dev": true,
"requires": {
- "camelcase-keys": "2.1.0",
- "decamelize": "1.2.0",
- "loud-rejection": "1.6.0",
- "map-obj": "1.0.1",
- "minimist": "1.2.0",
- "normalize-package-data": "2.4.0",
- "object-assign": "4.1.1",
- "read-pkg-up": "1.0.1",
- "redent": "1.0.0",
- "trim-newlines": "1.0.0"
+ "camelcase-keys": "^2.0.0",
+ "decamelize": "^1.1.2",
+ "loud-rejection": "^1.0.0",
+ "map-obj": "^1.0.1",
+ "minimist": "^1.1.3",
+ "normalize-package-data": "^2.3.4",
+ "object-assign": "^4.0.1",
+ "read-pkg-up": "^1.0.1",
+ "redent": "^1.0.0",
+ "trim-newlines": "^1.0.0"
}
},
"mime-db": {
@@ -1159,7 +1176,7 @@
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
"integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
"requires": {
- "mime-db": "1.33.0"
+ "mime-db": "~1.33.0"
}
},
"minimatch": {
@@ -1168,7 +1185,7 @@
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
- "brace-expansion": "1.1.11"
+ "brace-expansion": "^1.1.7"
}
},
"minimist": {
@@ -1206,7 +1223,7 @@
"requires": {
"decompress-zip": "0.3.0",
"fs-extra": "0.26.7",
- "request": "2.87.0"
+ "request": "^2.79.0"
},
"dependencies": {
"fs-extra": {
@@ -1215,11 +1232,11 @@
"integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "jsonfile": "2.4.0",
- "klaw": "1.3.1",
- "path-is-absolute": "1.0.1",
- "rimraf": "2.6.2"
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^2.1.0",
+ "klaw": "^1.0.0",
+ "path-is-absolute": "^1.0.0",
+ "rimraf": "^2.2.8"
}
},
"jsonfile": {
@@ -1228,7 +1245,7 @@
"integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11"
+ "graceful-fs": "^4.1.6"
}
}
}
@@ -1250,8 +1267,8 @@
"integrity": "sha1-ZKtpp7268DzhB7TwM1yHwLnpGx0=",
"dev": true,
"requires": {
- "is-promise": "1.0.1",
- "promise": "1.3.0"
+ "is-promise": "~1.0.0",
+ "promise": "~1.3.0"
}
},
"nopt": {
@@ -1260,7 +1277,7 @@
"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
"dev": true,
"requires": {
- "abbrev": "1.1.1"
+ "abbrev": "1"
}
},
"normalize-package-data": {
@@ -1269,10 +1286,10 @@
"integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
"dev": true,
"requires": {
- "hosted-git-info": "2.6.0",
- "is-builtin-module": "1.0.0",
- "semver": "5.5.0",
- "validate-npm-package-license": "3.0.3"
+ "hosted-git-info": "^2.1.4",
+ "is-builtin-module": "^1.0.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
}
},
"nugget": {
@@ -1281,12 +1298,12 @@
"integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "minimist": "1.2.0",
- "pretty-bytes": "1.0.4",
- "progress-stream": "1.2.0",
- "request": "2.87.0",
- "single-line-log": "1.1.2",
+ "debug": "^2.1.3",
+ "minimist": "^1.1.0",
+ "pretty-bytes": "^1.0.2",
+ "progress-stream": "^1.1.0",
+ "request": "^2.45.0",
+ "single-line-log": "^1.1.2",
"throttleit": "0.0.2"
},
"dependencies": {
@@ -1330,7 +1347,7 @@
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
- "wrappy": "1.0.2"
+ "wrappy": "1"
}
},
"os-tmpdir": {
@@ -1345,7 +1362,7 @@
"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
"dev": true,
"requires": {
- "p-try": "1.0.0"
+ "p-try": "^1.0.0"
}
},
"p-locate": {
@@ -1354,7 +1371,7 @@
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
"dev": true,
"requires": {
- "p-limit": "1.3.0"
+ "p-limit": "^1.1.0"
}
},
"p-try": {
@@ -1374,7 +1391,7 @@
"integrity": "sha1-00YL8d3Q367tQtp1QkLmX7aEqB8=",
"dev": true,
"requires": {
- "author-regex": "1.0.0"
+ "author-regex": "^1.0.0"
}
},
"parse-json": {
@@ -1383,7 +1400,7 @@
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
"dev": true,
"requires": {
- "error-ex": "1.3.1"
+ "error-ex": "^1.2.0"
}
},
"path-exists": {
@@ -1392,7 +1409,7 @@
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
"dev": true,
"requires": {
- "pinkie-promise": "2.0.1"
+ "pinkie-promise": "^2.0.0"
}
},
"path-is-absolute": {
@@ -1413,9 +1430,9 @@
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1"
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
}
},
"pend": {
@@ -1446,7 +1463,7 @@
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
"dev": true,
"requires": {
- "pinkie": "2.0.4"
+ "pinkie": "^2.0.0"
}
},
"plist": {
@@ -1457,7 +1474,7 @@
"requires": {
"base64-js": "1.2.0",
"xmlbuilder": "8.2.2",
- "xmldom": "0.1.27"
+ "xmldom": "0.1.x"
}
},
"pretty-bytes": {
@@ -1466,8 +1483,8 @@
"integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=",
"dev": true,
"requires": {
- "get-stdin": "4.0.1",
- "meow": "3.7.0"
+ "get-stdin": "^4.0.1",
+ "meow": "^3.1.0"
}
},
"prism-media": {
@@ -1486,8 +1503,8 @@
"integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=",
"dev": true,
"requires": {
- "speedometer": "0.1.4",
- "through2": "0.2.3"
+ "speedometer": "~0.1.2",
+ "through2": "~0.2.3"
}
},
"promise": {
@@ -1496,7 +1513,7 @@
"integrity": "sha1-5cyaTIJ45GZP/twBx9qEhCsEAXU=",
"dev": true,
"requires": {
- "is-promise": "1.0.1"
+ "is-promise": "~1"
}
},
"punycode": {
@@ -1521,10 +1538,10 @@
"integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==",
"dev": true,
"requires": {
- "deep-extend": "0.5.1",
- "ini": "1.3.5",
- "minimist": "1.2.0",
- "strip-json-comments": "2.0.1"
+ "deep-extend": "^0.5.1",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
}
},
"rcedit": {
@@ -1539,9 +1556,9 @@
"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
"dev": true,
"requires": {
- "load-json-file": "1.1.0",
- "normalize-package-data": "2.4.0",
- "path-type": "1.1.0"
+ "load-json-file": "^1.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^1.0.0"
}
},
"read-pkg-up": {
@@ -1550,8 +1567,8 @@
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
"dev": true,
"requires": {
- "find-up": "1.1.2",
- "read-pkg": "1.1.0"
+ "find-up": "^1.0.0",
+ "read-pkg": "^1.0.0"
}
},
"readable-stream": {
@@ -1560,10 +1577,10 @@
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
"isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "string_decoder": "~0.10.x"
}
},
"redent": {
@@ -1572,8 +1589,8 @@
"integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
"dev": true,
"requires": {
- "indent-string": "2.1.0",
- "strip-indent": "1.0.1"
+ "indent-string": "^2.1.0",
+ "strip-indent": "^1.0.1"
}
},
"repeating": {
@@ -1582,7 +1599,7 @@
"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
"dev": true,
"requires": {
- "is-finite": "1.0.2"
+ "is-finite": "^1.0.0"
}
},
"request": {
@@ -1590,26 +1607,26 @@
"resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
"integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
"requires": {
- "aws-sign2": "0.7.0",
- "aws4": "1.7.0",
- "caseless": "0.12.0",
- "combined-stream": "1.0.6",
- "extend": "3.0.1",
- "forever-agent": "0.6.1",
- "form-data": "2.3.2",
- "har-validator": "5.0.3",
- "http-signature": "1.2.0",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
- "mime-types": "2.1.18",
- "oauth-sign": "0.8.2",
- "performance-now": "2.1.0",
- "qs": "6.5.2",
- "safe-buffer": "5.1.2",
- "tough-cookie": "2.3.4",
- "tunnel-agent": "0.6.0",
- "uuid": "3.2.1"
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.6.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.5",
+ "extend": "~3.0.1",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.1",
+ "har-validator": "~5.0.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.17",
+ "oauth-sign": "~0.8.2",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.1",
+ "safe-buffer": "^5.1.1",
+ "tough-cookie": "~2.3.3",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.1.0"
}
},
"request-progress": {
@@ -1617,7 +1634,7 @@
"resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz",
"integrity": "sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=",
"requires": {
- "throttleit": "1.0.0"
+ "throttleit": "^1.0.0"
},
"dependencies": {
"throttleit": {
@@ -1633,7 +1650,7 @@
"integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
"dev": true,
"requires": {
- "path-parse": "1.0.5"
+ "path-parse": "^1.0.5"
}
},
"rimraf": {
@@ -1642,7 +1659,7 @@
"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
"dev": true,
"requires": {
- "glob": "7.1.2"
+ "glob": "^7.0.5"
}
},
"safe-buffer": {
@@ -1656,7 +1673,7 @@
"integrity": "sha1-YS2hyWRz+gLczaktzVtKsWSmdyo=",
"dev": true,
"requires": {
- "truncate-utf8-bytes": "1.0.2"
+ "truncate-utf8-bytes": "^1.0.0"
}
},
"sax": {
@@ -1682,7 +1699,7 @@
"integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=",
"dev": true,
"requires": {
- "string-width": "1.0.2"
+ "string-width": "^1.0.1"
}
},
"snekfetch": {
@@ -1696,8 +1713,8 @@
"integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
"dev": true,
"requires": {
- "spdx-expression-parse": "3.0.0",
- "spdx-license-ids": "3.0.0"
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
}
},
"spdx-exceptions": {
@@ -1712,8 +1729,8 @@
"integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
"dev": true,
"requires": {
- "spdx-exceptions": "2.1.0",
- "spdx-license-ids": "3.0.0"
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
}
},
"spdx-license-ids": {
@@ -1733,25 +1750,30 @@
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz",
"integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
"requires": {
- "asn1": "0.2.3",
- "assert-plus": "1.0.0",
- "bcrypt-pbkdf": "1.0.1",
- "dashdash": "1.14.1",
- "ecc-jsbn": "0.1.1",
- "getpass": "0.1.7",
- "jsbn": "0.1.1",
- "tweetnacl": "0.14.5"
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "tweetnacl": "~0.14.0"
}
},
+ "stat-mode": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.1.0.tgz",
+ "integrity": "sha1-DPvsOvKeYFkSLS9+/D6WqCA1Vqk="
+ },
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
}
},
"string_decoder": {
@@ -1766,7 +1788,7 @@
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
- "ansi-regex": "2.1.1"
+ "ansi-regex": "^2.0.0"
}
},
"strip-bom": {
@@ -1775,7 +1797,7 @@
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
"dev": true,
"requires": {
- "is-utf8": "0.2.1"
+ "is-utf8": "^0.2.0"
}
},
"strip-indent": {
@@ -1784,7 +1806,7 @@
"integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
"dev": true,
"requires": {
- "get-stdin": "4.0.1"
+ "get-stdin": "^4.0.1"
}
},
"strip-json-comments": {
@@ -1799,8 +1821,8 @@
"integrity": "sha1-ebs7RFbdBPGOvbwNcDodHa7FEF0=",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "es6-promise": "4.2.4"
+ "debug": "^2.2.0",
+ "es6-promise": "^4.0.5"
},
"dependencies": {
"debug": {
@@ -1826,8 +1848,8 @@
"integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=",
"dev": true,
"requires": {
- "readable-stream": "1.1.14",
- "xtend": "2.1.2"
+ "readable-stream": "~1.1.9",
+ "xtend": "~2.1.1"
}
},
"tmp": {
@@ -1836,7 +1858,7 @@
"integrity": "sha1-Fyc1t/YU6nrzlmT6hM8N5OUV0SA=",
"dev": true,
"requires": {
- "os-tmpdir": "1.0.2"
+ "os-tmpdir": "~1.0.1"
}
},
"touch": {
@@ -1845,7 +1867,7 @@
"integrity": "sha1-Ua7z1ElXHU8oel2Hyci0kYGg2x0=",
"dev": true,
"requires": {
- "nopt": "1.0.10"
+ "nopt": "~1.0.10"
},
"dependencies": {
"nopt": {
@@ -1854,7 +1876,7 @@
"integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
"dev": true,
"requires": {
- "abbrev": "1.1.1"
+ "abbrev": "1"
}
}
}
@@ -1864,7 +1886,7 @@
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
"integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
"requires": {
- "punycode": "1.4.1"
+ "punycode": "^1.4.1"
}
},
"traverse": {
@@ -1885,7 +1907,7 @@
"integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=",
"dev": true,
"requires": {
- "utf8-byte-length": "1.0.4"
+ "utf8-byte-length": "^1.0.1"
}
},
"tunnel-agent": {
@@ -1893,7 +1915,7 @@
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"requires": {
- "safe-buffer": "5.1.2"
+ "safe-buffer": "^5.0.1"
}
},
"tweetnacl": {
@@ -1940,8 +1962,8 @@
"integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
"dev": true,
"requires": {
- "spdx-correct": "3.0.0",
- "spdx-expression-parse": "3.0.0"
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
}
},
"verror": {
@@ -1949,9 +1971,9 @@
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"requires": {
- "assert-plus": "1.0.0",
+ "assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
- "extsprintf": "1.3.0"
+ "extsprintf": "^1.2.0"
}
},
"wrappy": {
@@ -1965,8 +1987,8 @@
"resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz",
"integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==",
"requires": {
- "async-limiter": "1.0.0",
- "safe-buffer": "5.1.2"
+ "async-limiter": "~1.0.0",
+ "safe-buffer": "~5.1.0"
}
},
"xml2js": {
@@ -1974,8 +1996,8 @@
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
"integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
"requires": {
- "sax": "1.2.4",
- "xmlbuilder": "9.0.7"
+ "sax": ">=0.6.0",
+ "xmlbuilder": "~9.0.1"
},
"dependencies": {
"xmlbuilder": {
@@ -2003,7 +2025,7 @@
"integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
"dev": true,
"requires": {
- "object-keys": "0.4.0"
+ "object-keys": "~0.4.0"
}
},
"yargs-parser": {
@@ -2012,7 +2034,7 @@
"integrity": "sha512-+DHejWujTVYeMHLff8U96rLc4uE4Emncoftvn5AjhB1Jw1pWxLzgBUT/WYbPrHmy6YPEBTZQx5myHhVcuuu64g==",
"dev": true,
"requires": {
- "camelcase": "4.1.0"
+ "camelcase": "^4.1.0"
},
"dependencies": {
"camelcase": {
@@ -2028,7 +2050,7 @@
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
"integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
"requires": {
- "fd-slicer": "1.0.1"
+ "fd-slicer": "~1.0.1"
}
}
}
diff --git a/package.json b/package.json
index 10047a3..7eb8bef 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "mana-launcher",
- "version": "1.0.1",
+ "version": "1.0.2",
"private": true,
"homepage": "https://tmw2.org",
"description": "A launcher for manaplus.",
@@ -29,6 +29,7 @@
"dependencies": {
"@types/extract-zip": "^1.6.2",
"@types/fs-extra": "^5.0.2",
+ "chmod": "^0.2.1",
"discord-rpc": "^3.0.0-beta.10",
"extract-zip": "^1.6.6",
"fs-extra": "^6.0.1",
diff --git a/src/main/manaplus/manaApp/linux.ts b/src/main/manaplus/manaApp/linux.ts
new file mode 100644
index 0000000..6c804d5
--- /dev/null
+++ b/src/main/manaplus/manaApp/linux.ts
@@ -0,0 +1,124 @@
+import { ManaPlusApp } from "./manaApp.interface";
+import { app } from "electron";
+import * as fs from 'fs-extra';
+import { getRequest } from "../../util/webrequest";
+import { Status } from "../../status";
+import { download, Progress as ProgressType } from "../../util/downloader";
+import { promisify } from "util";
+
+export class ManaPlusAppLinux implements ManaPlusApp {
+ private path: string;
+ startCommand: string;
+ versionRegEx: RegExp = /.*ManaPlus ([\d.]+) Linux.*/g;//TODO
+ constructor() {
+ const ManaPath = app.getPath('userData') + "/manaplus";
+ fs.existsSync(ManaPath) || fs.mkdirSync(ManaPath);
+ fs.existsSync(app.getPath('userData') + "/temp") || fs.mkdirSync(app.getPath('userData') + "/temp");
+ this.path = ManaPath;
+ this.startCommand = ManaPath + '/Mana.AppImage'
+ }
+ getGameDir(): string {
+ throw new Error("getGameDir() is windows only!");
+ }
+ getVersion(): Promise<string> {
+ return new Promise((res, rej) => {
+ let output: string;
+ const child = require('child_process').execFile(this.startCommand, ['-v'], function (err: Error, data: any) {
+ output = data.toString();
+ });
+ child.on('close', () => {
+ output = output.replace(this.versionRegEx, "$1");
+ res(output);
+ });
+ child.on('error', () => {
+ rej(new Error("Version check failed"));
+ });
+ });
+ }
+ isInstalled(): boolean {
+ return fs.existsSync(this.path + '/Mana.AppImage');
+ }
+ async updateAvailable(): Promise<{ isNewVersion: boolean; newestVersion: string; }> {
+ try {
+ let versions = await getRequest("https://tmw2.org/manalauncher/versions.json?" + Date.now());
+ let currect_version = await this.isInstalled ? await this.getVersion() : "-";
+ return {
+ isNewVersion: currect_version.indexOf(versions.AppImage.version) === -1,
+ newestVersion: versions.AppImage.version
+ };
+ } catch (e) {
+ throw e;
+ }
+ }
+ async update(): Promise<any> {
+ fs.existsSync(app.getPath('userData') + "/temp") || fs.mkdirSync(app.getPath('userData') + "/temp");
+ // Get Update URL
+ Status.setProgress(500);
+ Status.setProgress(-1);
+ Status.setActivity("Fetching Download URL");
+ let downloadURL;
+ try {
+ let versions = await getRequest("https://tmw2.org/manalauncher/versions.json?" + Date.now());
+ downloadURL = versions.AppImage.file;
+ } catch (e) {
+ console.log(e);
+ Status.showError("Download Url fetching error", e.message, `Download Url fetching error: ${e.message}`);
+ throw new Error("Download Url fetching error");
+ }
+ Status.setProgress(-1);
+
+ const updateDestination: string = `${app.getPath('userData')}/temp/update.AppImage`;
+
+ try {
+ await download(downloadURL, updateDestination, (state: ProgressType) => {
+ Status.setProgress(Math.floor(state.percent * 100));
+ const speed = Math.floor(Math.floor(state.speed) / 1024);
+ Status.setActivity(`Downloading ManaPlus... ${speed} KiB/s`);
+ console.log(state);
+ });
+ } catch (e) {
+ console.log(e);
+ Status.showError("Download error", e.message, `Download error: ${e.message}`);
+ throw new Error("Download error");
+ }
+ Status.setProgress(500);
+
+ //IDEA: Check Integrity of the download
+
+ // Backup old files
+ Status.setActivity(`Backup Old version`);
+ try {
+ await fs.remove(this.path + '/Mana2.AppImage')
+ if (fs.existsSync(this.path + '/Mana.AppImage'))
+ await fs.move(this.path + '/Mana.AppImage', this.path + '/Mana2.AppImage');
+ console.log("Backup old version done.");
+ } catch (err) {
+ Status.showError("Backup old version Failed", err.message, `Backup old version Failed: ${err.message}`);
+ throw new Error("Backup error");
+ }
+
+ Status.setProgress(500);
+ Status.setActivity(`ManaPlus download completed. Instaling..`);
+ try {
+ console.log('Use chmod');
+ const chmod = promisify(fs.chmod);
+ await chmod(updateDestination, '755');
+
+ console.log('Now move the thing!');
+ await fs.move(updateDestination, this.path + '/Mana.AppImage');
+ //await chmod(this.path + '/Mana.AppImage', '744');
+ } catch (err) {
+ console.log('Instalation error', err);
+ Status.showError("Instalation failed", err ? err.message : 'undefined', `Instalation Failed: ${err ? err.message : 'undefined'}`);
+ throw new Error("Instalation error");
+ }
+
+ Status.setActivity('Instalation completed');
+
+ //IDEA: Check Integrity of gamefiles
+
+ Status.setActivity('Update successfull');
+
+ return 0;
+ }
+} \ No newline at end of file
diff --git a/src/main/manaplus/manaApp/windows.ts b/src/main/manaplus/manaApp/windows.ts
index 832a140..293fc72 100644
--- a/src/main/manaplus/manaApp/windows.ts
+++ b/src/main/manaplus/manaApp/windows.ts
@@ -69,6 +69,8 @@ export class ManaPlusAppWindows implements ManaPlusApp {
throw new Error("Download error");
}
Status.setProgress(500);
+ //IDEA: Check Integrity of the download
+
// Backup old files
Status.setActivity(`Backup Old version`);
try {
diff --git a/src/main/manaplus/manaplus.ts b/src/main/manaplus/manaplus.ts
index 6088dba..5de7d01 100644
--- a/src/main/manaplus/manaplus.ts
+++ b/src/main/manaplus/manaplus.ts
@@ -5,6 +5,7 @@ import * as path from 'path';
import * as fs from 'fs-extra';
import { app, ipcMain, shell, dialog } from 'electron';
import { Status, EventEmitter } from '../status';
+import { ManaPlusAppLinux } from './manaApp/linux';
let ManaPlusInstance:ManaPlusApp;
@@ -21,6 +22,11 @@ export namespace ManaPlus{
ManaPlusInstance = new ManaPlusAppWindows();
console.log("GameDir:"+ManaPlusInstance.getGameDir());
}
+
+ if(os.platform() == "linux"){
+ ManaPlusInstance = new ManaPlusAppLinux();
+ console.log("startCommand:"+ManaPlusInstance.startCommand);
+ }
}
export async function update(){
@@ -66,7 +72,13 @@ please check you network connection first.", e.message, "Launch preparation fail
}
// Install/Update the gameclient if needed
if(willUpdate){
- await update();
+ try {
+ await update();
+ } catch (error) {
+ Status.setPlaying(false);
+ throw error;
+ }
+
}
//IDEA have client data updated here to, if needed