Merge branch 'canary'

This commit is contained in:
Labhansh Agrawal 2021-09-10 18:22:22 +05:30
commit e8f088a432
19 changed files with 614 additions and 987 deletions

View file

@ -57,7 +57,7 @@
"bracketSpacing": false,
"semi": true,
"useTabs": false,
"jsxBracketSameLine": false
"bracketSameLine": false
}
],
"eslint-comments/no-unused-disable": "error"
@ -80,7 +80,7 @@
"semi": true,
"useTabs": false,
"parser": "babel",
"jsxBracketSameLine": false
"bracketSameLine": false
}
]
}

View file

@ -23,10 +23,13 @@ jobs:
- name: Checkout
uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2.3.0
uses: actions/setup-node@v2.4.0
with:
node-version: ${{ matrix.node-version }}
cache: yarn
cache-dependency-path: |
yarn.lock
app/yarn.lock
- name: Install
run: yarn install
- name: Test
@ -36,12 +39,8 @@ jobs:
run: |
cp build/canary.ico build/icon.ico
cp build/canary.icns build/icon.icns
- name: Build (pr)
if: github.event_name == 'pull_request'
run: yarn run dist --publish=never
- name: Build (push)
if: github.event_name == 'push'
run: yarn run dist
- name: Build
run: if [ ! -z "$CSC_LINK" ] ; then yarn run dist ; else unset CSC_LINK && unset WIN_CSC_LINK && yarn run dist --publish=never ; fi
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CSC_LINK: ${{ secrets.MAC_CERT_P12_BASE64 }}

View file

@ -14,14 +14,14 @@ jobs:
WORKFLOW_RUN_INFO: ${{ toJSON(github.event.workflow_run) }}
run: echo "$WORKFLOW_RUN_INFO"
- name: Download Artifacts
uses: dawidd6/action-download-artifact@v2.14.0
uses: dawidd6/action-download-artifact@v2.14.1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
workflow: nodejs.yml
run_id: ${{ github.event.workflow_run.id }}
name: spectron
- name: Get PR number
uses: dawidd6/action-download-artifact@v2.14.0
uses: dawidd6/action-download-artifact@v2.14.1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
workflow: nodejs.yml

View file

@ -16,7 +16,8 @@ const _extract = (script?: vm.Script): Record<string, any> => {
const _syntaxValidation = (cfg: string) => {
try {
return new vm.Script(cfg, {filename: '.hyper.js', displayErrors: true});
} catch (err) {
} catch (_err) {
const err = _err as {name: string};
notify(`Error loading config: ${err.name}`, `${err}`, {error: err});
}
};

View file

@ -10,16 +10,15 @@
},
"repository": "zeit/hyper",
"dependencies": {
"async-retry": "1.3.1",
"async-retry": "1.3.3",
"chokidar": "^3.5.2",
"color": "4.0.0",
"convert-css-color-name-to-hex": "0.1.1",
"color": "4.0.1",
"default-shell": "1.0.1",
"electron-fetch": "1.7.3",
"electron-fetch": "1.7.4",
"electron-is-dev": "2.0.0",
"electron-store": "8.0.0",
"fs-extra": "10.0.0",
"git-describe": "4.0.4",
"git-describe": "4.1.0",
"lodash": "4.17.21",
"mkdirp": "1.0.4",
"ms": "2.1.3",
@ -31,7 +30,6 @@
"react": "17.0.2",
"react-dom": "17.0.2",
"semver": "7.3.5",
"shell-env": "3.0.1",
"sudo-prompt": "^9.2.1",
"uuid": "8.3.2"
},

View file

@ -296,7 +296,8 @@ function requirePlugins(): any[] {
console.log(`Plugin ${mod._name} (${mod._version}) loaded.`);
return mod;
} catch (err) {
} catch (_err) {
const err = _err as {code: string; message: string};
if (err.code === 'MODULE_NOT_FOUND') {
console.warn(`Plugin error while loading "${basename(path_)}" (${path_}): ${err.message}`);
} else {

View file

@ -154,7 +154,8 @@ export default class Session extends EventEmitter {
try {
this.pty = spawn(shell, shellArgs, options);
} catch (err) {
} catch (_err) {
const err = _err as {message: string};
if (/is not a function/.test(err.message)) {
throw createNodePtyError();
} else {
@ -215,7 +216,8 @@ fallback to default shell config: ${JSON.stringify(defaultShellConfig, undefined
if (this.pty) {
try {
this.pty.resize(cols, rows);
} catch (err) {
} catch (_err) {
const err = _err as {stack: any};
console.error(err.stack);
}
} else {
@ -227,7 +229,8 @@ fallback to default shell config: ${JSON.stringify(defaultShellConfig, undefined
if (this.pty) {
try {
this.pty.kill();
} catch (err) {
} catch (_err) {
const err = _err as {stack: any};
console.error('exit error', err.stack);
}
} else {

View file

@ -221,7 +221,7 @@ export function newWindow(
// app buttons
for (const ev of ['maximize', 'unmaximize', 'minimize', 'restore'] as any) {
window.on(ev, () => {
rpc.emit('windowGeometry change', {});
rpc.emit('windowGeometry change', {isMaximized: window.isMaximized()});
});
}
window.on('move', () => {

View file

@ -40,7 +40,8 @@ const addSymlink = async (silent: boolean) => {
}
}
await symlink(cliScriptPath, cliLinkPath);
} catch (err) {
} catch (_err) {
const err = _err as {code: string};
// 'EINVAL' is returned by readlink,
// 'EEXIST' is returned by symlink
let error =
@ -61,7 +62,7 @@ sudo ln -sf "${cliScriptPath}" "${cliLinkPath}"`,
await sudoExec(`ln -sf "${cliScriptPath}" "${cliLinkPath}"`, {name: 'Hyper'});
return;
} catch (_error) {
error = _error[0];
error = (_error as any[])[0];
}
} else if (result.response === 1) {
clipboard.writeText(`sudo ln -sf "${cliScriptPath}" "${cliLinkPath}"`);

View file

@ -2,6 +2,11 @@
# yarn lockfile v1
"@types/semver@^7.3.8":
version "7.3.8"
resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.8.tgz#508a27995498d7586dcecd77c25e289bfaf90c59"
integrity sha512-D/2EJvAlCEtYFEYmmlGwbGXuK886HzyCc3nZX/tkFTQdEU8jZDAgiv08P162yB17y4ZXZoq7yFAnW4GDBb9Now==
ajv-formats@^2.0.2:
version "2.0.2"
resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.0.2.tgz#69875cb99d76c74be46e9c7a4444bc232354eba0"
@ -19,11 +24,6 @@ ajv@^8.0.0, ajv@^8.1.0:
require-from-string "^2.0.2"
uri-js "^4.2.2"
ansi-regex@^4.1.0:
version "4.1.0"
resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
anymatch@~3.1.2:
version "3.1.2"
resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
@ -32,12 +32,12 @@ anymatch@~3.1.2:
normalize-path "^3.0.0"
picomatch "^2.0.4"
async-retry@1.3.1:
version "1.3.1"
resolved "https://registry.npmjs.org/async-retry/-/async-retry-1.3.1.tgz#139f31f8ddce50c0870b0ba558a6079684aaed55"
integrity sha512-aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA==
async-retry@1.3.3:
version "1.3.3"
resolved "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280"
integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==
dependencies:
retry "0.12.0"
retry "0.13.1"
atomically@^1.7.0:
version "1.7.0"
@ -91,10 +91,10 @@ color-string@^1.6.0:
color-name "^1.0.0"
simple-swizzle "^0.2.2"
color@4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/color/-/color-4.0.0.tgz#7f0c89d3fcf04c45e20c81c7c24cd73314acac1f"
integrity sha512-aVUOa5aYWJSimvei14J5rdxLeljG0EB/uXTovVaaSokW+D4MsAz3MrKsRNaKqPa2KL7Wfvh7PZyIIaaX4lYdzQ==
color@4.0.1:
version "4.0.1"
resolved "https://registry.npmjs.org/color/-/color-4.0.1.tgz#21df44cd10245a91b1ccf5ba031609b0e10e7d67"
integrity sha512-rpZjOKN5O7naJxkH2Rx1sZzzBgaiWECc6BYXjeCE6kF0kcASJYbUq02u7JqIHwCb/j3NhV+QhRL2683aICeGZA==
dependencies:
color-convert "^2.0.1"
color-string "^1.6.0"
@ -115,25 +115,6 @@ conf@^10.0.0:
pkg-up "^3.1.0"
semver "^7.3.5"
convert-css-color-name-to-hex@0.1.1:
version "0.1.1"
resolved "https://registry.npmjs.org/convert-css-color-name-to-hex/-/convert-css-color-name-to-hex-0.1.1.tgz#38ac4d27ca470593fd663b18a072a308926a35a2"
integrity sha1-OKxNJ8pHBZP9ZjsYoHKjCJJqNaI=
dependencies:
css-color-names "0.0.3"
is-css-color-name "^0.1.1"
cross-spawn@^6.0.0:
version "6.0.5"
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
dependencies:
nice-try "^1.0.4"
path-key "^2.0.1"
semver "^5.5.0"
shebang-command "^1.2.0"
which "^1.2.9"
cross-spawn@^7.0.0:
version "7.0.3"
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
@ -143,16 +124,6 @@ cross-spawn@^7.0.0:
shebang-command "^2.0.0"
which "^2.0.1"
css-color-names@0.0.2:
version "0.0.2"
resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.2.tgz#fba18e8cff86579572d749c146c47ee83f0ea955"
integrity sha1-+6GOjP+GV5Vy10nBRsR+6D8OqVU=
css-color-names@0.0.3:
version "0.0.3"
resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.3.tgz#de0cef16f4d8aa8222a320d5b6d7e9bbada7b9f6"
integrity sha1-3gzvFvTYqoIioyDVttfpu62nufY=
debounce-fn@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz#ed76d206d8a50e60de0dd66d494d82835ffe61c7"
@ -160,7 +131,7 @@ debounce-fn@^4.0.0:
dependencies:
mimic-fn "^3.0.0"
default-shell@1.0.1, default-shell@^1.0.1:
default-shell@1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/default-shell/-/default-shell-1.0.1.tgz#752304bddc6174f49eb29cb988feea0b8813c8bc"
integrity sha1-dSMEvdxhdPSespy5iP7qC4gTyLw=
@ -172,10 +143,10 @@ dot-prop@^6.0.1:
dependencies:
is-obj "^2.0.0"
electron-fetch@1.7.3:
version "1.7.3"
resolved "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.7.3.tgz#06cf363d7f64073ec00a37e9949ec9d29ce6b08a"
integrity sha512-1AVMaxrHXTTMqd7EK0MGWusdqNr07Rpj8Th6bG4at0oNgIi/1LBwa9CjT/0Zy+M0k/tSJPS04nFxHj0SXDVgVw==
electron-fetch@1.7.4:
version "1.7.4"
resolved "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.7.4.tgz#af975ab92a14798bfaa025f88dcd2e54a7b0b769"
integrity sha512-+fBLXEy4CJWQ5bz8dyaeSG1hD6JJ15kBZyj3eh24pIVrd3hLM47H/umffrdQfS6GZ0falF0g9JT9f3Rs6AVUhw==
dependencies:
encoding "^0.1.13"
@ -211,19 +182,6 @@ env-paths@^2.2.1:
resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
execa@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
dependencies:
cross-spawn "^6.0.0"
get-stream "^4.0.0"
is-stream "^1.1.0"
npm-run-path "^2.0.0"
p-finally "^1.0.0"
signal-exit "^3.0.0"
strip-eof "^1.0.0"
execa@^4.0.0:
version "4.1.0"
resolved "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a"
@ -272,13 +230,6 @@ fsevents@~2.3.2:
resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
get-stream@^4.0.0:
version "4.1.0"
resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
dependencies:
pump "^3.0.0"
get-stream@^5.0.0:
version "5.2.0"
resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
@ -286,12 +237,13 @@ get-stream@^5.0.0:
dependencies:
pump "^3.0.0"
git-describe@4.0.4:
version "4.0.4"
resolved "https://registry.npmjs.org/git-describe/-/git-describe-4.0.4.tgz#f3d55bce309becf6dc27fed535d380a621967e8c"
integrity sha512-L1X9OO1e4MusB4PzG9LXeXCQifRvyuoHTpuuZ521Qyxn/B0kWHWEOtsT4LsSfSNacZz0h4ZdYDsDG7f+SrA3hg==
git-describe@4.1.0:
version "4.1.0"
resolved "https://registry.npmjs.org/git-describe/-/git-describe-4.1.0.tgz#0c50fa1ec5ead55932b6e875b2299b17ce5e07d3"
integrity sha512-NM7JSseVK4Z0r505+2TIrgPQKPvqbOowHP73IY5y69v/t/PmoMleJdij1vTO3qVm1qSvqb6342p1MYSxsnV8QA==
dependencies:
lodash "^4.17.11"
"@types/semver" "^7.3.8"
lodash "^4.17.21"
optionalDependencies:
semver "^5.6.0"
@ -341,13 +293,6 @@ is-binary-path@~2.1.0:
dependencies:
binary-extensions "^2.0.0"
is-css-color-name@^0.1.1:
version "0.1.3"
resolved "https://registry.npmjs.org/is-css-color-name/-/is-css-color-name-0.1.3.tgz#ea3b51bc901d8a243d32c9b7873d0680dbbef7f1"
integrity sha1-6jtRvJAdiiQ9Msm3hz0GgNu+9/E=
dependencies:
css-color-names "0.0.2"
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@ -377,11 +322,6 @@ is-ssh@^1.3.0:
dependencies:
protocols "^1.1.0"
is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
is-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
@ -431,7 +371,7 @@ locate-path@^3.0.0:
p-locate "^3.0.0"
path-exists "^3.0.0"
lodash@4.17.21, lodash@^4.17.11:
lodash@4.17.21, lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@ -503,11 +443,6 @@ native-reg@0.3.5:
dependencies:
node-gyp-build "^4"
nice-try@^1.0.4:
version "1.0.5"
resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
node-gyp-build@^4:
version "4.2.3"
resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739"
@ -530,13 +465,6 @@ normalize-url@4.5.1:
resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
dependencies:
path-key "^2.0.0"
npm-run-path@^4.0.0:
version "4.0.1"
resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
@ -577,11 +505,6 @@ p-defer@^1.0.0:
resolved "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
p-is-promise@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
@ -629,11 +552,6 @@ path-exists@^3.0.0:
resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
path-key@^2.0.0, path-key@^2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
path-key@^3.0.0, path-key@^3.1.0:
version "3.1.1"
resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
@ -710,10 +628,10 @@ require-from-string@^2.0.2:
resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
retry@0.12.0:
version "0.12.0"
resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=
retry@0.13.1:
version "0.13.1"
resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658"
integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==
"safer-buffer@>= 2.1.2 < 3.0.0":
version "2.1.2"
@ -735,18 +653,11 @@ semver@7.3.5, semver@^7.3.5:
dependencies:
lru-cache "^6.0.0"
semver@^5.5.0, semver@^5.6.0:
semver@^5.6.0:
version "5.7.1"
resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
dependencies:
shebang-regex "^1.0.0"
shebang-command@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
@ -754,26 +665,12 @@ shebang-command@^2.0.0:
dependencies:
shebang-regex "^3.0.0"
shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
shebang-regex@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
shell-env@3.0.1:
version "3.0.1"
resolved "https://registry.npmjs.org/shell-env/-/shell-env-3.0.1.tgz#515a62f6cbd5e139365be2535745e8e53438ce77"
integrity sha512-b09fpMipAQ9ObwvIeKoQFLDXcEcCpYUUZanlad4OYQscw2I49C/u97OPQg9jWYo36bRDn62fbe07oWYqovIvKA==
dependencies:
default-shell "^1.0.1"
execa "^1.0.0"
strip-ansi "^5.2.0"
signal-exit@^3.0.0, signal-exit@^3.0.2:
signal-exit@^3.0.2:
version "3.0.3"
resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
@ -785,18 +682,6 @@ simple-swizzle@^0.2.2:
dependencies:
is-arrayish "^0.3.1"
strip-ansi@^5.2.0:
version "5.2.0"
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
dependencies:
ansi-regex "^4.1.0"
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
strip-final-newline@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
@ -836,13 +721,6 @@ uuid@8.3.2:
resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
which@^1.2.9:
version "1.3.1"
resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
dependencies:
isexe "^2.0.0"
which@^2.0.1:
version "2.0.2"
resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"

View file

@ -45,7 +45,8 @@ function memoize<T extends (...args: any[]) => any>(fn: T): T {
const getFileContents = memoize(() => {
try {
return fs.readFileSync(fileName, 'utf8');
} catch (err) {
} catch (_err) {
const err = _err as {code: string};
if (err.code !== 'ENOENT') {
// ENOENT === !exists()
throw err;

View file

@ -8,7 +8,7 @@ import pify from 'pify';
import args from 'args';
import chalk from 'chalk';
import open from 'open';
import columnify from 'columnify';
import _columnify from 'columnify';
import got from 'got';
import ora from 'ora';
import * as api from './api';
@ -32,6 +32,22 @@ const checkConfig = () => {
process.exit(1);
};
const columnify = (data: {name: string; description: string}[]) => {
const maxNameLength = Math.max(...data.map((entry) => entry.name.length), 0);
const descriptionWidth = process.stdout.columns - maxNameLength - 1;
return _columnify(data, {
showHeaders: false,
config: {
description: {
maxWidth: descriptionWidth
},
name: {
dataTransform: (nameValue) => chalk.green(nameValue)
}
}
}).replace(/\s+$/gm, ''); // remove padding from the end of all lines
};
args.command(
'install',
'Install a plugin',
@ -57,7 +73,7 @@ args.command(
commandPromise = api
.uninstall(pluginName)
.then(() => console.log(chalk.green(`${pluginName} uninstalled successfully!`)))
.catch((err) => console.log(chalk.red(err)));
.catch((err) => console.error(chalk.red(err)));
},
['u', 'rm', 'remove']
);
@ -92,12 +108,6 @@ const lsRemote = (pattern?: string) => {
entries.map(({name, description}) => {
return {name, description};
})
)
.then((entries) =>
entries.map((entry) => {
entry.name = chalk.green(entry.name);
return entry;
})
);
};
@ -116,9 +126,8 @@ args.command(
console.error(`${chalk.red('Try')} ${chalk.green('hyper ls-remote')}`);
process.exit(1);
} else {
let msg = columnify(entries);
const msg = columnify(entries);
spinner.succeed();
msg = msg.substring(msg.indexOf('\n') + 1); // remove header
console.log(msg);
}
})
@ -138,10 +147,8 @@ args.command(
commandPromise = lsRemote()
.then((entries) => {
let msg = columnify(entries);
const msg = columnify(entries);
spinner.succeed();
msg = msg.substring(msg.indexOf('\n') + 1); // remove header
console.log(msg);
})
.catch((err) => {

View file

@ -102,9 +102,10 @@ export function setFontSmoothing() {
};
}
export function windowGeometryUpdated(): HyperActions {
export function windowGeometryUpdated({isMaximized}: {isMaximized: boolean}): HyperActions {
return {
type: UI_WINDOW_GEOMETRY_CHANGED
type: UI_WINDOW_GEOMETRY_CHANGED,
isMaximized
};
}

View file

@ -352,7 +352,8 @@ export default class Term extends React.PureComponent<TermProps> {
.forEach((option) => {
try {
this.term.setOption(option, nextTermOptions[option]);
} catch (e) {
} catch (_e) {
const e = _e as {message: string};
if (/The webgl renderer only works with the webgl char atlas/i.test(e.message)) {
// Ignore this because the char atlas will also be changed
} else {

View file

@ -69,6 +69,7 @@ export interface UIWindowUnmaximizeAction {
}
export interface UIWindowGeometryChangedAction {
type: typeof UI_WINDOW_GEOMETRY_CHANGED;
isMaximized: boolean;
}
export interface UIOpenFileAction {
type: typeof UI_OPEN_FILE;

View file

@ -215,8 +215,8 @@ rpc.on('move', (window) => {
store_.dispatch(uiActions.windowMove(window));
});
rpc.on('windowGeometry change', () => {
store_.dispatch(uiActions.windowGeometryUpdated());
rpc.on('windowGeometry change', (data) => {
store_.dispatch(uiActions.windowGeometryUpdated(data));
});
rpc.on('add notification', ({text, url, dismissable}) => {

View file

@ -1,6 +1,3 @@
import {remote} from 'electron';
// TODO: Should be updates to new async API https://medium.com/@nornagon/electrons-remote-module-considered-harmful-70d69500f31
import Immutable, {Immutable as ImmutableType} from 'seamless-immutable';
import {decorateUIReducer} from '../utils/plugins';
import {CONFIG_LOAD, CONFIG_RELOAD} from '../constants/config';
@ -113,8 +110,6 @@ const initial: uiState = Immutable<Mutable<uiState>>({
disableLigatures: false
});
const currentWindow = remote.getCurrentWindow();
const reducer: IUiReducer = (state = initial, action) => {
let state_ = state;
let isMax;
@ -380,7 +375,7 @@ const reducer: IUiReducer = (state = initial, action) => {
break;
case UI_WINDOW_GEOMETRY_CHANGED:
isMax = currentWindow.isMaximized();
isMax = action.isMaximized;
if (state.maximized !== isMax) {
state_ = state.set('maximized', isMax);
}

View file

@ -25,7 +25,7 @@
"dependencies": {
"args": "5.0.1",
"chalk": "4.1.2",
"color": "4.0.0",
"color": "4.0.1",
"columnify": "1.5.4",
"css-loader": "6.2.0",
"got": "11.8.2",
@ -39,88 +39,88 @@
"react": "17.0.2",
"react-deep-force-update": "2.1.3",
"react-dom": "17.0.2",
"react-redux": "7.2.4",
"react-redux": "7.2.5",
"recast": "0.20.5",
"redux": "4.1.0",
"redux": "4.1.1",
"redux-thunk": "2.3.0",
"reselect": "4.0.0",
"seamless-immutable": "7.1.4",
"semver": "7.3.5",
"shebang-loader": "0.0.1",
"styled-jsx": "3.4.4",
"styled-jsx": "4.0.1",
"stylis": "3.5.4",
"uuid": "8.3.2",
"webpack-cli": "4.7.2",
"xterm": "^4.13.0",
"webpack-cli": "4.8.0",
"xterm": "^4.14.0",
"xterm-addon-fit": "^0.5.0",
"xterm-addon-ligatures": "^0.5.1",
"xterm-addon-search": "^0.8.0",
"xterm-addon-unicode11": "^0.2.0",
"xterm-addon-search": "^0.8.1",
"xterm-addon-unicode11": "^0.3.0",
"xterm-addon-web-links": "^0.4.0",
"xterm-addon-webgl": "^0.11.1"
"xterm-addon-webgl": "^0.11.2"
},
"devDependencies": {
"@ava/babel": "2.0.0",
"@babel/cli": "7.14.8",
"@babel/core": "7.14.8",
"@babel/cli": "7.15.4",
"@babel/core": "7.15.5",
"@babel/plugin-proposal-class-properties": "^7.14.5",
"@babel/plugin-proposal-numeric-separator": "^7.14.5",
"@babel/plugin-proposal-object-rest-spread": "^7.14.7",
"@babel/plugin-proposal-object-rest-spread": "^7.15.6",
"@babel/plugin-proposal-optional-chaining": "7.14.5",
"@babel/preset-react": "7.14.5",
"@babel/preset-typescript": "7.14.5",
"@babel/preset-typescript": "7.15.0",
"@types/args": "3.0.1",
"@types/async-retry": "1.4.3",
"@types/color": "3.0.2",
"@types/columnify": "^1.5.1",
"@types/fs-extra": "9.0.12",
"@types/lodash": "^4.14.171",
"@types/lodash": "^4.14.172",
"@types/mkdirp": "1.0.2",
"@types/mousetrap": "1.6.8",
"@types/ms": "0.7.31",
"@types/node": "^14.17.6",
"@types/node": "^14.17.14",
"@types/pify": "5.0.1",
"@types/plist": "3.0.2",
"@types/react": "^17.0.15",
"@types/react": "^17.0.20",
"@types/react-dom": "^17.0.9",
"@types/react-redux": "^7.1.18",
"@types/seamless-immutable": "7.1.16",
"@types/styled-jsx": "2.2.9",
"@types/terser-webpack-plugin": "5.0.4",
"@types/terser-webpack-plugin": "5.2.0",
"@types/uuid": "8.3.1",
"@typescript-eslint/eslint-plugin": "4.29.0",
"@typescript-eslint/parser": "4.29.0",
"@typescript-eslint/eslint-plugin": "4.31.0",
"@typescript-eslint/parser": "4.31.0",
"ava": "3.15.0",
"babel-loader": "8.2.2",
"concurrently": "6.2.0",
"concurrently": "6.2.1",
"copy-webpack-plugin": "9.0.1",
"cpy-cli": "^3.1.1",
"cross-env": "7.0.3",
"electron": "^13.1.7",
"electron": "^13.2.3",
"electron-builder": "^22.11.7",
"electron-devtools-installer": "3.2.0",
"electron-rebuild": "2.3.5",
"electronmon": "^2.0.1",
"electron-rebuild": "3.2.3",
"electronmon": "^2.0.2",
"eslint": "7.32.0",
"eslint-config-prettier": "8.3.0",
"eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-prettier": "3.4.0",
"eslint-plugin-react": "7.24.0",
"husky": "7.0.1",
"eslint-plugin-prettier": "4.0.0",
"eslint-plugin-react": "7.25.1",
"husky": "7.0.2",
"inquirer": "8.1.2",
"node-addon-api": "4.0.0",
"node-gyp": "8.1.0",
"node-addon-api": "4.1.0",
"node-gyp": "8.2.0",
"null-loader": "4.0.1",
"plist": "3.0.2",
"prettier": "2.3.2",
"plist": "3.0.4",
"prettier": "2.4.0",
"proxyquire": "2.1.3",
"redux-devtools-extension": "2.13.9",
"spectron": "15.0.0",
"style-loader": "3.2.1",
"terser": "5.7.1",
"ts-node": "10.1.0",
"typescript": "4.3.5",
"webpack": "5.48.0"
"terser": "5.7.2",
"ts-node": "10.2.1",
"typescript": "4.4.2",
"webpack": "5.52.0"
},
"electronmon": {
"patterns": [

1238
yarn.lock

File diff suppressed because it is too large Load diff