Compare commits

...

451 Commits

Author SHA1 Message Date
Eugene Pankov
c008a3478e @typescript-eslint linter 2019-06-14 23:47:48 +02:00
Eugene Pankov
a5ecdeb5ea lint 2019-06-14 17:49:42 +02:00
Eugene Pankov
82e3348122 catch decorator attach/detach errors 2019-06-14 17:32:35 +02:00
Eugene Pankov
4c659b80fd reenabled ctrl-v in xterm (#706) 2019-06-14 17:26:31 +02:00
Eugene Pankov
ba10b89006 clear selection on copy 2019-06-14 17:19:00 +02:00
Eugene Pankov
496f0288dc default flags fix 2019-06-14 17:18:39 +02:00
Eugene Pankov
a90496dc1b custom Electron flags support (fixes #754) 2019-06-14 17:15:52 +02:00
Eugene Pankov
f7eeb8df14 fixed custom shell input (fixes #1054) 2019-06-14 16:32:56 +02:00
Eugene Pankov
99c6c5220a Merge branch 'master' of github.com:Eugeny/terminus 2019-06-14 14:18:33 +02:00
Eugene Pankov
19f0ea4310 travis caching 2019-06-14 12:22:36 +02:00
Eugene
e88fc8a2b4 Bump typescript from 3.5.1 to 3.5.2 (#1070)
Bump typescript from 3.5.1 to 3.5.2
2019-06-14 12:01:09 +02:00
Eugene
3ed5ccd2ee Bump node-gyp from 4.0.0 to 5.0.0 (#1069)
Bump node-gyp from 4.0.0 to 5.0.0
2019-06-14 12:00:40 +02:00
dependabot-preview[bot]
f9a493a53e Bump typescript from 3.5.1 to 3.5.2
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.5.1 to 3.5.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-14 05:33:44 +00:00
dependabot-preview[bot]
75b7811541 Bump node-gyp from 4.0.0 to 5.0.0
Bumps [node-gyp](https://github.com/nodejs/node-gyp) from 4.0.0 to 5.0.0.
- [Release notes](https://github.com/nodejs/node-gyp/releases)
- [Changelog](https://github.com/nodejs/node-gyp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodejs/node-gyp/compare/v4.0.0...v5.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-14 05:33:16 +00:00
Eugene Pankov
589b7ea46c bumped xterm 2019-06-13 14:26:02 +02:00
Eugene
2505ee89d0 Bump webpack from 4.33.0 to 4.34.0 (#1068)
Bump webpack from 4.33.0 to 4.34.0
2019-06-13 09:26:34 +02:00
dependabot-preview[bot]
ab9d436057 Bump webpack from 4.33.0 to 4.34.0
Bumps [webpack](https://github.com/webpack/webpack) from 4.33.0 to 4.34.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.33.0...v4.34.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-13 05:23:32 +00:00
Eugene
7c75089b71 Bump webpack-cli from 3.3.3 to 3.3.4 (#1059)
Bump webpack-cli from 3.3.3 to 3.3.4
2019-06-13 00:40:50 +02:00
Eugene
548257ba8b Bump @types/node from 12.0.7 to 12.0.8 in /terminus-plugin-manager (#1056)
Bump @types/node from 12.0.7 to 12.0.8 in /terminus-plugin-manager
2019-06-13 00:38:21 +02:00
Eugene
02ff97990c Bump css-loader from 2.1.1 to 3.0.0 (#1057)
Bump css-loader from 2.1.1 to 3.0.0
2019-06-13 00:38:14 +02:00
Eugene
dfbe19b4d0 Bump @types/node from 12.0.7 to 12.0.8 in /terminus-settings (#1060)
Bump @types/node from 12.0.7 to 12.0.8 in /terminus-settings
2019-06-13 00:37:56 +02:00
dependabot-preview[bot]
4ded6f6528 Bump @types/node from 12.0.7 to 12.0.8 in /terminus-plugin-manager
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.7 to 12.0.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-12 22:37:30 +00:00
dependabot-preview[bot]
f21e6efad3 Bump @types/node from 12.0.7 to 12.0.8 in /terminus-settings
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.7 to 12.0.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-12 22:37:19 +00:00
Eugene
5089b444b1 Bump @types/node from 12.0.7 to 12.0.8 (#1058)
Bump @types/node from 12.0.7 to 12.0.8
2019-06-13 00:36:33 +02:00
Eugene
9ad5d10bda Bump @types/node from 12.0.7 to 12.0.8 in /terminus-community-color-schemes (#1061)
Bump @types/node from 12.0.7 to 12.0.8 in /terminus-community-color-schemes
2019-06-13 00:36:23 +02:00
Eugene
9719017bf6 Bump @types/node from 12.0.7 to 12.0.8 in /terminus-core (#1062)
Bump @types/node from 12.0.7 to 12.0.8 in /terminus-core
2019-06-13 00:36:15 +02:00
Eugene
08d476a9cf Bump @types/node from 12.0.7 to 12.0.8 in /terminus-terminal (#1063)
Bump @types/node from 12.0.7 to 12.0.8 in /terminus-terminal
2019-06-13 00:36:07 +02:00
Eugene Pankov
a2b633d3a5 hotkey fixes (#1013) 2019-06-13 00:34:52 +02:00
Eugene
f7f7bccbe3 Merge pull request #1066 from IgnusG/master
Fix scrolling in settings not working due to css style placement
2019-06-12 21:53:10 +02:00
IgnusG
14723732f2 Fix scrolling in settings not working due to css style placement 2019-06-12 21:51:07 +02:00
dependabot-preview[bot]
19b23f61bb Bump @types/node from 12.0.7 to 12.0.8 in /terminus-terminal
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.7 to 12.0.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-12 05:35:17 +00:00
dependabot-preview[bot]
45de0d3936 Bump @types/node from 12.0.7 to 12.0.8 in /terminus-core
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.7 to 12.0.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-12 05:34:12 +00:00
dependabot-preview[bot]
b96e200d4a Bump @types/node in /terminus-community-color-schemes
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.7 to 12.0.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-12 05:32:38 +00:00
dependabot-preview[bot]
bdea4109c8 Bump webpack-cli from 3.3.3 to 3.3.4
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.3 to 3.3.4.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/3.3.3...v3.3.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-12 05:20:04 +00:00
dependabot-preview[bot]
be7fabd4ce Bump @types/node from 12.0.7 to 12.0.8
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.7 to 12.0.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-12 05:19:30 +00:00
dependabot-preview[bot]
68aab556d6 Bump css-loader from 2.1.1 to 3.0.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 2.1.1 to 3.0.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v2.1.1...v3.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-12 05:19:06 +00:00
Eugene Pankov
2fad5b741e Merge branch 'master' of github.com:Eugeny/terminus 2019-06-10 21:56:46 +02:00
Eugene
1bf95721dd Bump url-loader from 1.1.2 to 2.0.0 (#1021)
Bump url-loader from 1.1.2 to 2.0.0
2019-06-10 09:34:49 +02:00
Eugene
0e4f141075 Bump webpack-cli from 3.3.2 to 3.3.3 (#1050)
Bump webpack-cli from 3.3.2 to 3.3.3
2019-06-10 09:34:16 +02:00
Eugene
7cd74373be Bump electron from 5.0.2 to 5.0.3 (#1051)
Bump electron from 5.0.2 to 5.0.3
2019-06-10 09:33:02 +02:00
dependabot-preview[bot]
15d959e871 Bump electron from 5.0.2 to 5.0.3
Bumps [electron](https://github.com/electron/electron) from 5.0.2 to 5.0.3.
- [Release notes](https://github.com/electron/electron/releases)
- [Commits](https://github.com/electron/electron/compare/v5.0.2...v5.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-10 05:36:42 +00:00
dependabot-preview[bot]
aac6d024ae Bump webpack-cli from 3.3.2 to 3.3.3
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.2...3.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-10 05:36:07 +00:00
Eugene Pankov
80e67fed22 fixed toasts 2019-06-09 19:49:54 +02:00
Eugene
05a19b188b docs: add IgnusG as a contributor (#1049)
docs: add IgnusG as a contributor
2019-06-09 19:38:31 +02:00
allcontributors[bot]
f706034efb docs: update .all-contributorsrc 2019-06-09 17:35:35 +00:00
allcontributors[bot]
e8538a970b docs: update README.md 2019-06-09 17:35:34 +00:00
Eugene
f5013096d2 Set overflow on content instead of screen in settings (#1047)
Set overflow on content instead of screen in settings
2019-06-09 19:34:58 +02:00
Eugene Pankov
639b8e561c skip docs build for PRs 2019-06-09 19:34:41 +02:00
Eugene Pankov
fe03ca12ed Merge branch 'master' of github.com:Eugeny/terminus 2019-06-09 19:32:32 +02:00
Eugene Pankov
375a98b013 fixed invisible ssh tabs (fixes #1044) 2019-06-09 19:32:30 +02:00
Jonathan
522ce2d8a6 Set overflow on content instead of screen in settings 2019-06-09 11:02:51 +02:00
Eugene
6a981ae30b docs: add PMExtra as a contributor (#1046)
docs: add PMExtra as a contributor
2019-06-08 22:38:51 +02:00
allcontributors[bot]
3851206185 docs: update .all-contributorsrc 2019-06-08 20:38:36 +00:00
allcontributors[bot]
beed2d44ca docs: update README.md 2019-06-08 20:38:35 +00:00
Eugene Pankov
860f1e39fb Merge branch 'master' of github.com:Eugeny/terminus 2019-06-08 22:38:09 +02:00
Eugene Pankov
956d3dc6b1 proper font fallback support (fixes #1041) 2019-06-08 22:37:05 +02:00
Eugene
3582addb62 docs: add NieLeben as a contributor (#1045)
docs: add NieLeben as a contributor
2019-06-08 22:36:43 +02:00
allcontributors[bot]
e392ede4c1 docs: update .all-contributorsrc 2019-06-08 20:36:04 +00:00
allcontributors[bot]
61ee0c4d02 docs: update README.md 2019-06-08 20:36:03 +00:00
Eugene
e451190e3c Merge pull request #1043 from NieLeben/nie-name-fix
Remove name in package.json
2019-06-08 22:35:36 +02:00
Eugene Pankov
cf83bd3798 fixed global shortcut behaviour (fixes #823) 2019-06-08 22:10:39 +02:00
Tilmann Meyer
4165056c12 Remove name in package.json
Removed name because it's a monorepo and it conflicts with https://www.npmjs.com/package/term
2019-06-08 21:44:47 +02:00
Eugene Pankov
596d75adc1 reduced bundle size 2019-06-07 22:52:41 +02:00
Eugene Pankov
45f6e59583 symantec timeserver 2019-06-07 22:13:32 +02:00
Eugene Pankov
ff3f606aea electron-builder debug output 2019-06-07 21:27:18 +02:00
Eugene Pankov
e7311a21e9 Update .travis.yml 2019-06-07 20:18:45 +02:00
Eugene Pankov
c4a4255a7a Update appveyor.yml 2019-06-07 20:05:48 +02:00
Eugene Pankov
247053665c ci fixes 2019-06-07 20:05:11 +02:00
Eugene Pankov
141c890b9c Update .travis.yml 2019-06-07 20:04:03 +02:00
Eugene Pankov
ccb5d90634 ci caching 2019-06-07 20:00:32 +02:00
Eugene Pankov
8c61b8a778 avoid 10 min travis timeout 2019-06-07 17:43:53 +02:00
Eugene Pankov
093aa66797 Merge branch 'master' of github.com:Eugeny/terminus 2019-06-07 17:19:35 +02:00
Eugene Pankov
669c339f87 fixed docs build 2019-06-07 17:17:54 +02:00
Eugene
e6ab403e3e Merge pull request #1035 from Eugeny/dependabot/npm_and_yarn/terminus-terminal/@types/node-12.0.7
Bump @types/node from 12.0.4 to 12.0.7 in /terminus-terminal
2019-06-07 10:47:29 +02:00
Eugene
fcbcdfe660 Bump @types/node from 12.0.4 to 12.0.7 in /terminus-settings (#1033)
Bump @types/node from 12.0.4 to 12.0.7 in /terminus-settings
2019-06-07 10:47:24 +02:00
Eugene
450073d418 Bump @types/node from 12.0.4 to 12.0.7 in /terminus-community-color-schemes (#1036)
Bump @types/node from 12.0.4 to 12.0.7 in /terminus-community-color-schemes
2019-06-07 10:47:16 +02:00
Eugene
8b0ba30b9f Bump @types/node from 12.0.4 to 12.0.7 in /terminus-plugin-manager (#1032)
Bump @types/node from 12.0.4 to 12.0.7 in /terminus-plugin-manager
2019-06-07 10:47:08 +02:00
Eugene
34abc9813b Bump @types/node from 12.0.4 to 12.0.7 (#1034)
Bump @types/node from 12.0.4 to 12.0.7
2019-06-07 10:47:03 +02:00
Eugene
3df0c71a5a Bump @types/node from 12.0.4 to 12.0.7 in /terminus-core (#1037)
Bump @types/node from 12.0.4 to 12.0.7 in /terminus-core
2019-06-07 10:46:55 +02:00
Eugene Pankov
1d9206886a moved npm package to app (fixes #714) 2019-06-07 10:45:06 +02:00
Eugene Pankov
4b346b5428 fail travis builds faster 2019-06-07 07:59:13 +02:00
dependabot-preview[bot]
5f51049c1a Bump @types/node from 12.0.4 to 12.0.7 in /terminus-core
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.4 to 12.0.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-07 05:40:25 +00:00
dependabot-preview[bot]
5e1f652225 Bump @types/node in /terminus-community-color-schemes
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.4 to 12.0.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-07 05:35:18 +00:00
dependabot-preview[bot]
1622977991 Bump @types/node from 12.0.4 to 12.0.7 in /terminus-terminal
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.4 to 12.0.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-07 05:34:06 +00:00
dependabot-preview[bot]
9a5021110d Bump @types/node from 12.0.4 to 12.0.7
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.4 to 12.0.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-07 05:33:44 +00:00
dependabot-preview[bot]
05d842b69b Bump @types/node from 12.0.4 to 12.0.7 in /terminus-settings
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.4 to 12.0.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-07 05:33:38 +00:00
dependabot-preview[bot]
4a24bd5d90 Bump @types/node from 12.0.4 to 12.0.7 in /terminus-plugin-manager
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.4 to 12.0.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-07 05:29:54 +00:00
Eugene Pankov
0fdc780eca contributors 2019-06-06 22:44:49 +02:00
Eugene Pankov
6f8bf46c01 contributors 2019-06-06 22:43:35 +02:00
Eugene Pankov
7de78365b0 added initial contributors 2019-06-06 22:41:20 +02:00
Eugene
5f87123fb2 docs: add ehwarren as a contributor (#1029)
docs: add ehwarren as a contributor
2019-06-06 22:21:08 +02:00
allcontributors[bot]
fa1cb5fb4b docs: update .all-contributorsrc 2019-06-06 20:20:33 +00:00
allcontributors[bot]
d973d6c60f docs: update README.md 2019-06-06 20:20:32 +00:00
Eugene
b002c59578 Merge pull request #1026 from Eugeny/all-contributors/add-mezner
docs: add mezner as a contributor
2019-06-06 22:19:04 +02:00
allcontributors[bot]
ec981dc24d docs: create .all-contributorsrc 2019-06-06 20:18:02 +00:00
allcontributors[bot]
12d625f561 docs: update README.md 2019-06-06 20:18:01 +00:00
Eugene Pankov
37a7d32bc8 copy as html if possible (fixes #503) 2019-06-06 20:53:14 +02:00
Eugene Pankov
044a39abc9 restore pty bufferization 2019-06-06 19:51:38 +02:00
Eugene Pankov
7bedfc5122 build fix 2019-06-06 19:39:52 +02:00
Eugene Pankov
1031b2912c Revert "bumped @types/node"
This reverts commit 025927577e.
2019-06-06 14:32:50 +02:00
Eugene Pankov
732e494400 Merge branch 'master' of github.com:Eugeny/terminus 2019-06-06 13:56:15 +02:00
Eugene Pankov
0a700fc6c3 added missing export 2019-06-06 13:55:53 +02:00
Eugene
af069f25e2 Bump file-loader from 3.0.1 to 4.0.0 (#1017)
Bump file-loader from 3.0.1 to 4.0.0
2019-06-06 13:48:16 +02:00
Eugene
c50257fec4 Bump raw-loader from 2.0.0 to 3.0.0 (#1020)
Bump raw-loader from 2.0.0 to 3.0.0
2019-06-06 13:47:56 +02:00
Eugene Pankov
025927577e bumped @types/node 2019-06-06 13:46:54 +02:00
Eugene Pankov
39bbe54992 refactoring, build fix 2019-06-06 13:45:15 +02:00
dependabot-preview[bot]
f94c7fd607 Bump url-loader from 1.1.2 to 2.0.0
Bumps [url-loader](https://github.com/webpack-contrib/url-loader) from 1.1.2 to 2.0.0.
- [Release notes](https://github.com/webpack-contrib/url-loader/releases)
- [Changelog](https://github.com/webpack-contrib/url-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/url-loader/compare/v1.1.2...v2.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-06 05:21:12 +00:00
dependabot-preview[bot]
e3a0a4bc5e Bump raw-loader from 2.0.0 to 3.0.0
Bumps [raw-loader](https://github.com/webpack-contrib/raw-loader) from 2.0.0 to 3.0.0.
- [Release notes](https://github.com/webpack-contrib/raw-loader/releases)
- [Changelog](https://github.com/webpack-contrib/raw-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/raw-loader/compare/v2.0.0...v3.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-06 05:20:46 +00:00
dependabot-preview[bot]
44ab6cf9b7 Bump file-loader from 3.0.1 to 4.0.0
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 3.0.1 to 4.0.0.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v3.0.1...v4.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-06 05:19:51 +00:00
Eugene Pankov
1c23db3b55 include xterm webgl renderer as a separate frontend 2019-06-05 22:16:24 +02:00
Eugene Pankov
ac727885c4 Merge branch 'webgl' 2019-06-05 22:06:22 +02:00
Eugene Pankov
0e8482e28d Search (fixes #85) 2019-06-05 22:04:40 +02:00
Eugene Pankov
46720e3236 webgl test 2019-06-05 20:18:39 +02:00
Eugene
c3693f5d44 Bump xterm from 3.14.1 to 3.14.2 in /terminus-terminal (#1005)
Bump xterm from 3.14.1 to 3.14.2 in /terminus-terminal
2019-06-05 18:31:17 +02:00
Eugene
d4f3c6ebf4 Bump electron-builder from 20.41.0 to 20.43.0 (#1009)
Bump electron-builder from 20.41.0 to 20.43.0
2019-06-05 18:31:00 +02:00
Eugene
3cc4c5d1b4 Bump handlebars from 4.1.0 to 4.1.2 (#1015)
Bump handlebars from 4.1.0 to 4.1.2
2019-06-05 18:30:43 +02:00
dependabot[bot]
5cea920270 Bump handlebars from 4.1.0 to 4.1.2
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.1.0 to 4.1.2.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.1.0...v4.1.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-06-05 16:17:39 +00:00
Eugene
0dcba9861a Merge pull request #1008 from Eugeny/dependabot/npm_and_yarn/raven-js-3.27.2
Bump raven-js from 3.27.1 to 3.27.2
2019-06-05 08:20:45 +02:00
dependabot-preview[bot]
03e299ecc6 Bump electron-builder from 20.41.0 to 20.43.0
Bumps [electron-builder](https://github.com/electron-userland/electron-builder) from 20.41.0 to 20.43.0.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/compare/v20.41.0...v20.43.0)
2019-06-05 06:20:15 +00:00
Eugene
5e1e63c37b Merge pull request #1010 from Eugeny/dependabot/npm_and_yarn/@fortawesome/fontawesome-free-5.9.0
Bump @fortawesome/fontawesome-free from 5.8.2 to 5.9.0
2019-06-05 08:19:45 +02:00
Eugene
59e73616cd Merge pull request #1011 from Eugeny/dependabot/npm_and_yarn/webpack-4.33.0
Bump webpack from 4.32.2 to 4.33.0
2019-06-05 08:18:43 +02:00
Eugene
e03e96f61b Merge pull request #1012 from Eugeny/dependabot/npm_and_yarn/app-builder-lib-20.43.0
Bump app-builder-lib from 20.42.0 to 20.43.0
2019-06-05 08:18:09 +02:00
dependabot-preview[bot]
01cd2cc4b1 Bump app-builder-lib from 20.42.0 to 20.43.0
Bumps [app-builder-lib](https://github.com/electron-userland/electron-builder) from 20.42.0 to 20.43.0.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/compare/v20.42.0...v20.43.0)
2019-06-05 05:41:57 +00:00
dependabot-preview[bot]
f00a4cf38f Bump webpack from 4.32.2 to 4.33.0
Bumps [webpack](https://github.com/webpack/webpack) from 4.32.2 to 4.33.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.32.2...v4.33.0)
2019-06-05 05:41:30 +00:00
dependabot-preview[bot]
9d5860a452 Bump @fortawesome/fontawesome-free from 5.8.2 to 5.9.0
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.8.2 to 5.9.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.8.2...5.9.0)
2019-06-05 05:41:01 +00:00
dependabot-preview[bot]
24bbbd3e96 Bump raven-js from 3.27.1 to 3.27.2
Bumps [raven-js](https://github.com/getsentry/raven-js) from 3.27.1 to 3.27.2.
- [Release notes](https://github.com/getsentry/raven-js/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/raven-js/compare/v3.27.1...v3.27.2)
2019-06-05 05:40:06 +00:00
Eugene Pankov
673cc2f9f9 removed duplicate logging 2019-06-04 17:10:50 +02:00
dependabot-preview[bot]
db12702baa Bump xterm from 3.14.1 to 3.14.2 in /terminus-terminal
Bumps [xterm](https://github.com/xtermjs/xterm.js) from 3.14.1 to 3.14.2.
- [Release notes](https://github.com/xtermjs/xterm.js/releases)
- [Commits](https://github.com/xtermjs/xterm.js/compare/3.14.1...3.14.2)
2019-06-04 05:21:43 +00:00
Eugene Pankov
807cb0aac4 disable updater in dev mode 2019-06-03 17:51:25 +02:00
Eugene Pankov
4033885eb7 fixed profile hotkeys (fixes #995) 2019-06-03 17:47:35 +02:00
Eugene Pankov
4deee0d6c1 removed screen and tmux deps 2019-06-03 15:50:50 +02:00
Eugene
58ef772764 Bump xterm from 3.14.0 to 3.14.1 in /terminus-terminal (#1000)
Bump xterm from 3.14.0 to 3.14.1 in /terminus-terminal
2019-06-03 08:23:08 +02:00
dependabot-preview[bot]
f9707f796e Bump xterm from 3.14.0 to 3.14.1 in /terminus-terminal
Bumps [xterm](https://github.com/xtermjs/xterm.js) from 3.14.0 to 3.14.1.
- [Release notes](https://github.com/xtermjs/xterm.js/releases)
- [Commits](https://github.com/xtermjs/xterm.js/compare/3.14.0...3.14.1)
2019-06-03 05:28:41 +00:00
Eugene Pankov
37f4be68aa use mixpanel instead of GA 2019-05-31 18:17:41 +02:00
Eugene Pankov
84a4491104 winston fixes 2019-05-31 18:17:33 +02:00
Eugene Pankov
2b2453a397 xterm 3.14 fixes 2019-05-31 18:17:28 +02:00
Eugene Pankov
cc6443bb6c use more aggressive module preload 2019-05-31 18:17:15 +02:00
Eugene Pankov
58482ecc63 make sure NPM isn't imported at start 2019-05-31 13:42:07 +02:00
Eugene Pankov
00b9a3e773 don't scan packages that are definitely not plugins 2019-05-31 13:41:56 +02:00
Eugene
249d487813 Bump xterm from 3.13.2 to 3.14.0 in /terminus-terminal (#986)
Bump xterm from 3.13.2 to 3.14.0 in /terminus-terminal
2019-05-31 09:45:24 +02:00
Eugene
f6176eca6f Merge pull request #984 from Eugeny/dependabot/npm_and_yarn/terminus-core/@types/node-12.0.4
Bump @types/node from 12.0.3 to 12.0.4 in /terminus-core
2019-05-31 08:02:58 +02:00
Eugene
f4cf07b565 Merge pull request #985 from Eugeny/dependabot/npm_and_yarn/terminus-community-color-schemes/@types/node-12.0.4
Bump @types/node from 12.0.3 to 12.0.4 in /terminus-community-color-schemes
2019-05-31 08:02:35 +02:00
Eugene
581b31964e Merge pull request #987 from Eugeny/dependabot/npm_and_yarn/terminus-terminal/@types/node-12.0.4
Bump @types/node from 12.0.3 to 12.0.4 in /terminus-terminal
2019-05-31 08:02:20 +02:00
dependabot-preview[bot]
01bc47a6b7 Bump @types/node from 12.0.3 to 12.0.4 in /terminus-core
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.3 to 12.0.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-31 06:01:38 +00:00
dependabot-preview[bot]
7fc5228297 Bump @types/node in /terminus-community-color-schemes
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.3 to 12.0.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-31 06:01:28 +00:00
dependabot-preview[bot]
6153a8ba9f Bump @types/node from 12.0.3 to 12.0.4 in /terminus-terminal
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.3 to 12.0.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-31 06:00:46 +00:00
Eugene
adf029cf72 Merge pull request #992 from Eugeny/dependabot/npm_and_yarn/terminus-settings/@types/node-12.0.4
Bump @types/node from 12.0.3 to 12.0.4 in /terminus-settings
2019-05-31 08:00:14 +02:00
Eugene
aa2989d485 Merge pull request #991 from Eugeny/dependabot/npm_and_yarn/@types/node-12.0.4
Bump @types/node from 12.0.3 to 12.0.4
2019-05-31 07:59:30 +02:00
Eugene
df9abb0241 Merge pull request #989 from Eugeny/dependabot/npm_and_yarn/terminus-plugin-manager/@types/node-12.0.4
Bump @types/node from 12.0.3 to 12.0.4 in /terminus-plugin-manager
2019-05-31 07:59:12 +02:00
Eugene
d54e6125f4 Merge pull request #990 from Eugeny/dependabot/npm_and_yarn/tslint-5.17.0
Bump tslint from 5.16.0 to 5.17.0
2019-05-31 07:58:56 +02:00
dependabot-preview[bot]
fe6516ac44 Bump @types/node from 12.0.3 to 12.0.4
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.3 to 12.0.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-31 05:54:36 +00:00
dependabot-preview[bot]
7a59edbe71 Bump @types/node from 12.0.3 to 12.0.4 in /terminus-plugin-manager
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.3 to 12.0.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-31 05:54:21 +00:00
dependabot-preview[bot]
f7f3ef181d Bump @types/node from 12.0.3 to 12.0.4 in /terminus-settings
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.3 to 12.0.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-31 05:53:59 +00:00
Eugene
b303291ec4 Merge pull request #983 from Eugeny/dependabot/npm_and_yarn/terminus-core/axios-0.19.0
[Security] Bump axios from 0.18.0 to 0.19.0 in /terminus-core
2019-05-31 07:52:46 +02:00
Eugene
89b67e534e Merge pull request #988 from Eugeny/dependabot/npm_and_yarn/terminus-plugin-manager/axios-0.19.0
[Security] Bump axios from 0.18.0 to 0.19.0 in /terminus-plugin-manager
2019-05-31 07:52:17 +02:00
dependabot-preview[bot]
928d60985b Bump tslint from 5.16.0 to 5.17.0
Bumps [tslint](https://github.com/palantir/tslint) from 5.16.0 to 5.17.0.
- [Release notes](https://github.com/palantir/tslint/releases)
- [Changelog](https://github.com/palantir/tslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/palantir/tslint/compare/5.16.0...5.17.0)
2019-05-31 05:39:03 +00:00
dependabot-preview[bot]
403f988248 [Security] Bump axios from 0.18.0 to 0.19.0 in /terminus-plugin-manager
Bumps [axios](https://github.com/axios/axios) from 0.18.0 to 0.19.0. **This update includes security fixes.**
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.18.0...v0.19.0)
2019-05-31 05:30:21 +00:00
dependabot-preview[bot]
2099b1b3c2 Bump xterm from 3.13.2 to 3.14.0 in /terminus-terminal
Bumps [xterm](https://github.com/xtermjs/xterm.js) from 3.13.2 to 3.14.0.
- [Release notes](https://github.com/xtermjs/xterm.js/releases)
- [Commits](https://github.com/xtermjs/xterm.js/compare/3.13.2...3.14.0)
2019-05-31 05:29:44 +00:00
dependabot-preview[bot]
8ab5e2f976 [Security] Bump axios from 0.18.0 to 0.19.0 in /terminus-core
Bumps [axios](https://github.com/axios/axios) from 0.18.0 to 0.19.0. **This update includes security fixes.**
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.18.0...v0.19.0)
2019-05-31 05:23:00 +00:00
Eugene
92227484ac Merge pull request #976 from Eugeny/dependabot/npm_and_yarn/@types/node-12.0.3
Bump @types/node from 12.0.2 to 12.0.3
2019-05-30 21:52:44 +02:00
Eugene
2ede6f6a83 Bump typescript from 3.4.5 to 3.5.1 (#981)
Bump typescript from 3.4.5 to 3.5.1
2019-05-30 15:50:53 +02:00
dependabot-preview[bot]
dce39a6075 Bump typescript from 3.4.5 to 3.5.1
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.4.5 to 3.5.1.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/commits)
2019-05-30 09:39:51 +00:00
Eugene Pankov
15e6c42692 build fix 2019-05-30 11:37:55 +02:00
Eugene Pankov
f061ff53f2 Merge branch 'master' of github.com:Eugeny/terminus 2019-05-30 11:33:33 +02:00
Eugene Pankov
b8a0207078 style fix (fixes #967) 2019-05-30 11:33:31 +02:00
Eugene
4ec09ad650 Bump @ng-bootstrap/ng-bootstrap from 4.1.3 to 4.2.0 in /app (#980)
Bump @ng-bootstrap/ng-bootstrap from 4.1.3 to 4.2.0 in /app
2019-05-30 11:30:34 +02:00
dependabot-preview[bot]
59f1f5e986 Bump @ng-bootstrap/ng-bootstrap from 4.1.3 to 4.2.0 in /app
Bumps [@ng-bootstrap/ng-bootstrap](https://github.com/ng-bootstrap/ng-bootstrap) from 4.1.3 to 4.2.0.
- [Release notes](https://github.com/ng-bootstrap/ng-bootstrap/releases)
- [Changelog](https://github.com/ng-bootstrap/ng-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ng-bootstrap/ng-bootstrap/compare/4.1.3...4.2.0)
2019-05-30 05:27:04 +00:00
Eugene Pankov
91bdefd9ba fixed community color scheme loader (fixes #969) 2019-05-29 12:07:45 +02:00
Eugene Pankov
382c47aae0 Merge branch 'master' of github.com:Eugeny/terminus 2019-05-29 12:01:38 +02:00
Eugene Pankov
b6bcb852e5 fixed font name autocompletion on Windows (fixes #661) 2019-05-29 12:01:35 +02:00
dependabot-preview[bot]
a91a2604dc Bump @types/node from 12.0.2 to 12.0.3
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.2 to 12.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-29 05:59:26 +00:00
Eugene
43e9768819 Bump core-js from 3.1.2 to 3.1.3 in /terminus-core (#965)
Bump core-js from 3.1.2 to 3.1.3 in /terminus-core
2019-05-29 07:56:43 +02:00
Eugene
b45da4edc8 Bump semver from 6.1.0 to 6.1.1 in /terminus-plugin-manager (#975)
Bump semver from 6.1.0 to 6.1.1 in /terminus-plugin-manager
2019-05-29 07:56:07 +02:00
Eugene
f42abb3c52 Bump @types/node from 12.0.2 to 12.0.3 in /terminus-terminal (#973)
Bump @types/node from 12.0.2 to 12.0.3 in /terminus-terminal
2019-05-29 07:55:43 +02:00
Eugene
ac171b1d61 Bump @types/node from 12.0.2 to 12.0.3 in /terminus-community-color-schemes (#971)
Bump @types/node from 12.0.2 to 12.0.3 in /terminus-community-color-schemes
2019-05-29 07:55:25 +02:00
Eugene
62a1ce526a Bump @types/node from 12.0.2 to 12.0.3 in /terminus-core (#972)
Bump @types/node from 12.0.2 to 12.0.3 in /terminus-core
2019-05-29 07:55:12 +02:00
dependabot-preview[bot]
ce4abc28a7 Bump semver from 6.1.0 to 6.1.1 in /terminus-plugin-manager
Bumps [semver](https://github.com/npm/node-semver) from 6.1.0 to 6.1.1.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v6.1.0...v6.1.1)
2019-05-29 05:54:53 +00:00
Eugene
c9bafa74d1 Bump @types/node from 12.0.2 to 12.0.3 in /terminus-plugin-manager (#974)
Bump @types/node from 12.0.2 to 12.0.3 in /terminus-plugin-manager
2019-05-29 07:54:50 +02:00
Eugene
37f324a458 Merge pull request #970 from Eugeny/dependabot/npm_and_yarn/terminus-settings/@types/node-12.0.3
Bump @types/node from 12.0.2 to 12.0.3 in /terminus-settings
2019-05-29 07:54:37 +02:00
dependabot-preview[bot]
bb2a4c69ad Bump @types/node from 12.0.2 to 12.0.3 in /terminus-plugin-manager
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.2 to 12.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-29 05:54:15 +00:00
dependabot-preview[bot]
c1b70332fc Bump @types/node from 12.0.2 to 12.0.3 in /terminus-terminal
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.2 to 12.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-29 05:48:49 +00:00
dependabot-preview[bot]
0270b56185 Bump @types/node from 12.0.2 to 12.0.3 in /terminus-core
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.2 to 12.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-29 05:45:28 +00:00
dependabot-preview[bot]
e09351760d Bump @types/node in /terminus-community-color-schemes
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.2 to 12.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-29 05:41:30 +00:00
dependabot-preview[bot]
bba98b46f5 Bump @types/node from 12.0.2 to 12.0.3 in /terminus-settings
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 12.0.2 to 12.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-29 05:29:48 +00:00
dependabot-preview[bot]
874cf0ed7d Bump core-js from 3.1.2 to 3.1.3 in /terminus-core
Bumps [core-js](https://github.com/zloirock/core-js) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/compare/v3.1.2...v3.1.3)
2019-05-28 06:14:12 +00:00
Eugene
9ba0cbb3c7 Merge pull request #966 from Eugeny/dependabot/npm_and_yarn/core-js-3.1.3
Bump core-js from 3.1.2 to 3.1.3
2019-05-28 08:12:55 +02:00
dependabot-preview[bot]
3587f179a4 Bump core-js from 3.1.2 to 3.1.3
Bumps [core-js](https://github.com/zloirock/core-js) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/compare/v3.1.2...v3.1.3)
2019-05-28 05:46:13 +00:00
Eugene
5a9b4e56b7 enable bintray apt repo 2019-05-27 00:09:10 +02:00
Eugene Pankov
71780a707a linux build fix 2019-05-26 20:54:10 +02:00
Eugene Pankov
8e390eef05 added welcome tab (fixes #845) 2019-05-25 22:52:25 +02:00
Eugene
96f1342c84 Bump @types/electron-config from 0.2.1 to 3.2.2 (#929)
Bump @types/electron-config from 0.2.1 to 3.2.2
2019-05-25 11:43:53 +02:00
Eugene
2f93202d1d Bump electron-config from 0.2.1 to 2.0.0 in /app (#858)
Bump electron-config from 0.2.1 to 2.0.0 in /app
2019-05-25 11:43:42 +02:00
Eugene
29ba16a68f [Security] Bump bootstrap from 4.1.3 to 4.3.1 in /terminus-core (#887)
[Security] Bump bootstrap from 4.1.3 to 4.3.1 in /terminus-core
2019-05-25 11:43:25 +02:00
Eugene
5da0ef1f0d Bump electron-builder from 20.40.2 to 20.41.0 (#952)
Bump electron-builder from 20.40.2 to 20.41.0
2019-05-25 11:42:42 +02:00
dependabot-preview[bot]
878e846150 Bump electron-builder from 20.40.2 to 20.41.0
Bumps [electron-builder](https://github.com/electron-userland/electron-builder) from 20.40.2 to 20.41.0.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/compare/v20.40.2...v20.41.0)
2019-05-25 09:39:24 +00:00
Eugene
aebbe3dbfd Bump keytar from 4.8.0 to 4.9.0 in /terminus-ssh (#950)
Bump keytar from 4.8.0 to 4.9.0 in /terminus-ssh
2019-05-25 11:38:56 +02:00
Eugene
b9132ac5cb Bump electron-rebuild from 1.8.4 to 1.8.5 (#951)
Bump electron-rebuild from 1.8.4 to 1.8.5
2019-05-25 11:38:45 +02:00
Eugene
bbbaaaa61c Bump app-builder-lib from 20.41.0 to 20.42.0 (#953)
Bump app-builder-lib from 20.41.0 to 20.42.0
2019-05-25 11:37:36 +02:00
dependabot-preview[bot]
9795efd965 Bump app-builder-lib from 20.41.0 to 20.42.0
Bumps [app-builder-lib](https://github.com/electron-userland/electron-builder) from 20.41.0 to 20.42.0.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/compare/v20.41.0...v20.42.0)
2019-05-25 08:53:36 +00:00
dependabot-preview[bot]
c350b99465 Bump electron-rebuild from 1.8.4 to 1.8.5
Bumps [electron-rebuild](https://github.com/electron/electron-rebuild) from 1.8.4 to 1.8.5.
- [Release notes](https://github.com/electron/electron-rebuild/releases)
- [Commits](https://github.com/electron/electron-rebuild/compare/v1.8.4...v1.8.5)
2019-05-25 08:52:32 +00:00
dependabot-preview[bot]
6a64ea5254 Bump keytar from 4.8.0 to 4.9.0 in /terminus-ssh
Bumps [keytar](https://github.com/atom/node-keytar) from 4.8.0 to 4.9.0.
- [Release notes](https://github.com/atom/node-keytar/releases)
- [Commits](https://github.com/atom/node-keytar/compare/v4.8.0...v4.9.0)
2019-05-25 08:51:42 +00:00
Eugene Pankov
ad469c08fe lint 2019-05-24 21:23:03 +02:00
Eugene Pankov
661ada154e cleanup 2019-05-24 21:21:42 +02:00
Eugene Pankov
a8bbdea224 compat fixes 2019-05-24 21:19:08 +02:00
Eugene Pankov
4c0bf62b7b Merge branch 'master' of github.com:Eugeny/terminus 2019-05-24 21:10:23 +02:00
Eugene Pankov
f5b096e6d4 Update yarn.lock 2019-05-24 21:10:20 +02:00
Eugene
463edc2822 Bump electron-installer-snap from 3.0.0 to 3.2.0 (#943)
Bump electron-installer-snap from 3.0.0 to 3.2.0
2019-05-24 21:10:02 +02:00
Eugene
02ef0fcd5e Bump val-loader from 0.5.0 to 1.1.1 (#846)
Bump val-loader from 0.5.0 to 1.1.1
2019-05-24 21:09:47 +02:00
dependabot-preview[bot]
556f622527 Bump val-loader from 0.5.0 to 1.1.1
Bumps [val-loader](https://github.com/webpack-contrib/val-loader) from 0.5.0 to 1.1.1.
- [Release notes](https://github.com/webpack-contrib/val-loader/releases)
- [Changelog](https://github.com/webpack-contrib/val-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/val-loader/commits/v1.1.1)
2019-05-24 19:09:24 +00:00
dependabot-preview[bot]
8bb194ddda Bump electron-installer-snap from 3.0.0 to 3.2.0
Bumps [electron-installer-snap](https://github.com/electron-userland/electron-installer-snap) from 3.0.0 to 3.2.0.
- [Release notes](https://github.com/electron-userland/electron-installer-snap/releases)
- [Changelog](https://github.com/electron-userland/electron-installer-snap/blob/master/NEWS.md)
- [Commits](https://github.com/electron-userland/electron-installer-snap/compare/v3.0.0...v3.2.0)
2019-05-24 19:09:10 +00:00
Eugene
4a040be01e Bump raw-loader from 0.5.1 to 2.0.0 (#871)
Bump raw-loader from 0.5.1 to 2.0.0
2019-05-24 21:07:31 +02:00
Eugene
8d90dcca0e Bump pug-static-loader from 0.0.1 to 2.0.0 (#944)
Bump pug-static-loader from 0.0.1 to 2.0.0
2019-05-24 21:06:06 +02:00
Eugene
9f7643b0d3 Bump css-loader from 0.28.0 to 2.1.1 (#942)
Bump css-loader from 0.28.0 to 2.1.1
2019-05-24 21:05:36 +02:00
dependabot-preview[bot]
528852ba83 Bump pug-static-loader from 0.0.1 to 2.0.0
Bumps pug-static-loader from 0.0.1 to 2.0.0.
2019-05-24 19:05:01 +00:00
Eugene Pankov
7d92f24a02 Merge branch 'master' of github.com:Eugeny/terminus 2019-05-24 21:04:45 +02:00
Eugene
d66afd0e13 Bump node-gyp from 3.8.0 to 4.0.0 (#941)
Bump node-gyp from 3.8.0 to 4.0.0
2019-05-24 21:04:25 +02:00
dependabot-preview[bot]
e1c3329d75 Bump css-loader from 0.28.0 to 2.1.1
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 0.28.0 to 2.1.1.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v0.28.0...v2.1.1)
2019-05-24 19:04:12 +00:00
dependabot-preview[bot]
a8635d0882 Bump node-gyp from 3.8.0 to 4.0.0
Bumps [node-gyp](https://github.com/nodejs/node-gyp) from 3.8.0 to 4.0.0.
- [Release notes](https://github.com/nodejs/node-gyp/releases)
- [Changelog](https://github.com/nodejs/node-gyp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodejs/node-gyp/compare/v3.8.0...v4.0.0)
2019-05-24 19:03:44 +00:00
dependabot-preview[bot]
0c75e46a3b [Security] Bump bootstrap from 4.1.3 to 4.3.1 in /terminus-core
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 4.1.3 to 4.3.1. **This update includes security fixes.**
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v4.1.3...v4.3.1)
2019-05-24 19:01:46 +00:00
dependabot-preview[bot]
450349b006 Bump @types/electron-config from 0.2.1 to 3.2.2
Bumps [@types/electron-config](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/electron-config) from 0.2.1 to 3.2.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/electron-config)
2019-05-24 19:01:10 +00:00
Eugene
b416570ebf Bump source-sans-pro from 2.0.10 to 2.45.0 (#938)
Bump source-sans-pro from 2.0.10 to 2.45.0
2019-05-24 21:01:05 +02:00
dependabot-preview[bot]
bb6b4921b4 Bump electron-config from 0.2.1 to 2.0.0 in /app
Bumps [electron-config](https://github.com/sindresorhus/electron-config) from 0.2.1 to 2.0.0.
- [Release notes](https://github.com/sindresorhus/electron-config/releases)
- [Commits](https://github.com/sindresorhus/electron-config/compare/v0.2.1...v2.0.0)
2019-05-24 19:00:52 +00:00
Eugene
857fb7feeb Bump @types/webpack-env from 1.13.0 to 1.13.9 (#939)
Bump @types/webpack-env from 1.13.0 to 1.13.9
2019-05-24 21:00:51 +02:00
dependabot-preview[bot]
84dbe1f2df Bump raw-loader from 0.5.1 to 2.0.0
Bumps [raw-loader](https://github.com/webpack-contrib/raw-loader) from 0.5.1 to 2.0.0.
- [Release notes](https://github.com/webpack-contrib/raw-loader/releases)
- [Changelog](https://github.com/webpack-contrib/raw-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/raw-loader/commits/v2.0.0)
2019-05-24 19:00:45 +00:00
Eugene
96d86ca93f Bump electron from 5.0.1 to 5.0.2 (#937)
Bump electron from 5.0.1 to 5.0.2
2019-05-24 21:00:40 +02:00
Eugene
47a5362863 Bump @ng-bootstrap/ng-bootstrap from 3.3.1 to 4.1.3 in /app (#919)
Bump @ng-bootstrap/ng-bootstrap from 3.3.1 to 4.1.3 in /app
2019-05-24 21:00:25 +02:00
Eugene
f7740e3030 Bump @types/fs-promise from 1.0.1 to 1.0.3 (#936)
Bump @types/fs-promise from 1.0.1 to 1.0.3
2019-05-24 20:59:27 +02:00
dependabot-preview[bot]
1187dfe4a9 Bump @types/fs-promise from 1.0.1 to 1.0.3
Bumps [@types/fs-promise](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/fs-promise) from 1.0.1 to 1.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/fs-promise)
2019-05-24 18:59:15 +00:00
Eugene
e652800a65 Bump @fortawesome/fontawesome-free from 5.6.3 to 5.8.2 (#935)
Bump @fortawesome/fontawesome-free from 5.6.3 to 5.8.2
2019-05-24 20:59:12 +02:00
Eugene
12bc1025c7 Bump npmlog from 4.1.0 to 4.1.2 (#933)
Bump npmlog from 4.1.0 to 4.1.2
2019-05-24 20:59:02 +02:00
Eugene
800720e578 Bump apply-loader from 0.1.0 to 2.0.0 (#934)
Bump apply-loader from 0.1.0 to 2.0.0
2019-05-24 20:58:54 +02:00
dependabot-preview[bot]
aba9c73974 Bump @fortawesome/fontawesome-free from 5.6.3 to 5.8.2
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.6.3 to 5.8.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.6.3...5.8.2)
2019-05-24 18:58:43 +00:00
dependabot-preview[bot]
8faafb1014 Bump apply-loader from 0.1.0 to 2.0.0
Bumps [apply-loader](https://github.com/mogelbrod/apply-loader) from 0.1.0 to 2.0.0.
- [Release notes](https://github.com/mogelbrod/apply-loader/releases)
- [Commits](https://github.com/mogelbrod/apply-loader/commits/v2.0.0)
2019-05-24 18:57:52 +00:00
dependabot-preview[bot]
88f1816c62 Bump npmlog from 4.1.0 to 4.1.2
Bumps [npmlog](https://github.com/npm/npmlog) from 4.1.0 to 4.1.2.
- [Release notes](https://github.com/npm/npmlog/releases)
- [Changelog](https://github.com/npm/npmlog/blob/master/CHANGELOG.md)
- [Commits](https://github.com/npm/npmlog/compare/v4.1.0...v4.1.2)
2019-05-24 18:57:49 +00:00
dependabot-preview[bot]
35e8e5f525 Bump @types/webpack-env from 1.13.0 to 1.13.9
Bumps [@types/webpack-env](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack-env) from 1.13.0 to 1.13.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack-env)
2019-05-24 18:57:46 +00:00
dependabot-preview[bot]
2d845069c1 Bump source-sans-pro from 2.0.10 to 2.45.0
Bumps [source-sans-pro](https://github.com/adobe-fonts/source-sans-pro) from 2.0.10 to 2.45.0.
- [Release notes](https://github.com/adobe-fonts/source-sans-pro/releases)
- [Commits](https://github.com/adobe-fonts/source-sans-pro/commits)
2019-05-24 18:57:19 +00:00
dependabot-preview[bot]
64c65d35c9 Bump electron from 5.0.1 to 5.0.2
Bumps [electron](https://github.com/electron/electron) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/electron/electron/releases)
- [Commits](https://github.com/electron/electron/compare/v5.0.1...v5.0.2)
2019-05-24 18:57:09 +00:00
Eugene
8925b20447 Bump @types/electron-debug from 1.1.0 to 2.1.0 (#931)
Bump @types/electron-debug from 1.1.0 to 2.1.0
2019-05-24 20:57:01 +02:00
Eugene
ca0680519c Bump typescript from 3.1.3 to 3.4.5 (#926)
Bump typescript from 3.1.3 to 3.4.5
2019-05-24 20:56:44 +02:00
Eugene
e9036ebeac Bump shelljs from 0.7.7 to 0.8.3 (#928)
Bump shelljs from 0.7.7 to 0.8.3
2019-05-24 20:56:35 +02:00
Eugene
f35d47ee4f Bump tslint from 5.12.0 to 5.16.0 (#927)
Bump tslint from 5.12.0 to 5.16.0
2019-05-24 20:56:16 +02:00
dependabot-preview[bot]
d6e6e7e511 Bump typescript from 3.1.3 to 3.4.5
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.1.3 to 3.4.5.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v3.1.3...v3.4.5)
2019-05-24 18:55:41 +00:00
Eugene
903fa12ac4 Merge pull request #930 from Eugeny/dependabot/npm_and_yarn/pug-html-loader-1.1.5
Bump pug-html-loader from 1.0.9 to 1.1.5
2019-05-24 20:55:41 +02:00
dependabot-preview[bot]
9071c8ca23 Bump pug-html-loader from 1.0.9 to 1.1.5
Bumps [pug-html-loader](https://github.com/willyelm/pug-html-loader) from 1.0.9 to 1.1.5.
- [Release notes](https://github.com/willyelm/pug-html-loader/releases)
- [Commits](https://github.com/willyelm/pug-html-loader/commits)
2019-05-24 18:54:53 +00:00
Eugene Pankov
6bff52c951 removed yarn from deps 2019-05-24 20:54:36 +02:00
Eugene
7c450ec6b2 Bump @types/semver from 5.4.0 to 6.0.0 in /terminus-plugin-manager (#920)
Bump @types/semver from 5.4.0 to 6.0.0 in /terminus-plugin-manager
2019-05-24 20:53:34 +02:00
Eugene
e791190558 Bump rxjs from 6.3.3 to 6.5.2 in /app (#921)
Bump rxjs from 6.3.3 to 6.5.2 in /app
2019-05-24 20:52:59 +02:00
dependabot-preview[bot]
a6e6c425a5 Bump @types/electron-debug from 1.1.0 to 2.1.0
Bumps [@types/electron-debug](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/electron-debug) from 1.1.0 to 2.1.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/electron-debug)
2019-05-24 18:52:56 +00:00
Eugene
14dcb22afe Bump @types/js-yaml from 3.11.2 to 3.12.1 (#922)
Bump @types/js-yaml from 3.11.2 to 3.12.1
2019-05-24 20:52:43 +02:00
Eugene
1e25a45b4a Merge pull request #923 from Eugeny/dependabot/npm_and_yarn/yaml-loader-0.5.0
Bump yaml-loader from 0.4.0 to 0.5.0
2019-05-24 20:52:24 +02:00
Eugene
3e5a722b66 Bump webpack from 4.31.0 to 4.32.2 (#924)
Bump webpack from 4.31.0 to 4.32.2
2019-05-24 20:51:58 +02:00
dependabot-preview[bot]
524e5511c9 Bump shelljs from 0.7.7 to 0.8.3
Bumps [shelljs](https://github.com/shelljs/shelljs) from 0.7.7 to 0.8.3.
- [Release notes](https://github.com/shelljs/shelljs/releases)
- [Changelog](https://github.com/shelljs/shelljs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/shelljs/shelljs/compare/v0.7.7...v0.8.3)
2019-05-24 18:51:38 +00:00
Eugene
946306c28b Bump html-loader from 0.4.4 to 0.5.5 (#925)
Bump html-loader from 0.4.4 to 0.5.5
2019-05-24 20:51:33 +02:00
dependabot-preview[bot]
c2d9416fec Bump tslint from 5.12.0 to 5.16.0
Bumps [tslint](https://github.com/palantir/tslint) from 5.12.0 to 5.16.0.
- [Release notes](https://github.com/palantir/tslint/releases)
- [Changelog](https://github.com/palantir/tslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/palantir/tslint/compare/5.12.0...5.16.0)
2019-05-24 18:51:16 +00:00
dependabot-preview[bot]
d55f54d90b Bump html-loader from 0.4.4 to 0.5.5
Bumps [html-loader](https://github.com/webpack-contrib/html-loader) from 0.4.4 to 0.5.5.
- [Release notes](https://github.com/webpack-contrib/html-loader/releases)
- [Changelog](https://github.com/webpack-contrib/html-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/html-loader/compare/v0.4.4...v0.5.5)
2019-05-24 18:50:19 +00:00
dependabot-preview[bot]
cbb6a7ab9a Bump webpack from 4.31.0 to 4.32.2
Bumps [webpack](https://github.com/webpack/webpack) from 4.31.0 to 4.32.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.31.0...v4.32.2)
2019-05-24 18:49:56 +00:00
Eugene
2e7caf7118 Bump keytar from 4.7.0 to 4.8.0 in /terminus-ssh (#917)
Bump keytar from 4.7.0 to 4.8.0 in /terminus-ssh
2019-05-24 20:49:47 +02:00
Eugene
bf56659907 Bump @types/webpack-env from 1.13.1 to 1.13.9 in /terminus-core (#918)
Bump @types/webpack-env from 1.13.1 to 1.13.9 in /terminus-core
2019-05-24 20:49:36 +02:00
dependabot-preview[bot]
dfa95dbd78 Bump yaml-loader from 0.4.0 to 0.5.0
Bumps [yaml-loader](https://github.com/okonet/yaml-loader) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/okonet/yaml-loader/releases)
- [Commits](https://github.com/okonet/yaml-loader/compare/v0.4.0...v0.5.0)
2019-05-24 18:49:27 +00:00
dependabot-preview[bot]
d41021b3cc Bump @types/js-yaml from 3.11.2 to 3.12.1
Bumps [@types/js-yaml](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/js-yaml) from 3.11.2 to 3.12.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/js-yaml)
2019-05-24 18:49:04 +00:00
dependabot-preview[bot]
0ddc1bed76 Bump rxjs from 6.3.3 to 6.5.2 in /app
Bumps [rxjs](https://github.com/reactivex/rxjs) from 6.3.3 to 6.5.2.
- [Release notes](https://github.com/reactivex/rxjs/releases)
- [Changelog](https://github.com/ReactiveX/rxjs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/reactivex/rxjs/compare/6.3.3...6.5.2)
2019-05-24 18:48:54 +00:00
dependabot-preview[bot]
8f7f10dc8f Bump @types/semver from 5.4.0 to 6.0.0 in /terminus-plugin-manager
Bumps [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver) from 5.4.0 to 6.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)
2019-05-24 18:48:34 +00:00
dependabot-preview[bot]
dea7ee8ee1 Bump @ng-bootstrap/ng-bootstrap from 3.3.1 to 4.1.3 in /app
Bumps [@ng-bootstrap/ng-bootstrap](https://github.com/ng-bootstrap/ng-bootstrap) from 3.3.1 to 4.1.3.
- [Release notes](https://github.com/ng-bootstrap/ng-bootstrap/releases)
- [Changelog](https://github.com/ng-bootstrap/ng-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ng-bootstrap/ng-bootstrap/compare/3.3.1...4.1.3)
2019-05-24 18:48:08 +00:00
dependabot-preview[bot]
b79d618aaa Bump @types/webpack-env from 1.13.1 to 1.13.9 in /terminus-core
Bumps [@types/webpack-env](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack-env) from 1.13.1 to 1.13.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack-env)
2019-05-24 18:48:03 +00:00
dependabot-preview[bot]
b2c0af2307 Bump keytar from 4.7.0 to 4.8.0 in /terminus-ssh
Bumps [keytar](https://github.com/atom/node-keytar) from 4.7.0 to 4.8.0.
- [Release notes](https://github.com/atom/node-keytar/releases)
- [Commits](https://github.com/atom/node-keytar/compare/v4.7.0...v4.8.0)
2019-05-24 18:48:01 +00:00
Eugene Pankov
44cf23ec08 updated electron-debug usage 2019-05-24 20:46:44 +02:00
Eugene
7b9cc47875 Bump electron-debug from 2.0.0 to 3.0.0 in /app (#869)
Bump electron-debug from 2.0.0 to 3.0.0 in /app
2019-05-24 20:46:09 +02:00
Eugene
6e59ea007c Bump @types/webpack-env from 1.13.0 to 1.13.9 in /terminus-plugin-manager (#911)
Bump @types/webpack-env from 1.13.0 to 1.13.9 in /terminus-plugin-manager
2019-05-24 20:45:01 +02:00
Eugene
f580c72f1d [Security] Bump tar from 2.2.1 to 2.2.2 (#914)
[Security] Bump tar from 2.2.1 to 2.2.2
2019-05-24 20:44:28 +02:00
dependabot-preview[bot]
1ae91b3ea7 Bump @types/webpack-env in /terminus-plugin-manager
Bumps [@types/webpack-env](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack-env) from 1.13.0 to 1.13.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack-env)
2019-05-24 18:44:15 +00:00
dependabot-preview[bot]
60d7f546c1 Bump electron-debug from 2.0.0 to 3.0.0 in /app
Bumps [electron-debug](https://github.com/sindresorhus/electron-debug) from 2.0.0 to 3.0.0.
- [Release notes](https://github.com/sindresorhus/electron-debug/releases)
- [Commits](https://github.com/sindresorhus/electron-debug/compare/v2.0.0...v3.0.0)
2019-05-24 18:43:52 +00:00
Eugene
a3c834696d [Security] Bump tar from 2.2.1 to 2.2.2 in /terminus-plugin-manager (#915)
[Security] Bump tar from 2.2.1 to 2.2.2 in /terminus-plugin-manager
2019-05-24 20:43:01 +02:00
Eugene
00e33d6d1e Bump mz from 2.6.0 to 2.7.0 in /terminus-plugin-manager (#909)
Bump mz from 2.6.0 to 2.7.0 in /terminus-plugin-manager
2019-05-24 20:42:48 +02:00
Eugene
c9de6ef26b Bump @types/node from 7.0.12 to 12.0.2 in /terminus-plugin-manager (#913)
Bump @types/node from 7.0.12 to 12.0.2 in /terminus-plugin-manager
2019-05-24 20:42:38 +02:00
Eugene
8660d0ced4 Bump @types/node from 10.11.5 to 12.0.2 (#908)
Bump @types/node from 10.11.5 to 12.0.2
2019-05-24 20:42:26 +02:00
Eugene
23fa0c100c Bump deepmerge from 1.5.1 to 3.2.0 in /terminus-core (#910)
Bump deepmerge from 1.5.1 to 3.2.0 in /terminus-core
2019-05-24 20:42:03 +02:00
Eugene
8376a049ad [ImgBot] Optimize images (#916)
[ImgBot] Optimize images
2019-05-24 20:41:30 +02:00
dependabot-preview[bot]
7bd26b542a Bump deepmerge from 1.5.1 to 3.2.0 in /terminus-core
Bumps [deepmerge](https://github.com/TehShrike/deepmerge) from 1.5.1 to 3.2.0.
- [Release notes](https://github.com/TehShrike/deepmerge/releases)
- [Changelog](https://github.com/TehShrike/deepmerge/blob/master/changelog.md)
- [Commits](https://github.com/TehShrike/deepmerge/compare/v1.5.1...v3.2.0)
2019-05-24 18:41:21 +00:00
ImgBotApp
949ec282c1 [ImgBot] Optimize images
*Total -- 40.79kb -> 35.33kb (13.37%)

/build/icons/16x16.png -- 2.15kb -> 0.93kb (56.94%)
/build/icons/32x32.png -- 3.05kb -> 1.71kb (43.93%)
/build/icons/64x64.png -- 5.17kb -> 3.94kb (23.7%)
/build/icons/128x128.png -- 9.82kb -> 8.92kb (9.09%)
/build/icons/256x256.png -- 20.60kb -> 19.83kb (3.74%)
2019-05-24 18:40:03 +00:00
Eugene
00652f59c3 Bump file-loader from 1.1.11 to 3.0.1 (#903)
Bump file-loader from 1.1.11 to 3.0.1
2019-05-24 20:39:50 +02:00
Eugene
0502410b22 Bump winston from 2.4.0 to 3.2.1 in /terminus-core (#904)
Bump winston from 2.4.0 to 3.2.1 in /terminus-core
2019-05-24 20:39:24 +02:00
dependabot-preview[bot]
34eac02101 Bump @types/node from 10.11.5 to 12.0.2
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 10.11.5 to 12.0.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-24 18:36:44 +00:00
dependabot-preview[bot]
480db40f10 Bump @types/node from 7.0.12 to 12.0.2 in /terminus-plugin-manager
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 7.0.12 to 12.0.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-24 18:36:38 +00:00
dependabot-preview[bot]
4ad047aed7 Bump mz from 2.6.0 to 2.7.0 in /terminus-plugin-manager
Bumps [mz](https://github.com/normalize/mz) from 2.6.0 to 2.7.0.
- [Release notes](https://github.com/normalize/mz/releases)
- [Changelog](https://github.com/normalize/mz/blob/master/HISTORY.md)
- [Commits](https://github.com/normalize/mz/compare/2.6.0...2.7.0)
2019-05-24 18:35:15 +00:00
Eugene
d50e59eadb Bump yargs from 12.0.1 to 13.2.4 in /app (#905)
Bump yargs from 12.0.1 to 13.2.4 in /app
2019-05-24 20:34:30 +02:00
dependabot-preview[bot]
067f5b3342 Bump winston from 2.4.0 to 3.2.1 in /terminus-core
Bumps [winston](https://github.com/winstonjs/winston) from 2.4.0 to 3.2.1.
- [Release notes](https://github.com/winstonjs/winston/releases)
- [Changelog](https://github.com/winstonjs/winston/blob/master/CHANGELOG.md)
- [Commits](https://github.com/winstonjs/winston/compare/2.4.0...3.2.1)
2019-05-24 18:34:20 +00:00
Eugene
c23c696adf Bump axios from 0.16.2 to 0.18.0 in /terminus-plugin-manager (#906)
Bump axios from 0.16.2 to 0.18.0 in /terminus-plugin-manager
2019-05-24 20:33:30 +02:00
Eugene
ea50332799 Bump electron-updater from 2.8.9 to 4.0.6 in /terminus-core (#907)
Bump electron-updater from 2.8.9 to 4.0.6 in /terminus-core
2019-05-24 20:32:55 +02:00
Eugene Pankov
9ce04e4945 bumped core-js 2019-05-24 20:30:42 +02:00
dependabot-preview[bot]
39d7ebb7e9 Bump axios from 0.16.2 to 0.18.0 in /terminus-plugin-manager
Bumps [axios](https://github.com/axios/axios) from 0.16.2 to 0.18.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.16.2...v0.18.0)
2019-05-24 18:23:04 +00:00
dependabot-preview[bot]
6c97c8bd20 Bump electron-updater from 2.8.9 to 4.0.6 in /terminus-core
Bumps [electron-updater](https://github.com/electron-userland/electron-builder) from 2.8.9 to 4.0.6.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/commits/electron-updater-v4.0.6)
2019-05-24 18:22:56 +00:00
Eugene
c32d8f3497 Bump core-js from 2.5.1 to 3.1.2 in /terminus-core (#902)
Bump core-js from 2.5.1 to 3.1.2 in /terminus-core
2019-05-24 20:21:24 +02:00
dependabot-preview[bot]
73d27a6a49 [Security] Bump tar from 2.2.1 to 2.2.2 in /terminus-plugin-manager
Bumps [tar](https://github.com/npm/node-tar) from 2.2.1 to 2.2.2. **This update includes security fixes.**
- [Release notes](https://github.com/npm/node-tar/releases)
- [Commits](https://github.com/npm/node-tar/compare/v2.2.1...v2.2.2)
2019-05-24 18:15:36 +00:00
dependabot-preview[bot]
aa3be39f89 Bump file-loader from 1.1.11 to 3.0.1
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 1.1.11 to 3.0.1.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v1.1.11...v3.0.1)
2019-05-24 18:11:08 +00:00
Eugene
7c0317f38a Bump @types/ssh2 from 0.5.35 to 0.5.38 in /terminus-ssh (#901)
Bump @types/ssh2 from 0.5.35 to 0.5.38 in /terminus-ssh
2019-05-24 20:09:59 +02:00
Eugene
c2f759f52a Bump graceful-fs from 4.1.11 to 4.1.15 (#899)
Bump graceful-fs from 4.1.11 to 4.1.15
2019-05-24 20:08:56 +02:00
Eugene Pankov
347f1c4840 dep fixes 2019-05-24 20:08:30 +02:00
dependabot-preview[bot]
24bb1d70da Bump core-js from 2.5.1 to 3.1.2 in /terminus-core
Bumps [core-js](https://github.com/zloirock/core-js) from 2.5.1 to 3.1.2.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/compare/v2.5.1...v3.1.2)
2019-05-24 18:07:32 +00:00
Eugene
3187545bb7 Bump electron-is-dev from 0.1.2 to 1.1.0 in /app (#900)
Bump electron-is-dev from 0.1.2 to 1.1.0 in /app
2019-05-24 20:07:23 +02:00
dependabot-preview[bot]
e6f5a3d93f Bump yargs from 12.0.1 to 13.2.4 in /app
Bumps [yargs](https://github.com/yargs/yargs) from 12.0.1 to 13.2.4.
- [Release notes](https://github.com/yargs/yargs/releases)
- [Changelog](https://github.com/yargs/yargs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/yargs/compare/v12.0.1...v13.2.4)
2019-05-24 18:07:13 +00:00
Eugene
387ff7d950 Bump cross-env from 4.0.0 to 5.2.0 (#897)
Bump cross-env from 4.0.0 to 5.2.0
2019-05-24 20:05:41 +02:00
Eugene
84f5d558fb Bump zone.js from 0.8.26 to 0.8.29 in /app (#896)
Bump zone.js from 0.8.26 to 0.8.29 in /app
2019-05-24 20:05:17 +02:00
Eugene
22452d9da6 Bump @types/mz from 0.0.31 to 0.0.32 in /app (#895)
Bump @types/mz from 0.0.31 to 0.0.32 in /app
2019-05-24 20:04:49 +02:00
dependabot-preview[bot]
373429ce57 [Security] Bump tar from 2.2.1 to 2.2.2
Bumps [tar](https://github.com/npm/node-tar) from 2.2.1 to 2.2.2. **This update includes security fixes.**
- [Release notes](https://github.com/npm/node-tar/releases)
- [Commits](https://github.com/npm/node-tar/compare/v2.2.1...v2.2.2)
2019-05-24 18:02:48 +00:00
Eugene Pankov
a697e063a6 node-pty proper import 2019-05-24 20:02:22 +02:00
Eugene Pankov
25131a5e92 reverted back to upstream node-pty 2019-05-24 19:48:31 +02:00
Eugene Pankov
8f9d6b2be8 Revert "Revert "use new style xterm events""
This reverts commit 6a969d2cd2.
2019-05-24 19:45:40 +02:00
dependabot-preview[bot]
bc78ef49c6 Bump @types/ssh2 from 0.5.35 to 0.5.38 in /terminus-ssh
Bumps [@types/ssh2](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ssh2) from 0.5.35 to 0.5.38.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ssh2)
2019-05-24 16:57:47 +00:00
dependabot-preview[bot]
c25e7cab77 Bump electron-is-dev from 0.1.2 to 1.1.0 in /app
Bumps [electron-is-dev](https://github.com/sindresorhus/electron-is-dev) from 0.1.2 to 1.1.0.
- [Release notes](https://github.com/sindresorhus/electron-is-dev/releases)
- [Commits](https://github.com/sindresorhus/electron-is-dev/compare/v0.1.2...v1.1.0)
2019-05-24 16:57:43 +00:00
dependabot-preview[bot]
e391524d69 Bump graceful-fs from 4.1.11 to 4.1.15
Bumps [graceful-fs](https://github.com/isaacs/node-graceful-fs) from 4.1.11 to 4.1.15.
- [Release notes](https://github.com/isaacs/node-graceful-fs/releases)
- [Commits](https://github.com/isaacs/node-graceful-fs/compare/v4.1.11...v4.1.15)
2019-05-24 16:57:41 +00:00
dependabot-preview[bot]
bbf3faf1e3 Bump cross-env from 4.0.0 to 5.2.0
Bumps [cross-env](https://github.com/kentcdodds/cross-env) from 4.0.0 to 5.2.0.
- [Release notes](https://github.com/kentcdodds/cross-env/releases)
- [Changelog](https://github.com/kentcdodds/cross-env/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kentcdodds/cross-env/compare/v4.0.0...v5.2.0)
2019-05-24 16:57:16 +00:00
dependabot-preview[bot]
902deb020b Bump zone.js from 0.8.26 to 0.8.29 in /app
Bumps [zone.js](https://github.com/angular/zone.js) from 0.8.26 to 0.8.29.
- [Release notes](https://github.com/angular/zone.js/releases)
- [Changelog](https://github.com/angular/zone.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/zone.js/compare/v0.8.26...v0.8.29)
2019-05-24 16:56:53 +00:00
dependabot-preview[bot]
a37d28d6db Bump @types/mz from 0.0.31 to 0.0.32 in /app
Bumps [@types/mz](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mz) from 0.0.31 to 0.0.32.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mz)
2019-05-24 16:56:23 +00:00
Eugene
f547122b41 Bump @types/winston from 2.3.6 to 2.4.4 in /terminus-core (#872)
Bump @types/winston from 2.3.6 to 2.4.4 in /terminus-core
2019-05-24 18:12:48 +02:00
dependabot-preview[bot]
a9f9560728 Bump @types/winston from 2.3.6 to 2.4.4 in /terminus-core
Bumps [@types/winston](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/winston) from 2.3.6 to 2.4.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/winston)
2019-05-24 16:12:24 +00:00
Eugene
48cf9d4008 [Security] Bump deep-extend from 0.4.2 to 0.6.0 in /terminus-ssh (#893)
[Security] Bump deep-extend from 0.4.2 to 0.6.0 in /terminus-ssh
2019-05-24 18:12:00 +02:00
Eugene
2dd527864e Bump @types/node from 7.0.12 to 12.0.2 in /terminus-community-color-schemes (#868)
Bump @types/node from 7.0.12 to 12.0.2 in /terminus-community-color-schemes
2019-05-24 18:11:37 +02:00
Eugene
1364a69b35 Bump @types/node from 7.0.43 to 12.0.2 in /terminus-core (#849)
Bump @types/node from 7.0.43 to 12.0.2 in /terminus-core
2019-05-24 18:11:09 +02:00
Eugene
bd33689d8b Bump @types/node from 7.0.12 to 12.0.2 in /terminus-terminal (#865)
Bump @types/node from 7.0.12 to 12.0.2 in /terminus-terminal
2019-05-24 18:11:04 +02:00
Eugene
e1fad67107 Bump @types/node from 7.0.12 to 12.0.2 in /terminus-settings (#854)
Bump @types/node from 7.0.12 to 12.0.2 in /terminus-settings
2019-05-24 18:10:52 +02:00
Eugene
aa63b04e2a [Security] Bump macaddress from 0.2.8 to 0.2.9 in /terminus-plugin-manager (#877)
[Security] Bump macaddress from 0.2.8 to 0.2.9 in /terminus-plugin-manager
2019-05-24 18:10:34 +02:00
dependabot-preview[bot]
81b0b63da4 [Security] Bump deep-extend from 0.4.2 to 0.6.0 in /terminus-ssh
Bumps [deep-extend](https://github.com/unclechu/node-deep-extend) from 0.4.2 to 0.6.0. **This update includes security fixes.**
- [Release notes](https://github.com/unclechu/node-deep-extend/releases)
- [Changelog](https://github.com/unclechu/node-deep-extend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/unclechu/node-deep-extend/compare/v0.4.2...v0.6.0)
2019-05-24 16:10:21 +00:00
Eugene
aaf575354d Bump semver from 5.4.1 to 6.1.0 in /terminus-plugin-manager (#882)
Bump semver from 5.4.1 to 6.1.0 in /terminus-plugin-manager
2019-05-24 18:09:00 +02:00
dependabot-preview[bot]
d4428d1fc3 Bump @types/node in /terminus-community-color-schemes
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 7.0.12 to 12.0.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-24 16:08:54 +00:00
dependabot-preview[bot]
debac7551b Bump @types/node from 7.0.12 to 12.0.2 in /terminus-settings
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 7.0.12 to 12.0.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-24 16:08:52 +00:00
Eugene
eaf5b6166d Merge pull request #850 from Eugeny/dependabot/npm_and_yarn/terminus-terminal/slug-1.1.0
Bump slug from 0.9.3 to 1.1.0 in /terminus-terminal
2019-05-24 18:08:47 +02:00
dependabot-preview[bot]
d931d88d69 Bump @types/node from 7.0.12 to 12.0.2 in /terminus-terminal
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 7.0.12 to 12.0.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-24 16:08:38 +00:00
dependabot-preview[bot]
f64d5dfb82 Bump @types/node from 7.0.43 to 12.0.2 in /terminus-core
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 7.0.43 to 12.0.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
2019-05-24 16:08:36 +00:00
Eugene
329ae39e96 Bump @types/js-yaml from 3.9.1 to 3.12.1 in /terminus-core (#886)
Bump @types/js-yaml from 3.9.1 to 3.12.1 in /terminus-core
2019-05-24 18:08:12 +02:00
Eugene
f381176333 [Security] Bump extend from 3.0.1 to 3.0.2 in /terminus-ssh (#874)
[Security] Bump extend from 3.0.1 to 3.0.2 in /terminus-ssh
2019-05-24 18:07:59 +02:00
Eugene
6ddfc8b924 Bump @types/mz from 0.0.31 to 0.0.32 in /terminus-plugin-manager (#876)
Bump @types/mz from 0.0.31 to 0.0.32 in /terminus-plugin-manager
2019-05-24 18:07:41 +02:00
Eugene
1df4e83e4a Bump @types/mz from 0.0.31 to 0.0.32 in /terminus-terminal (#873)
Bump @types/mz from 0.0.31 to 0.0.32 in /terminus-terminal
2019-05-24 18:07:20 +02:00
Eugene
ee8a6e7e7a [Security] Bump lodash from 4.17.4 to 4.17.11 in /terminus-ssh (#880)
[Security] Bump lodash from 4.17.4 to 4.17.11 in /terminus-ssh
2019-05-24 18:07:08 +02:00
Eugene
d54b17e2f3 Bump ngx-pipes from 1.6.5 to 1.6.6 in /terminus-plugin-manager (#885)
Bump ngx-pipes from 1.6.5 to 1.6.6 in /terminus-plugin-manager
2019-05-24 18:06:16 +02:00
Eugene
efc61d9e26 [Security] Bump debug from 2.6.8 to 2.6.9 in /app (#879)
[Security] Bump debug from 2.6.8 to 2.6.9 in /app
2019-05-24 18:05:50 +02:00
Eugene
6c52e0496d [Security] Bump debug from 2.6.8 to 2.6.9 in /terminus-plugin-manager (#866)
[Security] Bump debug from 2.6.8 to 2.6.9 in /terminus-plugin-manager
2019-05-24 18:05:41 +02:00
Eugene
01664bf104 Bump @types/webpack-env from 1.13.3 to 1.13.9 in /terminus-ssh (#881)
Bump @types/webpack-env from 1.13.3 to 1.13.9 in /terminus-ssh
2019-05-24 18:05:24 +02:00
Eugene Pankov
b19916513e Merge branch 'master' of github.com:Eugeny/terminus 2019-05-24 18:04:54 +02:00
Eugene Pankov
df715595de export frontend classes 2019-05-24 18:04:51 +02:00
dependabot-preview[bot]
58e5ab2e7c Bump ngx-pipes from 1.6.5 to 1.6.6 in /terminus-plugin-manager
Bumps [ngx-pipes](https://github.com/danrevah/ngx-pipes) from 1.6.5 to 1.6.6.
- [Release notes](https://github.com/danrevah/ngx-pipes/releases)
- [Changelog](https://github.com/danrevah/ngx-pipes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/danrevah/ngx-pipes/compare/v1.6.5...v1.6.6)
2019-05-24 16:04:36 +00:00
dependabot-preview[bot]
3fd4318062 Bump @types/webpack-env from 1.13.3 to 1.13.9 in /terminus-ssh
Bumps [@types/webpack-env](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack-env) from 1.13.3 to 1.13.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack-env)
2019-05-24 16:04:25 +00:00
Eugene
ccb72b3c5d Bump @types/webpack-env from 1.13.1 to 1.13.9 in /terminus-community-color-schemes (#859)
Bump @types/webpack-env from 1.13.1 to 1.13.9 in /terminus-community-color-schemes
2019-05-24 18:02:57 +02:00
Eugene
13eb3ed832 Bump @types/deep-equal from 1.0.0 to 1.0.1 in /terminus-settings (#870)
Bump @types/deep-equal from 1.0.0 to 1.0.1 in /terminus-settings
2019-05-24 18:02:34 +02:00
dependabot-preview[bot]
03c2e214e1 Bump semver from 5.4.1 to 6.1.0 in /terminus-plugin-manager
Bumps [semver](https://github.com/npm/node-semver) from 5.4.1 to 6.1.0.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.4.1...v6.1.0)
2019-05-24 16:02:11 +00:00
Eugene
589b5f698c Merge pull request #884 from Eugeny/dependabot/npm_and_yarn/terminus-ssh/stringstream-0.0.6
[Security] Bump stringstream from 0.0.5 to 0.0.6 in /terminus-ssh
2019-05-24 18:00:50 +02:00
dependabot-preview[bot]
522eb03086 [Security] Bump lodash from 4.17.4 to 4.17.11 in /terminus-ssh
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.4 to 4.17.11. **This update includes security fixes.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.4...4.17.11)
2019-05-24 16:00:40 +00:00
Eugene
621ac4feee [Security] Bump sshpk from 1.13.1 to 1.16.1 in /terminus-ssh (#883)
[Security] Bump sshpk from 1.13.1 to 1.16.1 in /terminus-ssh
2019-05-24 18:00:09 +02:00
Eugene
5e8489fff3 Bump ssh2 from 0.8.2 to 0.8.4 in /terminus-ssh (#878)
Bump ssh2 from 0.8.2 to 0.8.4 in /terminus-ssh
2019-05-24 18:00:01 +02:00
dependabot-preview[bot]
56c4e802fe Bump slug from 0.9.3 to 1.1.0 in /terminus-terminal
Bumps [slug](https://github.com/Trott/node-slug) from 0.9.3 to 1.1.0.
- [Release notes](https://github.com/Trott/node-slug/releases)
- [Commits](https://github.com/Trott/node-slug/compare/v0.9.3...v1.1.0)
2019-05-24 15:59:47 +00:00
Eugene
dccf627506 Bump css-loader from 0.28.7 to 0.28.11 in /terminus-plugin-manager (#867)
Bump css-loader from 0.28.7 to 0.28.11 in /terminus-plugin-manager
2019-05-24 17:58:59 +02:00
Eugene
94def009c2 Bump xterm from 3.12.2 to 3.13.2 in /terminus-terminal (#888)
Bump xterm from 3.12.2 to 3.13.2 in /terminus-terminal
2019-05-24 17:58:23 +02:00
dependabot-preview[bot]
82a57957b1 Bump @types/mz from 0.0.31 to 0.0.32 in /terminus-plugin-manager
Bumps [@types/mz](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mz) from 0.0.31 to 0.0.32.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mz)
2019-05-24 15:54:44 +00:00
dependabot-preview[bot]
04a0e91175 Bump @types/mz from 0.0.31 to 0.0.32 in /terminus-terminal
Bumps [@types/mz](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mz) from 0.0.31 to 0.0.32.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mz)
2019-05-24 15:54:28 +00:00
dependabot-preview[bot]
77273fe052 [Security] Bump macaddress in /terminus-plugin-manager
Bumps [macaddress](https://github.com/scravy/node-macaddress) from 0.2.8 to 0.2.9. **This update includes security fixes.**
- [Release notes](https://github.com/scravy/node-macaddress/releases)
- [Commits](https://github.com/scravy/node-macaddress/compare/0.2.8...0.2.9)
2019-05-24 15:54:09 +00:00
Eugene
82ffa7a499 Merge pull request #863 from Eugeny/dependabot/npm_and_yarn/terminus-core/macaddress-0.2.9
[Security] Bump macaddress from 0.2.8 to 0.2.9 in /terminus-core
2019-05-24 17:53:41 +02:00
dependabot-preview[bot]
6c86ea5e7a [Security] Bump extend from 3.0.1 to 3.0.2 in /terminus-ssh
Bumps [extend](https://github.com/justmoon/node-extend) from 3.0.1 to 3.0.2. **This update includes security fixes.**
- [Release notes](https://github.com/justmoon/node-extend/releases)
- [Changelog](https://github.com/justmoon/node-extend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/justmoon/node-extend/compare/v3.0.1...v3.0.2)
2019-05-24 15:53:28 +00:00
dependabot-preview[bot]
1ba2b6a4cc Bump @types/js-yaml from 3.9.1 to 3.12.1 in /terminus-core
Bumps [@types/js-yaml](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/js-yaml) from 3.9.1 to 3.12.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/js-yaml)
2019-05-24 15:53:14 +00:00
dependabot-preview[bot]
57bf1008b0 [Security] Bump macaddress from 0.2.8 to 0.2.9 in /terminus-core
Bumps [macaddress](https://github.com/scravy/node-macaddress) from 0.2.8 to 0.2.9. **This update includes security fixes.**
- [Release notes](https://github.com/scravy/node-macaddress/releases)
- [Commits](https://github.com/scravy/node-macaddress/compare/0.2.8...0.2.9)
2019-05-24 15:53:13 +00:00
Eugene
078582e40c Bump windows-swca from 2.0.1 to 2.0.2 in /app (#864)
Bump windows-swca from 2.0.1 to 2.0.2 in /app
2019-05-24 17:52:49 +02:00
dependabot-preview[bot]
c8a963ae14 [Security] Bump debug from 2.6.8 to 2.6.9 in /app
Bumps [debug](https://github.com/visionmedia/debug) from 2.6.8 to 2.6.9. **This update includes security fixes.**
- [Release notes](https://github.com/visionmedia/debug/releases)
- [Changelog](https://github.com/visionmedia/debug/blob/2.6.9/CHANGELOG.md)
- [Commits](https://github.com/visionmedia/debug/compare/2.6.8...2.6.9)
2019-05-24 15:52:44 +00:00
dependabot-preview[bot]
32ed3d16fd [Security] Bump debug from 2.6.8 to 2.6.9 in /terminus-plugin-manager
Bumps [debug](https://github.com/visionmedia/debug) from 2.6.8 to 2.6.9. **This update includes security fixes.**
- [Release notes](https://github.com/visionmedia/debug/releases)
- [Changelog](https://github.com/visionmedia/debug/blob/2.6.9/CHANGELOG.md)
- [Commits](https://github.com/visionmedia/debug/compare/2.6.8...2.6.9)
2019-05-24 15:52:32 +00:00
Eugene
70467e2924 Bump rxjs from 5.5.6 to 5.5.12 in /terminus-ssh (#860)
Bump rxjs from 5.5.6 to 5.5.12 in /terminus-ssh
2019-05-24 17:52:26 +02:00
Eugene
c9e12c666e Bump universal-analytics from 0.4.17 to 0.4.20 in /terminus-core (#861)
Bump universal-analytics from 0.4.17 to 0.4.20 in /terminus-core
2019-05-24 17:51:56 +02:00
dependabot-preview[bot]
f2e082e732 Bump @types/webpack-env in /terminus-community-color-schemes
Bumps [@types/webpack-env](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack-env) from 1.13.1 to 1.13.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack-env)
2019-05-24 15:51:50 +00:00
dependabot-preview[bot]
0f8a38b807 Bump @types/deep-equal from 1.0.0 to 1.0.1 in /terminus-settings
Bumps [@types/deep-equal](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/deep-equal) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/deep-equal)
2019-05-24 15:51:42 +00:00
Eugene
ee936b74bf Bump app-builder-lib from 20.28.4 to 20.41.0 (#862)
Bump app-builder-lib from 20.28.4 to 20.41.0
2019-05-24 17:51:36 +02:00
Eugene
3a24d91aa4 Merge pull request #857 from Eugeny/dependabot/npm_and_yarn/terminus-core/debug-3.1.0
[Security] Bump debug from 3.0.1 to 3.1.0 in /terminus-core
2019-05-24 17:51:07 +02:00
Eugene
42ae468780 Bump @types/webpack-env from 1.13.0 to 1.13.9 in /terminus-settings (#855)
Bump @types/webpack-env from 1.13.0 to 1.13.9 in /terminus-settings
2019-05-24 17:50:07 +02:00
dependabot-preview[bot]
1fda886849 Bump rxjs from 5.5.6 to 5.5.12 in /terminus-ssh
Bumps [rxjs](https://github.com/reactivex/rxjs) from 5.5.6 to 5.5.12.
- [Release notes](https://github.com/reactivex/rxjs/releases)
- [Changelog](https://github.com/ReactiveX/rxjs/blob/5.5.12/CHANGELOG.md)
- [Commits](https://github.com/reactivex/rxjs/compare/5.5.6...5.5.12)
2019-05-24 15:50:06 +00:00
Eugene
3bf66f1346 Merge pull request #856 from Eugeny/dependabot/npm_and_yarn/terminus-terminal/@types/webpack-env-1.13.9
Bump @types/webpack-env from 1.13.0 to 1.13.9 in /terminus-terminal
2019-05-24 17:49:51 +02:00
Eugene
93084d57b0 Bump json-loader from 0.5.4 to 0.5.7 (#853)
Bump json-loader from 0.5.4 to 0.5.7
2019-05-24 17:49:38 +02:00
Eugene
eb72951ec6 Bump raven-js from 3.16.0 to 3.27.1 (#852)
Bump raven-js from 3.16.0 to 3.27.1
2019-05-24 17:49:24 +02:00
Eugene
ea78c46bb4 Bump mz from 2.6.0 to 2.7.0 in /app (#851)
Bump mz from 2.6.0 to 2.7.0 in /app
2019-05-24 17:48:14 +02:00
dependabot-preview[bot]
fac1c8ec88 [Security] Bump debug from 3.0.1 to 3.1.0 in /terminus-core
Bumps [debug](https://github.com/visionmedia/debug) from 3.0.1 to 3.1.0. **This update includes security fixes.**
- [Release notes](https://github.com/visionmedia/debug/releases)
- [Changelog](https://github.com/visionmedia/debug/blob/3.1.0/CHANGELOG.md)
- [Commits](https://github.com/visionmedia/debug/compare/3.0.1...3.1.0)
2019-05-24 15:47:51 +00:00
dependabot-preview[bot]
a494e03f3d Bump mz from 2.6.0 to 2.7.0 in /app
Bumps [mz](https://github.com/normalize/mz) from 2.6.0 to 2.7.0.
- [Release notes](https://github.com/normalize/mz/releases)
- [Changelog](https://github.com/normalize/mz/blob/master/HISTORY.md)
- [Commits](https://github.com/normalize/mz/compare/2.6.0...2.7.0)
2019-05-24 15:47:45 +00:00
Eugene
8b5d50bf8b Bump ngx-pipes from 1.6.5 to 1.6.6 in /terminus-settings (#848)
Bump ngx-pipes from 1.6.5 to 1.6.6 in /terminus-settings
2019-05-24 17:47:08 +02:00
Eugene
b512353dfb Bump js-yaml from 3.8.2 to 3.13.1 in /app (#847)
Bump js-yaml from 3.8.2 to 3.13.1 in /app
2019-05-24 17:46:17 +02:00
dependabot-preview[bot]
a18afbb6dc Bump xterm from 3.12.2 to 3.13.2 in /terminus-terminal
Bumps [xterm](https://github.com/xtermjs/xterm.js) from 3.12.2 to 3.13.2.
- [Release notes](https://github.com/xtermjs/xterm.js/releases)
- [Commits](https://github.com/xtermjs/xterm.js/compare/3.12.2...3.13.2)
2019-05-24 15:16:05 +00:00
dependabot-preview[bot]
70a333e790 [Security] Bump stringstream from 0.0.5 to 0.0.6 in /terminus-ssh
Bumps [stringstream](https://github.com/mhart/StringStream) from 0.0.5 to 0.0.6. **This update includes security fixes.**
- [Release notes](https://github.com/mhart/StringStream/releases)
- [Commits](https://github.com/mhart/StringStream/compare/v0.0.5...v0.0.6)
2019-05-24 15:15:39 +00:00
dependabot-preview[bot]
fc55327df5 [Security] Bump sshpk from 1.13.1 to 1.16.1 in /terminus-ssh
Bumps [sshpk](https://github.com/joyent/node-sshpk) from 1.13.1 to 1.16.1. **This update includes security fixes.**
- [Release notes](https://github.com/joyent/node-sshpk/releases)
- [Commits](https://github.com/joyent/node-sshpk/compare/v1.13.1...v1.16.1)
2019-05-24 15:15:21 +00:00
dependabot-preview[bot]
aa93bc3d74 Bump ssh2 from 0.8.2 to 0.8.4 in /terminus-ssh
Bumps [ssh2](https://github.com/mscdex/ssh2) from 0.8.2 to 0.8.4.
- [Release notes](https://github.com/mscdex/ssh2/releases)
- [Commits](https://github.com/mscdex/ssh2/compare/v0.8.2...v0.8.4)
2019-05-24 15:15:10 +00:00
dependabot-preview[bot]
3ad1f4f59e Bump css-loader from 0.28.7 to 0.28.11 in /terminus-plugin-manager
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 0.28.7 to 0.28.11.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v0.28.7...v0.28.11)
2019-05-24 15:14:33 +00:00
dependabot-preview[bot]
576e63584a Bump windows-swca from 2.0.1 to 2.0.2 in /app
Bumps [windows-swca](https://github.com/sylveon/windows-swca) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/sylveon/windows-swca/releases)
- [Commits](https://github.com/sylveon/windows-swca/compare/2.0.1...2.0.2)
2019-05-24 15:14:33 +00:00
dependabot-preview[bot]
974879b54d Bump app-builder-lib from 20.28.4 to 20.41.0
Bumps [app-builder-lib](https://github.com/electron-userland/electron-builder) from 20.28.4 to 20.41.0.
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/compare/v20.28.4...v20.41.0)
2019-05-24 15:14:33 +00:00
dependabot-preview[bot]
1cfe0637f4 Bump universal-analytics from 0.4.17 to 0.4.20 in /terminus-core
Bumps [universal-analytics](https://github.com/peaksandpies/universal-analytics) from 0.4.17 to 0.4.20.
- [Release notes](https://github.com/peaksandpies/universal-analytics/releases)
- [Changelog](https://github.com/peaksandpies/universal-analytics/blob/master/HISTORY.md)
- [Commits](https://github.com/peaksandpies/universal-analytics/compare/0.4.17...0.4.20)
2019-05-24 15:14:32 +00:00
dependabot-preview[bot]
f58a9bcaf6 Bump @types/webpack-env from 1.13.0 to 1.13.9 in /terminus-settings
Bumps [@types/webpack-env](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack-env) from 1.13.0 to 1.13.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack-env)
2019-05-24 15:13:33 +00:00
dependabot-preview[bot]
dd6d71f023 Bump @types/webpack-env from 1.13.0 to 1.13.9 in /terminus-terminal
Bumps [@types/webpack-env](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack-env) from 1.13.0 to 1.13.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack-env)
2019-05-24 15:13:33 +00:00
dependabot-preview[bot]
140eb5bd6a Bump json-loader from 0.5.4 to 0.5.7
Bumps [json-loader](https://github.com/webpack/json-loader) from 0.5.4 to 0.5.7.
- [Release notes](https://github.com/webpack/json-loader/releases)
- [Changelog](https://github.com/webpack-contrib/json-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/json-loader/compare/v0.5.4...v0.5.7)
2019-05-24 15:13:32 +00:00
dependabot-preview[bot]
16f41aad69 Bump raven-js from 3.16.0 to 3.27.1
Bumps [raven-js](https://github.com/getsentry/raven-js) from 3.16.0 to 3.27.1.
- [Release notes](https://github.com/getsentry/raven-js/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/raven-js/commits)
2019-05-24 15:13:32 +00:00
dependabot-preview[bot]
323e57d2b1 Bump ngx-pipes from 1.6.5 to 1.6.6 in /terminus-settings
Bumps [ngx-pipes](https://github.com/danrevah/ngx-pipes) from 1.6.5 to 1.6.6.
- [Release notes](https://github.com/danrevah/ngx-pipes/releases)
- [Changelog](https://github.com/danrevah/ngx-pipes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/danrevah/ngx-pipes/compare/v1.6.5...v1.6.6)
2019-05-24 15:12:38 +00:00
dependabot-preview[bot]
ba550b9617 Bump js-yaml from 3.8.2 to 3.13.1 in /app
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.8.2 to 3.13.1.
- [Release notes](https://github.com/nodeca/js-yaml/releases)
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.8.2...3.13.1)
2019-05-24 15:12:27 +00:00
Eugene Pankov
4afcfcb41a fixed default profile selection 2019-05-24 14:21:08 +02:00
Eugene Pankov
06da6970cb Merge branch 'master' of github.com:Eugeny/terminus 2019-05-24 11:50:11 +02:00
Eugene Pankov
5a8e71f2f2 build fix 2019-05-24 11:50:07 +02:00
Eugene
38164d3136 Update stale.yml 2019-05-24 11:22:45 +02:00
Eugene
7ebc00a140 Create FUNDING.yml 2019-05-24 10:47:51 +02:00
Eugene Pankov
49c05b9e5f Merge branch 'master' of github.com:Eugeny/terminus 2019-05-23 17:19:32 +02:00
Eugene Pankov
24381a9081 use keytar instead of xkeychain & wincredmgr 2019-05-23 17:19:29 +02:00
Eugene Pankov
1a0acad3c2 properly relaunch app in the portable build (fixes #478) 2019-05-19 22:41:41 +02:00
Eugene Pankov
206cf974c0 use nsis installer and electron-updater (fixes #813, fixes #627) 2019-05-19 20:30:40 +02:00
Eugene Pankov
d42fe4f107 auto-create plugins folder (fixes #738) 2019-05-19 18:26:55 +02:00
Eugene Pankov
60e095fbc7 shell icons 2019-05-17 23:48:59 +02:00
Eugene Pankov
b54d99ff3d allow removing shell integration (fixes #682) 2019-05-17 22:05:53 +02:00
Eugene Pankov
f3edf9a469 bumped webpack 2019-05-17 20:45:10 +02:00
Eugene Pankov
a7ba9d88c3 uac.exe release build (fixes #806) 2019-05-17 17:58:48 +02:00
Eugene Pankov
dc00aa4836 bumped electron 2019-05-17 17:58:15 +02:00
Eugene Pankov
d1a2932245 fixed cmd-r reloading the app on macos (fixes #697) 2019-05-17 17:58:10 +02:00
Eugene Pankov
26d7dc3031 fixed profile launching 2019-05-17 17:54:11 +02:00
Eugene Pankov
48ff7d7d5a use profiles for everything 2019-05-11 21:28:04 +02:00
Eugene Pankov
bc71547d92 fixed settings scroll (fixes #791) 2019-05-11 20:13:51 +02:00
Eugene Pankov
054383ed8e bumped node-pty 2019-05-10 17:57:03 +02:00
Eugene Pankov
005912dfe8 escape backslashes when dropping paths 2019-05-07 14:11:26 +02:00
Eugene Pankov
32e7d2db5c use stock windows-blurbehind 2019-05-06 14:09:30 +02:00
Eugene
15a2662d10 Electron 5 (#800)
Electron 5
2019-05-04 23:19:49 +02:00
Eugene Pankov
ee472bad35 Electron 5 compat 2019-05-04 18:59:50 +02:00
Eugene Pankov
619c663438 Merge branch 'master' of https://github.com/Eugeny/terminus 2019-05-04 13:12:55 +02:00
Eugene Pankov
dd16d44b3a wip 2019-05-03 22:06:21 +02:00
Eugene
01c4d029bd Update README.md 2019-05-03 10:12:08 +02:00
Eugene
4fbc2b99b0 Update README.md 2019-05-03 10:11:44 +02:00
Eugene Pankov
ea7ddc7d9a wording 2019-05-02 12:24:16 +02:00
Eugene Pankov
c25c9a285e Merge branch 'master' of github.com:Eugeny/terminus 2019-05-02 12:23:57 +02:00
Eugene Pankov
c10e5e918f tab closing fix 2019-05-02 12:23:53 +02:00
Eugene
7dc59bd5a8 Merge pull request #795 from baflo/master
Adds powershell profile for cmder
2019-05-01 15:51:59 +02:00
Florian Bachmann
d2b9a2cb7d Merge pull request #1 from baflo/feature/cmderps
Adds powershell profile for cmder
2019-05-01 14:29:49 +02:00
Florian Bachmann
6b21bbac58 Adds powershell profile for cmder 2019-05-01 14:27:45 +02:00
Eugene Pankov
0d4ebe3d96 Revert "bumped electron"
This reverts commit 7237c2b05a.
2019-04-30 21:18:17 +02:00
Eugene Pankov
c856f460e6 Revert "bumped xterm for true color support (#23)"
This reverts commit c5958bc9a0.
2019-04-29 19:55:36 +02:00
Eugene Pankov
6a969d2cd2 Revert "use new style xterm events"
This reverts commit d42e070e6c.
2019-04-29 19:50:53 +02:00
Eugene Pankov
4d84b14168 Revert "bumped electron"
This reverts commit 7237c2b05a.
2019-04-28 17:47:01 +02:00
Eugene Pankov
b6cbd42d8b less touchbar flicker, activity icons 2019-04-28 14:38:21 +02:00
Eugene Pankov
7237c2b05a bumped electron 2019-04-28 14:37:50 +02:00
Eugene Pankov
19a217923e build fix 2019-04-28 12:55:13 +02:00
Eugene Pankov
7f160e9421 Merge branch 'master' of github.com:Eugeny/terminus 2019-04-28 11:48:12 +02:00
Eugene Pankov
d0c245d0d5 fixed funky source maps 2019-04-28 11:42:34 +02:00
Eugene Pankov
693edab597 prevent recovered tabs from blanking out 2019-04-28 11:41:31 +02:00
Eugene Pankov
d42e070e6c use new style xterm events 2019-04-17 22:03:20 +02:00
Eugene Pankov
c5958bc9a0 bumped xterm for true color support (#23) 2019-04-17 21:57:52 +02:00
Eugene Pankov
9dc2337787 hotkey naming 2019-04-16 15:42:11 +02:00
Eugene
1a38cc30a8 Merge pull request #766 from Mezner/master
Create close pane hotkey.
2019-04-16 15:39:22 +02:00
Russell Myers
4949f14184 Create close pane hotkey. 2019-04-15 21:16:54 -04:00
Eugene
11902020a5 Merge pull request #743 from mischah/relaxed-theme
Add Relaxed color scheme
2019-03-30 08:30:05 -07:00
Michael Kühnel
3f96c21f33 Add Relaxed color scheme 2019-03-30 16:22:20 +01:00
Eugene
9e81f0aa0e Update README.md 2019-03-19 13:26:06 +01:00
Eugene
1cce23cef5 Update README.md 2019-03-19 13:02:33 +01:00
Eugene Pankov
b7a56adb60 smaller icons for the compact theme 2019-03-18 22:34:46 +01:00
Eugene Pankov
eb02752cbf use dynamic xterm atlas for faster startup 2019-03-18 22:23:44 +01:00
Eugene Pankov
3a6eb8cb2f bumped plugin versions 2019-03-18 22:02:23 +01:00
Eugene Pankov
a7d62b0234 fixed home/end keys with conpty (fixes #587) 2019-03-18 22:00:43 +01:00
Eugene
b9cbe4f12d Update snapcraft.yaml 2019-03-13 12:45:41 +01:00
Eugene
5f74b35ba9 Update snapcraft.yaml 2019-03-13 12:39:14 +01:00
Eugene
affb439ab2 Update snapcraft.yaml 2019-03-13 12:33:48 +01:00
197 changed files with 8091 additions and 10186 deletions

173
.all-contributorsrc Normal file
View File

@@ -0,0 +1,173 @@
{
"files": [
"README.md"
],
"imageSize": 100,
"commit": false,
"contributors": [
{
"login": "mezner",
"name": "Russell Myers",
"avatar_url": "https://avatars2.githubusercontent.com/u/184085?v=4",
"profile": "http://www.russellmyers.com",
"contributions": [
"code"
]
},
{
"login": "ehwarren",
"name": "Austin Warren",
"avatar_url": "https://avatars1.githubusercontent.com/u/3991658?v=4",
"profile": "http://www.morwire.com",
"contributions": [
"code"
]
},
{
"login": "Drachenkaetzchen",
"name": "Felicia Hummel",
"avatar_url": "https://avatars1.githubusercontent.com/u/162974?v=4",
"profile": "https://github.com/Drachenkaetzchen",
"contributions": [
"code"
]
},
{
"login": "mikemaccana",
"name": "Mike MacCana",
"avatar_url": "https://avatars2.githubusercontent.com/u/172594?v=4",
"profile": "https://github.com/mikemaccana",
"contributions": [
"test",
"design"
]
},
{
"login": "yxuko",
"name": "Yacine Kanzari",
"avatar_url": "https://avatars1.githubusercontent.com/u/1786317?v=4",
"profile": "https://github.com/yxuko",
"contributions": [
"code"
]
},
{
"login": "BBJip",
"name": "BBJip",
"avatar_url": "https://avatars2.githubusercontent.com/u/32908927?v=4",
"profile": "https://github.com/BBJip",
"contributions": [
"code"
]
},
{
"login": "Futagirl",
"name": "Futagirl",
"avatar_url": "https://avatars2.githubusercontent.com/u/33533958?v=4",
"profile": "https://github.com/Futagirl",
"contributions": [
"design"
]
},
{
"login": "levrik",
"name": "Levin Rickert",
"avatar_url": "https://avatars3.githubusercontent.com/u/9491603?v=4",
"profile": "https://www.levrik.io",
"contributions": [
"code"
]
},
{
"login": "kwonoj",
"name": "OJ Kwon",
"avatar_url": "https://avatars2.githubusercontent.com/u/1210596?v=4",
"profile": "https://kwonoj.github.io",
"contributions": [
"code"
]
},
{
"login": "Domain",
"name": "domain",
"avatar_url": "https://avatars2.githubusercontent.com/u/903197?v=4",
"profile": "https://github.com/Domain",
"contributions": [
"plugin",
"code"
]
},
{
"login": "kbjr",
"name": "James Brumond",
"avatar_url": "https://avatars1.githubusercontent.com/u/195127?v=4",
"profile": "http://www.jbrumond.me",
"contributions": [
"plugin"
]
},
{
"login": "Tyriar",
"name": "Daniel Imms",
"avatar_url": "https://avatars0.githubusercontent.com/u/2193314?v=4",
"profile": "http://www.growingwiththeweb.com",
"contributions": [
"code",
"plugin",
"test"
]
},
{
"login": "baflo",
"name": "Florian Bachmann",
"avatar_url": "https://avatars2.githubusercontent.com/u/834350?v=4",
"profile": "https://github.com/baflo",
"contributions": [
"code"
]
},
{
"login": "mischah",
"name": "Michael Kühnel",
"avatar_url": "https://avatars2.githubusercontent.com/u/441011?v=4",
"profile": "http://michael-kuehnel.de",
"contributions": [
"code",
"design"
]
},
{
"login": "NieLeben",
"name": "Tilmann Meyer",
"avatar_url": "https://avatars3.githubusercontent.com/u/47182955?v=4",
"profile": "https://github.com/NieLeben",
"contributions": [
"code"
]
},
{
"login": "PMExtra",
"name": "PM Extra",
"avatar_url": "https://avatars3.githubusercontent.com/u/11289158?v=4",
"profile": "http://www.jubeat.net",
"contributions": [
"bug"
]
},
{
"login": "IgnusG",
"name": "Jonathan",
"avatar_url": "https://avatars1.githubusercontent.com/u/6438760?v=4",
"profile": "https://jjuhas.keybase.pub//",
"contributions": [
"code"
]
}
],
"contributorsPerLine": 7,
"projectName": "terminus",
"projectOwner": "Eugeny",
"repoType": "github",
"repoHost": "https://github.com",
"commitConvention": "none"
}

82
.eslintrc.yml Normal file
View File

@@ -0,0 +1,82 @@
parser: '@typescript-eslint/parser'
parserOptions:
project: tsconfig.json
extends:
- 'plugin:@typescript-eslint/all'
plugins:
- '@typescript-eslint'
env:
browser: true
es6: true
node: true
commonjs: true
rules:
'@typescript-eslint/semi':
- error
- never
'@typescript-eslint/indent':
- error
- 4
'@typescript-eslint/explicit-member-accessibility':
- error
- accessibility: no-public
overrides:
parameterProperties: explicit
'@typescript-eslint/no-require-imports': off
'@typescript-eslint/no-parameter-properties': off
'@typescript-eslint/explicit-function-return-type': off
'@typescript-eslint/no-explicit-any': off
'@typescript-eslint/no-magic-numbers': off
'@typescript-eslint/member-delimiter-style': off
'@typescript-eslint/promise-function-async': off
'@typescript-eslint/no-unnecessary-type-assertion': off
'@typescript-eslint/require-array-sort-compare': off
'@typescript-eslint/no-use-before-define':
- error
- classes: false
no-duplicate-imports: error
array-bracket-spacing:
- error
- never
block-scoped-var: error
brace-style:
- error
- 1tbs
- allowSingleLine: true
computed-property-spacing:
- error
- never
comma-dangle:
- error
- always-multiline
curly: error
eol-last: error
eqeqeq:
- error
- smart
linebreak-style:
- error
- unix
max-depth:
- 1
- 5
max-statements:
- 1
- 80
no-multiple-empty-lines: error
no-mixed-spaces-and-tabs: error
no-trailing-spaces: error
'@typescript-eslint/no-unused-vars':
- error
- vars: all
args: after-used
argsIgnorePattern: ^_
no-undef: error
object-curly-spacing:
- error
- always
quote-props:
- warn
- as-needed
- keywords: true
numbers: true

3
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,3 @@
github: eugeny
open_collective: terminus
ko_fi: eugeny

2
.github/stale.yml vendored
View File

@@ -5,7 +5,7 @@ daysUntilClose: 14
# Issues with these labels will never be considered stale
exemptLabels:
- "T: Enhancement"
- "S: Triaged"
- "S: Confirmed"
# Label to use when marking an issue as stale
staleLabel: "S: Stale"
# Comment to post when marking an issue as stale. Set to `false` to disable

2
.gitignore vendored
View File

@@ -6,6 +6,8 @@ node_modules
build/files.wxs
dist
*/dist
*/typings
*.tsbuildinfo
*.xcworkspacedata
*.xcuserstate

View File

@@ -11,29 +11,37 @@ jobs:
- stage: 'Build'
os: linux
before_install:
- set -e
- yarn
- rm app/node_modules/.yarn-integrity || true
- scripts/install-deps.js
script:
- set -e
- scripts/build-native.js
- yarn run build:typings
- yarn run build
- scripts/prepackage-plugins.js
- scripts/build-linux.js
- travis_wait scripts/build-linux.js
- stage: 'Build'
os: osx
before_install:
- set -e
- rm app/node_modules/.yarn-integrity || true
- yarn
script:
- set -e
- scripts/build-native.js
- yarn run build:typings
- yarn run build
- scripts/prepackage-plugins.js
- scripts/build-macos.js
- travis_wait scripts/build-macos.js
- stage: 'Docs'
os: linux
if: branch = master
script:
- set -e
- openssl aes-256-cbc -K $encrypted_4e2fb4889ef8_key -iv $encrypted_4e2fb4889ef8_iv -in .travis.ssh.key.enc -out .travis.ssh.key -d
- eval "$(ssh-agent -s)"
- chmod 600 .travis.ssh.key
@@ -50,6 +58,16 @@ addons:
packages:
- rpm
- yarn
- libsecret-1-dev
sources:
- sourceline: 'deb https://dl.yarnpkg.com/debian/ stable main'
key_url: 'https://dl.yarnpkg.com/debian/pubkey.gpg'
cache:
directories:
- node_modules
- 'terminus-*/node_modules'
- $HOME/.cache/yarn
- $HOME/.cache/electron
- $HOME/.cache/electron-builder

View File

@@ -92,11 +92,11 @@ Plugins provide functionality by exporting singular or multi providers:
```javascript
import { NgModule, Injectable } from '@angular/core'
import { ToolbarButtonProvider, IToolbarButton } from 'terminus-core'
import { ToolbarButtonProvider, ToolbarButton } from 'terminus-core'
@Injectable()
export class MyButtonProvider extends ToolbarButtonProvider {
provide (): IToolbarButton[] {
provide (): ToolbarButton[] {
return [{
icon: 'star',
title: 'Foobar',

File diff suppressed because one or more lines are too long

BIN
app/assets/activity.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

4
app/dev-app-update.yml Normal file
View File

@@ -0,0 +1,4 @@
owner: eugeny
repo: terminus
provider: github
updaterCacheDirName: terminus-updater

View File

@@ -19,12 +19,16 @@ export class Application {
}
app.commandLine.appendSwitch('disable-http-cache')
app.commandLine.appendSwitch('force_discrete_gpu', '0')
app.commandLine.appendSwitch('lang', 'EN')
for (const flag of configData.flags || [['force_discrete_gpu', '0']]) {
console.log('Setting Electron flag:', flag.join('='))
app.commandLine.appendSwitch(flag[0], flag[1])
}
}
init () {
electron.screen.on('display-metrics-changed', () => this.broadcast('host:display-metrics-changed'))
electron.screen.on('display-metrics-changed', () => this.broadcast('host:display-metrics-changed'))
}
async newWindow (options?: WindowOptions): Promise<Window> {

View File

@@ -1,9 +1,8 @@
import './lru'
import { app, ipcMain, Menu } from 'electron'
import electronDebug = require('electron-debug')
import { parseArgs } from './cli'
import { Application } from './app'
if (process.platform === 'win32' && require('electron-squirrel-startup')) process.exit(0)
import electronDebug = require('electron-debug')
if (!process.env.TERMINUS_PLUGINS) {
process.env.TERMINUS_PLUGINS = ''
@@ -44,7 +43,11 @@ if (!app.requestSingleInstanceLock()) {
}
if (argv.d) {
electronDebug({ enabled: true, showDevTools: 'undocked' })
electronDebug({
isEnabled: true,
showDevTools: true,
devToolsMode: 'undocked'
})
}
app.on('ready', () => {

View File

@@ -20,25 +20,27 @@
"@angular/forms": "7.2.8",
"@angular/platform-browser": "7.2.8",
"@angular/platform-browser-dynamic": "7.2.8",
"@ng-bootstrap/ng-bootstrap": "^3.3.1",
"@ng-bootstrap/ng-bootstrap": "^4.2.0",
"devtron": "1.4.0",
"electron-config": "0.2.1",
"electron-debug": "^2.0.0",
"electron-is-dev": "0.1.2",
"electron-squirrel-startup": "^1.0.0",
"js-yaml": "3.8.2",
"mz": "^2.6.0",
"ngx-toastr": "^9.1.1",
"electron-config": "2.0.0",
"electron-debug": "^3.0.0",
"electron-is-dev": "1.1.0",
"electron-updater": "^4.0.6",
"js-yaml": "3.13.1",
"mz": "^2.7.0",
"ngx-toastr": "^10.0.4",
"npm": "~6.9.0",
"path": "0.12.7",
"rxjs": "^6.3.3",
"yargs": "^12.0.1",
"zone.js": "^0.8.26"
"rxjs": "^6.5.2",
"rxjs-compat": "^6.5.2",
"yargs": "^13.2.4",
"zone.js": "^0.8.29"
},
"optionalDependencies": {
"windows-blurbehind": "^1.0.0",
"windows-swca": "^2.0.1"
"windows-blurbehind": "^1.0.1",
"windows-swca": "^2.0.2"
},
"devDependencies": {
"@types/mz": "0.0.31"
"@types/mz": "0.0.32"
}
}

View File

@@ -4,18 +4,19 @@ import { NgbModule } from '@ng-bootstrap/ng-bootstrap'
import { ToastrModule } from 'ngx-toastr'
export function getRootModule (plugins: any[]) {
let imports = [
const imports = [
BrowserModule,
...plugins,
NgbModule.forRoot(),
ToastrModule.forRoot({
positionClass: 'toast-bottom-center',
toastClass: 'toast',
preventDuplicates: true,
extendedTimeOut: 5000,
}),
]
let bootstrap = [
...(plugins.filter(x => x.bootstrap).map(x => x.bootstrap)),
const bootstrap = [
...plugins.filter(x => x.bootstrap).map(x => x.bootstrap),
]
if (bootstrap.length === 0) {
@@ -25,7 +26,7 @@ export function getRootModule (plugins: any[]) {
@NgModule({
imports,
bootstrap,
}) class RootModule { }
}) class RootModule { } // eslint-disable-line @typescript-eslint/no-extraneous-class
return RootModule
}

View File

@@ -1,5 +1,5 @@
import '../lib/lru'
import 'source-sans-pro'
import 'source-sans-pro/source-sans-pro.css'
import 'source-code-pro/source-code-pro.css'
import '@fortawesome/fontawesome-free/css/solid.css'
import '@fortawesome/fontawesome-free/css/brands.css'
@@ -16,20 +16,20 @@ Raven.config(
{
release: require('electron').remote.app.getVersion(),
dataCallback: (data: any) => {
const normalize = (filename) => {
let splitArray = filename.split('/')
const normalize = (filename: string) => {
const splitArray = filename.split('/')
return splitArray[splitArray.length - 1]
}
data.exception.values[0].stacktrace.frames.forEach(frame => {
data.exception.values[0].stacktrace.frames.forEach((frame: any) => {
frame.filename = normalize(frame.filename)
})
data.culprit = data.exception.values[0].stacktrace.frames[0].filename
return data
}
}
},
},
)
process.on('uncaughtException' as any, (err) => {

View File

@@ -1,19 +1,20 @@
import 'zone.js'
import 'core-js/es7/reflect'
import 'core-js/core/delay'
import 'core-js/proposals/reflect-metadata'
import 'rxjs'
import * as isDev from 'electron-is-dev'
import './global.scss'
import './toastr.scss'
// Always land on the start view
location.hash = ''
import { enableProdMode, NgModuleRef } from '@angular/core'
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
import { getRootModule } from './app.module'
import { findPlugins, loadPlugins, IPluginInfo } from './plugins'
import { findPlugins, loadPlugins, PluginInfo } from './plugins'
// Always land on the start view
location.hash = ''
;(process as any).enablePromiseAPI = true
@@ -21,20 +22,20 @@ if (process.platform === 'win32') {
process.env.HOME = process.env.HOMEDRIVE + process.env.HOMEPATH
}
if (require('electron-is-dev')) {
if (isDev) {
console.warn('Running in debug mode')
} else {
enableProdMode()
}
async function bootstrap (plugins: IPluginInfo[], safeMode = false): Promise<NgModuleRef<any>> {
async function bootstrap (plugins: PluginInfo[], safeMode = false): Promise<NgModuleRef<any>> {
if (safeMode) {
plugins = plugins.filter(x => x.isBuiltin)
}
let pluginsModules = await loadPlugins(plugins, (current, total) => {
(document.querySelector('.progress .bar') as HTMLElement).style.width = 100 * current / total + '%'
const pluginsModules = await loadPlugins(plugins, (current, total) => {
(document.querySelector('.progress .bar') as HTMLElement).style.width = `${100 * current / total}%` // eslint-disable-line
})
let module = getRootModule(pluginsModules)
const module = getRootModule(pluginsModules)
window['rootModule'] = module
return platformBrowserDynamic().bootstrapModule(module)
}

View File

@@ -1,10 +1,8 @@
import * as fs from 'mz/fs'
import * as path from 'path'
const nodeModule = require('module')
const nodeModule = require('module') // eslint-disable-line @typescript-eslint/no-var-requires
const nodeRequire = (global as any).require
declare function delay (ms: number): Promise<void>
function normalizePath (path: string): string {
const cygwinPrefix = '/cygdrive/'
if (path.startsWith(cygwinPrefix)) {
@@ -14,7 +12,7 @@ function normalizePath (path: string): string {
return path
}
nodeRequire.main.paths.map(x => nodeModule.globalPaths.push(normalizePath(x)))
nodeRequire.main.paths.map((x: string) => nodeModule.globalPaths.push(normalizePath(x)))
if (process.env.TERMINUS_DEV) {
nodeModule.globalPaths.unshift(path.dirname(require('electron').remote.app.getAppPath()))
@@ -28,6 +26,10 @@ const userPluginsPath = path.join(
'plugins',
)
if (!fs.existsSync(userPluginsPath)) {
fs.mkdir(userPluginsPath)
}
Object.assign(window, { builtinPluginsPath, userPluginsPath })
nodeModule.globalPaths.unshift(builtinPluginsPath)
nodeModule.globalPaths.unshift(path.join(userPluginsPath, 'node_modules'))
@@ -36,9 +38,9 @@ if (process.env.TERMINUS_PLUGINS) {
process.env.TERMINUS_PLUGINS.split(':').map(x => nodeModule.globalPaths.push(normalizePath(x)))
}
export declare type ProgressCallback = (current, total) => void
export type ProgressCallback = (current: number, total: number) => void // eslint-disable-line @typescript-eslint/no-type-alias
export interface IPluginInfo {
export interface PluginInfo {
name: string
description: string
packageName: string
@@ -62,6 +64,7 @@ const builtinModules = [
'ngx-toastr',
'rxjs',
'rxjs/operators',
'rxjs-compat/Subject',
'terminus-core',
'terminus-settings',
'terminus-terminal',
@@ -70,47 +73,53 @@ const builtinModules = [
const cachedBuiltinModules = {}
builtinModules.forEach(m => {
const label = 'Caching ' + m
console.time(label)
cachedBuiltinModules[m] = nodeRequire(m)
console.timeEnd(label)
})
const originalRequire = nodeRequire('module').prototype.require
nodeRequire('module').prototype.require = function (query) {
const originalRequire = (global as any).require
;(global as any).require = function (query: string) {
if (cachedBuiltinModules[query]) {
return cachedBuiltinModules[query]
}
return originalRequire.apply(this, arguments)
}
export async function findPlugins (): Promise<IPluginInfo[]> {
let paths = nodeModule.globalPaths
let foundPlugins: IPluginInfo[] = []
let candidateLocations: { pluginDir: string, packageName: string }[] = []
export async function findPlugins (): Promise<PluginInfo[]> {
const paths = nodeModule.globalPaths
let foundPlugins: PluginInfo[] = []
const candidateLocations: { pluginDir: string, packageName: string }[] = []
const PREFIX = 'terminus-'
for (let pluginDir of paths) {
pluginDir = normalizePath(pluginDir)
if (!await fs.exists(pluginDir)) {
continue
}
let pluginNames = await fs.readdir(pluginDir)
const pluginNames = await fs.readdir(pluginDir)
if (await fs.exists(path.join(pluginDir, 'package.json'))) {
candidateLocations.push({
pluginDir: path.dirname(pluginDir),
packageName: path.basename(pluginDir)
packageName: path.basename(pluginDir),
})
}
for (let packageName of pluginNames) {
candidateLocations.push({ pluginDir, packageName })
for (const packageName of pluginNames) {
if (packageName.startsWith(PREFIX)) {
candidateLocations.push({ pluginDir, packageName })
}
}
}
for (let { pluginDir, packageName } of candidateLocations) {
let pluginPath = path.join(pluginDir, packageName)
let infoPath = path.join(pluginPath, 'package.json')
for (const { pluginDir, packageName } of candidateLocations) {
const pluginPath = path.join(pluginDir, packageName)
const infoPath = path.join(pluginPath, 'package.json')
if (!await fs.exists(infoPath)) {
continue
}
let name = packageName.substring('terminus-'.length)
const name = packageName.substring(PREFIX.length)
if (foundPlugins.some(x => x.name === name)) {
console.info(`Plugin ${packageName} already exists, overriding`)
@@ -118,7 +127,7 @@ export async function findPlugins (): Promise<IPluginInfo[]> {
}
try {
let info = JSON.parse(await fs.readFile(infoPath, { encoding: 'utf-8' }))
const info = JSON.parse(await fs.readFile(infoPath, { encoding: 'utf-8' }))
if (!info.keywords || !(info.keywords.includes('terminus-plugin') || info.keywords.includes('terminus-builtin-plugin'))) {
continue
}
@@ -143,23 +152,25 @@ export async function findPlugins (): Promise<IPluginInfo[]> {
return foundPlugins
}
export async function loadPlugins (foundPlugins: IPluginInfo[], progress: ProgressCallback): Promise<any[]> {
let plugins: any[] = []
export async function loadPlugins (foundPlugins: PluginInfo[], progress: ProgressCallback): Promise<any[]> {
const plugins: any[] = []
progress(0, 1)
let index = 0
for (let foundPlugin of foundPlugins) {
for (const foundPlugin of foundPlugins) {
console.info(`Loading ${foundPlugin.name}: ${nodeRequire.resolve(foundPlugin.path)}`)
progress(index, foundPlugins.length)
try {
let packageModule = nodeRequire(foundPlugin.path)
let pluginModule = packageModule.default.forRoot ? packageModule.default.forRoot() : packageModule.default
const label = 'Loading ' + foundPlugin.name
console.time(label)
const packageModule = nodeRequire(foundPlugin.path)
const pluginModule = packageModule.default.forRoot ? packageModule.default.forRoot() : packageModule.default
pluginModule['pluginName'] = foundPlugin.name
pluginModule['bootstrap'] = packageModule.bootstrap
plugins.push(pluginModule)
console.timeEnd(label)
} catch (error) {
console.error(`Could not load ${foundPlugin.name}:`, error)
}
await delay(1)
index++
}
progress(1, 1)

View File

@@ -1,6 +1,6 @@
import { Component } from '@angular/core'
@Component({
template: '<app-root></app-root>'
template: '<app-root></app-root>',
})
export class RootComponent { }
export class RootComponent { } // eslint-disable-line @typescript-eslint/no-extraneous-class

View File

@@ -2,6 +2,7 @@
display: flex;
flex-direction: column;
align-items: center;
padding: 20px;
.toast {
box-shadow: 0 1px 0 rgba(0,0,0,.25);

View File

@@ -5,7 +5,7 @@ module.exports = {
name: 'terminus',
target: 'node',
entry: {
'index.ignore': 'file-loader?name=index.html!val-loader!pug-html-loader!' + path.resolve(__dirname, './index.pug'),
'index.ignore': 'file-loader?name=index.html!pug-html-loader!' + path.resolve(__dirname, './index.pug'),
preload: path.resolve(__dirname, 'src/entry.preload.ts'),
bundle: path.resolve(__dirname, 'src/entry.ts'),
},
@@ -14,7 +14,7 @@ module.exports = {
minimize: false,
},
context: __dirname,
devtool: 'source-map',
devtool: 'eval-source-map',
output: {
path: path.join(__dirname, 'dist'),
pathinfo: true,

View File

@@ -9,7 +9,7 @@ module.exports = {
},
mode: process.env.TERMINUS_DEV ? 'development' : 'production',
context: __dirname,
devtool: 'source-map',
devtool: 'eval-source-map',
output: {
path: path.join(__dirname, 'dist'),
pathinfo: true,
@@ -36,7 +36,6 @@ module.exports = {
electron: 'commonjs electron',
'electron-config': 'commonjs electron-config',
'electron-vibrancy': 'commonjs electron-vibrancy',
'electron-squirrel-startup': 'commonjs electron-squirrel-startup',
fs: 'commonjs fs',
mz: 'commonjs mz',
path: 'commonjs path',

File diff suppressed because it is too large Load Diff

View File

@@ -6,10 +6,6 @@ platform:
environment:
nodejs_version: "10"
cache:
- "%USERPROFILE%\\.electron"
- "%LOCALAPPDATA%\\Yarn"
version: "{build}"
install:
@@ -18,11 +14,16 @@ install:
- node scripts/build-native.js
build_script:
- yarn run build:typings
- yarn run build
- node scripts/prepackage-plugins.js
- node scripts/build-windows.js
artifacts:
- path: 'dist\win\*.exe'
- path: 'dist\squirrel-windows\*.exe'
- path: 'dist\*.exe'
cache:
- node_modules
- "*\\node_modules"
- "%USERPROFILE%\\.electron"
- "%LOCALAPPDATA%\\Yarn"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 950 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

3
build/installer.nsh Normal file
View File

@@ -0,0 +1,3 @@
!macro customInit
nsExec::Exec '"$LOCALAPPDATA\terminus\Update.exe" --uninstall -s'
!macroend

Binary file not shown.

View File

@@ -1,61 +1,58 @@
{
"name": "term",
"devDependencies": {
"@fortawesome/fontawesome-free": "^5.6.3",
"@types/electron-config": "^0.2.1",
"@types/electron-debug": "^1.1.0",
"@types/fs-promise": "1.0.1",
"@types/js-yaml": "^3.11.2",
"@types/node": "^10.11.5",
"@types/webpack-env": "1.13.0",
"app-builder-lib": "^20.28.4",
"apply-loader": "0.1.0",
"@fortawesome/fontawesome-free": "^5.9.0",
"@types/electron-config": "^3.2.2",
"@types/electron-debug": "^2.1.0",
"@types/fs-promise": "1.0.3",
"@types/js-yaml": "^3.12.1",
"@types/node": "^12.0.8",
"@types/webpack-env": "1.13.9",
"@typescript-eslint/eslint-plugin": "^1.10.2",
"@typescript-eslint/parser": "^1.10.2",
"app-builder-lib": "^20.43.0",
"apply-loader": "2.0.0",
"awesome-typescript-loader": "^5.0.0",
"core-js": "2.4.1",
"cross-env": "4.0.0",
"css-loader": "0.28.0",
"electron": "4.0.5",
"electron-builder": "^20.38.4",
"electron-builder-squirrel-windows": "^20.28.3",
"electron-installer-snap": "^3.0.0",
"electron-rebuild": "^1.8.2",
"file-loader": "^1.1.11",
"graceful-fs": "^4.1.11",
"html-loader": "0.4.4",
"json-loader": "0.5.4",
"node-abi": "^2.4.4",
"node-gyp": "^3.8.0",
"node-sass": "^4.5.3",
"npmlog": "4.1.0",
"core-js": "^3.1.3",
"cross-env": "5.2.0",
"css-loader": "3.0.0",
"electron": "^5.0.3",
"electron-builder": "^20.43.0",
"electron-installer-snap": "^3.2.0",
"electron-rebuild": "^1.8.5",
"eslint": "^5.16.0",
"file-loader": "^4.0.0",
"graceful-fs": "^4.1.15",
"html-loader": "0.5.5",
"json-loader": "0.5.7",
"node-abi": "^2.8.0",
"node-gyp": "^5.0.0",
"node-sass": "^4.12.0",
"npmlog": "4.1.2",
"npx": "^10.2.0",
"pug": "^2.0.3",
"pug-html-loader": "1.0.9",
"pug-html-loader": "1.1.5",
"pug-lint": "^2.5.0",
"pug-loader": "^2.4.0",
"pug-static-loader": "0.0.1",
"raven-js": "3.16.0",
"raw-loader": "0.5.1",
"pug-static-loader": "2.0.0",
"raven-js": "3.27.2",
"raw-loader": "3.0.0",
"sass-loader": "^7.0.1",
"shelljs": "0.7.7",
"shelljs": "0.8.3",
"source-code-pro": "^2.30.1",
"source-sans-pro": "2.0.10",
"source-sans-pro": "2.45.0",
"style-loader": "^0.23.1",
"svg-inline-loader": "^0.8.0",
"to-string-loader": "1.1.5",
"tslint": "^5.12.0",
"tslint-config-standard": "^8.0.1",
"tslint-eslint-rules": "^5.4.0",
"typedoc": "^0.14.2",
"typescript": "^3.1.3",
"url-loader": "^1.1.1",
"val-loader": "0.5.0",
"webpack": "^4.27.1",
"webpack-cli": "^3.1.2",
"yaml-loader": "0.4.0",
"yarn": "^1.10.1"
"typescript": "^3.5.2",
"url-loader": "^2.0.0",
"val-loader": "1.1.1",
"webpack": "^4.34.0",
"webpack-cli": "^3.3.4",
"yaml-loader": "0.5.0"
},
"resolutions": {
"*/node-abi": "^2.5.0"
"*/node-abi": "^2.8.0"
},
"build": {
"appId": "org.terminus",
@@ -71,16 +68,24 @@
],
"win": {
"icon": "./build/windows/icon.ico",
"publish": [
"github"
],
"artifactName": "terminus-${version}-setup.exe"
"artifactName": "terminus-${version}-setup.exe",
"rfc3161TimeStampServer": "http://sha256timestamp.ws.symantec.com/sha256/timestamp"
},
"squirrelWindows": {
"iconUrl": "https://github.com/Eugeny/terminus/raw/master/build/windows/icon.ico",
"loadingGif": "./build/windows/squirrel.gif",
"artifactName": "terminus-${version}-setup.exe"
"nsis": {
"oneClick": false,
"artifactName": "terminus-${version}-setup.${ext}",
"installerIcon": "./build/windows/icon.ico"
},
"publish": [
{
"provider": "bintray",
"token": "d993c4faa708a4cba84fa3a8e822457e7298d75c",
"component": "main"
},
{
"provider": "github"
}
],
"portable": {
"artifactName": "terminus-${version}-portable.exe"
},
@@ -88,9 +93,6 @@
"category": "public.app-category.video",
"icon": "./build/mac/icon.icns",
"artifactName": "terminus-${version}-macos.${ext}",
"publish": [
"github"
],
"extendInfo": {
"NSRequiresAquaSystemAppearance": false
}
@@ -101,21 +103,17 @@
"linux": {
"category": "Utilities",
"icon": "./build/icons",
"artifactName": "terminus-${version}-linux.${ext}",
"publish": [
"github"
]
"artifactName": "terminus-${version}-linux.${ext}"
},
"deb": {
"depends": [
"screen",
"gconf2",
"gconf-service",
"libnotify4",
"libsecret-1-0",
"libappindicator1",
"libxtst6",
"libnss3",
"tmux"
"libnss3"
],
"afterInstall": "build/linux/after-install.tpl"
},
@@ -127,13 +125,17 @@
}
},
"scripts": {
"build": "webpack --color --config app/webpack.main.config.js && webpack --color --config app/webpack.config.js && webpack --color --config terminus-core/webpack.config.js && webpack --color --config terminus-settings/webpack.config.js && webpack --color --config terminus-terminal/webpack.config.js && webpack --color --config terminus-settings/webpack.config.js && webpack --color --config terminus-plugin-manager/webpack.config.js && webpack --color --config terminus-community-color-schemes/webpack.config.js && webpack --color --config terminus-ssh/webpack.config.js",
"build": "webpack --color --config app/webpack.main.config.js && webpack --color --config app/webpack.config.js && webpack --color --config terminus-core/webpack.config.js && webpack --color --config terminus-settings/webpack.config.js && webpack --color --config terminus-terminal/webpack.config.js && webpack --color --config terminus-plugin-manager/webpack.config.js && webpack --color --config terminus-community-color-schemes/webpack.config.js && webpack --color --config terminus-ssh/webpack.config.js",
"build:typings": "tsc --project terminus-core/tsconfig.typings.json && tsc --project terminus-settings/tsconfig.typings.json && tsc --project terminus-terminal/tsconfig.typings.json && tsc --project terminus-plugin-manager/tsconfig.typings.json && tsc --project terminus-ssh/tsconfig.typings.json",
"watch": "cross-env TERMINUS_DEV=1 webpack --progress --color --watch",
"start": "cross-env TERMINUS_DEV=1 electron app --debug",
"prod": "cross-env TERMINUS_DEV=1 electron app",
"docs": "typedoc --out docs/api terminus-core/src && typedoc --out docs/api/terminal terminus-terminal/src && typedoc --out docs/api/settings terminus-settings/src",
"lint": "tslint -c tslint.json -t stylish terminus-*/src/**/*.ts terminus-*/src/*.ts app/src/*.ts",
"docs": "typedoc --out docs/api terminus-core/src && typedoc --out docs/api/terminal --tsconfig terminus-terminal/tsconfig.typings.json terminus-terminal/src && typedoc --out docs/api/settings --tsconfig terminus-settings/tsconfig.typings.json terminus-settings/src",
"lint": "eslint --ext ts */src",
"postinstall": "node ./scripts/install-deps.js"
},
"repository": "eugeny/terminus"
"repository": "eugeny/terminus",
"dependencies": {
"eslint-plugin-import": "^2.17.3"
}
}

View File

@@ -4,7 +4,7 @@ const path = require('path')
const vars = require('./vars')
lifecycles = []
for (let dir of ['app', 'terminus-ssh', 'terminus-terminal']) {
for (let dir of ['app', 'terminus-core', 'terminus-ssh', 'terminus-terminal']) {
lifecycles.push([rebuild({
buildPath: path.resolve(__dirname, '../' + dir),
electronVersion: vars.electronVersion,

View File

@@ -4,7 +4,7 @@ const vars = require('./vars')
builder({
dir: true,
win: ['squirrel', 'portable'],
win: ['nsis', 'portable'],
config: {
extraMetadata: {
version: vars.version,

26
snap/snapcraft.yaml Normal file
View File

@@ -0,0 +1,26 @@
name: terminus
version: '1.0.0'
summary: A terminal for a modern age
description: |
Terminus is a terminal heavily inspired by Hyper. It is, however, designed for people who need to get things done.
grade: devel
confinement: devmode
apps:
terminus:
command: opt/terminus/terminus
parts:
app:
plugin: nodejs
source: .
build-packages:
- libfontconfig-dev
override-build: |
yarn
./scripts/build-native.js
yarn run build
./scripts/build-linux.js
mkdir -p $SNAPCRAFT_PART_INSTALL/opt/terminus || true
cp -ar dist/linux-unpacked/* $SNAPCRAFT_PART_INSTALL/opt/terminus/

View File

@@ -1,12 +1,12 @@
{
"name": "terminus-community-color-schemes",
"version": "1.0.68-c17-g8b64a81",
"version": "1.0.73-c4-ga7d62b0",
"description": "Community color schemes for Terminus",
"keywords": [
"terminus-builtin-plugin"
],
"main": "dist/index.js",
"typings": "dist/index.d.ts",
"typings": "typings/index.d.ts",
"scripts": {
"build": "webpack --progress --color",
"watch": "webpack --progress --color --watch"
@@ -22,8 +22,7 @@
"terminus-terminal": "*"
},
"devDependencies": {
"@types/node": "7.0.12",
"@types/node": "12.0.8",
"@types/webpack-env": "^1.13.0"
},
"false": {}
}
}

View File

@@ -0,0 +1,36 @@
! special
*.foreground: #d8d8d8
*.background: #343a43
*.cursorColor: #d8d8d8
! black
*.color0: #2c3037
*.color8: #626262
! red
*.color1: #bb5653
*.color9: #c35956
! green
*.color2: #909d62
*.color10: #9fab76
! yellow
*.color3: #eac179
*.color11: #ecc179
! blue
*.color4: #698698
*.color12: #7da9c7
! magenta
*.color5: #b06597
*.color13: #ba6ca0
! cyan
*.color6: #c9dfff
*.color14: #abbacf
! white
*.color7: #d8d8d8
*.color15: #f7f7f7

View File

@@ -1,26 +1,26 @@
import { Injectable } from '@angular/core'
import { TerminalColorSchemeProvider, ITerminalColorScheme } from 'terminus-terminal'
import { TerminalColorSchemeProvider, TerminalColorScheme } from 'terminus-terminal'
const schemeContents = require.context('../schemes/', true, /.*/)
@Injectable()
export class ColorSchemes extends TerminalColorSchemeProvider {
async getSchemes (): Promise<ITerminalColorScheme[]> {
let schemes: ITerminalColorScheme[] = []
async getSchemes (): Promise<TerminalColorScheme[]> {
const schemes: TerminalColorScheme[] = []
schemeContents.keys().forEach(schemeFile => {
let lines = (schemeContents(schemeFile) as string).split('\n')
const lines = (schemeContents(schemeFile).default as string).split('\n')
// process #define variables
let variables: any = {}
const variables: any = {}
lines
.filter(x => x.startsWith('#define'))
.map(x => x.split(' ').map(v => v.trim()))
.forEach(([ignore, variableName, variableValue]) => {
.forEach(([_, variableName, variableValue]) => {
variables[variableName] = variableValue
})
let values: any = {}
const values: any = {}
lines
.filter(x => x.startsWith('*.'))
.map(x => x.substring(2))
@@ -29,7 +29,7 @@ export class ColorSchemes extends TerminalColorSchemeProvider {
values[key] = variables[value] ? variables[value] : value
})
let colors: string[] = []
const colors: string[] = []
let colorIndex = 0
while (values[`color${colorIndex}`]) {
colors.push(values[`color${colorIndex}`])

View File

@@ -8,4 +8,4 @@ import { ColorSchemes } from './colorSchemes'
{ provide: TerminalColorSchemeProvider, useClass: ColorSchemes, multi: true },
],
})
export default class PopularThemesModule { }
export default class PopularThemesModule { } // eslint-disable-line @typescript-eslint/no-extraneous-class

View File

@@ -2,7 +2,6 @@
"extends": "../tsconfig.json",
"exclude": ["node_modules", "dist"],
"compilerOptions": {
"baseUrl": "src",
"declarationDir": "dist"
"baseUrl": "src"
}
}

View File

@@ -4,7 +4,7 @@ const webpack = require('webpack')
module.exports = {
target: 'node',
entry: 'src/index.ts',
devtool: 'source-map',
devtool: 'eval-source-map',
context: __dirname,
output: {
path: path.resolve(__dirname, 'dist'),

View File

@@ -2,12 +2,12 @@
# yarn lockfile v1
"@types/node@7.0.12":
version "7.0.12"
resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.12.tgz#ae5f67a19c15f752148004db07cbbb372e69efc9"
integrity sha1-rl9noZwV91IUgATbB8u7Ny5p78k=
"@types/node@12.0.8":
version "12.0.8"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.8.tgz#551466be11b2adc3f3d47156758f610bd9f6b1d8"
integrity sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==
"@types/webpack-env@^1.13.0":
version "1.13.1"
resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.13.1.tgz#b45c222e24301bd006e3edfc762cc6b51bda236a"
integrity sha512-oHyg0NssP2RCpCvE35hhbSqMJRsc5lSW+GFe+Vc65JL+kHII1VMYM+0KeV/z4utFuUqPoQRmq8KMMp7ba0dj6Q==
version "1.13.9"
resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.13.9.tgz#a67287861c928ebf4159a908d1fb1a2a34d4097a"
integrity sha512-p8zp5xqkly3g4cCmo2mKOHI9+Z/kObmDj0BmjbDDJQlgDTiEGTbm17MEwTAusV6XceCy+bNw9q/ZHXHyKo3zkg==

View File

@@ -1,12 +1,12 @@
{
"name": "terminus-core",
"version": "1.0.68-c17-g8b64a81",
"version": "1.0.73-c4-ga7d62b0",
"description": "Terminus core",
"keywords": [
"terminus-builtin-plugin"
],
"main": "dist/index.js",
"typings": "dist/index.d.ts",
"typings": "typings/index.d.ts",
"scripts": {
"build": "webpack --progress --color --display-modules",
"watch": "webpack --progress --color --watch"
@@ -18,18 +18,24 @@
"license": "MIT",
"devDependencies": {
"@types/js-yaml": "^3.9.0",
"@types/node": "^7.0.37",
"@types/node": "^12.0.2",
"@types/webpack-env": "^1.13.0",
"@types/winston": "^2.3.6",
"axios": "^0.18.0",
"axios": "^0.19.0",
"bootstrap": "^4.1.3",
"core-js": "^2.4.1",
"electron-updater": "^2.8.9",
"core-js": "^3.1.2",
"deepmerge": "^3.2.0",
"electron-updater": "^4.0.6",
"js-yaml": "^3.9.0",
"mixpanel": "^0.10.2",
"ng2-dnd": "^5.0.2",
"ngx-perfect-scrollbar": "^6.0.0",
"rage-edit": "^1.2.0",
"shell-escape": "^0.2.0",
"universal-analytics": "^0.4.17"
"uuid": "^3.3.2",
"winston": "^3.2.1"
},
"optionalDependencies": {
"windows-native-registry": "^1.0.14"
},
"peerDependencies": {
"@angular/animations": "4.0.1",
@@ -40,10 +46,5 @@
"@angular/platform-browser-dynamic": "4.0.1",
"rxjs": "5.3.0",
"zone.js": "0.8.4"
},
"dependencies": {
"deepmerge": "^1.5.0",
"js-yaml": "^3.9.0",
"winston": "^2.4.0"
}
}

View File

@@ -1,4 +1,4 @@
export interface IHotkeyDescription {
export interface HotkeyDescription {
id: string
name: string
}
@@ -8,7 +8,7 @@ export interface IHotkeyDescription {
* must also provide the `hotkeys.foo` config options with the default values
*/
export abstract class HotkeyProvider {
hotkeys: IHotkeyDescription[] = []
hotkeys: HotkeyDescription[] = []
abstract provide (): Promise<IHotkeyDescription[]>
abstract provide (): Promise<HotkeyDescription[]>
}

View File

@@ -1,9 +1,9 @@
export { BaseTabComponent, BaseTabProcess } from '../components/baseTab.component'
export { SplitTabComponent, SplitContainer } from '../components/splitTab.component'
export { TabRecoveryProvider, RecoveredTab } from './tabRecovery'
export { ToolbarButtonProvider, IToolbarButton } from './toolbarButtonProvider'
export { ToolbarButtonProvider, ToolbarButton } from './toolbarButtonProvider'
export { ConfigProvider } from './configProvider'
export { HotkeyProvider, IHotkeyDescription } from './hotkeyProvider'
export { HotkeyProvider, HotkeyDescription } from './hotkeyProvider'
export { Theme } from './theme'
export { TabContextMenuItemProvider } from './tabContextMenuProvider'

View File

@@ -3,7 +3,7 @@ import { SafeHtml } from '@angular/platform-browser'
/**
* See [[ToolbarButtonProvider]]
*/
export interface IToolbarButton {
export interface ToolbarButton {
/**
* Raw SVG icon code
*/
@@ -23,12 +23,17 @@ export interface IToolbarButton {
weight?: number
click: () => void
click?: () => void
submenu?: () => Promise<ToolbarButton[]>
/** @hidden */
submenuItems?: ToolbarButton[]
}
/**
* Extend to add buttons to the toolbar
*/
export abstract class ToolbarButtonProvider {
abstract provide (): IToolbarButton[]
abstract provide (): ToolbarButton[]
}

View File

@@ -32,22 +32,48 @@ title-bar(
)
.btn-group.background
button.btn.btn-secondary.btn-tab-bar(
*ngFor='let button of leftToolbarButtons',
[title]='button.title',
(click)='button.click()',
[innerHTML]='button.icon',
.d-flex(
*ngFor='let button of leftToolbarButtons',
ngbDropdown,
(openChange)='generateButtonSubmenu(button)',
)
button.btn.btn-secondary.btn-tab-bar(
[title]='button.title',
(click)='button.click && button.click()',
[innerHTML]='button.icon',
ngbDropdownToggle,
)
div(*ngIf='button.submenu', ngbDropdownMenu)
button.dropdown-item.d-flex.align-items-center(
*ngFor='let item of button.submenuItems',
(click)='item.click()',
ngbDropdownItem,
)
.icon-wrapper([innerHTML]='item.icon')
.ml-3 {{item.title}}
.drag-space.background([class.persistent]='config.store.appearance.frame == "thin" && hostApp.platform != Platform.macOS')
.btn-group.background
button.btn.btn-secondary.btn-tab-bar(
*ngFor='let button of rightToolbarButtons',
[title]='button.title',
(click)='button.click()',
[innerHTML]='button.icon',
.d-flex(
*ngFor='let button of rightToolbarButtons',
ngbDropdown,
(openChange)='generateButtonSubmenu(button)',
)
button.btn.btn-secondary.btn-tab-bar(
[title]='button.title',
(click)='button.click && button.click()',
[innerHTML]='button.icon',
ngbDropdownToggle,
)
div(*ngIf='button.submenu', ngbDropdownMenu)
button.dropdown-item.d-flex.align-items-center(
*ngFor='let item of button.submenuItems',
(click)='item.click()',
ngbDropdownItem,
)
.icon-wrapper([innerHTML]='item.icon')
.ml-3 {{item.title}}
button.btn.btn-secondary.btn-tab-bar.btn-update(
*ngIf='updatesAvailable',

View File

@@ -48,6 +48,10 @@ $tab-border-radius: 4px;
color: #aaa;
border: none;
border-radius: 0;
&.dropdown-toggle::after {
display: none;
}
}
&>.tabs {
@@ -88,12 +92,20 @@ hotkey-hint {
max-width: 300px;
}
::ng-deep .btn-tab-bar svg {
::ng-deep .btn-tab-bar svg,
::ng-deep .btn-tab-bar + .dropdown-menu svg {
width: 16px;
height: 16px;
fill: white;
fill-opacity: 0.75;
}
.icon-wrapper {
display: flex;
width: 16px;
height: 17px;
}
::ng-deep .btn-update svg {
fill: cyan;
}

View File

@@ -15,7 +15,7 @@ import { TouchbarService } from '../services/touchbar.service'
import { BaseTabComponent } from './baseTab.component'
import { SafeModeModalComponent } from './safeModeModal.component'
import { AppService, IToolbarButton, ToolbarButtonProvider } from '../api'
import { AppService, ToolbarButton, ToolbarButtonProvider } from '../api'
/** @hidden */
@Component({
@@ -26,36 +26,36 @@ import { AppService, IToolbarButton, ToolbarButtonProvider } from '../api'
trigger('animateTab', [
state('in', style({
'flex-basis': '200px',
'width': '200px',
width: '200px',
})),
transition(':enter', [
style({
'flex-basis': '1px',
'width': '1px',
width: '1px',
}),
animate('250ms ease-in-out', style({
'flex-basis': '200px',
'width': '200px',
}))
width: '200px',
})),
]),
transition(':leave', [
style({
'flex-basis': '200px',
'width': '200px',
width: '200px',
}),
animate('250ms ease-in-out', style({
'flex-basis': '1px',
'width': '1px',
}))
])
])
]
width: '1px',
})),
]),
]),
],
})
export class AppRootComponent {
Platform = Platform
@Input() ready = false
@Input() leftToolbarButtons: IToolbarButton[]
@Input() rightToolbarButtons: IToolbarButton[]
@Input() leftToolbarButtons: ToolbarButton[]
@Input() rightToolbarButtons: ToolbarButton[]
@HostBinding('class.platform-win32') platformClassWindows = process.platform === 'win32'
@HostBinding('class.platform-darwin') platformClassMacOS = process.platform === 'darwin'
@HostBinding('class.platform-linux') platformClassLinux = process.platform === 'linux'
@@ -89,9 +89,9 @@ export class AppRootComponent {
this.updateIcon = domSanitizer.bypassSecurityTrustHtml(require('../icons/gift.svg')),
this.hotkeys.matchedHotkey.subscribe((hotkey) => {
this.hotkeys.matchedHotkey.subscribe((hotkey: string) => {
if (hotkey.startsWith('tab-')) {
let index = parseInt(hotkey.split('-')[1])
const index = parseInt(hotkey.split('-')[1])
if (index <= this.app.tabs.length) {
this.app.selectTab(this.app.tabs[index - 1])
}
@@ -233,14 +233,20 @@ export class AppRootComponent {
})
}
private getToolbarButtons (aboveZero: boolean): IToolbarButton[] {
let buttons: IToolbarButton[] = []
async generateButtonSubmenu (button: ToolbarButton) {
if (button.submenu) {
button.submenuItems = await button.submenu()
}
}
private getToolbarButtons (aboveZero: boolean): ToolbarButton[] {
let buttons: ToolbarButton[] = []
this.config.enabledServices(this.toolbarButtonProviders).forEach(provider => {
buttons = buttons.concat(provider.provide())
})
return buttons
.filter((button) => (button.weight > 0) === aboveZero)
.sort((a: IToolbarButton, b: IToolbarButton) => (a.weight || 0) - (b.weight || 0))
.filter(button => button.weight > 0 === aboveZero)
.sort((a: ToolbarButton, b: ToolbarButton) => (a.weight || 0) - (b.weight || 0))
}
private updateVibrancy () {

View File

@@ -91,7 +91,7 @@ export abstract class BaseTabComponent {
}
this.progressClearTimeout = setTimeout(() => {
this.setProgress(null)
}, 5000)
}, 5000) as any
}
}

View File

@@ -8,7 +8,7 @@ import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'
styles: [require('./checkbox.component.scss')],
providers: [
{ provide: NG_VALUE_ACCESSOR, useExisting: CheckboxComponent, multi: true },
]
],
})
export class CheckboxComponent implements ControlValueAccessor {
@HostBinding('class.active') @Input() model: boolean
@@ -23,7 +23,7 @@ export class CheckboxComponent implements ControlValueAccessor {
}
this.model = !this.model
for (let fx of this.changed) {
for (const fx of this.changed) {
fx(this.model)
}
}

View File

@@ -6,8 +6,8 @@ import { TabsService } from '../services/tabs.service'
import { HotkeysService } from '../services/hotkeys.service'
import { TabRecoveryService } from '../services/tabRecovery.service'
export declare type SplitOrientation = 'v' | 'h'
export declare type SplitDirection = 'r' | 't' | 'b' | 'l'
export type SplitOrientation = 'v' | 'h' // eslint-disable-line @typescript-eslint/no-type-alias
export type SplitDirection = 'r' | 't' | 'b' | 'l' // eslint-disable-line @typescript-eslint/no-type-alias
/**
* Describes a horizontal or vertical split row or column
@@ -35,7 +35,7 @@ export class SplitContainer {
*/
getAllTabs () {
let r = []
for (let child of this.children) {
for (const child of this.children) {
if (child instanceof SplitContainer) {
r = r.concat(child.getAllTabs())
} else {
@@ -50,7 +50,7 @@ export class SplitContainer {
*/
normalize () {
for (let i = 0; i < this.children.length; i++) {
let child = this.children[i]
const child = this.children[i]
if (child instanceof SplitContainer) {
child.normalize()
@@ -63,7 +63,7 @@ export class SplitContainer {
} else if (child.children.length === 1) {
this.children[i] = child.children[0]
} else if (child.orientation === this.orientation) {
let ratio = this.ratios[i]
const ratio = this.ratios[i]
this.children.splice(i, 1)
this.ratios.splice(i, 1)
for (let j = 0; j < child.children.length; j++) {
@@ -76,7 +76,7 @@ export class SplitContainer {
}
let s = 0
for (let x of this.ratios) {
for (const x of this.ratios) {
s += x
}
this.ratios = this.ratios.map(x => x / s)
@@ -94,8 +94,8 @@ export class SplitContainer {
}
async serialize () {
let children = []
for (let child of this.children) {
const children = []
for (const child of this.children) {
if (child instanceof SplitContainer) {
children.push(await child.serialize())
} else {
@@ -198,30 +198,33 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
return
}
switch (hotkey) {
case 'split-right':
this.splitTab(this.focusedTab, 'r')
break
case 'split-bottom':
this.splitTab(this.focusedTab, 'b')
break
case 'split-top':
this.splitTab(this.focusedTab, 't')
break
case 'split-left':
this.splitTab(this.focusedTab, 'l')
break
case 'split-nav-left':
this.navigate('l')
break
case 'split-nav-right':
this.navigate('r')
break
case 'split-nav-up':
this.navigate('t')
break
case 'split-nav-down':
this.navigate('b')
break
case 'split-right':
this.splitTab(this.focusedTab, 'r')
break
case 'split-bottom':
this.splitTab(this.focusedTab, 'b')
break
case 'split-top':
this.splitTab(this.focusedTab, 't')
break
case 'split-left':
this.splitTab(this.focusedTab, 'l')
break
case 'pane-nav-left':
this.navigate('l')
break
case 'pane-nav-right':
this.navigate('r')
break
case 'pane-nav-up':
this.navigate('t')
break
case 'pane-nav-down':
this.navigate('b')
break
case 'close-pane':
this.removeTab(this.focusedTab)
break
}
})
}
@@ -254,7 +257,7 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
focus (tab: BaseTabComponent) {
this.focusedTab = tab
for (let x of this.getAllTabs()) {
for (const x of this.getAllTabs()) {
if (x !== tab) {
x.emitBlurred()
}
@@ -288,11 +291,11 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
let insertIndex = target.children.indexOf(relative)
if (
(target.orientation === 'v' && ['l', 'r'].includes(side)) ||
(target.orientation === 'h' && ['t', 'b'].includes(side))
target.orientation === 'v' && ['l', 'r'].includes(side) ||
target.orientation === 'h' && ['t', 'b'].includes(side)
) {
let newContainer = new SplitContainer()
newContainer.orientation = (target.orientation === 'v') ? 'h' : 'v'
const newContainer = new SplitContainer()
newContainer.orientation = target.orientation === 'v' ? 'h' : 'v'
newContainer.children = [relative]
newContainer.ratios = [1]
target.children[insertIndex] = newContainer
@@ -303,7 +306,7 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
if (insertIndex === -1) {
insertIndex = 0
} else {
insertIndex += (side === 'l' || side === 't') ? 0 : 1
insertIndex += side === 'l' || side === 't' ? 0 : 1
}
for (let i = 0; i < target.children.length; i++) {
@@ -323,8 +326,8 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
}
removeTab (tab: BaseTabComponent) {
let parent = this.getParentOf(tab)
let index = parent.children.indexOf(tab)
const parent = this.getParentOf(tab)
const index = parent.children.indexOf(tab)
parent.ratios.splice(index, 1)
parent.children.splice(index, 1)
@@ -336,6 +339,8 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
if (this.root.children.length === 0) {
this.destroy()
} else {
this.focusAnyIn(parent)
}
}
@@ -345,7 +350,7 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
navigate (dir: SplitDirection) {
let rel: BaseTabComponent | SplitContainer = this.focusedTab
let parent = this.getParentOf(rel)
let orientation = ['l', 'r'].includes(dir) ? 'h' : 'v'
const orientation = ['l', 'r'].includes(dir) ? 'h' : 'v'
while (parent !== this.root && parent.orientation !== orientation) {
rel = parent
@@ -356,7 +361,7 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
return
}
let index = parent.children.indexOf(rel)
const index = parent.children.indexOf(rel)
if (['l', 't'].includes(dir)) {
if (index > 0) {
this.focusAnyIn(parent.children[index - 1])
@@ -369,7 +374,7 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
}
async splitTab (tab: BaseTabComponent, dir: SplitDirection) {
let newTab = await this.tabsService.duplicate(tab)
const newTab = await this.tabsService.duplicate(tab)
this.addTab(newTab, tab, dir)
}
@@ -378,9 +383,9 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
*/
getParentOf (tab: BaseTabComponent | SplitContainer, root?: SplitContainer): SplitContainer {
root = root || this.root
for (let child of root.children) {
for (const child of root.children) {
if (child instanceof SplitContainer) {
let r = this.getParentOf(tab, child)
const r = this.getParentOf(tab, child)
if (r) {
return r
}
@@ -414,7 +419,7 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
}
private attachTabView (tab: BaseTabComponent) {
let ref = this.viewContainer.insert(tab.hostView) as EmbeddedViewRef<any>
const ref = this.viewContainer.insert(tab.hostView) as EmbeddedViewRef<any> // eslint-disable-line @typescript-eslint/no-unnecessary-type-assertion
this.viewRefs.set(tab, ref)
ref.rootNodes[0].addEventListener('click', () => this.focus(tab))
@@ -431,7 +436,7 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
}
private detachTabView (tab: BaseTabComponent) {
let ref = this.viewRefs.get(tab)
const ref = this.viewRefs.get(tab)
this.viewRefs.delete(tab)
this.viewContainer.remove(this.viewContainer.indexOf(ref))
}
@@ -443,8 +448,8 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
}
private layoutInternal (root: SplitContainer, x: number, y: number, w: number, h: number) {
let size = (root.orientation === 'v') ? h : w
let sizes = root.ratios.map(x => x * size)
const size = root.orientation === 'v' ? h : w
const sizes = root.ratios.map(x => x * size)
root.x = x
root.y = y
@@ -453,21 +458,21 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
let offset = 0
root.children.forEach((child, i) => {
let childX = (root.orientation === 'v') ? x : (x + offset)
let childY = (root.orientation === 'v') ? (y + offset) : y
let childW = (root.orientation === 'v') ? w : sizes[i]
let childH = (root.orientation === 'v') ? sizes[i] : h
const childX = root.orientation === 'v' ? x : x + offset
const childY = root.orientation === 'v' ? y + offset : y
const childW = root.orientation === 'v' ? w : sizes[i]
const childH = root.orientation === 'v' ? sizes[i] : h
if (child instanceof SplitContainer) {
this.layoutInternal(child, childX, childY, childW, childH)
} else {
let element = this.viewRefs.get(child).rootNodes[0]
const element = this.viewRefs.get(child).rootNodes[0]
element.style.position = 'absolute'
element.style.left = `${childX}%`
element.style.top = `${childY}%`
element.style.width = `${childW}%`
element.style.height = `${childH}%`
element.style.opacity = (child === this.focusedTab) ? 1 : 0.75
element.style.opacity = child === this.focusedTab ? 1 : 0.75
}
offset += sizes[i]
@@ -481,19 +486,19 @@ export class SplitTabComponent extends BaseTabComponent implements OnInit, OnDes
}
private async recoverContainer (root: SplitContainer, state: any) {
let children: (SplitContainer | BaseTabComponent)[] = []
const children: (SplitContainer | BaseTabComponent)[] = []
root.orientation = state.orientation
root.ratios = state.ratios
root.children = children
for (let childState of state.children) {
for (const childState of state.children) {
if (childState.type === 'app:split-tab') {
let child = new SplitContainer()
const child = new SplitContainer()
await this.recoverContainer(child, childState)
children.push(child)
} else {
let recovered = await this.tabRecovery.recoverTab(childState)
const recovered = await this.tabRecovery.recoverTab(childState)
if (recovered) {
let tab = this.tabsService.create(recovered.type, recovered.options)
const tab = this.tabsService.create(recovered.type, recovered.options)
children.push(tab)
this.attachTabView(tab)
} else {

View File

@@ -23,15 +23,15 @@ export class SplitTabSpannerComponent {
constructor (private element: ElementRef) { }
ngAfterViewInit () {
this.element.nativeElement.addEventListener('mousedown', e => {
this.element.nativeElement.addEventListener('mousedown', (e: MouseEvent) => {
this.isActive = true
let start = this.isVertical ? e.pageY : e.pageX
const start = this.isVertical ? e.pageY : e.pageX
let current = start
let oldPosition = this.isVertical ? this.element.nativeElement.offsetTop : this.element.nativeElement.offsetLeft
const oldPosition: number = this.isVertical ? this.element.nativeElement.offsetTop : this.element.nativeElement.offsetLeft
const dragHandler = e => {
const dragHandler = (e: MouseEvent) => {
current = this.isVertical ? e.pageY : e.pageX
let newPosition = oldPosition + (current - start)
const newPosition = oldPosition + (current - start)
if (this.isVertical) {
this.element.nativeElement.style.top = `${newPosition - this.marginOffset}px`
} else {

View File

@@ -1,7 +1,7 @@
import { Component, Inject } from '@angular/core'
import { ConfigService } from '../services/config.service'
import { HomeBaseService } from '../services/homeBase.service'
import { IToolbarButton, ToolbarButtonProvider } from '../api'
import { ToolbarButton, ToolbarButtonProvider } from '../api'
/** @hidden */
@Component({
@@ -19,10 +19,11 @@ export class StartPageComponent {
) {
}
getButtons (): IToolbarButton[] {
getButtons (): ToolbarButton[] {
return this.config.enabledServices(this.toolbarButtonProviders)
.map(provider => provider.provide())
.reduce((a, b) => a.concat(b))
.sort((a: IToolbarButton, b: IToolbarButton) => (a.weight || 0) - (b.weight || 0))
.filter(x => !!x.click)
.sort((a: ToolbarButton, b: ToolbarButton) => (a.weight || 0) - (b.weight || 0))
}
}

View File

@@ -52,7 +52,7 @@ export class TabHeaderComponent {
}
showRenameTabModal (): void {
let modal = this.ngbModal.open(RenameTabModalComponent)
const modal = this.ngbModal.open(RenameTabModalComponent)
modal.componentInstance.value = this.tab.customTitle || this.tab.title
modal.result.then(result => {
this.tab.setTitle(result)
@@ -62,7 +62,7 @@ export class TabHeaderComponent {
async buildContextMenu (): Promise<Electron.MenuItemConstructorOptions[]> {
let items: Electron.MenuItemConstructorOptions[] = []
for (let section of await Promise.all(this.contextMenuProviders.map(x => x.getItems(this.tab, this)))) {
for (const section of await Promise.all(this.contextMenuProviders.map(x => x.getItems(this.tab, this)))) {
items.push({ type: 'separator' })
items = items.concat(section)
}
@@ -85,7 +85,6 @@ export class TabHeaderComponent {
contextMenu.popup({
x: $event.pageX,
y: $event.pageY,
async: true,
})
}
}

View File

@@ -6,4 +6,4 @@ import { Component } from '@angular/core'
template: require('./titleBar.component.pug'),
styles: [require('./titleBar.component.scss')],
})
export class TitleBarComponent { }
export class TitleBarComponent { } // eslint-disable-line @typescript-eslint/no-extraneous-class

View File

@@ -17,7 +17,7 @@ import { CheckboxComponent } from './checkbox.component'
styles: [require('./toggle.component.scss')],
providers: [
{ provide: NG_VALUE_ACCESSOR, useExisting: ToggleComponent, multi: true },
]
],
})
export class ToggleComponent extends CheckboxComponent {
}

View File

@@ -0,0 +1,19 @@
.mb-4
.terminus-logo
h1.terminus-title Terminus
sup α
.container
.text-center.mb-5 Thank you for downloading Terminus!
.form-line
.header
.title Enable analytics
.description Help us track the number of Terminus installs across the world!
toggle(
[(ngModel)]='config.store.enableAnalytics',
(ngModelChange)='config.save(); config.requestRestart()',
)
.text-center.mt-5
button.btn.btn-primary((click)='closeAndDisable()') Close and never show again

View File

@@ -0,0 +1,6 @@
:host {
display: flex;
flex-direction: column;
margin: auto;
flex: 0 1 500px;
}

View File

@@ -0,0 +1,26 @@
import { Component } from '@angular/core'
import { BaseTabComponent } from './baseTab.component'
import { ConfigService } from '../services/config.service'
import { AppService } from '../services/app.service'
/** @hidden */
@Component({
selector: 'welcome-page',
template: require('./welcomeTab.component.pug'),
styles: [require('./welcomeTab.component.scss')],
})
export class WelcomeTabComponent extends BaseTabComponent {
constructor (
private app: AppService,
public config: ConfigService,
) {
super()
this.setTitle('Welcome')
}
closeAndDisable () {
this.config.store.enableWelcomeTab = false
this.config.save()
this.app.closeTab(this)
}
}

View File

@@ -11,10 +11,10 @@ hotkeys:
rename-tab:
- 'Ctrl-Shift-R'
next-tab:
- 'Ctrl-Shift-ArrowRight'
- 'Ctrl-Shift-Right'
- 'Ctrl-Tab'
previous-tab:
- 'Ctrl-Shift-ArrowLeft'
- 'Ctrl-Shift-Left'
- 'Ctrl-Shift-Tab'
tab-1:
- 'Alt-1'
@@ -42,12 +42,13 @@ hotkeys:
- 'Ctrl-Shift-D'
split-left: []
split-top: []
split-nav-right:
- 'Ctrl-Alt-ArrowRight'
split-nav-down:
- 'Ctrl-Alt-ArrowDown'
split-nav-up:
- 'Ctrl-Alt-ArrowUp'
split-nav-left:
- 'Ctrl-Alt-ArrowLeft'
pane-nav-right:
- 'Ctrl-Alt-Right'
pane-nav-down:
- 'Ctrl-Alt-Down'
pane-nav-up:
- 'Ctrl-Alt-Up'
pane-nav-left:
- 'Ctrl-Alt-Left'
close-pane: []
pluginBlacklist: ['ssh']

View File

@@ -40,12 +40,14 @@ hotkeys:
- '⌘-D'
split-left: []
split-top: []
split-nav-right:
- '⌘-⌥-ArrowRight'
split-nav-down:
- '⌘-⌥-ArrowDown'
split-nav-up:
- '⌘-⌥-ArrowUp'
split-nav-left:
- '⌘-⌥-ArrowLeft'
pane-nav-right:
- '⌘-⌥-Right'
pane-nav-down:
- '⌘-⌥-Down'
pane-nav-up:
- '⌘-⌥-Up'
pane-nav-left:
- '⌘-⌥-Left'
close-pane:
- '⌘-Shift-W'
pluginBlacklist: ['ssh']

View File

@@ -11,10 +11,10 @@ hotkeys:
rename-tab:
- 'Ctrl-Shift-R'
next-tab:
- 'Ctrl-Shift-ArrowRight'
- 'Ctrl-Shift-Right'
- 'Ctrl-Tab'
previous-tab:
- 'Ctrl-Shift-ArrowLeft'
- 'Ctrl-Shift-Left'
- 'Ctrl-Shift-Tab'
tab-1:
- 'Alt-1'
@@ -42,12 +42,13 @@ hotkeys:
- 'Ctrl-Shift-D'
split-left: []
split-top: []
split-nav-right:
- 'Ctrl-Alt-ArrowRight'
split-nav-down:
- 'Ctrl-Alt-ArrowDown'
split-nav-up:
- 'Ctrl-Alt-ArrowUp'
split-nav-left:
- 'Ctrl-Alt-ArrowLeft'
pane-nav-right:
- 'Ctrl-Alt-Right'
pane-nav-down:
- 'Ctrl-Alt-Down'
pane-nav-up:
- 'Ctrl-Alt-Up'
pane-nav-left:
- 'Ctrl-Alt-Left'
close-pane: []
pluginBlacklist: []

View File

@@ -11,3 +11,6 @@ appearance:
vibrancy: false
vibrancyType: 'blur'
enableAnalytics: true
enableWelcomeTab: true
electronFlags:
- ['force_discrete_gpu', '0']

View File

@@ -2,7 +2,7 @@ import { Directive, AfterViewInit, ElementRef } from '@angular/core'
/** @hidden */
@Directive({
selector: '[autofocus]'
selector: '[autofocus]',
})
export class AutofocusDirective implements AfterViewInit {
constructor (private el: ElementRef) { }

View File

@@ -1,10 +1,10 @@
import { Injectable } from '@angular/core'
import { IHotkeyDescription, HotkeyProvider } from './api/hotkeyProvider'
import { HotkeyDescription, HotkeyProvider } from './api/hotkeyProvider'
/** @hidden */
@Injectable()
export class AppHotkeyProvider extends HotkeyProvider {
hotkeys: IHotkeyDescription[] = [
hotkeys: HotkeyDescription[] = [
{
id: 'new-window',
name: 'New window',
@@ -94,24 +94,28 @@ export class AppHotkeyProvider extends HotkeyProvider {
name: 'Split to the top',
},
{
id: 'split-nav-up',
id: 'pane-nav-up',
name: 'Focus the pane above',
},
{
id: 'split-nav-down',
id: 'pane-nav-down',
name: 'Focus the pane below',
},
{
id: 'split-nav-left',
id: 'pane-nav-left',
name: 'Focus the pane on the left',
},
{
id: 'split-nav-right',
id: 'pane-nav-right',
name: 'Focus the pane on the right',
},
{
id: 'close-pane',
name: 'Close focused pane',
},
]
async provide (): Promise<IHotkeyDescription[]> {
async provide (): Promise<HotkeyDescription[]> {
return this.hotkeys
}
}

View File

@@ -18,6 +18,7 @@ import { WindowControlsComponent } from './components/windowControls.component'
import { RenameTabModalComponent } from './components/renameTabModal.component'
import { SplitTabComponent, SplitTabRecoveryProvider } from './components/splitTab.component'
import { SplitTabSpannerComponent } from './components/splitTabSpanner.component'
import { WelcomeTabComponent } from './components/welcomeTab.component'
import { AutofocusDirective } from './directives/autofocus.directive'
@@ -27,6 +28,9 @@ import { Theme } from './api/theme'
import { TabContextMenuItemProvider } from './api/tabContextMenuProvider'
import { TabRecoveryProvider } from './api/tabRecovery'
import { AppService } from './services/app.service'
import { ConfigService } from './services/config.service'
import { StandardTheme, StandardCompactTheme, PaperTheme } from './theme'
import { CoreConfigProvider } from './config'
import { AppHotkeyProvider } from './hotkeys'
@@ -35,6 +39,12 @@ import { TaskCompletionContextMenu, CommonOptionsContextMenu, CloseContextMenu }
import 'perfect-scrollbar/css/perfect-scrollbar.css'
import 'ng2-dnd/bundles/style.css'
// PerfectScrollbar fix
import { fromEvent } from 'rxjs/internal/observable/fromEvent'
import { merge } from 'rxjs/internal/observable/merge'
require('rxjs').fromEvent = fromEvent
require('rxjs').merge = merge
const PROVIDERS = [
{ provide: HotkeyProvider, useClass: AppHotkeyProvider, multi: true },
{ provide: Theme, useClass: StandardTheme, multi: true },
@@ -45,7 +55,7 @@ const PROVIDERS = [
{ provide: TabContextMenuItemProvider, useClass: CloseContextMenu, multi: true },
{ provide: TabContextMenuItemProvider, useClass: TaskCompletionContextMenu, multi: true },
{ provide: TabRecoveryProvider, useClass: SplitTabRecoveryProvider, multi: true },
{ provide: PERFECT_SCROLLBAR_CONFIG, useValue: { suppressScrollX: true } }
{ provide: PERFECT_SCROLLBAR_CONFIG, useValue: { suppressScrollX: true } },
]
/** @hidden */
@@ -72,19 +82,29 @@ const PROVIDERS = [
AutofocusDirective,
SplitTabComponent,
SplitTabSpannerComponent,
WelcomeTabComponent,
],
entryComponents: [
RenameTabModalComponent,
SafeModeModalComponent,
SplitTabComponent,
WelcomeTabComponent,
],
exports: [
CheckboxComponent,
ToggleComponent,
AutofocusDirective,
]
],
})
export default class AppModule {
export default class AppModule { // eslint-disable-line @typescript-eslint/no-extraneous-class
constructor (app: AppService, config: ConfigService) {
app.ready$.subscribe(() => {
if (config.store.enableWelcomeTab) {
app.openNewTabRaw(WelcomeTabComponent)
}
})
}
static forRoot (): ModuleWithProviders {
return {
ngModule: AppModule,
@@ -93,11 +113,9 @@ export default class AppModule {
}
}
// PerfectScrollbar fix
import { fromEvent } from 'rxjs/internal/observable/fromEvent'
import { merge } from 'rxjs/internal/observable/merge'
require('rxjs').fromEvent = fromEvent
require('rxjs').merge = merge
export { AppRootComponent as bootstrap }
export * from './api'
// Deprecations
export { ToolbarButton as IToolbarButton } from './api'
export { HotkeyDescription as IHotkeyDescription } from './api'

View File

@@ -16,12 +16,12 @@ class CompletionObserver {
private interval: number
constructor (private tab: BaseTabComponent) {
this.interval = setInterval(() => this.tick(), 1000)
this.interval = setInterval(() => this.tick(), 1000) as any
this.tab.destroyed$.pipe(takeUntil(this.destroyed$)).subscribe(() => this.stop())
}
async tick () {
if (!(await this.tab.getCurrentProcess())) {
if (!await this.tab.getCurrentProcess()) {
this.done.next(null)
this.stop()
}
@@ -68,7 +68,7 @@ export class AppService {
private tabsService: TabsService,
) {
this.tabRecovery.recoverTabs().then(tabs => {
for (let tab of tabs) {
for (const tab of tabs) {
this.openNewTabRaw(tab.type, tab.options)
}
@@ -81,7 +81,7 @@ export class AppService {
})
}
private addTabRaw (tab: BaseTabComponent) {
addTabRaw (tab: BaseTabComponent) {
this.tabs.push(tab)
this.selectTab(tab)
this.tabsChanged.next()
@@ -98,7 +98,7 @@ export class AppService {
})
tab.destroyed$.subscribe(() => {
let newIndex = Math.max(0, this.tabs.indexOf(tab) - 1)
const newIndex = Math.max(0, this.tabs.indexOf(tab) - 1)
this.tabs = this.tabs.filter((x) => x !== tab)
if (tab === this._activeTab) {
this.selectTab(this.tabs[newIndex])
@@ -113,7 +113,7 @@ export class AppService {
* @param inputs Properties to be assigned on the new tab component instance
*/
openNewTabRaw (type: TabComponentType, inputs?: any): BaseTabComponent {
let tab = this.tabsService.create(type, inputs)
const tab = this.tabsService.create(type, inputs)
this.addTabRaw(tab)
return tab
}
@@ -123,8 +123,8 @@ export class AppService {
* @param inputs Properties to be assigned on the new tab component instance
*/
openNewTab (type: TabComponentType, inputs?: any): BaseTabComponent {
let splitTab = this.tabsService.create(SplitTabComponent) as SplitTabComponent
let tab = this.tabsService.create(type, inputs)
const splitTab = this.tabsService.create(SplitTabComponent) as SplitTabComponent
const tab = this.tabsService.create(type, inputs)
splitTab.addTab(tab, null, 'r')
this.addTabRaw(splitTab)
return tab
@@ -164,7 +164,7 @@ export class AppService {
nextTab () {
if (this.tabs.length > 1) {
let tabIndex = this.tabs.indexOf(this._activeTab)
const tabIndex = this.tabs.indexOf(this._activeTab)
if (tabIndex < this.tabs.length - 1) {
this.selectTab(this.tabs[tabIndex + 1])
} else if (this.config.store.appearance.cycleTabs) {
@@ -175,7 +175,7 @@ export class AppService {
previousTab () {
if (this.tabs.length > 1) {
let tabIndex = this.tabs.indexOf(this._activeTab)
const tabIndex = this.tabs.indexOf(this._activeTab)
if (tabIndex > 0) {
this.selectTab(this.tabs[tabIndex - 1])
} else if (this.config.store.appearance.cycleTabs) {
@@ -200,19 +200,19 @@ export class AppService {
}
async duplicateTab (tab: BaseTabComponent) {
let dup = await this.tabsService.duplicate(tab)
const dup = await this.tabsService.duplicate(tab)
if (dup) {
this.addTabRaw(dup)
}
}
async closeAllTabs () {
for (let tab of this.tabs) {
for (const tab of this.tabs) {
if (!await tab.canClose()) {
return
}
}
for (let tab of this.tabs) {
for (const tab of this.tabs) {
tab.destroy()
}
}
@@ -230,7 +230,7 @@ export class AppService {
*/
observeTabCompletion (tab: BaseTabComponent): Observable<void> {
if (!this.completionObservers.has(tab)) {
let observer = new CompletionObserver(tab)
const observer = new CompletionObserver(tab)
observer.destroyed$.subscribe(() => {
this.stopObservingTabCompletion(tab)
})

View File

@@ -14,19 +14,19 @@ function isStructuralMember (v) {
Object.keys(v).length > 0 && !v.__nonStructural
}
function isNonStructuralObjectMember (v) {
function isNonStructuralObjectMember (v): boolean {
return v instanceof Object && !(v instanceof Array) && v.__nonStructural
}
/** @hidden */
export class ConfigProxy {
constructor (real: any, defaults: any) {
for (let key in defaults) {
for (const key in defaults) {
if (isStructuralMember(defaults[key])) {
if (!real[key]) {
real[key] = {}
}
let proxy = new ConfigProxy(real[key], defaults[key])
const proxy = new ConfigProxy(real[key], defaults[key])
Object.defineProperty(
this,
key,
@@ -46,13 +46,13 @@ export class ConfigProxy {
get: () => this.getValue(key),
set: (value) => {
this.setValue(key, value)
}
},
}
)
}
}
this.getValue = (key: string) => {
this.getValue = (key: string) => { // eslint-disable-line @typescript-eslint/unbound-method
if (real[key] !== undefined) {
return real[key]
} else {
@@ -66,13 +66,13 @@ export class ConfigProxy {
}
}
this.setValue = (key: string, value: any) => {
this.setValue = (key: string, value: any) => { // eslint-disable-line @typescript-eslint/unbound-method
real[key] = value
}
}
getValue (key: string): any { } // tslint:disable-line
setValue (key: string, value: any) { } // tslint:disable-line
getValue (_key: string): any { }
setValue (_key: string, _value: any) { }
}
@Injectable({ providedIn: 'root' })
@@ -160,10 +160,6 @@ export class ConfigService {
this.emitChange()
}
private emitChange (): void {
this.changed.next()
}
requestRestart (): void {
this.restartRequested = true
}
@@ -177,9 +173,9 @@ export class ConfigService {
enabledServices<T> (services: T[]): T[] {
if (!this.servicesCache) {
this.servicesCache = {}
let ngModule = window['rootModule'].ngInjectorDef
for (let imp of ngModule.imports) {
let module = (imp['ngModule'] || imp)
const ngModule = window['rootModule'].ngInjectorDef
for (const imp of ngModule.imports) {
const module = imp['ngModule'] || imp
if (module.ngInjectorDef && module.ngInjectorDef.providers) {
this.servicesCache[module['pluginName']] = module.ngInjectorDef.providers.map(provider => {
return provider['useClass'] || provider
@@ -188,7 +184,7 @@ export class ConfigService {
}
}
return services.filter(service => {
for (let pluginName in this.servicesCache) {
for (const pluginName in this.servicesCache) {
if (this.servicesCache[pluginName].includes(service.constructor)) {
return !this.store.pluginBlacklist.includes(pluginName)
}
@@ -196,4 +192,8 @@ export class ConfigService {
return true
})
}
private emitChange (): void {
this.changed.next()
}
}

View File

@@ -3,11 +3,6 @@ import { ConfigService } from '../services/config.service'
import { ElectronService } from '../services/electron.service'
import { HostAppService, Bounds } from '../services/hostApp.service'
export interface IScreen {
id: string
name: string
}
@Injectable({ providedIn: 'root' })
export class DockingService {
/** @hidden */
@@ -21,7 +16,7 @@ export class DockingService {
}
dock () {
let dockSide = this.config.store.appearance.dock
const dockSide = this.config.store.appearance.dock
if (dockSide === 'off') {
this.hostApp.setAlwaysOnTop(false)
@@ -29,14 +24,14 @@ export class DockingService {
}
let display = this.electron.screen.getAllDisplays()
.filter((x) => x.id === this.config.store.appearance.dockScreen)[0]
.filter(x => x.id === this.config.store.appearance.dockScreen)[0]
if (!display) {
display = this.getCurrentScreen()
}
let newBounds: Bounds = { x: 0, y: 0, width: 0, height: 0 }
let fill = this.config.store.appearance.dockFill
let [minWidth, minHeight] = this.hostApp.getWindow().getMinimumSize()
const newBounds: Bounds = { x: 0, y: 0, width: 0, height: 0 }
const fill = this.config.store.appearance.dockFill
const [minWidth, minHeight] = this.hostApp.getWindow().getMinimumSize()
if (dockSide === 'left' || dockSide === 'right') {
newBounds.width = Math.max(minWidth, Math.round(fill * display.bounds.width))
@@ -71,23 +66,23 @@ export class DockingService {
return this.electron.screen.getAllDisplays().map((display, index) => {
return {
id: display.id,
name: {
0: 'Primary display',
1: 'Secondary display',
}[index] || `Display ${index + 1}`
name: [
'Primary display',
'Secondary display',
][index] || `Display ${index + 1}`,
}
})
}
private repositionWindow () {
let [x, y] = this.hostApp.getWindow().getPosition()
for (let screen of this.electron.screen.getAllDisplays()) {
let bounds = screen.bounds
const [x, y] = this.hostApp.getWindow().getPosition()
for (const screen of this.electron.screen.getAllDisplays()) {
const bounds = screen.bounds
if (x >= bounds.x && x <= bounds.x + bounds.width && y >= bounds.y && y <= bounds.y + bounds.height) {
return
}
}
let screen = this.electron.screen.getPrimaryDisplay()
const screen = this.electron.screen.getPrimaryDisplay()
this.hostApp.getWindow().setPosition(screen.bounds.x, screen.bounds.y)
}
}

View File

@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'
import { TouchBar, BrowserWindow, Menu, MenuItem } from 'electron'
import { TouchBar, BrowserWindow, Menu, MenuItem, NativeImage } from 'electron'
export interface MessageBoxResponse {
response: number
@@ -8,16 +8,16 @@ export interface MessageBoxResponse {
@Injectable({ providedIn: 'root' })
export class ElectronService {
app: any
ipcRenderer: any
shell: any
dialog: any
clipboard: any
globalShortcut: any
nativeImage: any
screen: any
remote: any
autoUpdater: any
app: Electron.App
ipcRenderer: Electron.IpcRenderer
shell: Electron.Shell
dialog: Electron.Dialog
clipboard: Electron.Clipboard
globalShortcut: Electron.GlobalShortcut
nativeImage: typeof NativeImage
screen: Electron.Screen
remote: Electron.Remote
autoUpdater: Electron.AutoUpdater
TouchBar: typeof TouchBar
BrowserWindow: typeof BrowserWindow
Menu: typeof Menu
@@ -52,7 +52,7 @@ export class ElectronService {
}
}
showMessageBox (
async showMessageBox (
browserWindow: Electron.BrowserWindow,
options: Electron.MessageBoxOptions
): Promise<MessageBoxResponse> {

View File

@@ -2,12 +2,13 @@ import * as os from 'os'
import { Injectable } from '@angular/core'
import { ElectronService } from './electron.service'
import { ConfigService } from './config.service'
import ua = require('universal-analytics')
import uuidv4 = require('uuid/v4')
import * as mixpanel from 'mixpanel'
import * as uuidv4 from 'uuid/v4'
@Injectable({ providedIn: 'root' })
export class HomeBaseService {
appVersion: string
mixpanel: any
/** @hidden */
constructor (
@@ -16,7 +17,7 @@ export class HomeBaseService {
) {
this.appVersion = electron.app.getVersion()
if (this.config.store.enableAnalytics) {
if (this.config.store.enableAnalytics && !this.config.store.enableWelcomeTab) {
this.enableAnalytics()
}
}
@@ -28,12 +29,12 @@ export class HomeBaseService {
reportBug () {
let body = `Version: ${this.appVersion}\n`
body += `Platform: ${os.platform()} ${os.release()}\n`
let label = {
const label = {
darwin: 'OS: macOS',
windows: 'OS: Windows',
linux: 'OS: Linux',
}[os.platform()]
let plugins = (window as any).installedPlugins.filter(x => !x.isBuiltin).map(x => x.name)
const plugins = (window as any).installedPlugins.filter(x => !x.isBuiltin).map(x => x.name)
body += `Plugins: ${plugins.join(', ') || 'none'}\n\n`
this.electron.shell.openExternal(`https://github.com/eugeny/terminus/issues/new?body=${encodeURIComponent(body)}&labels=${label}`)
}
@@ -42,9 +43,20 @@ export class HomeBaseService {
if (!window.localStorage.analyticsUserID) {
window.localStorage.analyticsUserID = uuidv4()
}
const session = ua('UA-3278102-20', window.localStorage.analyticsUserID)
session.set('cd1', this.appVersion)
session.set('cd2', process.platform)
session.pageview('/').send()
this.mixpanel = mixpanel.init('bb4638b0860eef14c04d4fbc5eb365fa')
if (!window.localStorage.installEventSent) {
this.mixpanel.track('freshInstall', this.getAnalyticsProperties())
window.localStorage.installEventSent = true
}
this.mixpanel.track('launch', this.getAnalyticsProperties())
}
getAnalyticsProperties () {
return {
distinct_id: window.localStorage.analyticsUserID, // eslint-disable-line @typescript-eslint/camelcase
platform: process.platform,
os: os.release(),
version: this.appVersion,
}
}
}

View File

@@ -1,5 +1,5 @@
import * as path from 'path'
import shellEscape = require('shell-escape')
import * as shellEscape from 'shell-escape'
import { Observable, Subject } from 'rxjs'
import { Injectable, NgZone, EventEmitter } from '@angular/core'
import { ElectronService } from './electron.service'
@@ -28,6 +28,7 @@ export class HostAppService {
*/
shown = new EventEmitter<any>()
isFullScreen = false
isPortable = !!process.env.PORTABLE_EXECUTABLE_FILE
private preferencesMenu = new Subject<void>()
private secondInstance = new Subject<void>()
@@ -96,7 +97,7 @@ export class HostAppService {
this.platform = {
win32: Platform.Windows,
darwin: Platform.macOS,
linux: Platform.Linux
linux: Platform.Linux,
}[process.platform]
this.windowId = parseInt(location.search.substring(1))
@@ -169,7 +170,7 @@ export class HostAppService {
}
toggleFullscreen () {
let window = this.getWindow()
const window = this.getWindow()
window.setFullScreen(!this.isFullScreen)
}
@@ -251,6 +252,15 @@ export class HostAppService {
this.electron.ipcRenderer.send('window-close')
}
relaunch () {
if (this.isPortable) {
this.electron.app.relaunch({ execPath: process.env.PORTABLE_EXECUTABLE_FILE })
} else {
this.electron.app.relaunch()
}
this.electron.app.exit()
}
quit () {
this.logger.info('Quitting')
this.electron.app.quit()

View File

@@ -1,6 +1,6 @@
import { Injectable, Inject, NgZone, EventEmitter } from '@angular/core'
import { IHotkeyDescription, HotkeyProvider } from '../api/hotkeyProvider'
import { NativeKeyEvent, stringifyKeySequence } from './hotkeys.util'
import { HotkeyDescription, HotkeyProvider } from '../api/hotkeyProvider'
import { stringifyKeySequence } from './hotkeys.util'
import { ConfigService } from '../services/config.service'
import { ElectronService } from '../services/electron.service'
@@ -13,18 +13,18 @@ export interface PartialHotkeyMatch {
const KEY_TIMEOUT = 2000
interface EventBufferEntry {
event: NativeKeyEvent
event: KeyboardEvent
time: number
}
@Injectable({ providedIn: 'root' })
export class HotkeysService {
key = new EventEmitter<NativeKeyEvent>()
key = new EventEmitter<KeyboardEvent>()
matchedHotkey = new EventEmitter<string>()
globalHotkey = new EventEmitter()
private currentKeystrokes: EventBufferEntry[] = []
private disabledLevel = 0
private hotkeyDescriptions: IHotkeyDescription[] = []
private hotkeyDescriptions: HotkeyDescription[] = []
/** @hidden */
constructor (
@@ -33,9 +33,9 @@ export class HotkeysService {
private config: ConfigService,
@Inject(HotkeyProvider) private hotkeyProviders: HotkeyProvider[],
) {
let events = ['keydown', 'keyup']
events.forEach((event) => {
document.addEventListener(event, (nativeEvent) => {
const events = ['keydown', 'keyup']
events.forEach(event => {
document.addEventListener(event, (nativeEvent: KeyboardEvent) => {
if (document.querySelectorAll('input:focus').length === 0) {
this.pushKeystroke(event, nativeEvent)
this.processKeystrokes()
@@ -58,8 +58,8 @@ export class HotkeysService {
* @param name DOM event name
* @param nativeEvent event object
*/
pushKeystroke (name, nativeEvent) {
nativeEvent.event = name
pushKeystroke (name: string, nativeEvent: KeyboardEvent) {
(nativeEvent as any).event = name
this.currentKeystrokes.push({ event: nativeEvent, time: performance.now() })
}
@@ -69,7 +69,7 @@ export class HotkeysService {
processKeystrokes () {
if (this.isEnabled()) {
this.zone.run(() => {
let matched = this.getCurrentFullyMatchedHotkey()
const matched = this.getCurrentFullyMatchedHotkey()
if (matched) {
console.log('Matched hotkey', matched)
this.matchedHotkey.emit(matched)
@@ -79,7 +79,7 @@ export class HotkeysService {
}
}
emitKeyEvent (nativeEvent) {
emitKeyEvent (nativeEvent: KeyboardEvent) {
this.zone.run(() => {
this.key.emit(nativeEvent)
})
@@ -94,61 +94,16 @@ export class HotkeysService {
return stringifyKeySequence(this.currentKeystrokes.map(x => x.event))
}
private registerGlobalHotkey () {
this.electron.globalShortcut.unregisterAll()
let value = this.config.store.hotkeys['toggle-window'] || []
if (typeof value === 'string') {
value = [value]
}
value.forEach(item => {
item = (typeof item === 'string') ? [item] : item
try {
this.electron.globalShortcut.register(item[0].replace(/-/g, '+'), () => {
this.globalHotkey.emit()
})
} catch (err) {
console.error('Could not register the global hotkey:', err)
}
})
}
private getHotkeysConfig () {
return this.getHotkeysConfigRecursive(this.config.store.hotkeys)
}
private getHotkeysConfigRecursive (branch) {
let keys = {}
for (let key in branch) {
let value = branch[key]
if (value instanceof Object && !(value instanceof Array)) {
let subkeys = this.getHotkeysConfigRecursive(value)
for (let subkey in subkeys) {
keys[key + '.' + subkey] = subkeys[subkey]
}
} else {
if (typeof value === 'string') {
value = [value]
}
if (value) {
value = value.map((item) => (typeof item === 'string') ? [item] : item)
keys[key] = value
}
}
}
return keys
}
private getCurrentFullyMatchedHotkey (): string {
let currentStrokes = this.getCurrentKeystrokes()
let config = this.getHotkeysConfig()
for (let id in config) {
for (let sequence of config[id]) {
getCurrentFullyMatchedHotkey (): string {
const currentStrokes = this.getCurrentKeystrokes()
const config = this.getHotkeysConfig()
for (const id in config) {
for (const sequence of config[id]) {
if (currentStrokes.length < sequence.length) {
continue
}
if (sequence.every(
(x, index) =>
(x: string, index: number) =>
x.toLowerCase() ===
currentStrokes[currentStrokes.length - sequence.length + index].toLowerCase()
)) {
@@ -160,21 +115,21 @@ export class HotkeysService {
}
getCurrentPartiallyMatchedHotkeys (): PartialHotkeyMatch[] {
let currentStrokes = this.getCurrentKeystrokes()
let config = this.getHotkeysConfig()
let result = []
for (let id in config) {
for (let sequence of config[id]) {
const currentStrokes = this.getCurrentKeystrokes()
const config = this.getHotkeysConfig()
const result = []
for (const id in config) {
for (const sequence of config[id]) {
for (let matchLength = Math.min(currentStrokes.length, sequence.length); matchLength > 0; matchLength--) {
if (sequence.slice(0, matchLength).every(
(x, index) =>
(x: string, index: number) =>
x.toLowerCase() ===
currentStrokes[currentStrokes.length - matchLength + index].toLowerCase()
)) {
result.push({
matchedLength: matchLength,
id,
strokes: sequence
strokes: sequence,
})
break
}
@@ -184,7 +139,7 @@ export class HotkeysService {
return result
}
getHotkeyDescription (id: string): IHotkeyDescription {
getHotkeyDescription (id: string): HotkeyDescription {
return this.hotkeyDescriptions.filter((x) => x.id === id)[0]
}
@@ -200,7 +155,7 @@ export class HotkeysService {
return this.disabledLevel === 0
}
async getHotkeyDescriptions (): Promise<IHotkeyDescription[]> {
async getHotkeyDescriptions (): Promise<HotkeyDescription[]> {
return (
await Promise.all(
this.config.enabledServices(this.hotkeyProviders)
@@ -208,4 +163,53 @@ export class HotkeysService {
)
).reduce((a, b) => a.concat(b))
}
private registerGlobalHotkey () {
this.electron.globalShortcut.unregisterAll()
let value = this.config.store.hotkeys['toggle-window'] || []
if (typeof value === 'string') {
value = [value]
}
value.forEach((item: string | string[]) => {
item = typeof item === 'string' ? [item] : item
try {
let electronKeySpec = item[0]
electronKeySpec = electronKeySpec.replace('⌘', 'Command')
electronKeySpec = electronKeySpec.replace('⌥', 'Alt')
electronKeySpec = electronKeySpec.replace(/-/g, '+')
this.electron.globalShortcut.register(electronKeySpec, () => {
this.globalHotkey.emit()
})
} catch (err) {
console.error('Could not register the global hotkey:', err)
}
})
}
private getHotkeysConfig () {
return this.getHotkeysConfigRecursive(this.config.store.hotkeys)
}
private getHotkeysConfigRecursive (branch: any) {
const keys = {}
for (const key in branch) {
let value = branch[key]
if (value instanceof Object && !(value instanceof Array)) {
const subkeys = this.getHotkeysConfigRecursive(value)
for (const subkey in subkeys) {
keys[key + '.' + subkey] = subkeys[subkey]
}
} else {
if (typeof value === 'string') {
value = [value]
}
if (value) {
value = value.map((item: string | string[]) => typeof item === 'string' ? [item] : item)
keys[key] = value
}
}
}
return keys
}
}

View File

@@ -10,24 +10,14 @@ export const altKeyName = {
linux: 'Alt',
}[process.platform]
export interface NativeKeyEvent {
event?: string
altKey: boolean
ctrlKey: boolean
metaKey: boolean
shiftKey: boolean
key: string
keyCode: string
}
export function stringifyKeySequence (events: NativeKeyEvent[]): string[] {
let items: string[] = []
export function stringifyKeySequence (events: KeyboardEvent[]): string[] {
const items: string[] = []
events = events.slice()
while (events.length > 0) {
let event = events.shift()
if (event.event === 'keydown') {
let itemKeys: string[] = []
const event = events.shift()
if ((event as any).event === 'keydown') {
const itemKeys: string[] = []
if (event.ctrlKey) {
itemKeys.push('Ctrl')
}
@@ -45,13 +35,26 @@ export function stringifyKeySequence (events: NativeKeyEvent[]): string[] {
// TODO make this optional?
continue
}
if (event.key === ' ') {
itemKeys.push('Space')
} else if (event.key.length === 1) {
itemKeys.push(event.key.toUpperCase())
} else {
itemKeys.push(event.key)
}
let key = event.code
key = key.replace('Key', '')
key = key.replace('Arrow', '')
key = key.replace('Digit', '')
key = {
Comma: ',',
Period: '.',
Slash: '/',
Backslash: '\\',
IntlBackslash: '\\',
Backquote: '`',
Minus: '-',
Equal: '=',
Semicolon: ';',
Quote: '\'',
BracketLeft: '[',
BracketRight: ']',
}[key] || key
itemKeys.push(key)
items.push(itemKeys.join('-'))
}
}

View File

@@ -11,25 +11,18 @@ const initializeWinston = (electron: ElectronService) => {
fs.mkdirSync(logDirectory)
}
return new winston.Logger({
return winston.createLogger({
transports: [
new winston.transports.File({
level: 'debug',
filename: path.join(logDirectory, 'log.txt'),
format: winston.format.simple(),
handleExceptions: false,
json: false,
maxsize: 5242880,
maxFiles: 5,
colorize: false
}),
new winston.transports.Console({
level: 'debug',
handleExceptions: false,
json: false,
colorize: true
})
],
exitOnError: false
exitOnError: false,
})
}
@@ -39,18 +32,32 @@ export class Logger {
private name: string,
) {}
debug (...args: any[]) {
this.doLog('debug', ...args)
}
info (...args: any[]) {
this.doLog('info', ...args)
}
warn (...args: any[]) {
this.doLog('warn', ...args)
}
error (...args: any[]) {
this.doLog('error', ...args)
}
log (...args: any[]) {
this.doLog('log', ...args)
}
private doLog (level: string, ...args: any[]) {
console[level](`%c[${this.name}]`, 'color: #aaa', ...args)
if (this.winstonLogger) {
this.winstonLogger[level](...args)
}
}
debug (...args: any[]) { this.doLog('debug', ...args) }
info (...args: any[]) { this.doLog('info', ...args) }
warn (...args: any[]) { this.doLog('warn', ...args) }
error (...args: any[]) { this.doLog('error', ...args) }
log (...args: any[]) { this.doLog('log', ...args) }
}
@Injectable({ providedIn: 'root' })

View File

@@ -1,11 +1,16 @@
import * as path from 'path'
import * as fs from 'mz/fs'
import { Registry } from 'rage-edit'
import { exec } from 'mz/child_process'
import { Injectable } from '@angular/core'
import { ElectronService } from './electron.service'
import { HostAppService, Platform } from './hostApp.service'
/* eslint-disable block-scoped-var */
try {
var wnr = require('windows-native-registry') // eslint-disable-line @typescript-eslint/no-var-requires
} catch (_) { }
@Injectable({ providedIn: 'root' })
export class ShellIntegrationService {
private automatorWorkflows = ['Open Terminus here.workflow', 'Paste path into Terminus.workflow']
@@ -13,12 +18,12 @@ export class ShellIntegrationService {
private automatorWorkflowsDestination: string
private registryKeys = [
{
path: 'HKCU\\Software\\Classes\\Directory\\Background\\shell\\Open Terminus here',
command: 'open "%V"'
path: 'Software\\Classes\\Directory\\Background\\shell\\Open Terminus here',
command: 'open "%V"',
},
{
path: 'HKCU\\Software\\Classes\\*\\shell\\Paste path into Terminus',
command: 'paste "%V"'
path: 'Software\\Classes\\*\\shell\\Paste path into Terminus',
command: 'paste "%V"',
},
]
constructor (
@@ -37,6 +42,43 @@ export class ShellIntegrationService {
this.updatePaths()
}
async isInstalled (): Promise<boolean> {
if (this.hostApp.platform === Platform.macOS) {
return fs.exists(path.join(this.automatorWorkflowsDestination, this.automatorWorkflows[0]))
} else if (this.hostApp.platform === Platform.Windows) {
return !!wnr.getRegistryKey(wnr.HK.CU, this.registryKeys[0].path)
}
return true
}
async install () {
const exe: string = process.env.PORTABLE_EXECUTABLE_FILE || this.electron.app.getPath('exe')
if (this.hostApp.platform === Platform.macOS) {
for (const wf of this.automatorWorkflows) {
await exec(`cp -r "${this.automatorWorkflowsLocation}/${wf}" "${this.automatorWorkflowsDestination}"`)
}
} else if (this.hostApp.platform === Platform.Windows) {
for (const registryKey of this.registryKeys) {
wnr.createRegistryKey(wnr.HK.CU, registryKey.path)
wnr.createRegistryKey(wnr.HK.CU, registryKey.path + '\\command')
wnr.setRegistryValue(wnr.HK.CU, registryKey.path, 'Icon', wnr.REG.SZ, exe)
wnr.setRegistryValue(wnr.HK.CU, registryKey.path + '\\command', '', wnr.REG.SZ, exe + ' ' + registryKey.command)
}
}
}
async remove () {
if (this.hostApp.platform === Platform.macOS) {
for (const wf of this.automatorWorkflows) {
await exec(`rm -rf "${this.automatorWorkflowsDestination}/${wf}"`)
}
} else if (this.hostApp.platform === Platform.Windows) {
for (const registryKey of this.registryKeys) {
wnr.deleteRegistryKey(wnr.HK.CU, registryKey.path)
}
}
}
private async updatePaths (): Promise<void> {
// Update paths in case of an update
if (this.hostApp.platform === Platform.Windows) {
@@ -45,26 +87,4 @@ export class ShellIntegrationService {
}
}
}
async isInstalled (): Promise<boolean> {
if (this.hostApp.platform === Platform.macOS) {
return fs.exists(path.join(this.automatorWorkflowsDestination, this.automatorWorkflows[0]))
} else if (this.hostApp.platform === Platform.Windows) {
return Registry.has(this.registryKeys[0].path)
}
return true
}
async install () {
if (this.hostApp.platform === Platform.macOS) {
for (let wf of this.automatorWorkflows) {
await exec(`cp -r "${this.automatorWorkflowsLocation}/${wf}" "${this.automatorWorkflowsDestination}"`)
}
} else if (this.hostApp.platform === Platform.Windows) {
for (let registryKey of this.registryKeys) {
await Registry.set(registryKey.path, 'Icon', this.electron.app.getPath('exe'))
await Registry.set(registryKey.path + '\\command', '', this.electron.app.getPath('exe') + ' ' + registryKey.command)
}
}
}
}

View File

@@ -28,9 +28,9 @@ export class TabRecoveryService {
}
async recoverTab (token: any): Promise<RecoveredTab> {
for (let provider of this.config.enabledServices(this.tabRecoveryProviders)) {
for (const provider of this.config.enabledServices(this.tabRecoveryProviders)) {
try {
let tab = await provider.recover(token)
const tab = await provider.recover(token)
if (tab) {
return tab
}
@@ -43,9 +43,9 @@ export class TabRecoveryService {
async recoverTabs (): Promise<RecoveredTab[]> {
if (window.localStorage.tabsRecovery) {
let tabs: RecoveredTab[] = []
for (let token of JSON.parse(window.localStorage.tabsRecovery)) {
let tab = await this.recoverTab(token)
const tabs: RecoveredTab[] = []
for (const token of JSON.parse(window.localStorage.tabsRecovery)) {
const tab = await this.recoverTab(token)
if (tab) {
tabs.push(tab)
}
@@ -54,5 +54,4 @@ export class TabRecoveryService {
}
return []
}
}

View File

@@ -2,7 +2,8 @@ import { Injectable, ComponentFactoryResolver, Injector } from '@angular/core'
import { BaseTabComponent } from '../components/baseTab.component'
import { TabRecoveryService } from './tabRecovery.service'
export declare type TabComponentType = new (...args: any[]) => BaseTabComponent
// eslint-disable-next-line @typescript-eslint/no-type-alias
export type TabComponentType = new (...args: any[]) => BaseTabComponent
@Injectable({ providedIn: 'root' })
export class TabsService {
@@ -17,9 +18,9 @@ export class TabsService {
* Instantiates a tab component and assigns given inputs
*/
create (type: TabComponentType, inputs?: any): BaseTabComponent {
let componentFactory = this.componentFactoryResolver.resolveComponentFactory(type)
let componentRef = componentFactory.create(this.injector)
let tab = componentRef.instance
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(type)
const componentRef = componentFactory.create(this.injector)
const tab = componentRef.instance
tab.hostView = componentRef.hostView
Object.assign(tab, inputs || {})
return tab
@@ -29,11 +30,11 @@ export class TabsService {
* Duplicates an existing tab instance (using the tab recovery system)
*/
async duplicate (tab: BaseTabComponent): Promise<BaseTabComponent> {
let token = await tab.getRecoveryToken()
const token = await tab.getRecoveryToken()
if (!token) {
return null
}
let dup = await this.tabRecovery.recoverTab(token)
const dup = await this.tabRecovery.recoverTab(token)
if (dup) {
return this.create(dup.type, dup.options)
}

View File

@@ -4,12 +4,13 @@ import { AppService } from './app.service'
import { ConfigService } from './config.service'
import { ElectronService } from './electron.service'
import { HostAppService, Platform } from './hostApp.service'
import { IToolbarButton, ToolbarButtonProvider } from '../api'
import { ToolbarButton, ToolbarButtonProvider } from '../api'
/** @hidden */
@Injectable({ providedIn: 'root' })
export class TouchbarService {
private tabsSegmentedControl: TouchBarSegmentedControl
private buttonsSegmentedControl: TouchBarSegmentedControl
private tabSegments: SegmentedControlSegment[] = []
private nsImageCache: {[id: string]: Electron.NativeImage} = {}
@@ -24,53 +25,85 @@ export class TouchbarService {
if (this.hostApp.platform !== Platform.macOS) {
return
}
app.tabsChanged$.subscribe(() => this.update())
app.activeTabChange$.subscribe(() => this.update())
app.tabsChanged$.subscribe(() => this.updateTabs())
app.activeTabChange$.subscribe(() => this.updateTabs())
const activityIconPath = `${electron.app.getAppPath()}/assets/activity.png`
const activityIcon = this.electron.nativeImage.createFromPath(activityIconPath)
app.tabOpened$.subscribe(tab => {
tab.titleChange$.subscribe(title => {
this.tabSegments[app.tabs.indexOf(tab)].label = this.shortenTitle(title)
this.tabsSegmentedControl.segments = this.tabSegments
const segment = this.tabSegments[app.tabs.indexOf(tab)]
if (segment) {
segment.label = this.shortenTitle(title)
this.tabsSegmentedControl.segments = this.tabSegments
}
})
tab.activity$.subscribe(hasActivity => {
const showIcon = this.app.activeTab !== tab && hasActivity
const segment = this.tabSegments[app.tabs.indexOf(tab)]
if (segment) {
segment.icon = showIcon ? activityIcon : null
}
})
})
}
updateTabs () {
this.tabSegments = this.app.tabs.map(tab => ({
label: this.shortenTitle(tab.title),
}))
this.tabsSegmentedControl.segments = this.tabSegments
this.tabsSegmentedControl.selectedIndex = this.app.tabs.indexOf(this.app.activeTab)
}
update () {
if (this.hostApp.platform !== Platform.macOS) {
return
}
let buttons: IToolbarButton[] = []
let buttons: ToolbarButton[] = []
this.config.enabledServices(this.toolbarButtonProviders).forEach(provider => {
buttons = buttons.concat(provider.provide())
})
buttons = buttons.filter(x => !!x.touchBarNSImage)
buttons.sort((a, b) => (a.weight || 0) - (b.weight || 0))
this.tabSegments = this.app.tabs.map(tab => ({
label: this.shortenTitle(tab.title),
}))
this.tabsSegmentedControl = new this.electron.TouchBar.TouchBarSegmentedControl({
segments: this.tabSegments,
selectedIndex: this.app.tabs.indexOf(this.app.activeTab),
change: (selectedIndex) => this.zone.run(() => {
this.app.selectTab(this.app.tabs[selectedIndex])
})
}),
})
let touchBar = new this.electron.TouchBar({
this.buttonsSegmentedControl = new this.electron.TouchBar.TouchBarSegmentedControl({
segments: buttons.map(button => this.getButton(button)),
mode: 'buttons',
change: (selectedIndex) => this.zone.run(() => {
buttons[selectedIndex].click()
}),
})
const touchBar = new this.electron.TouchBar({
items: [
this.tabsSegmentedControl,
new this.electron.TouchBar.TouchBarSpacer({ size: 'flexible' }),
new this.electron.TouchBar.TouchBarSpacer({ size: 'small' }),
...buttons.map(button => this.getButton(button))
]
this.buttonsSegmentedControl,
],
})
this.hostApp.setTouchBar(touchBar)
}
private getButton (button: IToolbarButton): Electron.TouchBarButton {
return new this.electron.TouchBar.TouchBarButton({
private getButton (button: ToolbarButton): Electron.SegmentedControlSegment {
return {
label: button.touchBarNSImage ? null : this.shortenTitle(button.touchBarTitle || button.title),
icon: button.touchBarNSImage ? this.getCachedNSImage(button.touchBarNSImage) : null,
click: () => this.zone.run(() => button.click()),
})
// click: () => this.zone.run(() => button.click()),
}
}
private getCachedNSImage (name: string) {

View File

@@ -1,5 +1,5 @@
import axios from 'axios'
import * as os from 'os'
import { Injectable } from '@angular/core'
import { Logger, LogService } from './log.service'
import { ElectronService } from './electron.service'
@@ -11,8 +11,9 @@ const UPDATES_URL = 'https://api.github.com/repos/eugeny/terminus/releases/lates
export class UpdaterService {
private logger: Logger
private downloaded: Promise<boolean>
private isSquirrel = true
private electronUpdaterAvailable = true
private updateURL: string
private autoUpdater
constructor (
log: LogService,
@@ -20,42 +21,37 @@ export class UpdaterService {
) {
this.logger = log.create('updater')
try {
electron.autoUpdater.setFeedURL(`https://terminus-updates.herokuapp.com/update/${os.platform()}/${electron.app.getVersion()}`)
} catch (e) {
this.isSquirrel = false
this.logger.info('Squirrel updater unavailable, falling back')
}
this.autoUpdater = electron.remote.require('electron-updater').autoUpdater
this.electron.autoUpdater.on('update-available', () => {
this.autoUpdater.on('update-available', () => {
this.logger.info('Update available')
})
this.electron.autoUpdater.once('update-not-available', () => {
this.autoUpdater.once('update-not-available', () => {
this.logger.info('No updates')
})
this.downloaded = new Promise<boolean>(resolve => {
this.electron.autoUpdater.once('update-downloaded', () => resolve(true))
this.autoUpdater.once('update-downloaded', () => resolve(true))
})
this.logger.debug('Checking for updates')
if (this.isSquirrel) {
if (this.electronUpdaterAvailable && !process.env.TERMINUS_DEV) {
try {
this.electron.autoUpdater.checkForUpdates()
this.autoUpdater.checkForUpdates()
} catch (e) {
this.isSquirrel = false
this.logger.info('Squirrel updater unavailable, falling back')
this.electronUpdaterAvailable = false
this.logger.info('Electron updater unavailable, falling back', e)
}
}
}
async check (): Promise<boolean> {
if (!this.isSquirrel) {
if (!this.electronUpdaterAvailable) {
this.logger.debug('Checking for updates')
let response = await axios.get(UPDATES_URL)
let data = response.data
let version = data.tag_name.substring(1)
const response = await axios.get(UPDATES_URL)
const data = response.data
const version = data.tag_name.substring(1)
if (this.electron.app.getVersion() !== version) {
this.logger.info('Update available')
this.updateURL = data.html_url
@@ -68,11 +64,11 @@ export class UpdaterService {
}
async update () {
if (!this.isSquirrel) {
if (!this.electronUpdaterAvailable) {
this.electron.shell.openExternal(this.updateURL)
} else {
await this.downloaded
this.electron.autoUpdater.quitAndInstall()
this.autoUpdater.quitAndInstall()
}
}
}

View File

@@ -22,31 +22,31 @@ export class CloseContextMenu extends TabContextMenuItemProvider {
label: 'Close',
click: () => this.zone.run(() => {
this.app.closeTab(tab, true)
})
}),
},
{
label: 'Close other tabs',
click: () => this.zone.run(() => {
for (let t of this.app.tabs.filter(x => x !== tab)) {
for (const t of this.app.tabs.filter(x => x !== tab)) {
this.app.closeTab(t, true)
}
})
}),
},
{
label: 'Close tabs to the right',
click: () => this.zone.run(() => {
for (let t of this.app.tabs.slice(this.app.tabs.indexOf(tab) + 1)) {
for (const t of this.app.tabs.slice(this.app.tabs.indexOf(tab) + 1)) {
this.app.closeTab(t, true)
}
})
}),
},
{
label: 'Close tabs to the left',
click: () => this.zone.run(() => {
for (let t of this.app.tabs.slice(0, this.app.tabs.indexOf(tab))) {
for (const t of this.app.tabs.slice(0, this.app.tabs.indexOf(tab))) {
this.app.closeTab(t, true)
}
})
}),
},
]
}
@@ -78,11 +78,11 @@ export class CommonOptionsContextMenu extends TabContextMenuItemProvider {
return [
{
label: 'Rename',
click: () => this.zone.run(() => tabHeader.showRenameTabModal())
click: () => this.zone.run(() => tabHeader.showRenameTabModal()),
},
{
label: 'Duplicate',
click: () => this.zone.run(() => this.app.duplicateTab(tab))
click: () => this.zone.run(() => this.app.duplicateTab(tab)),
},
{
label: 'Color',
@@ -95,7 +95,7 @@ export class CommonOptionsContextMenu extends TabContextMenuItemProvider {
tab.color = color.value
}),
})) as Electron.MenuItemConstructorOptions[],
}
},
]
}
}
@@ -111,7 +111,7 @@ export class TaskCompletionContextMenu extends TabContextMenuItemProvider {
}
async getItems (tab: BaseTabComponent): Promise<Electron.MenuItemConstructorOptions[]> {
let process = await tab.getCurrentProcess()
const process = await tab.getCurrentProcess()
if (process) {
return [
{
@@ -138,7 +138,7 @@ export class TaskCompletionContextMenu extends TabContextMenuItemProvider {
} else {
this.app.stopObservingTabCompletion(tab)
}
})
}),
},
]
}

View File

@@ -6,6 +6,10 @@ app-root {
.btn-tab-bar {
line-height: 29px !important;
svg {
height: 14px;
}
}
}

View File

@@ -51,13 +51,13 @@ $input-disabled-bg: #333;
$input-color: $body-color;
$input-color-placeholder: #333;
$input-border-color: #344;
$input-border-width: 0;
$input-border-width: 1px;
//$input-box-shadow: inset 0 1px 1px rgba($black,.075);
$input-border-radius: 0;
$custom-select-border-radius: 0;
$input-bg-focus: $input-bg;
//$input-border-focus: lighten($brand-primary, 25%);
//$input-box-shadow-focus: $input-box-shadow, rgba($input-border-focus, .6);
$input-border-focus: lighten($blue, 25%);
$input-focus-box-shadow: none;
$input-color-focus: $input-color;
$input-group-addon-bg: $body-bg;
$input-group-addon-border-color: $input-border-color;
@@ -136,6 +136,10 @@ app-root {
background: transparent;
&:hover { background: rgba(0, 0, 0, .25) !important; }
&:active { background: rgba(0, 0, 0, .5) !important; }
&::after {
display: none;
}
}
&>.tabs {

View File

@@ -2,7 +2,6 @@
"extends": "../tsconfig.json",
"exclude": ["node_modules", "dist"],
"compilerOptions": {
"baseUrl": "src",
"declarationDir": "dist"
"baseUrl": "src"
}
}

View File

@@ -0,0 +1,14 @@
{
"extends": "../tsconfig.json",
"exclude": ["node_modules", "dist", "typings"],
"compilerOptions": {
"baseUrl": "src",
"emitDeclarationOnly": true,
"declaration": true,
"declarationDir": "./typings",
"paths": {
"terminus-*": ["../../terminus-*"],
"*": ["../../app/node_modules/*"]
}
}
}

View File

@@ -4,7 +4,7 @@ const webpack = require('webpack')
module.exports = {
target: 'node',
entry: 'src/index.ts',
devtool: 'source-map',
devtool: 'eval-source-map',
context: __dirname,
mode: 'development',
output: {
@@ -51,10 +51,7 @@ module.exports = {
'fs',
'os',
'path',
'deepmerge',
'untildify',
'winston',
'js-yaml',
'windows-native-registry',
/^rxjs/,
/^@angular/,
/^@ng-bootstrap/,

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,12 @@
{
"name": "terminus-plugin-manager",
"version": "1.0.68-c17-g8b64a81",
"version": "1.0.73-c4-ga7d62b0",
"description": "Terminus' plugin manager",
"keywords": [
"terminus-builtin-plugin"
],
"main": "dist/index.js",
"typings": "dist/index.d.ts",
"typings": "typings/index.d.ts",
"scripts": {
"build": "webpack --progress --color --display-modules",
"watch": "webpack --progress --color --watch"
@@ -17,13 +17,15 @@
"author": "Eugene Pankov",
"license": "MIT",
"devDependencies": {
"@types/mz": "0.0.31",
"@types/node": "7.0.12",
"@types/semver": "^5.3.32",
"@types/webpack-env": "1.13.0",
"@types/mz": "0.0.32",
"@types/node": "12.0.8",
"@types/semver": "^6.0.0",
"@types/webpack-env": "1.13.9",
"axios": "^0.19.0",
"css-loader": "^0.28.0",
"mz": "^2.6.0",
"ngx-pipes": "^1.6.1",
"semver": "^5.3.0"
"semver": "^6.1.0"
},
"peerDependencies": {
"@angular/common": "4.0.1",
@@ -34,11 +36,5 @@
"rxjs": "5.3.0",
"terminus-core": "*",
"terminus-settings": "*"
},
"dependencies": {
"axios": "^0.16.2",
"mz": "^2.6.0",
"npm": "^6.7.0"
},
"false": {}
}
}

View File

@@ -4,7 +4,7 @@ import * as semver from 'semver'
import { Component, Input } from '@angular/core'
import { ConfigService, ElectronService } from 'terminus-core'
import { IPluginInfo, PluginManagerService } from '../services/pluginManager.service'
import { PluginInfo, PluginManagerService } from '../services/pluginManager.service'
enum BusyState { Installing, Uninstalling }
@@ -15,10 +15,10 @@ enum BusyState { Installing, Uninstalling }
})
export class PluginsSettingsTabComponent {
BusyState = BusyState
@Input() availablePlugins$: Observable<IPluginInfo[]>
@Input() availablePlugins$: Observable<PluginInfo[]>
@Input() availablePluginsQuery$ = new BehaviorSubject<string>('')
@Input() availablePluginsReady = false
@Input() knownUpgrades: {[id: string]: IPluginInfo} = {}
@Input() knownUpgrades: {[id: string]: PluginInfo} = {}
@Input() busy: {[id: string]: BusyState} = {}
@Input() erroredPlugin: string
@Input() errorMessage: string
@@ -44,7 +44,7 @@ export class PluginsSettingsTabComponent {
})
)
this.availablePlugins$.pipe(first()).subscribe(available => {
for (let plugin of this.pluginManager.installedPlugins) {
for (const plugin of this.pluginManager.installedPlugins) {
this.knownUpgrades[plugin.name] = available.find(x => x.name === plugin.name && semver.gt(x.version, plugin.version))
}
})
@@ -58,11 +58,11 @@ export class PluginsSettingsTabComponent {
this.availablePluginsQuery$.next(query)
}
isAlreadyInstalled (plugin: IPluginInfo): boolean {
isAlreadyInstalled (plugin: PluginInfo): boolean {
return this.pluginManager.installedPlugins.some(x => x.name === plugin.name)
}
async installPlugin (plugin: IPluginInfo): Promise<void> {
async installPlugin (plugin: PluginInfo): Promise<void> {
this.busy[plugin.name] = BusyState.Installing
try {
await this.pluginManager.installPlugin(plugin)
@@ -76,7 +76,7 @@ export class PluginsSettingsTabComponent {
}
}
async uninstallPlugin (plugin: IPluginInfo): Promise<void> {
async uninstallPlugin (plugin: PluginInfo): Promise<void> {
this.busy[plugin.name] = BusyState.Uninstalling
try {
await this.pluginManager.uninstallPlugin(plugin)
@@ -90,21 +90,21 @@ export class PluginsSettingsTabComponent {
}
}
async upgradePlugin (plugin: IPluginInfo): Promise<void> {
async upgradePlugin (plugin: PluginInfo): Promise<void> {
return this.installPlugin(this.knownUpgrades[plugin.name])
}
showPluginInfo (plugin: IPluginInfo) {
showPluginInfo (plugin: PluginInfo) {
this.electron.shell.openExternal('https://www.npmjs.com/package/' + plugin.packageName)
}
enablePlugin (plugin: IPluginInfo) {
enablePlugin (plugin: PluginInfo) {
this.config.store.pluginBlacklist = this.config.store.pluginBlacklist.filter(x => x !== plugin.name)
this.config.save()
this.config.requestRestart()
}
disablePlugin (plugin: IPluginInfo) {
disablePlugin (plugin: PluginInfo) {
this.config.store.pluginBlacklist = [...this.config.store.pluginBlacklist, plugin.name]
this.config.save()
this.config.requestRestart()

View File

@@ -27,6 +27,6 @@ import { PluginsSettingsTabProvider } from './settings'
PluginsSettingsTabComponent,
],
})
export default class PluginManagerModule { }
export default class PluginManagerModule { } // eslint-disable-line @typescript-eslint/no-extraneous-class
export { PluginManagerService }

View File

@@ -8,7 +8,7 @@ const NAME_PREFIX = 'terminus-'
const KEYWORD = 'terminus-plugin'
const OFFICIAL_NPM_ACCOUNT = 'eugenepankov'
export interface IPluginInfo {
export interface PluginInfo {
name: string
description: string
packageName: string
@@ -25,7 +25,7 @@ export class PluginManagerService {
logger: Logger
builtinPluginsPath: string = (window as any).builtinPluginsPath
userPluginsPath: string = (window as any).userPluginsPath
installedPlugins: IPluginInfo[] = (window as any).installedPlugins
installedPlugins: PluginInfo[] = (window as any).installedPlugins
private npmReady: Promise<void>
private npm: any
@@ -40,7 +40,7 @@ export class PluginManagerService {
if (!this.npm) {
if (!this.npmReady) {
this.npmReady = new Promise(resolve => {
const npm = require('npm')
const npm = (global as any).require('npm')
npm.load({
prefix: this.userPluginsPath,
}, err => {
@@ -57,12 +57,12 @@ export class PluginManagerService {
return this.npm
}
listAvailable (query?: string): Observable<IPluginInfo[]> {
listAvailable (query?: string): Observable<PluginInfo[]> {
return from(
axios.get(`https://www.npmjs.com/search?q=keywords%3A${KEYWORD}+${encodeURIComponent(query || '')}&from=0&size=1000`, {
headers: {
'x-spiferack': '1',
}
},
})
).pipe(
map(response => response.data.objects.map(item => ({
@@ -78,7 +78,7 @@ export class PluginManagerService {
)
}
async installPlugin (plugin: IPluginInfo) {
async installPlugin (plugin: PluginInfo) {
(await this.getNPM()).commands.install([`${plugin.packageName}@${plugin.version}`], err => {
if (err) {
this.logger.error(err)
@@ -88,7 +88,7 @@ export class PluginManagerService {
})
}
async uninstallPlugin (plugin: IPluginInfo) {
async uninstallPlugin (plugin: PluginInfo) {
(await this.getNPM()).commands.remove([plugin.packageName], err => {
if (err) {
this.logger.error(err)

View File

@@ -3,6 +3,5 @@
"exclude": ["node_modules", "dist"],
"compilerOptions": {
"baseUrl": "src",
"declarationDir": "dist"
}
}

View File

@@ -0,0 +1,14 @@
{
"extends": "../tsconfig.json",
"exclude": ["node_modules", "dist", "typings"],
"compilerOptions": {
"baseUrl": "src",
"emitDeclarationOnly": true,
"declaration": true,
"declarationDir": "./typings",
"paths": {
"terminus-*": ["../../terminus-*"],
"*": ["../../app/node_modules/*"]
}
}
}

View File

@@ -4,7 +4,7 @@ const webpack = require('webpack')
module.exports = {
target: 'node',
entry: 'src/index.ts',
devtool: 'source-map',
devtool: 'eval-source-map',
context: __dirname,
output: {
path: path.resolve(__dirname, 'dist'),
@@ -43,11 +43,9 @@ module.exports = {
},
externals: [
'fs',
'font-manager',
'net',
'npm',
'path',
'mz/fs',
'mz/child_process',
/^rxjs/,
/^@angular/,
/^@ng-bootstrap/,

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,12 @@
{
"name": "terminus-settings",
"version": "1.0.68-c17-g8b64a81",
"version": "1.0.73-c4-ga7d62b0",
"description": "Terminus terminal settings page",
"keywords": [
"terminus-builtin-plugin"
],
"main": "dist/index.js",
"typings": "dist/src/index.d.ts",
"typings": "typings/index.d.ts",
"scripts": {
"build": "webpack --progress --color --display-modules",
"watch": "webpack --progress --color --watch"
@@ -17,9 +17,9 @@
"author": "Eugene Pankov",
"license": "MIT",
"devDependencies": {
"@types/deep-equal": "1.0.0",
"@types/node": "7.0.12",
"@types/webpack-env": "1.13.0",
"@types/deep-equal": "1.0.1",
"@types/node": "12.0.8",
"@types/webpack-env": "1.13.9",
"ngx-pipes": "^1.6.1"
},
"peerDependencies": {

View File

@@ -1,6 +1,6 @@
import { Injectable } from '@angular/core'
import { DomSanitizer } from '@angular/platform-browser'
import { ToolbarButtonProvider, IToolbarButton, AppService, HostAppService, HotkeysService } from 'terminus-core'
import { ToolbarButtonProvider, ToolbarButton, AppService, HostAppService, HotkeysService } from 'terminus-core'
import { SettingsTabComponent } from './components/settingsTab.component'
@@ -23,7 +23,7 @@ export class ButtonProvider extends ToolbarButtonProvider {
})
}
provide (): IToolbarButton[] {
provide (): ToolbarButton[] {
return [{
icon: this.domSanitizer.bypassSecurityTrustHtml(require('./icons/cog.svg')),
title: 'Settings',
@@ -34,7 +34,7 @@ export class ButtonProvider extends ToolbarButtonProvider {
}
open (): void {
let settingsTab = this.app.tabs.find((tab) => tab instanceof SettingsTabComponent)
const settingsTab = this.app.tabs.find(tab => tab instanceof SettingsTabComponent)
if (settingsTab) {
this.app.selectTab(settingsTab)
} else {

View File

@@ -21,7 +21,7 @@ const INPUT_TIMEOUT = 1000
animate('250ms ease-out', style({
transform: 'translateX(0)',
opacity: '1',
}))
})),
]),
transition(':leave', [
style({
@@ -31,10 +31,10 @@ const INPUT_TIMEOUT = 1000
animate('250ms ease-in', style({
transform: 'translateX(25px)',
opacity: '0',
}))
])
])
]
})),
]),
]),
],
})
export class HotkeyInputModalComponent {
@Input() value: string[] = []

View File

@@ -24,7 +24,7 @@ export class MultiHotkeyInputComponent {
if (typeof this.model === 'string') {
this.model = [this.model]
}
this.model = this.model.map(item => (typeof item === 'string') ? [item] : item)
this.model = this.model.map(item => typeof item === 'string' ? [item] : item)
}
editItem (item) {

View File

@@ -20,14 +20,6 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
i.fas.fa-bug
span Report a problem
.form-line(*ngIf='!isShellIntegrationInstalled')
.header
.title Shell integration
.description Allows quickly opening a terminal in the selected folder
button.btn.btn-primary((click)='installShellIntegration()')
i.fas.fa-check
span Install
.form-line
.header
.title Theme
@@ -106,6 +98,12 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
step='0.01'
)
.form-line(*ngIf='hostApp.platform !== Platform.Linux')
.header
.title Shell integration
.description Allows quickly opening a terminal in the selected folder
toggle([ngModel]='isShellIntegrationInstalled', (ngModelChange)='toggleShellIntegration()')
.form-line
.header
.title Window frame
@@ -232,7 +230,7 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
.form-line
.header
.title Enable analytics
.description We use Google Analytics
.description We're only tracking your Terminus and OS versions.
toggle(
[(ngModel)]='config.store.enableAnalytics',
(ngModelChange)='config.save(); config.requestRestart()',

Some files were not shown because too many files have changed in this diff Show More