From 429a376ccfd855a11a1ef426b931c018f9dc965b Mon Sep 17 00:00:00 2001 From: Lucas <5874806+RecoX@users.noreply.github.com> Date: Thu, 31 Jan 2019 11:41:31 +1300 Subject: [PATCH 01/17] Recommended readings to start working in the app. As there is no too much information in the readme.md in how is this made, I think put a link of Electron and React to have an idea of the technologies used here is a good starter. --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 13bc1d01..19944003 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,15 @@ The Mac app can only be packaged from **macOS**. The Linux app can be packaged from **any** platform. + +#### Recommended readings to start working in the app + +Electron: +https://electronjs.org/docs/tutorial/quick-start + +React: +https://reactjs.org/docs/getting-started.html + ### Privacy WebTorrent Desktop collects some basic usage stats to help us make the app better. From 21ee5566a77689ac672f2582afda6135b96437a7 Mon Sep 17 00:00:00 2001 From: Lucas <5874806+RecoX@users.noreply.github.com> Date: Thu, 31 Jan 2019 11:48:37 +1300 Subject: [PATCH 02/17] Update README.md --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 19944003..1f7177ff 100644 --- a/README.md +++ b/README.md @@ -161,12 +161,15 @@ The Linux app can be packaged from **any** platform. #### Recommended readings to start working in the app -Electron: +Electron (Framework to make native apps for Windows, OSX and Linux in Javascript): https://electronjs.org/docs/tutorial/quick-start -React: +React.js (Framework to work with Frontend UI): https://reactjs.org/docs/getting-started.html +Material UI (React components that implement Google's Material Design.): +https://material-ui.com/getting-started + ### Privacy WebTorrent Desktop collects some basic usage stats to help us make the app better. From 6add81add86a9995a697fbe5112595a09d2f1735 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Wed, 8 May 2019 14:07:11 +0000 Subject: [PATCH 03/17] chore(package): update depcheck to version 0.8.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ffb08d85..74812fb4 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "babel-eslint": "^9.0.0", "buble": "^0.19.6", "cross-zip": "^2.0.1", - "depcheck": "^0.7.2", + "depcheck": "^0.8.0", "electron": "^1.8.8", "electron-osx-sign": "^0.4.11", "electron-packager": "~8.5.1", From 60e9bf461c5c0827311716b584423bd2b7a0fb8c Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Wed, 8 May 2019 14:07:18 +0000 Subject: [PATCH 04/17] chore(package): update lockfile package-lock.json --- package-lock.json | 126 ++++++++++++++++++++++++---------------------- 1 file changed, 66 insertions(+), 60 deletions(-) diff --git a/package-lock.json b/package-lock.json index adb956d7..a1d588ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2854,9 +2854,9 @@ "dev": true }, "depcheck": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-0.7.2.tgz", - "integrity": "sha512-KzwYzptnHrm093lYLKKIlBZ0VBvt135Hh1ADUPo8FhIeAkY/Xmo5NxSgHMXczzx5b3qX+qc2UB73VKaW0YbgZA==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-0.8.0.tgz", + "integrity": "sha512-ZCwp4SeB6JYMyd2/lFC4RwtAZ8CqPY5c4Yq2sQQI0q3ycCs9M4GVqbKqvtMFFbZaVVjNw9gVEIPELCQxR3HDpw==", "dev": true, "requires": { "@babel/parser": "^7.3.1", @@ -2871,17 +2871,17 @@ "please-upgrade-node": "^3.1.1", "require-package-name": "^2.0.1", "resolve": "^1.10.0", - "walkdir": "0.0.12", - "yargs": "^12.0.1" + "walkdir": "^0.3.2", + "yargs": "^13.2.2" }, "dependencies": { "@babel/generator": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.0.tgz", - "integrity": "sha512-/v5I+a1jhGSKLgZDcmAUZ4K/VePi43eRkUs3yePW1HB1iANOD5tqJXwGSG4BZhSksP8J9ejSlwGeTiiOFZOrXQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz", + "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==", "dev": true, "requires": { - "@babel/types": "^7.4.0", + "@babel/types": "^7.4.4", "jsesc": "^2.5.1", "lodash": "^4.17.11", "source-map": "^0.5.0", @@ -2889,41 +2889,41 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.0.tgz", - "integrity": "sha512-7Cuc6JZiYShaZnybDmfwhY4UYHzI6rlqhWjaIqbsJGsIqPimEYy5uh3akSRLMg65LSdSEnJ8a8/bWQN6u2oMGw==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", "dev": true, "requires": { - "@babel/types": "^7.4.0" + "@babel/types": "^7.4.4" } }, "@babel/parser": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.3.tgz", - "integrity": "sha512-gxpEUhTS1sGA63EGQGuA+WESPR/6tz6ng7tSHFCmaTJK/cGK8y37cBTspX+U2xCAue2IQVvF6Z0oigmjwD8YGQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.4.tgz", + "integrity": "sha512-5pCS4mOsL+ANsFZGdvNLybx4wtqAZJ0MJjMHxvzI3bvIsz6sQvzW8XX92EYIkiPtIvcfG3Aj+Ir5VNyjnZhP7w==", "dev": true }, "@babel/traverse": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.3.tgz", - "integrity": "sha512-HmA01qrtaCwwJWpSKpA948cBvU5BrmviAief/b3AVw936DtcdsTexlbyzNuDnthwhOQ37xshn7hvQaEQk7ISYQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.4.tgz", + "integrity": "sha512-Gw6qqkw/e6AGzlyj9KnkabJX7VcubqPtkUQVAwkc0wUMldr3A/hezNB3Rc5eIvId95iSGkGIOe5hh1kMKf951A==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.4.0", + "@babel/generator": "^7.4.4", "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/types": "^7.4.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.4.4", + "@babel/types": "^7.4.4", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.11" } }, "@babel/types": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.0.tgz", - "integrity": "sha512-aPvkXyU2SPOnztlgo8n9cEiXW755mgyvueUPcpStqdzoSPm0fjO0vQBjLkt3JKJW7ufikfcnMTTPsN1xaTsBPA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -3517,6 +3517,12 @@ } } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, "encoding": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", @@ -4352,9 +4358,9 @@ "integrity": "sha1-u81AyEUaftTvXDc7gWmkCd0dEdk=" }, "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, "get-package-info": { @@ -8131,9 +8137,9 @@ "dev": true }, "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, "require-object-coercible-x": { @@ -10563,9 +10569,9 @@ } }, "walkdir": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.12.tgz", - "integrity": "sha512-HFhaD4mMWPzFSqhpyDG48KDdrjfn409YQuVW7ckZYhW4sE87mYtWifdB/+73RA7+p4s4K18n5Jfx1kHthE1gBw==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.3.2.tgz", + "integrity": "sha512-0Twghia4Z5wDGDYWURlhZmI47GvERMCsXIu0QZWVVZyW9ZjpbbZvD9Zy9M6cWiQQRRbAcYajIyKNavaZZDt1Uw==", "dev": true }, "warning": { @@ -10946,7 +10952,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { @@ -11039,29 +11045,28 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", + "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", "dev": true, "requires": { "cliui": "^4.0.0", - "decamelize": "^1.2.0", "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^3.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" + "y18n": "^4.0.0", + "yargs-parser": "^13.0.0" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "find-up": { @@ -11120,30 +11125,31 @@ "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { + "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.1.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" } } } }, "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.0.tgz", + "integrity": "sha512-Yq+32PrijHRri0vVKQEm+ys8mbqWjLiwQkMFNXEENutzLPP0bE4Lcd4iA3OQY5HF+GD3xXxf0MEHb8E4/SA3AA==", "dev": true, "requires": { "camelcase": "^5.0.0", From 13edc02440b98f4deff61d4fb596dc46a5cecf00 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Mon, 17 Jun 2019 14:21:56 +0000 Subject: [PATCH 05/17] chore(package): update babel-eslint to version 10.0.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ffb08d85..9e369ed5 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "zero-fill": "^2.2.3" }, "devDependencies": { - "babel-eslint": "^9.0.0", + "babel-eslint": "^10.0.2", "buble": "^0.19.6", "cross-zip": "^2.0.1", "depcheck": "^0.7.2", From 4156a3f5462b7621aa9c85087ba92ef5b84f7c0c Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Mon, 17 Jun 2019 14:22:03 +0000 Subject: [PATCH 06/17] chore(package): update lockfile package-lock.json --- package-lock.json | 107 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 74 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index adb956d7..e825620e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,18 +14,29 @@ } }, "@babel/generator": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0.tgz", - "integrity": "sha512-/BM2vupkpbZXq22l1ALO7MqXJZH2k8bKVv8Y+pABFnzWdztDB/ZLveP5At21vLz5c2YtSE6p7j2FZEsqafMz5Q==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz", + "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==", "dev": true, "requires": { - "@babel/types": "^7.0.0", + "@babel/types": "^7.4.4", "jsesc": "^2.5.1", - "lodash": "^4.17.10", + "lodash": "^4.17.11", "source-map": "^0.5.0", "trim-right": "^1.0.1" }, "dependencies": { + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + }, "lodash": { "version": "4.17.11", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", @@ -55,12 +66,31 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", - "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.4.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } } }, "@babel/highlight": { @@ -159,37 +189,48 @@ } }, "@babel/traverse": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.0.tgz", - "integrity": "sha512-bwgln0FsMoxm3pLOgrrnGaXk18sSM9JNf1/nHC/FksmNGFbYnPWY4GYCfLxyP1KRmfsxqkRpfoa6xr6VuuSxdw==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.5.tgz", + "integrity": "sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.0.0", + "@babel/generator": "^7.4.4", "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "debug": "^3.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.4.5", + "@babel/types": "^7.4.4", + "debug": "^4.1.0", "globals": "^11.1.0", - "lodash": "^4.17.10" + "lodash": "^4.17.11" }, "dependencies": { + "@babel/parser": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.5.tgz", + "integrity": "sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew==", + "dev": true + }, + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + }, "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { "ms": "^2.1.1" } }, - "globals": { - "version": "11.7.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", - "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", - "dev": true - }, "lodash": { "version": "4.17.11", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", @@ -197,9 +238,9 @@ "dev": true }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -750,9 +791,9 @@ } }, "babel-eslint": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-9.0.0.tgz", - "integrity": "sha512-itv1MwE3TMbY0QtNfeL7wzak1mV47Uy+n6HtSOO4Xd7rvmO+tsGQSgyOEEgo6Y2vHZKZphaoelNeSVj4vkLA1g==", + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.2.tgz", + "integrity": "sha512-UdsurWPtgiPgpJ06ryUnuaSXC2s0WoSZnQmEpbAH65XZSdwowgN5MvyP7e88nW07FYXv72erVtpBkxyDVKhH1Q==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", From f6129444f76aaa8f42baaa1c3b24f4973039e4da Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" <23040076+greenkeeper[bot]@users.noreply.github.com> Date: Fri, 28 Jun 2019 23:57:51 +0000 Subject: [PATCH 07/17] fix(package): update create-torrent to version 4.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ffb08d85..fcd6bdc1 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "chokidar": "^2.0.4", "chromecasts": "^1.9.1", "cp-file": "^7.0.0", - "create-torrent": "^3.33.0", + "create-torrent": "^4.0.0", "debounce": "^1.0.0", "deep-equal": "^1.0.1", "dlnacasts": "^0.1.0", From 290027b5c5a13ce9860bc8a931899c0f2976148b Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" <23040076+greenkeeper[bot]@users.noreply.github.com> Date: Fri, 28 Jun 2019 23:57:54 +0000 Subject: [PATCH 08/17] chore(package): update lockfile package-lock.json --- package-lock.json | 56 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 45 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index adb956d7..af830c25 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2512,18 +2512,18 @@ } }, "create-torrent": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/create-torrent/-/create-torrent-3.33.0.tgz", - "integrity": "sha512-KMd0KuvwVUg1grlRd5skG9ZkSbBYDDkAjDUMLnvxdRn0rL7ph3IwoOk7I8u1yLX4HYjGiLVlWYO55YWNNPjJFA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/create-torrent/-/create-torrent-4.0.0.tgz", + "integrity": "sha512-16JQRuPJWAntC4p+k6EFMxKatqzQOKv037aAun6Comomizlg9fOoBiIhxC/QCQfJFmGIfnT6HMOEa6da5xUmsg==", "requires": { "bencode": "^2.0.0", "block-stream2": "^1.0.0", "filestream": "^4.0.0", "flatten": "^1.0.2", "is-file": "^1.0.0", - "junk": "^2.1.0", + "junk": "^3.1.0", "minimist": "^1.1.0", - "multistream": "^2.0.2", + "multistream": "^3.0.0", "once": "^1.3.0", "piece-length": "^1.0.0", "readable-stream": "^3.0.2", @@ -2531,10 +2531,19 @@ "simple-sha1": "^2.0.0" }, "dependencies": { + "multistream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/multistream/-/multistream-3.0.0.tgz", + "integrity": "sha512-v1Fx9uhHEpTB725/Kj8YpRCvrLhb20LeABFLw+0dkBkKUUAbDCY6CUUNzGQsJ94ji/p50wBPsRjIQXN1iOwZYA==", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^3.4.0" + } + }, "readable-stream": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz", - "integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -5763,9 +5772,9 @@ } }, "junk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/junk/-/junk-2.1.0.tgz", - "integrity": "sha1-9DG0t/By3FAKXxDOf07HGTDnATQ=" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==" }, "k-bucket": { "version": "5.0.0", @@ -10812,6 +10821,26 @@ "resolved": "https://registry.npmjs.org/bitfield/-/bitfield-2.0.0.tgz", "integrity": "sha512-4xM4DYejOHQ/qWBfeqBXNA4mJ12PwcOibFYnH1kYh5U9BHciCqEJBqGNVnMJXUhm8mflujNRLSv7IiVQxovgjw==" }, + "create-torrent": { + "version": "3.33.0", + "resolved": "https://registry.npmjs.org/create-torrent/-/create-torrent-3.33.0.tgz", + "integrity": "sha512-KMd0KuvwVUg1grlRd5skG9ZkSbBYDDkAjDUMLnvxdRn0rL7ph3IwoOk7I8u1yLX4HYjGiLVlWYO55YWNNPjJFA==", + "requires": { + "bencode": "^2.0.0", + "block-stream2": "^1.0.0", + "filestream": "^4.0.0", + "flatten": "^1.0.2", + "is-file": "^1.0.0", + "junk": "^2.1.0", + "minimist": "^1.1.0", + "multistream": "^2.0.2", + "once": "^1.3.0", + "piece-length": "^1.0.0", + "readable-stream": "^3.0.2", + "run-parallel": "^1.0.0", + "simple-sha1": "^2.0.0" + } + }, "debug": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", @@ -10820,6 +10849,11 @@ "ms": "^2.1.1" } }, + "junk": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-2.1.0.tgz", + "integrity": "sha1-9DG0t/By3FAKXxDOf07HGTDnATQ=" + }, "mime": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", From 9ed353322582751d40810c4055da05a95b2950a4 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Fri, 5 Jul 2019 14:26:38 -0700 Subject: [PATCH 09/17] standard --- bin/package.js | 12 ++++++------ src/main/dialog.js | 12 ++++++------ src/main/handlers.js | 2 +- src/main/index.js | 2 +- src/main/thumbar.js | 4 ++-- src/renderer/components/path-selector.js | 2 +- src/renderer/controllers/subtitles-controller.js | 4 ++-- src/renderer/main.js | 2 +- src/renderer/pages/preferences-page.js | 6 +++--- 9 files changed, 23 insertions(+), 23 deletions(-) diff --git a/bin/package.js b/bin/package.js index edf00dfd..2db7da46 100755 --- a/bin/package.js +++ b/bin/package.js @@ -198,16 +198,16 @@ function buildDarwin (cb) { infoPlist.CFBundleDocumentTypes = [ { - CFBundleTypeExtensions: [ 'torrent' ], + CFBundleTypeExtensions: ['torrent'], CFBundleTypeIconFile: path.basename(config.APP_FILE_ICON) + '.icns', CFBundleTypeName: 'BitTorrent Document', CFBundleTypeRole: 'Editor', LSHandlerRank: 'Owner', - LSItemContentTypes: [ 'org.bittorrent.torrent' ] + LSItemContentTypes: ['org.bittorrent.torrent'] }, { CFBundleTypeName: 'Any', - CFBundleTypeOSTypes: [ '****' ], + CFBundleTypeOSTypes: ['****'], CFBundleTypeRole: 'Editor', LSHandlerRank: 'Owner', LSTypeIsPackage: false @@ -219,13 +219,13 @@ function buildDarwin (cb) { CFBundleTypeRole: 'Editor', CFBundleURLIconFile: path.basename(config.APP_FILE_ICON) + '.icns', CFBundleURLName: 'BitTorrent Magnet URL', - CFBundleURLSchemes: [ 'magnet' ] + CFBundleURLSchemes: ['magnet'] }, { CFBundleTypeRole: 'Editor', CFBundleURLIconFile: path.basename(config.APP_FILE_ICON) + '.icns', CFBundleURLName: 'BitTorrent Stream-Magnet URL', - CFBundleURLSchemes: [ 'stream-magnet' ] + CFBundleURLSchemes: ['stream-magnet'] } ] @@ -242,7 +242,7 @@ function buildDarwin (cb) { UTTypeReferenceURL: 'http://www.bittorrent.org/beps/bep_0000.html', UTTypeTagSpecification: { 'com.apple.ostype': 'TORR', - 'public.filename-extension': [ 'torrent' ], + 'public.filename-extension': ['torrent'], 'public.mime-type': 'application/x-bittorrent' } } diff --git a/src/main/dialog.js b/src/main/dialog.js index 38b9c96b..c8244599 100644 --- a/src/main/dialog.js +++ b/src/main/dialog.js @@ -19,7 +19,7 @@ function openSeedFile () { log('openSeedFile') const opts = { title: 'Select a file for the torrent.', - properties: [ 'openFile' ] + properties: ['openFile'] } showOpenSeed(opts) } @@ -35,11 +35,11 @@ function openSeedDirectory () { const opts = process.platform === 'darwin' ? { title: 'Select a file or folder for the torrent.', - properties: [ 'openFile', 'openDirectory' ] + properties: ['openFile', 'openDirectory'] } : { title: 'Select a folder for the torrent.', - properties: [ 'openDirectory' ] + properties: ['openDirectory'] } showOpenSeed(opts) } @@ -54,11 +54,11 @@ function openFiles () { const opts = process.platform === 'darwin' ? { title: 'Select a file or folder to add.', - properties: [ 'openFile', 'openDirectory' ] + properties: ['openFile', 'openDirectory'] } : { title: 'Select a file to add.', - properties: [ 'openFile' ] + properties: ['openFile'] } setTitle(opts.title) electron.dialog.showOpenDialog(windows.main.win, opts, function (selectedPaths) { @@ -77,7 +77,7 @@ function openTorrentFile () { const opts = { title: 'Select a .torrent file.', filters: [{ name: 'Torrent Files', extensions: ['torrent'] }], - properties: [ 'openFile', 'multiSelections' ] + properties: ['openFile', 'multiSelections'] } setTitle(opts.title) electron.dialog.showOpenDialog(windows.main.win, opts, function (selectedPaths) { diff --git a/src/main/handlers.js b/src/main/handlers.js index 3c42e443..cdd7a97e 100644 --- a/src/main/handlers.js +++ b/src/main/handlers.js @@ -42,7 +42,7 @@ function installDarwin () { function uninstallDarwin () {} -const EXEC_COMMAND = [ process.execPath, '--' ] +const EXEC_COMMAND = [process.execPath, '--'] if (!config.IS_PRODUCTION) { EXEC_COMMAND.push(config.ROOT_PATH) diff --git a/src/main/index.js b/src/main/index.js index 2b61eeaf..2eece306 100644 --- a/src/main/index.js +++ b/src/main/index.js @@ -162,7 +162,7 @@ function onOpen (e, torrentId) { // Electron issue: https://github.com/atom/electron/issues/4338 setTimeout(() => windows.main.show(), 100) - processArgv([ torrentId ]) + processArgv([torrentId]) } else { argv.push(torrentId) } diff --git a/src/main/thumbar.js b/src/main/thumbar.js index fd30d576..f6f936e6 100644 --- a/src/main/thumbar.js +++ b/src/main/thumbar.js @@ -77,8 +77,8 @@ function onPlayerPlay () { function onPlayerUpdate (state) { if (!isEnabled()) return - buttons[PREV].flags = [ state.hasPrevious ? 'enabled' : 'disabled' ] - buttons[NEXT].flags = [ state.hasNext ? 'enabled' : 'disabled' ] + buttons[PREV].flags = [state.hasPrevious ? 'enabled' : 'disabled'] + buttons[NEXT].flags = [state.hasNext ? 'enabled' : 'disabled'] update() } diff --git a/src/renderer/components/path-selector.js b/src/renderer/components/path-selector.js index 6ad66d4b..d6744ffa 100644 --- a/src/renderer/components/path-selector.js +++ b/src/renderer/components/path-selector.js @@ -32,7 +32,7 @@ class PathSelector extends React.Component { handleClick () { const opts = Object.assign({ defaultPath: this.props.value, - properties: [ 'openFile', 'openDirectory' ] + properties: ['openFile', 'openDirectory'] }, this.props.dialog) remote.dialog.showOpenDialog( diff --git a/src/renderer/controllers/subtitles-controller.js b/src/renderer/controllers/subtitles-controller.js index 1ad65ea7..a2302810 100644 --- a/src/renderer/controllers/subtitles-controller.js +++ b/src/renderer/controllers/subtitles-controller.js @@ -15,8 +15,8 @@ module.exports = class SubtitlesController { openSubtitles () { remote.dialog.showOpenDialog({ title: 'Select a subtitles file.', - filters: [ { name: 'Subtitles', extensions: ['vtt', 'srt'] } ], - properties: [ 'openFile' ] + filters: [{ name: 'Subtitles', extensions: ['vtt', 'srt'] }], + properties: ['openFile'] }, (filenames) => { if (!Array.isArray(filenames)) return this.addSubtitles(filenames, true) diff --git a/src/renderer/main.js b/src/renderer/main.js index 498cc23c..d73d517e 100644 --- a/src/renderer/main.js +++ b/src/renderer/main.js @@ -458,7 +458,7 @@ function setDimensions (dimensions) { // Called when the user adds files (.torrent, files to seed, subtitles) to the app // via any method (drag-drop, drag to app icon, command line) function onOpen (files) { - if (!Array.isArray(files)) files = [ files ] + if (!Array.isArray(files)) files = [files] // File API seems to transform "magnet:?foo" in "magnet:///?foo" // this is a sanitization diff --git a/src/renderer/pages/preferences-page.js b/src/renderer/pages/preferences-page.js index 70ce49a0..9bbde8b7 100644 --- a/src/renderer/pages/preferences-page.js +++ b/src/renderer/pages/preferences-page.js @@ -37,7 +37,7 @@ class PreferencesPage extends React.Component { Date: Fri, 5 Jul 2019 21:45:40 +0000 Subject: [PATCH 10/17] fix(package): update parse-torrent to version 7.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fcd6bdc1..dface0c2 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "mkdirp": "^0.5.1", "music-metadata": "^3.6.1", "network-address": "^1.1.0", - "parse-torrent": "^6.0.1", + "parse-torrent": "^7.0.0", "prettier-bytes": "^1.0.1", "prop-types": "^15.6.2", "react": "^16.5.2", From 8b31c0376c2456831c3ff29d776a3118b2f7618f Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" <23040076+greenkeeper[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2019 21:45:43 +0000 Subject: [PATCH 11/17] chore(package): update lockfile package-lock.json --- package-lock.json | 41 ++++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index af830c25..e16c6862 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7205,31 +7205,23 @@ "integrity": "sha1-tPCdQTx6282Yf26SM8e0shDJOOQ=" }, "parse-torrent": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/parse-torrent/-/parse-torrent-6.1.2.tgz", - "integrity": "sha512-Z/vig84sHwtrTEbOzisT4xnYTFlOgAaLQccPruMPgRahZUppVE/BUXzAos3jZM7c64o0lfukQdQ4ozWa5lN39w==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-torrent/-/parse-torrent-7.0.0.tgz", + "integrity": "sha512-i/Y9CNp2xn+moDrNWApBZ5rW9xRY6x6z4A71Lw886UKx7E/DkVAzuvA7efVtcPgdY3iI9ea0thaoqeMN3GZBOA==", "requires": { "bencode": "^2.0.0", "blob-to-buffer": "^1.2.6", - "get-stdin": "^6.0.0", + "get-stdin": "^7.0.0", "magnet-uri": "^5.1.3", "simple-get": "^3.0.1", "simple-sha1": "^2.0.0", "uniq": "^1.0.1" }, "dependencies": { - "bencode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bencode/-/bencode-2.0.0.tgz", - "integrity": "sha512-wr2HwwrUpfB5c68zmAudOltC7rZ1G0+lQOcnuEcfIM3AWAVnB3rHI3nlgd/2CWTfQ3w3zagKt89zni/M+VLZ8g==", - "requires": { - "safe-buffer": "^5.1.1" - } - }, "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", + "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==" } } }, @@ -10849,6 +10841,11 @@ "ms": "^2.1.1" } }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==" + }, "junk": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/junk/-/junk-2.1.0.tgz", @@ -10864,6 +10861,20 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" }, + "parse-torrent": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/parse-torrent/-/parse-torrent-6.1.2.tgz", + "integrity": "sha512-Z/vig84sHwtrTEbOzisT4xnYTFlOgAaLQccPruMPgRahZUppVE/BUXzAos3jZM7c64o0lfukQdQ4ozWa5lN39w==", + "requires": { + "bencode": "^2.0.0", + "blob-to-buffer": "^1.2.6", + "get-stdin": "^6.0.0", + "magnet-uri": "^5.1.3", + "simple-get": "^3.0.1", + "simple-sha1": "^2.0.0", + "uniq": "^1.0.1" + } + }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", From 0471d141c485a459a5209fc2cf17e0042118c880 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Fri, 5 Jul 2019 15:06:27 -0700 Subject: [PATCH 12/17] standard --- src/renderer/main.js | 136 +++++++++++++++--------------- src/renderer/pages/app.js | 6 +- src/renderer/pages/player-page.js | 6 +- test/setup.js | 2 +- 4 files changed, 75 insertions(+), 75 deletions(-) diff --git a/src/renderer/main.js b/src/renderer/main.js index d73d517e..ef40b662 100644 --- a/src/renderer/main.js +++ b/src/renderer/main.js @@ -235,100 +235,100 @@ function updateElectron () { const dispatchHandlers = { // Torrent list: creating, deleting, selecting torrents - 'openTorrentFile': () => ipcRenderer.send('openTorrentFile'), - 'openFiles': () => ipcRenderer.send('openFiles'), /* shows the open file dialog */ - 'openTorrentAddress': () => { state.modal = { id: 'open-torrent-address-modal' } }, + openTorrentFile: () => ipcRenderer.send('openTorrentFile'), + openFiles: () => ipcRenderer.send('openFiles'), /* shows the open file dialog */ + openTorrentAddress: () => { state.modal = { id: 'open-torrent-address-modal' } }, - 'addTorrent': (torrentId) => controllers.torrentList().addTorrent(torrentId), - 'showCreateTorrent': (paths) => controllers.torrentList().showCreateTorrent(paths), - 'createTorrent': (options) => controllers.torrentList().createTorrent(options), - 'toggleTorrent': (infoHash) => controllers.torrentList().toggleTorrent(infoHash), - 'pauseAllTorrents': () => controllers.torrentList().pauseAllTorrents(), - 'resumeAllTorrents': () => controllers.torrentList().resumeAllTorrents(), - 'toggleTorrentFile': (infoHash, index) => + addTorrent: (torrentId) => controllers.torrentList().addTorrent(torrentId), + showCreateTorrent: (paths) => controllers.torrentList().showCreateTorrent(paths), + createTorrent: (options) => controllers.torrentList().createTorrent(options), + toggleTorrent: (infoHash) => controllers.torrentList().toggleTorrent(infoHash), + pauseAllTorrents: () => controllers.torrentList().pauseAllTorrents(), + resumeAllTorrents: () => controllers.torrentList().resumeAllTorrents(), + toggleTorrentFile: (infoHash, index) => controllers.torrentList().toggleTorrentFile(infoHash, index), - 'confirmDeleteTorrent': (infoHash, deleteData) => + confirmDeleteTorrent: (infoHash, deleteData) => controllers.torrentList().confirmDeleteTorrent(infoHash, deleteData), - 'deleteTorrent': (infoHash, deleteData) => + deleteTorrent: (infoHash, deleteData) => controllers.torrentList().deleteTorrent(infoHash, deleteData), - 'toggleSelectTorrent': (infoHash) => + toggleSelectTorrent: (infoHash) => controllers.torrentList().toggleSelectTorrent(infoHash), - 'openTorrentContextMenu': (infoHash) => + openTorrentContextMenu: (infoHash) => controllers.torrentList().openTorrentContextMenu(infoHash), - 'startTorrentingSummary': (torrentKey) => + startTorrentingSummary: (torrentKey) => controllers.torrentList().startTorrentingSummary(torrentKey), - 'saveTorrentFileAs': (torrentKey) => + saveTorrentFileAs: (torrentKey) => controllers.torrentList().saveTorrentFileAs(torrentKey), - 'prioritizeTorrent': (infoHash) => controllers.torrentList().prioritizeTorrent(infoHash), - 'resumePausedTorrents': () => controllers.torrentList().resumePausedTorrents(), + prioritizeTorrent: (infoHash) => controllers.torrentList().prioritizeTorrent(infoHash), + resumePausedTorrents: () => controllers.torrentList().resumePausedTorrents(), // Playback - 'playFile': (infoHash, index) => controllers.playback().playFile(infoHash, index), - 'playPause': () => controllers.playback().playPause(), - 'nextTrack': () => controllers.playback().nextTrack(), - 'previousTrack': () => controllers.playback().previousTrack(), - 'skip': (time) => controllers.playback().skip(time), - 'skipTo': (time) => controllers.playback().skipTo(time), - 'changePlaybackRate': (dir) => controllers.playback().changePlaybackRate(dir), - 'changeVolume': (delta) => controllers.playback().changeVolume(delta), - 'setVolume': (vol) => controllers.playback().setVolume(vol), - 'openItem': (infoHash, index) => controllers.playback().openItem(infoHash, index), + playFile: (infoHash, index) => controllers.playback().playFile(infoHash, index), + playPause: () => controllers.playback().playPause(), + nextTrack: () => controllers.playback().nextTrack(), + previousTrack: () => controllers.playback().previousTrack(), + skip: (time) => controllers.playback().skip(time), + skipTo: (time) => controllers.playback().skipTo(time), + changePlaybackRate: (dir) => controllers.playback().changePlaybackRate(dir), + changeVolume: (delta) => controllers.playback().changeVolume(delta), + setVolume: (vol) => controllers.playback().setVolume(vol), + openItem: (infoHash, index) => controllers.playback().openItem(infoHash, index), // Subtitles - 'openSubtitles': () => controllers.subtitles().openSubtitles(), - 'selectSubtitle': (index) => controllers.subtitles().selectSubtitle(index), - 'toggleSubtitlesMenu': () => controllers.subtitles().toggleSubtitlesMenu(), - 'checkForSubtitles': () => controllers.subtitles().checkForSubtitles(), - 'addSubtitles': (files, autoSelect) => controllers.subtitles().addSubtitles(files, autoSelect), + openSubtitles: () => controllers.subtitles().openSubtitles(), + selectSubtitle: (index) => controllers.subtitles().selectSubtitle(index), + toggleSubtitlesMenu: () => controllers.subtitles().toggleSubtitlesMenu(), + checkForSubtitles: () => controllers.subtitles().checkForSubtitles(), + addSubtitles: (files, autoSelect) => controllers.subtitles().addSubtitles(files, autoSelect), // Local media: