mirror of
https://github.com/Eugeny/tabby.git
synced 2025-09-20 07:06:04 +00:00
Compare commits
55 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
881d5d599d | ||
![]() |
f0e96b5f8b | ||
![]() |
6fed2cb9c0 | ||
![]() |
8e2ffa1654 | ||
![]() |
c25d4bd768 | ||
![]() |
9f8f2966d9 | ||
![]() |
5c976948dd | ||
![]() |
ff4b137088 | ||
![]() |
e3214e38d3 | ||
![]() |
2fc457dd78 | ||
![]() |
3621ea934c | ||
![]() |
b275dac08a | ||
![]() |
47e1bfc810 | ||
![]() |
37e9ba48b1 | ||
![]() |
a54d537536 | ||
![]() |
0c2b221c06 | ||
![]() |
e3375741af | ||
![]() |
d82a88bcc6 | ||
![]() |
f7cab00e4d | ||
![]() |
7f733b8029 | ||
![]() |
d6291c8af4 | ||
![]() |
563852c024 | ||
![]() |
1941d9b748 | ||
![]() |
3473be99bf | ||
![]() |
10cb6a81c7 | ||
![]() |
35f0d6908a | ||
![]() |
2c2d100c27 | ||
![]() |
ab623a7a91 | ||
![]() |
e2e606602b | ||
![]() |
cd3149b601 | ||
![]() |
50748db958 | ||
![]() |
8049dc7332 | ||
![]() |
f468796877 | ||
![]() |
c093780230 | ||
![]() |
c67e44cc9d | ||
![]() |
db45d0c87a | ||
![]() |
4107a01a01 | ||
![]() |
5e378844a1 | ||
![]() |
623496ff52 | ||
![]() |
5082814023 | ||
![]() |
9836b7aefb | ||
![]() |
cb9681ef41 | ||
![]() |
7527b8ac2d | ||
![]() |
da081ba706 | ||
![]() |
e6063da813 | ||
![]() |
e6b4cb94bd | ||
![]() |
56b843c007 | ||
![]() |
a26b30f0bc | ||
![]() |
4a1d8cdd0d | ||
![]() |
7a0920b87c | ||
![]() |
26199ebb76 | ||
![]() |
e3e01558b2 | ||
![]() |
1852486818 | ||
![]() |
d7ea394a15 | ||
![]() |
c4a1d8aa56 |
@@ -451,6 +451,24 @@
|
|||||||
"contributions": [
|
"contributions": [
|
||||||
"doc"
|
"doc"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "Me1onRind",
|
||||||
|
"name": "zZ",
|
||||||
|
"avatar_url": "https://avatars.githubusercontent.com/u/19531270?v=4",
|
||||||
|
"profile": "https://github.com/Me1onRind",
|
||||||
|
"contributions": [
|
||||||
|
"code"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "tainoNZ",
|
||||||
|
"name": "Aaron Davison",
|
||||||
|
"avatar_url": "https://avatars.githubusercontent.com/u/49261322?v=4",
|
||||||
|
"profile": "https://github.com/tainoNZ",
|
||||||
|
"contributions": [
|
||||||
|
"code"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"contributorsPerLine": 7,
|
"contributorsPerLine": 7,
|
||||||
|
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@@ -129,7 +129,7 @@ jobs:
|
|||||||
path: artifact-zip
|
path: artifact-zip
|
||||||
|
|
||||||
Linux-Build:
|
Linux-Build:
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-latest
|
||||||
needs: Lint
|
needs: Lint
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -146,7 +146,7 @@ jobs:
|
|||||||
- name: Install deps
|
- name: Install deps
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install bsdtar zsh
|
sudo apt-get install libarchive-tools zsh
|
||||||
npm i -g yarn@1.19.1
|
npm i -g yarn@1.19.1
|
||||||
cd app
|
cd app
|
||||||
yarn
|
yarn
|
||||||
|
12
.github/workflows/docs.yml
vendored
12
.github/workflows/docs.yml
vendored
@@ -2,7 +2,7 @@ name: Docs
|
|||||||
on: push
|
on: push
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-latest
|
||||||
if: ${{ github.actor != 'dependabot[bot]' }}
|
if: ${{ github.actor != 'dependabot[bot]' }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -18,8 +18,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
eval $(ssh-agent -s)
|
|
||||||
ssh-add <(echo "$DOCS_PRIVATE_KEY")
|
|
||||||
yarn cache clean
|
yarn cache clean
|
||||||
cd app
|
cd app
|
||||||
yarn
|
yarn
|
||||||
@@ -28,7 +26,13 @@ jobs:
|
|||||||
yarn
|
yarn
|
||||||
yarn run build:typings
|
yarn run build:typings
|
||||||
yarn run docs
|
yarn run docs
|
||||||
rsync -e "ssh -o StrictHostKeyChecking=no" -arv docs/api/ root@ajenti.org:/srv/terminus-docs/
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
DOCS_PRIVATE_KEY: ${{ secrets.DOCS_PRIVATE_KEY }}
|
DOCS_PRIVATE_KEY: ${{ secrets.DOCS_PRIVATE_KEY }}
|
||||||
|
|
||||||
|
- uses: FirebaseExtended/action-hosting-deploy@v0
|
||||||
|
with:
|
||||||
|
repoToken: '${{ secrets.GITHUB_TOKEN }}'
|
||||||
|
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_TABBY_DOCS }}'
|
||||||
|
channelId: live
|
||||||
|
projectId: tabby-docs
|
||||||
|
@@ -38,14 +38,14 @@
|
|||||||
|
|
||||||
# 목차 <!-- omit in toc -->
|
# 목차 <!-- omit in toc -->
|
||||||
|
|
||||||
- [Tabby는 무엇인가](#about)
|
- [Tabby는 무엇인가](#tabby는-무엇인가)
|
||||||
- [터미널 기능](#terminal)
|
- [터미널 기능](#터미널-기능)
|
||||||
- [SSH 클라이언트](#ssh)
|
- [SSH 클라이언트](#ssh-클라이언트)
|
||||||
- [시리얼 터미널](#serial)
|
- [시리얼 터미널](#시리얼-터미널)
|
||||||
- [포터블](#portable)
|
- [포터블](#포터블)
|
||||||
- [플러그인](#plugins)
|
- [플러그인](#플러그인)
|
||||||
- [테마](#themes)
|
- [테마](#테마)
|
||||||
- [기여](#contributing)
|
- [기여](#기여)
|
||||||
|
|
||||||
<a name="about"></a>
|
<a name="about"></a>
|
||||||
|
|
||||||
@@ -130,7 +130,7 @@
|
|||||||
|
|
||||||
Pull requests and plugins are welcome!
|
Pull requests and plugins are welcome!
|
||||||
|
|
||||||
프로젝트 배치 방법에 대한 자세한 내용과 매우 간단한 플러그인 개발 튜토리얼은 [HACKING.md](https://github.com/Eugeny/tabby/blob/master/HACKING.md) 및 [API docs](http://ajenti.org/terminus-docs/)를 참조하십시오.
|
프로젝트 배치 방법에 대한 자세한 내용과 매우 간단한 플러그인 개발 튜토리얼은 [HACKING.md](https://github.com/Eugeny/tabby/blob/master/HACKING.md) 및 [API docs](https://docs.tabby.sh/)를 참조하십시오.
|
||||||
|
|
||||||
---
|
---
|
||||||
<a name="contributors"></a>
|
<a name="contributors"></a>
|
||||||
|
@@ -135,7 +135,7 @@ Plugins and themes can be installed directly from the Settings view inside Tabby
|
|||||||
|
|
||||||
Pull requests and plugins are welcome!
|
Pull requests and plugins are welcome!
|
||||||
|
|
||||||
See [HACKING.md](https://github.com/Eugeny/tabby/blob/master/HACKING.md) and [API docs](http://ajenti.org/terminus-docs/) for information of how the project is laid out, and a very brief plugin development tutorial.
|
See [HACKING.md](https://github.com/Eugeny/tabby/blob/master/HACKING.md) and [API docs](https://docs.tabby.sh/) for information of how the project is laid out, and a very brief plugin development tutorial.
|
||||||
|
|
||||||
---
|
---
|
||||||
<a name="contributors"></a>
|
<a name="contributors"></a>
|
||||||
@@ -209,6 +209,10 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|||||||
<td align="center"><a href="https://github.com/al-wi"><img src="https://avatars.githubusercontent.com/u/11092199?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Alexander Wiedemann</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=al-wi" title="Code">💻</a></td>
|
<td align="center"><a href="https://github.com/al-wi"><img src="https://avatars.githubusercontent.com/u/11092199?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Alexander Wiedemann</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=al-wi" title="Code">💻</a></td>
|
||||||
<td align="center"><a href="https://www.notion.so/3d45c6bd2cbd4f938873a4bd12e23375"><img src="https://avatars.githubusercontent.com/u/59506394?v=4?s=100" width="100px;" alt=""/><br /><sub><b>장보연</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=BoYeonJang" title="Documentation">📖</a></td>
|
<td align="center"><a href="https://www.notion.so/3d45c6bd2cbd4f938873a4bd12e23375"><img src="https://avatars.githubusercontent.com/u/59506394?v=4?s=100" width="100px;" alt=""/><br /><sub><b>장보연</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=BoYeonJang" title="Documentation">📖</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center"><a href="https://github.com/Me1onRind"><img src="https://avatars.githubusercontent.com/u/19531270?v=4?s=100" width="100px;" alt=""/><br /><sub><b>zZ</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=Me1onRind" title="Code">💻</a></td>
|
||||||
|
<td align="center"><a href="https://github.com/tainoNZ"><img src="https://avatars.githubusercontent.com/u/49261322?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Aaron Davison</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=tainoNZ" title="Code">💻</a></td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<!-- markdownlint-restore -->
|
<!-- markdownlint-restore -->
|
||||||
|
@@ -398,6 +398,18 @@ export class Window {
|
|||||||
}
|
}
|
||||||
this.window.on('move', onBoundsChange)
|
this.window.on('move', onBoundsChange)
|
||||||
this.window.on('resize', onBoundsChange)
|
this.window.on('resize', onBoundsChange)
|
||||||
|
|
||||||
|
ipcMain.on('window-set-traffic-light-position', (_event, x, y) => {
|
||||||
|
this.window.setTrafficLightPosition({ x, y })
|
||||||
|
})
|
||||||
|
|
||||||
|
ipcMain.on('window-set-opacity', (_event, opacity) => {
|
||||||
|
this.window.setOpacity(opacity)
|
||||||
|
})
|
||||||
|
|
||||||
|
ipcMain.on('window-set-progress-bar', (_event, value) => {
|
||||||
|
this.window.setProgressBar(value, { mode: value < 0 ? 'none' : 'normal' })
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
private destroy () {
|
private destroy () {
|
||||||
|
@@ -14,7 +14,7 @@
|
|||||||
"watch": "webpack --progress --color --watch"
|
"watch": "webpack --progress --color --watch"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular/cdk": "^12.2.0",
|
"@angular/cdk": "^12.2.9",
|
||||||
"@electron/remote": "1.2.0",
|
"@electron/remote": "1.2.0",
|
||||||
"@tabby-gang/node-pty": "^0.11.0-beta.200",
|
"@tabby-gang/node-pty": "^0.11.0-beta.200",
|
||||||
"any-promise": "^1.3.0",
|
"any-promise": "^1.3.0",
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
"mz": "^2.7.0",
|
"mz": "^2.7.0",
|
||||||
"native-process-working-directory": "^1.0.2",
|
"native-process-working-directory": "^1.0.2",
|
||||||
"npm": "6",
|
"npm": "6",
|
||||||
"rxjs": "^7.2.0",
|
"rxjs": "^7.4.0",
|
||||||
"source-map-support": "^0.5.20",
|
"source-map-support": "^0.5.20",
|
||||||
"v8-compile-cache": "^2.3.0",
|
"v8-compile-cache": "^2.3.0",
|
||||||
"yargs": "^17.1.0"
|
"yargs": "^17.1.0"
|
||||||
@@ -39,13 +39,13 @@
|
|||||||
"serialport": "^9.2.1",
|
"serialport": "^9.2.1",
|
||||||
"windows-blurbehind": "^1.0.1",
|
"windows-blurbehind": "^1.0.1",
|
||||||
"windows-native-registry": "^3.1.0",
|
"windows-native-registry": "^3.1.0",
|
||||||
"windows-process-tree": "^0.3.0"
|
"windows-process-tree": "^0.3.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/mz": "2.7.4",
|
"@types/mz": "2.7.4",
|
||||||
"@types/node": "16.0.1",
|
"@types/node": "16.0.1",
|
||||||
"ngx-filesize": "^2.0.16",
|
"ngx-filesize": "^2.0.16",
|
||||||
"node-abi": "^3.1.0"
|
"node-abi": "^3.2.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"tabby-community-color-schemes": "*",
|
"tabby-community-color-schemes": "*",
|
||||||
|
@@ -163,6 +163,10 @@ ngb-typeahead-window {
|
|||||||
margin: -7px 0;
|
margin: -7px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.content-box {
|
||||||
|
max-width: 600px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Windows high contrast mode
|
// Windows high contrast mode
|
||||||
@media screen and (forced-colors: active) {
|
@media screen and (forced-colors: active) {
|
||||||
|
@@ -2,10 +2,10 @@
|
|||||||
# yarn lockfile v1
|
# yarn lockfile v1
|
||||||
|
|
||||||
|
|
||||||
"@angular/cdk@^12.2.0":
|
"@angular/cdk@^12.2.9":
|
||||||
version "12.2.0"
|
version "12.2.9"
|
||||||
resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-12.2.0.tgz#7c6de53522ef7cf911d86e187f3df2a90e8fee49"
|
resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-12.2.9.tgz#f39e4d7cdb3568ad8e1d412e3500772e2d4c605c"
|
||||||
integrity sha512-Dts+KIMz6EdzQxaWBFcNwgWAHVPkI5pnOGMidKKVOmjezSUN6mhfBKq8emgsddJMRAqz/1VHMAEaRkp0VoBKiA==
|
integrity sha512-9Wgj69iGAZ4teQqW/zPbVg2RGna+m9i3v0zkWGx/+Uo95rikJCUZBQM4bfeOe+bSJrS77jV5EisBWG7ayNUSzQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib "^2.2.0"
|
tslib "^2.2.0"
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
@@ -2138,10 +2138,10 @@ node-abi@^2.20.0, node-abi@^2.7.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
semver "^5.4.1"
|
semver "^5.4.1"
|
||||||
|
|
||||||
node-abi@^3.1.0:
|
node-abi@^3.2.0:
|
||||||
version "3.1.0"
|
version "3.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.1.0.tgz#9560f38fbe2309e87c61f4f103c9d95e0f961c32"
|
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.2.0.tgz#c8ec6874f808b4da5fbd56e9506390ce65b152a2"
|
||||||
integrity sha512-kVF+eIDzPPwPcJdoVhWboJvdCe+YF1+rkd7+LeYmA95179T0sVB5kKG8VADM/3sBnGWeAUBR8FzH+whlksJTrQ==
|
integrity sha512-/qb92JAb2uiwEQ4aXpVphXfGJU77qdCieXACDaIofcMz+YMPBmnCo8v0OlzJBuXh5QHmMiiI/GKyiCzbjOMn2g==
|
||||||
dependencies:
|
dependencies:
|
||||||
semver "^7.3.5"
|
semver "^7.3.5"
|
||||||
|
|
||||||
@@ -3046,10 +3046,10 @@ run-queue@^1.0.0, run-queue@^1.0.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
aproba "^1.1.1"
|
aproba "^1.1.1"
|
||||||
|
|
||||||
rxjs@^7.2.0:
|
rxjs@^7.4.0:
|
||||||
version "7.2.0"
|
version "7.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.2.0.tgz#5cd12409639e9514a71c9f5f9192b2c4ae94de31"
|
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.4.0.tgz#a12a44d7eebf016f5ff2441b87f28c9a51cebc68"
|
||||||
integrity sha512-aX8w9OpKrQmiPKfT1bqETtUr9JygIz6GZ+gql8v7CijClsP0laoFUdKzxFAoWuRdSlOdU2+crss+cMf+cqMTnw==
|
integrity sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib "~2.1.0"
|
tslib "~2.1.0"
|
||||||
|
|
||||||
@@ -3708,10 +3708,10 @@ windows-native-registry@^3.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
node-addon-api "^3.1.0"
|
node-addon-api "^3.1.0"
|
||||||
|
|
||||||
windows-process-tree@^0.3.0:
|
windows-process-tree@^0.3.2:
|
||||||
version "0.3.0"
|
version "0.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/windows-process-tree/-/windows-process-tree-0.3.0.tgz#cf0d9291b22fba2a7f5a687c8272866e28fbcafd"
|
resolved "https://registry.yarnpkg.com/windows-process-tree/-/windows-process-tree-0.3.2.tgz#8c39f39e7707e09fd74638a7ef644b5f389096d3"
|
||||||
integrity sha512-0bKI4gcd5MOsOpn2TdStCSlnjThtH6BdHrocekY9qCgTqgEtdaUs0B5BaqyzF9jXoTSwz38NMdE1F55o4fgv9Q==
|
integrity sha512-x8Y4KOV8tUhhPiO0TH7wOMTZ677rw7VEwq+dTuHHiLTClkrNXWSY3XzP6ez3fs2Cab4FajrtmiqRs0jTMZHfyw==
|
||||||
dependencies:
|
dependencies:
|
||||||
nan "^2.13.2"
|
nan "^2.13.2"
|
||||||
|
|
||||||
|
BIN
extras/UAC.exe
BIN
extras/UAC.exe
Binary file not shown.
10
firebase.json
Normal file
10
firebase.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"hosting": {
|
||||||
|
"public": "docs/api",
|
||||||
|
"ignore": [
|
||||||
|
"firebase.json",
|
||||||
|
"**/.*",
|
||||||
|
"**/node_modules/**"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
22
package.json
22
package.json
@@ -12,27 +12,26 @@
|
|||||||
"@sentry/cli": "^1.67.2",
|
"@sentry/cli": "^1.67.2",
|
||||||
"@sentry/electron": "^2.5.4",
|
"@sentry/electron": "^2.5.4",
|
||||||
"@tabby-gang/to-string-loader": "^1.1.7-beta.2",
|
"@tabby-gang/to-string-loader": "^1.1.7-beta.2",
|
||||||
"@types/electron-config": "^3.2.2",
|
|
||||||
"@types/deep-equal": "1.0.1",
|
"@types/deep-equal": "1.0.1",
|
||||||
"deep-equal": "2.0.5",
|
"@types/electron-config": "^3.2.2",
|
||||||
"@types/electron-debug": "^2.1.0",
|
"@types/electron-debug": "^2.1.0",
|
||||||
"@types/fs-extra": "^9.0.12",
|
"@types/fs-extra": "^9.0.12",
|
||||||
"utils-decorators": "^1.8.3",
|
|
||||||
"@types/js-yaml": "^4.0.2",
|
"@types/js-yaml": "^4.0.2",
|
||||||
"@types/node": "16.0.1",
|
"@types/node": "16.0.1",
|
||||||
"@types/sortablejs": "^1.10.7",
|
"@types/sortablejs": "^1.10.7",
|
||||||
"@types/webpack-env": "^1.16.2",
|
"@types/webpack-env": "^1.16.2",
|
||||||
"@typescript-eslint/eslint-plugin": "^4.31.1",
|
"@typescript-eslint/eslint-plugin": "^4.31.1",
|
||||||
"@typescript-eslint/parser": "^4.28.5",
|
"@typescript-eslint/parser": "^4.33.0",
|
||||||
"apply-loader": "2.0.0",
|
"apply-loader": "2.0.0",
|
||||||
"axios": "^0.21.1",
|
"axios": "^0.21.1",
|
||||||
"clone-deep": "^4.0.1",
|
"clone-deep": "^4.0.1",
|
||||||
"compare-versions": "^3.6.0",
|
"compare-versions": "^3.6.0",
|
||||||
"core-js": "^3.15.2",
|
"core-js": "^3.18.2",
|
||||||
"cross-env": "7.0.3",
|
"cross-env": "7.0.3",
|
||||||
"css-loader": "^6.2.0",
|
"css-loader": "^6.2.0",
|
||||||
"electron": "13.2.2",
|
"deep-equal": "2.0.5",
|
||||||
"electron-builder": "22.10.5",
|
"electron-builder": "^22.11.7",
|
||||||
|
"electron": "13.5.1",
|
||||||
"electron-download": "^4.1.1",
|
"electron-download": "^4.1.1",
|
||||||
"electron-installer-snap": "^5.1.0",
|
"electron-installer-snap": "^5.1.0",
|
||||||
"electron-notarize": "^1.1.1",
|
"electron-notarize": "^1.1.1",
|
||||||
@@ -46,7 +45,7 @@
|
|||||||
"macos-release": "^3.0.1",
|
"macos-release": "^3.0.1",
|
||||||
"ngx-sortablejs": "^11.1.0",
|
"ngx-sortablejs": "^11.1.0",
|
||||||
"ngx-toastr": "^14.0.0",
|
"ngx-toastr": "^14.0.0",
|
||||||
"node-abi": "^3.1.0",
|
"node-abi": "^3.2.0",
|
||||||
"node-sass": "^6.0.1",
|
"node-sass": "^6.0.1",
|
||||||
"npmlog": "5.0.0",
|
"npmlog": "5.0.0",
|
||||||
"npx": "^10.2.2",
|
"npx": "^10.2.2",
|
||||||
@@ -60,20 +59,21 @@
|
|||||||
"sass-loader": "^12.1.0",
|
"sass-loader": "^12.1.0",
|
||||||
"shell-quote": "^1.7.2",
|
"shell-quote": "^1.7.2",
|
||||||
"shelljs": "0.8.4",
|
"shelljs": "0.8.4",
|
||||||
"slugify": "^1.6.0",
|
"slugify": "^1.6.1",
|
||||||
"sortablejs": "^1.14.0",
|
"sortablejs": "^1.14.0",
|
||||||
"source-code-pro": "^2.38.0",
|
"source-code-pro": "^2.38.0",
|
||||||
"source-map-loader": "^3.0.0",
|
"source-map-loader": "^3.0.0",
|
||||||
"source-sans-pro": "3.6.0",
|
"source-sans-pro": "3.6.0",
|
||||||
"ssh2": "^1.4.0",
|
"ssh2": "^1.5.0",
|
||||||
"style-loader": "^3.2.1",
|
"style-loader": "^3.2.1",
|
||||||
"svg-inline-loader": "^0.8.2",
|
"svg-inline-loader": "^0.8.2",
|
||||||
"ts-loader": "^9.2.3",
|
"ts-loader": "^9.2.3",
|
||||||
"tslib": "^2.3.1",
|
"tslib": "^2.3.1",
|
||||||
"typedoc": "^0.22.3",
|
"typedoc": "^0.22.3",
|
||||||
"typescript": "^4.3.5",
|
"typescript": "^4.3.5",
|
||||||
|
"utils-decorators": "^1.8.3",
|
||||||
"val-loader": "4.0.0",
|
"val-loader": "4.0.0",
|
||||||
"webpack": "^5.52.1",
|
"webpack": "^5.57.1",
|
||||||
"webpack-bundle-analyzer": "^4.4.2",
|
"webpack-bundle-analyzer": "^4.4.2",
|
||||||
"webpack-cli": "^4.8.0",
|
"webpack-cli": "^4.8.0",
|
||||||
"yaml-loader": "0.6.0",
|
"yaml-loader": "0.6.0",
|
||||||
|
@@ -1,13 +0,0 @@
|
|||||||
diff --git a/node_modules/app-builder-lib/out/appInfo.js b/node_modules/app-builder-lib/out/appInfo.js
|
|
||||||
index 25a159e..bfe0590 100644
|
|
||||||
--- a/node_modules/app-builder-lib/out/appInfo.js
|
|
||||||
+++ b/node_modules/app-builder-lib/out/appInfo.js
|
|
||||||
@@ -165,7 +165,7 @@ class AppInfo {
|
|
||||||
get linuxPackageName() {
|
|
||||||
const name = this.name; // https://github.com/electron-userland/electron-builder/issues/2963
|
|
||||||
|
|
||||||
- return name.startsWith("@") ? this.sanitizedProductName : name;
|
|
||||||
+ return 'tabby-terminal';
|
|
||||||
}
|
|
||||||
|
|
||||||
get sanitizedName() {
|
|
15
patches/app-builder-lib+22.11.7.patch
Normal file
15
patches/app-builder-lib+22.11.7.patch
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
diff --git a/node_modules/app-builder-lib/out/appInfo.js b/node_modules/app-builder-lib/out/appInfo.js
|
||||||
|
index f241acc..2bddb7f 100644
|
||||||
|
--- a/node_modules/app-builder-lib/out/appInfo.js
|
||||||
|
+++ b/node_modules/app-builder-lib/out/appInfo.js
|
||||||
|
@@ -100,9 +100,7 @@ class AppInfo {
|
||||||
|
return this.info.metadata.name;
|
||||||
|
}
|
||||||
|
get linuxPackageName() {
|
||||||
|
- const name = this.name;
|
||||||
|
- // https://github.com/electron-userland/electron-builder/issues/2963
|
||||||
|
- return name.startsWith("@") ? this.sanitizedProductName : name;
|
||||||
|
+ return 'tabby-terminal'
|
||||||
|
}
|
||||||
|
get sanitizedName() {
|
||||||
|
return sanitizeFileName_1.sanitizeFileName(this.name);
|
@@ -18,6 +18,7 @@ sh.cd('..')
|
|||||||
|
|
||||||
sh.cd('web')
|
sh.cd('web')
|
||||||
sh.exec(`${npx} yarn install --force`)
|
sh.exec(`${npx} yarn install --force`)
|
||||||
|
sh.exec(`${npx} patch-package`)
|
||||||
sh.cd('..')
|
sh.cd('..')
|
||||||
|
|
||||||
vars.allPackages.forEach(plugin => {
|
vars.allPackages.forEach(plugin => {
|
||||||
|
@@ -35,7 +35,7 @@ export class ButtonProvider extends ToolbarButtonProvider {
|
|||||||
icon: this.hostApp.platform === Platform.Web
|
icon: this.hostApp.platform === Platform.Web
|
||||||
? require('./icons/plus.svg')
|
? require('./icons/plus.svg')
|
||||||
: require('./icons/profiles.svg'),
|
: require('./icons/profiles.svg'),
|
||||||
title: 'New tab with profile',
|
title: 'Profiles and connections',
|
||||||
click: () => this.activate(),
|
click: () => this.activate(),
|
||||||
},
|
},
|
||||||
...this.profilesService.getRecentProfiles().map(profile => ({
|
...this.profilesService.getRecentProfiles().map(profile => ({
|
||||||
|
@@ -111,6 +111,9 @@ export class AppRootComponent {
|
|||||||
if (hotkey === 'reopen-tab') {
|
if (hotkey === 'reopen-tab') {
|
||||||
this.app.reopenLastTab()
|
this.app.reopenLastTab()
|
||||||
}
|
}
|
||||||
|
if (hotkey === 'duplicate-tab') {
|
||||||
|
this.app.duplicateTab(this.app.activeTab)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (hotkey === 'toggle-fullscreen') {
|
if (hotkey === 'toggle-fullscreen') {
|
||||||
hostWindow.toggleFullscreen()
|
hostWindow.toggleFullscreen()
|
||||||
|
@@ -29,9 +29,11 @@ export class SelectorModalComponent<T> {
|
|||||||
@HostListener('keyup', ['$event']) onKeyUp (event: KeyboardEvent): void {
|
@HostListener('keyup', ['$event']) onKeyUp (event: KeyboardEvent): void {
|
||||||
if (event.key === 'ArrowUp') {
|
if (event.key === 'ArrowUp') {
|
||||||
this.selectedIndex--
|
this.selectedIndex--
|
||||||
|
event.preventDefault()
|
||||||
}
|
}
|
||||||
if (event.key === 'ArrowDown') {
|
if (event.key === 'ArrowDown') {
|
||||||
this.selectedIndex++
|
this.selectedIndex++
|
||||||
|
event.preventDefault()
|
||||||
}
|
}
|
||||||
if (event.key === 'Enter') {
|
if (event.key === 'Enter') {
|
||||||
this.selectOption(this.filteredOptions[this.selectedIndex])
|
this.selectOption(this.filteredOptions[this.selectedIndex])
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
h3.m-0 Vault is locked
|
h3.m-0 Vault is locked
|
||||||
.ml-auto(ngbDropdown, placement='bottom-right')
|
.ml-auto(ngbDropdown, placement='bottom-right')
|
||||||
button.btn.btn-link(ngbDropdownToggle, (click)='$event.stopPropagation()')
|
button.btn.btn-link(ngbDropdownToggle, (click)='$event.stopPropagation()')
|
||||||
span(*ngIf='rememberFor') Remember for {{rememberFor}} min
|
span(*ngIf='rememberFor') Remember for {{getRememberForDisplay(rememberFor)}}
|
||||||
span(*ngIf='!rememberFor') Do not remember
|
span(*ngIf='!rememberFor') Do not remember
|
||||||
div(ngbDropdownMenu)
|
div(ngbDropdownMenu)
|
||||||
button.dropdown-item(
|
button.dropdown-item(
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
button.dropdown-item(
|
button.dropdown-item(
|
||||||
*ngFor='let x of rememberOptions',
|
*ngFor='let x of rememberOptions',
|
||||||
(click)='rememberFor = x',
|
(click)='rememberFor = x',
|
||||||
) {{x}} min
|
) {{getRememberForDisplay(x)}}
|
||||||
|
|
||||||
.input-group
|
.input-group
|
||||||
input.form-control.form-control-lg(
|
input.form-control.form-control-lg(
|
||||||
|
@@ -8,7 +8,7 @@ import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'
|
|||||||
export class UnlockVaultModalComponent {
|
export class UnlockVaultModalComponent {
|
||||||
passphrase: string
|
passphrase: string
|
||||||
rememberFor = 1
|
rememberFor = 1
|
||||||
rememberOptions = [1, 5, 15, 60]
|
rememberOptions = [1, 5, 15, 60, 1440, 10080]
|
||||||
@ViewChild('input') input: ElementRef
|
@ViewChild('input') input: ElementRef
|
||||||
|
|
||||||
constructor (
|
constructor (
|
||||||
@@ -33,4 +33,14 @@ export class UnlockVaultModalComponent {
|
|||||||
cancel (): void {
|
cancel (): void {
|
||||||
this.modalInstance.close(null)
|
this.modalInstance.close(null)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getRememberForDisplay (rememberOption: number): string {
|
||||||
|
if (rememberOption >= 1440) {
|
||||||
|
return `${Math.round(rememberOption/1440*10)/10} day`
|
||||||
|
} else if (rememberOption >= 60) {
|
||||||
|
return `${Math.round(rememberOption/60*10)/10} hour`
|
||||||
|
} else {
|
||||||
|
return `${rememberOption} min`
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -20,6 +20,7 @@ hotkeys:
|
|||||||
- 'Ctrl-Shift-PageDown'
|
- 'Ctrl-Shift-PageDown'
|
||||||
rearrange-panes:
|
rearrange-panes:
|
||||||
- 'Ctrl-Shift'
|
- 'Ctrl-Shift'
|
||||||
|
duplicate-tab: []
|
||||||
tab-1:
|
tab-1:
|
||||||
- 'Alt-1'
|
- 'Alt-1'
|
||||||
tab-2:
|
tab-2:
|
||||||
|
@@ -38,6 +38,7 @@ hotkeys:
|
|||||||
- '⌘-9'
|
- '⌘-9'
|
||||||
tab-10:
|
tab-10:
|
||||||
- '⌘-0'
|
- '⌘-0'
|
||||||
|
duplicate-tab: []
|
||||||
tab-11: []
|
tab-11: []
|
||||||
tab-12: []
|
tab-12: []
|
||||||
tab-13: []
|
tab-13: []
|
||||||
|
@@ -21,6 +21,7 @@ hotkeys:
|
|||||||
- 'Ctrl-Shift-PageDown'
|
- 'Ctrl-Shift-PageDown'
|
||||||
rearrange-panes:
|
rearrange-panes:
|
||||||
- 'Ctrl-Shift'
|
- 'Ctrl-Shift'
|
||||||
|
duplicate-tab: []
|
||||||
tab-1:
|
tab-1:
|
||||||
- 'Alt-1'
|
- 'Alt-1'
|
||||||
tab-2:
|
tab-2:
|
||||||
|
@@ -51,6 +51,10 @@ export class AppHotkeyProvider extends HotkeyProvider {
|
|||||||
id: 'rearrange-panes',
|
id: 'rearrange-panes',
|
||||||
name: 'Show pane labels (for rearranging)',
|
name: 'Show pane labels (for rearranging)',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: 'duplicate-tab',
|
||||||
|
name: 'Duplicate tab',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 'tab-1',
|
id: 'tab-1',
|
||||||
name: 'Tab 1',
|
name: 'Tab 1',
|
||||||
|
@@ -59,10 +59,10 @@ export default class ElectronModule {
|
|||||||
|
|
||||||
themeService.themeChanged$.subscribe(theme => {
|
themeService.themeChanged$.subscribe(theme => {
|
||||||
if (hostApp.platform === Platform.macOS) {
|
if (hostApp.platform === Platform.macOS) {
|
||||||
hostWindow.getWindow().setTrafficLightPosition({
|
hostWindow.setTrafficLightPosition(
|
||||||
x: theme.macOSWindowButtonsInsetX ?? 14,
|
theme.macOSWindowButtonsInsetX ?? 14,
|
||||||
y: theme.macOSWindowButtonsInsetY ?? 11,
|
theme.macOSWindowButtonsInsetY ?? 11,
|
||||||
})
|
)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -73,9 +73,9 @@ export default class ElectronModule {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (progress !== null) {
|
if (progress !== null) {
|
||||||
hostWindow.getWindow().setProgressBar(progress / 100.0, { mode: 'normal' })
|
hostWindow.setProgressBar(progress / 100.0)
|
||||||
} else {
|
} else {
|
||||||
hostWindow.getWindow().setProgressBar(-1, { mode: 'none' })
|
hostWindow.setProgressBar(-1)
|
||||||
}
|
}
|
||||||
lastProgress = progress
|
lastProgress = progress
|
||||||
})
|
})
|
||||||
@@ -116,7 +116,7 @@ export default class ElectronModule {
|
|||||||
document.body.classList.toggle('vibrant', this.config.store.appearance.vibrancy)
|
document.body.classList.toggle('vibrant', this.config.store.appearance.vibrancy)
|
||||||
this.electron.ipcRenderer.send('window-set-vibrancy', this.config.store.appearance.vibrancy, vibrancyType)
|
this.electron.ipcRenderer.send('window-set-vibrancy', this.config.store.appearance.vibrancy, vibrancyType)
|
||||||
|
|
||||||
this.hostWindow.getWindow().setOpacity(this.config.store.appearance.opacity)
|
this.hostWindow.setOpacity(this.config.store.appearance.opacity)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -97,6 +97,18 @@ export class ElectronHostWindow extends HostWindowService {
|
|||||||
this.getWindow().setTouchBar(touchBar)
|
this.getWindow().setTouchBar(touchBar)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setTrafficLightPosition (x: number, y: number): void {
|
||||||
|
this.electron.ipcRenderer.send('window-set-traffic-light-position', x, y)
|
||||||
|
}
|
||||||
|
|
||||||
|
setOpacity (opacity: number): void {
|
||||||
|
this.electron.ipcRenderer.send('window-set-opacity', opacity)
|
||||||
|
}
|
||||||
|
|
||||||
|
setProgressBar (value: number): void {
|
||||||
|
this.electron.ipcRenderer.send('window-set-progress-bar', value)
|
||||||
|
}
|
||||||
|
|
||||||
bringToFront (): void {
|
bringToFront (): void {
|
||||||
this.electron.ipcRenderer.send('window-bring-to-front')
|
this.electron.ipcRenderer.send('window-bring-to-front')
|
||||||
}
|
}
|
||||||
|
@@ -3,7 +3,11 @@ ng-container(*ngIf='!argvMode')
|
|||||||
label Command line
|
label Command line
|
||||||
.input-group
|
.input-group
|
||||||
.input-group-prepend
|
.input-group-prepend
|
||||||
button.btn.btn-secondary((click)='switchToArgv()', title='Switch to split arguments')
|
a.input-group-text(
|
||||||
|
(click)='switchToArgv()',
|
||||||
|
ngbTooltip='Split into unescaped arguments',
|
||||||
|
href='#'
|
||||||
|
)
|
||||||
i.fas.fa-fw.fa-caret-right
|
i.fas.fa-fw.fa-caret-right
|
||||||
input.form-control.text-monospace(
|
input.form-control.text-monospace(
|
||||||
[(ngModel)]='command',
|
[(ngModel)]='command',
|
||||||
@@ -15,7 +19,11 @@ ng-container(*ngIf='argvMode')
|
|||||||
label Program
|
label Program
|
||||||
.input-group
|
.input-group
|
||||||
.input-group-prepend
|
.input-group-prepend
|
||||||
button.btn.btn-secondary((click)='switchToCommand()', title='Switch to a single-line command')
|
a.input-group-text(
|
||||||
|
(click)='switchToCommand()',
|
||||||
|
ngbTooltip='Combine into a single escaped command',
|
||||||
|
href='#'
|
||||||
|
)
|
||||||
i.fas.fa-fw.fa-caret-down
|
i.fas.fa-fw.fa-caret-down
|
||||||
input.form-control.text-monospace(
|
input.form-control.text-monospace(
|
||||||
type='text',
|
type='text',
|
||||||
|
@@ -8,6 +8,13 @@
|
|||||||
button.btn.btn-secondary((click)='removeEnvironmentVar(pair.key)')
|
button.btn.btn-secondary((click)='removeEnvironmentVar(pair.key)')
|
||||||
i.fas.fa-fw.fa-trash
|
i.fas.fa-fw.fa-trash
|
||||||
|
|
||||||
button.btn.btn-secondary((click)='addEnvironmentVar()')
|
.d-flex
|
||||||
i.fas.fa-plus.mr-2
|
button.btn.btn-secondary((click)='addEnvironmentVar()')
|
||||||
span Add
|
i.fas.fa-plus.mr-2
|
||||||
|
span Add
|
||||||
|
|
||||||
|
.ml-auto
|
||||||
|
.text-muted Substitutions allowed.
|
||||||
|
.d-flex.ml-1(*ngIf='shouldShowExample()')
|
||||||
|
.text-muted Example:
|
||||||
|
a.ml-1((click)='addExample()', href='#') extend PATH
|
||||||
|
@@ -44,4 +44,13 @@ export class EnvironmentEditorComponent {
|
|||||||
this.emitUpdate()
|
this.emitUpdate()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
shouldShowExample (): boolean {
|
||||||
|
return !this.vars.find(v => v.key.toLowerCase() === 'path')
|
||||||
|
}
|
||||||
|
|
||||||
|
addExample (): void {
|
||||||
|
const value = process.platform === 'win32' ? 'C:\\Program Files\\Custom:%PATH%' : '/opt/custom:$PATH'
|
||||||
|
this.vars.push({ key: 'PATH', value })
|
||||||
|
this.emitUpdate()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import { Component } from '@angular/core'
|
import { Component, HostBinding } from '@angular/core'
|
||||||
import { WIN_BUILD_CONPTY_SUPPORTED, WIN_BUILD_CONPTY_STABLE, isWindowsBuild, ConfigService } from 'tabby-core'
|
import { WIN_BUILD_CONPTY_SUPPORTED, WIN_BUILD_CONPTY_STABLE, isWindowsBuild, ConfigService } from 'tabby-core'
|
||||||
|
|
||||||
/** @hidden */
|
/** @hidden */
|
||||||
@@ -9,6 +9,8 @@ export class ShellSettingsTabComponent {
|
|||||||
isConPTYAvailable: boolean
|
isConPTYAvailable: boolean
|
||||||
isConPTYStable: boolean
|
isConPTYStable: boolean
|
||||||
|
|
||||||
|
@HostBinding('class.content-box') true
|
||||||
|
|
||||||
constructor (
|
constructor (
|
||||||
public config: ConfigService,
|
public config: ConfigService,
|
||||||
) {
|
) {
|
||||||
|
@@ -58,7 +58,10 @@ export class TerminalTabComponent extends BaseTerminalTabComponent {
|
|||||||
|
|
||||||
initializeSession (columns: number, rows: number): void {
|
initializeSession (columns: number, rows: number): void {
|
||||||
if (this.profile.options.runAsAdministrator && this.uac.isAvailable) {
|
if (this.profile.options.runAsAdministrator && this.uac.isAvailable) {
|
||||||
this.profile.options = this.uac.patchSessionOptionsForUAC(this.profile.options)
|
this.profile = {
|
||||||
|
...this.profile,
|
||||||
|
options: this.uac.patchSessionOptionsForUAC(this.profile.options),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.session!.start({
|
this.session!.start({
|
||||||
|
@@ -81,6 +81,35 @@ export class PTYProxy {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function mergeEnv (...envs) {
|
||||||
|
const result = {}
|
||||||
|
const keyMap = {}
|
||||||
|
for (const env of envs) {
|
||||||
|
for (const [key, value] of Object.entries(env)) {
|
||||||
|
// const lookup = process.platform === 'win32' ? key.toLowerCase() : key
|
||||||
|
const lookup = key.toLowerCase()
|
||||||
|
keyMap[lookup] ??= key
|
||||||
|
result[keyMap[lookup]] = value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
function substituteEnv (env: Record<string, string>) {
|
||||||
|
env = { ...env }
|
||||||
|
const pattern = process.platform === 'win32' ? /%(\w+)%/g : /\$(\w+)\b/g
|
||||||
|
for (const [key, value] of Object.entries(env)) {
|
||||||
|
env[key] = value.replace(pattern, function (substring, p1) {
|
||||||
|
if (process.platform === 'win32') {
|
||||||
|
return Object.entries(process.env).find(x => x[0].toLowerCase() === p1.toLowerCase())?.[1] ?? ''
|
||||||
|
} else {
|
||||||
|
return process.env[p1] ?? ''
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return env
|
||||||
|
}
|
||||||
|
|
||||||
/** @hidden */
|
/** @hidden */
|
||||||
export class Session extends BaseSession {
|
export class Session extends BaseSession {
|
||||||
private pty: PTYProxy|null = null
|
private pty: PTYProxy|null = null
|
||||||
@@ -108,22 +137,18 @@ export class Session extends BaseSession {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!pty) {
|
if (!pty) {
|
||||||
const env = {
|
let env = mergeEnv(
|
||||||
...process.env,
|
process.env,
|
||||||
TERM: 'xterm-256color',
|
{
|
||||||
TERM_PROGRAM: 'Tabby',
|
TERM: 'xterm-256color',
|
||||||
...options.env,
|
TERM_PROGRAM: 'Tabby',
|
||||||
...this.config.store.terminal.environment || {},
|
},
|
||||||
}
|
substituteEnv(options.env ?? {}),
|
||||||
|
this.config.store.terminal.environment || {},
|
||||||
|
)
|
||||||
|
|
||||||
if (this.hostApp.platform === Platform.Windows && this.config.store.terminal.setComSpec) {
|
if (this.hostApp.platform === Platform.Windows && this.config.store.terminal.setComSpec) {
|
||||||
for (const k of Object.keys(env)) {
|
env = mergeEnv(env, { COMSPEC: this.bootstrapData.executable })
|
||||||
if (k.toUpperCase() === 'COMSPEC') {
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
|
||||||
delete env[k]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
env.COMSPEC = this.bootstrapData.executable
|
|
||||||
}
|
}
|
||||||
|
|
||||||
delete env['']
|
delete env['']
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
import { BehaviorSubject, Observable, debounceTime, distinctUntilChanged, first, tap, flatMap, map } from 'rxjs'
|
import { BehaviorSubject, Observable, debounceTime, distinctUntilChanged, first, tap, flatMap, map } from 'rxjs'
|
||||||
import semverGt from 'semver/functions/gt'
|
import semverGt from 'semver/functions/gt'
|
||||||
|
|
||||||
import { Component, Input } from '@angular/core'
|
import { Component, HostBinding, Input } from '@angular/core'
|
||||||
import { ConfigService, PlatformService, PluginInfo } from 'tabby-core'
|
import { ConfigService, PlatformService, PluginInfo } from 'tabby-core'
|
||||||
import { PluginManagerService } from '../services/pluginManager.service'
|
import { PluginManagerService } from '../services/pluginManager.service'
|
||||||
|
|
||||||
@@ -25,6 +25,8 @@ export class PluginsSettingsTabComponent {
|
|||||||
@Input() erroredPlugin: string
|
@Input() erroredPlugin: string
|
||||||
@Input() errorMessage: string
|
@Input() errorMessage: string
|
||||||
|
|
||||||
|
@HostBinding('class.content-box') true
|
||||||
|
|
||||||
constructor (
|
constructor (
|
||||||
private config: ConfigService,
|
private config: ConfigService,
|
||||||
private platform: PlatformService,
|
private platform: PlatformService,
|
||||||
|
@@ -8,6 +8,7 @@ const OFFICIAL_NPM_ACCOUNT = 'eugenepankov'
|
|||||||
|
|
||||||
const BLACKLIST = [
|
const BLACKLIST = [
|
||||||
'terminus-shell-selector', // superseded by profiles
|
'terminus-shell-selector', // superseded by profiles
|
||||||
|
'terminus-scrollbar', // now useless
|
||||||
]
|
]
|
||||||
|
|
||||||
@Injectable({ providedIn: 'root' })
|
@Injectable({ providedIn: 'root' })
|
||||||
|
@@ -5,6 +5,8 @@ export abstract class SettingsTabProvider {
|
|||||||
id: string
|
id: string
|
||||||
icon: string
|
icon: string
|
||||||
title: string
|
title: string
|
||||||
|
weight = 0
|
||||||
|
prioritized = false
|
||||||
|
|
||||||
getComponentType (): any {
|
getComponentType (): any {
|
||||||
return null
|
return null
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||||
import { Component } from '@angular/core'
|
import { Component, HostBinding } from '@angular/core'
|
||||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
|
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
|
||||||
import { BaseComponent, ConfigService, PromptModalComponent, HostAppService, PlatformService, NotificationsService } from 'tabby-core'
|
import { BaseComponent, ConfigService, PromptModalComponent, HostAppService, PlatformService, NotificationsService } from 'tabby-core'
|
||||||
import { Config, ConfigSyncService } from '../services/configSync.service'
|
import { Config, ConfigSyncService } from '../services/configSync.service'
|
||||||
@@ -15,6 +15,8 @@ export class ConfigSyncSettingsTabComponent extends BaseComponent {
|
|||||||
connectionError: Error|null = null
|
connectionError: Error|null = null
|
||||||
configs: Config[]|null = null
|
configs: Config[]|null = null
|
||||||
|
|
||||||
|
@HostBinding('class.content-box') true
|
||||||
|
|
||||||
constructor (
|
constructor (
|
||||||
public config: ConfigService,
|
public config: ConfigService,
|
||||||
public platform: PlatformService,
|
public platform: PlatformService,
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
import slugify from 'slugify'
|
import slugify from 'slugify'
|
||||||
import deepClone from 'clone-deep'
|
import deepClone from 'clone-deep'
|
||||||
import { Component, Inject } from '@angular/core'
|
import { Component, HostBinding, Inject } from '@angular/core'
|
||||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
|
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
|
||||||
import { ConfigService, HostAppService, Profile, SelectorService, ProfilesService, PromptModalComponent, PlatformService, BaseComponent, PartialProfile, ProfileProvider } from 'tabby-core'
|
import { ConfigService, HostAppService, Profile, SelectorService, ProfilesService, PromptModalComponent, PlatformService, BaseComponent, PartialProfile, ProfileProvider } from 'tabby-core'
|
||||||
import { EditProfileModalComponent } from './editProfileModal.component'
|
import { EditProfileModalComponent } from './editProfileModal.component'
|
||||||
@@ -25,6 +25,8 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
|
|||||||
profileGroups: ProfileGroup[]
|
profileGroups: ProfileGroup[]
|
||||||
filter = ''
|
filter = ''
|
||||||
|
|
||||||
|
@HostBinding('class.content-box') true
|
||||||
|
|
||||||
constructor (
|
constructor (
|
||||||
public config: ConfigService,
|
public config: ConfigService,
|
||||||
public hostApp: HostAppService,
|
public hostApp: HostAppService,
|
||||||
|
@@ -1,5 +1,3 @@
|
|||||||
button.btn.btn-warning.btn-block(*ngIf='config.restartRequested', '(click)'='restartApp()') Restart the app to apply changes
|
|
||||||
|
|
||||||
.content
|
.content
|
||||||
ul.nav-pills(ngbNav, #nav='ngbNav', [activeId]='activeTab', orientation='vertical')
|
ul.nav-pills(ngbNav, #nav='ngbNav', [activeId]='activeTab', orientation='vertical')
|
||||||
li(ngbNavItem='application')
|
li(ngbNavItem='application')
|
||||||
@@ -7,80 +5,92 @@ button.btn.btn-warning.btn-block(*ngIf='config.restartRequested', '(click)'='res
|
|||||||
i.fas.fa-fw.fa-window-maximize.mr-2
|
i.fas.fa-fw.fa-window-maximize.mr-2
|
||||||
| Application
|
| Application
|
||||||
ng-template(ngbNavContent)
|
ng-template(ngbNavContent)
|
||||||
.tabby-logo.mt-3
|
.content-box
|
||||||
h1.tabby-title Tabby
|
.tabby-logo.mt-3
|
||||||
sup α
|
h1.tabby-title Tabby
|
||||||
|
sup α
|
||||||
|
|
||||||
.text-center
|
.text-center
|
||||||
.text-muted {{homeBase.appVersion}}
|
.text-muted {{homeBase.appVersion}}
|
||||||
|
|
||||||
.mb-5.mt-3
|
.mb-5.mt-3
|
||||||
button.btn.btn-secondary.mr-3.mb-2((click)='homeBase.openGitHub()')
|
button.btn.btn-secondary.mr-3.mb-2((click)='homeBase.openGitHub()')
|
||||||
i.fab.fa-github
|
i.fab.fa-github
|
||||||
span GitHub
|
span GitHub
|
||||||
|
|
||||||
button.btn.btn-secondary.mr-3.mb-2((click)='homeBase.reportBug()')
|
button.btn.btn-secondary.mr-3.mb-2((click)='homeBase.reportBug()')
|
||||||
i.fas.fa-bug
|
i.fas.fa-bug
|
||||||
span Report a problem
|
span Report a problem
|
||||||
|
|
||||||
button.btn.btn-secondary.mr-3.mb-2(
|
button.btn.btn-secondary.mr-3.mb-2(
|
||||||
(click)='showReleaseNotes()',
|
(click)='showReleaseNotes()',
|
||||||
)
|
|
||||||
i.fas.fa-book
|
|
||||||
span What's new
|
|
||||||
|
|
||||||
button.btn.btn-secondary.mr-3.mb-2(
|
|
||||||
*ngIf='!updateAvailable && hostApp.platform !== Platform.Web',
|
|
||||||
(click)='checkForUpdates()',
|
|
||||||
[disabled]='checkingForUpdate'
|
|
||||||
)
|
|
||||||
i.fas.fa-sync(
|
|
||||||
[class.fa-spin]='checkingForUpdate'
|
|
||||||
)
|
)
|
||||||
span Check for updates
|
i.fas.fa-book
|
||||||
|
span What's new
|
||||||
|
|
||||||
button.btn.btn-info.mr-3.mb-2(
|
button.btn.btn-secondary.mr-3.mb-2(
|
||||||
*ngIf='updateAvailable',
|
*ngIf='!updateAvailable && hostApp.platform !== Platform.Web',
|
||||||
(click)='updater.update()',
|
(click)='checkForUpdates()',
|
||||||
|
[disabled]='checkingForUpdate'
|
||||||
|
)
|
||||||
|
i.fas.fa-sync(
|
||||||
|
[class.fa-spin]='checkingForUpdate'
|
||||||
|
)
|
||||||
|
span Check for updates
|
||||||
|
|
||||||
|
button.btn.btn-info.mr-3.mb-2(
|
||||||
|
*ngIf='updateAvailable',
|
||||||
|
(click)='updater.update()',
|
||||||
|
)
|
||||||
|
i.fas.fa-sync
|
||||||
|
span Update
|
||||||
|
|
||||||
|
.form-line(*ngIf='platform.isShellIntegrationSupported()')
|
||||||
|
.header
|
||||||
|
.title Shell integration
|
||||||
|
.description Allows quickly opening a terminal in the selected folder
|
||||||
|
toggle([ngModel]='isShellIntegrationInstalled', (ngModelChange)='toggleShellIntegration()')
|
||||||
|
|
||||||
|
.form-line(*ngIf='hostApp.platform !== Platform.Web')
|
||||||
|
.header
|
||||||
|
.title Enable analytics
|
||||||
|
.description We're only tracking your Tabby and OS versions.
|
||||||
|
toggle(
|
||||||
|
[(ngModel)]='config.store.enableAnalytics',
|
||||||
|
(ngModelChange)='saveConfiguration(true)',
|
||||||
)
|
)
|
||||||
i.fas.fa-sync
|
|
||||||
span Update
|
|
||||||
|
|
||||||
.form-line(*ngIf='platform.isShellIntegrationSupported()')
|
.form-line(*ngIf='hostApp.platform !== Platform.Web')
|
||||||
.header
|
.header
|
||||||
.title Shell integration
|
.title Automatic Updates
|
||||||
.description Allows quickly opening a terminal in the selected folder
|
.description Enable automatic installation of updates when they become available.
|
||||||
toggle([ngModel]='isShellIntegrationInstalled', (ngModelChange)='toggleShellIntegration()')
|
toggle([(ngModel)]='config.store.enableAutomaticUpdates', (ngModelChange)='saveConfiguration()')
|
||||||
|
|
||||||
.form-line(*ngIf='hostApp.platform !== Platform.Web')
|
.form-line(*ngIf='hostApp.platform !== Platform.Web')
|
||||||
.header
|
.header
|
||||||
.title Enable analytics
|
.title Debugging
|
||||||
.description We're only tracking your Tabby and OS versions.
|
|
||||||
toggle(
|
|
||||||
[(ngModel)]='config.store.enableAnalytics',
|
|
||||||
(ngModelChange)='saveConfiguration(true)',
|
|
||||||
)
|
|
||||||
|
|
||||||
.form-line(*ngIf='hostApp.platform !== Platform.Web')
|
button.btn.btn-secondary((click)='hostWindow.openDevTools()')
|
||||||
.header
|
i.fas.fa-bug
|
||||||
.title Automatic Updates
|
span Open DevTools
|
||||||
.description Enable automatic installation of updates when they become available.
|
|
||||||
toggle([(ngModel)]='config.store.enableAutomaticUpdates', (ngModelChange)='saveConfiguration()')
|
|
||||||
|
|
||||||
.form-line(*ngIf='hostApp.platform !== Platform.Web')
|
ng-container(*ngFor='let provider of settingsProviders')
|
||||||
.header
|
li(*ngIf='provider.prioritized', [ngbNavItem]='provider.id')
|
||||||
.title Debugging
|
a(ngbNavLink)
|
||||||
|
i(class='fas fa-fw mr-2 fa-{{provider.icon}}')
|
||||||
|
| {{provider.title}}
|
||||||
|
ng-template(ngbNavContent)
|
||||||
|
settings-tab-body([provider]='provider')
|
||||||
|
|
||||||
button.btn.btn-secondary((click)='hostWindow.openDevTools()')
|
.mb-3
|
||||||
i.fas.fa-bug
|
|
||||||
span Open DevTools
|
|
||||||
|
|
||||||
li(*ngFor='let provider of settingsProviders', [ngbNavItem]='provider.id')
|
ng-container(*ngFor='let provider of settingsProviders')
|
||||||
a(ngbNavLink)
|
li(*ngIf='!provider.prioritized', [ngbNavItem]='provider.id')
|
||||||
i(class='fas fa-fw mr-2 fa-{{provider.icon || "puzzle-piece"}}')
|
a(ngbNavLink)
|
||||||
| {{provider.title}}
|
i(class='fas fa-fw mr-2 fa-{{provider.icon || "puzzle-piece"}}')
|
||||||
ng-template(ngbNavContent)
|
| {{provider.title}}
|
||||||
settings-tab-body([provider]='provider')
|
ng-template(ngbNavContent)
|
||||||
|
settings-tab-body([provider]='provider')
|
||||||
|
|
||||||
li(ngbNavItem='config-file')
|
li(ngbNavItem='config-file')
|
||||||
a(ngbNavLink)
|
a(ngbNavLink)
|
||||||
@@ -118,3 +128,5 @@ button.btn.btn-warning.btn-block(*ngIf='config.restartRequested', '(click)'='res
|
|||||||
| Show config file
|
| Show config file
|
||||||
|
|
||||||
div([ngbNavOutlet]='nav')
|
div([ngbNavOutlet]='nav')
|
||||||
|
|
||||||
|
button.btn.btn-warning.btn-block(*ngIf='config.restartRequested', '(click)'='restartApp()') Restart the app to apply changes
|
||||||
|
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
> .nav {
|
> .nav {
|
||||||
padding: 20px 10px;
|
padding: 20px 10px;
|
||||||
width: 190px;
|
width: 212px;
|
||||||
flex: none;
|
flex: none;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
@@ -29,6 +29,10 @@
|
|||||||
|
|
||||||
> ::ng-deep .tab-pane {
|
> ::ng-deep .tab-pane {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
|
> settings-tab-body > * {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -51,7 +51,7 @@ export class SettingsTabComponent extends BaseTabComponent {
|
|||||||
this.setTitle('Settings')
|
this.setTitle('Settings')
|
||||||
this.settingsProviders = config.enabledServices(this.settingsProviders)
|
this.settingsProviders = config.enabledServices(this.settingsProviders)
|
||||||
this.settingsProviders = this.settingsProviders.filter(x => !!x.getComponentType())
|
this.settingsProviders = this.settingsProviders.filter(x => !!x.getComponentType())
|
||||||
this.settingsProviders.sort((a, b) => a.title.localeCompare(b.title))
|
this.settingsProviders.sort((a, b) => a.weight - b.weight + a.title.localeCompare(b.title))
|
||||||
|
|
||||||
this.configDefaults = yaml.dump(config.getDefaults())
|
this.configDefaults = yaml.dump(config.getDefaults())
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||||
import { Component } from '@angular/core'
|
import { Component, HostBinding } from '@angular/core'
|
||||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
|
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
|
||||||
import { BaseComponent, VaultService, VaultSecret, Vault, PlatformService, ConfigService, VAULT_SECRET_TYPE_FILE, PromptModalComponent, VaultFileSecret } from 'tabby-core'
|
import { BaseComponent, VaultService, VaultSecret, Vault, PlatformService, ConfigService, VAULT_SECRET_TYPE_FILE, PromptModalComponent, VaultFileSecret } from 'tabby-core'
|
||||||
import { SetVaultPassphraseModalComponent } from './setVaultPassphraseModal.component'
|
import { SetVaultPassphraseModalComponent } from './setVaultPassphraseModal.component'
|
||||||
@@ -14,6 +14,8 @@ export class VaultSettingsTabComponent extends BaseComponent {
|
|||||||
vaultContents: Vault|null = null
|
vaultContents: Vault|null = null
|
||||||
VAULT_SECRET_TYPE_FILE = VAULT_SECRET_TYPE_FILE
|
VAULT_SECRET_TYPE_FILE = VAULT_SECRET_TYPE_FILE
|
||||||
|
|
||||||
|
@HostBinding('class.content-box') true
|
||||||
|
|
||||||
constructor (
|
constructor (
|
||||||
public vault: VaultService,
|
public vault: VaultService,
|
||||||
public config: ConfigService,
|
public config: ConfigService,
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||||
import { debounce } from 'utils-decorators/dist/esm/debounce/debounce'
|
import { debounce } from 'utils-decorators/dist/esm/debounce/debounce'
|
||||||
import { Component, Inject, NgZone, Optional } from '@angular/core'
|
import { Component, HostBinding, Inject, NgZone, Optional } from '@angular/core'
|
||||||
import {
|
import {
|
||||||
DockingService,
|
DockingService,
|
||||||
ConfigService,
|
ConfigService,
|
||||||
@@ -25,6 +25,8 @@ export class WindowSettingsTabComponent extends BaseComponent {
|
|||||||
Platform = Platform
|
Platform = Platform
|
||||||
isFluentVibrancySupported = false
|
isFluentVibrancySupported = false
|
||||||
|
|
||||||
|
@HostBinding('class.content-box') true
|
||||||
|
|
||||||
constructor (
|
constructor (
|
||||||
public config: ConfigService,
|
public config: ConfigService,
|
||||||
public hostApp: HostAppService,
|
public hostApp: HostAppService,
|
||||||
|
@@ -51,7 +51,8 @@ export class VaultSettingsTabProvider extends SettingsTabProvider {
|
|||||||
export class ProfilesSettingsTabProvider extends SettingsTabProvider {
|
export class ProfilesSettingsTabProvider extends SettingsTabProvider {
|
||||||
id = 'profiles'
|
id = 'profiles'
|
||||||
icon = 'window-restore'
|
icon = 'window-restore'
|
||||||
title = 'Profiles'
|
title = 'Profiles & connections'
|
||||||
|
prioritized = true
|
||||||
|
|
||||||
getComponentType (): any {
|
getComponentType (): any {
|
||||||
return ProfilesSettingsTabComponent
|
return ProfilesSettingsTabComponent
|
||||||
|
@@ -42,4 +42,15 @@ h3 SSH
|
|||||||
(ngModelChange)='config.save()',
|
(ngModelChange)='config.save()',
|
||||||
)
|
)
|
||||||
|
|
||||||
.alert.alert-info SSH connection management is now done through the Profiles tab
|
.form-line
|
||||||
|
.header
|
||||||
|
.title Override X11 display
|
||||||
|
.description Path or address of the local X11 socket
|
||||||
|
input.form-control(
|
||||||
|
type='text',
|
||||||
|
[placeholder]='defaultX11Display',
|
||||||
|
[(ngModel)]='config.store.ssh.x11Display',
|
||||||
|
(ngModelChange)='config.save()'
|
||||||
|
)
|
||||||
|
|
||||||
|
.alert.alert-info SSH connection management is now done through the #[strong Profiles & connections] tab
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
import { Component } from '@angular/core'
|
import { Component, HostBinding } from '@angular/core'
|
||||||
|
import { X11Socket } from '../session/x11'
|
||||||
import { ConfigService, HostAppService, Platform } from 'tabby-core'
|
import { ConfigService, HostAppService, Platform } from 'tabby-core'
|
||||||
|
|
||||||
/** @hidden */
|
/** @hidden */
|
||||||
@@ -7,9 +8,19 @@ import { ConfigService, HostAppService, Platform } from 'tabby-core'
|
|||||||
})
|
})
|
||||||
export class SSHSettingsTabComponent {
|
export class SSHSettingsTabComponent {
|
||||||
Platform = Platform
|
Platform = Platform
|
||||||
|
defaultX11Display: string
|
||||||
|
|
||||||
|
@HostBinding('class.content-box') true
|
||||||
|
|
||||||
constructor (
|
constructor (
|
||||||
public config: ConfigService,
|
public config: ConfigService,
|
||||||
public hostApp: HostAppService,
|
public hostApp: HostAppService,
|
||||||
) { }
|
) {
|
||||||
|
const spec = X11Socket.resolveDisplaySpec()
|
||||||
|
if ('path' in spec) {
|
||||||
|
this.defaultX11Display = spec.path
|
||||||
|
} else {
|
||||||
|
this.defaultX11Display = `${spec.host}:${spec.port}`
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -8,6 +8,7 @@ export class SSHConfigProvider extends ConfigProvider {
|
|||||||
winSCPPath: null,
|
winSCPPath: null,
|
||||||
agentType: 'auto',
|
agentType: 'auto',
|
||||||
agentPath: null,
|
agentPath: null,
|
||||||
|
x11Display: null,
|
||||||
},
|
},
|
||||||
hotkeys: {
|
hotkeys: {
|
||||||
'restart-ssh-session': [],
|
'restart-ssh-session': [],
|
||||||
|
@@ -9,7 +9,7 @@ import { Injector, NgZone } from '@angular/core'
|
|||||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
|
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
|
||||||
import { ConfigService, FileProvidersService, HostAppService, NotificationsService, Platform, PlatformService, wrapPromise, PromptModalComponent, LogService } from 'tabby-core'
|
import { ConfigService, FileProvidersService, HostAppService, NotificationsService, Platform, PlatformService, wrapPromise, PromptModalComponent, LogService } from 'tabby-core'
|
||||||
import { BaseSession } from 'tabby-terminal'
|
import { BaseSession } from 'tabby-terminal'
|
||||||
import { Socket, createConnection } from 'net'
|
import { Socket } from 'net'
|
||||||
import { Client, ClientChannel, SFTPWrapper } from 'ssh2'
|
import { Client, ClientChannel, SFTPWrapper } from 'ssh2'
|
||||||
import { Subject, Observable } from 'rxjs'
|
import { Subject, Observable } from 'rxjs'
|
||||||
import { ProxyCommandStream } from '../services/ssh.service'
|
import { ProxyCommandStream } from '../services/ssh.service'
|
||||||
@@ -18,6 +18,7 @@ import { promisify } from 'util'
|
|||||||
import { SFTPSession } from './sftp'
|
import { SFTPSession } from './sftp'
|
||||||
import { ALGORITHM_BLACKLIST, SSHAlgorithmType, PortForwardType, SSHProfile } from '../api'
|
import { ALGORITHM_BLACKLIST, SSHAlgorithmType, PortForwardType, SSHProfile } from '../api'
|
||||||
import { ForwardedPort } from './forwards'
|
import { ForwardedPort } from './forwards'
|
||||||
|
import { X11Socket } from './x11'
|
||||||
|
|
||||||
const WINDOWS_OPENSSH_AGENT_PIPE = '\\\\.\\pipe\\openssh-ssh-agent'
|
const WINDOWS_OPENSSH_AGENT_PIPE = '\\\\.\\pipe\\openssh-ssh-agent'
|
||||||
|
|
||||||
@@ -250,8 +251,12 @@ export class SSHSession extends BaseSession {
|
|||||||
if (!this.authUsername) {
|
if (!this.authUsername) {
|
||||||
const modal = this.ngbModal.open(PromptModalComponent)
|
const modal = this.ngbModal.open(PromptModalComponent)
|
||||||
modal.componentInstance.prompt = `Username for ${this.profile.options.host}`
|
modal.componentInstance.prompt = `Username for ${this.profile.options.host}`
|
||||||
const result = await modal.result
|
try {
|
||||||
this.authUsername = result?.value ?? null
|
const result = await modal.result
|
||||||
|
this.authUsername = result?.value ?? null
|
||||||
|
} catch {
|
||||||
|
this.authUsername = 'root'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ssh.connect({
|
ssh.connect({
|
||||||
@@ -355,41 +360,35 @@ export class SSHSession extends BaseSession {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
this.ssh.on('x11', (details, accept, reject) => {
|
this.ssh.on('x11', async (details, accept, reject) => {
|
||||||
this.logger.info(`Incoming X11 connection from ${details.srcIP}:${details.srcPort}`)
|
this.logger.info(`Incoming X11 connection from ${details.srcIP}:${details.srcPort}`)
|
||||||
const displaySpec = process.env.DISPLAY ?? ':0'
|
const displaySpec = process.env.DISPLAY ?? 'localhost:0'
|
||||||
this.logger.debug(`Trying display ${displaySpec}`)
|
this.logger.debug(`Trying display ${displaySpec}`)
|
||||||
const xHost = displaySpec.split(':')[0]
|
|
||||||
const xDisplay = parseInt(displaySpec.split(':')[1].split('.')[0] || '0')
|
|
||||||
const xPort = xDisplay < 100 ? xDisplay + 6000 : xDisplay
|
|
||||||
|
|
||||||
const socket = displaySpec.startsWith('/') ? createConnection(displaySpec) : new Socket()
|
const socket = new X11Socket()
|
||||||
if (!displaySpec.startsWith('/')) {
|
try {
|
||||||
socket.connect(xPort, xHost)
|
const x11Stream = await socket.connect(displaySpec)
|
||||||
}
|
this.logger.info('Connection forwarded')
|
||||||
socket.on('error', e => {
|
const stream = accept()
|
||||||
|
stream.pipe(x11Stream)
|
||||||
|
x11Stream.pipe(stream)
|
||||||
|
stream.on('close', () => {
|
||||||
|
socket.destroy()
|
||||||
|
})
|
||||||
|
x11Stream.on('close', () => {
|
||||||
|
stream.close()
|
||||||
|
})
|
||||||
|
} catch (e) {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
||||||
this.emitServiceMessage(colors.bgRed.black(' X ') + ` Could not connect to the X server: ${e}`)
|
this.emitServiceMessage(colors.bgRed.black(' X ') + ` Could not connect to the X server: ${e}`)
|
||||||
this.emitServiceMessage(` Tabby tried to connect to ${xHost}:${xPort} based on the DISPLAY environment var (${displaySpec})`)
|
this.emitServiceMessage(` Tabby tried to connect to ${JSON.stringify(X11Socket.resolveDisplaySpec(displaySpec))} based on the DISPLAY environment var (${displaySpec})`)
|
||||||
if (process.platform === 'win32') {
|
if (process.platform === 'win32') {
|
||||||
this.emitServiceMessage(' To use X forwarding, you need a local X server, e.g.:')
|
this.emitServiceMessage(' To use X forwarding, you need a local X server, e.g.:')
|
||||||
this.emitServiceMessage(' * VcXsrv: https://sourceforge.net/projects/vcxsrv/')
|
this.emitServiceMessage(' * VcXsrv: https://sourceforge.net/projects/vcxsrv/')
|
||||||
this.emitServiceMessage(' * Xming: https://sourceforge.net/projects/xming/')
|
this.emitServiceMessage(' * Xming: https://sourceforge.net/projects/xming/')
|
||||||
}
|
}
|
||||||
reject()
|
reject()
|
||||||
})
|
}
|
||||||
socket.on('connect', () => {
|
|
||||||
this.logger.info('Connection forwarded')
|
|
||||||
const stream = accept()
|
|
||||||
stream.pipe(socket)
|
|
||||||
socket.pipe(stream)
|
|
||||||
stream.on('close', () => {
|
|
||||||
socket.destroy()
|
|
||||||
})
|
|
||||||
socket.on('close', () => {
|
|
||||||
stream.close()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
57
tabby-ssh/src/session/x11.ts
Normal file
57
tabby-ssh/src/session/x11.ts
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
import { Socket, SocketConnectOpts } from 'net'
|
||||||
|
import { Subject } from 'rxjs'
|
||||||
|
|
||||||
|
export class X11Socket {
|
||||||
|
error$ = new Subject<Error>()
|
||||||
|
private socket: Socket | null = null
|
||||||
|
|
||||||
|
static resolveDisplaySpec (spec?: string|null): SocketConnectOpts {
|
||||||
|
// eslint-disable-next-line prefer-const
|
||||||
|
let [xHost, xDisplay] = /^(.+):(\d+)(?:.(\d+))$/.exec(spec ?? process.env.DISPLAY ?? 'localhost:0') ?? []
|
||||||
|
if (process.platform === 'win32') {
|
||||||
|
xHost ??= 'localhost'
|
||||||
|
} else {
|
||||||
|
xHost ??= 'unix'
|
||||||
|
}
|
||||||
|
|
||||||
|
if (spec?.startsWith('/')) {
|
||||||
|
xHost = spec
|
||||||
|
}
|
||||||
|
|
||||||
|
const display = parseInt(xDisplay || '0')
|
||||||
|
const port = display < 100 ? display + 6000 : display
|
||||||
|
|
||||||
|
if (xHost === 'unix') {
|
||||||
|
xHost = `/tmp/.X11-unix/X${display}`
|
||||||
|
}
|
||||||
|
|
||||||
|
if (xHost.startsWith('/')) {
|
||||||
|
return {
|
||||||
|
path: xHost,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
host: xHost,
|
||||||
|
port: port,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
connect (spec: string): Promise<Socket> {
|
||||||
|
this.socket = new Socket()
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
this.socket!.on('connect', () => {
|
||||||
|
resolve(this.socket!)
|
||||||
|
})
|
||||||
|
this.socket!.on('error', e => {
|
||||||
|
this.error$.next(e)
|
||||||
|
reject(e)
|
||||||
|
})
|
||||||
|
this.socket!.connect(X11Socket.resolveDisplaySpec(spec))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
destroy (): void {
|
||||||
|
this.socket?.destroy()
|
||||||
|
}
|
||||||
|
}
|
@@ -33,88 +33,89 @@ h3.mb-3 Appearance
|
|||||||
.col-12.col-md-6
|
.col-12.col-md-6
|
||||||
color-scheme-preview([scheme]='config.store.terminal.colorScheme', [fontPreview]='true')
|
color-scheme-preview([scheme]='config.store.terminal.colorScheme', [fontPreview]='true')
|
||||||
|
|
||||||
.form-line
|
.content-box
|
||||||
.header
|
.form-line
|
||||||
.title Terminal background
|
.header
|
||||||
|
.title Terminal background
|
||||||
|
|
||||||
.btn-group(
|
.btn-group(
|
||||||
[(ngModel)]='config.store.terminal.background',
|
[(ngModel)]='config.store.terminal.background',
|
||||||
(ngModelChange)='config.save()',
|
(ngModelChange)='config.save()',
|
||||||
ngbRadioGroup
|
ngbRadioGroup
|
||||||
|
)
|
||||||
|
label.btn.btn-secondary(ngbButtonLabel)
|
||||||
|
input(
|
||||||
|
type='radio',
|
||||||
|
ngbButton,
|
||||||
|
[value]='"theme"'
|
||||||
|
)
|
||||||
|
| From theme
|
||||||
|
label.btn.btn-secondary(ngbButtonLabel)
|
||||||
|
input(
|
||||||
|
type='radio',
|
||||||
|
ngbButton,
|
||||||
|
[value]='"colorScheme"'
|
||||||
|
)
|
||||||
|
| From color scheme
|
||||||
|
|
||||||
|
.form-line
|
||||||
|
.header
|
||||||
|
.title Cursor shape
|
||||||
|
|
||||||
|
.btn-group(
|
||||||
|
[(ngModel)]='config.store.terminal.cursor',
|
||||||
|
(ngModelChange)='config.save()',
|
||||||
|
ngbRadioGroup
|
||||||
|
)
|
||||||
|
label.btn.btn-secondary(ngbButtonLabel)
|
||||||
|
input(
|
||||||
|
type='radio',
|
||||||
|
ngbButton,
|
||||||
|
[value]='"block"'
|
||||||
|
)
|
||||||
|
| █
|
||||||
|
label.btn.btn-secondary(ngbButtonLabel)
|
||||||
|
input(
|
||||||
|
type='radio',
|
||||||
|
ngbButton,
|
||||||
|
[value]='"beam"'
|
||||||
|
)
|
||||||
|
| |
|
||||||
|
label.btn.btn-secondary(ngbButtonLabel)
|
||||||
|
input(
|
||||||
|
type='radio',
|
||||||
|
ngbButton,
|
||||||
|
[value]='"underline"'
|
||||||
|
)
|
||||||
|
| ▁
|
||||||
|
|
||||||
|
.form-line
|
||||||
|
.header
|
||||||
|
.title Blink cursor
|
||||||
|
|
||||||
|
toggle(
|
||||||
|
[(ngModel)]='config.store.terminal.cursorBlink',
|
||||||
|
(ngModelChange)='config.save()',
|
||||||
|
)
|
||||||
|
|
||||||
|
.form-line
|
||||||
|
.header
|
||||||
|
.title Fallback font
|
||||||
|
.description A second font family used to display characters missing in the main font
|
||||||
|
|
||||||
|
input.form-control(
|
||||||
|
type='text',
|
||||||
|
[ngbTypeahead]='fontAutocomplete',
|
||||||
|
[(ngModel)]='config.store.terminal.fallbackFont',
|
||||||
|
(ngModelChange)='config.save()'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
.form-line
|
||||||
|
.header
|
||||||
|
.title Custom CSS
|
||||||
|
|
||||||
|
textarea.form-control.mb-5(
|
||||||
|
[(ngModel)]='config.store.appearance.css',
|
||||||
|
(ngModelChange)='saveConfiguration()',
|
||||||
)
|
)
|
||||||
label.btn.btn-secondary(ngbButtonLabel)
|
|
||||||
input(
|
|
||||||
type='radio',
|
|
||||||
ngbButton,
|
|
||||||
[value]='"theme"'
|
|
||||||
)
|
|
||||||
| From theme
|
|
||||||
label.btn.btn-secondary(ngbButtonLabel)
|
|
||||||
input(
|
|
||||||
type='radio',
|
|
||||||
ngbButton,
|
|
||||||
[value]='"colorScheme"'
|
|
||||||
)
|
|
||||||
| From color scheme
|
|
||||||
|
|
||||||
.form-line
|
|
||||||
.header
|
|
||||||
.title Cursor shape
|
|
||||||
|
|
||||||
.btn-group(
|
|
||||||
[(ngModel)]='config.store.terminal.cursor',
|
|
||||||
(ngModelChange)='config.save()',
|
|
||||||
ngbRadioGroup
|
|
||||||
)
|
|
||||||
label.btn.btn-secondary(ngbButtonLabel)
|
|
||||||
input(
|
|
||||||
type='radio',
|
|
||||||
ngbButton,
|
|
||||||
[value]='"block"'
|
|
||||||
)
|
|
||||||
| █
|
|
||||||
label.btn.btn-secondary(ngbButtonLabel)
|
|
||||||
input(
|
|
||||||
type='radio',
|
|
||||||
ngbButton,
|
|
||||||
[value]='"beam"'
|
|
||||||
)
|
|
||||||
| |
|
|
||||||
label.btn.btn-secondary(ngbButtonLabel)
|
|
||||||
input(
|
|
||||||
type='radio',
|
|
||||||
ngbButton,
|
|
||||||
[value]='"underline"'
|
|
||||||
)
|
|
||||||
| ▁
|
|
||||||
|
|
||||||
.form-line
|
|
||||||
.header
|
|
||||||
.title Blink cursor
|
|
||||||
|
|
||||||
toggle(
|
|
||||||
[(ngModel)]='config.store.terminal.cursorBlink',
|
|
||||||
(ngModelChange)='config.save()',
|
|
||||||
)
|
|
||||||
|
|
||||||
.form-line
|
|
||||||
.header
|
|
||||||
.title Fallback font
|
|
||||||
.description A second font family used to display characters missing in the main font
|
|
||||||
|
|
||||||
input.form-control(
|
|
||||||
type='text',
|
|
||||||
[ngbTypeahead]='fontAutocomplete',
|
|
||||||
[(ngModel)]='config.store.terminal.fallbackFont',
|
|
||||||
(ngModelChange)='config.save()'
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
.form-line
|
|
||||||
.header
|
|
||||||
.title Custom CSS
|
|
||||||
|
|
||||||
textarea.form-control.mb-5(
|
|
||||||
[(ngModel)]='config.store.appearance.css',
|
|
||||||
(ngModelChange)='saveConfiguration()',
|
|
||||||
)
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||||
import deepEqual from 'deep-equal'
|
import deepEqual from 'deep-equal'
|
||||||
|
|
||||||
import { Component, Inject, Input, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core'
|
import { Component, Inject, Input, ChangeDetectionStrategy, ChangeDetectorRef, HostBinding } from '@angular/core'
|
||||||
import { ConfigService, PlatformService } from 'tabby-core'
|
import { ConfigService, PlatformService } from 'tabby-core'
|
||||||
import { TerminalColorSchemeProvider } from '../api/colorSchemeProvider'
|
import { TerminalColorSchemeProvider } from '../api/colorSchemeProvider'
|
||||||
import { TerminalColorScheme } from '../api/interfaces'
|
import { TerminalColorScheme } from '../api/interfaces'
|
||||||
@@ -23,6 +23,8 @@ export class ColorSchemeSettingsTabComponent {
|
|||||||
currentStockScheme: TerminalColorScheme|null = null
|
currentStockScheme: TerminalColorScheme|null = null
|
||||||
currentCustomScheme: TerminalColorScheme|null = null
|
currentCustomScheme: TerminalColorScheme|null = null
|
||||||
|
|
||||||
|
@HostBinding('class.content-box') true
|
||||||
|
|
||||||
constructor (
|
constructor (
|
||||||
@Inject(TerminalColorSchemeProvider) private colorSchemeProviders: TerminalColorSchemeProvider[],
|
@Inject(TerminalColorSchemeProvider) private colorSchemeProviders: TerminalColorSchemeProvider[],
|
||||||
private changeDetector: ChangeDetectorRef,
|
private changeDetector: ChangeDetectorRef,
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import { Component } from '@angular/core'
|
import { Component, HostBinding } from '@angular/core'
|
||||||
import { ConfigService, HostAppService, Platform, PlatformService } from 'tabby-core'
|
import { ConfigService, HostAppService, Platform, PlatformService } from 'tabby-core'
|
||||||
|
|
||||||
/** @hidden */
|
/** @hidden */
|
||||||
@@ -8,6 +8,8 @@ import { ConfigService, HostAppService, Platform, PlatformService } from 'tabby-
|
|||||||
export class TerminalSettingsTabComponent {
|
export class TerminalSettingsTabComponent {
|
||||||
Platform = Platform
|
Platform = Platform
|
||||||
|
|
||||||
|
@HostBinding('class.content-box') true
|
||||||
|
|
||||||
constructor (
|
constructor (
|
||||||
public config: ConfigService,
|
public config: ConfigService,
|
||||||
public hostApp: HostAppService,
|
public hostApp: HostAppService,
|
||||||
|
@@ -11,6 +11,7 @@ export class AppearanceSettingsTabProvider extends SettingsTabProvider {
|
|||||||
id = 'terminal-appearance'
|
id = 'terminal-appearance'
|
||||||
icon = 'swatchbook'
|
icon = 'swatchbook'
|
||||||
title = 'Appearance'
|
title = 'Appearance'
|
||||||
|
prioritized = true
|
||||||
|
|
||||||
getComponentType (): any {
|
getComponentType (): any {
|
||||||
return AppearanceSettingsTabComponent
|
return AppearanceSettingsTabComponent
|
||||||
@@ -35,6 +36,7 @@ export class TerminalSettingsTabProvider extends SettingsTabProvider {
|
|||||||
id = 'terminal'
|
id = 'terminal'
|
||||||
icon = 'terminal'
|
icon = 'terminal'
|
||||||
title = 'Terminal'
|
title = 'Terminal'
|
||||||
|
prioritized = true
|
||||||
|
|
||||||
getComponentType (): any {
|
getComponentType (): any {
|
||||||
return TerminalSettingsTabComponent
|
return TerminalSettingsTabComponent
|
||||||
|
Binary file not shown.
@@ -4,7 +4,7 @@ import { ConfigProvider } from 'tabby-core'
|
|||||||
export class WebConfigProvider extends ConfigProvider {
|
export class WebConfigProvider extends ConfigProvider {
|
||||||
defaults = {
|
defaults = {
|
||||||
web: {
|
web: {
|
||||||
preventAccidentalTabClosure: true,
|
preventAccidentalTabClosure: false,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -12,12 +12,15 @@ export class WebHostWindow extends HostWindowService {
|
|||||||
this.windowShown.next()
|
this.windowShown.next()
|
||||||
this.windowFocused.next()
|
this.windowFocused.next()
|
||||||
|
|
||||||
window.addEventListener('beforeunload', (event) => {
|
const unloadHandler = (event) => {
|
||||||
if (config.store.web.preventAccidentalTabClosure) {
|
if (config.store.web.preventAccidentalTabClosure) {
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
event.returnValue = 'Are you sure you want to close Tabby? You can disable this prompt in Settings -> Window.'
|
event.returnValue = 'Are you sure you want to close Tabby? You can disable this prompt in Settings -> Window.'
|
||||||
|
} else {
|
||||||
|
window.removeEventListener('beforeunload', unloadHandler)
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
window.addEventListener('beforeunload', unloadHandler)
|
||||||
}
|
}
|
||||||
|
|
||||||
reload (): void {
|
reload (): void {
|
||||||
|
509
yarn.lock
509
yarn.lock
@@ -2,10 +2,10 @@
|
|||||||
# yarn lockfile v1
|
# yarn lockfile v1
|
||||||
|
|
||||||
|
|
||||||
"7zip-bin@~5.0.3":
|
"7zip-bin@~5.1.1":
|
||||||
version "5.0.3"
|
version "5.1.1"
|
||||||
resolved "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.0.3.tgz"
|
resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz#9274ec7460652f9c632c59addf24efb1684ef876"
|
||||||
integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA==
|
integrity sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==
|
||||||
|
|
||||||
"@angular/animations@^12.0.0":
|
"@angular/animations@^12.0.0":
|
||||||
version "12.1.1"
|
version "12.1.1"
|
||||||
@@ -141,10 +141,10 @@
|
|||||||
global-agent "^2.0.2"
|
global-agent "^2.0.2"
|
||||||
global-tunnel-ng "^2.7.1"
|
global-tunnel-ng "^2.7.1"
|
||||||
|
|
||||||
"@electron/universal@1.0.4":
|
"@electron/universal@1.0.5":
|
||||||
version "1.0.4"
|
version "1.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.4.tgz#231ac246c39d45b80e159bd21c3f9027dcaa10f5"
|
resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.5.tgz#b812340e4ef21da2b3ee77b2b4d35c9b86defe37"
|
||||||
integrity sha512-ajZoumi4XwqwmZe8YVhu4XGkZBCPyWZsVCQONPTIe9TUlleSN+dic3YpXlaWcilx/HOzTdldTKtabNTeI0gDoA==
|
integrity sha512-zX9O6+jr2NMyAdSkwEUlyltiI4/EBLu2Ls/VD3pUQdi3cAYeYfdQnT2AJJ38HE4QxLccbU13LSpccw1IWlkyag==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@malept/cross-spawn-promise" "^1.1.0"
|
"@malept/cross-spawn-promise" "^1.1.0"
|
||||||
asar "^3.0.3"
|
asar "^3.0.3"
|
||||||
@@ -200,6 +200,16 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
cross-spawn "^7.0.1"
|
cross-spawn "^7.0.1"
|
||||||
|
|
||||||
|
"@malept/flatpak-bundler@^0.4.0":
|
||||||
|
version "0.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz#e8a32c30a95d20c2b1bb635cc580981a06389858"
|
||||||
|
integrity sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==
|
||||||
|
dependencies:
|
||||||
|
debug "^4.1.1"
|
||||||
|
fs-extra "^9.0.0"
|
||||||
|
lodash "^4.17.15"
|
||||||
|
tmp-promise "^3.0.2"
|
||||||
|
|
||||||
"@ng-bootstrap/ng-bootstrap@^10.0.0":
|
"@ng-bootstrap/ng-bootstrap@^10.0.0":
|
||||||
version "10.0.0"
|
version "10.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-10.0.0.tgz#6022927bac7029bdd12d7f1e10b5b20074db06dc"
|
resolved "https://registry.yarnpkg.com/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-10.0.0.tgz#6022927bac7029bdd12d7f1e10b5b20074db06dc"
|
||||||
@@ -447,13 +457,20 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83"
|
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83"
|
||||||
integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==
|
integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==
|
||||||
|
|
||||||
"@types/fs-extra@^9.0.1", "@types/fs-extra@^9.0.12", "@types/fs-extra@^9.0.7":
|
"@types/fs-extra@^9.0.1", "@types/fs-extra@^9.0.12":
|
||||||
version "9.0.12"
|
version "9.0.12"
|
||||||
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.12.tgz#9b8f27973df8a7a3920e8461517ebf8a7d4fdfaf"
|
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.12.tgz#9b8f27973df8a7a3920e8461517ebf8a7d4fdfaf"
|
||||||
integrity sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==
|
integrity sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
|
"@types/fs-extra@^9.0.11":
|
||||||
|
version "9.0.13"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45"
|
||||||
|
integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==
|
||||||
|
dependencies:
|
||||||
|
"@types/node" "*"
|
||||||
|
|
||||||
"@types/glob@^7.1.1":
|
"@types/glob@^7.1.1":
|
||||||
version "7.1.3"
|
version "7.1.3"
|
||||||
resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz"
|
resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz"
|
||||||
@@ -549,10 +566,10 @@
|
|||||||
resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz"
|
resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz"
|
||||||
integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
|
integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
|
||||||
|
|
||||||
"@types/yargs@^15.0.13":
|
"@types/yargs@^16.0.2":
|
||||||
version "15.0.13"
|
version "16.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc"
|
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977"
|
||||||
integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==
|
integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/yargs-parser" "*"
|
"@types/yargs-parser" "*"
|
||||||
|
|
||||||
@@ -581,24 +598,16 @@
|
|||||||
eslint-scope "^5.1.1"
|
eslint-scope "^5.1.1"
|
||||||
eslint-utils "^3.0.0"
|
eslint-utils "^3.0.0"
|
||||||
|
|
||||||
"@typescript-eslint/parser@^4.28.5":
|
"@typescript-eslint/parser@^4.33.0":
|
||||||
version "4.28.5"
|
version "4.33.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.28.5.tgz#9c971668f86d1b5c552266c47788a87488a47d1c"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899"
|
||||||
integrity sha512-NPCOGhTnkXGMqTznqgVbA5LqVsnw+i3+XA1UKLnAb+MG1Y1rP4ZSK9GX0kJBmAZTMIktf+dTwXToT6kFwyimbw==
|
integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/scope-manager" "4.28.5"
|
"@typescript-eslint/scope-manager" "4.33.0"
|
||||||
"@typescript-eslint/types" "4.28.5"
|
"@typescript-eslint/types" "4.33.0"
|
||||||
"@typescript-eslint/typescript-estree" "4.28.5"
|
"@typescript-eslint/typescript-estree" "4.33.0"
|
||||||
debug "^4.3.1"
|
debug "^4.3.1"
|
||||||
|
|
||||||
"@typescript-eslint/scope-manager@4.28.5":
|
|
||||||
version "4.28.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.28.5.tgz#3a1b70c50c1535ac33322786ea99ebe403d3b923"
|
|
||||||
integrity sha512-PHLq6n9nTMrLYcVcIZ7v0VY1X7dK309NM8ya9oL/yG8syFINIMHxyr2GzGoBYUdv3NUfCOqtuqps0ZmcgnZTfQ==
|
|
||||||
dependencies:
|
|
||||||
"@typescript-eslint/types" "4.28.5"
|
|
||||||
"@typescript-eslint/visitor-keys" "4.28.5"
|
|
||||||
|
|
||||||
"@typescript-eslint/scope-manager@4.31.1":
|
"@typescript-eslint/scope-manager@4.31.1":
|
||||||
version "4.31.1"
|
version "4.31.1"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.31.1.tgz#0c21e8501f608d6a25c842fcf59541ef4f1ab561"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.31.1.tgz#0c21e8501f608d6a25c842fcf59541ef4f1ab561"
|
||||||
@@ -607,28 +616,23 @@
|
|||||||
"@typescript-eslint/types" "4.31.1"
|
"@typescript-eslint/types" "4.31.1"
|
||||||
"@typescript-eslint/visitor-keys" "4.31.1"
|
"@typescript-eslint/visitor-keys" "4.31.1"
|
||||||
|
|
||||||
"@typescript-eslint/types@4.28.5":
|
"@typescript-eslint/scope-manager@4.33.0":
|
||||||
version "4.28.5"
|
version "4.33.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.28.5.tgz#d33edf8e429f0c0930a7c3d44e9b010354c422e9"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3"
|
||||||
integrity sha512-MruOu4ZaDOLOhw4f/6iudyks/obuvvZUAHBDSW80Trnc5+ovmViLT2ZMDXhUV66ozcl6z0LJfKs1Usldgi/WCA==
|
integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==
|
||||||
|
dependencies:
|
||||||
|
"@typescript-eslint/types" "4.33.0"
|
||||||
|
"@typescript-eslint/visitor-keys" "4.33.0"
|
||||||
|
|
||||||
"@typescript-eslint/types@4.31.1":
|
"@typescript-eslint/types@4.31.1":
|
||||||
version "4.31.1"
|
version "4.31.1"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.31.1.tgz#5f255b695627a13401d2fdba5f7138bc79450d66"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.31.1.tgz#5f255b695627a13401d2fdba5f7138bc79450d66"
|
||||||
integrity sha512-kixltt51ZJGKENNW88IY5MYqTBA8FR0Md8QdGbJD2pKZ+D5IvxjTYDNtJPDxFBiXmka2aJsITdB1BtO1fsgmsQ==
|
integrity sha512-kixltt51ZJGKENNW88IY5MYqTBA8FR0Md8QdGbJD2pKZ+D5IvxjTYDNtJPDxFBiXmka2aJsITdB1BtO1fsgmsQ==
|
||||||
|
|
||||||
"@typescript-eslint/typescript-estree@4.28.5":
|
"@typescript-eslint/types@4.33.0":
|
||||||
version "4.28.5"
|
version "4.33.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.5.tgz#4906d343de693cf3d8dcc301383ed638e0441cd1"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72"
|
||||||
integrity sha512-FzJUKsBX8poCCdve7iV7ShirP8V+ys2t1fvamVeD1rWpiAnIm550a+BX/fmTHrjEpQJ7ZAn+Z7ZZwJjytk9rZw==
|
integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==
|
||||||
dependencies:
|
|
||||||
"@typescript-eslint/types" "4.28.5"
|
|
||||||
"@typescript-eslint/visitor-keys" "4.28.5"
|
|
||||||
debug "^4.3.1"
|
|
||||||
globby "^11.0.3"
|
|
||||||
is-glob "^4.0.1"
|
|
||||||
semver "^7.3.5"
|
|
||||||
tsutils "^3.21.0"
|
|
||||||
|
|
||||||
"@typescript-eslint/typescript-estree@4.31.1":
|
"@typescript-eslint/typescript-estree@4.31.1":
|
||||||
version "4.31.1"
|
version "4.31.1"
|
||||||
@@ -643,13 +647,18 @@
|
|||||||
semver "^7.3.5"
|
semver "^7.3.5"
|
||||||
tsutils "^3.21.0"
|
tsutils "^3.21.0"
|
||||||
|
|
||||||
"@typescript-eslint/visitor-keys@4.28.5":
|
"@typescript-eslint/typescript-estree@4.33.0":
|
||||||
version "4.28.5"
|
version "4.33.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.5.tgz#ffee2c602762ed6893405ee7c1144d9cc0a29675"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609"
|
||||||
integrity sha512-dva/7Rr+EkxNWdJWau26xU/0slnFlkh88v3TsyTgRS/IIYFi5iIfpCFM4ikw0vQTFUR9FYSSyqgK4w64gsgxhg==
|
integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types" "4.28.5"
|
"@typescript-eslint/types" "4.33.0"
|
||||||
eslint-visitor-keys "^2.0.0"
|
"@typescript-eslint/visitor-keys" "4.33.0"
|
||||||
|
debug "^4.3.1"
|
||||||
|
globby "^11.0.3"
|
||||||
|
is-glob "^4.0.1"
|
||||||
|
semver "^7.3.5"
|
||||||
|
tsutils "^3.21.0"
|
||||||
|
|
||||||
"@typescript-eslint/visitor-keys@4.31.1":
|
"@typescript-eslint/visitor-keys@4.31.1":
|
||||||
version "4.31.1"
|
version "4.31.1"
|
||||||
@@ -659,6 +668,14 @@
|
|||||||
"@typescript-eslint/types" "4.31.1"
|
"@typescript-eslint/types" "4.31.1"
|
||||||
eslint-visitor-keys "^2.0.0"
|
eslint-visitor-keys "^2.0.0"
|
||||||
|
|
||||||
|
"@typescript-eslint/visitor-keys@4.33.0":
|
||||||
|
version "4.33.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd"
|
||||||
|
integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==
|
||||||
|
dependencies:
|
||||||
|
"@typescript-eslint/types" "4.33.0"
|
||||||
|
eslint-visitor-keys "^2.0.0"
|
||||||
|
|
||||||
"@webassemblyjs/ast@1.11.1":
|
"@webassemblyjs/ast@1.11.1":
|
||||||
version "1.11.1"
|
version "1.11.1"
|
||||||
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7"
|
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7"
|
||||||
@@ -1030,39 +1047,39 @@ ansistyles@~0.1.3:
|
|||||||
resolved "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz"
|
resolved "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz"
|
||||||
integrity sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk=
|
integrity sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk=
|
||||||
|
|
||||||
app-builder-bin@3.5.12:
|
app-builder-bin@3.5.13:
|
||||||
version "3.5.12"
|
version "3.5.13"
|
||||||
resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.12.tgz#bbe174972cc1f481f73d6d92ad47a8b4c7eb4530"
|
resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.13.tgz#6dd7f4de34a4e408806f99b8c7d6ef1601305b7e"
|
||||||
integrity sha512-lQARM2AielmFoBeIo6LZigAe+58Wwe07ZWkt+wVeDxzyieNmeWjlvz/V5dKzinydwdHd+CNswN86sww46yijjA==
|
integrity sha512-ighVe9G+bT1ENGdp9ecO1P+94vv/f+FUwaI+XkNzeg9bYF8Oi3BQ+mJuxS00UgyHs8luuOzjzC+qnAtdb43Mpg==
|
||||||
|
|
||||||
app-builder-lib@22.10.5:
|
app-builder-lib@22.11.7:
|
||||||
version "22.10.5"
|
version "22.11.7"
|
||||||
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.10.5.tgz#24a88581c891e5b187a0d569aa44e7c4a0dc8de2"
|
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.11.7.tgz#c0ad1119ebfbf4189a8280ad693625f5e684dca6"
|
||||||
integrity sha512-/W8nlGamJCtKlQtsMWwU9vb+cX4pTNY+rJWCuc7oXUykVSMS50W7LhQusIjCelNfymUQ1XCu6cXEY/ylqhX12A==
|
integrity sha512-pS9/cR4/TnNZVAHZECiSvvwTBzbwblj7KBBZkMKDG57nibq0I1XY8zAaYeHFdlYTyrRcz9JUXbAqJKezya7UFQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"7zip-bin" "~5.0.3"
|
"7zip-bin" "~5.1.1"
|
||||||
"@develar/schema-utils" "~2.6.5"
|
"@develar/schema-utils" "~2.6.5"
|
||||||
"@electron/universal" "1.0.4"
|
"@electron/universal" "1.0.5"
|
||||||
|
"@malept/flatpak-bundler" "^0.4.0"
|
||||||
async-exit-hook "^2.0.1"
|
async-exit-hook "^2.0.1"
|
||||||
bluebird-lst "^1.0.9"
|
bluebird-lst "^1.0.9"
|
||||||
builder-util "22.10.5"
|
builder-util "22.11.7"
|
||||||
builder-util-runtime "8.7.3"
|
builder-util-runtime "8.7.7"
|
||||||
chromium-pickle-js "^0.2.0"
|
chromium-pickle-js "^0.2.0"
|
||||||
debug "^4.3.2"
|
debug "^4.3.2"
|
||||||
ejs "^3.1.6"
|
ejs "^3.1.6"
|
||||||
electron-publish "22.10.5"
|
electron-publish "22.11.7"
|
||||||
fs-extra "^9.1.0"
|
fs-extra "^10.0.0"
|
||||||
hosted-git-info "^3.0.8"
|
hosted-git-info "^4.0.2"
|
||||||
is-ci "^2.0.0"
|
is-ci "^3.0.0"
|
||||||
istextorbinary "^5.12.0"
|
isbinaryfile "^4.0.8"
|
||||||
js-yaml "^4.0.0"
|
js-yaml "^4.1.0"
|
||||||
lazy-val "^1.0.4"
|
lazy-val "^1.0.5"
|
||||||
minimatch "^3.0.4"
|
minimatch "^3.0.4"
|
||||||
normalize-package-data "^3.0.0"
|
read-config-file "6.2.0"
|
||||||
read-config-file "6.0.0"
|
|
||||||
sanitize-filename "^1.6.3"
|
sanitize-filename "^1.6.3"
|
||||||
semver "^7.3.4"
|
semver "^7.3.5"
|
||||||
temp-file "^3.3.7"
|
temp-file "^3.4.0"
|
||||||
|
|
||||||
apply-loader@2.0.0:
|
apply-loader@2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
@@ -1289,11 +1306,6 @@ big.js@^5.2.2:
|
|||||||
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
|
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
|
||||||
integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
|
integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
|
||||||
|
|
||||||
binaryextensions@^4.15.0:
|
|
||||||
version "4.15.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-4.15.0.tgz#c63a502e0078ff1b0e9b00a9f74d3c2b0f8bd32e"
|
|
||||||
integrity sha512-MkUl3szxXolQ2scI1PM14WOT951KnaTNJ0eMKg7WzOI4kvSxyNo/Cygx4LOBNhwyINhAuSQpJW1rYD9aBSxGaw==
|
|
||||||
|
|
||||||
bl@^1.0.0:
|
bl@^1.0.0:
|
||||||
version "1.2.3"
|
version "1.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7"
|
resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7"
|
||||||
@@ -1445,33 +1457,41 @@ buffer@^5.1.0:
|
|||||||
base64-js "^1.3.1"
|
base64-js "^1.3.1"
|
||||||
ieee754 "^1.1.13"
|
ieee754 "^1.1.13"
|
||||||
|
|
||||||
builder-util-runtime@8.7.3:
|
builder-util-runtime@8.7.6:
|
||||||
version "8.7.3"
|
version "8.7.6"
|
||||||
resolved "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.3.tgz"
|
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.6.tgz#4b43c96db2bd494ced7694bcd7674934655e8324"
|
||||||
integrity sha512-1Q2ReBqFblimF5g/TLg2+0M5Xzv0Ih5LxJ/BMWXvEy/e6pQKeeEpbkPMGsN6OiQgkygaZo5VXCXIjOkOQG5EoQ==
|
integrity sha512-rj9AIY7CzLSuTOXpToiaQkruYh6UEQ+kYnd5UET22ch8MGClEtIZKXHG14qEiXEr2x4EOKDMxkcTa+9TYaE+ug==
|
||||||
dependencies:
|
dependencies:
|
||||||
debug "^4.3.2"
|
debug "^4.3.2"
|
||||||
sax "^1.2.4"
|
sax "^1.2.4"
|
||||||
|
|
||||||
builder-util@22.10.5:
|
builder-util-runtime@8.7.7:
|
||||||
version "22.10.5"
|
version "8.7.7"
|
||||||
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.10.5.tgz#8d0b04a3be6acc74938679aa90dcb3181b1ae86b"
|
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.7.tgz#6c83cc3abe7a7a5c8b4ec8878f68adc828c07f0d"
|
||||||
integrity sha512-/MkLhmyo1gU3xMwXJxccQaRj/9tm5eTd6ZyebTf8SYouY4r3hRser+LxhOm/f8Z9W6oJvfPe0jc9TFsxYfMcsg==
|
integrity sha512-RUfoXzVrmFFI0K/Oft0CtP1LpTIOlBeLJatt5DePTI0KlxE156am4SGUpqtbbdqZNm++LkV9mX4olBDcXyGPow==
|
||||||
dependencies:
|
dependencies:
|
||||||
"7zip-bin" "~5.0.3"
|
|
||||||
"@types/debug" "^4.1.5"
|
|
||||||
"@types/fs-extra" "^9.0.7"
|
|
||||||
app-builder-bin "3.5.12"
|
|
||||||
bluebird-lst "^1.0.9"
|
|
||||||
builder-util-runtime "8.7.3"
|
|
||||||
chalk "^4.1.0"
|
|
||||||
debug "^4.3.2"
|
debug "^4.3.2"
|
||||||
fs-extra "^9.1.0"
|
sax "^1.2.4"
|
||||||
is-ci "^2.0.0"
|
|
||||||
js-yaml "^4.0.0"
|
builder-util@22.11.7:
|
||||||
|
version "22.11.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.11.7.tgz#ae9707afa6a31feafa13c274ac83b4fe28ef1467"
|
||||||
|
integrity sha512-ihqUe5ey82LM9qqQe0/oIcaSm9w+B9UjcsWJZxJliTBsbU+sErOpDFpHW+sim0veiTF/EIcGUh9HoduWw+l9FA==
|
||||||
|
dependencies:
|
||||||
|
"7zip-bin" "~5.1.1"
|
||||||
|
"@types/debug" "^4.1.5"
|
||||||
|
"@types/fs-extra" "^9.0.11"
|
||||||
|
app-builder-bin "3.5.13"
|
||||||
|
bluebird-lst "^1.0.9"
|
||||||
|
builder-util-runtime "8.7.7"
|
||||||
|
chalk "^4.1.1"
|
||||||
|
debug "^4.3.2"
|
||||||
|
fs-extra "^10.0.0"
|
||||||
|
is-ci "^3.0.0"
|
||||||
|
js-yaml "^4.1.0"
|
||||||
source-map-support "^0.5.19"
|
source-map-support "^0.5.19"
|
||||||
stat-mode "^1.0.0"
|
stat-mode "^1.0.0"
|
||||||
temp-file "^3.3.7"
|
temp-file "^3.4.0"
|
||||||
|
|
||||||
builtin-modules@^1.0.0:
|
builtin-modules@^1.0.0:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
@@ -1675,6 +1695,14 @@ chalk@^4.0.0, chalk@^4.1.0:
|
|||||||
ansi-styles "^4.1.0"
|
ansi-styles "^4.1.0"
|
||||||
supports-color "^7.1.0"
|
supports-color "^7.1.0"
|
||||||
|
|
||||||
|
chalk@^4.1.1:
|
||||||
|
version "4.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
|
||||||
|
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
|
||||||
|
dependencies:
|
||||||
|
ansi-styles "^4.1.0"
|
||||||
|
supports-color "^7.1.0"
|
||||||
|
|
||||||
character-parser@^2.1.1, character-parser@^2.2.0:
|
character-parser@^2.1.1, character-parser@^2.2.0:
|
||||||
version "2.2.0"
|
version "2.2.0"
|
||||||
resolved "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz"
|
resolved "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz"
|
||||||
@@ -1719,6 +1747,11 @@ ci-info@^2.0.0:
|
|||||||
resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz"
|
resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz"
|
||||||
integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
|
integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
|
||||||
|
|
||||||
|
ci-info@^3.1.1:
|
||||||
|
version "3.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6"
|
||||||
|
integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==
|
||||||
|
|
||||||
clean-css@^4.1.11, clean-css@^4.2.3:
|
clean-css@^4.1.11, clean-css@^4.2.3:
|
||||||
version "4.2.3"
|
version "4.2.3"
|
||||||
resolved "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz"
|
resolved "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz"
|
||||||
@@ -2061,10 +2094,10 @@ core-js@^2.4.0:
|
|||||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
|
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
|
||||||
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
|
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
|
||||||
|
|
||||||
core-js@^3.15.2, core-js@^3.6.5:
|
core-js@^3.18.2, core-js@^3.6.5:
|
||||||
version "3.15.2"
|
version "3.18.2"
|
||||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.15.2.tgz#740660d2ff55ef34ce664d7e2455119c5bdd3d61"
|
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.18.2.tgz#63a551e8a29f305cd4123754846e65896619ba5b"
|
||||||
integrity sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==
|
integrity sha512-zNhPOUoSgoizoSQFdX1MeZO16ORRb9FFQLts8gSYbZU5FcgXhp24iMWMxnOQo5uIaIG7/6FA/IqJPwev1o9ZXQ==
|
||||||
|
|
||||||
core-util-is@1.0.2, core-util-is@~1.0.0:
|
core-util-is@1.0.2, core-util-is@~1.0.0:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
@@ -2366,31 +2399,31 @@ dir-glob@^3.0.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
path-type "^4.0.0"
|
path-type "^4.0.0"
|
||||||
|
|
||||||
dmg-builder@22.10.5:
|
dmg-builder@22.11.7:
|
||||||
version "22.10.5"
|
version "22.11.7"
|
||||||
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.10.5.tgz#65a33c106ead5a350c7de8997c546559bd6e0e7c"
|
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.11.7.tgz#5956008c18d40ee72c0ea01ffea9590dbf51df89"
|
||||||
integrity sha512-58FEpfH8PEFqjbUNka4bYr52snRT8+LSXrP4gy6EZWOVICbOlmTOYj988pfoLam5C5iXb3odmyUQqwWOxlsEUw==
|
integrity sha512-+I+XfP2DODHB6PwFANgpH/WMzzCA5r5XoMvbFCIYjQjJpXlO0XnqQaamzFl2vh/Wz/Qt0d0lJMgRy8gKR3MGdQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
app-builder-lib "22.10.5"
|
app-builder-lib "22.11.7"
|
||||||
builder-util "22.10.5"
|
builder-util "22.11.7"
|
||||||
fs-extra "^9.1.0"
|
builder-util-runtime "8.7.6"
|
||||||
|
fs-extra "^10.0.0"
|
||||||
iconv-lite "^0.6.2"
|
iconv-lite "^0.6.2"
|
||||||
js-yaml "^4.0.0"
|
js-yaml "^4.1.0"
|
||||||
sanitize-filename "^1.6.3"
|
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
dmg-license "^1.0.8"
|
dmg-license "^1.0.9"
|
||||||
|
|
||||||
dmg-license@^1.0.8:
|
dmg-license@^1.0.9:
|
||||||
version "1.0.8"
|
version "1.0.9"
|
||||||
resolved "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.8.tgz"
|
resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.9.tgz#a2fb8d692af0e30b0730b5afc91ed9edc2d9cb4f"
|
||||||
integrity sha512-47GOb6b4yVzpovXC34heXElpH++ICg9GuWBeOTaokUNLAoAdWpE4VehudYEEtu96j2jXsgQWYf78nW7r+0Y3eg==
|
integrity sha512-Rq6qMDaDou2+aPN2SYy0x7LDznoJ/XaG6oDcH5wXUp+WRWQMUYE6eM+F+nex+/LSXOp1uw4HLFoed0YbfU8R/Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/plist" "^3.0.1"
|
"@types/plist" "^3.0.1"
|
||||||
"@types/verror" "^1.10.3"
|
"@types/verror" "^1.10.3"
|
||||||
ajv "^6.10.0"
|
ajv "^6.10.0"
|
||||||
cli-truncate "^1.1.0"
|
cli-truncate "^1.1.0"
|
||||||
crc "^3.8.0"
|
crc "^3.8.0"
|
||||||
iconv-corefoundation "^1.1.5"
|
iconv-corefoundation "^1.1.6"
|
||||||
plist "^3.0.1"
|
plist "^3.0.1"
|
||||||
smart-buffer "^4.0.2"
|
smart-buffer "^4.0.2"
|
||||||
verror "^1.10.0"
|
verror "^1.10.0"
|
||||||
@@ -2439,10 +2472,10 @@ dotenv@^5.0.1:
|
|||||||
resolved "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz"
|
resolved "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz"
|
||||||
integrity sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==
|
integrity sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==
|
||||||
|
|
||||||
dotenv@^8.2.0:
|
dotenv@^9.0.2:
|
||||||
version "8.2.0"
|
version "9.0.2"
|
||||||
resolved "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz"
|
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz#dacc20160935a37dea6364aa1bef819fb9b6ab05"
|
||||||
integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==
|
integrity sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==
|
||||||
|
|
||||||
duplexer3@^0.1.4:
|
duplexer3@^0.1.4:
|
||||||
version "0.1.4"
|
version "0.1.4"
|
||||||
@@ -2472,14 +2505,6 @@ ecc-jsbn@~0.1.1:
|
|||||||
jsbn "~0.1.0"
|
jsbn "~0.1.0"
|
||||||
safer-buffer "^2.1.0"
|
safer-buffer "^2.1.0"
|
||||||
|
|
||||||
editions@^6.1.0:
|
|
||||||
version "6.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/editions/-/editions-6.1.0.tgz#ba6c6cf9f4bb571d9e53ea34e771a602e5a66549"
|
|
||||||
integrity sha512-h6nWEyIocfgho9J3sTSuhU/WoFOu1hTX75rPBebNrbF38Y9QFDjCDizYXdikHTySW7Y3mSxli8bpDz9RAtc7rA==
|
|
||||||
dependencies:
|
|
||||||
errlop "^4.0.0"
|
|
||||||
version-range "^1.0.0"
|
|
||||||
|
|
||||||
editor@~1.0.0:
|
editor@~1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz"
|
resolved "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz"
|
||||||
@@ -2492,25 +2517,23 @@ ejs@^3.1.6:
|
|||||||
dependencies:
|
dependencies:
|
||||||
jake "^10.6.1"
|
jake "^10.6.1"
|
||||||
|
|
||||||
electron-builder@22.10.5:
|
electron-builder@^22.11.7:
|
||||||
version "22.10.5"
|
version "22.11.7"
|
||||||
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.10.5.tgz#03b156b93e6012609027c3aaa69201a3ad21e454"
|
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.11.7.tgz#cd97a0d9f6e6d388112e66b4376de431cca4d596"
|
||||||
integrity sha512-0q/289UUJUhRou6lZKDz/wzK6WprIQ6VXMTmaI+w9qXvSNugPC9UA5s2zXInOkjZOvO/xKnjeyiavrVSHYF3tA==
|
integrity sha512-yQExSLt7Hbz/P8lLkZDdE/OnJJ7NCX+uiQcV+XIH0TeEZcD87ZnSqBBzGUN5akySU4BXXlrVZKeUsXACWrm5Kw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/yargs" "^15.0.13"
|
"@types/yargs" "^16.0.2"
|
||||||
app-builder-lib "22.10.5"
|
app-builder-lib "22.11.7"
|
||||||
bluebird-lst "^1.0.9"
|
builder-util "22.11.7"
|
||||||
builder-util "22.10.5"
|
builder-util-runtime "8.7.7"
|
||||||
builder-util-runtime "8.7.3"
|
chalk "^4.1.1"
|
||||||
chalk "^4.1.0"
|
dmg-builder "22.11.7"
|
||||||
dmg-builder "22.10.5"
|
fs-extra "^10.0.0"
|
||||||
fs-extra "^9.1.0"
|
is-ci "^3.0.0"
|
||||||
is-ci "^2.0.0"
|
lazy-val "^1.0.5"
|
||||||
lazy-val "^1.0.4"
|
read-config-file "6.2.0"
|
||||||
read-config-file "6.0.0"
|
|
||||||
sanitize-filename "^1.6.3"
|
|
||||||
update-notifier "^5.1.0"
|
update-notifier "^5.1.0"
|
||||||
yargs "^16.2.0"
|
yargs "^17.0.1"
|
||||||
|
|
||||||
electron-config@*:
|
electron-config@*:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
@@ -2603,19 +2626,18 @@ electron-notarize@^1.1.1:
|
|||||||
debug "^4.1.1"
|
debug "^4.1.1"
|
||||||
fs-extra "^9.0.1"
|
fs-extra "^9.0.1"
|
||||||
|
|
||||||
electron-publish@22.10.5:
|
electron-publish@22.11.7:
|
||||||
version "22.10.5"
|
version "22.11.7"
|
||||||
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.10.5.tgz#9cbe46266b6c79d8c6e99840755682e2262d3543"
|
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.11.7.tgz#4126cbb08ccf082a2aa7fef89ee629b3a4b8ae9a"
|
||||||
integrity sha512-dHyuazv3P3j1Xyv7pdwTwAvxWab2pCb0G0Oa6qWQoCc4b1/mRGY00M7AvYW1cPuUijj9zYAf1HmXfM6MifaMlA==
|
integrity sha512-A4EhRRNBVz4SPzUlBrPO6BmuyDeI0pyprggPAV9rQ+SDVSnSB/WKPot9JwWMyArkGj3AUUTMNVT6hwZhMvhfqw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/fs-extra" "^9.0.7"
|
"@types/fs-extra" "^9.0.11"
|
||||||
bluebird-lst "^1.0.9"
|
builder-util "22.11.7"
|
||||||
builder-util "22.10.5"
|
builder-util-runtime "8.7.7"
|
||||||
builder-util-runtime "8.7.3"
|
chalk "^4.1.1"
|
||||||
chalk "^4.1.0"
|
fs-extra "^10.0.0"
|
||||||
fs-extra "^9.1.0"
|
lazy-val "^1.0.5"
|
||||||
lazy-val "^1.0.4"
|
mime "^2.5.2"
|
||||||
mime "^2.5.0"
|
|
||||||
|
|
||||||
electron-rebuild@^3.2.3:
|
electron-rebuild@^3.2.3:
|
||||||
version "3.2.3"
|
version "3.2.3"
|
||||||
@@ -2641,10 +2663,10 @@ electron-to-chromium@^1.3.723:
|
|||||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.736.tgz#f632d900a1f788dab22fec9c62ec5c9c8f0c4052"
|
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.736.tgz#f632d900a1f788dab22fec9c62ec5c9c8f0c4052"
|
||||||
integrity sha512-DY8dA7gR51MSo66DqitEQoUMQ0Z+A2DSXFi7tK304bdTVqczCAfUuyQw6Wdg8hIoo5zIxkU1L24RQtUce1Ioig==
|
integrity sha512-DY8dA7gR51MSo66DqitEQoUMQ0Z+A2DSXFi7tK304bdTVqczCAfUuyQw6Wdg8hIoo5zIxkU1L24RQtUce1Ioig==
|
||||||
|
|
||||||
electron@13.2.2:
|
electron@13.5.1:
|
||||||
version "13.2.2"
|
version "13.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/electron/-/electron-13.2.2.tgz#332d91891d0db4f9a1d22d4d0bc3b500e59dc051"
|
resolved "https://registry.yarnpkg.com/electron/-/electron-13.5.1.tgz#76c02c39be228532f886a170b472cbd3d93f0d0f"
|
||||||
integrity sha512-thGq2YaZqQWK1HexRghxdb26a8hA7ZSebukUSHlnHrY9+Sx9rW7e3uEHbibk/seRXVoXO76HndjKdHyObP9/Kw==
|
integrity sha512-ZyxhIhmdaeE3xiIGObf0zqEyCyuIDqZQBv9NKX8w5FNzGm87j4qR0H1+GQg6vz+cA1Nnv1x175Zvimzc0/UwEQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@electron/get" "^1.0.1"
|
"@electron/get" "^1.0.1"
|
||||||
"@types/node" "^14.6.2"
|
"@types/node" "^14.6.2"
|
||||||
@@ -2703,10 +2725,10 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
once "^1.4.0"
|
once "^1.4.0"
|
||||||
|
|
||||||
enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.0:
|
enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.3:
|
||||||
version "5.8.2"
|
version "5.8.3"
|
||||||
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz#15ddc779345cbb73e97c611cd00c01c1e7bf4d8b"
|
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0"
|
||||||
integrity sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==
|
integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==
|
||||||
dependencies:
|
dependencies:
|
||||||
graceful-fs "^4.2.4"
|
graceful-fs "^4.2.4"
|
||||||
tapable "^2.2.0"
|
tapable "^2.2.0"
|
||||||
@@ -2743,11 +2765,6 @@ err-code@^2.0.2:
|
|||||||
resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9"
|
resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9"
|
||||||
integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==
|
integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==
|
||||||
|
|
||||||
errlop@^4.0.0:
|
|
||||||
version "4.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/errlop/-/errlop-4.1.0.tgz#8e7b8f4f1bf0a6feafce4d14f0c0cf4bf5ef036b"
|
|
||||||
integrity sha512-vul6gGBuVt0M2TPi1/WrcL86+Hb3Q2Tpu3TME3sbVhZrYf7J1ZMHCodI25RQKCVurh56qTfvgM0p3w5cT4reSQ==
|
|
||||||
|
|
||||||
"errno@>=0.1.1 <0.2.0-0":
|
"errno@>=0.1.1 <0.2.0-0":
|
||||||
version "0.1.4"
|
version "0.1.4"
|
||||||
resolved "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz"
|
resolved "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz"
|
||||||
@@ -2799,10 +2816,10 @@ es-get-iterator@^1.1.1:
|
|||||||
is-string "^1.0.5"
|
is-string "^1.0.5"
|
||||||
isarray "^2.0.5"
|
isarray "^2.0.5"
|
||||||
|
|
||||||
es-module-lexer@^0.7.1:
|
es-module-lexer@^0.9.0:
|
||||||
version "0.7.1"
|
version "0.9.2"
|
||||||
resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.7.1.tgz#c2c8e0f46f2df06274cdaf0dd3f3b33e0a0b267d"
|
resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.2.tgz#d0a8c72c5d904014111fac7fab4c92b9ac545564"
|
||||||
integrity sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==
|
integrity sha512-YkAGWqxZq2B4FxQ5y687UwywDwvLQhIMCZ+SDU7ZW729SDHOEI6wVFXwTRecz+yiwJzCsVwC6V7bxyNbZSB1rg==
|
||||||
|
|
||||||
es-to-primitive@^1.2.1:
|
es-to-primitive@^1.2.1:
|
||||||
version "1.2.1"
|
version "1.2.1"
|
||||||
@@ -3281,7 +3298,7 @@ fs-extra@^8.1.0:
|
|||||||
jsonfile "^4.0.0"
|
jsonfile "^4.0.0"
|
||||||
universalify "^0.1.0"
|
universalify "^0.1.0"
|
||||||
|
|
||||||
fs-extra@^9.0.0, fs-extra@^9.0.1, fs-extra@^9.1.0:
|
fs-extra@^9.0.0, fs-extra@^9.0.1:
|
||||||
version "9.1.0"
|
version "9.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
|
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
|
||||||
integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
|
integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
|
||||||
@@ -3752,10 +3769,10 @@ hosted-git-info@^3.0.6:
|
|||||||
dependencies:
|
dependencies:
|
||||||
lru-cache "^6.0.0"
|
lru-cache "^6.0.0"
|
||||||
|
|
||||||
hosted-git-info@^3.0.8:
|
hosted-git-info@^4.0.2:
|
||||||
version "3.0.8"
|
version "4.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d"
|
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961"
|
||||||
integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==
|
integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==
|
||||||
dependencies:
|
dependencies:
|
||||||
lru-cache "^6.0.0"
|
lru-cache "^6.0.0"
|
||||||
|
|
||||||
@@ -3861,10 +3878,10 @@ humanize-ms@^1.2.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ms "^2.0.0"
|
ms "^2.0.0"
|
||||||
|
|
||||||
iconv-corefoundation@^1.1.5:
|
iconv-corefoundation@^1.1.6:
|
||||||
version "1.1.5"
|
version "1.1.6"
|
||||||
resolved "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.5.tgz"
|
resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.6.tgz#27c135470237f6f8d13462fa1f5eaf250523c29a"
|
||||||
integrity sha512-hI4m7udfV04OcjleOmDaR4gwXnH4xumxN+ZmywHDiKf2CmAzsT9SVYe7Y4pdnQbyZfXwAQyrElykbE5PrPRfmQ==
|
integrity sha512-1NBe55C75bKGZaY9UHxvXG3G0gEp0ziht7quhuFrW3SPgZDw9HI6qvYXRSV5M/Eupyu8ljuJ6Cba+ec15PZ4Xw==
|
||||||
dependencies:
|
dependencies:
|
||||||
cli-truncate "^1.1.0"
|
cli-truncate "^1.1.0"
|
||||||
node-addon-api "^1.6.3"
|
node-addon-api "^1.6.3"
|
||||||
@@ -4074,6 +4091,13 @@ is-ci@^2.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ci-info "^2.0.0"
|
ci-info "^2.0.0"
|
||||||
|
|
||||||
|
is-ci@^3.0.0:
|
||||||
|
version "3.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994"
|
||||||
|
integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==
|
||||||
|
dependencies:
|
||||||
|
ci-info "^3.1.1"
|
||||||
|
|
||||||
is-core-module@^2.2.0:
|
is-core-module@^2.2.0:
|
||||||
version "2.4.0"
|
version "2.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1"
|
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1"
|
||||||
@@ -4352,6 +4376,11 @@ isarray@~1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
|
||||||
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
|
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
|
||||||
|
|
||||||
|
isbinaryfile@^4.0.8:
|
||||||
|
version "4.0.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf"
|
||||||
|
integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==
|
||||||
|
|
||||||
isemail@2.x.x:
|
isemail@2.x.x:
|
||||||
version "2.2.1"
|
version "2.2.1"
|
||||||
resolved "https://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz"
|
resolved "https://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz"
|
||||||
@@ -4372,15 +4401,6 @@ isstream@~0.1.2:
|
|||||||
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
|
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
|
||||||
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
|
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
|
||||||
|
|
||||||
istextorbinary@^5.12.0:
|
|
||||||
version "5.12.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-5.12.0.tgz#2f84777838668fdf524c305a2363d6057aaeec84"
|
|
||||||
integrity sha512-wLDRWD7qpNTYubk04+q3en1+XZGS4vYWK0+SxNSXJLaITMMEK+J3o/TlOMyULeH1qozVZ9uUkKcyMA8odyxz8w==
|
|
||||||
dependencies:
|
|
||||||
binaryextensions "^4.15.0"
|
|
||||||
editions "^6.1.0"
|
|
||||||
textextensions "^5.11.0"
|
|
||||||
|
|
||||||
items@2.x.x:
|
items@2.x.x:
|
||||||
version "2.1.2"
|
version "2.1.2"
|
||||||
resolved "https://registry.npmjs.org/items/-/items-2.1.2.tgz"
|
resolved "https://registry.npmjs.org/items/-/items-2.1.2.tgz"
|
||||||
@@ -4443,10 +4463,10 @@ js-yaml@^3.10.0, js-yaml@^3.13.1:
|
|||||||
argparse "^1.0.7"
|
argparse "^1.0.7"
|
||||||
esprima "^4.0.0"
|
esprima "^4.0.0"
|
||||||
|
|
||||||
js-yaml@^4.0.0:
|
js-yaml@^4.1.0:
|
||||||
version "4.0.0"
|
version "4.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f"
|
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
|
||||||
integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==
|
integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
|
||||||
dependencies:
|
dependencies:
|
||||||
argparse "^2.0.1"
|
argparse "^2.0.1"
|
||||||
|
|
||||||
@@ -4659,6 +4679,11 @@ lazy-val@^1.0.4:
|
|||||||
resolved "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz"
|
resolved "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz"
|
||||||
integrity sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==
|
integrity sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==
|
||||||
|
|
||||||
|
lazy-val@^1.0.5:
|
||||||
|
version "1.0.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz#6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d"
|
||||||
|
integrity sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==
|
||||||
|
|
||||||
lcid@^2.0.0:
|
lcid@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz"
|
resolved "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz"
|
||||||
@@ -5063,7 +5088,7 @@ mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.19, mime-types@~2.1.7:
|
|||||||
dependencies:
|
dependencies:
|
||||||
mime-db "1.47.0"
|
mime-db "1.47.0"
|
||||||
|
|
||||||
mime@^2.3.1, mime@^2.5.0:
|
mime@^2.3.1, mime@^2.5.2:
|
||||||
version "2.5.2"
|
version "2.5.2"
|
||||||
resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe"
|
resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe"
|
||||||
integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==
|
integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==
|
||||||
@@ -5287,10 +5312,10 @@ node-abi@^2.19.2, node-abi@^2.30.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
semver "^5.4.1"
|
semver "^5.4.1"
|
||||||
|
|
||||||
node-abi@^3.1.0:
|
node-abi@^3.2.0:
|
||||||
version "3.1.0"
|
version "3.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.1.0.tgz#9560f38fbe2309e87c61f4f103c9d95e0f961c32"
|
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.2.0.tgz#c8ec6874f808b4da5fbd56e9506390ce65b152a2"
|
||||||
integrity sha512-kVF+eIDzPPwPcJdoVhWboJvdCe+YF1+rkd7+LeYmA95179T0sVB5kKG8VADM/3sBnGWeAUBR8FzH+whlksJTrQ==
|
integrity sha512-/qb92JAb2uiwEQ4aXpVphXfGJU77qdCieXACDaIofcMz+YMPBmnCo8v0OlzJBuXh5QHmMiiI/GKyiCzbjOMn2g==
|
||||||
dependencies:
|
dependencies:
|
||||||
semver "^7.3.5"
|
semver "^7.3.5"
|
||||||
|
|
||||||
@@ -6687,15 +6712,15 @@ read-cmd-shim@~1.0.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
graceful-fs "^4.1.2"
|
graceful-fs "^4.1.2"
|
||||||
|
|
||||||
read-config-file@6.0.0:
|
read-config-file@6.2.0:
|
||||||
version "6.0.0"
|
version "6.2.0"
|
||||||
resolved "https://registry.npmjs.org/read-config-file/-/read-config-file-6.0.0.tgz"
|
resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz#71536072330bcd62ba814f91458b12add9fc7ade"
|
||||||
integrity sha512-PHjROSdpceKUmqS06wqwP92VrM46PZSTubmNIMJ5DrMwg1OgenSTSEHIkCa6TiOJ+y/J0xnG1fFwG3M+Oi1aNA==
|
integrity sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==
|
||||||
dependencies:
|
dependencies:
|
||||||
dotenv "^8.2.0"
|
dotenv "^9.0.2"
|
||||||
dotenv-expand "^5.1.0"
|
dotenv-expand "^5.1.0"
|
||||||
js-yaml "^3.13.1"
|
js-yaml "^4.1.0"
|
||||||
json5 "^2.1.2"
|
json5 "^2.2.0"
|
||||||
lazy-val "^1.0.4"
|
lazy-val "^1.0.4"
|
||||||
|
|
||||||
read-installed@~4.0.3:
|
read-installed@~4.0.3:
|
||||||
@@ -7358,10 +7383,10 @@ slide@^1.1.3, slide@^1.1.5, slide@~1.1.3, slide@~1.1.6:
|
|||||||
resolved "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz"
|
resolved "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz"
|
||||||
integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=
|
integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=
|
||||||
|
|
||||||
slugify@^1.6.0:
|
slugify@^1.6.1:
|
||||||
version "1.6.0"
|
version "1.6.1"
|
||||||
resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.0.tgz#6bdf8ed01dabfdc46425b67e3320b698832ff893"
|
resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.1.tgz#a5fcaef29f4e57c6e932ce7044b6ffd9cf81b641"
|
||||||
integrity sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==
|
integrity sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA==
|
||||||
|
|
||||||
smart-buffer@^1.0.13:
|
smart-buffer@^1.0.13:
|
||||||
version "1.1.15"
|
version "1.1.15"
|
||||||
@@ -7531,10 +7556,10 @@ sprintf-js@~1.0.2:
|
|||||||
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
||||||
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
||||||
|
|
||||||
ssh2@^1.4.0:
|
ssh2@^1.5.0:
|
||||||
version "1.4.0"
|
version "1.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.4.0.tgz#e32e8343394364c922bad915a5a7fecd67d0f5c5"
|
resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.5.0.tgz#4dc559ba98a1cbb420e8d42998dfe35d0eda92bc"
|
||||||
integrity sha512-XvXwcXKvS452DyQvCa6Ct+chpucwc/UyxgliYz+rWXJ3jDHdtBb9xgmxJdMmnIn5bpgGAEV3KaEsH98ZGPHqwg==
|
integrity sha512-iUmRkhH9KGeszQwDW7YyyqjsMTf4z+0o48Cp4xOwlY5LjtbIAvyd3fwnsoUZW/hXmTCRA3yt7S/Jb9uVjErVlA==
|
||||||
dependencies:
|
dependencies:
|
||||||
asn1 "^0.2.4"
|
asn1 "^0.2.4"
|
||||||
bcrypt-pbkdf "^1.0.2"
|
bcrypt-pbkdf "^1.0.2"
|
||||||
@@ -7872,13 +7897,13 @@ tar@^6.0.2, tar@^6.0.5, tar@^6.1.0:
|
|||||||
mkdirp "^1.0.3"
|
mkdirp "^1.0.3"
|
||||||
yallist "^4.0.0"
|
yallist "^4.0.0"
|
||||||
|
|
||||||
temp-file@^3.3.7:
|
temp-file@^3.4.0:
|
||||||
version "3.3.7"
|
version "3.4.0"
|
||||||
resolved "https://registry.npmjs.org/temp-file/-/temp-file-3.3.7.tgz"
|
resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz#766ea28911c683996c248ef1a20eea04d51652c7"
|
||||||
integrity sha512-9tBJKt7GZAQt/Rg0QzVWA8Am8c1EFl+CAv04/aBVqlx5oyfQ508sFIABshQ0xbZu6mBrFLWIUXO/bbLYghW70g==
|
integrity sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==
|
||||||
dependencies:
|
dependencies:
|
||||||
async-exit-hook "^2.0.1"
|
async-exit-hook "^2.0.1"
|
||||||
fs-extra "^8.1.0"
|
fs-extra "^10.0.0"
|
||||||
|
|
||||||
term-size@^0.1.0:
|
term-size@^0.1.0:
|
||||||
version "0.1.1"
|
version "0.1.1"
|
||||||
@@ -7929,11 +7954,6 @@ text-table@^0.2.0, text-table@~0.2.0:
|
|||||||
resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
|
resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
|
||||||
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
|
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
|
||||||
|
|
||||||
textextensions@^5.11.0:
|
|
||||||
version "5.12.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-5.12.0.tgz#b908120b5c1bd4bb9eba41423d75b176011ab68a"
|
|
||||||
integrity sha512-IYogUDaP65IXboCiPPC0jTLLBzYlhhw2Y4b0a2trPgbHNGGGEfuHE6tds+yDcCf4mpNDaGISFzwSSezcXt+d6w==
|
|
||||||
|
|
||||||
throttleit@0.0.2:
|
throttleit@0.0.2:
|
||||||
version "0.0.2"
|
version "0.0.2"
|
||||||
resolved "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz"
|
resolved "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz"
|
||||||
@@ -8424,18 +8444,6 @@ verror@1.10.0, verror@^1.10.0:
|
|||||||
core-util-is "1.0.2"
|
core-util-is "1.0.2"
|
||||||
extsprintf "^1.2.0"
|
extsprintf "^1.2.0"
|
||||||
|
|
||||||
version-compare@^1.0.0:
|
|
||||||
version "1.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/version-compare/-/version-compare-1.1.0.tgz#7b3e67e7e6cec5c72d9c9e586f8854e419ade17c"
|
|
||||||
integrity sha512-zVKtPOJTC9x23lzS4+4D7J+drq80BXVYAmObnr5zqxxFVH7OffJ1lJlAS7LYsQNV56jx/wtbw0UV7XHLrvd6kQ==
|
|
||||||
|
|
||||||
version-range@^1.0.0:
|
|
||||||
version "1.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/version-range/-/version-range-1.1.0.tgz#1c233064202ee742afc9d56e21da3b2e15260acf"
|
|
||||||
integrity sha512-R1Ggfg2EXamrnrV3TkZ6yBNgITDbclB3viwSjbZ3+eK0VVNK4ajkYJTnDz5N0bIMYDtK9MUBvXJUnKO5RWWJ6w==
|
|
||||||
dependencies:
|
|
||||||
version-compare "^1.0.0"
|
|
||||||
|
|
||||||
void-elements@^2.0.1:
|
void-elements@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
|
resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
|
||||||
@@ -8513,10 +8521,10 @@ webpack-sources@^3.2.0:
|
|||||||
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.0.tgz#b16973bcf844ebcdb3afde32eda1c04d0b90f89d"
|
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.0.tgz#b16973bcf844ebcdb3afde32eda1c04d0b90f89d"
|
||||||
integrity sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==
|
integrity sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==
|
||||||
|
|
||||||
webpack@^5.52.1:
|
webpack@^5.57.1:
|
||||||
version "5.52.1"
|
version "5.57.1"
|
||||||
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.52.1.tgz#2dc1d9029ecb7acfb80da7bf67baab67baa517a7"
|
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.57.1.tgz#ead5ace2c17ecef2ae8126f143bfeaa7f55eab44"
|
||||||
integrity sha512-wkGb0hLfrS7ML3n2xIKfUIwHbjB6gxwQHyLmVHoAqEQBw+nWo+G6LoHL098FEXqahqximsntjBLuewStrnJk0g==
|
integrity sha512-kHszukYjTPVfCOEyrUthA3jqJwduY/P3eO8I0gMNOZGIQWKAwZftxmp5hq6paophvwo9NoUrcZOecs9ulOyyTg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/eslint-scope" "^3.7.0"
|
"@types/eslint-scope" "^3.7.0"
|
||||||
"@types/estree" "^0.0.50"
|
"@types/estree" "^0.0.50"
|
||||||
@@ -8527,8 +8535,8 @@ webpack@^5.52.1:
|
|||||||
acorn-import-assertions "^1.7.6"
|
acorn-import-assertions "^1.7.6"
|
||||||
browserslist "^4.14.5"
|
browserslist "^4.14.5"
|
||||||
chrome-trace-event "^1.0.2"
|
chrome-trace-event "^1.0.2"
|
||||||
enhanced-resolve "^5.8.0"
|
enhanced-resolve "^5.8.3"
|
||||||
es-module-lexer "^0.7.1"
|
es-module-lexer "^0.9.0"
|
||||||
eslint-scope "5.1.1"
|
eslint-scope "5.1.1"
|
||||||
events "^3.2.0"
|
events "^3.2.0"
|
||||||
glob-to-regexp "^0.4.1"
|
glob-to-regexp "^0.4.1"
|
||||||
@@ -8918,19 +8926,6 @@ yargs@^15.0.1:
|
|||||||
y18n "^4.0.0"
|
y18n "^4.0.0"
|
||||||
yargs-parser "^18.1.2"
|
yargs-parser "^18.1.2"
|
||||||
|
|
||||||
yargs@^16.2.0:
|
|
||||||
version "16.2.0"
|
|
||||||
resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz"
|
|
||||||
integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
|
|
||||||
dependencies:
|
|
||||||
cliui "^7.0.2"
|
|
||||||
escalade "^3.1.1"
|
|
||||||
get-caller-file "^2.0.5"
|
|
||||||
require-directory "^2.1.1"
|
|
||||||
string-width "^4.2.0"
|
|
||||||
y18n "^5.0.5"
|
|
||||||
yargs-parser "^20.2.2"
|
|
||||||
|
|
||||||
yargs@^17.0.1:
|
yargs@^17.0.1:
|
||||||
version "17.1.0"
|
version "17.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.1.0.tgz#0cd9827a0572c9a1795361c4d1530e53ada168cf"
|
resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.1.0.tgz#0cd9827a0572c9a1795361c4d1530e53ada168cf"
|
||||||
|
Reference in New Issue
Block a user