diff --git a/ElectronClient/app/ElectronAppWrapper.js b/ElectronClient/app/ElectronAppWrapper.js index 718a887fb..be2b33ca5 100644 --- a/ElectronClient/app/ElectronAppWrapper.js +++ b/ElectronClient/app/ElectronAppWrapper.js @@ -9,9 +9,10 @@ const fs = require('fs-extra'); class ElectronAppWrapper { - constructor(electronApp, env) { + constructor(electronApp, env, profilePath) { this.electronApp_ = electronApp; this.env_ = env; + this.profilePath_ = profilePath; this.win_ = null; this.willQuitApp_ = false; this.tray_ = null; @@ -37,12 +38,16 @@ class ElectronAppWrapper { createWindow() { const windowStateKeeper = require('electron-window-state'); - // Load the previous state with fallback to defaults - const windowState = windowStateKeeper({ + const stateOptions = { defaultWidth: 800, defaultHeight: 600, file: 'window-state-' + this.env_ + '.json', - }); + } + + if (this.profilePath_) stateOptions.path = this.profilePath_; + + // Load the previous state with fallback to defaults + const windowState = windowStateKeeper(stateOptions); const windowOptions = { x: windowState.x, diff --git a/ElectronClient/app/app.js b/ElectronClient/app/app.js index 538b9d037..de7322fad 100644 --- a/ElectronClient/app/app.js +++ b/ElectronClient/app/app.js @@ -568,6 +568,12 @@ class Application extends BaseApplication { } async start(argv) { + const electronIsDev = require('electron-is-dev'); + + // If running inside a package, the command line, instead of being "node.exe " is "joplin.exe " so + // insert an extra argument so that they can be processed in a consistent way everywhere. + if (!electronIsDev) argv.splice(1, 0, '.'); + argv = await super.start(argv); AlarmService.setDriver(new AlarmServiceDriverNode({ appName: packageInfo.build.appId })); diff --git a/ElectronClient/app/main.js b/ElectronClient/app/main.js index 08e2140c3..02702b141 100644 --- a/ElectronClient/app/main.js +++ b/ElectronClient/app/main.js @@ -24,11 +24,22 @@ function envFromArgs(args) { return 'prod'; } +// Likewise, we want to know if a profile is specified early, in particular +// to save the window state data. +function profileFromArgs(args) { + if (!args) return null; + const profileIndex = args.indexOf('--profile'); + if (profileIndex <= 0 || profileIndex >= args.length - 1) return null; + const profileValue = args[profileIndex + 1]; + return profileValue ? profileValue : null; +} + Logger.fsDriver_ = new FsDriverNode(); const env = envFromArgs(process.argv); +const profilePath = profileFromArgs(process.argv); -const wrapper = new ElectronAppWrapper(electronApp, env); +const wrapper = new ElectronAppWrapper(electronApp, env, profilePath); initBridge(wrapper); diff --git a/ElectronClient/app/package-lock.json b/ElectronClient/app/package-lock.json index 72a9d7299..de296232a 100644 --- a/ElectronClient/app/package-lock.json +++ b/ElectronClient/app/package-lock.json @@ -573,7 +573,8 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "base-64": { "version": "0.1.0", @@ -603,14 +604,6 @@ "dev": true, "optional": true }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "requires": { - "inherits": "2.0.3" - } - }, "bluebird": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", @@ -643,7 +636,7 @@ "requires": { "ansi-align": "2.0.0", "camelcase": "4.1.0", - "chalk": "2.3.2", + "chalk": "2.4.0", "cli-boxes": "1.0.0", "string-width": "2.1.1", "term-size": "1.2.0", @@ -672,14 +665,14 @@ "dev": true }, "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", + "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==", "dev": true, "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "supports-color": "5.4.0" } }, "is-fullwidth-code-point": { @@ -708,9 +701,9 @@ } }, "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -730,6 +723,7 @@ "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -748,16 +742,16 @@ } }, "builder-util": { - "version": "5.6.5", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-5.6.5.tgz", - "integrity": "sha512-J03MEuyUf8li8KjTpml3r0K2Q9jZl21bHTEuGiZZX9vSMY81mXZe5AmEutsquyDrcsQFjCrDkbEDaqSc7vj5sw==", + "version": "5.7.9", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-5.7.9.tgz", + "integrity": "sha512-b6sSGrJoDmLhn/fblZ7qkSEB7fr26sz5aLc/Oh/jwWHHT2vwRw8reRxhXQJPmTWRAW4QIGxEpTMGJKGXGJQ0xg==", "dev": true, "requires": { "7zip-bin": "3.1.0", - "app-builder-bin": "1.7.2", + "app-builder-bin": "1.8.6", "bluebird-lst": "1.0.5", - "builder-util-runtime": "4.0.5", - "chalk": "2.3.2", + "builder-util-runtime": "4.2.0", + "chalk": "2.4.0", "debug": "3.1.0", "fs-extra-p": "4.5.2", "is-ci": "1.1.0", @@ -779,46 +773,46 @@ } }, "app-builder-bin": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-1.7.2.tgz", - "integrity": "sha512-2uJICLdVnkDqizLZa4HclhBsAWiSf1sEPeKS5+GhuxGaDdWnabXZ4ed9hYQ5u81P3hW3lB+xvxDw2TTinDB9Tw==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-1.8.6.tgz", + "integrity": "sha512-jQiCV8fxW3SPtPnU/BnTEQqawWtBmanCgydzRuzsptFVb/6Q4OKWdB5T3B+XHOf8lqaH89+XeJf6oA1b/QQEnQ==", "dev": true, "requires": { - "app-builder-bin-linux": "1.7.2", - "app-builder-bin-mac": "1.7.2", - "app-builder-bin-win": "1.7.2" + "app-builder-bin-linux": "1.8.6", + "app-builder-bin-mac": "1.8.6", + "app-builder-bin-win": "1.8.6" } }, "app-builder-bin-linux": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/app-builder-bin-linux/-/app-builder-bin-linux-1.7.2.tgz", - "integrity": "sha512-spoW8f6sqo5aKpoZx+scIPMonSTrh8JtKWM3MuDqBJiXiUCtpVIPez5c4AycGwQnmh167KFjK4pn129o3k+aHQ==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-linux/-/app-builder-bin-linux-1.8.6.tgz", + "integrity": "sha512-IZSv5Wcz3/OYZENwn3iaTLjDSSVPVFobBiJjUrP3hXeOnitRvB0aI8X5KMFYzfkv7kIhSlyPnRsvNjPqgbjyrw==", "dev": true, "optional": true }, "app-builder-bin-mac": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/app-builder-bin-mac/-/app-builder-bin-mac-1.7.2.tgz", - "integrity": "sha512-GLrQ9r17Hnc8dap2rKJ1N7ZukLBbTN88BSG4EC3xmNeafoWbekuxq3IdJYkZAT/eS1Ig4Q6nRcLI9TfnafwZEQ==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-mac/-/app-builder-bin-mac-1.8.6.tgz", + "integrity": "sha512-lWIpI2zmOmQ4JCp1IGxK6KngKAEN6QO9nu5k8h+ZzMxHBTCk8+kbBTE+R36BSRGX9q/4FhHBpYGXHVj+N9xOXg==", "dev": true, "optional": true }, "app-builder-bin-win": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/app-builder-bin-win/-/app-builder-bin-win-1.7.2.tgz", - "integrity": "sha512-/7tvJZas9T5TBM3QUV0xQkRQAyUlsXdtUsqtOg48mgp1ogPqDjs4W2Jr31YhhiUHDdNgamZc655PzWqAEnbZfQ==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-win/-/app-builder-bin-win-1.8.6.tgz", + "integrity": "sha512-nlceArzkRtWgqNoif6OFKaAKNNZ3uZuiG+9UkpOPLf/EDoYdeAq4YdvKWaQx1RHsNNfQTx0s/IODvlD0AdUmPA==", "dev": true, "optional": true }, "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", + "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==", "dev": true, "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "supports-color": "5.4.0" } }, "debug": { @@ -852,9 +846,9 @@ } }, "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -863,9 +857,9 @@ } }, "builder-util-runtime": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-4.0.5.tgz", - "integrity": "sha512-NT8AxWH6miZQHnZzaTVjVp1uc6C/mWlxi6GQXKpd4CwyTQd3rT7+poOGrcOhtIiHYCL9VEbRsVfxUAPPsgqJdg==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-4.2.0.tgz", + "integrity": "sha512-cROCExnJOJvRD58HHcnrrgyRAoDHGZT0hKox0op7vTuuuRC/1JKMXvSR+Hxy7KWy/aEmKu0HfSqMd4znDEqQsA==", "dev": true, "requires": { "bluebird-lst": "1.0.5", @@ -910,7 +904,8 @@ "capture-stack-trace": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=" + "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", + "dev": true }, "caseless": { "version": "0.12.0", @@ -918,17 +913,6 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "caw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", - "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", - "requires": { - "get-proxy": "2.1.0", - "isurl": "1.0.0", - "tunnel-agent": "0.6.0", - "url-to-options": "1.0.1" - } - }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -1044,19 +1028,11 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, - "color": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/color/-/color-1.0.3.tgz", - "integrity": "sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=", - "requires": { - "color-convert": "1.9.1", - "color-string": "1.5.2" - } - }, "color-convert": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -1064,16 +1040,8 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-string": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.2.tgz", - "integrity": "sha1-JuRYFLw8mny9Z1FkikFDRRSnc6k=", - "requires": { - "color-name": "1.1.3", - "simple-swizzle": "0.2.2" - } + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "combined-stream": { "version": "1.0.5", @@ -1103,7 +1071,8 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "concat-stream": { "version": "1.6.0", @@ -1116,19 +1085,10 @@ "typedarray": "0.0.6" } }, - "config-chain": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", - "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", - "requires": { - "ini": "1.3.4", - "proto-list": "1.2.4" - } - }, "configstore": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz", - "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { "dot-prop": "4.2.0", @@ -1159,6 +1119,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, "requires": { "capture-stack-trace": "1.0.0" } @@ -1288,19 +1249,183 @@ } }, "dmg-builder": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-4.1.2.tgz", - "integrity": "sha512-nH7PYrRG9er8sVEOEV9lhngRyZDznViBFVTV/E5p4ZDFy5YZLDHNFWI3m7RKiWnRli5UpOwqLVn0Nxn1vJqsGg==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-4.1.5.tgz", + "integrity": "sha512-AoBHrC7ARxMurEMgvshcW4br1JWgqBqLtxRtEnt2W6ScYWYsTFPAur7CNxtm1vI94rEIgBiH7lg0Q+OZNRnVvQ==", "dev": true, "requires": { "bluebird-lst": "1.0.5", - "builder-util": "5.6.5", - "electron-builder-lib": "20.5.1", + "builder-util": "5.7.9", + "electron-builder-lib": "20.9.2", "fs-extra-p": "4.5.2", - "iconv-lite": "0.4.19", + "iconv-lite": "0.4.21", "js-yaml": "3.11.0", "parse-color": "1.0.0", "sanitize-filename": "1.6.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "app-builder-bin": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-1.8.6.tgz", + "integrity": "sha512-jQiCV8fxW3SPtPnU/BnTEQqawWtBmanCgydzRuzsptFVb/6Q4OKWdB5T3B+XHOf8lqaH89+XeJf6oA1b/QQEnQ==", + "dev": true, + "requires": { + "app-builder-bin-linux": "1.8.6", + "app-builder-bin-mac": "1.8.6", + "app-builder-bin-win": "1.8.6" + } + }, + "app-builder-bin-linux": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-linux/-/app-builder-bin-linux-1.8.6.tgz", + "integrity": "sha512-IZSv5Wcz3/OYZENwn3iaTLjDSSVPVFobBiJjUrP3hXeOnitRvB0aI8X5KMFYzfkv7kIhSlyPnRsvNjPqgbjyrw==", + "dev": true, + "optional": true + }, + "app-builder-bin-mac": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-mac/-/app-builder-bin-mac-1.8.6.tgz", + "integrity": "sha512-lWIpI2zmOmQ4JCp1IGxK6KngKAEN6QO9nu5k8h+ZzMxHBTCk8+kbBTE+R36BSRGX9q/4FhHBpYGXHVj+N9xOXg==", + "dev": true, + "optional": true + }, + "app-builder-bin-win": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-win/-/app-builder-bin-win-1.8.6.tgz", + "integrity": "sha512-nlceArzkRtWgqNoif6OFKaAKNNZ3uZuiG+9UkpOPLf/EDoYdeAq4YdvKWaQx1RHsNNfQTx0s/IODvlD0AdUmPA==", + "dev": true, + "optional": true + }, + "chalk": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", + "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "electron-builder-lib": { + "version": "20.9.2", + "resolved": "https://registry.npmjs.org/electron-builder-lib/-/electron-builder-lib-20.9.2.tgz", + "integrity": "sha512-V0XQU8Va4T3ZC/saOTxEB9AxmClmEuS1afsAcY5dLbbTKdPrIv3t0vU/zN1rYxYb01dB6pLcGP6eRmgxTefhQQ==", + "dev": true, + "requires": { + "7zip-bin": "3.1.0", + "app-builder-bin": "1.8.6", + "async-exit-hook": "2.0.1", + "bluebird-lst": "1.0.5", + "builder-util": "5.7.8", + "builder-util-runtime": "4.2.0", + "chromium-pickle-js": "0.2.0", + "debug": "3.1.0", + "ejs": "2.5.9", + "electron-osx-sign": "0.4.10", + "electron-publish": "20.9.0", + "fs-extra-p": "4.5.2", + "hosted-git-info": "2.6.0", + "is-ci": "1.1.0", + "isbinaryfile": "3.0.2", + "js-yaml": "3.11.0", + "lazy-val": "1.0.3", + "minimatch": "3.0.4", + "normalize-package-data": "2.4.0", + "plist": "3.0.1", + "read-config-file": "3.0.0", + "sanitize-filename": "1.6.1", + "semver": "5.5.0", + "temp-file": "3.1.1" + }, + "dependencies": { + "builder-util": { + "version": "5.7.8", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-5.7.8.tgz", + "integrity": "sha512-4GuYgxBpLWk4LGh/6r58extk4cnyM+wOp+pEUNbRVHP1KuljDAHnvTvBMewrG5IXGpYzGhhUDCtRaO/85u9JYw==", + "dev": true, + "requires": { + "7zip-bin": "3.1.0", + "app-builder-bin": "1.8.6", + "bluebird-lst": "1.0.5", + "builder-util-runtime": "4.2.0", + "chalk": "2.4.0", + "debug": "3.1.0", + "fs-extra-p": "4.5.2", + "is-ci": "1.1.0", + "js-yaml": "3.11.0", + "lazy-val": "1.0.3", + "semver": "5.5.0", + "source-map-support": "0.5.4", + "stat-mode": "0.2.2", + "temp-file": "3.1.1" + } + } + } + }, + "hosted-git-info": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", + "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.4.tgz", + "integrity": "sha512-PETSPG6BjY1AHs2t64vS2aqAgu6dMIMXJULWFBGbh2Gr8nVLbCFDo6i/RMMvviIQ2h1Z8+5gQhVKSn2je9nmdg==", + "dev": true, + "requires": { + "source-map": "0.6.1" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } } }, "dot-prop": { @@ -1327,7 +1452,8 @@ "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true }, "ecc-jsbn": { "version": "0.1.1", @@ -1340,9 +1466,9 @@ } }, "ejs": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", - "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=", + "version": "2.5.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.9.tgz", + "integrity": "sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ==", "dev": true }, "electron": { @@ -1357,24 +1483,24 @@ } }, "electron-builder": { - "version": "20.5.1", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.5.1.tgz", - "integrity": "sha512-TBBWDXnqrRjTKAqnBJU/fxSxcwHjnXepTBVUEG02TZPUp7jQEdZjdvZDRvK0jM2xsGrL7q/UUS4jFqe4tRIF6g==", + "version": "20.10.0", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.10.0.tgz", + "integrity": "sha512-ztYBByCSNPvYbRVO7FLgct4G/9VLExVIVpOJKShd53j6YB6VxiNhRdx0JlALFzMoTegOz4TgSYhoe1vLQlOoTQ==", "dev": true, "requires": { "bluebird-lst": "1.0.5", - "builder-util": "5.6.5", - "builder-util-runtime": "4.0.5", - "chalk": "2.3.2", - "dmg-builder": "4.1.2", - "electron-builder-lib": "20.5.1", + "builder-util": "5.7.9", + "builder-util-runtime": "4.2.0", + "chalk": "2.4.0", + "dmg-builder": "4.1.5", + "electron-builder-lib": "20.10.0", "electron-download-tf": "4.3.4", "fs-extra-p": "4.5.2", "is-ci": "1.1.0", "lazy-val": "1.0.3", "read-config-file": "3.0.0", "sanitize-filename": "1.6.1", - "update-notifier": "2.3.0", + "update-notifier": "2.5.0", "yargs": "11.0.0" }, "dependencies": { @@ -1388,14 +1514,14 @@ } }, "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", + "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==", "dev": true, "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "supports-color": "5.4.0" } }, "debug": { @@ -1462,9 +1588,9 @@ } }, "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -1473,22 +1599,22 @@ } }, "electron-builder-lib": { - "version": "20.5.1", - "resolved": "https://registry.npmjs.org/electron-builder-lib/-/electron-builder-lib-20.5.1.tgz", - "integrity": "sha512-YAUu4KHZQNFPdHqnvwOHmYWmqnwiExKuB4fnETZl5jmN3ZUgxCQFqWdwIGQWoAIdxtkQxTervJMt+uJ/wJWbZA==", + "version": "20.10.0", + "resolved": "https://registry.npmjs.org/electron-builder-lib/-/electron-builder-lib-20.10.0.tgz", + "integrity": "sha512-Q5toPbuJmkoLBlqdT+fJOrzUtX/JbI31wl3GxMCy5fcKdc6I12YMryY7cI9LTIlTaSV/bBOqNAduzSxjMk975g==", "dev": true, "requires": { "7zip-bin": "3.1.0", - "app-builder-bin": "1.7.2", + "app-builder-bin": "1.8.6", "async-exit-hook": "2.0.1", "bluebird-lst": "1.0.5", - "builder-util": "5.6.5", - "builder-util-runtime": "4.0.5", + "builder-util": "5.7.9", + "builder-util-runtime": "4.2.0", "chromium-pickle-js": "0.2.0", "debug": "3.1.0", - "ejs": "2.5.7", + "ejs": "2.5.9", "electron-osx-sign": "0.4.10", - "electron-publish": "20.5.0", + "electron-publish": "20.9.0", "fs-extra-p": "4.5.2", "hosted-git-info": "2.6.0", "is-ci": "1.1.0", @@ -1497,7 +1623,7 @@ "lazy-val": "1.0.3", "minimatch": "3.0.4", "normalize-package-data": "2.4.0", - "plist": "2.1.0", + "plist": "3.0.1", "read-config-file": "3.0.0", "sanitize-filename": "1.6.1", "semver": "5.5.0", @@ -1505,34 +1631,34 @@ }, "dependencies": { "app-builder-bin": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-1.7.2.tgz", - "integrity": "sha512-2uJICLdVnkDqizLZa4HclhBsAWiSf1sEPeKS5+GhuxGaDdWnabXZ4ed9hYQ5u81P3hW3lB+xvxDw2TTinDB9Tw==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-1.8.6.tgz", + "integrity": "sha512-jQiCV8fxW3SPtPnU/BnTEQqawWtBmanCgydzRuzsptFVb/6Q4OKWdB5T3B+XHOf8lqaH89+XeJf6oA1b/QQEnQ==", "dev": true, "requires": { - "app-builder-bin-linux": "1.7.2", - "app-builder-bin-mac": "1.7.2", - "app-builder-bin-win": "1.7.2" + "app-builder-bin-linux": "1.8.6", + "app-builder-bin-mac": "1.8.6", + "app-builder-bin-win": "1.8.6" } }, "app-builder-bin-linux": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/app-builder-bin-linux/-/app-builder-bin-linux-1.7.2.tgz", - "integrity": "sha512-spoW8f6sqo5aKpoZx+scIPMonSTrh8JtKWM3MuDqBJiXiUCtpVIPez5c4AycGwQnmh167KFjK4pn129o3k+aHQ==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-linux/-/app-builder-bin-linux-1.8.6.tgz", + "integrity": "sha512-IZSv5Wcz3/OYZENwn3iaTLjDSSVPVFobBiJjUrP3hXeOnitRvB0aI8X5KMFYzfkv7kIhSlyPnRsvNjPqgbjyrw==", "dev": true, "optional": true }, "app-builder-bin-mac": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/app-builder-bin-mac/-/app-builder-bin-mac-1.7.2.tgz", - "integrity": "sha512-GLrQ9r17Hnc8dap2rKJ1N7ZukLBbTN88BSG4EC3xmNeafoWbekuxq3IdJYkZAT/eS1Ig4Q6nRcLI9TfnafwZEQ==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-mac/-/app-builder-bin-mac-1.8.6.tgz", + "integrity": "sha512-lWIpI2zmOmQ4JCp1IGxK6KngKAEN6QO9nu5k8h+ZzMxHBTCk8+kbBTE+R36BSRGX9q/4FhHBpYGXHVj+N9xOXg==", "dev": true, "optional": true }, "app-builder-bin-win": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/app-builder-bin-win/-/app-builder-bin-win-1.7.2.tgz", - "integrity": "sha512-/7tvJZas9T5TBM3QUV0xQkRQAyUlsXdtUsqtOg48mgp1ogPqDjs4W2Jr31YhhiUHDdNgamZc655PzWqAEnbZfQ==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-win/-/app-builder-bin-win-1.8.6.tgz", + "integrity": "sha512-nlceArzkRtWgqNoif6OFKaAKNNZ3uZuiG+9UkpOPLf/EDoYdeAq4YdvKWaQx1RHsNNfQTx0s/IODvlD0AdUmPA==", "dev": true, "optional": true }, @@ -1566,6 +1692,13 @@ "requires": { "electron-dl": "1.10.0", "electron-is-dev": "0.1.2" + }, + "dependencies": { + "electron-is-dev": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-0.1.2.tgz", + "integrity": "sha1-ihBD4ys6HaHD9VPc4oznZCRhZ+M=" + } } }, "electron-dl": { @@ -1635,9 +1768,9 @@ } }, "electron-is-dev": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-0.1.2.tgz", - "integrity": "sha1-ihBD4ys6HaHD9VPc4oznZCRhZ+M=" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-0.3.0.tgz", + "integrity": "sha1-FOb9pcaOnk7L7/nM8DfL18BcWv4=" }, "electron-osx-sign": { "version": "0.4.10", @@ -1658,22 +1791,33 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true + }, + "plist": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz", + "integrity": "sha1-V8zbeggh3yGDEhejytVOPhRqECU=", + "dev": true, + "requires": { + "base64-js": "1.2.0", + "xmlbuilder": "8.2.2", + "xmldom": "0.1.27" + } } } }, "electron-publish": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.5.0.tgz", - "integrity": "sha512-BejALjAMG0QbjJNjN66pruwhWt07Iy86VBDxHWXO9IoupYykCEyFdy20jjl5rNTpfnojvynqZyj8QpRkNjJBZg==", + "version": "20.9.0", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.9.0.tgz", + "integrity": "sha512-Fqc+XpSDssHUX2+qKIV3fEi3y25PRzO3lD4l/Bfk/OSSnITHBr3DMBkxE7Z3lvqwGs/9fYEzon/sdV17mtR5sQ==", "dev": true, "requires": { "bluebird-lst": "1.0.5", - "builder-util": "5.6.5", - "builder-util-runtime": "4.0.5", - "chalk": "2.3.2", + "builder-util": "5.7.9", + "builder-util-runtime": "4.2.0", + "chalk": "2.4.0", "fs-extra-p": "4.5.2", "lazy-val": "1.0.3", - "mime": "2.2.0" + "mime": "2.3.1" }, "dependencies": { "ansi-styles": { @@ -1686,26 +1830,26 @@ } }, "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", + "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==", "dev": true, "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "supports-color": "5.4.0" } }, "mime": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz", - "integrity": "sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", "dev": true }, "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -2054,7 +2198,8 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "fsevents": { "version": "1.1.3", @@ -2959,17 +3104,6 @@ } } }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" - } - }, "fullstore": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fullstore/-/fullstore-1.1.0.tgz", @@ -2981,14 +3115,6 @@ "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, - "get-proxy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", - "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", - "requires": { - "npm-conf": "1.1.3" - } - }, "get-stdin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", @@ -2998,7 +3124,8 @@ "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true }, "getpass": { "version": "0.1.7", @@ -3013,6 +3140,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -3061,6 +3189,7 @@ "version": "6.7.1", "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "dev": true, "requires": { "create-error-class": "3.0.2", "duplexer3": "0.1.4", @@ -3078,7 +3207,8 @@ "unzip-response": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", + "dev": true } } }, @@ -3137,19 +3267,6 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "has-symbol-support-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz", - "integrity": "sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA==" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "requires": { - "has-symbol-support-x": "1.4.1" - } - }, "hawk": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", @@ -3246,6 +3363,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -3259,7 +3377,8 @@ "ini": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=" + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "dev": true }, "invariant": { "version": "2.2.2", @@ -3275,11 +3394,6 @@ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, - "is-arrayish": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.1.tgz", - "integrity": "sha1-wt/DhquqDD4zxI2z/ocFnmkGXv0=" - }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", @@ -3402,11 +3516,6 @@ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" - }, "is-path-inside": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", @@ -3438,12 +3547,14 @@ "is-redirect": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true }, "is-retry-allowed": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "dev": true }, "is-stream": { "version": "1.1.0", @@ -3511,15 +3622,6 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "requires": { - "has-to-string-tag-x": "1.4.1", - "is-object": "1.0.1" - } - }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", @@ -3732,7 +3834,8 @@ "lowercase-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "dev": true }, "lru-cache": { "version": "4.1.2", @@ -3914,6 +4017,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "1.1.8" } @@ -4008,15 +4112,6 @@ "remove-trailing-separator": "1.1.0" } }, - "npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", - "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", - "requires": { - "config-chain": "1.1.11", - "pify": "3.0.0" - } - }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -4087,6 +4182,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1.0.2" } @@ -4214,7 +4310,8 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-is-inside": { "version": "1.0.2", @@ -4262,7 +4359,8 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true }, "pinkie": { "version": "2.0.4", @@ -4280,20 +4378,35 @@ } }, "plist": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz", - "integrity": "sha1-V8zbeggh3yGDEhejytVOPhRqECU=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", + "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", "dev": true, "requires": { - "base64-js": "1.2.0", - "xmlbuilder": "8.2.2", + "base64-js": "1.3.0", + "xmlbuilder": "9.0.7", "xmldom": "0.1.27" + }, + "dependencies": { + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "dev": true + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true + } } }, "prepend-http": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true }, "preserve": { "version": "0.2.0", @@ -4351,11 +4464,6 @@ "object-assign": "4.1.1" } }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" - }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -4733,6 +4841,7 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, "requires": { "glob": "7.1.2" } @@ -4742,6 +4851,12 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, "sanitize-filename": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz", @@ -4788,31 +4903,6 @@ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, - "sharp": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.17.3.tgz", - "integrity": "sha1-SEzSpwyQA3CUjcxD4WX3gwa/9Io=", - "requires": { - "caw": "2.0.1", - "color": "1.0.3", - "got": "6.7.1", - "nan": "2.7.0", - "semver": "5.4.1", - "tar": "2.2.1" - }, - "dependencies": { - "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - } - } - }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -4839,14 +4929,6 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "requires": { - "is-arrayish": "0.3.1" - } - }, "single-line-log": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", @@ -5878,7 +5960,8 @@ "timed-out": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true }, "to-fast-properties": { "version": "1.0.3", @@ -5920,6 +6003,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -5971,15 +6055,16 @@ } }, "update-notifier": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", - "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { "boxen": "1.3.0", - "chalk": "2.3.2", - "configstore": "3.1.1", + "chalk": "2.4.0", + "configstore": "3.1.2", "import-lazy": "2.1.0", + "is-ci": "1.1.0", "is-installed-globally": "0.1.0", "is-npm": "1.0.0", "latest-version": "3.1.0", @@ -5997,20 +6082,20 @@ } }, "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", + "integrity": "sha512-Wr/w0f4o9LuE7K53cD0qmbAMM+2XNLzR29vFn5hqko4sxGlUsyy363NvmyGIyk5tpe9cjTr9SJYbysEyPkRnFw==", "dev": true, "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "supports-color": "5.4.0" } }, "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -6031,15 +6116,11 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, "requires": { "prepend-http": "1.0.4" } }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" - }, "user-home": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", @@ -6171,7 +6252,8 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "write-file-atomic": { "version": "2.3.0", diff --git a/ElectronClient/app/package.json b/ElectronClient/app/package.json index 8f28eb330..4dde4676d 100644 --- a/ElectronClient/app/package.json +++ b/ElectronClient/app/package.json @@ -26,7 +26,23 @@ "build/icons/*" ], "win": { - "icon": "../../Assets/Joplin.ico" + "icon": "../../Assets/Joplin.ico", + "target": [ + { + "target": "nsis", + "arch": [ + "x64", + "ia32" + ] + }, + { + "target": "portable", + "arch": [ + "x64", + "ia32" + ] + } + ] }, "nsis": { "oneClick": false, @@ -61,6 +77,7 @@ "base-64": "^0.1.0", "compare-versions": "^3.1.0", "electron-context-menu": "^0.9.1", + "electron-is-dev": "^0.3.0", "electron-window-state": "^4.1.1", "follow-redirects": "^1.2.5", "form-data": "^2.3.1", diff --git a/ReactNativeClient/lib/BaseApplication.js b/ReactNativeClient/lib/BaseApplication.js index c9f15d155..b184445a8 100644 --- a/ReactNativeClient/lib/BaseApplication.js +++ b/ReactNativeClient/lib/BaseApplication.js @@ -368,11 +368,11 @@ class BaseApplication { let initArgs = startFlags.matched; if (argv.length) this.showPromptString_ = false; - if (process.argv[1].indexOf('joplindev') >= 0) { - if (!initArgs.profileDir) initArgs.profileDir = '/mnt/d/Temp/TestNotes2'; - initArgs.logLevel = Logger.LEVEL_DEBUG; - initArgs.env = 'dev'; - } + // if (process.argv[1].indexOf('joplindev') >= 0) { + // if (!initArgs.profileDir) initArgs.profileDir = '/mnt/d/Temp/TestNotes2'; + // initArgs.logLevel = Logger.LEVEL_DEBUG; + // initArgs.env = 'dev'; + // } let appName = initArgs.env == 'dev' ? 'joplindev' : 'joplin'; if (Setting.value('appId').indexOf('-desktop') >= 0) appName += '-desktop'; diff --git a/Tools/PortableAppsLauncher/App/AppInfo/Launcher/JoplinPortable.ini b/Tools/PortableAppsLauncher/App/AppInfo/Launcher/JoplinPortable.ini new file mode 100644 index 000000000..0beda9b9e --- /dev/null +++ b/Tools/PortableAppsLauncher/App/AppInfo/Launcher/JoplinPortable.ini @@ -0,0 +1,5 @@ +[Launch] +ProgramExecutable=Joplin\Joplin.exe +DirectoryMoveOK=yes +SupportsUNC=yes +CommandLineArguments=--profile "%PAL:DataDir%" \ No newline at end of file diff --git a/Tools/PortableAppsLauncher/App/AppInfo/Launcher/splash.jpg b/Tools/PortableAppsLauncher/App/AppInfo/Launcher/splash.jpg new file mode 100644 index 000000000..252c16948 Binary files /dev/null and b/Tools/PortableAppsLauncher/App/AppInfo/Launcher/splash.jpg differ diff --git a/Tools/PortableAppsLauncher/App/AppInfo/appicon.ico b/Tools/PortableAppsLauncher/App/AppInfo/appicon.ico new file mode 100644 index 000000000..a5e1174e2 Binary files /dev/null and b/Tools/PortableAppsLauncher/App/AppInfo/appicon.ico differ diff --git a/Tools/PortableAppsLauncher/App/AppInfo/appicon_128.png b/Tools/PortableAppsLauncher/App/AppInfo/appicon_128.png new file mode 100644 index 000000000..2e25758b6 Binary files /dev/null and b/Tools/PortableAppsLauncher/App/AppInfo/appicon_128.png differ diff --git a/Tools/PortableAppsLauncher/App/AppInfo/appicon_16.png b/Tools/PortableAppsLauncher/App/AppInfo/appicon_16.png new file mode 100644 index 000000000..9a4198a76 Binary files /dev/null and b/Tools/PortableAppsLauncher/App/AppInfo/appicon_16.png differ diff --git a/Tools/PortableAppsLauncher/App/AppInfo/appicon_32.png b/Tools/PortableAppsLauncher/App/AppInfo/appicon_32.png new file mode 100644 index 000000000..679aa6e67 Binary files /dev/null and b/Tools/PortableAppsLauncher/App/AppInfo/appicon_32.png differ diff --git a/Tools/PortableAppsLauncher/App/AppInfo/appicon_75.png b/Tools/PortableAppsLauncher/App/AppInfo/appicon_75.png new file mode 100644 index 000000000..6e59021c2 Binary files /dev/null and b/Tools/PortableAppsLauncher/App/AppInfo/appicon_75.png differ diff --git a/Tools/PortableAppsLauncher/App/AppInfo/appinfo.ini b/Tools/PortableAppsLauncher/App/AppInfo/appinfo.ini new file mode 100644 index 000000000..51050ddd1 --- /dev/null +++ b/Tools/PortableAppsLauncher/App/AppInfo/appinfo.ini @@ -0,0 +1,26 @@ +[Format] +Type=PortableApps.comFormat +Version=3.3 + +[Details] +Name=Joplin Portable +AppID=JoplinPortable +Publisher=Joplin & PortableApps.com +Homepage=PortableApps.com/JoplinPortable +Category=Office +Description=Note taking +Language=Multilingual + +[License] +Shareable=true +OpenSource=true +Freeware=true +CommercialUse=true + +[Version] +PackageVersion=1.0.83 +DisplayVersion=1.0.83 + +[Control] +Icons=1 +Start=JoplinPortable.exe diff --git a/Tools/PortableAppsLauncher/App/readme.txt b/Tools/PortableAppsLauncher/App/readme.txt new file mode 100644 index 000000000..212d21967 --- /dev/null +++ b/Tools/PortableAppsLauncher/App/readme.txt @@ -0,0 +1,3 @@ +The files in this directory are necessary for the portable application to +function. There is normally no need to directly access or alter any of the +files within these directories. diff --git a/Tools/PortableAppsLauncher/JoplinPortable.exe b/Tools/PortableAppsLauncher/JoplinPortable.exe new file mode 100644 index 000000000..afb8560ee Binary files /dev/null and b/Tools/PortableAppsLauncher/JoplinPortable.exe differ diff --git a/Tools/PortableAppsLauncher/Other/Help/images/donation_button.png b/Tools/PortableAppsLauncher/Other/Help/images/donation_button.png new file mode 100644 index 000000000..f19dea7a1 Binary files /dev/null and b/Tools/PortableAppsLauncher/Other/Help/images/donation_button.png differ diff --git a/Tools/PortableAppsLauncher/Other/Help/images/favicon.ico b/Tools/PortableAppsLauncher/Other/Help/images/favicon.ico new file mode 100644 index 000000000..ed849b2de Binary files /dev/null and b/Tools/PortableAppsLauncher/Other/Help/images/favicon.ico differ diff --git a/Tools/PortableAppsLauncher/Other/Help/images/help_background_footer.png b/Tools/PortableAppsLauncher/Other/Help/images/help_background_footer.png new file mode 100644 index 000000000..5ebdc028c Binary files /dev/null and b/Tools/PortableAppsLauncher/Other/Help/images/help_background_footer.png differ diff --git a/Tools/PortableAppsLauncher/Other/Help/images/help_background_header.png b/Tools/PortableAppsLauncher/Other/Help/images/help_background_header.png new file mode 100644 index 000000000..cf1ebf762 Binary files /dev/null and b/Tools/PortableAppsLauncher/Other/Help/images/help_background_header.png differ diff --git a/Tools/PortableAppsLauncher/Other/Help/images/help_logo_top.png b/Tools/PortableAppsLauncher/Other/Help/images/help_logo_top.png new file mode 100644 index 000000000..1a705050e Binary files /dev/null and b/Tools/PortableAppsLauncher/Other/Help/images/help_logo_top.png differ diff --git a/Tools/PortableAppsLauncher/Other/Source/AppNamePortable.ini b/Tools/PortableAppsLauncher/Other/Source/AppNamePortable.ini new file mode 100644 index 000000000..585cd88b7 --- /dev/null +++ b/Tools/PortableAppsLauncher/Other/Source/AppNamePortable.ini @@ -0,0 +1,6 @@ +AdditionalParameters= +DisableSplashScreen=false +RunLocally=false + +# The above options are explained in the included readme.txt +# This INI file is an example only and is not used unless it is placed as described in the included readme.txt diff --git a/Tools/PortableAppsLauncher/Other/Source/License.txt b/Tools/PortableAppsLauncher/Other/Source/License.txt new file mode 100644 index 000000000..8271fa902 --- /dev/null +++ b/Tools/PortableAppsLauncher/Other/Source/License.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016-2018 Laurent Cozic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/Tools/PortableAppsLauncher/Other/Source/Readme.txt b/Tools/PortableAppsLauncher/Other/Source/Readme.txt new file mode 100644 index 000000000..b592f2e77 --- /dev/null +++ b/Tools/PortableAppsLauncher/Other/Source/Readme.txt @@ -0,0 +1,50 @@ +The base application's source code is available from the portable app's +homepage listed in the help.html file. + +Details of most other things are available there as well. + +LICENSE +======= + +This package and its launcher are released under the GPL. The launcher is the +PortableApps.com Launcher, available with full source and documentation from +http://portableapps.com/development. We request that developers using the +PortableApps.com Launcher please leave this directory intact and unchanged. + +USER CONFIGURATION +================== + +(For this section, AppNamePortable is the executable base file name, normally +the App ID of the package.) + +Some configuration in the PortableApps.com Launcher can be overridden by the +user in an INI file next to AppNamePortable.exe called AppNamePortable.ini. If +you are happy with the default options, it is not necessary, though. There is +an example INI included with this package to get you started. To use it, copy +PortableApps.comLauncher.ini from this directory to AppNamePortable.ini next to +AppNamePortable.exe. The options in the INI file are as follows:: + + AdditionalParameters= + DisableSplashScreen=false + RunLocally=false + +(There is no need for an INI header in this file; if you have one, though, it +won't damage anything.) + +The AdditionalParameters entry allows you to pass additional command-line +parameters to the application. + +The DisableSplashScreen entry allows you to run the launcher without the splash +screen showing up. The default is false. + +The RunLocally entry allows you to run the portable application from a read- +only medium. This is known as Live mode. It copies what it needs to to a +temporary directory on the host computer, runs the application, and then +deletes it afterwards, leaving nothing behind. This can be useful for running +the application from a CD or if you work on a computer that may have spyware or +viruses and you'd like to keep your device set to read-only. As a consequence +of this technique, any changes you make during the Live mode session aren't +saved back to your device. The default is false. + +There may be other values also permitted in the user configuration file by the +portable application; refer to help.html for any details of them.