mirror of
https://github.com/Eugeny/tabby.git
synced 2025-07-30 14:14:35 +00:00
Compare commits
1 Commits
v1.0.201
...
dependabot
Author | SHA1 | Date | |
---|---|---|---|
![]() |
3e7333ec80 |
@@ -1220,24 +1220,6 @@
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "siebsie23",
|
||||
"name": "Sibren",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/25083973?v=4",
|
||||
"profile": "https://siebsie23.nl/",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "nwalser",
|
||||
"name": "Nathaniel Walser",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/33339996?v=4",
|
||||
"profile": "https://www.nathaniel-walser.com",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
}
|
||||
],
|
||||
"contributorsPerLine": 7,
|
||||
|
10
.github/workflows/build.yml
vendored
10
.github/workflows/build.yml
vendored
@@ -110,16 +110,16 @@ jobs:
|
||||
|
||||
- name: Package artifacts
|
||||
run: |
|
||||
mkdir artifact-dmg
|
||||
mv dist/*.dmg artifact-dmg/
|
||||
mkdir artifact-pkg
|
||||
mv dist/*.pkg artifact-pkg/
|
||||
mkdir artifact-zip
|
||||
mv dist/*.zip artifact-zip/
|
||||
|
||||
- uses: actions/upload-artifact@master
|
||||
name: Upload DMG
|
||||
name: Upload PKG
|
||||
with:
|
||||
name: macOS .dmg (${{matrix.arch}})
|
||||
path: artifact-dmg
|
||||
name: macOS .pkg (${{matrix.arch}})
|
||||
path: artifact-pkg
|
||||
|
||||
- uses: actions/upload-artifact@master
|
||||
name: Upload ZIP
|
||||
|
@@ -327,10 +327,6 @@ Dank geht an diese wunderbaren Menschen ([emoji key](https://allcontributors.org
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://siebsie23.nl/"><img src="https://avatars.githubusercontent.com/u/25083973?v=4?s=100" width="100px;" alt="Sibren"/><br /><sub><b>Sibren</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=siebsie23" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.nathaniel-walser.com"><img src="https://avatars.githubusercontent.com/u/33339996?v=4?s=100" width="100px;" alt="Nathaniel Walser"/><br /><sub><b>Nathaniel Walser</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=nwalser" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@@ -329,10 +329,6 @@ Gracias a estas maravillosas personas ([emoji key](https://allcontributors.org/d
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://siebsie23.nl/"><img src="https://avatars.githubusercontent.com/u/25083973?v=4?s=100" width="100px;" alt="Sibren"/><br /><sub><b>Sibren</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=siebsie23" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.nathaniel-walser.com"><img src="https://avatars.githubusercontent.com/u/33339996?v=4?s=100" width="100px;" alt="Nathaniel Walser"/><br /><sub><b>Nathaniel Walser</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=nwalser" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@@ -326,10 +326,6 @@ Terima kasih kepada mereka yang telah membantu ([emoji key](https://allcontribut
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://siebsie23.nl/"><img src="https://avatars.githubusercontent.com/u/25083973?v=4?s=100" width="100px;" alt="Sibren"/><br /><sub><b>Sibren</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=siebsie23" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.nathaniel-walser.com"><img src="https://avatars.githubusercontent.com/u/33339996?v=4?s=100" width="100px;" alt="Nathaniel Walser"/><br /><sub><b>Nathaniel Walser</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=nwalser" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@@ -322,10 +322,6 @@ Grazie a queste persone meravigliose ([emoji key](https://allcontributors.org/do
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://siebsie23.nl/"><img src="https://avatars.githubusercontent.com/u/25083973?v=4?s=100" width="100px;" alt="Sibren"/><br /><sub><b>Sibren</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=siebsie23" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.nathaniel-walser.com"><img src="https://avatars.githubusercontent.com/u/33339996?v=4?s=100" width="100px;" alt="Nathaniel Walser"/><br /><sub><b>Nathaniel Walser</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=nwalser" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@@ -337,10 +337,6 @@ Windows上では、`Tabby.exe`がある場所と同じ場所に`data`フォル
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://siebsie23.nl/"><img src="https://avatars.githubusercontent.com/u/25083973?v=4?s=100" width="100px;" alt="Sibren"/><br /><sub><b>Sibren</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=siebsie23" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.nathaniel-walser.com"><img src="https://avatars.githubusercontent.com/u/33339996?v=4?s=100" width="100px;" alt="Nathaniel Walser"/><br /><sub><b>Nathaniel Walser</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=nwalser" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@@ -316,10 +316,6 @@ Pull requests and plugins are welcome!
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://siebsie23.nl/"><img src="https://avatars.githubusercontent.com/u/25083973?v=4?s=100" width="100px;" alt="Sibren"/><br /><sub><b>Sibren</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=siebsie23" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.nathaniel-walser.com"><img src="https://avatars.githubusercontent.com/u/33339996?v=4?s=100" width="100px;" alt="Nathaniel Walser"/><br /><sub><b>Nathaniel Walser</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=nwalser" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@@ -139,7 +139,6 @@ Plugins and themes can be installed directly from the Settings view inside Tabby
|
||||
* [gruvbox](https://github.com/porkloin/terminus-theme-gruvbox)
|
||||
* [windows10](https://www.npmjs.com/package/terminus-theme-windows10)
|
||||
* [altair](https://github.com/yxuko/terminus-altair)
|
||||
* [catppuccin](https://github.com/catppuccin/tabby) - Soothing pastel theme for Tabby
|
||||
|
||||
# Sponsors <!-- omit in toc -->
|
||||
|
||||
@@ -339,10 +338,6 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://siebsie23.nl/"><img src="https://avatars.githubusercontent.com/u/25083973?v=4?s=100" width="100px;" alt="Sibren"/><br /><sub><b>Sibren</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=siebsie23" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.nathaniel-walser.com"><img src="https://avatars.githubusercontent.com/u/33339996?v=4?s=100" width="100px;" alt="Nathaniel Walser"/><br /><sub><b>Nathaniel Walser</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=nwalser" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@@ -330,10 +330,6 @@ Obrigado vai para essas pessoas maravilhosas ([emoji key](https://allcontributor
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://siebsie23.nl/"><img src="https://avatars.githubusercontent.com/u/25083973?v=4?s=100" width="100px;" alt="Sibren"/><br /><sub><b>Sibren</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=siebsie23" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.nathaniel-walser.com"><img src="https://avatars.githubusercontent.com/u/33339996?v=4?s=100" width="100px;" alt="Nathaniel Walser"/><br /><sub><b>Nathaniel Walser</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=nwalser" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@@ -322,10 +322,6 @@ Pull-запросы и плагины приветствуются!
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://siebsie23.nl/"><img src="https://avatars.githubusercontent.com/u/25083973?v=4?s=100" width="100px;" alt="Sibren"/><br /><sub><b>Sibren</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=siebsie23" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.nathaniel-walser.com"><img src="https://avatars.githubusercontent.com/u/33339996?v=4?s=100" width="100px;" alt="Nathaniel Walser"/><br /><sub><b>Nathaniel Walser</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=nwalser" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@@ -321,10 +321,6 @@
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/wljince007"><img src="https://avatars.githubusercontent.com/u/88243938?v=4?s=100" width="100px;" alt="wljince007"/><br /><sub><b>wljince007</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=wljince007" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/FeroTheFox"><img src="https://avatars.githubusercontent.com/u/52982404?v=4?s=100" width="100px;" alt="fero"/><br /><sub><b>fero</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=FeroTheFox" title="Code">💻</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://siebsie23.nl/"><img src="https://avatars.githubusercontent.com/u/25083973?v=4?s=100" width="100px;" alt="Sibren"/><br /><sub><b>Sibren</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=siebsie23" title="Code">💻</a></td>
|
||||
<td align="center" valign="top" width="14.28%"><a href="https://www.nathaniel-walser.com"><img src="https://avatars.githubusercontent.com/u/33339996?v=4?s=100" width="100px;" alt="Nathaniel Walser"/><br /><sub><b>Nathaniel Walser</b></sub></a><br /><a href="https://github.com/Eugeny/tabby/commits?author=nwalser" title="Code">💻</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@@ -1,14 +1,13 @@
|
||||
import * as fs from 'fs'
|
||||
import * as path from 'path'
|
||||
import * as yaml from 'js-yaml'
|
||||
import { app } from 'electron'
|
||||
import { writeFile } from 'atomically'
|
||||
|
||||
|
||||
export const configPath = path.join(process.env.TABBY_CONFIG_DIRECTORY!, 'config.yaml')
|
||||
const legacyConfigPath = path.join(process.env.TABBY_CONFIG_DIRECTORY!, '../terminus', 'config.yaml')
|
||||
|
||||
|
||||
export function migrateConfig (): void {
|
||||
const configPath = path.join(app.getPath('userData'), 'config.yaml')
|
||||
const legacyConfigPath = path.join(app.getPath('userData'), '../terminus', 'config.yaml')
|
||||
if (fs.existsSync(legacyConfigPath) && (
|
||||
!fs.existsSync(configPath) ||
|
||||
fs.statSync(configPath).mtime < fs.statSync(legacyConfigPath).mtime
|
||||
@@ -20,6 +19,7 @@ export function migrateConfig (): void {
|
||||
export function loadConfig (): any {
|
||||
migrateConfig()
|
||||
|
||||
const configPath = path.join(app.getPath('userData'), 'config.yaml')
|
||||
if (fs.existsSync(configPath)) {
|
||||
return yaml.load(fs.readFileSync(configPath, 'utf8'))
|
||||
} else {
|
||||
@@ -27,6 +27,8 @@ export function loadConfig (): any {
|
||||
}
|
||||
}
|
||||
|
||||
const configPath = path.join(app.getPath('userData'), 'config.yaml')
|
||||
|
||||
export async function saveConfig (content: string): Promise<void> {
|
||||
await writeFile(configPath, content, { encoding: 'utf8' })
|
||||
await writeFile(configPath + '.backup', content, { encoding: 'utf8' })
|
||||
|
@@ -1,21 +1,17 @@
|
||||
import { app, ipcMain, Menu, dialog } from 'electron'
|
||||
|
||||
// set defaults of environment variables
|
||||
import 'dotenv/config'
|
||||
process.env.TABBY_PLUGINS ??= ''
|
||||
process.env.TABBY_CONFIG_DIRECTORY ??= app.getPath('userData')
|
||||
|
||||
|
||||
import 'v8-compile-cache'
|
||||
import './portable'
|
||||
import 'source-map-support/register'
|
||||
import './sentry'
|
||||
import './lru'
|
||||
import { app, ipcMain, Menu, dialog } from 'electron'
|
||||
import { parseArgs } from './cli'
|
||||
import { Application } from './app'
|
||||
import electronDebug = require('electron-debug')
|
||||
import { loadConfig } from './config'
|
||||
|
||||
if (!process.env.TABBY_PLUGINS) {
|
||||
process.env.TABBY_PLUGINS = ''
|
||||
}
|
||||
|
||||
const argv = parseArgs(process.argv, process.cwd())
|
||||
|
||||
|
@@ -38,7 +38,7 @@
|
||||
"@tabby-gang/windows-blurbehind": "^3.0.0",
|
||||
"macos-native-processlist": "^2.1.0",
|
||||
"patch-package": "^6.5.0",
|
||||
"serialport": "11.0.1",
|
||||
"serialport": "12.0.0",
|
||||
"serialport-binding-webserialapi": "^1.0.3",
|
||||
"windows-native-registry": "^3.2.1",
|
||||
"windows-process-tree": "^0.4.0"
|
||||
|
140
app/yarn.lock
140
app/yarn.lock
@@ -38,15 +38,15 @@
|
||||
"@serialport/bindings-interface" "^1.2.1"
|
||||
debug "^4.3.3"
|
||||
|
||||
"@serialport/bindings-cpp@11.0.3":
|
||||
version "11.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/bindings-cpp/-/bindings-cpp-11.0.3.tgz#ab4d4826ef657e326b6c99d6b8a113d834378a93"
|
||||
integrity sha512-xgNDJ7pHHZCJMoDsEH+D8q5CV+V3RGN4/jLEG9SQ7q6kh+o03axV0l/upPHZ0HW4tTXpGgqPIGbXOTrD4RGQQA==
|
||||
"@serialport/bindings-cpp@12.0.1":
|
||||
version "12.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/bindings-cpp/-/bindings-cpp-12.0.1.tgz#b7588a8b3e124e7679622ce980a7d8528e9f36a3"
|
||||
integrity sha512-r2XOwY2dDvbW7dKqSPIk2gzsr6M6Qpe9+/Ngs94fNaNlcTRCV02PfaoDmRgcubpNVVcLATlxSxPTIDw12dbKOg==
|
||||
dependencies:
|
||||
"@serialport/bindings-interface" "1.2.2"
|
||||
"@serialport/parser-readline" "11.0.0"
|
||||
debug "4.3.4"
|
||||
node-addon-api "6.1.0"
|
||||
node-addon-api "7.0.0"
|
||||
node-gyp-build "4.6.0"
|
||||
|
||||
"@serialport/bindings-interface@1.2.2":
|
||||
@@ -59,35 +59,35 @@
|
||||
resolved "https://registry.yarnpkg.com/@serialport/bindings-interface/-/bindings-interface-1.2.1.tgz#1ee80b0951ef4e4fd8a5a186621feff046aa2faf"
|
||||
integrity sha512-63Dyqz2gtryRDDckFusOYqLYhR3Hq/M4sEdbF9i/VsvDb6T+tNVgoAKUZ+FMrXXKnCSu+hYbk+MTc0XQANszxw==
|
||||
|
||||
"@serialport/parser-byte-length@11.0.1":
|
||||
version "11.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-byte-length/-/parser-byte-length-11.0.1.tgz#26e4f3b2d66aaac0859b18a57c648d0eec78392a"
|
||||
integrity sha512-UsffR5b3NHwhjJzsWv5fZMkoq3wGNyUcRTA9jlu02w+2kMlBRJPzlPVB5szVX0VWUEqkCg+3VaU2XWuYr+uAUA==
|
||||
"@serialport/parser-byte-length@12.0.0":
|
||||
version "12.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-byte-length/-/parser-byte-length-12.0.0.tgz#18b1db5d1b3b9d8e1153eb2ab3975ac5445b844a"
|
||||
integrity sha512-0ei0txFAj+s6FTiCJFBJ1T2hpKkX8Md0Pu6dqMrYoirjPskDLJRgZGLqoy3/lnU1bkvHpnJO+9oJ3PB9v8rNlg==
|
||||
|
||||
"@serialport/parser-cctalk@11.0.1":
|
||||
version "11.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-cctalk/-/parser-cctalk-11.0.1.tgz#70c5ccc8fc5ebbe5c317005791155d3b2812efa6"
|
||||
integrity sha512-klzVQfRcC1m0SVDV2Dy9hHfwweO2/mUMUyuXK04FRkKHy5/AdETmk9KTVVVVfpDCSysvHoyQPwiDFq8ddwX3cQ==
|
||||
"@serialport/parser-cctalk@12.0.0":
|
||||
version "12.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-cctalk/-/parser-cctalk-12.0.0.tgz#f5c573b1ad2a9eed377aea9d70d264b36ca5dd5d"
|
||||
integrity sha512-0PfLzO9t2X5ufKuBO34DQKLXrCCqS9xz2D0pfuaLNeTkyGUBv426zxoMf3rsMRodDOZNbFblu3Ae84MOQXjnZw==
|
||||
|
||||
"@serialport/parser-delimiter@11.0.0":
|
||||
version "11.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-delimiter/-/parser-delimiter-11.0.0.tgz#e830c6bb49723d4446131277dc3243b502d09388"
|
||||
integrity sha512-aZLJhlRTjSmEwllLG7S4J8s8ctRAS0cbvCpO87smLvl3e4BgzbVgF6Z6zaJd3Aji2uSiYgfedCdNc4L6W+1E2g==
|
||||
|
||||
"@serialport/parser-delimiter@11.0.1":
|
||||
version "11.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-delimiter/-/parser-delimiter-11.0.1.tgz#c0bcc24d8060c6b352cbe6003ebe95671ad32221"
|
||||
integrity sha512-NAsYa3OFt2xEnj/+0BRkQP2qkRNbXBPEq6uFJEdNdzcTSF+BTRXkoIRrWBq3N6koovPqW6lnbxc/iJYe5AX/2Q==
|
||||
"@serialport/parser-delimiter@12.0.0":
|
||||
version "12.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-delimiter/-/parser-delimiter-12.0.0.tgz#43d3687f982829cc9b48ee0b21f2de80d0f19778"
|
||||
integrity sha512-gu26tVt5lQoybhorLTPsH2j2LnX3AOP2x/34+DUSTNaUTzu2fBXw+isVjQJpUBFWu6aeQRZw5bJol5X9Gxjblw==
|
||||
|
||||
"@serialport/parser-inter-byte-timeout@11.0.1":
|
||||
version "11.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-11.0.1.tgz#ed6d939eeb3bec94579fb3628dc6dcd0c9a3dd21"
|
||||
integrity sha512-PEFV9dSpW+ptH1rLhdB9KgE+rbJ/FvQiZz0mx+4jkv/Po4g3PNsEEMXfMW0aQVSFVsmitvmE0jHlhGjLv8GQEg==
|
||||
"@serialport/parser-inter-byte-timeout@12.0.0":
|
||||
version "12.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-12.0.0.tgz#1436f36fac92c950d290744e8ce56b2273a61d08"
|
||||
integrity sha512-GnCh8K0NAESfhCuXAt+FfBRz1Cf9CzIgXfp7SdMgXwrtuUnCC/yuRTUFWRvuzhYKoAo1TL0hhUo77SFHUH1T/w==
|
||||
|
||||
"@serialport/parser-packet-length@11.0.1":
|
||||
version "11.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-packet-length/-/parser-packet-length-11.0.1.tgz#9d7982a6eeaf9a5bdfe642ceb287f171ab2965b7"
|
||||
integrity sha512-KwPu8dsAI+eN4fnUS1vVmrOpUtBK4p9L9cHhwn5ZmfcvwvZMHp/J+IEu7xH0g5aM1/8QEoaql26BQP+sZ71NQQ==
|
||||
"@serialport/parser-packet-length@12.0.0":
|
||||
version "12.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-packet-length/-/parser-packet-length-12.0.0.tgz#3b5b8b47b6971c03dbc90ba61c0b8c5ec8bb0798"
|
||||
integrity sha512-p1hiCRqvGHHLCN/8ZiPUY/G0zrxd7gtZs251n+cfNTn+87rwcdUeu9Dps3Aadx30/sOGGFL6brIRGK4l/t7MuQ==
|
||||
|
||||
"@serialport/parser-readline@11.0.0":
|
||||
version "11.0.0"
|
||||
@@ -96,37 +96,37 @@
|
||||
dependencies:
|
||||
"@serialport/parser-delimiter" "11.0.0"
|
||||
|
||||
"@serialport/parser-readline@11.0.1":
|
||||
version "11.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-readline/-/parser-readline-11.0.1.tgz#e85805ae803c2dc507eefa390abec6a67ceef313"
|
||||
integrity sha512-wkJ3EI733+yhbi7eBWzs/qn8+cfIBcYQjfrILPNqslAy6VlgdKw+pHoblDFmg78GN0TqGUDSWlTJ65oLEPVp5Q==
|
||||
"@serialport/parser-readline@12.0.0":
|
||||
version "12.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-readline/-/parser-readline-12.0.0.tgz#50e992004d7a84d5a12e0b016adb9021d3a72fbb"
|
||||
integrity sha512-O7cywCWC8PiOMvo/gglEBfAkLjp/SENEML46BXDykfKP5mTPM46XMaX1L0waWU6DXJpBgjaL7+yX6VriVPbN4w==
|
||||
dependencies:
|
||||
"@serialport/parser-delimiter" "11.0.1"
|
||||
"@serialport/parser-delimiter" "12.0.0"
|
||||
|
||||
"@serialport/parser-ready@11.0.1":
|
||||
version "11.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-ready/-/parser-ready-11.0.1.tgz#bba01283a121880641e43c27193e6708fef2907c"
|
||||
integrity sha512-v/bvlgKhrNt+SVLSqlfXCO1HEinfRRMGnzqbpdVCgu2SiWIEenCLjs51JisKVYQoQFcXdP/EHZnzm7NPXHDlAg==
|
||||
"@serialport/parser-ready@12.0.0":
|
||||
version "12.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-ready/-/parser-ready-12.0.0.tgz#193495e10c5a663029bce074d4f84cad173aab82"
|
||||
integrity sha512-ygDwj3O4SDpZlbrRUraoXIoIqb8sM7aMKryGjYTIF0JRnKeB1ys8+wIp0RFMdFbO62YriUDextHB5Um5cKFSWg==
|
||||
|
||||
"@serialport/parser-regex@11.0.1":
|
||||
version "11.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-regex/-/parser-regex-11.0.1.tgz#7833ca6029c8c58eb39dd6fe984756cf09d769b7"
|
||||
integrity sha512-Lf3k7qibYqZ0+/wX3UA8fRng3WtQ+UyLpjQhG1COs6OBSq5/I5tYXczfhlrbA0gHo1qzgzr2V2t7m6FoBSc81Q==
|
||||
"@serialport/parser-regex@12.0.0":
|
||||
version "12.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-regex/-/parser-regex-12.0.0.tgz#ffbb2b113f3a50d7760fcdff5a4dd0f213ab8166"
|
||||
integrity sha512-dCAVh4P/pZrLcPv9NJ2mvPRBg64L5jXuiRxIlyxxdZGH4WubwXVXY/kBTihQmiAMPxbT3yshSX8f2+feqWsxqA==
|
||||
|
||||
"@serialport/parser-slip-encoder@11.0.1":
|
||||
version "11.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-slip-encoder/-/parser-slip-encoder-11.0.1.tgz#4ba0c335627e3d1203279a5f8a4c1af0c829b7fe"
|
||||
integrity sha512-l4mXsAGzpmPO7+uqKJqtPDW643irfnGEWbiy34FoYvuOs8n0SmiMtgQZFAtvlTNQCRWE2tykF/WG6K/McJthDw==
|
||||
"@serialport/parser-slip-encoder@12.0.0":
|
||||
version "12.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-slip-encoder/-/parser-slip-encoder-12.0.0.tgz#362099d4cd170afe8583f1fa607176fd4fc14f1d"
|
||||
integrity sha512-0APxDGR9YvJXTRfY+uRGhzOhTpU5akSH183RUcwzN7QXh8/1jwFsFLCu0grmAUfi+fItCkR+Xr1TcNJLR13VNA==
|
||||
|
||||
"@serialport/parser-spacepacket@11.0.1":
|
||||
version "11.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-spacepacket/-/parser-spacepacket-11.0.1.tgz#9e1c372f45433afb9a5dbec7b5a298c710b0455b"
|
||||
integrity sha512-Lq7fXoOsLOMo4XEt9HB31zV5LhrteXlsOy2o6r39TfRwU6x8Nou9jQMA9vW0a6yPra5zwsHIaNrA6tDOGj2Ozg==
|
||||
"@serialport/parser-spacepacket@12.0.0":
|
||||
version "12.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/parser-spacepacket/-/parser-spacepacket-12.0.0.tgz#347e34b0221f29eb252ebd341a0acfff920ad814"
|
||||
integrity sha512-dozONxhPC/78pntuxpz/NOtVps8qIc/UZzdc/LuPvVsqCoJXiRxOg6ZtCP/W58iibJDKPZPAWPGYeZt9DJxI+Q==
|
||||
|
||||
"@serialport/stream@11.0.1":
|
||||
version "11.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/stream/-/stream-11.0.1.tgz#ed40c66d517cfebf7185cd9c37ba0a08e76f88b2"
|
||||
integrity sha512-6pjyKRg8MQuvhGfg36+PF7K5eGNQcEswCSiAg1UPilqqFS8X1QnaiSCn5UFp/hCN+pAtlFjkOi0ztvtmSI7n4g==
|
||||
"@serialport/stream@12.0.0":
|
||||
version "12.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@serialport/stream/-/stream-12.0.0.tgz#047f97f780d92ddfc04303cb625e0f7e5a01a2bf"
|
||||
integrity sha512-9On64rhzuqKdOQyiYLYv2lQOh3TZU/D3+IWCR5gk0alPel2nwpp4YwDEGiUBfrQZEdQ6xww0PWkzqth4wqwX3Q==
|
||||
dependencies:
|
||||
"@serialport/bindings-interface" "1.2.2"
|
||||
debug "4.3.4"
|
||||
@@ -2307,10 +2307,10 @@ node-addon-api@3.1.0, node-addon-api@^3.0.2, node-addon-api@^3.1.0:
|
||||
resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz"
|
||||
integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==
|
||||
|
||||
node-addon-api@6.1.0:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76"
|
||||
integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==
|
||||
node-addon-api@7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.0.0.tgz#8136add2f510997b3b94814f4af1cce0b0e3962e"
|
||||
integrity sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==
|
||||
|
||||
node-addon-api@^4.0.0, node-addon-api@^4.3.0:
|
||||
version "4.3.0"
|
||||
@@ -3302,24 +3302,24 @@ serialport-binding-webserialapi@^1.0.3:
|
||||
"@serialport/binding-abstract" "^9.0.2"
|
||||
"@serialport/stream" "^9.0.2"
|
||||
|
||||
serialport@11.0.1:
|
||||
version "11.0.1"
|
||||
resolved "https://registry.yarnpkg.com/serialport/-/serialport-11.0.1.tgz#9c7aad877d38124a938a50f89eaef22c44825eae"
|
||||
integrity sha512-j/ntDuewAkqL6g5wKjwV2RTyLBL9cpob8aRd3yLAViYApTsJoYqRleyuzst0OboNTBjBsoxQ4YKYhuYHi1XViQ==
|
||||
serialport@12.0.0:
|
||||
version "12.0.0"
|
||||
resolved "https://registry.yarnpkg.com/serialport/-/serialport-12.0.0.tgz#136f0976042f57a2e99e886221a2109934531602"
|
||||
integrity sha512-AmH3D9hHPFmnF/oq/rvigfiAouAKyK/TjnrkwZRYSFZxNggJxwvbAbfYrLeuvq7ktUdhuHdVdSjj852Z55R+uA==
|
||||
dependencies:
|
||||
"@serialport/binding-mock" "10.2.2"
|
||||
"@serialport/bindings-cpp" "11.0.3"
|
||||
"@serialport/parser-byte-length" "11.0.1"
|
||||
"@serialport/parser-cctalk" "11.0.1"
|
||||
"@serialport/parser-delimiter" "11.0.1"
|
||||
"@serialport/parser-inter-byte-timeout" "11.0.1"
|
||||
"@serialport/parser-packet-length" "11.0.1"
|
||||
"@serialport/parser-readline" "11.0.1"
|
||||
"@serialport/parser-ready" "11.0.1"
|
||||
"@serialport/parser-regex" "11.0.1"
|
||||
"@serialport/parser-slip-encoder" "11.0.1"
|
||||
"@serialport/parser-spacepacket" "11.0.1"
|
||||
"@serialport/stream" "11.0.1"
|
||||
"@serialport/bindings-cpp" "12.0.1"
|
||||
"@serialport/parser-byte-length" "12.0.0"
|
||||
"@serialport/parser-cctalk" "12.0.0"
|
||||
"@serialport/parser-delimiter" "12.0.0"
|
||||
"@serialport/parser-inter-byte-timeout" "12.0.0"
|
||||
"@serialport/parser-packet-length" "12.0.0"
|
||||
"@serialport/parser-readline" "12.0.0"
|
||||
"@serialport/parser-ready" "12.0.0"
|
||||
"@serialport/parser-regex" "12.0.0"
|
||||
"@serialport/parser-slip-encoder" "12.0.0"
|
||||
"@serialport/parser-spacepacket" "12.0.0"
|
||||
"@serialport/stream" "12.0.0"
|
||||
debug "4.3.4"
|
||||
|
||||
set-blocking@^2.0.0, set-blocking@~2.0.0:
|
||||
|
402
locale/af-ZA.po
402
locale/af-ZA.po
File diff suppressed because it is too large
Load Diff
400
locale/app.pot
400
locale/app.pot
File diff suppressed because it is too large
Load Diff
402
locale/bg-BG.po
402
locale/bg-BG.po
File diff suppressed because it is too large
Load Diff
430
locale/cs-CZ.po
430
locale/cs-CZ.po
File diff suppressed because it is too large
Load Diff
402
locale/da-DK.po
402
locale/da-DK.po
File diff suppressed because it is too large
Load Diff
404
locale/de-DE.po
404
locale/de-DE.po
File diff suppressed because it is too large
Load Diff
402
locale/en-GB.po
402
locale/en-GB.po
File diff suppressed because it is too large
Load Diff
402
locale/es-ES.po
402
locale/es-ES.po
File diff suppressed because it is too large
Load Diff
418
locale/fr-FR.po
418
locale/fr-FR.po
File diff suppressed because it is too large
Load Diff
402
locale/hr-HR.po
402
locale/hr-HR.po
File diff suppressed because it is too large
Load Diff
402
locale/id-ID.po
402
locale/id-ID.po
File diff suppressed because it is too large
Load Diff
430
locale/it-IT.po
430
locale/it-IT.po
File diff suppressed because it is too large
Load Diff
438
locale/ja-JP.po
438
locale/ja-JP.po
File diff suppressed because it is too large
Load Diff
402
locale/ko-KR.po
402
locale/ko-KR.po
File diff suppressed because it is too large
Load Diff
402
locale/pl-PL.po
402
locale/pl-PL.po
File diff suppressed because it is too large
Load Diff
402
locale/pt-BR.po
402
locale/pt-BR.po
File diff suppressed because it is too large
Load Diff
402
locale/pt-PT.po
402
locale/pt-PT.po
File diff suppressed because it is too large
Load Diff
402
locale/ru-RU.po
402
locale/ru-RU.po
File diff suppressed because it is too large
Load Diff
430
locale/sv-SE.po
430
locale/sv-SE.po
File diff suppressed because it is too large
Load Diff
402
locale/uk-UA.po
402
locale/uk-UA.po
File diff suppressed because it is too large
Load Diff
402
locale/zh-CN.po
402
locale/zh-CN.po
File diff suppressed because it is too large
Load Diff
438
locale/zh-TW.po
438
locale/zh-TW.po
File diff suppressed because it is too large
Load Diff
@@ -115,8 +115,5 @@
|
||||
"i18n:push": "crowdin push"
|
||||
},
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"dotenv": "^16.3.1"
|
||||
}
|
||||
"private": true
|
||||
}
|
||||
|
@@ -18,7 +18,7 @@ process.env.APPLE_APP_SPECIFIC_PASSWORD ??= process.env.APPSTORE_PASSWORD
|
||||
|
||||
builder({
|
||||
dir: true,
|
||||
mac: ['dmg', 'zip'],
|
||||
mac: ['pkg', 'zip'],
|
||||
x64: process.env.ARCH === 'x86_64',
|
||||
arm64: process.env.ARCH === 'arm64',
|
||||
config: {
|
||||
|
@@ -18,18 +18,17 @@ export class SelectorModalComponent<T> {
|
||||
@Input() selectedIndex = 0
|
||||
hasGroups = false
|
||||
@ViewChildren('item') itemChildren: QueryList<ElementRef>
|
||||
private preventEdit: boolean
|
||||
|
||||
constructor (public modalInstance: NgbActiveModal) {
|
||||
this.preventEdit = false
|
||||
}
|
||||
constructor (
|
||||
public modalInstance: NgbActiveModal,
|
||||
) { }
|
||||
|
||||
ngOnInit (): void {
|
||||
this.onFilterChange()
|
||||
this.hasGroups = this.options.some(x => x.group)
|
||||
}
|
||||
|
||||
@HostListener('keydown', ['$event']) onKeyDown (event: KeyboardEvent): void {
|
||||
@HostListener('keydown', ['$event']) onKeyUp (event: KeyboardEvent): void {
|
||||
if (event.key === 'Escape') {
|
||||
this.close()
|
||||
} else if (this.filteredOptions.length > 0) {
|
||||
@@ -47,14 +46,10 @@ export class SelectorModalComponent<T> {
|
||||
event.preventDefault()
|
||||
} else if (event.key === 'Enter') {
|
||||
this.selectOption(this.filteredOptions[this.selectedIndex])
|
||||
} else if (event.key === 'Backspace' && !this.preventEdit) {
|
||||
if (this.canEditSelected()) {
|
||||
event.preventDefault()
|
||||
this.filter = this.filteredOptions[this.selectedIndex].freeInputEquivalent!
|
||||
this.onFilterChange()
|
||||
} else {
|
||||
this.preventEdit = true
|
||||
}
|
||||
} else if (event.key === 'Backspace' && this.canEditSelected()) {
|
||||
event.preventDefault()
|
||||
this.filter = this.filteredOptions[this.selectedIndex].freeInputEquivalent!
|
||||
this.onFilterChange()
|
||||
}
|
||||
|
||||
this.selectedIndex = (this.selectedIndex + this.filteredOptions.length) % this.filteredOptions.length
|
||||
@@ -66,12 +61,6 @@ export class SelectorModalComponent<T> {
|
||||
}
|
||||
}
|
||||
|
||||
@HostListener('keyup', ['$event']) onKeyUp (event: KeyboardEvent): void {
|
||||
if (event.key === 'Backspace' && this.preventEdit) {
|
||||
this.preventEdit = false
|
||||
}
|
||||
}
|
||||
|
||||
onFilterChange (): void {
|
||||
const f = this.filter.trim().toLowerCase()
|
||||
if (!f) {
|
||||
|
@@ -1,10 +1,10 @@
|
||||
.container.mt-3.mb-3
|
||||
.mb-3
|
||||
.container.mt-5.mb-5
|
||||
.mb-4
|
||||
.tabby-logo
|
||||
h1.tabby-title Tabby
|
||||
sup α
|
||||
|
||||
.text-center.mb-3(translate) Thank you for downloading Tabby!
|
||||
.text-center.mb-5(translate) Thank you for downloading Tabby!
|
||||
|
||||
.form-line
|
||||
.header
|
||||
@@ -16,54 +16,13 @@
|
||||
*ngFor='let lang of allLanguages'
|
||||
) {{lang.name}}
|
||||
|
||||
.form-line
|
||||
.header
|
||||
.title(translate) Switch color scheme
|
||||
|
||||
.btn-group(role='group')
|
||||
input.btn-check(
|
||||
type='radio',
|
||||
name='colorSchemeMode',
|
||||
[(ngModel)]='config.store.appearance.colorSchemeMode',
|
||||
(ngModelChange)='config.save()',
|
||||
id='colorSchemeModeAuto',
|
||||
[value]='"auto"'
|
||||
)
|
||||
label.btn.btn-secondary(
|
||||
for='colorSchemeModeAuto'
|
||||
)
|
||||
span(translate) From system
|
||||
input.btn-check(
|
||||
type='radio',
|
||||
name='colorSchemeMode',
|
||||
[(ngModel)]='config.store.appearance.colorSchemeMode',
|
||||
(ngModelChange)='config.save()',
|
||||
id='colorSchemeModeDark',
|
||||
[value]='"dark"'
|
||||
)
|
||||
label.btn.btn-secondary(
|
||||
for='colorSchemeModeDark'
|
||||
)
|
||||
span(translate) Always dark
|
||||
input.btn-check(
|
||||
type='radio',
|
||||
name='colorSchemeMode',
|
||||
[(ngModel)]='config.store.appearance.colorSchemeMode',
|
||||
(ngModelChange)='config.save()',
|
||||
id='colorSchemeModeLight',
|
||||
[value]='"light"'
|
||||
)
|
||||
label.btn.btn-secondary(
|
||||
for='colorSchemeModeLight'
|
||||
)
|
||||
span(translate) Always light
|
||||
|
||||
.form-line
|
||||
.header
|
||||
.title(translate) Enable analytics
|
||||
.description(translate) Help track the number of Tabby installs across the world!
|
||||
toggle([(ngModel)]='config.store.enableAnalytics')
|
||||
|
||||
|
||||
.form-line
|
||||
.header
|
||||
.title(translate) Enable global hotkey (Ctrl-Space)
|
||||
|
@@ -6,8 +6,3 @@
|
||||
max-height: 100%;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.tabby-logo {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
|
@@ -96,3 +96,5 @@ hotkeys:
|
||||
- '⌘-Shift-E'
|
||||
command-selector:
|
||||
- '⌘-Shift-P'
|
||||
appearance:
|
||||
vibrancy: true
|
||||
|
@@ -19,7 +19,6 @@ appearance:
|
||||
vibrancyType: 'blur'
|
||||
lastTabClosesWindow: false
|
||||
spaciness: 1
|
||||
colorSchemeMode: 'dark'
|
||||
terminal:
|
||||
showBuiltinProfiles: true
|
||||
showRecentProfiles: 3
|
||||
|
@@ -398,9 +398,7 @@ export class ConfigService {
|
||||
config.version = 5
|
||||
}
|
||||
if (config.version < 6) {
|
||||
if (config.ssh?.clearServiceMessagesOnConnect === false) {
|
||||
config.profileDefaults ??= {}
|
||||
config.profileDefaults.ssh ??= {}
|
||||
if (config.ssh.clearServiceMessagesOnConnect === false) {
|
||||
config.profileDefaults.ssh.clearServiceMessagesOnConnect = false
|
||||
delete config.ssh?.clearServiceMessagesOnConnect
|
||||
}
|
||||
|
@@ -115,11 +115,10 @@ export class ProfilesService {
|
||||
async writeProfile (profile: PartialProfile<Profile>): Promise<void> {
|
||||
const cProfile = this.config.store.profiles.find(p => p.id === profile.id)
|
||||
if (cProfile) {
|
||||
// Fully replace the config
|
||||
for (const k in cProfile) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
||||
delete cProfile[k]
|
||||
if (!profile.group) {
|
||||
delete cProfile.group
|
||||
}
|
||||
|
||||
Object.assign(cProfile, profile)
|
||||
}
|
||||
}
|
||||
|
@@ -3,7 +3,7 @@ import { Subject, Observable } from 'rxjs'
|
||||
import * as Color from 'color'
|
||||
import { ConfigService } from '../services/config.service'
|
||||
import { Theme } from '../api/theme'
|
||||
import { PlatformService, PlatformTheme } from '../api/platform'
|
||||
import { PlatformService } from '../api/platform'
|
||||
import { NewTheme } from '../theme'
|
||||
|
||||
@Injectable({ providedIn: 'root' })
|
||||
@@ -194,14 +194,7 @@ export class ThemesService {
|
||||
|
||||
/// @hidden
|
||||
_getActiveColorScheme (): any {
|
||||
let theme: PlatformTheme = 'dark'
|
||||
if (this.config.store.appearance.colorSchemeMode === 'light') {
|
||||
theme = 'light'
|
||||
} else if (this.config.store.appearance.colorSchemeMode === 'auto') {
|
||||
theme = this.platform.getTheme()
|
||||
}
|
||||
|
||||
if (theme === 'light') {
|
||||
if (this.platform.getTheme() === 'light') {
|
||||
return this.config.store.terminal.lightColorScheme
|
||||
} else {
|
||||
return this.config.store.terminal.colorScheme
|
||||
|
@@ -11,7 +11,6 @@ import { ElectronHostWindow } from './hostWindow.service'
|
||||
import { ShellIntegrationService } from './shellIntegration.service'
|
||||
import { ElectronHostAppService } from './hostApp.service'
|
||||
import { PlatformTheme } from '../../../tabby-core/src/api/platform'
|
||||
import { configPath } from '../../../app/lib/config'
|
||||
const fontManager = require('fontmanager-redux') // eslint-disable-line
|
||||
|
||||
/* eslint-disable block-scoped-var */
|
||||
@@ -37,7 +36,7 @@ export class ElectronPlatformService extends PlatformService {
|
||||
private translate: TranslateService,
|
||||
) {
|
||||
super()
|
||||
this.configPath = configPath
|
||||
this.configPath = path.join(electron.app.getPath('userData'), 'config.yaml')
|
||||
|
||||
electron.ipcRenderer.on('host:display-metrics-changed', () => {
|
||||
this.zone.run(() => this.displayMetricsChanged.next())
|
||||
|
@@ -87,11 +87,6 @@ ul.nav-tabs(ngbNav, #nav='ngbNav')
|
||||
.description(translate) Sends data one byte at a time
|
||||
toggle([(ngModel)]='profile.options.slowSend')
|
||||
|
||||
li(ngbNavItem)
|
||||
a(ngbNavLink, translate) Colors
|
||||
ng-template(ngbNavContent)
|
||||
color-scheme-selector([(model)]='profile.terminalColorScheme')
|
||||
|
||||
li(ngbNavItem)
|
||||
a(ngbNavLink, translate) Login scripts
|
||||
ng-template(ngbNavContent)
|
||||
|
@@ -70,24 +70,25 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
|
||||
return
|
||||
}
|
||||
}
|
||||
const baseProfile: PartialProfile<Profile> = deepClone(base)
|
||||
delete baseProfile.id
|
||||
const profile: PartialProfile<Profile> = deepClone(base)
|
||||
delete profile.id
|
||||
if (base.isTemplate) {
|
||||
baseProfile.name = ''
|
||||
profile.name = ''
|
||||
} else if (!base.isBuiltin) {
|
||||
baseProfile.name = this.translate.instant('{name} copy', base)
|
||||
profile.name = this.translate.instant('{name} copy', base)
|
||||
}
|
||||
baseProfile.isBuiltin = false
|
||||
baseProfile.isTemplate = false
|
||||
const result = await this.showProfileEditModal(baseProfile)
|
||||
profile.isBuiltin = false
|
||||
profile.isTemplate = false
|
||||
const result = await this.showProfileEditModal(profile)
|
||||
if (!result) {
|
||||
return
|
||||
}
|
||||
if (!result.name) {
|
||||
const cfgProxy = this.profilesService.getConfigProxyForProfile(result)
|
||||
result.name = this.profilesService.providerForProfile(result)?.getSuggestedName(cfgProxy) ?? this.translate.instant('{name} copy', base)
|
||||
Object.assign(profile, result)
|
||||
if (!profile.name) {
|
||||
const cfgProxy = this.profilesService.getConfigProxyForProfile(profile)
|
||||
profile.name = this.profilesService.providerForProfile(profile)?.getSuggestedName(cfgProxy) ?? this.translate.instant('{name} copy', base)
|
||||
}
|
||||
await this.profilesService.newProfile(result)
|
||||
await this.profilesService.newProfile(profile)
|
||||
await this.config.save()
|
||||
}
|
||||
|
||||
@@ -96,7 +97,8 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
|
||||
if (!result) {
|
||||
return
|
||||
}
|
||||
await this.profilesService.writeProfile(result)
|
||||
Object.assign(profile, result)
|
||||
await this.profilesService.writeProfile(profile)
|
||||
await this.config.save()
|
||||
}
|
||||
|
||||
@@ -117,6 +119,12 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
|
||||
return null
|
||||
}
|
||||
|
||||
// Fully replace the config
|
||||
for (const k in profile) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
||||
delete profile[k]
|
||||
}
|
||||
|
||||
result.type = provider.id
|
||||
return result
|
||||
}
|
||||
@@ -154,7 +162,8 @@ export class ProfilesSettingsTabComponent extends BaseComponent {
|
||||
if (!result) {
|
||||
return
|
||||
}
|
||||
await this.profilesService.writeProfileGroup(ProfilesSettingsTabComponent.collapsableIntoPartialProfileGroup(result))
|
||||
Object.assign(group, result)
|
||||
await this.profilesService.writeProfileGroup(ProfilesSettingsTabComponent.collapsableIntoPartialProfileGroup(group))
|
||||
await this.config.save()
|
||||
}
|
||||
|
||||
|
@@ -1,15 +0,0 @@
|
||||
h4.modal-header.m-0.pb-0 {{title}}
|
||||
.modal-body
|
||||
.input-group.w-100
|
||||
input.form-control(
|
||||
type='text',
|
||||
[(ngModel)]='secret.value',
|
||||
disabled
|
||||
)
|
||||
button.btn.btn-secondary(
|
||||
(click)='copySecret()'
|
||||
)
|
||||
i.fas.fa-copy
|
||||
|
||||
.modal-footer
|
||||
button.btn.btn-primary((click)='close()', translate) Close
|
@@ -1,27 +0,0 @@
|
||||
import { Component, Input } from '@angular/core'
|
||||
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'
|
||||
import { NotificationsService, VaultFileSecret } from 'tabby-core'
|
||||
|
||||
/** @hidden */
|
||||
@Component({
|
||||
templateUrl: './showSecretModal.component.pug',
|
||||
})
|
||||
export class ShowSecretModalComponent {
|
||||
@Input() title: string
|
||||
@Input() secret: VaultFileSecret
|
||||
|
||||
constructor (
|
||||
public modalInstance: NgbActiveModal,
|
||||
private notifications: NotificationsService,
|
||||
) { }
|
||||
|
||||
close (): void {
|
||||
this.modalInstance.dismiss()
|
||||
}
|
||||
|
||||
copySecret (): void {
|
||||
navigator.clipboard.writeText(this.secret.value)
|
||||
// Show a notification
|
||||
this.notifications.info('Copied to clipboard')
|
||||
}
|
||||
}
|
@@ -32,9 +32,6 @@ div(*ngIf='vault.isEnabled()')
|
||||
button.btn.btn-link(ngbDropdownToggle)
|
||||
i.fas.fa-ellipsis-v
|
||||
div(ngbDropdownMenu)
|
||||
button(ngbDropdownItem, (click)='showSecret(secret)')
|
||||
i.fas.fa-fw.fa-eye
|
||||
span(translate) Show
|
||||
button(
|
||||
ngbDropdownItem,
|
||||
*ngIf='secret.type === VAULT_SECRET_TYPE_FILE',
|
||||
|
@@ -3,7 +3,6 @@ import { Component, HostBinding } from '@angular/core'
|
||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
|
||||
import { BaseComponent, VaultService, VaultSecret, Vault, PlatformService, ConfigService, VAULT_SECRET_TYPE_FILE, PromptModalComponent, VaultFileSecret, TranslateService } from 'tabby-core'
|
||||
import { SetVaultPassphraseModalComponent } from './setVaultPassphraseModal.component'
|
||||
import { ShowSecretModalComponent } from './showSecretModal.component'
|
||||
|
||||
|
||||
/** @hidden */
|
||||
@@ -98,16 +97,6 @@ export class VaultSettingsTabComponent extends BaseComponent {
|
||||
return this.translate.instant('Unknown secret of type {type} for {key}', { type: secret.type, key: JSON.stringify(secret.key) })
|
||||
}
|
||||
|
||||
showSecret (secret: VaultSecret) {
|
||||
if (!this.vaultContents) {
|
||||
return
|
||||
}
|
||||
const modal = this.ngbModal.open(ShowSecretModalComponent)
|
||||
modal.componentInstance.title = this.getSecretLabel(secret)
|
||||
modal.componentInstance.secret = secret
|
||||
|
||||
}
|
||||
|
||||
removeSecret (secret: VaultSecret) {
|
||||
if (!this.vaultContents) {
|
||||
return
|
||||
|
@@ -19,7 +19,6 @@ import { SetVaultPassphraseModalComponent } from './components/setVaultPassphras
|
||||
import { ProfilesSettingsTabComponent } from './components/profilesSettingsTab.component'
|
||||
import { ReleaseNotesComponent } from './components/releaseNotesTab.component'
|
||||
import { ConfigSyncSettingsTabComponent } from './components/configSyncSettingsTab.component'
|
||||
import { ShowSecretModalComponent } from './components/showSecretModal.component'
|
||||
|
||||
import { ConfigSyncService } from './services/configSync.service'
|
||||
|
||||
@@ -62,7 +61,6 @@ import { HotkeySettingsTabProvider, WindowSettingsTabProvider, VaultSettingsTabP
|
||||
WindowSettingsTabComponent,
|
||||
ConfigSyncSettingsTabComponent,
|
||||
ReleaseNotesComponent,
|
||||
ShowSecretModalComponent,
|
||||
],
|
||||
})
|
||||
export default class SettingsModule {
|
||||
|
@@ -160,12 +160,10 @@ ul.nav-tabs(ngbNav, #nav='ngbNav')
|
||||
type='radio',
|
||||
name='auth',
|
||||
[(ngModel)]='profile.options.auth',
|
||||
id='auth"keyboardInteractive"',
|
||||
id='auth"keyboardInteractive"'
|
||||
[value]='"keyboardInteractive"'
|
||||
)
|
||||
label.btn.btn-secondary(
|
||||
for='auth"keyboardInteractive"'
|
||||
)
|
||||
label.btn.btn-secondary(ngbButtonLabel)
|
||||
i.far.fa-keyboard
|
||||
.m-0(translate) Interactive
|
||||
|
||||
|
@@ -28,15 +28,15 @@
|
||||
"ngx-colors": "^3.4.0",
|
||||
"patch-package": "^6.5.0",
|
||||
"runes": "^0.4.2",
|
||||
"xterm": "^5.3.0",
|
||||
"xterm-addon-canvas": "^0.5.0",
|
||||
"xterm-addon-fit": "^0.8.0",
|
||||
"xterm-addon-image": "^0.5.0",
|
||||
"xterm-addon-ligatures": "^0.7.0",
|
||||
"xterm-addon-search": "^0.13.0",
|
||||
"xterm-addon-serialize": "^0.11.0",
|
||||
"xterm-addon-unicode11": "^0.6.0",
|
||||
"xterm-addon-webgl": "^0.16.0",
|
||||
"xterm": "^5.2.0",
|
||||
"xterm-addon-canvas": "^0.4.0",
|
||||
"xterm-addon-fit": "^0.7.0",
|
||||
"xterm-addon-image": "^0.4.1",
|
||||
"xterm-addon-ligatures": "^0.6.0",
|
||||
"xterm-addon-search": "^0.12.0",
|
||||
"xterm-addon-serialize": "^0.10.0",
|
||||
"xterm-addon-unicode11": "^0.5.0",
|
||||
"xterm-addon-webgl": "^0.15.0",
|
||||
"zmodem.js": "^0.1.9"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
@@ -340,26 +340,7 @@ export class BaseTerminalTabComponent<P extends BaseTerminalProfile> extends Bas
|
||||
this.configure()
|
||||
})
|
||||
|
||||
// Check if the the WebGL renderer is compatible with xterm.js:
|
||||
// - https://github.com/Eugeny/tabby/issues/8884
|
||||
// - https://github.com/microsoft/vscode/issues/190195
|
||||
// - https://github.com/xtermjs/xterm.js/issues/4665
|
||||
// - https://bugs.chromium.org/p/chromium/issues/detail?id=1476475
|
||||
//
|
||||
// Inspired by https://github.com/microsoft/vscode/pull/191795
|
||||
|
||||
let enable8884Workarround = false
|
||||
const checkCanvas = document.createElement('canvas')
|
||||
const checkGl = checkCanvas.getContext('webgl2')
|
||||
const debugInfo = checkGl?.getExtension('WEBGL_debug_renderer_info')
|
||||
if (checkGl && debugInfo) {
|
||||
const renderer = checkGl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL)
|
||||
if (renderer.startsWith('ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero)')) {
|
||||
enable8884Workarround = true
|
||||
}
|
||||
}
|
||||
|
||||
const cls: new (..._) => Frontend = enable8884Workarround ? XTermFrontend : {
|
||||
const cls: new (..._) => Frontend = {
|
||||
xterm: XTermFrontend,
|
||||
'xterm-webgl': XTermWebGLFrontend,
|
||||
}[this.config.store.terminal.frontend] ?? XTermFrontend
|
||||
|
@@ -46,9 +46,7 @@ export abstract class ConnectableTerminalTabComponent<P extends ConnectableTermi
|
||||
}
|
||||
|
||||
protected onFrontendReady (): void {
|
||||
this.initializeSession().then(() => {
|
||||
this.clearServiceMessagesOnConnect()
|
||||
})
|
||||
this.initializeSession()
|
||||
super.onFrontendReady()
|
||||
}
|
||||
|
||||
@@ -59,6 +57,9 @@ export abstract class ConnectableTerminalTabComponent<P extends ConnectableTermi
|
||||
async initializeSession (): Promise<void> {
|
||||
this.reconnectOffered = false
|
||||
this.isDisconnectedByHand = false
|
||||
if (this.profile.clearServiceMessagesOnConnect) {
|
||||
this.frontend?.clear()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -118,14 +119,7 @@ export abstract class ConnectableTerminalTabComponent<P extends ConnectableTermi
|
||||
async reconnect (): Promise<void> {
|
||||
this.session?.destroy()
|
||||
await this.initializeSession()
|
||||
this.clearServiceMessagesOnConnect()
|
||||
this.session?.releaseInitialDataBuffer()
|
||||
}
|
||||
|
||||
private clearServiceMessagesOnConnect (): void {
|
||||
if (this.profile.clearServiceMessagesOnConnect && this.session?.open) {
|
||||
this.frontend?.clear()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,47 +1,5 @@
|
||||
h3.mb-3(translate) Color schemes
|
||||
|
||||
.form-line.mb-4
|
||||
.header
|
||||
.title(translate) Switch color scheme
|
||||
|
||||
.btn-group(role='group')
|
||||
input.btn-check(
|
||||
type='radio',
|
||||
name='colorSchemeMode',
|
||||
[(ngModel)]='config.store.appearance.colorSchemeMode',
|
||||
(ngModelChange)='config.save()',
|
||||
id='colorSchemeModeAuto',
|
||||
[value]='"auto"'
|
||||
)
|
||||
label.btn.btn-secondary(
|
||||
for='colorSchemeModeAuto'
|
||||
)
|
||||
span(translate) From system
|
||||
input.btn-check(
|
||||
type='radio',
|
||||
name='colorSchemeMode',
|
||||
[(ngModel)]='config.store.appearance.colorSchemeMode',
|
||||
(ngModelChange)='config.save()',
|
||||
id='colorSchemeModeDark',
|
||||
[value]='"dark"'
|
||||
)
|
||||
label.btn.btn-secondary(
|
||||
for='colorSchemeModeDark'
|
||||
)
|
||||
span(translate) Always dark
|
||||
input.btn-check(
|
||||
type='radio',
|
||||
name='colorSchemeMode',
|
||||
[(ngModel)]='config.store.appearance.colorSchemeMode',
|
||||
(ngModelChange)='config.save()',
|
||||
id='colorSchemeModeLight',
|
||||
[value]='"light"'
|
||||
)
|
||||
label.btn.btn-secondary(
|
||||
for='colorSchemeModeLight'
|
||||
)
|
||||
span(translate) Always light
|
||||
|
||||
ul.nav-tabs(ngbNav, #nav='ngbNav', [activeId]='defaultTab')
|
||||
li(ngbNavItem='dark')
|
||||
a(ngbNavLink, translate) Dark mode
|
||||
|
@@ -1,5 +1,5 @@
|
||||
import { Component } from '@angular/core'
|
||||
import { ConfigService, PlatformService } from 'tabby-core'
|
||||
import { PlatformService } from 'tabby-core'
|
||||
|
||||
/** @hidden */
|
||||
@Component({
|
||||
@@ -10,7 +10,6 @@ export class ColorSchemeSettingsTabComponent {
|
||||
|
||||
constructor (
|
||||
platform: PlatformService,
|
||||
public config: ConfigService,
|
||||
) {
|
||||
this.defaultTab = platform.getTheme()
|
||||
}
|
||||
|
@@ -464,53 +464,53 @@ xtend@^4.0.0:
|
||||
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
|
||||
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
|
||||
|
||||
xterm-addon-canvas@^0.5.0:
|
||||
version "0.5.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.5.0.tgz#95d056cec6da42a51b2c47746a011409020c388c"
|
||||
integrity sha512-QOo/eZCMrCleAgMimfdbaZCgmQRWOml63Ued6RwQ+UTPvQj3Av9QKx3xksmyYrDGRO/AVRXa9oNuzlYvLdmoLQ==
|
||||
xterm-addon-canvas@^0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-canvas/-/xterm-addon-canvas-0.4.0.tgz#a6ee6a56deb0c495fcef29afe6d94b7119a0f334"
|
||||
integrity sha512-iTC8CdjX9+hGX7jiEuiDMXzHsY/FKJdVnbjep5xjRXNu7RKOk15xuecIkJ7HZORqMVPpr4DGS3jyd9XUoBuxqw==
|
||||
|
||||
xterm-addon-fit@^0.8.0:
|
||||
version "0.8.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-fit/-/xterm-addon-fit-0.8.0.tgz#48ca99015385141918f955ca7819e85f3691d35f"
|
||||
integrity sha512-yj3Np7XlvxxhYF/EJ7p3KHaMt6OdwQ+HDu573Vx1lRXsVxOcnVJs51RgjZOouIZOczTsskaS+CpXspK81/DLqw==
|
||||
|
||||
xterm-addon-image@^0.5.0:
|
||||
version "0.5.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-image/-/xterm-addon-image-0.5.0.tgz#3c9bb332a3de55ab200dbefd3411e3b0d985314f"
|
||||
integrity sha512-bWXUBeDzhisYh0clVKx4JgQrZjpn+/QRMRwNsfnRpjCMhgmZ+SL3Bivktd7q03O4uKMMcAOe6bSmppwP9/um0Q==
|
||||
|
||||
xterm-addon-ligatures@^0.7.0:
|
||||
xterm-addon-fit@^0.7.0:
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-ligatures/-/xterm-addon-ligatures-0.7.0.tgz#28e24744fc06e83b0e3dad51f96823b036714ab3"
|
||||
integrity sha512-5HXKCN5vB8KkqLIloItZkYAwMWF4Y2yOQsc4oFUXOjV3GnZskZpH0W+8rJH+80wxLNym7OMpdmg3a/Vd/+owDg==
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-fit/-/xterm-addon-fit-0.7.0.tgz#b8ade6d96e63b47443862088f6670b49fb752c6a"
|
||||
integrity sha512-tQgHGoHqRTgeROPnvmtEJywLKoC/V9eNs4bLLz7iyJr1aW/QFzRwfd3MGiJ6odJd9xEfxcW36/xRU47JkD5NKQ==
|
||||
|
||||
xterm-addon-image@^0.4.1:
|
||||
version "0.4.1"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-image/-/xterm-addon-image-0.4.1.tgz#ec8f750af48005ad641c1128fa1f551ac198472a"
|
||||
integrity sha512-iJpYyvtbHg4oXSv+D6J73ZfCjnboZpbZ567MLplXDBlYSUknv3kvPTfVMPJATV7Zsx7+bDgyXboCh9vsDf/m/w==
|
||||
|
||||
xterm-addon-ligatures@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-ligatures/-/xterm-addon-ligatures-0.6.0.tgz#c51801b0150c62ac1165654757b55c796457d195"
|
||||
integrity sha512-DxiYCXXYEpnwr8li4/QhG64exjrLX1nHBfNNfrQgx5e8Z9tK2SjWKpxI6PZEy++8+YdL1F7VjWI4aKOaDt2VVw==
|
||||
dependencies:
|
||||
font-finder "^1.1.0"
|
||||
font-ligatures "^1.4.1"
|
||||
|
||||
xterm-addon-search@^0.13.0:
|
||||
version "0.13.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.13.0.tgz#21286f4db48aa949fbefce34bb8bc0c9d3cec627"
|
||||
integrity sha512-sDUwG4CnqxUjSEFh676DlS3gsh3XYCzAvBPSvJ5OPgF3MRL3iHLPfsb06doRicLC2xXNpeG2cWk8x1qpESWJMA==
|
||||
xterm-addon-search@^0.12.0:
|
||||
version "0.12.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.12.0.tgz#2ef8f56aecf699a3989223a1260f1e079d7c74e2"
|
||||
integrity sha512-hXAuO7Ts2+Jf9K8mZrUx8IFd7c/Flgks/jyqA1L4reymyfmXtcsd+WDLel8R9Tgy2CLyKABVBP09/Ua/FmXcvg==
|
||||
|
||||
xterm-addon-serialize@^0.11.0:
|
||||
version "0.11.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.11.0.tgz#e8b34a3618750a9e132562a6459627059c031226"
|
||||
integrity sha512-2CNDnmLdLkNWfsxNFkGsI5FE9W/BbsMzeOrbu59yNqH9L6k1gmL+Ab6VXxEp2NQUJSzaiqi6t0nFR5k5EDkVIg==
|
||||
xterm-addon-serialize@^0.10.0:
|
||||
version "0.10.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.10.0.tgz#c16a8cb456dcbd2f008fa83d15ce1d4721892e01"
|
||||
integrity sha512-Syp9eSBypn70iAczcJ+kAi0foQIepAvFS6x53JwI4XylTBHn87Ep9fovslhwmUV3rwH2yMnpdDjXH5W/whx2lA==
|
||||
|
||||
xterm-addon-unicode11@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.6.0.tgz#733fd17bdf2ae6e818493db1d41241c999de0786"
|
||||
integrity sha512-5pkb8YoS/deRtNqQRw8t640mu+Ga8B2MG3RXGQu0bwgcfr8XiXIRI880TWM49ICAHhTmnOLPzIIBIjEnCq7k2A==
|
||||
xterm-addon-unicode11@^0.5.0:
|
||||
version "0.5.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.5.0.tgz#41c0d96acc1e3bb6c6596eee64e163b6bca74be7"
|
||||
integrity sha512-Jm4/g4QiTxiKiTbYICQgC791ubhIZyoIwxAIgOW8z8HWFNY+lwk+dwaKEaEeGBfM48Vk8fklsUW9u/PlenYEBg==
|
||||
|
||||
xterm-addon-webgl@^0.16.0:
|
||||
version "0.16.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.16.0.tgz#9872d08a64136f893b27ef9a6412136d3bf563c4"
|
||||
integrity sha512-E8cq1AiqNOv0M/FghPT+zPAEnvIQRDbAbkb04rRYSxUym69elPWVJ4sv22FCLBqM/3LcrmBLl/pELnBebVFKgA==
|
||||
xterm-addon-webgl@^0.15.0:
|
||||
version "0.15.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.15.0.tgz#c10f93ca619524f5a470eaac44258bab0ae8e3c7"
|
||||
integrity sha512-ZLcqogMFHr4g/YRhcCh3xE8tTklnyut/M+O/XhVsFBRB/YCvYhPdLQ5/AQk54V0wjWAQpa8CF3W8DVR9OqyMCg==
|
||||
|
||||
xterm@^5.3.0:
|
||||
version "5.3.0"
|
||||
resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.3.0.tgz#867daf9cc826f3d45b5377320aabd996cb0fce46"
|
||||
integrity sha512-8QqjlekLUFTrU6x7xck1MsPzPA571K5zNqWm0M0oroYEWVOptZ0+ubQSkQ3uxIEhcIHRujJy6emDWX4A7qyFzg==
|
||||
xterm@^5.2.0:
|
||||
version "5.2.1"
|
||||
resolved "https://registry.yarnpkg.com/xterm/-/xterm-5.2.1.tgz#b3fea7bdb55b9be1d4b31f4cd1091f26ac42afb8"
|
||||
integrity sha512-cs5Y1fFevgcdoh2hJROMVIWwoBHD80P1fIP79gopLHJIE4kTzzblanoivxTiQ4+92YM9IxS36H1q0MxIJXQBcA==
|
||||
|
||||
yallist@^4.0.0:
|
||||
version "4.0.0"
|
||||
|
@@ -2889,11 +2889,6 @@ dotenv-expand@^5.1.0:
|
||||
resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0"
|
||||
integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==
|
||||
|
||||
dotenv@^16.3.1:
|
||||
version "16.3.1"
|
||||
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e"
|
||||
integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==
|
||||
|
||||
dotenv@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz"
|
||||
|
Reference in New Issue
Block a user