diff options
author | Stefan Malzner <stefan@adlk.io> | 2019-10-03 17:15:46 +0200 |
---|---|---|
committer | Stefan Malzner <stefan@adlk.io> | 2019-10-03 17:15:46 +0200 |
commit | 6e5bf64ef3ef858a5cc40025f61f3b1cf550d4fe (patch) | |
tree | 0429f9b7af2ff312dfbdb4b184a6cbeec28969ca | |
parent | Automatic i18n update (i18n.meetfranz.com) (diff) | |
parent | update strings (diff) | |
download | ferdium-app-6e5bf64ef3ef858a5cc40025f61f3b1cf550d4fe.tar.gz ferdium-app-6e5bf64ef3ef858a5cc40025f61f3b1cf550d4fe.tar.zst ferdium-app-6e5bf64ef3ef858a5cc40025f61f3b1cf550d4fe.zip |
Merge branch 'release/5.4.0' into i18n
36 files changed, 1369 insertions, 601 deletions
diff --git a/.travis.yml b/.travis.yml index c7e2c714c..6c8228f57 100644 --- a/.travis.yml +++ b/.travis.yml | |||
@@ -10,7 +10,7 @@ matrix: | |||
10 | - libxss-dev | 10 | - libxss-dev |
11 | - libxkbfile-dev | 11 | - libxkbfile-dev |
12 | - os: osx | 12 | - os: osx |
13 | osx_image: xcode8.3 | 13 | osx_image: xcode11 |
14 | 14 | ||
15 | language: node_js | 15 | language: node_js |
16 | 16 | ||
@@ -51,3 +51,7 @@ env: | |||
51 | - secure: fddJzSmNYVX024jnhnFXEuAK1spEYi3y3RZdWaBtjQnzoObAxkcRW263JNpXQy+b7egnp2hSy8FvlQU+L967911F5Y70Pe3An4oI72hnS3DL4Njp2Dw5PwviwMA+X2ddWhzK4+k/JU6r8jBv1FGQ6ZjwSeaO/t8UKOsE8wDBFLRhnHqoR7QbM7zmKjzh/1oofunGbHsPOHmN4f7jBwSuSFTZltEENcQg3ZP++0NHU8UJdlpfqZOkro8v4AJMngAHeHlNtjwaAHdVv+6+kkwc4E/0Cy6YNyyBkbzipyngNY3GwnwzmNzvsfICD1TGklksjBlMQq7ld7eCiaYRNvyHVEmXJ17qlq7HhxkYgNy32hPRwb5Cv6o4M4tv8qS8UUk4W1RvBJ5fcmfZGQwGXPyQ/m85RJtrNfbYtr84jYcprTnSeji/9PuZv0f87dxELYm3DYmNUa1cgJqEdLUsEd0bMwUYNLnCSfu4ea2zxwir6LSBtJJCbGKxX87s5IOTrHkrWDe+PWd52v+UjQks7MBRlJnntTWo69Yy+ayXV1TnGVOHA5znHvPOvFlAF+y8tLGd4AGvehK1SAkf0+idmc9Q9xKk0QypT3ibjJui4D50p7sSajkzz3P2pUqOS/9HmjMfPMPN+Nl+48GU0CvB2aBGhdmp9vu54VaFzUaAGNGj4WI= | 51 | - secure: fddJzSmNYVX024jnhnFXEuAK1spEYi3y3RZdWaBtjQnzoObAxkcRW263JNpXQy+b7egnp2hSy8FvlQU+L967911F5Y70Pe3An4oI72hnS3DL4Njp2Dw5PwviwMA+X2ddWhzK4+k/JU6r8jBv1FGQ6ZjwSeaO/t8UKOsE8wDBFLRhnHqoR7QbM7zmKjzh/1oofunGbHsPOHmN4f7jBwSuSFTZltEENcQg3ZP++0NHU8UJdlpfqZOkro8v4AJMngAHeHlNtjwaAHdVv+6+kkwc4E/0Cy6YNyyBkbzipyngNY3GwnwzmNzvsfICD1TGklksjBlMQq7ld7eCiaYRNvyHVEmXJ17qlq7HhxkYgNy32hPRwb5Cv6o4M4tv8qS8UUk4W1RvBJ5fcmfZGQwGXPyQ/m85RJtrNfbYtr84jYcprTnSeji/9PuZv0f87dxELYm3DYmNUa1cgJqEdLUsEd0bMwUYNLnCSfu4ea2zxwir6LSBtJJCbGKxX87s5IOTrHkrWDe+PWd52v+UjQks7MBRlJnntTWo69Yy+ayXV1TnGVOHA5znHvPOvFlAF+y8tLGd4AGvehK1SAkf0+idmc9Q9xKk0QypT3ibjJui4D50p7sSajkzz3P2pUqOS/9HmjMfPMPN+Nl+48GU0CvB2aBGhdmp9vu54VaFzUaAGNGj4WI= |
52 | - secure: AjJvKhQ1jIloxogMdtOzJqovPQUBSA0lfHcRsmGdP8HIRKSRi9tKxCCgicTMpMWfvY7qtdexXBbl2/zl6cOhjfTYeAhNwwCg+dw7OVcE8LUn4E+gYZCYIKbNmmkVKsSckQd4h2IcyvqdqLwzjrEzdF95MoUI8WqdLwvQJLkoIaXju6ZT76FslGSUVXk58ZN7p2nr3kW8V7KclIzn/yyyYXE4bjBmS4djuvCReeSfSViCuX5CGT8avBb/IF/M5S7hcQVybmmalysOrranzSx0o9PPUIT9hHqqRpXW6iss2qVj+kCaFiC3ftlApVgizBoGcNAMA8N7hX8kkEjJSpiy7Vswuev9mVN9X94VwVZGyNvdYD8cKKxqTsfFDZDgefnuSYUhymKSBgM4yScYF6IPNJWFWJTugtVeMJ8ivqZhwJuD20nt6x7gGB1FS6m7axxRWeyp7h0FqWU9l6ZfmwHcRziVKNTk9BB4XIqco9M2wjV/YH321IGVwtVR5y6zty10+xk38TthCOidgBurFlMKbFKH5g9K5+84dhsCW0avMlJ0+QkgId0uAVyho+09Wx4cKqXLfobpznkUX+S0Um6G/NbAaUAU+SqBsm+X9CKFsPd/YJoxLdF7eBCG/3Fy4roKg3J4mBYeXe3wVnGft8Eeg0aNpOArMSStMY337UpdV80= | 52 | - secure: AjJvKhQ1jIloxogMdtOzJqovPQUBSA0lfHcRsmGdP8HIRKSRi9tKxCCgicTMpMWfvY7qtdexXBbl2/zl6cOhjfTYeAhNwwCg+dw7OVcE8LUn4E+gYZCYIKbNmmkVKsSckQd4h2IcyvqdqLwzjrEzdF95MoUI8WqdLwvQJLkoIaXju6ZT76FslGSUVXk58ZN7p2nr3kW8V7KclIzn/yyyYXE4bjBmS4djuvCReeSfSViCuX5CGT8avBb/IF/M5S7hcQVybmmalysOrranzSx0o9PPUIT9hHqqRpXW6iss2qVj+kCaFiC3ftlApVgizBoGcNAMA8N7hX8kkEjJSpiy7Vswuev9mVN9X94VwVZGyNvdYD8cKKxqTsfFDZDgefnuSYUhymKSBgM4yScYF6IPNJWFWJTugtVeMJ8ivqZhwJuD20nt6x7gGB1FS6m7axxRWeyp7h0FqWU9l6ZfmwHcRziVKNTk9BB4XIqco9M2wjV/YH321IGVwtVR5y6zty10+xk38TthCOidgBurFlMKbFKH5g9K5+84dhsCW0avMlJ0+QkgId0uAVyho+09Wx4cKqXLfobpznkUX+S0Um6G/NbAaUAU+SqBsm+X9CKFsPd/YJoxLdF7eBCG/3Fy4roKg3J4mBYeXe3wVnGft8Eeg0aNpOArMSStMY337UpdV80= |
53 | - secure: WNQBUyNvjTwMFm6pPzNXZYRvgLCTgEm93vLX/0amtr6gT6N8ZsTLL5+Ht3+v51MUOsjEe6tCM4cLSh4wSuwWcSEsUjK0jiqknlpgKKl6xLeo+1t8u6BKSgTpipWqrSD24TbvMrFUyeQrqCGRdZc3Ax/F1ERD81SXcsrg2evCL8g8zsYjxSMXc44drKrvYi68s/5ALrI+oH3t2PYsGuuP1ipj5CbaizUHEa5d8TukHRl96lxoEKCQ4Sa8UXRPNQsdb3TdkVmIEPIoioWU6AMPweBWR6Ky994aKwp0wWn1adWP49v8skMYWbirENniSxShtztF/NYqPQFyoyh0WD/C/ZJPh04HlMxnmQPUROq+LxBFz8WBY1eHDmz6GxH1lDYzneTtlRa5K8izvs2+ROhpVmmKeOgWHaL1ZRMy8Cn3V88kadF7i1K9NnqB6ZPyynJJctj7o0af6Os9/ZPqWfqIOWWeXgfXVzj17xJADfh6Z9epW95hdKZjnIf9IqGAI8aYTqhVL8DKTJ+PSGhJIOEX+ERm+0U9gMlwllwjHCDhBe42zCGuLaWZ239yD1eacM0Ko7yUM+xobiiF0FlB8VI/nBOpGdeUKNLeUfikLHILWd04AVRCNaQU67GMOHekfWdGR8tEh9I/5Y6GJR0IQL5eGmDUjSN0u/Ovss4jSEBOaXo= | 53 | - secure: WNQBUyNvjTwMFm6pPzNXZYRvgLCTgEm93vLX/0amtr6gT6N8ZsTLL5+Ht3+v51MUOsjEe6tCM4cLSh4wSuwWcSEsUjK0jiqknlpgKKl6xLeo+1t8u6BKSgTpipWqrSD24TbvMrFUyeQrqCGRdZc3Ax/F1ERD81SXcsrg2evCL8g8zsYjxSMXc44drKrvYi68s/5ALrI+oH3t2PYsGuuP1ipj5CbaizUHEa5d8TukHRl96lxoEKCQ4Sa8UXRPNQsdb3TdkVmIEPIoioWU6AMPweBWR6Ky994aKwp0wWn1adWP49v8skMYWbirENniSxShtztF/NYqPQFyoyh0WD/C/ZJPh04HlMxnmQPUROq+LxBFz8WBY1eHDmz6GxH1lDYzneTtlRa5K8izvs2+ROhpVmmKeOgWHaL1ZRMy8Cn3V88kadF7i1K9NnqB6ZPyynJJctj7o0af6Os9/ZPqWfqIOWWeXgfXVzj17xJADfh6Z9epW95hdKZjnIf9IqGAI8aYTqhVL8DKTJ+PSGhJIOEX+ERm+0U9gMlwllwjHCDhBe42zCGuLaWZ239yD1eacM0Ko7yUM+xobiiF0FlB8VI/nBOpGdeUKNLeUfikLHILWd04AVRCNaQU67GMOHekfWdGR8tEh9I/5Y6GJR0IQL5eGmDUjSN0u/Ovss4jSEBOaXo= |
54 | |||
55 | branches: | ||
56 | except: | ||
57 | - i18n | ||
diff --git a/CHANGELOG.md b/CHANGELOG.md index a917ba6f2..0cc0e4f52 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md | |||
@@ -1,3 +1,40 @@ | |||
1 | # [5.3.3](https://github.com/meetfranz/franz/compare/v5.3.1...v5.3.3) (2019-09-17) | ||
2 | |||
3 | ### Features | ||
4 | * **Todos:** Highlight Franz Todos icon in sidebar when the Franz Todos panel is opened ([7431ba3](https://github.com/meetfranz/franz/commit/7431ba3)) | ||
5 | |||
6 | |||
7 | ### Bug Fixes | ||
8 | |||
9 | * **Spellchecker:** Fix disabling spellchecker after app start ([4035043](https://github.com/meetfranz/franz/commit/4035043)) | ||
10 | * **Windows:** Fix window menu to get overwritten by Todos menu ([aa33ac7](https://github.com/meetfranz/franz/commit/aa33ac7)) | ||
11 | |||
12 | |||
13 | ### General | ||
14 | |||
15 | * **Translations:** Improved translations. **[A million thanks to the amazing community. 🎉](http://i18n.meetfranz.com/)** | ||
16 | |||
17 | |||
18 | # [5.3.2](https://github.com/meetfranz/franz/compare/v5.3.1...v5.3.2) (2019-09-12) | ||
19 | |||
20 | |||
21 | ### Features | ||
22 | |||
23 | * **Todos:** Move Franz Todos to sidebar ([7ffcf8c](https://github.com/meetfranz/franz/commit/7ffcf8c)) | ||
24 | * **Workspaces:** Add setting to keep all services in workspaces in background (avoid reload) ([@Wouter0100](https://github.com/Wouter0100)) ([ddab3a8](https://github.com/meetfranz/franz/commit/ddab3a8)) | ||
25 | |||
26 | |||
27 | ### Bug Fixes | ||
28 | |||
29 | * **Settings:** Don't toggle Franz Todos on general settings changes ([@vantezzen](https://github.com/vantezzen)) ([a99371b](https://github.com/meetfranz/franz/commit/a99371b)) | ||
30 | |||
31 | |||
32 | ### General | ||
33 | |||
34 | * **Translations:** Improved translations. **[A million thanks to the amazing community. 🎉](http://i18n.meetfranz.com/)** | ||
35 | |||
36 | |||
37 | |||
1 | # [5.3.1](https://github.com/meetfranz/franz/compare/v5.3.0...v5.3.1) (2019-09-06) | 38 | # [5.3.1](https://github.com/meetfranz/franz/compare/v5.3.0...v5.3.1) (2019-09-06) |
2 | 39 | ||
3 | ### Features | 40 | ### Features |
diff --git a/appveyor.yml b/appveyor.yml index 1dd0dbd92..8e2a8a6f6 100644 --- a/appveyor.yml +++ b/appveyor.yml | |||
@@ -31,3 +31,7 @@ notifications: | |||
31 | artifacts: | 31 | artifacts: |
32 | - path: out\*.exe | 32 | - path: out\*.exe |
33 | - path: out\*.yml | 33 | - path: out\*.yml |
34 | |||
35 | branches: | ||
36 | except: | ||
37 | - i18n | ||
diff --git a/electron-builder.yml b/electron-builder.yml index 97aafa207..081149531 100644 --- a/electron-builder.yml +++ b/electron-builder.yml | |||
@@ -9,6 +9,7 @@ compression: maximum | |||
9 | mac: | 9 | mac: |
10 | category: public.app-category.productivity | 10 | category: public.app-category.productivity |
11 | icon: ./build-helpers/images/icon.icns | 11 | icon: ./build-helpers/images/icon.icns |
12 | darkModeSupport: true | ||
12 | 13 | ||
13 | dmg: | 14 | dmg: |
14 | background: ./build-helpers/images/dmgInstaller.tiff | 15 | background: ./build-helpers/images/dmgInstaller.tiff |
@@ -39,10 +40,10 @@ nsis: | |||
39 | perMachine: false | 40 | perMachine: false |
40 | oneClick: true | 41 | oneClick: true |
41 | 42 | ||
42 | protocols: | 43 | protocols: |
43 | name: Franz | 44 | name: Franz |
44 | schemes: [franz] | 45 | schemes: [franz] |
45 | 46 | ||
46 | asarUnpack: | 47 | asarUnpack: |
47 | - ./dictionaries | 48 | - ./dictionaries |
48 | - ./assets/images/taskbar | 49 | - ./assets/images/taskbar |
diff --git a/package-lock.json b/package-lock.json index 048425eb6..b0cc72ec7 100644 --- a/package-lock.json +++ b/package-lock.json | |||
@@ -1,13 +1,13 @@ | |||
1 | { | 1 | { |
2 | "name": "franz", | 2 | "name": "franz", |
3 | "version": "5.2.1-beta.1", | 3 | "version": "5.3.3", |
4 | "lockfileVersion": 1, | 4 | "lockfileVersion": 1, |
5 | "requires": true, | 5 | "requires": true, |
6 | "dependencies": { | 6 | "dependencies": { |
7 | "7zip-bin": { | 7 | "7zip-bin": { |
8 | "version": "4.1.0", | 8 | "version": "5.0.3", |
9 | "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-4.1.0.tgz", | 9 | "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.0.3.tgz", |
10 | "integrity": "sha512-AsnBZN3a8/JcNt+KPkGGODaA4c7l3W5+WpeKgGSbstSLxqWtTXqd1ieJGBQ8IFCtRg8DmmKUcSkIkUc0A4p3YA==", | 10 | "integrity": "sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA==", |
11 | "dev": true | 11 | "dev": true |
12 | }, | 12 | }, |
13 | "@adlk/misty": { | 13 | "@adlk/misty": { |
@@ -1100,6 +1100,16 @@ | |||
1100 | "minimist": "^1.2.0" | 1100 | "minimist": "^1.2.0" |
1101 | } | 1101 | } |
1102 | }, | 1102 | }, |
1103 | "@develar/schema-utils": { | ||
1104 | "version": "2.1.0", | ||
1105 | "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.1.0.tgz", | ||
1106 | "integrity": "sha512-qjCqB4ctMig9Gz5bd6lkdFr3bO6arOdQqptdBSpF1ZpCnjofieCciEzkoS9ujY9cMGyllYSCSmBJ3x9OKHXzoA==", | ||
1107 | "dev": true, | ||
1108 | "requires": { | ||
1109 | "ajv": "^6.1.0", | ||
1110 | "ajv-keywords": "^3.1.0" | ||
1111 | } | ||
1112 | }, | ||
1103 | "@fimbul/bifrost": { | 1113 | "@fimbul/bifrost": { |
1104 | "version": "0.17.0", | 1114 | "version": "0.17.0", |
1105 | "resolved": "https://registry.npmjs.org/@fimbul/bifrost/-/bifrost-0.17.0.tgz", | 1115 | "resolved": "https://registry.npmjs.org/@fimbul/bifrost/-/bifrost-0.17.0.tgz", |
@@ -2290,6 +2300,21 @@ | |||
2290 | "url-template": "^2.0.8" | 2300 | "url-template": "^2.0.8" |
2291 | } | 2301 | } |
2292 | }, | 2302 | }, |
2303 | "@sindresorhus/is": { | ||
2304 | "version": "0.14.0", | ||
2305 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", | ||
2306 | "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", | ||
2307 | "dev": true | ||
2308 | }, | ||
2309 | "@szmarczak/http-timer": { | ||
2310 | "version": "1.1.2", | ||
2311 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", | ||
2312 | "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", | ||
2313 | "dev": true, | ||
2314 | "requires": { | ||
2315 | "defer-to-connect": "^1.0.1" | ||
2316 | } | ||
2317 | }, | ||
2293 | "@types/babel__core": { | 2318 | "@types/babel__core": { |
2294 | "version": "7.1.1", | 2319 | "version": "7.1.1", |
2295 | "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.1.tgz", | 2320 | "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.1.tgz", |
@@ -2361,6 +2386,12 @@ | |||
2361 | "integrity": "sha512-gZ/Rb+MFXF0pXSEQxdRoPMm5jeO3TycjOdvbpbcpHX/B+n9AqaHFe5q6Ga9CsZ7ir/UgIWPfrBzUzn3F19VH/w==", | 2386 | "integrity": "sha512-gZ/Rb+MFXF0pXSEQxdRoPMm5jeO3TycjOdvbpbcpHX/B+n9AqaHFe5q6Ga9CsZ7ir/UgIWPfrBzUzn3F19VH/w==", |
2362 | "dev": true | 2387 | "dev": true |
2363 | }, | 2388 | }, |
2389 | "@types/debug": { | ||
2390 | "version": "4.1.5", | ||
2391 | "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", | ||
2392 | "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==", | ||
2393 | "dev": true | ||
2394 | }, | ||
2364 | "@types/istanbul-lib-coverage": { | 2395 | "@types/istanbul-lib-coverage": { |
2365 | "version": "2.0.0", | 2396 | "version": "2.0.0", |
2366 | "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.0.tgz", | 2397 | "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.0.tgz", |
@@ -2794,12 +2825,40 @@ | |||
2794 | "dev": true | 2825 | "dev": true |
2795 | }, | 2826 | }, |
2796 | "ansi-align": { | 2827 | "ansi-align": { |
2797 | "version": "2.0.0", | 2828 | "version": "3.0.0", |
2798 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", | 2829 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", |
2799 | "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", | 2830 | "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", |
2800 | "dev": true, | 2831 | "dev": true, |
2801 | "requires": { | 2832 | "requires": { |
2802 | "string-width": "^2.0.0" | 2833 | "string-width": "^3.0.0" |
2834 | }, | ||
2835 | "dependencies": { | ||
2836 | "ansi-regex": { | ||
2837 | "version": "4.1.0", | ||
2838 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", | ||
2839 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", | ||
2840 | "dev": true | ||
2841 | }, | ||
2842 | "string-width": { | ||
2843 | "version": "3.1.0", | ||
2844 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", | ||
2845 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", | ||
2846 | "dev": true, | ||
2847 | "requires": { | ||
2848 | "emoji-regex": "^7.0.1", | ||
2849 | "is-fullwidth-code-point": "^2.0.0", | ||
2850 | "strip-ansi": "^5.1.0" | ||
2851 | } | ||
2852 | }, | ||
2853 | "strip-ansi": { | ||
2854 | "version": "5.2.0", | ||
2855 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | ||
2856 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", | ||
2857 | "dev": true, | ||
2858 | "requires": { | ||
2859 | "ansi-regex": "^4.1.0" | ||
2860 | } | ||
2861 | } | ||
2803 | } | 2862 | } |
2804 | }, | 2863 | }, |
2805 | "ansi-colors": { | 2864 | "ansi-colors": { |
@@ -2863,67 +2922,63 @@ | |||
2863 | } | 2922 | } |
2864 | }, | 2923 | }, |
2865 | "app-builder-bin": { | 2924 | "app-builder-bin": { |
2866 | "version": "2.6.6", | 2925 | "version": "3.4.3", |
2867 | "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.6.6.tgz", | 2926 | "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.4.3.tgz", |
2868 | "integrity": "sha512-G0Ee6xkbxV+fvM/7xXWIgSDjWAD4E/d/aNbxerq/TVsCyBIau/0VPmrEqBMyZv0NbTwLDW5aF/yHG+0ZEY77kA==", | 2927 | "integrity": "sha512-qMhayIwi3juerQEVJMQ76trObEbfQT0nhUdxZz9a26/3NLT3pE6awmQ8S1cEnrGugaaM5gYqR8OElcDezfmEsg==", |
2869 | "dev": true | 2928 | "dev": true |
2870 | }, | 2929 | }, |
2871 | "app-builder-lib": { | 2930 | "app-builder-lib": { |
2872 | "version": "20.40.2", | 2931 | "version": "21.2.0", |
2873 | "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.40.2.tgz", | 2932 | "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-21.2.0.tgz", |
2874 | "integrity": "sha512-SAbfua8+L3pFbQp3QFpKV0PzHJPJqepROeX/FPrfdL02zxlw+BVOe6KfC3+UV6XUombWvVPG+SwG956vfIx/Cw==", | 2933 | "integrity": "sha512-aOX/nv77/Bti6NymJDg7p9T067xD8m1ipIEJR7B4Mm1GsJWpMm9PZdXtCRiMNRjHtQS5KIljT0g17781y6qn5A==", |
2875 | "dev": true, | 2934 | "dev": true, |
2876 | "requires": { | 2935 | "requires": { |
2877 | "7zip-bin": "~4.1.0", | 2936 | "7zip-bin": "~5.0.3", |
2878 | "app-builder-bin": "2.6.6", | 2937 | "@develar/schema-utils": "~2.1.0", |
2879 | "async-exit-hook": "^2.0.1", | 2938 | "async-exit-hook": "^2.0.1", |
2880 | "bluebird-lst": "^1.0.7", | 2939 | "bluebird-lst": "^1.0.9", |
2881 | "builder-util": "9.7.1", | 2940 | "builder-util": "21.2.0", |
2882 | "builder-util-runtime": "8.2.1", | 2941 | "builder-util-runtime": "8.3.0", |
2883 | "chromium-pickle-js": "^0.2.0", | 2942 | "chromium-pickle-js": "^0.2.0", |
2884 | "debug": "^4.1.1", | 2943 | "debug": "^4.1.1", |
2885 | "ejs": "^2.6.1", | 2944 | "ejs": "^2.6.2", |
2886 | "electron-osx-sign": "0.4.11", | 2945 | "electron-publish": "21.2.0", |
2887 | "electron-publish": "20.40.0", | 2946 | "fs-extra": "^8.1.0", |
2888 | "fs-extra-p": "^7.0.1", | ||
2889 | "hosted-git-info": "^2.7.1", | 2947 | "hosted-git-info": "^2.7.1", |
2890 | "is-ci": "^2.0.0", | 2948 | "is-ci": "^2.0.0", |
2891 | "isbinaryfile": "^4.0.0", | 2949 | "isbinaryfile": "^4.0.2", |
2892 | "js-yaml": "^3.13.0", | 2950 | "js-yaml": "^3.13.1", |
2893 | "lazy-val": "^1.0.4", | 2951 | "lazy-val": "^1.0.4", |
2894 | "minimatch": "^3.0.4", | 2952 | "minimatch": "^3.0.4", |
2895 | "normalize-package-data": "^2.5.0", | 2953 | "normalize-package-data": "^2.5.0", |
2896 | "plist": "^3.0.1", | 2954 | "read-config-file": "5.0.0", |
2897 | "read-config-file": "3.2.2", | 2955 | "sanitize-filename": "^1.6.2", |
2898 | "sanitize-filename": "^1.6.1", | 2956 | "semver": "^6.3.0", |
2899 | "semver": "^6.0.0", | 2957 | "temp-file": "^3.3.4" |
2900 | "temp-file": "^3.3.2" | ||
2901 | }, | 2958 | }, |
2902 | "dependencies": { | 2959 | "dependencies": { |
2903 | "bluebird": { | 2960 | "bluebird": { |
2904 | "version": "3.5.4", | 2961 | "version": "3.5.5", |
2905 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz", | 2962 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", |
2906 | "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==", | 2963 | "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", |
2907 | "dev": true | 2964 | "dev": true |
2908 | }, | 2965 | }, |
2909 | "bluebird-lst": { | 2966 | "bluebird-lst": { |
2910 | "version": "1.0.8", | 2967 | "version": "1.0.9", |
2911 | "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.8.tgz", | 2968 | "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", |
2912 | "integrity": "sha512-InUDOaBaIjIobOa3O4YRAbFgff907uTJZXW0m0rhk3zhVZ4GvsmdCLEAKC1CTWTtUWCM8iWTTfFX9N/xQR/etw==", | 2969 | "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", |
2913 | "dev": true, | 2970 | "dev": true, |
2914 | "requires": { | 2971 | "requires": { |
2915 | "bluebird": "^3.5.4" | 2972 | "bluebird": "^3.5.5" |
2916 | } | 2973 | } |
2917 | }, | 2974 | }, |
2918 | "builder-util-runtime": { | 2975 | "builder-util-runtime": { |
2919 | "version": "8.2.1", | 2976 | "version": "8.3.0", |
2920 | "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.2.1.tgz", | 2977 | "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz", |
2921 | "integrity": "sha512-2TkeTcI9bDlK5azRZSJJNxhAgW1DK+JY3jHK0UWPxgJcan4GZSVDNNO3sXntNxrp+JAdPHMF14rzNd/G53lvqw==", | 2978 | "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==", |
2922 | "dev": true, | 2979 | "dev": true, |
2923 | "requires": { | 2980 | "requires": { |
2924 | "bluebird-lst": "^1.0.7", | ||
2925 | "debug": "^4.1.1", | 2981 | "debug": "^4.1.1", |
2926 | "fs-extra-p": "^7.0.1", | ||
2927 | "sax": "^1.2.4" | 2982 | "sax": "^1.2.4" |
2928 | } | 2983 | } |
2929 | }, | 2984 | }, |
@@ -2936,16 +2991,23 @@ | |||
2936 | "ms": "^2.1.1" | 2991 | "ms": "^2.1.1" |
2937 | } | 2992 | } |
2938 | }, | 2993 | }, |
2939 | "fs-extra-p": { | 2994 | "fs-extra": { |
2940 | "version": "7.0.1", | 2995 | "version": "8.1.0", |
2941 | "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.1.tgz", | 2996 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", |
2942 | "integrity": "sha512-yhd2OV0HnHt2oitlp+X9hl2ReX4X/7kQeL7/72qzPHTZj5eUPGzAKOvEglU02Fa1OeG2rSy/aKB4WGVaLiF8tw==", | 2997 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", |
2943 | "dev": true, | 2998 | "dev": true, |
2944 | "requires": { | 2999 | "requires": { |
2945 | "bluebird-lst": "^1.0.7", | 3000 | "graceful-fs": "^4.2.0", |
2946 | "fs-extra": "^7.0.1" | 3001 | "jsonfile": "^4.0.0", |
3002 | "universalify": "^0.1.0" | ||
2947 | } | 3003 | } |
2948 | }, | 3004 | }, |
3005 | "graceful-fs": { | ||
3006 | "version": "4.2.2", | ||
3007 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", | ||
3008 | "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", | ||
3009 | "dev": true | ||
3010 | }, | ||
2949 | "js-yaml": { | 3011 | "js-yaml": { |
2950 | "version": "3.13.1", | 3012 | "version": "3.13.1", |
2951 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", | 3013 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", |
@@ -2963,9 +3025,9 @@ | |||
2963 | "dev": true | 3025 | "dev": true |
2964 | }, | 3026 | }, |
2965 | "semver": { | 3027 | "semver": { |
2966 | "version": "6.1.0", | 3028 | "version": "6.3.0", |
2967 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.0.tgz", | 3029 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", |
2968 | "integrity": "sha512-kCqEOOHoBcFs/2Ccuk4Xarm/KiWRSLEX9CAZF8xkJ6ZPlIoTZ8V5f7J16vYLJqDbR7KrxTJpR2lqjIEm2Qx9cQ==", | 3030 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", |
2969 | "dev": true | 3031 | "dev": true |
2970 | } | 3032 | } |
2971 | } | 3033 | } |
@@ -3883,25 +3945,52 @@ | |||
3883 | } | 3945 | } |
3884 | }, | 3946 | }, |
3885 | "boxen": { | 3947 | "boxen": { |
3886 | "version": "1.3.0", | 3948 | "version": "3.2.0", |
3887 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", | 3949 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", |
3888 | "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", | 3950 | "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", |
3889 | "dev": true, | 3951 | "dev": true, |
3890 | "requires": { | 3952 | "requires": { |
3891 | "ansi-align": "^2.0.0", | 3953 | "ansi-align": "^3.0.0", |
3892 | "camelcase": "^4.0.0", | 3954 | "camelcase": "^5.3.1", |
3893 | "chalk": "^2.0.1", | 3955 | "chalk": "^2.4.2", |
3894 | "cli-boxes": "^1.0.0", | 3956 | "cli-boxes": "^2.2.0", |
3895 | "string-width": "^2.0.0", | 3957 | "string-width": "^3.0.0", |
3896 | "term-size": "^1.2.0", | 3958 | "term-size": "^1.2.0", |
3959 | "type-fest": "^0.3.0", | ||
3897 | "widest-line": "^2.0.0" | 3960 | "widest-line": "^2.0.0" |
3898 | }, | 3961 | }, |
3899 | "dependencies": { | 3962 | "dependencies": { |
3900 | "camelcase": { | 3963 | "ansi-regex": { |
3901 | "version": "4.1.0", | 3964 | "version": "4.1.0", |
3902 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", | 3965 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", |
3903 | "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", | 3966 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", |
3967 | "dev": true | ||
3968 | }, | ||
3969 | "camelcase": { | ||
3970 | "version": "5.3.1", | ||
3971 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", | ||
3972 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", | ||
3904 | "dev": true | 3973 | "dev": true |
3974 | }, | ||
3975 | "string-width": { | ||
3976 | "version": "3.1.0", | ||
3977 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", | ||
3978 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", | ||
3979 | "dev": true, | ||
3980 | "requires": { | ||
3981 | "emoji-regex": "^7.0.1", | ||
3982 | "is-fullwidth-code-point": "^2.0.0", | ||
3983 | "strip-ansi": "^5.1.0" | ||
3984 | } | ||
3985 | }, | ||
3986 | "strip-ansi": { | ||
3987 | "version": "5.2.0", | ||
3988 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | ||
3989 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", | ||
3990 | "dev": true, | ||
3991 | "requires": { | ||
3992 | "ansi-regex": "^4.1.0" | ||
3993 | } | ||
3905 | } | 3994 | } |
3906 | } | 3995 | } |
3907 | }, | 3996 | }, |
@@ -4091,22 +4180,6 @@ | |||
4091 | "isarray": "^1.0.0" | 4180 | "isarray": "^1.0.0" |
4092 | } | 4181 | } |
4093 | }, | 4182 | }, |
4094 | "buffer-alloc": { | ||
4095 | "version": "1.2.0", | ||
4096 | "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", | ||
4097 | "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", | ||
4098 | "dev": true, | ||
4099 | "requires": { | ||
4100 | "buffer-alloc-unsafe": "^1.1.0", | ||
4101 | "buffer-fill": "^1.0.0" | ||
4102 | } | ||
4103 | }, | ||
4104 | "buffer-alloc-unsafe": { | ||
4105 | "version": "1.1.0", | ||
4106 | "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", | ||
4107 | "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", | ||
4108 | "dev": true | ||
4109 | }, | ||
4110 | "buffer-equal": { | 4183 | "buffer-equal": { |
4111 | "version": "1.0.0", | 4184 | "version": "1.0.0", |
4112 | "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", | 4185 | "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", |
@@ -4118,12 +4191,6 @@ | |||
4118 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", | 4191 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", |
4119 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" | 4192 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" |
4120 | }, | 4193 | }, |
4121 | "buffer-fill": { | ||
4122 | "version": "1.0.0", | ||
4123 | "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", | ||
4124 | "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", | ||
4125 | "dev": true | ||
4126 | }, | ||
4127 | "buffer-from": { | 4194 | "buffer-from": { |
4128 | "version": "1.1.1", | 4195 | "version": "1.1.1", |
4129 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", | 4196 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", |
@@ -4142,49 +4209,48 @@ | |||
4142 | "dev": true | 4209 | "dev": true |
4143 | }, | 4210 | }, |
4144 | "builder-util": { | 4211 | "builder-util": { |
4145 | "version": "9.7.1", | 4212 | "version": "21.2.0", |
4146 | "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-9.7.1.tgz", | 4213 | "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-21.2.0.tgz", |
4147 | "integrity": "sha512-txpzYIeuHFjrOQWPTJDvhJYisIVGJdSG9ppccE+y7agT0YNhBlVHGnd8+HgFTajYE34xzB5zf1/zxiiDqSKSpA==", | 4214 | "integrity": "sha512-Nd6CUb6YgDY8EXAXEIegx+1kzKqyFQ5ZM5BoYkeunAlwz/zDJoH1UCyULjoS5wQe5czNClFQy07zz2bzYD0Z4A==", |
4148 | "dev": true, | 4215 | "dev": true, |
4149 | "requires": { | 4216 | "requires": { |
4150 | "7zip-bin": "~4.1.0", | 4217 | "7zip-bin": "~5.0.3", |
4151 | "app-builder-bin": "2.6.6", | 4218 | "@types/debug": "^4.1.4", |
4152 | "bluebird-lst": "^1.0.7", | 4219 | "app-builder-bin": "3.4.3", |
4153 | "builder-util-runtime": "^8.2.1", | 4220 | "bluebird-lst": "^1.0.9", |
4221 | "builder-util-runtime": "8.3.0", | ||
4154 | "chalk": "^2.4.2", | 4222 | "chalk": "^2.4.2", |
4155 | "debug": "^4.1.1", | 4223 | "debug": "^4.1.1", |
4156 | "fs-extra-p": "^7.0.1", | 4224 | "fs-extra": "^8.1.0", |
4157 | "is-ci": "^2.0.0", | 4225 | "is-ci": "^2.0.0", |
4158 | "js-yaml": "^3.13.0", | 4226 | "js-yaml": "^3.13.1", |
4159 | "source-map-support": "^0.5.11", | 4227 | "source-map-support": "^0.5.13", |
4160 | "stat-mode": "^0.3.0", | 4228 | "stat-mode": "^0.3.0", |
4161 | "temp-file": "^3.3.2" | 4229 | "temp-file": "^3.3.4" |
4162 | }, | 4230 | }, |
4163 | "dependencies": { | 4231 | "dependencies": { |
4164 | "bluebird": { | 4232 | "bluebird": { |
4165 | "version": "3.5.4", | 4233 | "version": "3.5.5", |
4166 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz", | 4234 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", |
4167 | "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==", | 4235 | "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", |
4168 | "dev": true | 4236 | "dev": true |
4169 | }, | 4237 | }, |
4170 | "bluebird-lst": { | 4238 | "bluebird-lst": { |
4171 | "version": "1.0.8", | 4239 | "version": "1.0.9", |
4172 | "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.8.tgz", | 4240 | "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", |
4173 | "integrity": "sha512-InUDOaBaIjIobOa3O4YRAbFgff907uTJZXW0m0rhk3zhVZ4GvsmdCLEAKC1CTWTtUWCM8iWTTfFX9N/xQR/etw==", | 4241 | "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", |
4174 | "dev": true, | 4242 | "dev": true, |
4175 | "requires": { | 4243 | "requires": { |
4176 | "bluebird": "^3.5.4" | 4244 | "bluebird": "^3.5.5" |
4177 | } | 4245 | } |
4178 | }, | 4246 | }, |
4179 | "builder-util-runtime": { | 4247 | "builder-util-runtime": { |
4180 | "version": "8.2.2", | 4248 | "version": "8.3.0", |
4181 | "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.2.2.tgz", | 4249 | "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz", |
4182 | "integrity": "sha512-Z0NKlpa5VQBMVXAcZH9n4dx+CY5Ckyv7a0Yr/is1h5hwCWaJbQ2JN9PGT7g6YzE5gM3FyrgGDB4DTyJlLcRKNw==", | 4250 | "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==", |
4183 | "dev": true, | 4251 | "dev": true, |
4184 | "requires": { | 4252 | "requires": { |
4185 | "bluebird-lst": "^1.0.7", | ||
4186 | "debug": "^4.1.1", | 4253 | "debug": "^4.1.1", |
4187 | "fs-extra-p": "^7.0.1", | ||
4188 | "sax": "^1.2.4" | 4254 | "sax": "^1.2.4" |
4189 | } | 4255 | } |
4190 | }, | 4256 | }, |
@@ -4197,16 +4263,23 @@ | |||
4197 | "ms": "^2.1.1" | 4263 | "ms": "^2.1.1" |
4198 | } | 4264 | } |
4199 | }, | 4265 | }, |
4200 | "fs-extra-p": { | 4266 | "fs-extra": { |
4201 | "version": "7.0.1", | 4267 | "version": "8.1.0", |
4202 | "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.1.tgz", | 4268 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", |
4203 | "integrity": "sha512-yhd2OV0HnHt2oitlp+X9hl2ReX4X/7kQeL7/72qzPHTZj5eUPGzAKOvEglU02Fa1OeG2rSy/aKB4WGVaLiF8tw==", | 4269 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", |
4204 | "dev": true, | 4270 | "dev": true, |
4205 | "requires": { | 4271 | "requires": { |
4206 | "bluebird-lst": "^1.0.7", | 4272 | "graceful-fs": "^4.2.0", |
4207 | "fs-extra": "^7.0.1" | 4273 | "jsonfile": "^4.0.0", |
4274 | "universalify": "^0.1.0" | ||
4208 | } | 4275 | } |
4209 | }, | 4276 | }, |
4277 | "graceful-fs": { | ||
4278 | "version": "4.2.2", | ||
4279 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", | ||
4280 | "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", | ||
4281 | "dev": true | ||
4282 | }, | ||
4210 | "js-yaml": { | 4283 | "js-yaml": { |
4211 | "version": "3.13.1", | 4284 | "version": "3.13.1", |
4212 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", | 4285 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", |
@@ -4218,9 +4291,9 @@ | |||
4218 | } | 4291 | } |
4219 | }, | 4292 | }, |
4220 | "source-map-support": { | 4293 | "source-map-support": { |
4221 | "version": "0.5.12", | 4294 | "version": "0.5.13", |
4222 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", | 4295 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", |
4223 | "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", | 4296 | "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", |
4224 | "dev": true, | 4297 | "dev": true, |
4225 | "requires": { | 4298 | "requires": { |
4226 | "buffer-from": "^1.0.0", | 4299 | "buffer-from": "^1.0.0", |
@@ -4341,6 +4414,50 @@ | |||
4341 | "unset-value": "^1.0.0" | 4414 | "unset-value": "^1.0.0" |
4342 | } | 4415 | } |
4343 | }, | 4416 | }, |
4417 | "cacheable-request": { | ||
4418 | "version": "6.1.0", | ||
4419 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", | ||
4420 | "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", | ||
4421 | "dev": true, | ||
4422 | "requires": { | ||
4423 | "clone-response": "^1.0.2", | ||
4424 | "get-stream": "^5.1.0", | ||
4425 | "http-cache-semantics": "^4.0.0", | ||
4426 | "keyv": "^3.0.0", | ||
4427 | "lowercase-keys": "^2.0.0", | ||
4428 | "normalize-url": "^4.1.0", | ||
4429 | "responselike": "^1.0.2" | ||
4430 | }, | ||
4431 | "dependencies": { | ||
4432 | "get-stream": { | ||
4433 | "version": "5.1.0", | ||
4434 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", | ||
4435 | "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", | ||
4436 | "dev": true, | ||
4437 | "requires": { | ||
4438 | "pump": "^3.0.0" | ||
4439 | } | ||
4440 | }, | ||
4441 | "http-cache-semantics": { | ||
4442 | "version": "4.0.3", | ||
4443 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", | ||
4444 | "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==", | ||
4445 | "dev": true | ||
4446 | }, | ||
4447 | "lowercase-keys": { | ||
4448 | "version": "2.0.0", | ||
4449 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", | ||
4450 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", | ||
4451 | "dev": true | ||
4452 | }, | ||
4453 | "normalize-url": { | ||
4454 | "version": "4.4.1", | ||
4455 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.4.1.tgz", | ||
4456 | "integrity": "sha512-rjH3yRt0Ssx19mUwS0hrDUOdG9VI+oRLpLHJ7tXRdjcuQ7v7wo6qPvOZppHRrqfslTKr0L2yBhjj4UXd7c3cQg==", | ||
4457 | "dev": true | ||
4458 | } | ||
4459 | } | ||
4460 | }, | ||
4344 | "call-me-maybe": { | 4461 | "call-me-maybe": { |
4345 | "version": "1.0.1", | 4462 | "version": "1.0.1", |
4346 | "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", | 4463 | "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", |
@@ -4440,12 +4557,6 @@ | |||
4440 | "rsvp": "^4.8.4" | 4557 | "rsvp": "^4.8.4" |
4441 | } | 4558 | } |
4442 | }, | 4559 | }, |
4443 | "capture-stack-trace": { | ||
4444 | "version": "1.0.1", | ||
4445 | "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", | ||
4446 | "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", | ||
4447 | "dev": true | ||
4448 | }, | ||
4449 | "caseless": { | 4560 | "caseless": { |
4450 | "version": "0.12.0", | 4561 | "version": "0.12.0", |
4451 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", | 4562 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", |
@@ -4613,9 +4724,9 @@ | |||
4613 | } | 4724 | } |
4614 | }, | 4725 | }, |
4615 | "cli-boxes": { | 4726 | "cli-boxes": { |
4616 | "version": "1.0.0", | 4727 | "version": "2.2.0", |
4617 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", | 4728 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", |
4618 | "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", | 4729 | "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==", |
4619 | "dev": true | 4730 | "dev": true |
4620 | }, | 4731 | }, |
4621 | "cli-cursor": { | 4732 | "cli-cursor": { |
@@ -4673,6 +4784,15 @@ | |||
4673 | "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", | 4784 | "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", |
4674 | "dev": true | 4785 | "dev": true |
4675 | }, | 4786 | }, |
4787 | "clone-response": { | ||
4788 | "version": "1.0.2", | ||
4789 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", | ||
4790 | "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", | ||
4791 | "dev": true, | ||
4792 | "requires": { | ||
4793 | "mimic-response": "^1.0.0" | ||
4794 | } | ||
4795 | }, | ||
4676 | "clone-stats": { | 4796 | "clone-stats": { |
4677 | "version": "1.0.0", | 4797 | "version": "1.0.0", |
4678 | "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", | 4798 | "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", |
@@ -4860,12 +4980,6 @@ | |||
4860 | "dot-prop": "^3.0.0" | 4980 | "dot-prop": "^3.0.0" |
4861 | } | 4981 | } |
4862 | }, | 4982 | }, |
4863 | "compare-version": { | ||
4864 | "version": "0.1.2", | ||
4865 | "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", | ||
4866 | "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=", | ||
4867 | "dev": true | ||
4868 | }, | ||
4869 | "compare-versions": { | 4983 | "compare-versions": { |
4870 | "version": "3.4.0", | 4984 | "version": "3.4.0", |
4871 | "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz", | 4985 | "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz", |
@@ -5042,9 +5156,9 @@ | |||
5042 | } | 5156 | } |
5043 | }, | 5157 | }, |
5044 | "configstore": { | 5158 | "configstore": { |
5045 | "version": "3.1.2", | 5159 | "version": "4.0.0", |
5046 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", | 5160 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", |
5047 | "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", | 5161 | "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==", |
5048 | "dev": true, | 5162 | "dev": true, |
5049 | "requires": { | 5163 | "requires": { |
5050 | "dot-prop": "^4.1.0", | 5164 | "dot-prop": "^4.1.0", |
@@ -5500,15 +5614,6 @@ | |||
5500 | "elliptic": "^6.0.0" | 5614 | "elliptic": "^6.0.0" |
5501 | } | 5615 | } |
5502 | }, | 5616 | }, |
5503 | "create-error-class": { | ||
5504 | "version": "3.0.2", | ||
5505 | "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", | ||
5506 | "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", | ||
5507 | "dev": true, | ||
5508 | "requires": { | ||
5509 | "capture-stack-trace": "^1.0.0" | ||
5510 | } | ||
5511 | }, | ||
5512 | "create-hash": { | 5617 | "create-hash": { |
5513 | "version": "1.2.0", | 5618 | "version": "1.2.0", |
5514 | "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", | 5619 | "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", |
@@ -5795,6 +5900,15 @@ | |||
5795 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", | 5900 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", |
5796 | "dev": true | 5901 | "dev": true |
5797 | }, | 5902 | }, |
5903 | "decompress-response": { | ||
5904 | "version": "3.3.0", | ||
5905 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", | ||
5906 | "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", | ||
5907 | "dev": true, | ||
5908 | "requires": { | ||
5909 | "mimic-response": "^1.0.0" | ||
5910 | } | ||
5911 | }, | ||
5798 | "dedent": { | 5912 | "dedent": { |
5799 | "version": "0.7.0", | 5913 | "version": "0.7.0", |
5800 | "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", | 5914 | "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", |
@@ -5899,6 +6013,12 @@ | |||
5899 | "clone": "^1.0.2" | 6013 | "clone": "^1.0.2" |
5900 | } | 6014 | } |
5901 | }, | 6015 | }, |
6016 | "defer-to-connect": { | ||
6017 | "version": "1.0.2", | ||
6018 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz", | ||
6019 | "integrity": "sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==", | ||
6020 | "dev": true | ||
6021 | }, | ||
5902 | "define-properties": { | 6022 | "define-properties": { |
5903 | "version": "1.1.3", | 6023 | "version": "1.1.3", |
5904 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", | 6024 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", |
@@ -6094,44 +6214,59 @@ | |||
6094 | } | 6214 | } |
6095 | }, | 6215 | }, |
6096 | "dmg-builder": { | 6216 | "dmg-builder": { |
6097 | "version": "6.6.1", | 6217 | "version": "21.2.0", |
6098 | "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.6.1.tgz", | 6218 | "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-21.2.0.tgz", |
6099 | "integrity": "sha512-aIbpQG3es+gHTFtsBQE4fmSYVM60yewxJZsN6FhkAmAmNaoO45bEQNJZsRX0YE49+imiSC92mJmFAEP6iKE0Tg==", | 6219 | "integrity": "sha512-9cJEclnGy7EyKFCoHDYDf54pub/t92CQapyiUxU0w9Bj2vUvfoDagP1PMiX4XD5rPp96141h9A+QN0OB4VgvQg==", |
6100 | "dev": true, | 6220 | "dev": true, |
6101 | "requires": { | 6221 | "requires": { |
6102 | "app-builder-lib": "~20.40.0", | 6222 | "app-builder-lib": "~21.2.0", |
6103 | "bluebird-lst": "^1.0.7", | 6223 | "bluebird-lst": "^1.0.9", |
6104 | "builder-util": "~9.7.1", | 6224 | "builder-util": "~21.2.0", |
6105 | "fs-extra-p": "^7.0.1", | 6225 | "fs-extra": "^8.1.0", |
6106 | "iconv-lite": "^0.4.24", | 6226 | "iconv-lite": "^0.5.0", |
6107 | "js-yaml": "^3.13.0", | 6227 | "js-yaml": "^3.13.1", |
6108 | "parse-color": "^1.0.0", | 6228 | "sanitize-filename": "^1.6.2" |
6109 | "sanitize-filename": "^1.6.1" | ||
6110 | }, | 6229 | }, |
6111 | "dependencies": { | 6230 | "dependencies": { |
6112 | "bluebird": { | 6231 | "bluebird": { |
6113 | "version": "3.5.4", | 6232 | "version": "3.5.5", |
6114 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz", | 6233 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", |
6115 | "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==", | 6234 | "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", |
6116 | "dev": true | 6235 | "dev": true |
6117 | }, | 6236 | }, |
6118 | "bluebird-lst": { | 6237 | "bluebird-lst": { |
6119 | "version": "1.0.8", | 6238 | "version": "1.0.9", |
6120 | "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.8.tgz", | 6239 | "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", |
6121 | "integrity": "sha512-InUDOaBaIjIobOa3O4YRAbFgff907uTJZXW0m0rhk3zhVZ4GvsmdCLEAKC1CTWTtUWCM8iWTTfFX9N/xQR/etw==", | 6240 | "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", |
6122 | "dev": true, | 6241 | "dev": true, |
6123 | "requires": { | 6242 | "requires": { |
6124 | "bluebird": "^3.5.4" | 6243 | "bluebird": "^3.5.5" |
6125 | } | 6244 | } |
6126 | }, | 6245 | }, |
6127 | "fs-extra-p": { | 6246 | "fs-extra": { |
6128 | "version": "7.0.1", | 6247 | "version": "8.1.0", |
6129 | "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.1.tgz", | 6248 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", |
6130 | "integrity": "sha512-yhd2OV0HnHt2oitlp+X9hl2ReX4X/7kQeL7/72qzPHTZj5eUPGzAKOvEglU02Fa1OeG2rSy/aKB4WGVaLiF8tw==", | 6249 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", |
6131 | "dev": true, | 6250 | "dev": true, |
6132 | "requires": { | 6251 | "requires": { |
6133 | "bluebird-lst": "^1.0.7", | 6252 | "graceful-fs": "^4.2.0", |
6134 | "fs-extra": "^7.0.1" | 6253 | "jsonfile": "^4.0.0", |
6254 | "universalify": "^0.1.0" | ||
6255 | } | ||
6256 | }, | ||
6257 | "graceful-fs": { | ||
6258 | "version": "4.2.2", | ||
6259 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", | ||
6260 | "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", | ||
6261 | "dev": true | ||
6262 | }, | ||
6263 | "iconv-lite": { | ||
6264 | "version": "0.5.0", | ||
6265 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.0.tgz", | ||
6266 | "integrity": "sha512-NnEhI9hIEKHOzJ4f697DMz9IQEXr/MMJ5w64vN2/4Ai+wRnvV7SBrL0KLoRlwaKVghOc7LQ5YkPLuX146b6Ydw==", | ||
6267 | "dev": true, | ||
6268 | "requires": { | ||
6269 | "safer-buffer": ">= 2.1.2 < 3" | ||
6135 | } | 6270 | } |
6136 | }, | 6271 | }, |
6137 | "js-yaml": { | 6272 | "js-yaml": { |
@@ -6266,9 +6401,9 @@ | |||
6266 | "dev": true | 6401 | "dev": true |
6267 | }, | 6402 | }, |
6268 | "dotenv-expand": { | 6403 | "dotenv-expand": { |
6269 | "version": "4.2.0", | 6404 | "version": "5.1.0", |
6270 | "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz", | 6405 | "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", |
6271 | "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=", | 6406 | "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", |
6272 | "dev": true | 6407 | "dev": true |
6273 | }, | 6408 | }, |
6274 | "du": { | 6409 | "du": { |
@@ -6805,15 +6940,15 @@ | |||
6805 | "dev": true | 6940 | "dev": true |
6806 | }, | 6941 | }, |
6807 | "ejs": { | 6942 | "ejs": { |
6808 | "version": "2.6.1", | 6943 | "version": "2.7.1", |
6809 | "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", | 6944 | "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.1.tgz", |
6810 | "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==", | 6945 | "integrity": "sha512-kS/gEPzZs3Y1rRsbGX4UOSjtP/CeJP0CxSNZHYxGfVM/VgLcv0ZqM7C45YyTj2DI2g7+P9Dd24C+IMIg6D0nYQ==", |
6811 | "dev": true | 6946 | "dev": true |
6812 | }, | 6947 | }, |
6813 | "electron": { | 6948 | "electron": { |
6814 | "version": "4.2.4", | 6949 | "version": "6.0.10", |
6815 | "resolved": "https://registry.npmjs.org/electron/-/electron-4.2.4.tgz", | 6950 | "resolved": "https://registry.npmjs.org/electron/-/electron-6.0.10.tgz", |
6816 | "integrity": "sha512-d4wEwJluMsRyRgbukLmFVTb6l1J+mc3RLB1ctbpMlSWDFvs+zknPWa+cHBzTWwrdgwINLddr69qsAW1ku6FqYw==", | 6951 | "integrity": "sha512-eTFm6uTn7NKZE1OtSZSOxNuOrCXXeUR0U3vdF3R00byB7mrNe5AOaXEDDMwtzRGGY1jMuUX9Z7RvgXaCXRYSmw==", |
6817 | "dev": true, | 6952 | "dev": true, |
6818 | "requires": { | 6953 | "requires": { |
6819 | "@types/node": "^10.12.18", | 6954 | "@types/node": "^10.12.18", |
@@ -6822,32 +6957,32 @@ | |||
6822 | }, | 6957 | }, |
6823 | "dependencies": { | 6958 | "dependencies": { |
6824 | "@types/node": { | 6959 | "@types/node": { |
6825 | "version": "10.14.9", | 6960 | "version": "10.14.19", |
6826 | "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.9.tgz", | 6961 | "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.19.tgz", |
6827 | "integrity": "sha512-NelG/dSahlXYtSoVPErrp06tYFrvzj8XLWmKA+X8x0W//4MqbUyZu++giUG/v0bjAT6/Qxa8IjodrfdACyb0Fg==", | 6962 | "integrity": "sha512-j6Sqt38ssdMKutXBUuAcmWF8QtHW1Fwz/mz4Y+Wd9mzpBiVFirjpNQf363hG5itkG+yGaD+oiLyb50HxJ36l9Q==", |
6828 | "dev": true | 6963 | "dev": true |
6829 | } | 6964 | } |
6830 | } | 6965 | } |
6831 | }, | 6966 | }, |
6832 | "electron-builder": { | 6967 | "electron-builder": { |
6833 | "version": "20.40.2", | 6968 | "version": "21.2.0", |
6834 | "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.40.2.tgz", | 6969 | "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-21.2.0.tgz", |
6835 | "integrity": "sha512-hnnBzyLXna+WpmT4MIoWVdRli43q09yqKOgzPJj0KrOoJZ7TIoY1aYSPvSg8VL5rSuTgdAWGL4rYd9zcq3YXMQ==", | 6970 | "integrity": "sha512-x8EXrqFbAb2L3N22YlGar3dGh8vwptbB3ovo3OF6K7NTpcsmM2zEoJv7GhFyX73rNzSG2HaWpXwGAtOp2JWiEw==", |
6836 | "dev": true, | 6971 | "dev": true, |
6837 | "requires": { | 6972 | "requires": { |
6838 | "app-builder-lib": "20.40.2", | 6973 | "app-builder-lib": "21.2.0", |
6839 | "bluebird-lst": "^1.0.7", | 6974 | "bluebird-lst": "^1.0.9", |
6840 | "builder-util": "9.7.1", | 6975 | "builder-util": "21.2.0", |
6841 | "builder-util-runtime": "8.2.1", | 6976 | "builder-util-runtime": "8.3.0", |
6842 | "chalk": "^2.4.2", | 6977 | "chalk": "^2.4.2", |
6843 | "dmg-builder": "6.6.1", | 6978 | "dmg-builder": "21.2.0", |
6844 | "fs-extra-p": "^7.0.1", | 6979 | "fs-extra": "^8.1.0", |
6845 | "is-ci": "^2.0.0", | 6980 | "is-ci": "^2.0.0", |
6846 | "lazy-val": "^1.0.4", | 6981 | "lazy-val": "^1.0.4", |
6847 | "read-config-file": "3.2.2", | 6982 | "read-config-file": "5.0.0", |
6848 | "sanitize-filename": "^1.6.1", | 6983 | "sanitize-filename": "^1.6.2", |
6849 | "update-notifier": "^2.5.0", | 6984 | "update-notifier": "^3.0.1", |
6850 | "yargs": "^13.2.2" | 6985 | "yargs": "^13.3.0" |
6851 | }, | 6986 | }, |
6852 | "dependencies": { | 6987 | "dependencies": { |
6853 | "ansi-regex": { | 6988 | "ansi-regex": { |
@@ -6857,29 +6992,27 @@ | |||
6857 | "dev": true | 6992 | "dev": true |
6858 | }, | 6993 | }, |
6859 | "bluebird": { | 6994 | "bluebird": { |
6860 | "version": "3.5.4", | 6995 | "version": "3.5.5", |
6861 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz", | 6996 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", |
6862 | "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==", | 6997 | "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", |
6863 | "dev": true | 6998 | "dev": true |
6864 | }, | 6999 | }, |
6865 | "bluebird-lst": { | 7000 | "bluebird-lst": { |
6866 | "version": "1.0.8", | 7001 | "version": "1.0.9", |
6867 | "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.8.tgz", | 7002 | "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", |
6868 | "integrity": "sha512-InUDOaBaIjIobOa3O4YRAbFgff907uTJZXW0m0rhk3zhVZ4GvsmdCLEAKC1CTWTtUWCM8iWTTfFX9N/xQR/etw==", | 7003 | "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", |
6869 | "dev": true, | 7004 | "dev": true, |
6870 | "requires": { | 7005 | "requires": { |
6871 | "bluebird": "^3.5.4" | 7006 | "bluebird": "^3.5.5" |
6872 | } | 7007 | } |
6873 | }, | 7008 | }, |
6874 | "builder-util-runtime": { | 7009 | "builder-util-runtime": { |
6875 | "version": "8.2.1", | 7010 | "version": "8.3.0", |
6876 | "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.2.1.tgz", | 7011 | "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz", |
6877 | "integrity": "sha512-2TkeTcI9bDlK5azRZSJJNxhAgW1DK+JY3jHK0UWPxgJcan4GZSVDNNO3sXntNxrp+JAdPHMF14rzNd/G53lvqw==", | 7012 | "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==", |
6878 | "dev": true, | 7013 | "dev": true, |
6879 | "requires": { | 7014 | "requires": { |
6880 | "bluebird-lst": "^1.0.7", | ||
6881 | "debug": "^4.1.1", | 7015 | "debug": "^4.1.1", |
6882 | "fs-extra-p": "^7.0.1", | ||
6883 | "sax": "^1.2.4" | 7016 | "sax": "^1.2.4" |
6884 | } | 7017 | } |
6885 | }, | 7018 | }, |
@@ -6903,14 +7036,15 @@ | |||
6903 | "ms": "^2.1.1" | 7036 | "ms": "^2.1.1" |
6904 | } | 7037 | } |
6905 | }, | 7038 | }, |
6906 | "fs-extra-p": { | 7039 | "fs-extra": { |
6907 | "version": "7.0.1", | 7040 | "version": "8.1.0", |
6908 | "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.1.tgz", | 7041 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", |
6909 | "integrity": "sha512-yhd2OV0HnHt2oitlp+X9hl2ReX4X/7kQeL7/72qzPHTZj5eUPGzAKOvEglU02Fa1OeG2rSy/aKB4WGVaLiF8tw==", | 7042 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", |
6910 | "dev": true, | 7043 | "dev": true, |
6911 | "requires": { | 7044 | "requires": { |
6912 | "bluebird-lst": "^1.0.7", | 7045 | "graceful-fs": "^4.2.0", |
6913 | "fs-extra": "^7.0.1" | 7046 | "jsonfile": "^4.0.0", |
7047 | "universalify": "^0.1.0" | ||
6914 | } | 7048 | } |
6915 | }, | 7049 | }, |
6916 | "get-caller-file": { | 7050 | "get-caller-file": { |
@@ -6919,6 +7053,12 @@ | |||
6919 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", | 7053 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", |
6920 | "dev": true | 7054 | "dev": true |
6921 | }, | 7055 | }, |
7056 | "graceful-fs": { | ||
7057 | "version": "4.2.2", | ||
7058 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", | ||
7059 | "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", | ||
7060 | "dev": true | ||
7061 | }, | ||
6922 | "lazy-val": { | 7062 | "lazy-val": { |
6923 | "version": "1.0.4", | 7063 | "version": "1.0.4", |
6924 | "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz", | 7064 | "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz", |
@@ -6963,28 +7103,27 @@ | |||
6963 | } | 7103 | } |
6964 | }, | 7104 | }, |
6965 | "yargs": { | 7105 | "yargs": { |
6966 | "version": "13.2.4", | 7106 | "version": "13.3.0", |
6967 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", | 7107 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", |
6968 | "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", | 7108 | "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", |
6969 | "dev": true, | 7109 | "dev": true, |
6970 | "requires": { | 7110 | "requires": { |
6971 | "cliui": "^5.0.0", | 7111 | "cliui": "^5.0.0", |
6972 | "find-up": "^3.0.0", | 7112 | "find-up": "^3.0.0", |
6973 | "get-caller-file": "^2.0.1", | 7113 | "get-caller-file": "^2.0.1", |
6974 | "os-locale": "^3.1.0", | ||
6975 | "require-directory": "^2.1.1", | 7114 | "require-directory": "^2.1.1", |
6976 | "require-main-filename": "^2.0.0", | 7115 | "require-main-filename": "^2.0.0", |
6977 | "set-blocking": "^2.0.0", | 7116 | "set-blocking": "^2.0.0", |
6978 | "string-width": "^3.0.0", | 7117 | "string-width": "^3.0.0", |
6979 | "which-module": "^2.0.0", | 7118 | "which-module": "^2.0.0", |
6980 | "y18n": "^4.0.0", | 7119 | "y18n": "^4.0.0", |
6981 | "yargs-parser": "^13.1.0" | 7120 | "yargs-parser": "^13.1.1" |
6982 | } | 7121 | } |
6983 | }, | 7122 | }, |
6984 | "yargs-parser": { | 7123 | "yargs-parser": { |
6985 | "version": "13.1.0", | 7124 | "version": "13.1.1", |
6986 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.0.tgz", | 7125 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", |
6987 | "integrity": "sha512-Yq+32PrijHRri0vVKQEm+ys8mbqWjLiwQkMFNXEENutzLPP0bE4Lcd4iA3OQY5HF+GD3xXxf0MEHb8E4/SA3AA==", | 7126 | "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", |
6988 | "dev": true, | 7127 | "dev": true, |
6989 | "requires": { | 7128 | "requires": { |
6990 | "camelcase": "^5.0.0", | 7129 | "camelcase": "^5.0.0", |
@@ -7051,14 +7190,11 @@ | |||
7051 | } | 7190 | } |
7052 | }, | 7191 | }, |
7053 | "electron-hunspell": { | 7192 | "electron-hunspell": { |
7054 | "version": "0.1.1", | 7193 | "version": "1.0.0", |
7055 | "resolved": "https://registry.npmjs.org/electron-hunspell/-/electron-hunspell-0.1.1.tgz", | 7194 | "resolved": "https://registry.npmjs.org/electron-hunspell/-/electron-hunspell-1.0.0.tgz", |
7056 | "integrity": "sha512-B3nOQqHexIX+8bz72FZkNk+iFBrdqS9DpV2SaH+t7T9SLbONBVBRLJ2Jj2ytXFUzvw81q7vz2dfxPCddh/E3ww==", | 7195 | "integrity": "sha512-egyioCtGkkNMOYdKBrZsva63JxbPmNjmQVFCZCcmr+uIUs6et6OUvqd6ac9/ujuchiEPDrTfF9gdR9+lPbVyPA==", |
7057 | "requires": { | 7196 | "requires": { |
7058 | "hunspell-asm": "1.0.2", | 7197 | "hunspell-asm": "^4.0.0" |
7059 | "lodash": "^4.17.11", | ||
7060 | "tslib": "1.9.3", | ||
7061 | "unixify": "1.0.0" | ||
7062 | } | 7198 | } |
7063 | }, | 7199 | }, |
7064 | "electron-is-dev": { | 7200 | "electron-is-dev": { |
@@ -7066,70 +7202,43 @@ | |||
7066 | "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-1.0.1.tgz", | 7202 | "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-1.0.1.tgz", |
7067 | "integrity": "sha512-iwM3EotA9HTXqMGpQRkR/kT8OZqBbdfHTnlwcxsjSLYqY8svvsq0MuujsWCn3/vtgRmDv/PC/gKUUpoZvi5C1w==" | 7203 | "integrity": "sha512-iwM3EotA9HTXqMGpQRkR/kT8OZqBbdfHTnlwcxsjSLYqY8svvsq0MuujsWCn3/vtgRmDv/PC/gKUUpoZvi5C1w==" |
7068 | }, | 7204 | }, |
7069 | "electron-osx-sign": { | ||
7070 | "version": "0.4.11", | ||
7071 | "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.11.tgz", | ||
7072 | "integrity": "sha512-VVd40nrnVqymvFrY9ZkOYgHJOvexHHYTR3di/SN+mjJ0OWhR1I8BRVj3U+Yamw6hnkZZNKZp52rqL5EFAAPFkQ==", | ||
7073 | "dev": true, | ||
7074 | "requires": { | ||
7075 | "bluebird": "^3.5.0", | ||
7076 | "compare-version": "^0.1.2", | ||
7077 | "debug": "^2.6.8", | ||
7078 | "isbinaryfile": "^3.0.2", | ||
7079 | "minimist": "^1.2.0", | ||
7080 | "plist": "^3.0.1" | ||
7081 | }, | ||
7082 | "dependencies": { | ||
7083 | "isbinaryfile": { | ||
7084 | "version": "3.0.3", | ||
7085 | "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", | ||
7086 | "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", | ||
7087 | "dev": true, | ||
7088 | "requires": { | ||
7089 | "buffer-alloc": "^1.2.0" | ||
7090 | } | ||
7091 | } | ||
7092 | } | ||
7093 | }, | ||
7094 | "electron-publish": { | 7205 | "electron-publish": { |
7095 | "version": "20.40.0", | 7206 | "version": "21.2.0", |
7096 | "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.40.0.tgz", | 7207 | "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-21.2.0.tgz", |
7097 | "integrity": "sha512-mkjtsIgftRszuT/8do8TszmddokDnu254OyTeL8nE780o/A8t68oXHZzvlTJ4AQ8uBOYrA87JDO/BFCWjnVArA==", | 7208 | "integrity": "sha512-mWavuoWJe87iaeKd0I24dNWIaR+0yRzshjNVqGyK019H766fsPWl3caQJnVKFaEyrZRP397v4JZVG0e7s16AxA==", |
7098 | "dev": true, | 7209 | "dev": true, |
7099 | "requires": { | 7210 | "requires": { |
7100 | "bluebird-lst": "^1.0.7", | 7211 | "bluebird-lst": "^1.0.9", |
7101 | "builder-util": "~9.7.1", | 7212 | "builder-util": "~21.2.0", |
7102 | "builder-util-runtime": "^8.2.1", | 7213 | "builder-util-runtime": "8.3.0", |
7103 | "chalk": "^2.4.2", | 7214 | "chalk": "^2.4.2", |
7104 | "fs-extra-p": "^7.0.1", | 7215 | "fs-extra": "^8.1.0", |
7105 | "lazy-val": "^1.0.4", | 7216 | "lazy-val": "^1.0.4", |
7106 | "mime": "^2.4.1" | 7217 | "mime": "^2.4.4" |
7107 | }, | 7218 | }, |
7108 | "dependencies": { | 7219 | "dependencies": { |
7109 | "bluebird": { | 7220 | "bluebird": { |
7110 | "version": "3.5.4", | 7221 | "version": "3.5.5", |
7111 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz", | 7222 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", |
7112 | "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==", | 7223 | "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", |
7113 | "dev": true | 7224 | "dev": true |
7114 | }, | 7225 | }, |
7115 | "bluebird-lst": { | 7226 | "bluebird-lst": { |
7116 | "version": "1.0.8", | 7227 | "version": "1.0.9", |
7117 | "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.8.tgz", | 7228 | "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", |
7118 | "integrity": "sha512-InUDOaBaIjIobOa3O4YRAbFgff907uTJZXW0m0rhk3zhVZ4GvsmdCLEAKC1CTWTtUWCM8iWTTfFX9N/xQR/etw==", | 7229 | "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", |
7119 | "dev": true, | 7230 | "dev": true, |
7120 | "requires": { | 7231 | "requires": { |
7121 | "bluebird": "^3.5.4" | 7232 | "bluebird": "^3.5.5" |
7122 | } | 7233 | } |
7123 | }, | 7234 | }, |
7124 | "builder-util-runtime": { | 7235 | "builder-util-runtime": { |
7125 | "version": "8.2.2", | 7236 | "version": "8.3.0", |
7126 | "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.2.2.tgz", | 7237 | "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz", |
7127 | "integrity": "sha512-Z0NKlpa5VQBMVXAcZH9n4dx+CY5Ckyv7a0Yr/is1h5hwCWaJbQ2JN9PGT7g6YzE5gM3FyrgGDB4DTyJlLcRKNw==", | 7238 | "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==", |
7128 | "dev": true, | 7239 | "dev": true, |
7129 | "requires": { | 7240 | "requires": { |
7130 | "bluebird-lst": "^1.0.7", | ||
7131 | "debug": "^4.1.1", | 7241 | "debug": "^4.1.1", |
7132 | "fs-extra-p": "^7.0.1", | ||
7133 | "sax": "^1.2.4" | 7242 | "sax": "^1.2.4" |
7134 | } | 7243 | } |
7135 | }, | 7244 | }, |
@@ -7142,16 +7251,23 @@ | |||
7142 | "ms": "^2.1.1" | 7251 | "ms": "^2.1.1" |
7143 | } | 7252 | } |
7144 | }, | 7253 | }, |
7145 | "fs-extra-p": { | 7254 | "fs-extra": { |
7146 | "version": "7.0.1", | 7255 | "version": "8.1.0", |
7147 | "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.1.tgz", | 7256 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", |
7148 | "integrity": "sha512-yhd2OV0HnHt2oitlp+X9hl2ReX4X/7kQeL7/72qzPHTZj5eUPGzAKOvEglU02Fa1OeG2rSy/aKB4WGVaLiF8tw==", | 7257 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", |
7149 | "dev": true, | 7258 | "dev": true, |
7150 | "requires": { | 7259 | "requires": { |
7151 | "bluebird-lst": "^1.0.7", | 7260 | "graceful-fs": "^4.2.0", |
7152 | "fs-extra": "^7.0.1" | 7261 | "jsonfile": "^4.0.0", |
7262 | "universalify": "^0.1.0" | ||
7153 | } | 7263 | } |
7154 | }, | 7264 | }, |
7265 | "graceful-fs": { | ||
7266 | "version": "4.2.2", | ||
7267 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", | ||
7268 | "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", | ||
7269 | "dev": true | ||
7270 | }, | ||
7155 | "lazy-val": { | 7271 | "lazy-val": { |
7156 | "version": "1.0.4", | 7272 | "version": "1.0.4", |
7157 | "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz", | 7273 | "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz", |
@@ -7159,9 +7275,9 @@ | |||
7159 | "dev": true | 7275 | "dev": true |
7160 | }, | 7276 | }, |
7161 | "mime": { | 7277 | "mime": { |
7162 | "version": "2.4.3", | 7278 | "version": "2.4.4", |
7163 | "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.3.tgz", | 7279 | "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", |
7164 | "integrity": "sha512-QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw==", | 7280 | "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", |
7165 | "dev": true | 7281 | "dev": true |
7166 | } | 7282 | } |
7167 | } | 7283 | } |
@@ -9833,30 +9949,22 @@ | |||
9833 | } | 9949 | } |
9834 | }, | 9950 | }, |
9835 | "got": { | 9951 | "got": { |
9836 | "version": "6.7.1", | 9952 | "version": "9.6.0", |
9837 | "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", | 9953 | "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", |
9838 | "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", | 9954 | "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", |
9839 | "dev": true, | 9955 | "dev": true, |
9840 | "requires": { | 9956 | "requires": { |
9841 | "create-error-class": "^3.0.0", | 9957 | "@sindresorhus/is": "^0.14.0", |
9958 | "@szmarczak/http-timer": "^1.1.2", | ||
9959 | "cacheable-request": "^6.0.0", | ||
9960 | "decompress-response": "^3.3.0", | ||
9842 | "duplexer3": "^0.1.4", | 9961 | "duplexer3": "^0.1.4", |
9843 | "get-stream": "^3.0.0", | 9962 | "get-stream": "^4.1.0", |
9844 | "is-redirect": "^1.0.0", | 9963 | "lowercase-keys": "^1.0.1", |
9845 | "is-retry-allowed": "^1.0.0", | 9964 | "mimic-response": "^1.0.1", |
9846 | "is-stream": "^1.0.0", | 9965 | "p-cancelable": "^1.0.0", |
9847 | "lowercase-keys": "^1.0.0", | 9966 | "to-readable-stream": "^1.0.0", |
9848 | "safe-buffer": "^5.0.1", | 9967 | "url-parse-lax": "^3.0.0" |
9849 | "timed-out": "^4.0.0", | ||
9850 | "unzip-response": "^2.0.1", | ||
9851 | "url-parse-lax": "^1.0.0" | ||
9852 | }, | ||
9853 | "dependencies": { | ||
9854 | "get-stream": { | ||
9855 | "version": "3.0.0", | ||
9856 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", | ||
9857 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", | ||
9858 | "dev": true | ||
9859 | } | ||
9860 | } | 9968 | } |
9861 | }, | 9969 | }, |
9862 | "graceful-fs": { | 9970 | "graceful-fs": { |
@@ -11044,6 +11152,12 @@ | |||
11044 | } | 11152 | } |
11045 | } | 11153 | } |
11046 | }, | 11154 | }, |
11155 | "has-yarn": { | ||
11156 | "version": "2.1.0", | ||
11157 | "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", | ||
11158 | "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", | ||
11159 | "dev": true | ||
11160 | }, | ||
11047 | "hash-base": { | 11161 | "hash-base": { |
11048 | "version": "3.0.4", | 11162 | "version": "3.0.4", |
11049 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", | 11163 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", |
@@ -11389,14 +11503,24 @@ | |||
11389 | } | 11503 | } |
11390 | }, | 11504 | }, |
11391 | "hunspell-asm": { | 11505 | "hunspell-asm": { |
11392 | "version": "1.0.2", | 11506 | "version": "4.0.0", |
11393 | "resolved": "https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-1.0.2.tgz", | 11507 | "resolved": "https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-4.0.0.tgz", |
11394 | "integrity": "sha512-UTLBvc0yZiIcHl9qrgxnFTZbX3zF4CprzEY+u+N0iXlUKZnUJRIgvgppTdgiQTsucm5b0aN/rHsgXz2q/0kBRA==", | 11508 | "integrity": "sha512-EcNwMx0Byq1JHMZiuATmqpMk41bOo+NH4yD5xJ3H0X403MoDBory3zri2lJzYSGj+z/6Bqr3EZn24syCjZoY1w==", |
11395 | "requires": { | 11509 | "requires": { |
11396 | "emscripten-wasm-loader": "^1.0.0", | 11510 | "emscripten-wasm-loader": "^3.0.3", |
11397 | "nanoid": "^1.0.2", | 11511 | "nanoid": "^2.1.1" |
11398 | "tslib": "^1.9.0", | 11512 | }, |
11399 | "unixify": "^1.0.0" | 11513 | "dependencies": { |
11514 | "emscripten-wasm-loader": { | ||
11515 | "version": "3.0.3", | ||
11516 | "resolved": "https://registry.npmjs.org/emscripten-wasm-loader/-/emscripten-wasm-loader-3.0.3.tgz", | ||
11517 | "integrity": "sha512-fyq2maBt5LOou27LEBlL5H6G04BxgSamXkvmMsAuIT6rd8ioH4BxNQhuyl6jVPeODh6U8Wk1BoFZxzHpg3o8wA==", | ||
11518 | "requires": { | ||
11519 | "getroot": "^1.0.0", | ||
11520 | "nanoid": "^2.0.3", | ||
11521 | "unixify": "^1.0.0" | ||
11522 | } | ||
11523 | } | ||
11400 | } | 11524 | } |
11401 | }, | 11525 | }, |
11402 | "husky": { | 11526 | "husky": { |
@@ -11910,9 +12034,9 @@ | |||
11910 | "dev": true | 12034 | "dev": true |
11911 | }, | 12035 | }, |
11912 | "is-npm": { | 12036 | "is-npm": { |
11913 | "version": "1.0.0", | 12037 | "version": "3.0.0", |
11914 | "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", | 12038 | "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-3.0.0.tgz", |
11915 | "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", | 12039 | "integrity": "sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA==", |
11916 | "dev": true | 12040 | "dev": true |
11917 | }, | 12041 | }, |
11918 | "is-number": { | 12042 | "is-number": { |
@@ -11996,12 +12120,6 @@ | |||
11996 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", | 12120 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", |
11997 | "dev": true | 12121 | "dev": true |
11998 | }, | 12122 | }, |
11999 | "is-redirect": { | ||
12000 | "version": "1.0.0", | ||
12001 | "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", | ||
12002 | "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", | ||
12003 | "dev": true | ||
12004 | }, | ||
12005 | "is-regex": { | 12123 | "is-regex": { |
12006 | "version": "1.0.4", | 12124 | "version": "1.0.4", |
12007 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", | 12125 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", |
@@ -12020,12 +12138,6 @@ | |||
12020 | "is-unc-path": "^1.0.0" | 12138 | "is-unc-path": "^1.0.0" |
12021 | } | 12139 | } |
12022 | }, | 12140 | }, |
12023 | "is-retry-allowed": { | ||
12024 | "version": "1.1.0", | ||
12025 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", | ||
12026 | "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", | ||
12027 | "dev": true | ||
12028 | }, | ||
12029 | "is-ssh": { | 12141 | "is-ssh": { |
12030 | "version": "1.3.1", | 12142 | "version": "1.3.1", |
12031 | "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.1.tgz", | 12143 | "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.1.tgz", |
@@ -12103,15 +12215,21 @@ | |||
12103 | "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", | 12215 | "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", |
12104 | "dev": true | 12216 | "dev": true |
12105 | }, | 12217 | }, |
12218 | "is-yarn-global": { | ||
12219 | "version": "0.3.0", | ||
12220 | "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", | ||
12221 | "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", | ||
12222 | "dev": true | ||
12223 | }, | ||
12106 | "isarray": { | 12224 | "isarray": { |
12107 | "version": "1.0.0", | 12225 | "version": "1.0.0", |
12108 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", | 12226 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", |
12109 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" | 12227 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" |
12110 | }, | 12228 | }, |
12111 | "isbinaryfile": { | 12229 | "isbinaryfile": { |
12112 | "version": "4.0.0", | 12230 | "version": "4.0.2", |
12113 | "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.0.tgz", | 12231 | "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.2.tgz", |
12114 | "integrity": "sha512-RBtmso6l2mCaEsUvXngMTIjg3oheXo0MgYzzfT6sk44RYggPnm9fT+cQJAmzRnJIxPHXg9FZglqDJGW28dvcqA==", | 12232 | "integrity": "sha512-C3FSxJdNrEr2F4z6uFtNzECDM5hXk+46fxaa+cwBe5/XrWSmzdG8DDgyjfX6/NRdBB21q2JXuRAzPCUs+fclnQ==", |
12115 | "dev": true | 12233 | "dev": true |
12116 | }, | 12234 | }, |
12117 | "isexe": { | 12235 | "isexe": { |
@@ -12899,6 +13017,12 @@ | |||
12899 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", | 13017 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", |
12900 | "dev": true | 13018 | "dev": true |
12901 | }, | 13019 | }, |
13020 | "json-buffer": { | ||
13021 | "version": "3.0.0", | ||
13022 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", | ||
13023 | "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", | ||
13024 | "dev": true | ||
13025 | }, | ||
12902 | "json-parse-better-errors": { | 13026 | "json-parse-better-errors": { |
12903 | "version": "1.0.2", | 13027 | "version": "1.0.2", |
12904 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", | 13028 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", |
@@ -13137,6 +13261,15 @@ | |||
13137 | "integrity": "sha1-P55JkK3K0MaGwOcB92RYaPdfkes=", | 13261 | "integrity": "sha1-P55JkK3K0MaGwOcB92RYaPdfkes=", |
13138 | "dev": true | 13262 | "dev": true |
13139 | }, | 13263 | }, |
13264 | "keyv": { | ||
13265 | "version": "3.1.0", | ||
13266 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", | ||
13267 | "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", | ||
13268 | "dev": true, | ||
13269 | "requires": { | ||
13270 | "json-buffer": "3.0.0" | ||
13271 | } | ||
13272 | }, | ||
13140 | "killable": { | 13273 | "killable": { |
13141 | "version": "1.0.1", | 13274 | "version": "1.0.1", |
13142 | "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", | 13275 | "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", |
@@ -13166,12 +13299,12 @@ | |||
13166 | } | 13299 | } |
13167 | }, | 13300 | }, |
13168 | "latest-version": { | 13301 | "latest-version": { |
13169 | "version": "3.1.0", | 13302 | "version": "5.1.0", |
13170 | "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", | 13303 | "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", |
13171 | "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", | 13304 | "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", |
13172 | "dev": true, | 13305 | "dev": true, |
13173 | "requires": { | 13306 | "requires": { |
13174 | "package-json": "^4.0.0" | 13307 | "package-json": "^6.3.0" |
13175 | } | 13308 | } |
13176 | }, | 13309 | }, |
13177 | "lazy-val": { | 13310 | "lazy-val": { |
@@ -14064,6 +14197,12 @@ | |||
14064 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", | 14197 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", |
14065 | "dev": true | 14198 | "dev": true |
14066 | }, | 14199 | }, |
14200 | "mimic-response": { | ||
14201 | "version": "1.0.1", | ||
14202 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", | ||
14203 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", | ||
14204 | "dev": true | ||
14205 | }, | ||
14067 | "minimalistic-assert": { | 14206 | "minimalistic-assert": { |
14068 | "version": "1.0.1", | 14207 | "version": "1.0.1", |
14069 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", | 14208 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", |
@@ -14375,9 +14514,9 @@ | |||
14375 | "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==" | 14514 | "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==" |
14376 | }, | 14515 | }, |
14377 | "nanoid": { | 14516 | "nanoid": { |
14378 | "version": "1.3.4", | 14517 | "version": "2.1.1", |
14379 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-1.3.4.tgz", | 14518 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.1.tgz", |
14380 | "integrity": "sha512-4ug4BsuHxiVHoRUe1ud6rUFT3WUMmjXt1W0quL0CviZQANdan7D8kqN5/maw53hmAApY/jfzMRkC57BNNs60ZQ==" | 14519 | "integrity": "sha512-0YbJdaL4JFoejIOoawgLcYValFGJ2iyUuVDIWL3g8Es87SSOWFbWdRUMV3VMSiyPs3SQ3QxCIxFX00q5DLkMCw==" |
14381 | }, | 14520 | }, |
14382 | "nanomatch": { | 14521 | "nanomatch": { |
14383 | "version": "1.2.13", | 14522 | "version": "1.2.13", |
@@ -14456,9 +14595,9 @@ | |||
14456 | } | 14595 | } |
14457 | }, | 14596 | }, |
14458 | "node-abi": { | 14597 | "node-abi": { |
14459 | "version": "2.8.0", | 14598 | "version": "2.11.0", |
14460 | "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.8.0.tgz", | 14599 | "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.11.0.tgz", |
14461 | "integrity": "sha512-1/aa2clS0pue0HjckL62CsbhWWU35HARvBDXcJtYKbYR7LnIutmpxmXbuDMV9kEviD2lP/wACOgWmmwljghHyQ==", | 14600 | "integrity": "sha512-kuy/aEg75u40v378WRllQ4ZexaXJiCvB68D2scDXclp/I4cRq6togpbOoKhmN07tns9Zldu51NNERo0wehfX9g==", |
14462 | "dev": true, | 14601 | "dev": true, |
14463 | "requires": { | 14602 | "requires": { |
14464 | "semver": "^5.4.1" | 14603 | "semver": "^5.4.1" |
@@ -15676,6 +15815,12 @@ | |||
15676 | "mkdirp": "^0.5.1" | 15815 | "mkdirp": "^0.5.1" |
15677 | } | 15816 | } |
15678 | }, | 15817 | }, |
15818 | "p-cancelable": { | ||
15819 | "version": "1.1.0", | ||
15820 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", | ||
15821 | "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", | ||
15822 | "dev": true | ||
15823 | }, | ||
15679 | "p-defer": { | 15824 | "p-defer": { |
15680 | "version": "1.0.0", | 15825 | "version": "1.0.0", |
15681 | "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", | 15826 | "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", |
@@ -15764,15 +15909,23 @@ | |||
15764 | } | 15909 | } |
15765 | }, | 15910 | }, |
15766 | "package-json": { | 15911 | "package-json": { |
15767 | "version": "4.0.1", | 15912 | "version": "6.5.0", |
15768 | "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", | 15913 | "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", |
15769 | "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", | 15914 | "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", |
15770 | "dev": true, | 15915 | "dev": true, |
15771 | "requires": { | 15916 | "requires": { |
15772 | "got": "^6.7.1", | 15917 | "got": "^9.6.0", |
15773 | "registry-auth-token": "^3.0.1", | 15918 | "registry-auth-token": "^4.0.0", |
15774 | "registry-url": "^3.0.3", | 15919 | "registry-url": "^5.0.0", |
15775 | "semver": "^5.1.0" | 15920 | "semver": "^6.2.0" |
15921 | }, | ||
15922 | "dependencies": { | ||
15923 | "semver": { | ||
15924 | "version": "6.3.0", | ||
15925 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | ||
15926 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", | ||
15927 | "dev": true | ||
15928 | } | ||
15776 | } | 15929 | } |
15777 | }, | 15930 | }, |
15778 | "pacote": { | 15931 | "pacote": { |
@@ -15886,23 +16039,6 @@ | |||
15886 | "safe-buffer": "^5.1.1" | 16039 | "safe-buffer": "^5.1.1" |
15887 | } | 16040 | } |
15888 | }, | 16041 | }, |
15889 | "parse-color": { | ||
15890 | "version": "1.0.0", | ||
15891 | "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz", | ||
15892 | "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=", | ||
15893 | "dev": true, | ||
15894 | "requires": { | ||
15895 | "color-convert": "~0.5.0" | ||
15896 | }, | ||
15897 | "dependencies": { | ||
15898 | "color-convert": { | ||
15899 | "version": "0.5.3", | ||
15900 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", | ||
15901 | "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=", | ||
15902 | "dev": true | ||
15903 | } | ||
15904 | } | ||
15905 | }, | ||
15906 | "parse-filepath": { | 16042 | "parse-filepath": { |
15907 | "version": "1.0.2", | 16043 | "version": "1.0.2", |
15908 | "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", | 16044 | "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", |
@@ -16233,17 +16369,6 @@ | |||
16233 | "semver-compare": "^1.0.0" | 16369 | "semver-compare": "^1.0.0" |
16234 | } | 16370 | } |
16235 | }, | 16371 | }, |
16236 | "plist": { | ||
16237 | "version": "3.0.1", | ||
16238 | "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", | ||
16239 | "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", | ||
16240 | "dev": true, | ||
16241 | "requires": { | ||
16242 | "base64-js": "^1.2.3", | ||
16243 | "xmlbuilder": "^9.0.7", | ||
16244 | "xmldom": "0.1.x" | ||
16245 | } | ||
16246 | }, | ||
16247 | "plugin-error": { | 16372 | "plugin-error": { |
16248 | "version": "1.0.1", | 16373 | "version": "1.0.1", |
16249 | "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", | 16374 | "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", |
@@ -16971,63 +17096,50 @@ | |||
16971 | } | 17096 | } |
16972 | }, | 17097 | }, |
16973 | "read-config-file": { | 17098 | "read-config-file": { |
16974 | "version": "3.2.2", | 17099 | "version": "5.0.0", |
16975 | "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-3.2.2.tgz", | 17100 | "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-5.0.0.tgz", |
16976 | "integrity": "sha512-PuFpMgZF01VB0ydH1dfitAxCP/fh+qnfbA9cYNIPoxPbz0SMngsrafCtaHDWfER7MwlDz4fmrNBhPkakxxFpTg==", | 17101 | "integrity": "sha512-jIKUu+C84bfnKxyJ5j30CxCqgXWYjZLXuVE/NYlMEpeni+dhESgAeZOZd0JZbg1xTkMmnCdxksDoarkOyfEsOg==", |
16977 | "dev": true, | 17102 | "dev": true, |
16978 | "requires": { | 17103 | "requires": { |
16979 | "ajv": "^6.9.2", | 17104 | "dotenv": "^8.0.0", |
16980 | "ajv-keywords": "^3.4.0", | 17105 | "dotenv-expand": "^5.1.0", |
16981 | "bluebird-lst": "^1.0.7", | 17106 | "fs-extra": "^8.1.0", |
16982 | "dotenv": "^6.2.0", | 17107 | "js-yaml": "^3.13.1", |
16983 | "dotenv-expand": "^4.2.0", | ||
16984 | "fs-extra-p": "^7.0.1", | ||
16985 | "js-yaml": "^3.12.1", | ||
16986 | "json5": "^2.1.0", | 17108 | "json5": "^2.1.0", |
16987 | "lazy-val": "^1.0.4" | 17109 | "lazy-val": "^1.0.4" |
16988 | }, | 17110 | }, |
16989 | "dependencies": { | 17111 | "dependencies": { |
16990 | "ajv": { | 17112 | "dotenv": { |
16991 | "version": "6.10.0", | 17113 | "version": "8.1.0", |
16992 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", | 17114 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.1.0.tgz", |
16993 | "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", | 17115 | "integrity": "sha512-GUE3gqcDCaMltj2++g6bRQ5rBJWtkWTmqmD0fo1RnnMuUqHNCt2oTPeDnS9n6fKYvlhn7AeBkb38lymBtWBQdA==", |
16994 | "dev": true, | ||
16995 | "requires": { | ||
16996 | "fast-deep-equal": "^2.0.1", | ||
16997 | "fast-json-stable-stringify": "^2.0.0", | ||
16998 | "json-schema-traverse": "^0.4.1", | ||
16999 | "uri-js": "^4.2.2" | ||
17000 | } | ||
17001 | }, | ||
17002 | "bluebird": { | ||
17003 | "version": "3.5.4", | ||
17004 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz", | ||
17005 | "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==", | ||
17006 | "dev": true | 17116 | "dev": true |
17007 | }, | 17117 | }, |
17008 | "bluebird-lst": { | 17118 | "fs-extra": { |
17009 | "version": "1.0.8", | 17119 | "version": "8.1.0", |
17010 | "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.8.tgz", | 17120 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", |
17011 | "integrity": "sha512-InUDOaBaIjIobOa3O4YRAbFgff907uTJZXW0m0rhk3zhVZ4GvsmdCLEAKC1CTWTtUWCM8iWTTfFX9N/xQR/etw==", | 17121 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", |
17012 | "dev": true, | 17122 | "dev": true, |
17013 | "requires": { | 17123 | "requires": { |
17014 | "bluebird": "^3.5.4" | 17124 | "graceful-fs": "^4.2.0", |
17125 | "jsonfile": "^4.0.0", | ||
17126 | "universalify": "^0.1.0" | ||
17015 | } | 17127 | } |
17016 | }, | 17128 | }, |
17017 | "dotenv": { | 17129 | "graceful-fs": { |
17018 | "version": "6.2.0", | 17130 | "version": "4.2.2", |
17019 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", | 17131 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", |
17020 | "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", | 17132 | "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", |
17021 | "dev": true | 17133 | "dev": true |
17022 | }, | 17134 | }, |
17023 | "fs-extra-p": { | 17135 | "js-yaml": { |
17024 | "version": "7.0.1", | 17136 | "version": "3.13.1", |
17025 | "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.1.tgz", | 17137 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", |
17026 | "integrity": "sha512-yhd2OV0HnHt2oitlp+X9hl2ReX4X/7kQeL7/72qzPHTZj5eUPGzAKOvEglU02Fa1OeG2rSy/aKB4WGVaLiF8tw==", | 17138 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", |
17027 | "dev": true, | 17139 | "dev": true, |
17028 | "requires": { | 17140 | "requires": { |
17029 | "bluebird-lst": "^1.0.7", | 17141 | "argparse": "^1.0.7", |
17030 | "fs-extra": "^7.0.1" | 17142 | "esprima": "^4.0.0" |
17031 | } | 17143 | } |
17032 | }, | 17144 | }, |
17033 | "lazy-val": { | 17145 | "lazy-val": { |
@@ -17327,22 +17439,22 @@ | |||
17327 | } | 17439 | } |
17328 | }, | 17440 | }, |
17329 | "registry-auth-token": { | 17441 | "registry-auth-token": { |
17330 | "version": "3.4.0", | 17442 | "version": "4.0.0", |
17331 | "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", | 17443 | "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.0.0.tgz", |
17332 | "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", | 17444 | "integrity": "sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw==", |
17333 | "dev": true, | 17445 | "dev": true, |
17334 | "requires": { | 17446 | "requires": { |
17335 | "rc": "^1.1.6", | 17447 | "rc": "^1.2.8", |
17336 | "safe-buffer": "^5.0.1" | 17448 | "safe-buffer": "^5.0.1" |
17337 | } | 17449 | } |
17338 | }, | 17450 | }, |
17339 | "registry-url": { | 17451 | "registry-url": { |
17340 | "version": "3.1.0", | 17452 | "version": "5.1.0", |
17341 | "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", | 17453 | "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", |
17342 | "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", | 17454 | "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", |
17343 | "dev": true, | 17455 | "dev": true, |
17344 | "requires": { | 17456 | "requires": { |
17345 | "rc": "^1.0.1" | 17457 | "rc": "^1.2.8" |
17346 | } | 17458 | } |
17347 | }, | 17459 | }, |
17348 | "regjsgen": { | 17460 | "regjsgen": { |
@@ -17654,6 +17766,15 @@ | |||
17654 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", | 17766 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", |
17655 | "dev": true | 17767 | "dev": true |
17656 | }, | 17768 | }, |
17769 | "responselike": { | ||
17770 | "version": "1.0.2", | ||
17771 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", | ||
17772 | "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", | ||
17773 | "dev": true, | ||
17774 | "requires": { | ||
17775 | "lowercase-keys": "^1.0.0" | ||
17776 | } | ||
17777 | }, | ||
17657 | "restore-cursor": { | 17778 | "restore-cursor": { |
17658 | "version": "2.0.0", | 17779 | "version": "2.0.0", |
17659 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", | 17780 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", |
@@ -17788,9 +17909,9 @@ | |||
17788 | } | 17909 | } |
17789 | }, | 17910 | }, |
17790 | "sanitize-filename": { | 17911 | "sanitize-filename": { |
17791 | "version": "1.6.1", | 17912 | "version": "1.6.3", |
17792 | "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz", | 17913 | "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", |
17793 | "integrity": "sha1-YS2hyWRz+gLczaktzVtKsWSmdyo=", | 17914 | "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", |
17794 | "dev": true, | 17915 | "dev": true, |
17795 | "requires": { | 17916 | "requires": { |
17796 | "truncate-utf8-bytes": "^1.0.0" | 17917 | "truncate-utf8-bytes": "^1.0.0" |
@@ -19292,14 +19413,32 @@ | |||
19292 | "dev": true | 19413 | "dev": true |
19293 | }, | 19414 | }, |
19294 | "temp-file": { | 19415 | "temp-file": { |
19295 | "version": "3.3.2", | 19416 | "version": "3.3.4", |
19296 | "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.2.tgz", | 19417 | "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.4.tgz", |
19297 | "integrity": "sha512-FGKccAW0Mux9hC/2bdUIe4bJRv4OyVo4RpVcuplFird1V/YoplIFbnPZjfzbJSf/qNvRZIRB9/4n/RkI0GziuQ==", | 19418 | "integrity": "sha512-qSZ5W5q54iyGnP8cNl49RE0jTJc5CrzNocux5APD5yIxcgonoMuMSbsZfaZy8rTGCYo0Xz6ySVv3adagZ8gffg==", |
19298 | "dev": true, | 19419 | "dev": true, |
19299 | "requires": { | 19420 | "requires": { |
19300 | "async-exit-hook": "^2.0.1", | 19421 | "async-exit-hook": "^2.0.1", |
19301 | "bluebird-lst": "^1.0.6", | 19422 | "fs-extra": "^8.1.0" |
19302 | "fs-extra-p": "^7.0.0" | 19423 | }, |
19424 | "dependencies": { | ||
19425 | "fs-extra": { | ||
19426 | "version": "8.1.0", | ||
19427 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", | ||
19428 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", | ||
19429 | "dev": true, | ||
19430 | "requires": { | ||
19431 | "graceful-fs": "^4.2.0", | ||
19432 | "jsonfile": "^4.0.0", | ||
19433 | "universalify": "^0.1.0" | ||
19434 | } | ||
19435 | }, | ||
19436 | "graceful-fs": { | ||
19437 | "version": "4.2.2", | ||
19438 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", | ||
19439 | "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", | ||
19440 | "dev": true | ||
19441 | } | ||
19303 | } | 19442 | } |
19304 | }, | 19443 | }, |
19305 | "temp-write": { | 19444 | "temp-write": { |
@@ -19583,12 +19722,6 @@ | |||
19583 | "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", | 19722 | "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", |
19584 | "dev": true | 19723 | "dev": true |
19585 | }, | 19724 | }, |
19586 | "timed-out": { | ||
19587 | "version": "4.0.1", | ||
19588 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", | ||
19589 | "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", | ||
19590 | "dev": true | ||
19591 | }, | ||
19592 | "timers-browserify": { | 19725 | "timers-browserify": { |
19593 | "version": "2.0.10", | 19726 | "version": "2.0.10", |
19594 | "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", | 19727 | "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", |
@@ -19661,6 +19794,12 @@ | |||
19661 | } | 19794 | } |
19662 | } | 19795 | } |
19663 | }, | 19796 | }, |
19797 | "to-readable-stream": { | ||
19798 | "version": "1.0.0", | ||
19799 | "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", | ||
19800 | "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", | ||
19801 | "dev": true | ||
19802 | }, | ||
19664 | "to-regex": { | 19803 | "to-regex": { |
19665 | "version": "3.0.2", | 19804 | "version": "3.0.2", |
19666 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", | 19805 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", |
@@ -19935,6 +20074,12 @@ | |||
19935 | "prelude-ls": "~1.1.2" | 20074 | "prelude-ls": "~1.1.2" |
19936 | } | 20075 | } |
19937 | }, | 20076 | }, |
20077 | "type-fest": { | ||
20078 | "version": "0.3.1", | ||
20079 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", | ||
20080 | "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", | ||
20081 | "dev": true | ||
20082 | }, | ||
19938 | "type-is": { | 20083 | "type-is": { |
19939 | "version": "1.6.16", | 20084 | "version": "1.6.16", |
19940 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", | 20085 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", |
@@ -20209,12 +20354,6 @@ | |||
20209 | "path-exists": "^3.0.0" | 20354 | "path-exists": "^3.0.0" |
20210 | } | 20355 | } |
20211 | }, | 20356 | }, |
20212 | "unzip-response": { | ||
20213 | "version": "2.0.1", | ||
20214 | "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", | ||
20215 | "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", | ||
20216 | "dev": true | ||
20217 | }, | ||
20218 | "upath": { | 20357 | "upath": { |
20219 | "version": "1.1.0", | 20358 | "version": "1.1.0", |
20220 | "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", | 20359 | "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", |
@@ -20222,38 +20361,23 @@ | |||
20222 | "dev": true | 20361 | "dev": true |
20223 | }, | 20362 | }, |
20224 | "update-notifier": { | 20363 | "update-notifier": { |
20225 | "version": "2.5.0", | 20364 | "version": "3.0.1", |
20226 | "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", | 20365 | "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.1.tgz", |
20227 | "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", | 20366 | "integrity": "sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ==", |
20228 | "dev": true, | 20367 | "dev": true, |
20229 | "requires": { | 20368 | "requires": { |
20230 | "boxen": "^1.2.1", | 20369 | "boxen": "^3.0.0", |
20231 | "chalk": "^2.0.1", | 20370 | "chalk": "^2.0.1", |
20232 | "configstore": "^3.0.0", | 20371 | "configstore": "^4.0.0", |
20372 | "has-yarn": "^2.1.0", | ||
20233 | "import-lazy": "^2.1.0", | 20373 | "import-lazy": "^2.1.0", |
20234 | "is-ci": "^1.0.10", | 20374 | "is-ci": "^2.0.0", |
20235 | "is-installed-globally": "^0.1.0", | 20375 | "is-installed-globally": "^0.1.0", |
20236 | "is-npm": "^1.0.0", | 20376 | "is-npm": "^3.0.0", |
20237 | "latest-version": "^3.0.0", | 20377 | "is-yarn-global": "^0.3.0", |
20378 | "latest-version": "^5.0.0", | ||
20238 | "semver-diff": "^2.0.0", | 20379 | "semver-diff": "^2.0.0", |
20239 | "xdg-basedir": "^3.0.0" | 20380 | "xdg-basedir": "^3.0.0" |
20240 | }, | ||
20241 | "dependencies": { | ||
20242 | "ci-info": { | ||
20243 | "version": "1.6.0", | ||
20244 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", | ||
20245 | "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", | ||
20246 | "dev": true | ||
20247 | }, | ||
20248 | "is-ci": { | ||
20249 | "version": "1.2.1", | ||
20250 | "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", | ||
20251 | "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", | ||
20252 | "dev": true, | ||
20253 | "requires": { | ||
20254 | "ci-info": "^1.5.0" | ||
20255 | } | ||
20256 | } | ||
20257 | } | 20381 | } |
20258 | }, | 20382 | }, |
20259 | "upper-case": { | 20383 | "upper-case": { |
@@ -20306,12 +20430,20 @@ | |||
20306 | } | 20430 | } |
20307 | }, | 20431 | }, |
20308 | "url-parse-lax": { | 20432 | "url-parse-lax": { |
20309 | "version": "1.0.0", | 20433 | "version": "3.0.0", |
20310 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", | 20434 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", |
20311 | "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", | 20435 | "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", |
20312 | "dev": true, | 20436 | "dev": true, |
20313 | "requires": { | 20437 | "requires": { |
20314 | "prepend-http": "^1.0.1" | 20438 | "prepend-http": "^2.0.0" |
20439 | }, | ||
20440 | "dependencies": { | ||
20441 | "prepend-http": { | ||
20442 | "version": "2.0.0", | ||
20443 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", | ||
20444 | "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", | ||
20445 | "dev": true | ||
20446 | } | ||
20315 | } | 20447 | } |
20316 | }, | 20448 | }, |
20317 | "url-template": { | 20449 | "url-template": { |
@@ -21340,18 +21472,6 @@ | |||
21340 | "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", | 21472 | "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", |
21341 | "dev": true | 21473 | "dev": true |
21342 | }, | 21474 | }, |
21343 | "xmlbuilder": { | ||
21344 | "version": "9.0.7", | ||
21345 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", | ||
21346 | "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", | ||
21347 | "dev": true | ||
21348 | }, | ||
21349 | "xmldom": { | ||
21350 | "version": "0.1.27", | ||
21351 | "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", | ||
21352 | "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=", | ||
21353 | "dev": true | ||
21354 | }, | ||
21355 | "xmlhttprequest-ssl": { | 21475 | "xmlhttprequest-ssl": { |
21356 | "version": "1.5.3", | 21476 | "version": "1.5.3", |
21357 | "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz", | 21477 | "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz", |
diff --git a/package.json b/package.json index 980242e5f..09874bc59 100644 --- a/package.json +++ b/package.json | |||
@@ -2,7 +2,7 @@ | |||
2 | "name": "franz", | 2 | "name": "franz", |
3 | "productName": "Franz", | 3 | "productName": "Franz", |
4 | "appId": "com.meetfranz.franz", | 4 | "appId": "com.meetfranz.franz", |
5 | "version": "5.3.1", | 5 | "version": "5.3.3", |
6 | "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.", | 6 | "description": "Messaging app for WhatsApp, Slack, Telegram, HipChat, Hangouts and many many more.", |
7 | "copyright": "adlk x franz - Stefan Malzner", | 7 | "copyright": "adlk x franz - Stefan Malzner", |
8 | "main": "index.js", | 8 | "main": "index.js", |
@@ -48,7 +48,7 @@ | |||
48 | "du": "^0.1.0", | 48 | "du": "^0.1.0", |
49 | "electron-dl": "1.12.0", | 49 | "electron-dl": "1.12.0", |
50 | "electron-fetch": "1.3.0", | 50 | "electron-fetch": "1.3.0", |
51 | "electron-hunspell": "0.1.1", | 51 | "electron-hunspell": "1.0.0", |
52 | "electron-is-dev": "1.0.1", | 52 | "electron-is-dev": "1.0.1", |
53 | "electron-react-titlebar": "0.8.1", | 53 | "electron-react-titlebar": "0.8.1", |
54 | "electron-updater": "4.0.6", | 54 | "electron-updater": "4.0.6", |
@@ -120,8 +120,8 @@ | |||
120 | "cross-env": "^5.0.5", | 120 | "cross-env": "^5.0.5", |
121 | "cz-conventional-changelog": "2.1.0", | 121 | "cz-conventional-changelog": "2.1.0", |
122 | "dotenv": "^4.0.0", | 122 | "dotenv": "^4.0.0", |
123 | "electron": "4.2.4", | 123 | "electron": "6.0.10", |
124 | "electron-builder": "20.40.2", | 124 | "electron-builder": "21.2.0", |
125 | "electron-rebuild": "1.8.4", | 125 | "electron-rebuild": "1.8.4", |
126 | "eslint": "5.10.0", | 126 | "eslint": "5.10.0", |
127 | "eslint-config-airbnb": "17.1.0", | 127 | "eslint-config-airbnb": "17.1.0", |
diff --git a/packages/theme/src/themes/dark/index.ts b/packages/theme/src/themes/dark/index.ts index e94f54c55..67d0cfb71 100644 --- a/packages/theme/src/themes/dark/index.ts +++ b/packages/theme/src/themes/dark/index.ts | |||
@@ -66,6 +66,7 @@ export const selectSearchColor = inputBackground; | |||
66 | 66 | ||
67 | // Modal | 67 | // Modal |
68 | export const colorModalOverlayBackground = color(legacyStyles.darkThemeBlack).alpha(0.8).rgb().string(); | 68 | export const colorModalOverlayBackground = color(legacyStyles.darkThemeBlack).alpha(0.8).rgb().string(); |
69 | export const colorModalBackground = colorContentBackground; | ||
69 | 70 | ||
70 | // Services | 71 | // Services |
71 | export const services = merge({}, defaultStyles.services, { | 72 | export const services = merge({}, defaultStyles.services, { |
diff --git a/packages/theme/src/themes/default/index.ts b/packages/theme/src/themes/default/index.ts index 4e042afce..057fde72f 100644 --- a/packages/theme/src/themes/default/index.ts +++ b/packages/theme/src/themes/default/index.ts | |||
@@ -145,6 +145,7 @@ export const badgeBorderRadius = 50; | |||
145 | 145 | ||
146 | // Modal | 146 | // Modal |
147 | export const colorModalOverlayBackground = color('#000').alpha(0.5).rgb().string(); | 147 | export const colorModalOverlayBackground = color('#000').alpha(0.5).rgb().string(); |
148 | export const colorModalBackground = colorContentBackground; | ||
148 | 149 | ||
149 | // Services | 150 | // Services |
150 | export const services = { | 151 | export const services = { |
diff --git a/src/api/server/LocalApi.js b/src/api/server/LocalApi.js index ab1604a27..383f38b16 100644 --- a/src/api/server/LocalApi.js +++ b/src/api/server/LocalApi.js | |||
@@ -45,13 +45,13 @@ export default class LocalApi { | |||
45 | const s = session.fromPartition(`persist:service-${serviceId}`); | 45 | const s = session.fromPartition(`persist:service-${serviceId}`); |
46 | 46 | ||
47 | debug('LocalApi::clearCache resolves', serviceId); | 47 | debug('LocalApi::clearCache resolves', serviceId); |
48 | return new Promise(resolve => s.clearCache(resolve)); | 48 | return s.clearCache(); |
49 | } | 49 | } |
50 | 50 | ||
51 | async clearAppCache() { | 51 | async clearAppCache() { |
52 | const s = session.defaultSession; | 52 | const s = session.defaultSession; |
53 | 53 | ||
54 | debug('LocalApi::clearCache clearAppCache'); | 54 | debug('LocalApi::clearCache clearAppCache'); |
55 | return new Promise(resolve => s.clearCache(resolve)); | 55 | return s.clearCache(); |
56 | } | 56 | } |
57 | } | 57 | } |
diff --git a/src/components/layout/Sidebar.js b/src/components/layout/Sidebar.js index bac57d4dc..918298011 100644 --- a/src/components/layout/Sidebar.js +++ b/src/components/layout/Sidebar.js | |||
@@ -112,7 +112,7 @@ export default @observer class Sidebar extends Component { | |||
112 | this.updateToolTip(); | 112 | this.updateToolTip(); |
113 | gaEvent(GA_CATEGORY_TODOS, 'toggleDrawer', 'sidebar'); | 113 | gaEvent(GA_CATEGORY_TODOS, 'toggleDrawer', 'sidebar'); |
114 | }} | 114 | }} |
115 | className="sidebar__button sidebar__button--workspaces" | 115 | className={`sidebar__button sidebar__button--todos ${todosStore.isTodosPanelVisible ? 'is-active' : ''}`} |
116 | data-tip={`${intl.formatMessage(todosToggleMessage)} (${ctrlKey}+T)`} | 116 | data-tip={`${intl.formatMessage(todosToggleMessage)} (${ctrlKey}+T)`} |
117 | > | 117 | > |
118 | <i className="mdi mdi-check-all" /> | 118 | <i className="mdi mdi-check-all" /> |
diff --git a/src/components/services/content/ServiceView.js b/src/components/services/content/ServiceView.js index f65f51346..e8df58a1e 100644 --- a/src/components/services/content/ServiceView.js +++ b/src/components/services/content/ServiceView.js | |||
@@ -12,6 +12,7 @@ import WebviewErrorHandler from './ErrorHandlers/WebviewErrorHandler'; | |||
12 | import ServiceDisabled from './ServiceDisabled'; | 12 | import ServiceDisabled from './ServiceDisabled'; |
13 | import ServiceRestricted from './ServiceRestricted'; | 13 | import ServiceRestricted from './ServiceRestricted'; |
14 | import ServiceWebview from './ServiceWebview'; | 14 | import ServiceWebview from './ServiceWebview'; |
15 | import WebControlsScreen from '../../../features/webControls/containers/WebControlsScreen'; | ||
15 | 16 | ||
16 | export default @observer class ServiceView extends Component { | 17 | export default @observer class ServiceView extends Component { |
17 | static propTypes = { | 18 | static propTypes = { |
@@ -137,11 +138,16 @@ export default @observer class ServiceView extends Component { | |||
137 | type={service.restrictionType} | 138 | type={service.restrictionType} |
138 | /> | 139 | /> |
139 | ) : ( | 140 | ) : ( |
140 | <ServiceWebview | 141 | <> |
141 | service={service} | 142 | {service.recipe.id === 'franz-custom-website' && ( |
142 | setWebviewReference={setWebviewReference} | 143 | <WebControlsScreen service={service} /> |
143 | detachService={detachService} | 144 | )} |
144 | /> | 145 | <ServiceWebview |
146 | service={service} | ||
147 | setWebviewReference={setWebviewReference} | ||
148 | detachService={detachService} | ||
149 | /> | ||
150 | </> | ||
145 | )} | 151 | )} |
146 | </> | 152 | </> |
147 | )} | 153 | )} |
diff --git a/src/components/services/content/ServiceWebview.js b/src/components/services/content/ServiceWebview.js index 7252c695f..b3198d36a 100644 --- a/src/components/services/content/ServiceWebview.js +++ b/src/components/services/content/ServiceWebview.js | |||
@@ -20,6 +20,13 @@ class ServiceWebview extends Component { | |||
20 | detachService({ service }); | 20 | detachService({ service }); |
21 | } | 21 | } |
22 | 22 | ||
23 | refocusWebview = () => { | ||
24 | const { webview } = this; | ||
25 | if (!webview) return; | ||
26 | webview.view.blur(); | ||
27 | webview.view.focus(); | ||
28 | }; | ||
29 | |||
23 | render() { | 30 | render() { |
24 | const { | 31 | const { |
25 | service, | 32 | service, |
@@ -28,7 +35,10 @@ class ServiceWebview extends Component { | |||
28 | 35 | ||
29 | return ( | 36 | return ( |
30 | <ElectronWebView | 37 | <ElectronWebView |
31 | ref={(webview) => { this.webview = webview; }} | 38 | ref={(webview) => { |
39 | this.webview = webview; | ||
40 | webview.view.addEventListener('did-stop-loading', this.refocusWebview); | ||
41 | }} | ||
32 | autosize | 42 | autosize |
33 | src={service.url} | 43 | src={service.url} |
34 | preload="./webview/recipe.js" | 44 | preload="./webview/recipe.js" |
@@ -41,6 +51,7 @@ class ServiceWebview extends Component { | |||
41 | }} | 51 | }} |
42 | onUpdateTargetUrl={this.updateTargetUrl} | 52 | onUpdateTargetUrl={this.updateTargetUrl} |
43 | useragent={service.userAgent} | 53 | useragent={service.userAgent} |
54 | disablewebsecurity={service.recipe.disablewebsecurity} | ||
44 | allowpopups | 55 | allowpopups |
45 | /> | 56 | /> |
46 | ); | 57 | ); |
diff --git a/src/components/services/content/Services.js b/src/components/services/content/Services.js index 73c27bfb6..b6291666b 100644 --- a/src/components/services/content/Services.js +++ b/src/components/services/content/Services.js | |||
@@ -56,16 +56,24 @@ export default @observer @injectSheet(styles) class Services extends Component { | |||
56 | 56 | ||
57 | state = { | 57 | state = { |
58 | showConfetti: true, | 58 | showConfetti: true, |
59 | } | 59 | }; |
60 | |||
61 | _confettiTimeout = null; | ||
60 | 62 | ||
61 | componentDidMount() { | 63 | componentDidMount() { |
62 | window.setTimeout(() => { | 64 | this._confettiTimeout = window.setTimeout(() => { |
63 | this.setState({ | 65 | this.setState({ |
64 | showConfetti: false, | 66 | showConfetti: false, |
65 | }); | 67 | }); |
66 | }, ms('8s')); | 68 | }, ms('8s')); |
67 | } | 69 | } |
68 | 70 | ||
71 | componentWillUnmount() { | ||
72 | if (this._confettiTimeout) { | ||
73 | clearTimeout(this._confettiTimeout); | ||
74 | } | ||
75 | } | ||
76 | |||
69 | render() { | 77 | render() { |
70 | const { | 78 | const { |
71 | services, | 79 | services, |
diff --git a/src/components/ui/Modal/styles.js b/src/components/ui/Modal/styles.js index 49b970c97..c2bebf9bb 100644 --- a/src/components/ui/Modal/styles.js +++ b/src/components/ui/Modal/styles.js | |||
@@ -13,7 +13,7 @@ export default theme => ({ | |||
13 | display: 'flex', | 13 | display: 'flex', |
14 | }, | 14 | }, |
15 | modal: { | 15 | modal: { |
16 | background: '#FFF', | 16 | background: theme.colorModalBackground, |
17 | maxWidth: '90%', | 17 | maxWidth: '90%', |
18 | height: 'auto', | 18 | height: 'auto', |
19 | margin: 'auto auto', | 19 | margin: 'auto auto', |
diff --git a/src/features/spellchecker/index.js b/src/features/spellchecker/index.js index a07f9f63a..fd8bc738a 100644 --- a/src/features/spellchecker/index.js +++ b/src/features/spellchecker/index.js | |||
@@ -16,7 +16,7 @@ export default function init(stores) { | |||
16 | 16 | ||
17 | config.isIncludedInCurrentPlan = isSpellcheckerIncludedInCurrentPlan !== undefined ? isSpellcheckerIncludedInCurrentPlan : DEFAULT_FEATURES_CONFIG.isSpellcheckerIncludedInCurrentPlan; | 17 | config.isIncludedInCurrentPlan = isSpellcheckerIncludedInCurrentPlan !== undefined ? isSpellcheckerIncludedInCurrentPlan : DEFAULT_FEATURES_CONFIG.isSpellcheckerIncludedInCurrentPlan; |
18 | 18 | ||
19 | if (!stores.user.data.isPremium && config.isIncludedInCurrentPlan && stores.settings.app.enableSpellchecking) { | 19 | if (!stores.user.data.isPremium && !config.isIncludedInCurrentPlan && stores.settings.app.enableSpellchecking) { |
20 | debug('Override settings.spellcheckerEnabled flag to false'); | 20 | debug('Override settings.spellcheckerEnabled flag to false'); |
21 | 21 | ||
22 | Object.assign(stores.settings.app, { | 22 | Object.assign(stores.settings.app, { |
diff --git a/src/features/todos/components/TodosWebview.js b/src/features/todos/components/TodosWebview.js index d052da6f2..f24c0b044 100644 --- a/src/features/todos/components/TodosWebview.js +++ b/src/features/todos/components/TodosWebview.js | |||
@@ -35,9 +35,6 @@ const styles = theme => ({ | |||
35 | 35 | ||
36 | transform: ({ isVisible, width }) => `translateX(${isVisible ? 0 : width}px)`, | 36 | transform: ({ isVisible, width }) => `translateX(${isVisible ? 0 : width}px)`, |
37 | 37 | ||
38 | '&:hover $closeTodosButton': { | ||
39 | opacity: 1, | ||
40 | }, | ||
41 | '& webview': { | 38 | '& webview': { |
42 | height: '100%', | 39 | height: '100%', |
43 | }, | 40 | }, |
diff --git a/src/features/todos/store.js b/src/features/todos/store.js index abf176604..4480b2545 100644 --- a/src/features/todos/store.js +++ b/src/features/todos/store.js | |||
@@ -162,6 +162,10 @@ export default class TodoStore extends FeatureStore { | |||
162 | theme: isDarkThemeActive ? ThemeType.dark : ThemeType.default, | 162 | theme: isDarkThemeActive ? ThemeType.dark : ThemeType.default, |
163 | }, | 163 | }, |
164 | }); | 164 | }); |
165 | |||
166 | this.webview.addEventListener('new-window', ({ url }) => { | ||
167 | this.actions.app.openExternalUrl({ url }); | ||
168 | }); | ||
165 | }; | 169 | }; |
166 | 170 | ||
167 | _goToService = ({ url, serviceId }) => { | 171 | _goToService = ({ url, serviceId }) => { |
diff --git a/src/features/webControls/components/WebControls.js b/src/features/webControls/components/WebControls.js new file mode 100644 index 000000000..a39fcfe0e --- /dev/null +++ b/src/features/webControls/components/WebControls.js | |||
@@ -0,0 +1,239 @@ | |||
1 | import React, { Component } from 'react'; | ||
2 | import PropTypes from 'prop-types'; | ||
3 | import { observer } from 'mobx-react'; | ||
4 | import injectSheet from 'react-jss'; | ||
5 | import { Icon } from '@meetfranz/ui'; | ||
6 | import { defineMessages, intlShape } from 'react-intl'; | ||
7 | |||
8 | import { | ||
9 | mdiReload, mdiArrowRight, mdiArrowLeft, mdiHomeOutline, mdiEarth, | ||
10 | } from '@mdi/js'; | ||
11 | |||
12 | const messages = defineMessages({ | ||
13 | goHome: { | ||
14 | id: 'webControls.goHome', | ||
15 | defaultMessage: '!!!Home', | ||
16 | }, | ||
17 | openInBrowser: { | ||
18 | id: 'webControls.openInBrowser', | ||
19 | defaultMessage: '!!!Open in Browser', | ||
20 | }, | ||
21 | back: { | ||
22 | id: 'webControls.back', | ||
23 | defaultMessage: '!!!Back', | ||
24 | }, | ||
25 | forward: { | ||
26 | id: 'webControls.forward', | ||
27 | defaultMessage: '!!!Forward', | ||
28 | }, | ||
29 | reload: { | ||
30 | id: 'webControls.reload', | ||
31 | defaultMessage: '!!!Reload', | ||
32 | }, | ||
33 | }); | ||
34 | |||
35 | const styles = theme => ({ | ||
36 | root: { | ||
37 | background: theme.colorBackground, | ||
38 | position: 'relative', | ||
39 | borderLeft: [1, 'solid', theme.todos.todosLayer.borderLeftColor], | ||
40 | zIndex: 300, | ||
41 | height: 50, | ||
42 | display: 'flex', | ||
43 | flexDirection: 'row', | ||
44 | alignItems: 'center', | ||
45 | padding: [0, 10], | ||
46 | |||
47 | '& + div': { | ||
48 | height: 'calc(100% - 50px)', | ||
49 | }, | ||
50 | }, | ||
51 | button: { | ||
52 | width: 30, | ||
53 | height: 50, | ||
54 | transition: 'opacity 0.25s', | ||
55 | |||
56 | '&:hover': { | ||
57 | opacity: 0.8, | ||
58 | }, | ||
59 | |||
60 | '&:disabled': { | ||
61 | opacity: 0.5, | ||
62 | }, | ||
63 | }, | ||
64 | icon: { | ||
65 | width: '20px !important', | ||
66 | height: 20, | ||
67 | marginTop: 5, | ||
68 | }, | ||
69 | input: { | ||
70 | marginBottom: 0, | ||
71 | height: 'auto', | ||
72 | margin: [0, 10], | ||
73 | flex: 1, | ||
74 | border: 0, | ||
75 | padding: [4, 10], | ||
76 | borderRadius: theme.borderRadius, | ||
77 | background: theme.inputBackground, | ||
78 | color: theme.inputColor, | ||
79 | }, | ||
80 | inputButton: { | ||
81 | color: theme.colorText, | ||
82 | }, | ||
83 | }); | ||
84 | |||
85 | @injectSheet(styles) @observer | ||
86 | class WebControls extends Component { | ||
87 | static propTypes = { | ||
88 | classes: PropTypes.object.isRequired, | ||
89 | goHome: PropTypes.func.isRequired, | ||
90 | canGoBack: PropTypes.bool.isRequired, | ||
91 | goBack: PropTypes.func.isRequired, | ||
92 | canGoForward: PropTypes.bool.isRequired, | ||
93 | goForward: PropTypes.func.isRequired, | ||
94 | reload: PropTypes.func.isRequired, | ||
95 | openInBrowser: PropTypes.func.isRequired, | ||
96 | url: PropTypes.string.isRequired, | ||
97 | navigate: PropTypes.func.isRequired, | ||
98 | } | ||
99 | |||
100 | static contextTypes = { | ||
101 | intl: intlShape, | ||
102 | }; | ||
103 | |||
104 | static getDerivedStateFromProps(props, state) { | ||
105 | const { url } = props; | ||
106 | const { editUrl } = state; | ||
107 | |||
108 | if (!editUrl) { | ||
109 | return { | ||
110 | inputUrl: url, | ||
111 | editUrl: state.editUrl, | ||
112 | }; | ||
113 | } | ||
114 | } | ||
115 | |||
116 | inputRef = React.createRef(); | ||
117 | |||
118 | state = { | ||
119 | inputUrl: '', | ||
120 | editUrl: false, | ||
121 | } | ||
122 | |||
123 | render() { | ||
124 | const { | ||
125 | classes, | ||
126 | goHome, | ||
127 | canGoBack, | ||
128 | goBack, | ||
129 | canGoForward, | ||
130 | goForward, | ||
131 | reload, | ||
132 | openInBrowser, | ||
133 | url, | ||
134 | navigate, | ||
135 | } = this.props; | ||
136 | |||
137 | const { | ||
138 | inputUrl, | ||
139 | editUrl, | ||
140 | } = this.state; | ||
141 | |||
142 | const { intl } = this.context; | ||
143 | |||
144 | return ( | ||
145 | <div className={classes.root}> | ||
146 | <button | ||
147 | onClick={goHome} | ||
148 | type="button" | ||
149 | className={classes.button} | ||
150 | data-tip={intl.formatMessage(messages.goHome)} | ||
151 | > | ||
152 | <Icon | ||
153 | icon={mdiHomeOutline} | ||
154 | className={classes.icon} | ||
155 | /> | ||
156 | </button> | ||
157 | <button | ||
158 | onClick={goBack} | ||
159 | type="button" | ||
160 | className={classes.button} | ||
161 | disabled={!canGoBack} | ||
162 | data-tip={intl.formatMessage(messages.back)} | ||
163 | > | ||
164 | <Icon | ||
165 | icon={mdiArrowLeft} | ||
166 | className={classes.icon} | ||
167 | /> | ||
168 | </button> | ||
169 | <button | ||
170 | onClick={goForward} | ||
171 | type="button" | ||
172 | className={classes.button} | ||
173 | disabled={!canGoForward} | ||
174 | data-tip={intl.formatMessage(messages.forward)} | ||
175 | > | ||
176 | <Icon | ||
177 | icon={mdiArrowRight} | ||
178 | className={classes.icon} | ||
179 | /> | ||
180 | </button> | ||
181 | <button | ||
182 | onClick={reload} | ||
183 | type="button" | ||
184 | className={classes.button} | ||
185 | data-tip={intl.formatMessage(messages.reload)} | ||
186 | > | ||
187 | <Icon | ||
188 | icon={mdiReload} | ||
189 | className={classes.icon} | ||
190 | /> | ||
191 | </button> | ||
192 | <input | ||
193 | value={editUrl ? inputUrl : url} | ||
194 | className={classes.input} | ||
195 | onChange={event => this.setState({ | ||
196 | inputUrl: event.target.value, | ||
197 | })} | ||
198 | onFocus={(event) => { | ||
199 | event.target.select(); | ||
200 | this.setState({ | ||
201 | editUrl: true, | ||
202 | }); | ||
203 | }} | ||
204 | onKeyDown={(event) => { | ||
205 | if (event.key === 'Enter') { | ||
206 | this.setState({ | ||
207 | editUrl: false, | ||
208 | }); | ||
209 | navigate(inputUrl); | ||
210 | this.inputRef.current.blur(); | ||
211 | } else if (event.key === 'Escape') { | ||
212 | this.setState({ | ||
213 | editUrl: false, | ||
214 | inputUrl: url, | ||
215 | }); | ||
216 | event.target.blur(); | ||
217 | } | ||
218 | }} | ||
219 | ref={this.inputRef} | ||
220 | /> | ||
221 | <button | ||
222 | onClick={openInBrowser} | ||
223 | type="button" | ||
224 | className={classes.button} | ||
225 | data-tip={intl.formatMessage(messages.openInBrowser)} | ||
226 | data-place="left" | ||
227 | > | ||
228 | <Icon | ||
229 | icon={mdiEarth} | ||
230 | className={classes.icon} | ||
231 | /> | ||
232 | </button> | ||
233 | {/* <ReactTooltip place="bottom" type="dark" effect="solid" /> */} | ||
234 | </div> | ||
235 | ); | ||
236 | } | ||
237 | } | ||
238 | |||
239 | export default WebControls; | ||
diff --git a/src/features/webControls/containers/WebControlsScreen.js b/src/features/webControls/containers/WebControlsScreen.js new file mode 100644 index 000000000..cada01a6f --- /dev/null +++ b/src/features/webControls/containers/WebControlsScreen.js | |||
@@ -0,0 +1,139 @@ | |||
1 | import React, { Component } from 'react'; | ||
2 | import { observer, inject } from 'mobx-react'; | ||
3 | import PropTypes from 'prop-types'; | ||
4 | |||
5 | import { autorun, observable } from 'mobx'; | ||
6 | import WebControls from '../components/WebControls'; | ||
7 | import ServicesStore from '../../../stores/ServicesStore'; | ||
8 | import Service from '../../../models/Service'; | ||
9 | |||
10 | const URL_EVENTS = [ | ||
11 | 'load-commit', | ||
12 | 'will-navigate', | ||
13 | 'did-navigate', | ||
14 | 'did-navigate-in-page', | ||
15 | ]; | ||
16 | |||
17 | @inject('stores', 'actions') @observer | ||
18 | class WebControlsScreen extends Component { | ||
19 | @observable url = ''; | ||
20 | |||
21 | @observable canGoBack = false; | ||
22 | |||
23 | @observable canGoForward = false; | ||
24 | |||
25 | webview = null; | ||
26 | |||
27 | autorunDisposer = null; | ||
28 | |||
29 | componentDidMount() { | ||
30 | const { service } = this.props; | ||
31 | |||
32 | this.autorunDisposer = autorun(() => { | ||
33 | if (service.isAttached) { | ||
34 | this.webview = service.webview; | ||
35 | |||
36 | URL_EVENTS.forEach((event) => { | ||
37 | this.webview.addEventListener(event, (e) => { | ||
38 | if (!e.isMainFrame) return; | ||
39 | |||
40 | this.url = e.url; | ||
41 | this.canGoBack = this.webview.canGoBack(); | ||
42 | this.canGoForward = this.webview.canGoForward(); | ||
43 | }); | ||
44 | }); | ||
45 | } | ||
46 | }); | ||
47 | } | ||
48 | |||
49 | componentWillUnmount() { | ||
50 | this.autorunDisposer(); | ||
51 | } | ||
52 | |||
53 | goHome() { | ||
54 | const { reloadActive } = this.props.actions.service; | ||
55 | |||
56 | if (!this.webview) return; | ||
57 | |||
58 | reloadActive(); | ||
59 | } | ||
60 | |||
61 | reload() { | ||
62 | if (!this.webview) return; | ||
63 | |||
64 | this.webview.reload(); | ||
65 | } | ||
66 | |||
67 | goBack() { | ||
68 | if (!this.webview) return; | ||
69 | |||
70 | this.webview.goBack(); | ||
71 | } | ||
72 | |||
73 | goForward() { | ||
74 | if (!this.webview) return; | ||
75 | |||
76 | this.webview.goForward(); | ||
77 | } | ||
78 | |||
79 | navigate(newUrl) { | ||
80 | if (!this.webview) return; | ||
81 | |||
82 | let url = newUrl; | ||
83 | |||
84 | try { | ||
85 | url = new URL(url).toString(); | ||
86 | } catch (err) { | ||
87 | // eslint-disable-next-line no-useless-escape | ||
88 | if (url.match(/^((?!-))(xn--)?[a-z0-9][a-z0-9-_]{0,61}[a-z0-9]{0,1}\.(xn--)?([a-z0-9\-]{1,61}|[a-z0-9-]{1,30}\.[a-z]{2,})$/)) { | ||
89 | url = `http://${url}`; | ||
90 | } else { | ||
91 | url = `https://www.google.com/search?query=${url}`; | ||
92 | } | ||
93 | } | ||
94 | |||
95 | this.webview.loadURL(url); | ||
96 | this.url = url; | ||
97 | } | ||
98 | |||
99 | openInBrowser() { | ||
100 | const { openExternalUrl } = this.props.actions.app; | ||
101 | |||
102 | if (!this.webview) return; | ||
103 | |||
104 | openExternalUrl({ url: this.url }); | ||
105 | } | ||
106 | |||
107 | render() { | ||
108 | return ( | ||
109 | <WebControls | ||
110 | goHome={() => this.goHome()} | ||
111 | reload={() => this.reload()} | ||
112 | openInBrowser={() => this.openInBrowser()} | ||
113 | canGoBack={this.canGoBack} | ||
114 | goBack={() => this.goBack()} | ||
115 | canGoForward={this.canGoForward} | ||
116 | goForward={() => this.goForward()} | ||
117 | navigate={url => this.navigate(url)} | ||
118 | url={this.url} | ||
119 | /> | ||
120 | ); | ||
121 | } | ||
122 | } | ||
123 | |||
124 | export default WebControlsScreen; | ||
125 | |||
126 | WebControlsScreen.wrappedComponent.propTypes = { | ||
127 | service: PropTypes.instanceOf(Service).isRequired, | ||
128 | stores: PropTypes.shape({ | ||
129 | services: PropTypes.instanceOf(ServicesStore).isRequired, | ||
130 | }).isRequired, | ||
131 | actions: PropTypes.shape({ | ||
132 | app: PropTypes.shape({ | ||
133 | openExternalUrl: PropTypes.func.isRequired, | ||
134 | }).isRequired, | ||
135 | service: PropTypes.shape({ | ||
136 | reloadActive: PropTypes.func.isRequired, | ||
137 | }).isRequired, | ||
138 | }).isRequired, | ||
139 | }; | ||
diff --git a/src/features/workspaces/components/WorkspaceDrawer.js b/src/features/workspaces/components/WorkspaceDrawer.js index e7bc0b157..ee6f8416c 100644 --- a/src/features/workspaces/components/WorkspaceDrawer.js +++ b/src/features/workspaces/components/WorkspaceDrawer.js | |||
@@ -204,8 +204,9 @@ class WorkspaceDrawer extends Component { | |||
204 | }} | 204 | }} |
205 | services={getServicesForWorkspace(null)} | 205 | services={getServicesForWorkspace(null)} |
206 | isActive={actualWorkspace == null} | 206 | isActive={actualWorkspace == null} |
207 | shortcutIndex={0} | ||
207 | /> | 208 | /> |
208 | {workspaces.map(workspace => ( | 209 | {workspaces.map((workspace, index) => ( |
209 | <WorkspaceDrawerItem | 210 | <WorkspaceDrawerItem |
210 | key={workspace.id} | 211 | key={workspace.id} |
211 | name={workspace.name} | 212 | name={workspace.name} |
@@ -218,6 +219,7 @@ class WorkspaceDrawer extends Component { | |||
218 | }} | 219 | }} |
219 | onContextMenuEditClick={() => workspaceActions.edit({ workspace })} | 220 | onContextMenuEditClick={() => workspaceActions.edit({ workspace })} |
220 | services={getServicesForWorkspace(workspace)} | 221 | services={getServicesForWorkspace(workspace)} |
222 | shortcutIndex={index + 1} | ||
221 | /> | 223 | /> |
222 | ))} | 224 | ))} |
223 | <div | 225 | <div |
diff --git a/src/features/workspaces/components/WorkspaceDrawerItem.js b/src/features/workspaces/components/WorkspaceDrawerItem.js index 59a2144d3..18f424d8a 100644 --- a/src/features/workspaces/components/WorkspaceDrawerItem.js +++ b/src/features/workspaces/components/WorkspaceDrawerItem.js | |||
@@ -5,6 +5,7 @@ import { observer } from 'mobx-react'; | |||
5 | import injectSheet from 'react-jss'; | 5 | import injectSheet from 'react-jss'; |
6 | import classnames from 'classnames'; | 6 | import classnames from 'classnames'; |
7 | import { defineMessages, intlShape } from 'react-intl'; | 7 | import { defineMessages, intlShape } from 'react-intl'; |
8 | import { ctrlKey } from '../../../environment'; | ||
8 | 9 | ||
9 | const { Menu } = remote; | 10 | const { Menu } = remote; |
10 | 11 | ||
@@ -69,6 +70,7 @@ class WorkspaceDrawerItem extends Component { | |||
69 | onClick: PropTypes.func.isRequired, | 70 | onClick: PropTypes.func.isRequired, |
70 | services: PropTypes.arrayOf(PropTypes.string).isRequired, | 71 | services: PropTypes.arrayOf(PropTypes.string).isRequired, |
71 | onContextMenuEditClick: PropTypes.func, | 72 | onContextMenuEditClick: PropTypes.func, |
73 | shortcutIndex: PropTypes.number.isRequired, | ||
72 | }; | 74 | }; |
73 | 75 | ||
74 | static defaultProps = { | 76 | static defaultProps = { |
@@ -87,6 +89,7 @@ class WorkspaceDrawerItem extends Component { | |||
87 | onClick, | 89 | onClick, |
88 | onContextMenuEditClick, | 90 | onContextMenuEditClick, |
89 | services, | 91 | services, |
92 | shortcutIndex, | ||
90 | } = this.props; | 93 | } = this.props; |
91 | const { intl } = this.context; | 94 | const { intl } = this.context; |
92 | 95 | ||
@@ -112,6 +115,7 @@ class WorkspaceDrawerItem extends Component { | |||
112 | onContextMenu={() => ( | 115 | onContextMenu={() => ( |
113 | onContextMenuEditClick && contextMenu.popup(remote.getCurrentWindow()) | 116 | onContextMenuEditClick && contextMenu.popup(remote.getCurrentWindow()) |
114 | )} | 117 | )} |
118 | data-tip={`${shortcutIndex <= 9 ? `(${ctrlKey}+Alt+${shortcutIndex})` : ''}`} | ||
115 | > | 119 | > |
116 | <span | 120 | <span |
117 | className={classnames([ | 121 | className={classnames([ |
diff --git a/src/i18n/locales/defaultMessages.json b/src/i18n/locales/defaultMessages.json index 0dfe2055a..e12b6b49b 100644 --- a/src/i18n/locales/defaultMessages.json +++ b/src/i18n/locales/defaultMessages.json | |||
@@ -4023,6 +4023,76 @@ | |||
4023 | { | 4023 | { |
4024 | "descriptors": [ | 4024 | "descriptors": [ |
4025 | { | 4025 | { |
4026 | "defaultMessage": "!!!Home", | ||
4027 | "end": { | ||
4028 | "column": 3, | ||
4029 | "line": 16 | ||
4030 | }, | ||
4031 | "file": "src/features/webControls/components/WebControls.js", | ||
4032 | "id": "webControls.goHome", | ||
4033 | "start": { | ||
4034 | "column": 10, | ||
4035 | "line": 13 | ||
4036 | } | ||
4037 | }, | ||
4038 | { | ||
4039 | "defaultMessage": "!!!Open in Browser", | ||
4040 | "end": { | ||
4041 | "column": 3, | ||
4042 | "line": 20 | ||
4043 | }, | ||
4044 | "file": "src/features/webControls/components/WebControls.js", | ||
4045 | "id": "webControls.openInBrowser", | ||
4046 | "start": { | ||
4047 | "column": 17, | ||
4048 | "line": 17 | ||
4049 | } | ||
4050 | }, | ||
4051 | { | ||
4052 | "defaultMessage": "!!!Back", | ||
4053 | "end": { | ||
4054 | "column": 3, | ||
4055 | "line": 24 | ||
4056 | }, | ||
4057 | "file": "src/features/webControls/components/WebControls.js", | ||
4058 | "id": "webControls.back", | ||
4059 | "start": { | ||
4060 | "column": 8, | ||
4061 | "line": 21 | ||
4062 | } | ||
4063 | }, | ||
4064 | { | ||
4065 | "defaultMessage": "!!!Forward", | ||
4066 | "end": { | ||
4067 | "column": 3, | ||
4068 | "line": 28 | ||
4069 | }, | ||
4070 | "file": "src/features/webControls/components/WebControls.js", | ||
4071 | "id": "webControls.forward", | ||
4072 | "start": { | ||
4073 | "column": 11, | ||
4074 | "line": 25 | ||
4075 | } | ||
4076 | }, | ||
4077 | { | ||
4078 | "defaultMessage": "!!!Reload", | ||
4079 | "end": { | ||
4080 | "column": 3, | ||
4081 | "line": 32 | ||
4082 | }, | ||
4083 | "file": "src/features/webControls/components/WebControls.js", | ||
4084 | "id": "webControls.reload", | ||
4085 | "start": { | ||
4086 | "column": 10, | ||
4087 | "line": 29 | ||
4088 | } | ||
4089 | } | ||
4090 | ], | ||
4091 | "path": "src/features/webControls/components/WebControls.json" | ||
4092 | }, | ||
4093 | { | ||
4094 | "descriptors": [ | ||
4095 | { | ||
4026 | "defaultMessage": "!!!Create workspace", | 4096 | "defaultMessage": "!!!Create workspace", |
4027 | "end": { | 4097 | "end": { |
4028 | "column": 3, | 4098 | "column": 3, |
@@ -4262,26 +4332,26 @@ | |||
4262 | "defaultMessage": "!!!No services added yet", | 4332 | "defaultMessage": "!!!No services added yet", |
4263 | "end": { | 4333 | "end": { |
4264 | "column": 3, | 4334 | "column": 3, |
4265 | "line": 15 | 4335 | "line": 16 |
4266 | }, | 4336 | }, |
4267 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", | 4337 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", |
4268 | "id": "workspaceDrawer.item.noServicesAddedYet", | 4338 | "id": "workspaceDrawer.item.noServicesAddedYet", |
4269 | "start": { | 4339 | "start": { |
4270 | "column": 22, | 4340 | "column": 22, |
4271 | "line": 12 | 4341 | "line": 13 |
4272 | } | 4342 | } |
4273 | }, | 4343 | }, |
4274 | { | 4344 | { |
4275 | "defaultMessage": "!!!edit", | 4345 | "defaultMessage": "!!!edit", |
4276 | "end": { | 4346 | "end": { |
4277 | "column": 3, | 4347 | "column": 3, |
4278 | "line": 19 | 4348 | "line": 20 |
4279 | }, | 4349 | }, |
4280 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", | 4350 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", |
4281 | "id": "workspaceDrawer.item.contextMenuEdit", | 4351 | "id": "workspaceDrawer.item.contextMenuEdit", |
4282 | "start": { | 4352 | "start": { |
4283 | "column": 19, | 4353 | "column": 19, |
4284 | "line": 16 | 4354 | "line": 17 |
4285 | } | 4355 | } |
4286 | } | 4356 | } |
4287 | ], | 4357 | ], |
diff --git a/src/i18n/locales/en-US.json b/src/i18n/locales/en-US.json index dcb9d92a2..c2c6a9863 100644 --- a/src/i18n/locales/en-US.json +++ b/src/i18n/locales/en-US.json | |||
@@ -370,6 +370,11 @@ | |||
370 | "validation.oneRequired": "At least one is required", | 370 | "validation.oneRequired": "At least one is required", |
371 | "validation.required": "{field} is required", | 371 | "validation.required": "{field} is required", |
372 | "validation.url": "{field} is not a valid URL", | 372 | "validation.url": "{field} is not a valid URL", |
373 | "webControls.back": "Back", | ||
374 | "webControls.forward": "Forward", | ||
375 | "webControls.goHome": "Home", | ||
376 | "webControls.openInBrowser": "Open in Browser", | ||
377 | "webControls.reload": "Reload", | ||
373 | "welcome.loginButton": "Login to your account", | 378 | "welcome.loginButton": "Login to your account", |
374 | "welcome.signupButton": "Create a free account", | 379 | "welcome.signupButton": "Create a free account", |
375 | "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace", | 380 | "workspaceDrawer.addNewWorkspaceLabel": "Add new workspace", |
diff --git a/src/i18n/messages/src/features/webControls/components/WebControls.json b/src/i18n/messages/src/features/webControls/components/WebControls.json new file mode 100644 index 000000000..969437e98 --- /dev/null +++ b/src/i18n/messages/src/features/webControls/components/WebControls.json | |||
@@ -0,0 +1,67 @@ | |||
1 | [ | ||
2 | { | ||
3 | "id": "webControls.goHome", | ||
4 | "defaultMessage": "!!!Home", | ||
5 | "file": "src/features/webControls/components/WebControls.js", | ||
6 | "start": { | ||
7 | "line": 13, | ||
8 | "column": 10 | ||
9 | }, | ||
10 | "end": { | ||
11 | "line": 16, | ||
12 | "column": 3 | ||
13 | } | ||
14 | }, | ||
15 | { | ||
16 | "id": "webControls.openInBrowser", | ||
17 | "defaultMessage": "!!!Open in Browser", | ||
18 | "file": "src/features/webControls/components/WebControls.js", | ||
19 | "start": { | ||
20 | "line": 17, | ||
21 | "column": 17 | ||
22 | }, | ||
23 | "end": { | ||
24 | "line": 20, | ||
25 | "column": 3 | ||
26 | } | ||
27 | }, | ||
28 | { | ||
29 | "id": "webControls.back", | ||
30 | "defaultMessage": "!!!Back", | ||
31 | "file": "src/features/webControls/components/WebControls.js", | ||
32 | "start": { | ||
33 | "line": 21, | ||
34 | "column": 8 | ||
35 | }, | ||
36 | "end": { | ||
37 | "line": 24, | ||
38 | "column": 3 | ||
39 | } | ||
40 | }, | ||
41 | { | ||
42 | "id": "webControls.forward", | ||
43 | "defaultMessage": "!!!Forward", | ||
44 | "file": "src/features/webControls/components/WebControls.js", | ||
45 | "start": { | ||
46 | "line": 25, | ||
47 | "column": 11 | ||
48 | }, | ||
49 | "end": { | ||
50 | "line": 28, | ||
51 | "column": 3 | ||
52 | } | ||
53 | }, | ||
54 | { | ||
55 | "id": "webControls.reload", | ||
56 | "defaultMessage": "!!!Reload", | ||
57 | "file": "src/features/webControls/components/WebControls.js", | ||
58 | "start": { | ||
59 | "line": 29, | ||
60 | "column": 10 | ||
61 | }, | ||
62 | "end": { | ||
63 | "line": 32, | ||
64 | "column": 3 | ||
65 | } | ||
66 | } | ||
67 | ] \ No newline at end of file | ||
diff --git a/src/i18n/messages/src/features/workspaces/components/WorkspaceDrawerItem.json b/src/i18n/messages/src/features/workspaces/components/WorkspaceDrawerItem.json index 4ff190606..1b6664787 100644 --- a/src/i18n/messages/src/features/workspaces/components/WorkspaceDrawerItem.json +++ b/src/i18n/messages/src/features/workspaces/components/WorkspaceDrawerItem.json | |||
@@ -4,11 +4,11 @@ | |||
4 | "defaultMessage": "!!!No services added yet", | 4 | "defaultMessage": "!!!No services added yet", |
5 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", | 5 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", |
6 | "start": { | 6 | "start": { |
7 | "line": 12, | 7 | "line": 13, |
8 | "column": 22 | 8 | "column": 22 |
9 | }, | 9 | }, |
10 | "end": { | 10 | "end": { |
11 | "line": 15, | 11 | "line": 16, |
12 | "column": 3 | 12 | "column": 3 |
13 | } | 13 | } |
14 | }, | 14 | }, |
@@ -17,11 +17,11 @@ | |||
17 | "defaultMessage": "!!!edit", | 17 | "defaultMessage": "!!!edit", |
18 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", | 18 | "file": "src/features/workspaces/components/WorkspaceDrawerItem.js", |
19 | "start": { | 19 | "start": { |
20 | "line": 16, | 20 | "line": 17, |
21 | "column": 19 | 21 | "column": 19 |
22 | }, | 22 | }, |
23 | "end": { | 23 | "end": { |
24 | "line": 19, | 24 | "line": 20, |
25 | "column": 3 | 25 | "column": 3 |
26 | } | 26 | } |
27 | } | 27 | } |
diff --git a/src/index.js b/src/index.js index d9d51fd5b..7de7a5e1c 100644 --- a/src/index.js +++ b/src/index.js | |||
@@ -331,22 +331,7 @@ app.on('login', (event, webContents, request, authInfo, callback) => { | |||
331 | debug('browser login event', authInfo); | 331 | debug('browser login event', authInfo); |
332 | event.preventDefault(); | 332 | event.preventDefault(); |
333 | 333 | ||
334 | if (authInfo.isProxy && authInfo.scheme === 'basic') { | 334 | if (!authInfo.isProxy && authInfo.scheme === 'basic') { |
335 | debug('Sending service echo ping'); | ||
336 | webContents.send('get-service-id'); | ||
337 | |||
338 | ipcMain.once('service-id', (e, id) => { | ||
339 | debug('Received service id', id); | ||
340 | |||
341 | const ps = proxySettings.get(id); | ||
342 | if (ps) { | ||
343 | debug('Sending proxy auth callback for service', id); | ||
344 | callback(ps.user, ps.password); | ||
345 | } else { | ||
346 | debug('No proxy auth config found for', id); | ||
347 | } | ||
348 | }); | ||
349 | } else if (authInfo.scheme === 'basic') { | ||
350 | debug('basic auth handler', authInfo); | 335 | debug('basic auth handler', authInfo); |
351 | basicAuthHandler(mainWindow, authInfo); | 336 | basicAuthHandler(mainWindow, authInfo); |
352 | } | 337 | } |
diff --git a/src/lib/Menu.js b/src/lib/Menu.js index 4aa2edaba..32bd1644b 100644 --- a/src/lib/Menu.js +++ b/src/lib/Menu.js | |||
@@ -302,6 +302,9 @@ const _templateFactory = intl => [ | |||
302 | label: intl.formatMessage(menuItems.pasteAndMatchStyle), | 302 | label: intl.formatMessage(menuItems.pasteAndMatchStyle), |
303 | accelerator: 'Cmd+Shift+V', | 303 | accelerator: 'Cmd+Shift+V', |
304 | selector: 'pasteAndMatchStyle:', | 304 | selector: 'pasteAndMatchStyle:', |
305 | click() { | ||
306 | getActiveWebview().pasteAndMatchStyle(); | ||
307 | }, | ||
305 | }, | 308 | }, |
306 | { | 309 | { |
307 | label: intl.formatMessage(menuItems.delete), | 310 | label: intl.formatMessage(menuItems.delete), |
@@ -548,6 +551,11 @@ const _titleBarTemplateFactory = intl => [ | |||
548 | visible: workspaceStore.isFeatureEnabled, | 551 | visible: workspaceStore.isFeatureEnabled, |
549 | }, | 552 | }, |
550 | { | 553 | { |
554 | label: intl.formatMessage(menuItems.todos), | ||
555 | submenu: [], | ||
556 | visible: todosStore.isFeatureEnabled, | ||
557 | }, | ||
558 | { | ||
551 | label: intl.formatMessage(menuItems.window), | 559 | label: intl.formatMessage(menuItems.window), |
552 | submenu: [ | 560 | submenu: [ |
553 | { | 561 | { |
@@ -862,6 +870,10 @@ export default class FranzMenu { | |||
862 | checked: service.isActive, | 870 | checked: service.isActive, |
863 | click: () => { | 871 | click: () => { |
864 | this.actions.service.setActive({ serviceId: service.id }); | 872 | this.actions.service.setActive({ serviceId: service.id }); |
873 | |||
874 | if (isMac && i === 0) { | ||
875 | app.mainWindow.restore(); | ||
876 | } | ||
865 | }, | 877 | }, |
866 | }))); | 878 | }))); |
867 | 879 | ||
@@ -943,12 +955,12 @@ export default class FranzMenu { | |||
943 | gaEvent(GA_CATEGORY_TODOS, 'toggleDrawer', 'menu'); | 955 | gaEvent(GA_CATEGORY_TODOS, 'toggleDrawer', 'menu'); |
944 | }, | 956 | }, |
945 | enabled: this.stores.user.isLoggedIn && isFeatureEnabledByUser, | 957 | enabled: this.stores.user.isLoggedIn && isFeatureEnabledByUser, |
946 | }, { | ||
947 | type: 'separator', | ||
948 | }); | 958 | }); |
949 | 959 | ||
950 | if (!isFeatureEnabledByUser) { | 960 | if (!isFeatureEnabledByUser) { |
951 | menu.push({ | 961 | menu.push({ |
962 | type: 'separator', | ||
963 | }, { | ||
952 | label: intl.formatMessage(menuItems.enableTodos), | 964 | label: intl.formatMessage(menuItems.enableTodos), |
953 | click: () => { | 965 | click: () => { |
954 | todoActions.toggleTodosFeatureVisibility(); | 966 | todoActions.toggleTodosFeatureVisibility(); |
diff --git a/src/lib/TouchBar.js b/src/lib/TouchBar.js index 97c02d194..1de46d2a3 100644 --- a/src/lib/TouchBar.js +++ b/src/lib/TouchBar.js | |||
@@ -29,7 +29,7 @@ export default class FranzTouchBar { | |||
29 | const { TouchBarButton, TouchBarSpacer } = TouchBar; | 29 | const { TouchBarButton, TouchBarSpacer } = TouchBar; |
30 | 30 | ||
31 | const buttons = []; | 31 | const buttons = []; |
32 | this.stores.services.enabled.forEach(((service) => { | 32 | this.stores.services.allDisplayed.forEach(((service) => { |
33 | buttons.push(new TouchBarButton({ | 33 | buttons.push(new TouchBarButton({ |
34 | label: `${service.name}${service.unreadDirectMessageCount > 0 | 34 | label: `${service.name}${service.unreadDirectMessageCount > 0 |
35 | ? ' 🔴' : ''} ${service.unreadDirectMessageCount === 0 | 35 | ? ' 🔴' : ''} ${service.unreadDirectMessageCount === 0 |
@@ -42,7 +42,7 @@ export default class FranzTouchBar { | |||
42 | }), new TouchBarSpacer({ size: 'small' })); | 42 | }), new TouchBarSpacer({ size: 'small' })); |
43 | })); | 43 | })); |
44 | 44 | ||
45 | const touchBar = new TouchBar(buttons); | 45 | const touchBar = new TouchBar({ items: buttons }); |
46 | currentWindow.setTouchBar(touchBar); | 46 | currentWindow.setTouchBar(touchBar); |
47 | } else { | 47 | } else { |
48 | currentWindow.setTouchBar(null); | 48 | currentWindow.setTouchBar(null); |
diff --git a/src/models/Recipe.js b/src/models/Recipe.js index b0d60e75e..00c0f699f 100644 --- a/src/models/Recipe.js +++ b/src/models/Recipe.js | |||
@@ -36,6 +36,8 @@ export default class Recipe { | |||
36 | 36 | ||
37 | message = ''; | 37 | message = ''; |
38 | 38 | ||
39 | disablewebsecurity = false; | ||
40 | |||
39 | constructor(data) { | 41 | constructor(data) { |
40 | if (!data) { | 42 | if (!data) { |
41 | throw Error('Recipe config not valid'); | 43 | throw Error('Recipe config not valid'); |
@@ -74,6 +76,8 @@ export default class Recipe { | |||
74 | this.urlInputPrefix = data.config.urlInputPrefix || this.urlInputPrefix; | 76 | this.urlInputPrefix = data.config.urlInputPrefix || this.urlInputPrefix; |
75 | this.urlInputSuffix = data.config.urlInputSuffix || this.urlInputSuffix; | 77 | this.urlInputSuffix = data.config.urlInputSuffix || this.urlInputSuffix; |
76 | 78 | ||
79 | this.disablewebsecurity = data.config.disablewebsecurity || this.disablewebsecurity; | ||
80 | |||
77 | this.message = data.config.message || this.message; | 81 | this.message = data.config.message || this.message; |
78 | } | 82 | } |
79 | 83 | ||
diff --git a/src/models/Service.js b/src/models/Service.js index 848a84aa2..e45c39564 100644 --- a/src/models/Service.js +++ b/src/models/Service.js | |||
@@ -134,6 +134,9 @@ export default class Service { | |||
134 | id: this.id, | 134 | id: this.id, |
135 | spellcheckerLanguage: this.spellcheckerLanguage, | 135 | spellcheckerLanguage: this.spellcheckerLanguage, |
136 | isDarkModeEnabled: this.isDarkModeEnabled, | 136 | isDarkModeEnabled: this.isDarkModeEnabled, |
137 | team: this.team, | ||
138 | url: this.url, | ||
139 | hasCustomIcon: this.hasCustomIcon, | ||
137 | }; | 140 | }; |
138 | } | 141 | } |
139 | 142 | ||
@@ -185,19 +188,24 @@ export default class Service { | |||
185 | return userAgent; | 188 | return userAgent; |
186 | } | 189 | } |
187 | 190 | ||
188 | initializeWebViewEvents({ handleIPCMessage, openWindow }) { | 191 | initializeWebViewEvents({ handleIPCMessage, openWindow, stores }) { |
192 | const webContents = this.webview.getWebContents(); | ||
193 | |||
189 | this.webview.addEventListener('ipc-message', e => handleIPCMessage({ | 194 | this.webview.addEventListener('ipc-message', e => handleIPCMessage({ |
190 | serviceId: this.id, | 195 | serviceId: this.id, |
191 | channel: e.channel, | 196 | channel: e.channel, |
192 | args: e.args, | 197 | args: e.args, |
193 | })); | 198 | })); |
194 | 199 | ||
195 | this.webview.addEventListener('new-window', (event, url, frameName, options) => openWindow({ | 200 | this.webview.addEventListener('new-window', (event, url, frameName, options) => { |
196 | event, | 201 | console.log('open window', event, url, frameName, options); |
197 | url, | 202 | openWindow({ |
198 | frameName, | 203 | event, |
199 | options, | 204 | url, |
200 | })); | 205 | frameName, |
206 | options, | ||
207 | }); | ||
208 | }); | ||
201 | 209 | ||
202 | this.webview.addEventListener('did-start-loading', (event) => { | 210 | this.webview.addEventListener('did-start-loading', (event) => { |
203 | debug('Did start load', this.name, event); | 211 | debug('Did start load', this.name, event); |
@@ -231,6 +239,28 @@ export default class Service { | |||
231 | debug('Service crashed', this.name); | 239 | debug('Service crashed', this.name); |
232 | this.hasCrashed = true; | 240 | this.hasCrashed = true; |
233 | }); | 241 | }); |
242 | |||
243 | webContents.on('login', (event, request, authInfo, callback) => { | ||
244 | // const authCallback = callback; | ||
245 | debug('browser login event', authInfo); | ||
246 | event.preventDefault(); | ||
247 | |||
248 | if (authInfo.isProxy && authInfo.scheme === 'basic') { | ||
249 | debug('Sending service echo ping'); | ||
250 | webContents.send('get-service-id'); | ||
251 | |||
252 | debug('Received service id', this.id); | ||
253 | |||
254 | const ps = stores.settings.proxy[this.id]; | ||
255 | |||
256 | if (ps) { | ||
257 | debug('Sending proxy auth callback for service', this.id); | ||
258 | callback(ps.user, ps.password); | ||
259 | } else { | ||
260 | debug('No proxy auth config found for', this.id); | ||
261 | } | ||
262 | } | ||
263 | }); | ||
234 | } | 264 | } |
235 | 265 | ||
236 | initializeWebViewListener() { | 266 | initializeWebViewListener() { |
diff --git a/src/stores/AppStore.js b/src/stores/AppStore.js index 315235ba4..0398b7533 100644 --- a/src/stores/AppStore.js +++ b/src/stores/AppStore.js | |||
@@ -23,6 +23,7 @@ import { getLocale } from '../helpers/i18n-helpers'; | |||
23 | 23 | ||
24 | import { getServiceIdsFromPartitions, removeServicePartitionDirectory } from '../helpers/service-helpers.js'; | 24 | import { getServiceIdsFromPartitions, removeServicePartitionDirectory } from '../helpers/service-helpers.js'; |
25 | import { isValidExternalURL } from '../helpers/url-helpers'; | 25 | import { isValidExternalURL } from '../helpers/url-helpers'; |
26 | import { sleep } from '../helpers/async-helpers'; | ||
26 | 27 | ||
27 | const debug = require('debug')('Franz:AppStore'); | 28 | const debug = require('debug')('Franz:AppStore'); |
28 | 29 | ||
@@ -327,6 +328,8 @@ export default class AppStore extends Store { | |||
327 | 328 | ||
328 | await clearAppCache._promise; | 329 | await clearAppCache._promise; |
329 | 330 | ||
331 | await sleep(ms('1s')); | ||
332 | |||
330 | this.getAppCacheSizeRequest.execute(); | 333 | this.getAppCacheSizeRequest.execute(); |
331 | 334 | ||
332 | this.isClearingAllCache = false; | 335 | this.isClearingAllCache = false; |
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js index d1fd2be3d..70b775503 100644 --- a/src/stores/ServicesStore.js +++ b/src/stores/ServicesStore.js | |||
@@ -345,6 +345,7 @@ export default class ServicesStore extends Store { | |||
345 | service.initializeWebViewEvents({ | 345 | service.initializeWebViewEvents({ |
346 | handleIPCMessage: this.actions.service.handleIPCMessage, | 346 | handleIPCMessage: this.actions.service.handleIPCMessage, |
347 | openWindow: this.actions.service.openWindow, | 347 | openWindow: this.actions.service.openWindow, |
348 | stores: this.stores, | ||
348 | }); | 349 | }); |
349 | service.initializeWebViewListener(); | 350 | service.initializeWebViewListener(); |
350 | } | 351 | } |
@@ -683,6 +684,8 @@ export default class ServicesStore extends Store { | |||
683 | const serviceData = data; | 684 | const serviceData = data; |
684 | const recipe = this.stores.recipes.one(recipeId); | 685 | const recipe = this.stores.recipes.one(recipeId); |
685 | 686 | ||
687 | if (!recipe) return; | ||
688 | |||
686 | if (recipe.hasTeamId && recipe.hasCustomUrl && data.team && data.customUrl) { | 689 | if (recipe.hasTeamId && recipe.hasCustomUrl && data.team && data.customUrl) { |
687 | delete serviceData.team; | 690 | delete serviceData.team; |
688 | } | 691 | } |
diff --git a/src/stores/SettingsStore.js b/src/stores/SettingsStore.js index a456195bf..75bb38fe0 100644 --- a/src/stores/SettingsStore.js +++ b/src/stores/SettingsStore.js | |||
@@ -1,12 +1,11 @@ | |||
1 | import { ipcRenderer } from 'electron'; | 1 | import { ipcRenderer } from 'electron'; |
2 | import { | 2 | import { |
3 | action, computed, observable, set, | 3 | action, computed, observable, |
4 | } from 'mobx'; | 4 | } from 'mobx'; |
5 | import localStorage from 'mobx-localstorage'; | 5 | import localStorage from 'mobx-localstorage'; |
6 | 6 | ||
7 | import Store from './lib/Store'; | 7 | import Store from './lib/Store'; |
8 | import Request from './lib/Request'; | 8 | import Request from './lib/Request'; |
9 | import CachedRequest from './lib/CachedRequest'; | ||
10 | import { getLocale } from '../helpers/i18n-helpers'; | 9 | import { getLocale } from '../helpers/i18n-helpers'; |
11 | 10 | ||
12 | import { DEFAULT_APP_SETTINGS, FILE_SYSTEM_SETTINGS_TYPES } from '../config'; | 11 | import { DEFAULT_APP_SETTINGS, FILE_SYSTEM_SETTINGS_TYPES } from '../config'; |
@@ -15,12 +14,8 @@ import { SPELLCHECKER_LOCALES } from '../i18n/languages'; | |||
15 | const debug = require('debug')('Franz:SettingsStore'); | 14 | const debug = require('debug')('Franz:SettingsStore'); |
16 | 15 | ||
17 | export default class SettingsStore extends Store { | 16 | export default class SettingsStore extends Store { |
18 | @observable appSettingsRequest = new CachedRequest(this.api.local, 'getAppSettings'); | ||
19 | |||
20 | @observable updateAppSettingsRequest = new Request(this.api.local, 'updateAppSettings'); | 17 | @observable updateAppSettingsRequest = new Request(this.api.local, 'updateAppSettings'); |
21 | 18 | ||
22 | fileSystemSettingsRequests = []; | ||
23 | |||
24 | fileSystemSettingsTypes = FILE_SYSTEM_SETTINGS_TYPES; | 19 | fileSystemSettingsTypes = FILE_SYSTEM_SETTINGS_TYPES; |
25 | 20 | ||
26 | @observable _fileSystemSettingsCache = { | 21 | @observable _fileSystemSettingsCache = { |
@@ -35,14 +30,10 @@ export default class SettingsStore extends Store { | |||
35 | this.actions.settings.update.listen(this._update.bind(this)); | 30 | this.actions.settings.update.listen(this._update.bind(this)); |
36 | this.actions.settings.remove.listen(this._remove.bind(this)); | 31 | this.actions.settings.remove.listen(this._remove.bind(this)); |
37 | 32 | ||
38 | this.fileSystemSettingsTypes.forEach((type) => { | ||
39 | this.fileSystemSettingsRequests[type] = new CachedRequest(this.api.local, 'getAppSettings'); | ||
40 | }); | ||
41 | |||
42 | ipcRenderer.on('appSettings', (event, resp) => { | 33 | ipcRenderer.on('appSettings', (event, resp) => { |
43 | debug('Get appSettings resolves', resp.type, resp.data); | 34 | debug('Get appSettings resolves', resp.type, resp.data); |
44 | 35 | ||
45 | this._fileSystemSettingsCache[resp.type] = resp.data; | 36 | Object.assign(this._fileSystemSettingsCache[resp.type], resp.data); |
46 | }); | 37 | }); |
47 | 38 | ||
48 | this.fileSystemSettingsTypes.forEach((type) => { | 39 | this.fileSystemSettingsTypes.forEach((type) => { |
@@ -51,8 +42,6 @@ export default class SettingsStore extends Store { | |||
51 | } | 42 | } |
52 | 43 | ||
53 | async setup() { | 44 | async setup() { |
54 | // We need to wait until `appSettingsRequest` has been executed once, otherwise we can't patch the result. If we don't wait we'd run into an issue with mobx not reacting to changes of previously not existing keys | ||
55 | await this.appSettingsRequest._promise; | ||
56 | await this._migrate(); | 45 | await this._migrate(); |
57 | } | 46 | } |
58 | 47 | ||
@@ -61,21 +50,6 @@ export default class SettingsStore extends Store { | |||
61 | } | 50 | } |
62 | 51 | ||
63 | @computed get proxy() { | 52 | @computed get proxy() { |
64 | // // We need to provide the final data structure as mobx autoruns won't work | ||
65 | // const proxySettings = observable({}); | ||
66 | // this.stores.services.all.forEach((service) => { | ||
67 | // proxySettings[service.id] = { | ||
68 | // isEnabled: false, | ||
69 | // host: null, | ||
70 | // user: null, | ||
71 | // password: null, | ||
72 | // }; | ||
73 | // }); | ||
74 | |||
75 | // debug('this._fileSystemSettingsCache.proxy', this._fileSystemSettingsCache.proxy, proxySettings); | ||
76 | |||
77 | // return Object.assign(proxySettings, this._fileSystemSettingsCache.proxy); | ||
78 | |||
79 | return this._fileSystemSettingsCache.proxy || {}; | 53 | return this._fileSystemSettingsCache.proxy || {}; |
80 | } | 54 | } |
81 | 55 | ||
@@ -117,7 +91,7 @@ export default class SettingsStore extends Store { | |||
117 | data, | 91 | data, |
118 | }); | 92 | }); |
119 | 93 | ||
120 | set(this._fileSystemSettingsCache[type], data); | 94 | Object.assign(this._fileSystemSettingsCache[type], data); |
121 | } | 95 | } |
122 | } | 96 | } |
123 | 97 | ||
@@ -197,8 +171,4 @@ export default class SettingsStore extends Store { | |||
197 | }); | 171 | }); |
198 | } | 172 | } |
199 | } | 173 | } |
200 | |||
201 | _getFileBasedSettings(type) { | ||
202 | ipcRenderer.send('getAppSettings', type); | ||
203 | } | ||
204 | } | 174 | } |
diff --git a/src/webview/contextMenu.js b/src/webview/contextMenu.js index 83914f581..d3b976554 100644 --- a/src/webview/contextMenu.js +++ b/src/webview/contextMenu.js | |||
@@ -255,9 +255,9 @@ const buildMenuTpl = (props, suggestions, isSpellcheckEnabled, defaultSpellcheck | |||
255 | }, | 255 | }, |
256 | { | 256 | { |
257 | id: 'resetToDefault', | 257 | id: 'resetToDefault', |
258 | label: `Reset to system default (${SPELLCHECKER_LOCALES[defaultSpellcheckerLanguage]})`, | 258 | label: `Reset to system default (${defaultSpellcheckerLanguage === 'automatic' ? 'Automatic' : SPELLCHECKER_LOCALES[defaultSpellcheckerLanguage]})`, |
259 | type: 'radio', | 259 | type: 'radio', |
260 | visible: defaultSpellcheckerLanguage !== spellcheckerLanguage, | 260 | visible: defaultSpellcheckerLanguage !== spellcheckerLanguage || (defaultSpellcheckerLanguage !== 'automatic' && spellcheckerLanguage === 'automatic'), |
261 | click() { | 261 | click() { |
262 | debug('Resetting service spellchecker to system default'); | 262 | debug('Resetting service spellchecker to system default'); |
263 | ipcRenderer.sendToHost('set-service-spellchecker-language', 'reset'); | 263 | ipcRenderer.sendToHost('set-service-spellchecker-language', 'reset'); |
@@ -297,12 +297,13 @@ const buildMenuTpl = (props, suggestions, isSpellcheckEnabled, defaultSpellcheck | |||
297 | }; | 297 | }; |
298 | 298 | ||
299 | export default function contextMenu(spellcheckProvider, isSpellcheckEnabled, getDefaultSpellcheckerLanguage, getSpellcheckerLanguage) { | 299 | export default function contextMenu(spellcheckProvider, isSpellcheckEnabled, getDefaultSpellcheckerLanguage, getSpellcheckerLanguage) { |
300 | webContents.on('context-menu', (e, props) => { | 300 | webContents.on('context-menu', async (e, props) => { |
301 | e.preventDefault(); | 301 | e.preventDefault(); |
302 | 302 | ||
303 | let suggestions = []; | 303 | let suggestions = []; |
304 | if (spellcheckProvider && props.misspelledWord) { | 304 | if (spellcheckProvider && props.misspelledWord) { |
305 | suggestions = spellcheckProvider.getSuggestion(props.misspelledWord); | 305 | debug('Mispelled word', props.misspelledWord); |
306 | suggestions = await spellcheckProvider.getSuggestion(props.misspelledWord); | ||
306 | 307 | ||
307 | debug('Suggestions', suggestions); | 308 | debug('Suggestions', suggestions); |
308 | } | 309 | } |
diff --git a/src/webview/recipe.js b/src/webview/recipe.js index c223b73de..e3e13b726 100644 --- a/src/webview/recipe.js +++ b/src/webview/recipe.js | |||
@@ -12,6 +12,7 @@ import contextMenu from './contextMenu'; | |||
12 | import './notifications'; | 12 | import './notifications'; |
13 | 13 | ||
14 | import { DEFAULT_APP_SETTINGS } from '../config'; | 14 | import { DEFAULT_APP_SETTINGS } from '../config'; |
15 | import { isDevMode } from '../environment'; | ||
15 | 16 | ||
16 | const debug = require('debug')('Franz:Plugin'); | 17 | const debug = require('debug')('Franz:Plugin'); |
17 | 18 | ||
@@ -32,7 +33,7 @@ class RecipeController { | |||
32 | 'settings-update': 'updateAppSettings', | 33 | 'settings-update': 'updateAppSettings', |
33 | 'service-settings-update': 'updateServiceSettings', | 34 | 'service-settings-update': 'updateServiceSettings', |
34 | 'get-service-id': 'serviceIdEcho', | 35 | 'get-service-id': 'serviceIdEcho', |
35 | } | 36 | }; |
36 | 37 | ||
37 | constructor() { | 38 | constructor() { |
38 | this.initialize(); | 39 | this.initialize(); |
@@ -173,11 +174,42 @@ new RecipeController(); | |||
173 | // Patching window.open | 174 | // Patching window.open |
174 | const originalWindowOpen = window.open; | 175 | const originalWindowOpen = window.open; |
175 | 176 | ||
177 | |||
176 | window.open = (url, frameName, features) => { | 178 | window.open = (url, frameName, features) => { |
179 | if (!url && !frameName && !features) { | ||
180 | // The service hasn't yet supplied a URL (as used in Skype). | ||
181 | // Return a new dummy window object and wait for the service to change the properties | ||
182 | const newWindow = { | ||
183 | location: { | ||
184 | href: '', | ||
185 | }, | ||
186 | }; | ||
187 | |||
188 | const checkInterval = setInterval(() => { | ||
189 | // Has the service changed the URL yet? | ||
190 | if (newWindow.location.href !== '') { | ||
191 | // Open the new URL | ||
192 | ipcRenderer.sendToHost('new-window', newWindow.location.href); | ||
193 | clearInterval(checkInterval); | ||
194 | } | ||
195 | }, 0); | ||
196 | |||
197 | setTimeout(() => { | ||
198 | // Stop checking for location changes after 1 second | ||
199 | clearInterval(checkInterval); | ||
200 | }, 1000); | ||
201 | |||
202 | return newWindow; | ||
203 | } | ||
204 | |||
177 | // We need to differentiate if the link should be opened in a popup or in the systems default browser | 205 | // We need to differentiate if the link should be opened in a popup or in the systems default browser |
178 | if (!frameName && !features) { | 206 | if (!frameName && !features && typeof features !== 'string') { |
179 | return ipcRenderer.sendToHost('new-window', url); | 207 | return ipcRenderer.sendToHost('new-window', url); |
180 | } | 208 | } |
181 | 209 | ||
182 | return originalWindowOpen(url, frameName, features); | 210 | return originalWindowOpen(url, frameName, features); |
183 | }; | 211 | }; |
212 | |||
213 | if (isDevMode) { | ||
214 | window.log = console.log; | ||
215 | } | ||
diff --git a/src/webview/spellchecker.js b/src/webview/spellchecker.js index 9158b3b94..06cbd283a 100644 --- a/src/webview/spellchecker.js +++ b/src/webview/spellchecker.js | |||
@@ -1,6 +1,7 @@ | |||
1 | import { webFrame } from 'electron'; | 1 | import { webFrame } from 'electron'; |
2 | import { SpellCheckerProvider } from 'electron-hunspell'; | 2 | import { attachSpellCheckProvider, SpellCheckerProvider } from 'electron-hunspell'; |
3 | import path from 'path'; | 3 | import path from 'path'; |
4 | import { readFileSync } from 'fs'; | ||
4 | 5 | ||
5 | import { DICTIONARY_PATH } from '../config'; | 6 | import { DICTIONARY_PATH } from '../config'; |
6 | import { SPELLCHECKER_LOCALES } from '../i18n/languages'; | 7 | import { SPELLCHECKER_LOCALES } from '../i18n/languages'; |
@@ -10,18 +11,21 @@ const debug = require('debug')('Franz:spellchecker'); | |||
10 | let provider; | 11 | let provider; |
11 | let currentDict; | 12 | let currentDict; |
12 | let _isEnabled = false; | 13 | let _isEnabled = false; |
14 | let attached; | ||
15 | |||
16 | const DEFAULT_LOCALE = 'en-us'; | ||
13 | 17 | ||
14 | async function loadDictionary(locale) { | 18 | async function loadDictionary(locale) { |
15 | try { | 19 | try { |
16 | const fileLocation = path.join(DICTIONARY_PATH, `hunspell-dict-${locale}/${locale}`); | 20 | const fileLocation = path.join(DICTIONARY_PATH, `hunspell-dict-${locale}/${locale}`); |
17 | await provider.loadDictionary(locale, `${fileLocation}.dic`, `${fileLocation}.aff`); | ||
18 | debug('Loaded dictionary', locale, 'from', fileLocation); | 21 | debug('Loaded dictionary', locale, 'from', fileLocation); |
22 | return provider.loadDictionary(locale, readFileSync(`${fileLocation}.dic`), readFileSync(`${fileLocation}.aff`)); | ||
19 | } catch (err) { | 23 | } catch (err) { |
20 | console.error('Could not load dictionary', err); | 24 | console.error('Could not load dictionary', err); |
21 | } | 25 | } |
22 | } | 26 | } |
23 | 27 | ||
24 | export async function switchDict(locale) { | 28 | export async function switchDict(locale = DEFAULT_LOCALE) { |
25 | try { | 29 | try { |
26 | debug('Trying to load dictionary', locale); | 30 | debug('Trying to load dictionary', locale); |
27 | 31 | ||
@@ -40,8 +44,8 @@ export async function switchDict(locale) { | |||
40 | if (currentDict) { | 44 | if (currentDict) { |
41 | provider.unloadDictionary(locale); | 45 | provider.unloadDictionary(locale); |
42 | } | 46 | } |
43 | loadDictionary(locale); | 47 | await loadDictionary(locale); |
44 | provider.switchDictionary(locale); | 48 | await attached.switchLanguage(locale); |
45 | 49 | ||
46 | debug('Switched dictionary to', locale); | 50 | debug('Switched dictionary to', locale); |
47 | 51 | ||
@@ -52,18 +56,32 @@ export async function switchDict(locale) { | |||
52 | } | 56 | } |
53 | } | 57 | } |
54 | 58 | ||
55 | export default async function initialize(languageCode = 'en-us') { | 59 | export function getSpellcheckerLocaleByFuzzyIdentifier(identifier) { |
60 | const locales = Object.keys(SPELLCHECKER_LOCALES).filter(key => key === identifier.toLowerCase() || key.split('-')[0] === identifier.toLowerCase()); | ||
61 | |||
62 | if (locales.length >= 1) { | ||
63 | return locales[0]; | ||
64 | } | ||
65 | |||
66 | return null; | ||
67 | } | ||
68 | |||
69 | export default async function initialize(languageCode = DEFAULT_LOCALE) { | ||
56 | try { | 70 | try { |
57 | provider = new SpellCheckerProvider(); | 71 | provider = new SpellCheckerProvider(); |
58 | const locale = languageCode.toLowerCase(); | 72 | const locale = getSpellcheckerLocaleByFuzzyIdentifier(languageCode); |
59 | 73 | ||
60 | debug('Init spellchecker'); | 74 | debug('Init spellchecker'); |
61 | await provider.initialize(); | 75 | await provider.initialize(); |
62 | // await loadDictionaries(); | ||
63 | 76 | ||
64 | debug('Available spellchecker dictionaries', provider.availableDictionaries); | 77 | debug('Attaching spellcheck provider'); |
78 | attached = await attachSpellCheckProvider(provider); | ||
79 | |||
80 | const availableDictionaries = await provider.getAvailableDictionaries(); | ||
65 | 81 | ||
66 | switchDict(locale); | 82 | debug('Available spellchecker dictionaries', availableDictionaries); |
83 | |||
84 | await switchDict(locale); | ||
67 | 85 | ||
68 | return provider; | 86 | return provider; |
69 | } catch (err) { | 87 | } catch (err) { |
@@ -83,13 +101,3 @@ export function disable() { | |||
83 | currentDict = null; | 101 | currentDict = null; |
84 | } | 102 | } |
85 | } | 103 | } |
86 | |||
87 | export function getSpellcheckerLocaleByFuzzyIdentifier(identifier) { | ||
88 | const locales = Object.keys(SPELLCHECKER_LOCALES).filter(key => key === identifier.toLowerCase() || key.split('-')[0] === identifier.toLowerCase()); | ||
89 | |||
90 | if (locales.length >= 1) { | ||
91 | return locales[0]; | ||
92 | } | ||
93 | |||
94 | return null; | ||
95 | } | ||