mirror of
https://github.com/quine-global/hyper.git
synced 2026-01-12 20:18:41 -09:00
Merge branch 'canary'
This commit is contained in:
commit
7cc1615cec
21 changed files with 1695 additions and 1215 deletions
|
|
@ -9,4 +9,5 @@ assets
|
||||||
website
|
website
|
||||||
bin
|
bin
|
||||||
dist
|
dist
|
||||||
target
|
target
|
||||||
|
cache
|
||||||
8
.github/workflows/codeql-analysis.yml
vendored
8
.github/workflows/codeql-analysis.yml
vendored
|
|
@ -39,7 +39,7 @@ jobs:
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v1
|
uses: github/codeql-action/init@v2
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||||
|
|
@ -50,10 +50,10 @@ jobs:
|
||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@v1
|
uses: github/codeql-action/autobuild@v2
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||||
|
|
||||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||||
# and modify them (or add more) to build your code if your project
|
# and modify them (or add more) to build your code if your project
|
||||||
|
|
@ -64,4 +64,4 @@ jobs:
|
||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v1
|
uses: github/codeql-action/analyze@v2
|
||||||
|
|
|
||||||
4
.github/workflows/e2e_comment.yml
vendored
4
.github/workflows/e2e_comment.yml
vendored
|
|
@ -14,14 +14,14 @@ jobs:
|
||||||
WORKFLOW_RUN_INFO: ${{ toJSON(github.event.workflow_run) }}
|
WORKFLOW_RUN_INFO: ${{ toJSON(github.event.workflow_run) }}
|
||||||
run: echo "$WORKFLOW_RUN_INFO"
|
run: echo "$WORKFLOW_RUN_INFO"
|
||||||
- name: Download Artifacts
|
- name: Download Artifacts
|
||||||
uses: dawidd6/action-download-artifact@v2.17.0
|
uses: dawidd6/action-download-artifact@v2.22.0
|
||||||
with:
|
with:
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
workflow: nodejs.yml
|
workflow: nodejs.yml
|
||||||
run_id: ${{ github.event.workflow_run.id }}
|
run_id: ${{ github.event.workflow_run.id }}
|
||||||
name: e2e
|
name: e2e
|
||||||
- name: Get PR number
|
- name: Get PR number
|
||||||
uses: dawidd6/action-download-artifact@v2.17.0
|
uses: dawidd6/action-download-artifact@v2.22.0
|
||||||
with:
|
with:
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
workflow: nodejs.yml
|
workflow: nodejs.yml
|
||||||
|
|
|
||||||
4
.github/workflows/nodejs.yml
vendored
4
.github/workflows/nodejs.yml
vendored
|
|
@ -64,7 +64,7 @@ jobs:
|
||||||
run: yarn run test:e2e
|
run: yarn run test:e2e
|
||||||
- name: Archive E2E test screenshot
|
- name: Archive E2E test screenshot
|
||||||
if: runner.os != 'Linux'
|
if: runner.os != 'Linux'
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: e2e
|
name: e2e
|
||||||
path: dist/tmp/*.png
|
path: dist/tmp/*.png
|
||||||
|
|
@ -74,7 +74,7 @@ jobs:
|
||||||
PR_NUM: ${{ github.event.number }}
|
PR_NUM: ${{ github.event.number }}
|
||||||
run: echo $PR_NUM > pr_num.txt
|
run: echo $PR_NUM > pr_num.txt
|
||||||
- name: Upload the pr num
|
- name: Upload the pr num
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
if: github.event_name == 'pull_request'
|
if: github.event_name == 'pull_request'
|
||||||
with:
|
with:
|
||||||
name: pr_num
|
name: pr_num
|
||||||
|
|
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -3,6 +3,7 @@ dist
|
||||||
app/renderer
|
app/renderer
|
||||||
target
|
target
|
||||||
bin/cli.*
|
bin/cli.*
|
||||||
|
cache
|
||||||
|
|
||||||
# dependencies
|
# dependencies
|
||||||
node_modules
|
node_modules
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,7 @@ make sure its build process is working correctly by running `yarn run rebuild-no
|
||||||
If you are on macOS, this typically is related to Xcode issues (like not having agreed
|
If you are on macOS, this typically is related to Xcode issues (like not having agreed
|
||||||
to the Terms of Service by running `sudo xcodebuild` after a fresh Xcode installation).
|
to the Terms of Service by running `sudo xcodebuild` after a fresh Xcode installation).
|
||||||
|
|
||||||
##### Error with `c++` on macOS when running `yarn`
|
##### Error with `C++` on macOS when running `yarn`
|
||||||
|
|
||||||
If you are getting compiler errors when running `yarn` add the environment variable `export CXX=clang++`
|
If you are getting compiler errors when running `yarn` add the environment variable `export CXX=clang++`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,30 +13,30 @@
|
||||||
"@electron/remote": "2.0.8",
|
"@electron/remote": "2.0.8",
|
||||||
"async-retry": "1.3.3",
|
"async-retry": "1.3.3",
|
||||||
"chokidar": "^3.5.3",
|
"chokidar": "^3.5.3",
|
||||||
"color": "4.2.1",
|
"color": "4.2.3",
|
||||||
"default-shell": "1.0.1",
|
"default-shell": "1.0.1",
|
||||||
"electron-fetch": "1.7.4",
|
"electron-fetch": "1.7.4",
|
||||||
"electron-is-dev": "2.0.0",
|
"electron-is-dev": "2.0.0",
|
||||||
"electron-store": "8.0.1",
|
"electron-store": "8.1.0",
|
||||||
"fs-extra": "10.0.1",
|
"fs-extra": "10.1.0",
|
||||||
"git-describe": "4.1.0",
|
"git-describe": "4.1.1",
|
||||||
"lodash": "4.17.21",
|
"lodash": "4.17.21",
|
||||||
"mkdirp": "1.0.4",
|
"mkdirp": "1.0.4",
|
||||||
"ms": "2.1.3",
|
"ms": "2.1.3",
|
||||||
"native-process-working-directory": "^1.0.2",
|
"native-process-working-directory": "^1.0.2",
|
||||||
"node-pty": "0.10.1",
|
"node-pty": "0.10.1",
|
||||||
"os-locale": "5.0.0",
|
"os-locale": "5.0.0",
|
||||||
"parse-url": "5.0.7",
|
"parse-url": "7.0.2",
|
||||||
"pify": "5.0.0",
|
"pify": "5.0.0",
|
||||||
"queue": "6.0.2",
|
"queue": "6.0.2",
|
||||||
"react": "17.0.2",
|
"react": "17.0.2",
|
||||||
"react-dom": "17.0.2",
|
"react-dom": "17.0.2",
|
||||||
"semver": "7.3.5",
|
"semver": "7.3.7",
|
||||||
"shell-env": "3.0.1",
|
"shell-env": "3.0.1",
|
||||||
"sudo-prompt": "^9.2.1",
|
"sudo-prompt": "^9.2.1",
|
||||||
"uuid": "8.3.2"
|
"uuid": "8.3.2"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"native-reg": "1.0.0"
|
"native-reg": "1.1.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
121
app/yarn.lock
121
app/yarn.lock
|
|
@ -101,18 +101,18 @@ color-string@^1.9.0:
|
||||||
color-name "^1.0.0"
|
color-name "^1.0.0"
|
||||||
simple-swizzle "^0.2.2"
|
simple-swizzle "^0.2.2"
|
||||||
|
|
||||||
color@4.2.1:
|
color@4.2.3:
|
||||||
version "4.2.1"
|
version "4.2.3"
|
||||||
resolved "https://registry.npmjs.org/color/-/color-4.2.1.tgz#498aee5fce7fc982606c8875cab080ac0547c884"
|
resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a"
|
||||||
integrity sha512-MFJr0uY4RvTQUKvPq7dh9grVOTYSFeXja2mBXioCGjnjJoXrAp9jJ1NQTDR73c9nwBSAQiNKloKl5zq9WB9UPw==
|
integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==
|
||||||
dependencies:
|
dependencies:
|
||||||
color-convert "^2.0.1"
|
color-convert "^2.0.1"
|
||||||
color-string "^1.9.0"
|
color-string "^1.9.0"
|
||||||
|
|
||||||
conf@^10.0.3:
|
conf@^10.2.0:
|
||||||
version "10.0.3"
|
version "10.2.0"
|
||||||
resolved "https://registry.npmjs.org/conf/-/conf-10.0.3.tgz#af266186cc754daefd2749398861ec538c50da17"
|
resolved "https://registry.npmjs.org/conf/-/conf-10.2.0.tgz#838e757be963f1a2386dfe048a98f8f69f7b55d6"
|
||||||
integrity sha512-4gtQ/Q36qVxBzMe6B7gWOAfni1VdhuHkIzxydHkclnwGmgN+eW4bb6jj73vigCfr7d3WlmqawvhZrpCUCTPYxQ==
|
integrity sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==
|
||||||
dependencies:
|
dependencies:
|
||||||
ajv "^8.6.3"
|
ajv "^8.6.3"
|
||||||
ajv-formats "^2.1.1"
|
ajv-formats "^2.1.1"
|
||||||
|
|
@ -176,13 +176,13 @@ electron-is-dev@2.0.0:
|
||||||
resolved "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-2.0.0.tgz#833487a069b8dad21425c67a19847d9064ab19bd"
|
resolved "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-2.0.0.tgz#833487a069b8dad21425c67a19847d9064ab19bd"
|
||||||
integrity sha512-3X99K852Yoqu9AcW50qz3ibYBWY79/pBhlMCab8ToEWS48R0T9tyxRiQhwylE7zQdXrMnx2JKqUJyMPmt5FBqA==
|
integrity sha512-3X99K852Yoqu9AcW50qz3ibYBWY79/pBhlMCab8ToEWS48R0T9tyxRiQhwylE7zQdXrMnx2JKqUJyMPmt5FBqA==
|
||||||
|
|
||||||
electron-store@8.0.1:
|
electron-store@8.1.0:
|
||||||
version "8.0.1"
|
version "8.1.0"
|
||||||
resolved "https://registry.npmjs.org/electron-store/-/electron-store-8.0.1.tgz#9b598c1d2edeffebee9d8c1cd957ad368c528925"
|
resolved "https://registry.npmjs.org/electron-store/-/electron-store-8.1.0.tgz#46a398f2bd9aa83c4a9daaae28380e2b3b9c7597"
|
||||||
integrity sha512-ZyLvNywiqSpbwC/pp89O/AycVWY/UJIkmtyzF2Bd0Nm/rLmcFc0NTGuLdg6+LE8mS8qsiK5JMoe4PnrecLHH5w==
|
integrity sha512-2clHg/juMjOH0GT9cQ6qtmIvK183B39ZXR0bUoPwKwYHJsEF3quqyDzMFUAu+0OP8ijmN2CbPRAelhNbWUbzwA==
|
||||||
dependencies:
|
dependencies:
|
||||||
conf "^10.0.3"
|
conf "^10.2.0"
|
||||||
type-fest "^1.0.2"
|
type-fest "^2.17.0"
|
||||||
|
|
||||||
encoding@^0.1.13:
|
encoding@^0.1.13:
|
||||||
version "0.1.13"
|
version "0.1.13"
|
||||||
|
|
@ -250,10 +250,10 @@ find-up@^3.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
locate-path "^3.0.0"
|
locate-path "^3.0.0"
|
||||||
|
|
||||||
fs-extra@10.0.1:
|
fs-extra@10.1.0:
|
||||||
version "10.0.1"
|
version "10.1.0"
|
||||||
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz#27de43b4320e833f6867cc044bfce29fdf0ef3b8"
|
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
|
||||||
integrity sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==
|
integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
graceful-fs "^4.2.0"
|
graceful-fs "^4.2.0"
|
||||||
jsonfile "^6.0.1"
|
jsonfile "^6.0.1"
|
||||||
|
|
@ -278,10 +278,10 @@ get-stream@^5.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
pump "^3.0.0"
|
pump "^3.0.0"
|
||||||
|
|
||||||
git-describe@4.1.0:
|
git-describe@4.1.1:
|
||||||
version "4.1.0"
|
version "4.1.1"
|
||||||
resolved "https://registry.npmjs.org/git-describe/-/git-describe-4.1.0.tgz#0c50fa1ec5ead55932b6e875b2299b17ce5e07d3"
|
resolved "https://registry.npmjs.org/git-describe/-/git-describe-4.1.1.tgz#a2a2882e442aa68abd0b3cb467459c83ed2f96ef"
|
||||||
integrity sha512-NM7JSseVK4Z0r505+2TIrgPQKPvqbOowHP73IY5y69v/t/PmoMleJdij1vTO3qVm1qSvqb6342p1MYSxsnV8QA==
|
integrity sha512-JC8ganO5kO80G8+XE98TDDjnMXQN3Estk3qdJuG2EGRF/l6zuMTMcN+8OSfQZ5FWpqIRLB015anWX4aSRgnxAQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/semver" "^7.3.8"
|
"@types/semver" "^7.3.8"
|
||||||
lodash "^4.17.21"
|
lodash "^4.17.21"
|
||||||
|
|
@ -356,12 +356,12 @@ is-obj@^2.0.0:
|
||||||
resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
|
resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
|
||||||
integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
|
integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
|
||||||
|
|
||||||
is-ssh@^1.3.0:
|
is-ssh@^1.4.0:
|
||||||
version "1.3.2"
|
version "1.4.0"
|
||||||
resolved "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.2.tgz#a4b82ab63d73976fd8263cceee27f99a88bdae2b"
|
resolved "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2"
|
||||||
integrity sha512-elEw0/0c2UscLrNG+OAorbP539E3rhliKPg+hDMWN9VwrDXfYK+4PBEykDPfxlYYtQvl84TascnQyobfQLHEhQ==
|
integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
protocols "^1.1.0"
|
protocols "^2.0.1"
|
||||||
|
|
||||||
is-stream@^1.1.0:
|
is-stream@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
|
|
@ -489,10 +489,10 @@ native-process-working-directory@^1.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
node-addon-api "^3.1.0"
|
node-addon-api "^3.1.0"
|
||||||
|
|
||||||
native-reg@1.0.0:
|
native-reg@1.1.0:
|
||||||
version "1.0.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.npmjs.org/native-reg/-/native-reg-1.0.0.tgz#77f9acbf59eda02680c00b0b1b9d1e0078b7820d"
|
resolved "https://registry.npmjs.org/native-reg/-/native-reg-1.1.0.tgz#caa7a21c8e537c977cf481296d5675edebcbcbe2"
|
||||||
integrity sha512-MxukmqY7jOeiS9+b4TAlfG9cvaQ03oLET35nUGYGHDRcLx0NFk7eeoWqX4wAXaFiMW50ZiFalOA6W8q3fprcsw==
|
integrity sha512-nykrWHVAp9E6oLUypAVDFj+kq5J4AMd7VA5CVOqMw/k4w7Mhuc6p/1tLTqDLJbQsFs85qT1ElQw8Yn/RayUupg==
|
||||||
dependencies:
|
dependencies:
|
||||||
node-gyp-build "4"
|
node-gyp-build "4"
|
||||||
|
|
||||||
|
|
@ -523,10 +523,10 @@ normalize-path@^3.0.0, normalize-path@~3.0.0:
|
||||||
resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
|
resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
|
||||||
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
|
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
|
||||||
|
|
||||||
normalize-url@4.5.1:
|
normalize-url@^6.1.0:
|
||||||
version "4.5.1"
|
version "6.1.0"
|
||||||
resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
|
resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a"
|
||||||
integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==
|
integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==
|
||||||
|
|
||||||
npm-run-path@^2.0.0:
|
npm-run-path@^2.0.0:
|
||||||
version "2.0.2"
|
version "2.0.2"
|
||||||
|
|
@ -604,23 +604,22 @@ p-try@^2.0.0:
|
||||||
resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
|
resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
|
||||||
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
|
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
|
||||||
|
|
||||||
parse-path@^4.0.0:
|
parse-path@^5.0.0:
|
||||||
version "4.0.2"
|
version "5.0.0"
|
||||||
resolved "https://registry.npmjs.org/parse-path/-/parse-path-4.0.2.tgz#ef14f0d3d77bae8dd4bc66563a4c151aac9e65aa"
|
resolved "https://registry.npmjs.org/parse-path/-/parse-path-5.0.0.tgz#f933152f3c6d34f4cf36cfc3d07b138ac113649d"
|
||||||
integrity sha512-HSqVz6iuXSiL8C1ku5Gl1Z5cwDd9Wo0q8CoffdAghP6bz8pJa1tcMC+m4N+z6VAS8QdksnIGq1TB6EgR4vPR6w==
|
integrity sha512-qOpH55/+ZJ4jUu/oLO+ifUKjFPNZGfnPJtzvGzKN/4oLMil5m9OH4VpOj6++9/ytJcfks4kzH2hhi87GL/OU9A==
|
||||||
dependencies:
|
dependencies:
|
||||||
is-ssh "^1.3.0"
|
protocols "^2.0.0"
|
||||||
protocols "^1.4.0"
|
|
||||||
|
|
||||||
parse-url@5.0.7:
|
parse-url@7.0.2:
|
||||||
version "5.0.7"
|
version "7.0.2"
|
||||||
resolved "https://registry.npmjs.org/parse-url/-/parse-url-5.0.7.tgz#2ca3c32816f1a092c35e1f2afe63bb7924dde261"
|
resolved "https://registry.npmjs.org/parse-url/-/parse-url-7.0.2.tgz#d21232417199b8d371c6aec0cedf1406fd6393f0"
|
||||||
integrity sha512-CgbjyWT6aOh2oNSUS0cioYQsGysj9hQ2IdbOfeNwq5KOaKM7dOw/yTupiI0cnJhaDHJEIGybPkQz7LF9WNIhyw==
|
integrity sha512-PqO4Z0eCiQ08Wj6QQmrmp5YTTxpYfONdOEamrtvK63AmzXpcavIVQubGHxOEwiIoDZFb8uDOoQFS0NCcjqIYQg==
|
||||||
dependencies:
|
dependencies:
|
||||||
is-ssh "^1.3.0"
|
is-ssh "^1.4.0"
|
||||||
normalize-url "4.5.1"
|
normalize-url "^6.1.0"
|
||||||
parse-path "^4.0.0"
|
parse-path "^5.0.0"
|
||||||
protocols "^1.4.0"
|
protocols "^2.0.1"
|
||||||
|
|
||||||
path-exists@^3.0.0:
|
path-exists@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
|
|
@ -654,10 +653,10 @@ pkg-up@^3.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
find-up "^3.0.0"
|
find-up "^3.0.0"
|
||||||
|
|
||||||
protocols@^1.1.0, protocols@^1.4.0:
|
protocols@^2.0.0, protocols@^2.0.1:
|
||||||
version "1.4.8"
|
version "2.0.1"
|
||||||
resolved "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8"
|
resolved "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86"
|
||||||
integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==
|
integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==
|
||||||
|
|
||||||
pump@^3.0.0:
|
pump@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
|
|
@ -726,10 +725,10 @@ scheduler@^0.20.2:
|
||||||
loose-envify "^1.1.0"
|
loose-envify "^1.1.0"
|
||||||
object-assign "^4.1.1"
|
object-assign "^4.1.1"
|
||||||
|
|
||||||
semver@7.3.5, semver@^7.3.5:
|
semver@7.3.7, semver@^7.3.5:
|
||||||
version "7.3.5"
|
version "7.3.7"
|
||||||
resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
|
resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
|
||||||
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
|
integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
|
||||||
dependencies:
|
dependencies:
|
||||||
lru-cache "^6.0.0"
|
lru-cache "^6.0.0"
|
||||||
|
|
||||||
|
|
@ -817,10 +816,10 @@ to-regex-range@^5.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
is-number "^7.0.0"
|
is-number "^7.0.0"
|
||||||
|
|
||||||
type-fest@^1.0.2:
|
type-fest@^2.17.0:
|
||||||
version "1.0.2"
|
version "2.18.0"
|
||||||
resolved "https://registry.npmjs.org/type-fest/-/type-fest-1.0.2.tgz#3f9c39982859f385c77c38b7e5f1432b8a3661c6"
|
resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.18.0.tgz#fdef3a74e0a9e68ebe46054836650fb91ac3881e"
|
||||||
integrity sha512-a720oz3Kjbp3ll0zkeN9qjRhO7I34MKMhPGQiQJAmaZQZQ1lo+NWThK322f7sXV+kTg9B1Ybt16KgBXWgteT8w==
|
integrity sha512-pRS+/yrW5TjPPHNOvxhbNZexr2bS63WjrMU8a+VzEBhUi9Tz1pZeD+vQz3ut0svZ46P+SRqMEPnJmk2XnvNzTw==
|
||||||
|
|
||||||
universalify@^2.0.0:
|
universalify@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
|
|
|
||||||
53
bin/cp-snapshot.js
vendored
Normal file
53
bin/cp-snapshot.js
vendored
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
const path = require('path');
|
||||||
|
const fs = require('fs');
|
||||||
|
const {Arch} = require('electron-builder');
|
||||||
|
|
||||||
|
function copySnapshot(pathToElectron, archToCopy) {
|
||||||
|
const snapshotFileName = 'snapshot_blob.bin';
|
||||||
|
const v8ContextFileName = getV8ContextFileName(archToCopy);
|
||||||
|
const pathToBlob = path.resolve(__dirname, '..', 'cache', archToCopy, snapshotFileName);
|
||||||
|
const pathToBlobV8 = path.resolve(__dirname, '..', 'cache', archToCopy, v8ContextFileName);
|
||||||
|
|
||||||
|
console.log('Copying v8 snapshots from', pathToBlob, 'to', pathToElectron);
|
||||||
|
fs.copyFileSync(pathToBlob, path.join(pathToElectron, snapshotFileName));
|
||||||
|
fs.copyFileSync(pathToBlobV8, path.join(pathToElectron, v8ContextFileName));
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPathToElectron() {
|
||||||
|
switch (process.platform) {
|
||||||
|
case 'darwin':
|
||||||
|
return path.resolve(
|
||||||
|
__dirname,
|
||||||
|
'..',
|
||||||
|
'node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources'
|
||||||
|
);
|
||||||
|
case 'win32':
|
||||||
|
case 'linux':
|
||||||
|
return path.resolve(__dirname, '..', 'node_modules', 'electron', 'dist');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getV8ContextFileName(archToCopy) {
|
||||||
|
if (process.platform === 'darwin') {
|
||||||
|
return `v8_context_snapshot${archToCopy === 'arm64' ? '.arm64' : '.x86_64'}.bin`;
|
||||||
|
} else {
|
||||||
|
return `v8_context_snapshot.bin`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.default = async (context) => {
|
||||||
|
const archToCopy = Arch[context.arch];
|
||||||
|
const pathToElectron =
|
||||||
|
process.platform === 'darwin'
|
||||||
|
? `${context.appOutDir}/Hyper.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources`
|
||||||
|
: context.appOutDir;
|
||||||
|
copySnapshot(pathToElectron, archToCopy);
|
||||||
|
};
|
||||||
|
|
||||||
|
if (require.main === module) {
|
||||||
|
const archToCopy = process.env.npm_config_arch;
|
||||||
|
const pathToElectron = getPathToElectron();
|
||||||
|
if ((process.arch.startsWith('arm') ? 'arm64' : 'x64') === archToCopy) {
|
||||||
|
copySnapshot(pathToElectron, archToCopy);
|
||||||
|
}
|
||||||
|
}
|
||||||
51
bin/mk-snapshot.js
vendored
Normal file
51
bin/mk-snapshot.js
vendored
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
const childProcess = require('child_process');
|
||||||
|
const vm = require('vm');
|
||||||
|
const path = require('path');
|
||||||
|
const fs = require('fs');
|
||||||
|
const electronLink = require('electron-link');
|
||||||
|
const {mkdirp} = require('fs-extra');
|
||||||
|
|
||||||
|
const excludedModules = {};
|
||||||
|
|
||||||
|
const crossArchDirs = ['clang_x86_v8_arm', 'clang_x64_v8_arm64', 'win_clang_x64'];
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
const baseDirPath = path.resolve(__dirname, '..');
|
||||||
|
|
||||||
|
console.log('Creating a linked script..');
|
||||||
|
const result = await electronLink({
|
||||||
|
baseDirPath: baseDirPath,
|
||||||
|
mainPath: `${__dirname}/snapshot-libs.js`,
|
||||||
|
cachePath: `${baseDirPath}/cache`,
|
||||||
|
// eslint-disable-next-line no-prototype-builtins
|
||||||
|
shouldExcludeModule: (modulePath) => excludedModules.hasOwnProperty(modulePath)
|
||||||
|
});
|
||||||
|
|
||||||
|
const snapshotScriptPath = `${baseDirPath}/cache/snapshot-libs.js`;
|
||||||
|
fs.writeFileSync(snapshotScriptPath, result.snapshotScript);
|
||||||
|
|
||||||
|
// Verify if we will be able to use this in `mksnapshot`
|
||||||
|
vm.runInNewContext(result.snapshotScript, undefined, {filename: snapshotScriptPath, displayErrors: true});
|
||||||
|
|
||||||
|
const outputBlobPath = `${baseDirPath}/cache/${process.env.npm_config_arch}`;
|
||||||
|
await mkdirp(outputBlobPath);
|
||||||
|
|
||||||
|
if (process.platform !== 'darwin') {
|
||||||
|
const mksnapshotBinPath = `${baseDirPath}/node_modules/electron-mksnapshot/bin`;
|
||||||
|
const matchingDirs = crossArchDirs.map((dir) => `${mksnapshotBinPath}/${dir}`).filter((dir) => fs.existsSync(dir));
|
||||||
|
for (const dir of matchingDirs) {
|
||||||
|
if (fs.existsSync(`${mksnapshotBinPath}/gen/v8/embedded.S`)) {
|
||||||
|
await mkdirp(`${dir}/gen/v8`);
|
||||||
|
fs.copyFileSync(`${mksnapshotBinPath}/gen/v8/embedded.S`, `${dir}/gen/v8/embedded.S`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(`Generating startup blob in "${outputBlobPath}"`);
|
||||||
|
childProcess.execFileSync(
|
||||||
|
path.resolve(__dirname, '..', 'node_modules', '.bin', 'mksnapshot' + (process.platform === 'win32' ? '.cmd' : '')),
|
||||||
|
[snapshotScriptPath, '--output_dir', outputBlobPath]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
main().catch((err) => console.error(err));
|
||||||
31
bin/snapshot-libs.js
vendored
Normal file
31
bin/snapshot-libs.js
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
require('color-convert');
|
||||||
|
require('color-string');
|
||||||
|
require('columnify');
|
||||||
|
require('lodash');
|
||||||
|
require('ms');
|
||||||
|
require('normalize-url');
|
||||||
|
require('parse-url');
|
||||||
|
require('php-escape-shell');
|
||||||
|
require('plist');
|
||||||
|
require('react-deep-force-update');
|
||||||
|
require('react-dom');
|
||||||
|
require('react-redux');
|
||||||
|
require('react');
|
||||||
|
require('redux-thunk');
|
||||||
|
require('redux');
|
||||||
|
require('reselect');
|
||||||
|
require('seamless-immutable');
|
||||||
|
require('stylis');
|
||||||
|
require('xterm-addon-unicode11');
|
||||||
|
// eslint-disable-next-line no-constant-condition
|
||||||
|
if (false) {
|
||||||
|
require('args');
|
||||||
|
require('mousetrap');
|
||||||
|
require('open');
|
||||||
|
require('xterm-addon-fit');
|
||||||
|
require('xterm-addon-ligatures');
|
||||||
|
require('xterm-addon-search');
|
||||||
|
require('xterm-addon-web-links');
|
||||||
|
require('xterm-addon-webgl');
|
||||||
|
require('xterm');
|
||||||
|
}
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
"$schema": "http://json.schemastore.org/electron-builder",
|
"$schema": "http://json.schemastore.org/electron-builder",
|
||||||
"appId": "co.zeit.hyper",
|
"appId": "co.zeit.hyper",
|
||||||
"afterSign": "./bin/notarize.js",
|
"afterSign": "./bin/notarize.js",
|
||||||
|
"afterPack": "./bin/cp-snapshot.js",
|
||||||
"directories": {
|
"directories": {
|
||||||
"app": "target"
|
"app": "target"
|
||||||
},
|
},
|
||||||
|
|
@ -136,4 +137,4 @@
|
||||||
"ssh"
|
"ssh"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,7 @@ export default class Terms extends React.Component<TermsProps> {
|
||||||
cursorShape: this.props.cursorShape,
|
cursorShape: this.props.cursorShape,
|
||||||
cursorBlink: this.props.cursorBlink,
|
cursorBlink: this.props.cursorBlink,
|
||||||
cursorColor: this.props.cursorColor,
|
cursorColor: this.props.cursorColor,
|
||||||
|
cursorAccentColor: this.props.cursorAccentColor,
|
||||||
fontSize: this.props.fontSize,
|
fontSize: this.props.fontSize,
|
||||||
fontFamily: this.props.fontFamily,
|
fontFamily: this.props.fontFamily,
|
||||||
uiFontFamily: this.props.uiFontFamily,
|
uiFontFamily: this.props.uiFontFamily,
|
||||||
|
|
|
||||||
11
lib/hyper.d.ts
vendored
11
lib/hyper.d.ts
vendored
|
|
@ -7,6 +7,17 @@ declare global {
|
||||||
rpc: Client;
|
rpc: Client;
|
||||||
focusActiveTerm: (uid?: string) => void;
|
focusActiveTerm: (uid?: string) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const snapshotResult: {
|
||||||
|
customRequire: {
|
||||||
|
(module: string): NodeModule;
|
||||||
|
cache: Record<string, {exports: NodeModule}>;
|
||||||
|
definitions: Record<string, {exports: any}>;
|
||||||
|
};
|
||||||
|
setGlobals(global: any, process: any, window: any, document: any, console: any, require: any): void;
|
||||||
|
};
|
||||||
|
|
||||||
|
const __non_webpack_require__: NodeRequire;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ITermGroup = Immutable<{
|
export type ITermGroup = Immutable<{
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import './v8-snapshot-util';
|
||||||
import {webFrame} from 'electron';
|
import {webFrame} from 'electron';
|
||||||
import forceUpdate from 'react-deep-force-update';
|
import forceUpdate from 'react-deep-force-update';
|
||||||
import {Provider} from 'react-redux';
|
import {Provider} from 'react-redux';
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,6 @@ export function keys(imm: Record<string, any>) {
|
||||||
return keysCache.get(imm);
|
return keysCache.get(imm);
|
||||||
}
|
}
|
||||||
|
|
||||||
export const ObjectTypedKeys = <T>(obj: T) => {
|
export const ObjectTypedKeys = <T extends object>(obj: T) => {
|
||||||
return Object.keys(obj) as (keyof T)[];
|
return Object.keys(obj) as (keyof T)[];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,10 @@ function exposeDecorated<P extends Record<string, any>>(
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function getDecorated<P>(parent: React.ComponentType<P>, name: string): React.ComponentClass<P> {
|
function getDecorated<P extends Record<string, any>>(
|
||||||
|
parent: React.ComponentType<P>,
|
||||||
|
name: string
|
||||||
|
): React.ComponentClass<P> {
|
||||||
if (!decorated[name]) {
|
if (!decorated[name]) {
|
||||||
let class_ = exposeDecorated(parent);
|
let class_ = exposeDecorated(parent);
|
||||||
(class_ as any).displayName = `_exposeDecorated(${name})`;
|
(class_ as any).displayName = `_exposeDecorated(${name})`;
|
||||||
|
|
@ -136,7 +139,7 @@ function getDecorated<P>(parent: React.ComponentType<P>, name: string): React.Co
|
||||||
// for each component, we return a higher-order component
|
// for each component, we return a higher-order component
|
||||||
// that wraps with the higher-order components
|
// that wraps with the higher-order components
|
||||||
// exposed by plugins
|
// exposed by plugins
|
||||||
export function decorate<P>(
|
export function decorate<P extends Record<string, any>>(
|
||||||
Component_: React.ComponentType<P>,
|
Component_: React.ComponentType<P>,
|
||||||
name: string
|
name: string
|
||||||
): React.ComponentClass<P, {hasError: boolean}> {
|
): React.ComponentClass<P, {hasError: boolean}> {
|
||||||
|
|
@ -450,7 +453,7 @@ export function getTabProps<T extends Assignable<TabProps, T>>(tab: any, parentP
|
||||||
// connects + decorates a class
|
// connects + decorates a class
|
||||||
// plugins can override mapToState, dispatchToProps
|
// plugins can override mapToState, dispatchToProps
|
||||||
// and the class gets decorated (proxied)
|
// and the class gets decorated (proxied)
|
||||||
export function connect<stateProps, dispatchProps>(
|
export function connect<stateProps extends {}, dispatchProps>(
|
||||||
stateFn: (state: HyperState) => stateProps,
|
stateFn: (state: HyperState) => stateProps,
|
||||||
dispatchFn: (dispatch: HyperDispatch) => dispatchProps,
|
dispatchFn: (dispatch: HyperDispatch) => dispatchProps,
|
||||||
c: any,
|
c: any,
|
||||||
|
|
|
||||||
21
lib/v8-snapshot-util.ts
Normal file
21
lib/v8-snapshot-util.ts
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
if (typeof snapshotResult !== 'undefined') {
|
||||||
|
const Module = __non_webpack_require__('module');
|
||||||
|
const originalLoad: (module: string, ...args: any[]) => any = Module._load;
|
||||||
|
|
||||||
|
Module._load = function _load(module: string, ...args: any[]): NodeModule {
|
||||||
|
let cachedModule = snapshotResult.customRequire.cache[module];
|
||||||
|
|
||||||
|
if (cachedModule) return cachedModule.exports;
|
||||||
|
|
||||||
|
if (snapshotResult.customRequire.definitions[module]) {
|
||||||
|
cachedModule = {exports: snapshotResult.customRequire(module)};
|
||||||
|
} else {
|
||||||
|
cachedModule = {exports: originalLoad(module, ...args)};
|
||||||
|
}
|
||||||
|
|
||||||
|
snapshotResult.customRequire.cache[module] = cachedModule;
|
||||||
|
return cachedModule.exports;
|
||||||
|
};
|
||||||
|
|
||||||
|
snapshotResult.setGlobals(global, process, window, document, console, global.require);
|
||||||
|
}
|
||||||
98
package.json
98
package.json
|
|
@ -12,10 +12,14 @@
|
||||||
"test:unit": "ava",
|
"test:unit": "ava",
|
||||||
"test:unit:watch": "yarn run test:unit -- --watch",
|
"test:unit:watch": "yarn run test:unit -- --watch",
|
||||||
"test:e2e": "ava --config ava-e2e.config.js",
|
"test:e2e": "ava --config ava-e2e.config.js",
|
||||||
"postinstall": "webpack --config-name hyper-app && electron-builder install-app-deps && yarn run rebuild-node-pty && cpy --cwd=target --parents \"node_modules/**/*\" \"../app/\" && husky install",
|
"postinstall": "yarn run v8-snapshot && webpack --config-name hyper-app && electron-builder install-app-deps && yarn run rebuild-node-pty && cpy --cwd=target --parents \"node_modules/**/*\" \"../app/\" && husky install",
|
||||||
"rebuild-node-pty": "electron-rebuild -f -o node-pty -m target",
|
"rebuild-node-pty": "electron-rebuild -f -o node-pty -m target",
|
||||||
"dist": "yarn run build && cross-env BABEL_ENV=production babel target/renderer/bundle.js --out-file target/renderer/bundle.js --no-comments --minified && electron-builder",
|
"dist": "yarn run build && cross-env BABEL_ENV=production babel target/renderer/bundle.js --out-file target/renderer/bundle.js --no-comments --minified && electron-builder",
|
||||||
"clean": "node ./bin/rimraf-standalone.js node_modules && node ./bin/rimraf-standalone.js ./app/node_modules && node ./bin/rimraf-standalone.js ./app/renderer"
|
"clean": "node ./bin/rimraf-standalone.js node_modules && node ./bin/rimraf-standalone.js ./app/node_modules && node ./bin/rimraf-standalone.js ./app/renderer",
|
||||||
|
"v8-snapshot": "cross-env npm_config_arch=x64 yarn run v8-snapshot:arch && cross-env npm_config_arch=arm64 yarn run v8-snapshot:arch",
|
||||||
|
"v8-snapshot:arch":"yarn run mk-snapshot && yarn run cp-snapshot",
|
||||||
|
"mk-snapshot": "cross-env ELECTRON_CUSTOM_VERSION=$npm_package_devDependencies_electron node node_modules/electron-mksnapshot/download-mksnapshot.js && node bin/mk-snapshot.js",
|
||||||
|
"cp-snapshot": "node bin/cp-snapshot.js"
|
||||||
},
|
},
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"author": {
|
"author": {
|
||||||
|
|
@ -24,63 +28,63 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron/remote": "2.0.8",
|
"@electron/remote": "2.0.8",
|
||||||
"args": "5.0.1",
|
"args": "5.0.3",
|
||||||
"chalk": "5.0.1",
|
"chalk": "5.0.1",
|
||||||
"color": "4.2.1",
|
"color": "4.2.3",
|
||||||
"columnify": "1.6.0",
|
"columnify": "1.6.0",
|
||||||
"css-loader": "6.7.1",
|
"css-loader": "6.7.1",
|
||||||
"got": "12.0.3",
|
"got": "12.3.1",
|
||||||
"json-loader": "0.5.7",
|
"json-loader": "0.5.7",
|
||||||
"mousetrap": "chabou/mousetrap#useCapture",
|
"mousetrap": "chabou/mousetrap#useCapture",
|
||||||
"ms": "2.1.3",
|
"ms": "2.1.3",
|
||||||
"open": "8.4.0",
|
"open": "8.4.0",
|
||||||
"ora": "5.4.1",
|
"ora": "5.4.1",
|
||||||
"parse-url": "5.0.7",
|
"parse-url": "7.0.2",
|
||||||
"php-escape-shell": "1.0.0",
|
"php-escape-shell": "1.0.0",
|
||||||
"react": "17.0.2",
|
"react": "17.0.2",
|
||||||
"react-deep-force-update": "2.1.3",
|
"react-deep-force-update": "2.1.3",
|
||||||
"react-dom": "17.0.2",
|
"react-dom": "17.0.2",
|
||||||
"react-redux": "7.2.8",
|
"react-redux": "7.2.8",
|
||||||
"recast": "0.20.5",
|
"recast": "0.21.2",
|
||||||
"redux": "4.1.2",
|
"redux": "4.1.2",
|
||||||
"redux-thunk": "2.4.1",
|
"redux-thunk": "2.4.1",
|
||||||
"reselect": "4.1.5",
|
"reselect": "4.1.6",
|
||||||
"seamless-immutable": "7.1.4",
|
"seamless-immutable": "7.1.4",
|
||||||
"semver": "7.3.5",
|
"semver": "7.3.7",
|
||||||
"shebang-loader": "0.0.1",
|
"shebang-loader": "0.0.1",
|
||||||
"styled-jsx": "5.0.2",
|
"styled-jsx": "5.0.4",
|
||||||
"stylis": "3.5.4",
|
"stylis": "3.5.4",
|
||||||
"uuid": "8.3.2",
|
"uuid": "8.3.2",
|
||||||
"webpack-cli": "4.9.2",
|
"webpack-cli": "4.10.0",
|
||||||
"xterm": "4.19.0-beta.21",
|
"xterm": "4.19.0",
|
||||||
"xterm-addon-fit": "^0.5.0",
|
"xterm-addon-fit": "^0.5.0",
|
||||||
"xterm-addon-ligatures": "0.6.0-beta.14",
|
"xterm-addon-ligatures": "0.6.0-beta.19",
|
||||||
"xterm-addon-search": "^0.8.2",
|
"xterm-addon-search": "^0.9.0",
|
||||||
"xterm-addon-unicode11": "^0.3.0",
|
"xterm-addon-unicode11": "^0.3.0",
|
||||||
"xterm-addon-web-links": "^0.5.1",
|
"xterm-addon-web-links": "^0.6.0",
|
||||||
"xterm-addon-webgl": "0.12.0-beta.27"
|
"xterm-addon-webgl": "0.12.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ava/babel": "2.0.0",
|
"@ava/babel": "2.0.0",
|
||||||
"@ava/typescript": "^3.0.1",
|
"@ava/typescript": "^3.0.1",
|
||||||
"@babel/cli": "7.17.6",
|
"@babel/cli": "7.18.10",
|
||||||
"@babel/core": "7.17.8",
|
"@babel/core": "7.18.10",
|
||||||
"@babel/plugin-proposal-class-properties": "^7.16.7",
|
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
||||||
"@babel/plugin-proposal-numeric-separator": "^7.16.7",
|
"@babel/plugin-proposal-numeric-separator": "^7.18.6",
|
||||||
"@babel/plugin-proposal-object-rest-spread": "^7.17.3",
|
"@babel/plugin-proposal-object-rest-spread": "^7.18.9",
|
||||||
"@babel/plugin-proposal-optional-chaining": "7.16.7",
|
"@babel/plugin-proposal-optional-chaining": "7.18.9",
|
||||||
"@babel/preset-react": "7.16.7",
|
"@babel/preset-react": "7.18.6",
|
||||||
"@babel/preset-typescript": "7.16.7",
|
"@babel/preset-typescript": "7.18.6",
|
||||||
"@types/args": "5.0.0",
|
"@types/args": "5.0.0",
|
||||||
"@types/async-retry": "1.4.3",
|
"@types/async-retry": "1.4.3",
|
||||||
"@types/color": "3.0.3",
|
"@types/color": "3.0.3",
|
||||||
"@types/columnify": "^1.5.1",
|
"@types/columnify": "^1.5.1",
|
||||||
"@types/fs-extra": "9.0.13",
|
"@types/fs-extra": "9.0.13",
|
||||||
"@types/lodash": "^4.14.181",
|
"@types/lodash": "^4.14.182",
|
||||||
"@types/mkdirp": "1.0.2",
|
"@types/mkdirp": "1.0.2",
|
||||||
"@types/mousetrap": "1.6.9",
|
"@types/mousetrap": "1.6.9",
|
||||||
"@types/ms": "0.7.31",
|
"@types/ms": "0.7.31",
|
||||||
"@types/node": "16.11.21",
|
"@types/node": "16.11.48",
|
||||||
"@types/pify": "5.0.1",
|
"@types/pify": "5.0.1",
|
||||||
"@types/plist": "3.0.2",
|
"@types/plist": "3.0.2",
|
||||||
"@types/react": "^17.0.43",
|
"@types/react": "^17.0.43",
|
||||||
|
|
@ -92,38 +96,40 @@
|
||||||
"@types/uuid": "8.3.4",
|
"@types/uuid": "8.3.4",
|
||||||
"@typescript-eslint/eslint-plugin": "4.33.0",
|
"@typescript-eslint/eslint-plugin": "4.33.0",
|
||||||
"@typescript-eslint/parser": "4.33.0",
|
"@typescript-eslint/parser": "4.33.0",
|
||||||
"ava": "4.1.0",
|
"ava": "4.3.1",
|
||||||
"babel-loader": "8.2.4",
|
"babel-loader": "8.2.5",
|
||||||
"concurrently": "7.1.0",
|
"concurrently": "7.3.0",
|
||||||
"copy-webpack-plugin": "10.2.4",
|
"copy-webpack-plugin": "11.0.0",
|
||||||
"cpy-cli": "^3.1.1",
|
"cpy-cli": "^3.1.1",
|
||||||
"cross-env": "7.0.3",
|
"cross-env": "7.0.3",
|
||||||
"electron": "^17.2.0",
|
"electron": "19.0.8",
|
||||||
"electron-builder": "^22.14.13",
|
"electron-builder": "^23.3.3",
|
||||||
"electron-devtools-installer": "3.2.0",
|
"electron-devtools-installer": "3.2.0",
|
||||||
|
"electron-link": "^0.6.0",
|
||||||
|
"electron-mksnapshot": "20.0.0",
|
||||||
"electron-notarize": "1.2.1",
|
"electron-notarize": "1.2.1",
|
||||||
"electron-rebuild": "3.2.7",
|
"electron-rebuild": "3.2.9",
|
||||||
"electronmon": "^2.0.2",
|
"electronmon": "^2.0.2",
|
||||||
"eslint": "7.32.0",
|
"eslint": "7.32.0",
|
||||||
"eslint-config-prettier": "8.5.0",
|
"eslint-config-prettier": "8.5.0",
|
||||||
"eslint-plugin-eslint-comments": "^3.2.0",
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
||||||
"eslint-plugin-prettier": "4.0.0",
|
"eslint-plugin-prettier": "4.2.1",
|
||||||
"eslint-plugin-react": "7.29.4",
|
"eslint-plugin-react": "7.30.1",
|
||||||
"husky": "7.0.4",
|
"husky": "8.0.1",
|
||||||
"inquirer": "8.2.2",
|
"inquirer": "9.1.0",
|
||||||
"node-addon-api": "4.3.0",
|
"node-addon-api": "5.0.0",
|
||||||
"node-gyp": "9.0.0",
|
"node-gyp": "9.1.0",
|
||||||
"null-loader": "4.0.1",
|
"null-loader": "4.0.1",
|
||||||
"playwright": "1.20.2",
|
"playwright": "1.25.0",
|
||||||
"plist": "3.0.5",
|
"plist": "3.0.6",
|
||||||
"prettier": "2.6.2",
|
"prettier": "2.7.1",
|
||||||
"proxyquire": "2.1.3",
|
"proxyquire": "2.1.3",
|
||||||
"redux-devtools-extension": "2.13.9",
|
"redux-devtools-extension": "2.13.9",
|
||||||
"style-loader": "3.3.1",
|
"style-loader": "3.3.1",
|
||||||
"terser": "5.12.1",
|
"terser": "5.14.2",
|
||||||
"ts-node": "10.7.0",
|
"ts-node": "10.9.1",
|
||||||
"typescript": "4.6.3",
|
"typescript": "4.7.4",
|
||||||
"webpack": "5.71.0"
|
"webpack": "5.74.0"
|
||||||
},
|
},
|
||||||
"electronmon": {
|
"electronmon": {
|
||||||
"patterns": [
|
"patterns": [
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,36 @@ const config: webpack.Configuration[] = [
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
externals: {
|
||||||
|
'color-convert': 'require("./node_modules/color-convert/index.js")',
|
||||||
|
'color-string': 'require("./node_modules/color-string/index.js")',
|
||||||
|
columnify: 'require("./node_modules/columnify/columnify.js")',
|
||||||
|
lodash: 'require("./node_modules/lodash/lodash.js")',
|
||||||
|
ms: 'require("./node_modules/ms/index.js")',
|
||||||
|
'normalize-url': 'require("./node_modules/normalize-url/index.js")',
|
||||||
|
'parse-url': 'require("./node_modules/parse-url/lib/index.js")',
|
||||||
|
'php-escape-shell': 'require("./node_modules/php-escape-shell/php-escape-shell.js")',
|
||||||
|
plist: 'require("./node_modules/plist/index.js")',
|
||||||
|
'react-deep-force-update': 'require("./node_modules/react-deep-force-update/lib/index.js")',
|
||||||
|
'react-dom': 'require("./node_modules/react-dom/index.js")',
|
||||||
|
'react-redux': 'require("./node_modules/react-redux/lib/index.js")',
|
||||||
|
react: 'require("./node_modules/react/index.js")',
|
||||||
|
'redux-thunk': 'require("./node_modules/redux-thunk/lib/index.js")',
|
||||||
|
redux: 'require("./node_modules/redux/lib/redux.js")',
|
||||||
|
reselect: 'require("./node_modules/reselect/lib/index.js")',
|
||||||
|
'seamless-immutable': 'require("./node_modules/seamless-immutable/src/seamless-immutable.js")',
|
||||||
|
stylis: 'require("./node_modules/stylis/stylis.js")',
|
||||||
|
'xterm-addon-unicode11': 'require("./node_modules/xterm-addon-unicode11/lib/xterm-addon-unicode11.js")',
|
||||||
|
args: 'require("./node_modules/args/lib/index.js")',
|
||||||
|
mousetrap: 'require("./node_modules/mousetrap/mousetrap.js")',
|
||||||
|
open: 'require("./node_modules/open/index.js")',
|
||||||
|
'xterm-addon-fit': 'require("./node_modules/xterm-addon-fit/lib/xterm-addon-fit.js")',
|
||||||
|
'xterm-addon-ligatures': 'require("./node_modules/xterm-addon-ligatures/lib/xterm-addon-ligatures.js")',
|
||||||
|
'xterm-addon-search': 'require("./node_modules/xterm-addon-search/lib/xterm-addon-search.js")',
|
||||||
|
'xterm-addon-web-links': 'require("./node_modules/xterm-addon-web-links/lib/xterm-addon-web-links.js")',
|
||||||
|
'xterm-addon-webgl': 'require("./node_modules/xterm-addon-webgl/lib/xterm-addon-webgl.js")',
|
||||||
|
xterm: 'require("./node_modules/xterm/lib/xterm.js")'
|
||||||
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
new webpack.IgnorePlugin({resourceRegExp: /.*\.js.map$/i}),
|
new webpack.IgnorePlugin({resourceRegExp: /.*\.js.map$/i}),
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue