From 0ae654cd1dbe2a84ddaab70e37bb3c139cc95f25 Mon Sep 17 00:00:00 2001 From: sawka Date: Mon, 6 Nov 2023 12:03:12 -0800 Subject: [PATCH] upgrade electron/rebuild to get rid of weird lzma-native dependency --- build-linux.md | 24 +++++++++++++----------- forge.config.js | 6 ------ package.json | 2 +- yarn.lock | 43 ++----------------------------------------- 4 files changed, 16 insertions(+), 59 deletions(-) diff --git a/build-linux.md b/build-linux.md index 19b6bbeb9..7e552cc7d 100644 --- a/build-linux.md +++ b/build-linux.md @@ -13,6 +13,7 @@ If you install the production version of Wave, you'll see a semi-transparent sid Download and install Go (must be at least go 1.18). We also need gcc installed to run a CGO build (for Golang): ``` sudo snap install go --classic +sudo apt-get update sudo apt-get install gcc ``` @@ -55,17 +56,6 @@ Move out of the `scripthaus` directory if you're still in it. Clone the wave re git clone git@github.com:wavetermdev/waveterm.git ``` -## Building WaveShell / WaveSrv - -cd into the waveterm directory (if you haven't already) and run the build-backend command using `scripthaus`. - -``` -cd waveterm -scripthaus run build-backend -``` - -This builds the Golang backends for Wave. The binaries will put in waveshell/bin and wavesrv/bin respectively. If you're working on a new plugin or other pure frontend changes to Wave, you won't need to rebuild these unless you pull new code from the Wave Repository. - ## One-Time Setup Install Wave modules (we use yarn): @@ -79,6 +69,18 @@ Electron also requires specific builds of node_modules to work (because Electron scripthaus run electron-rebuild ``` +## Building WaveShell / WaveSrv + +cd into the waveterm directory (if you haven't already) and run the build-backend command using `scripthaus`. + +``` +cd waveterm +scripthaus run build-backend +``` + +This builds the Golang backends for Wave. The binaries will put in waveshell/bin and wavesrv/bin respectively. If you're working on a new plugin or other pure frontend changes to Wave, you won't need to rebuild these unless you pull new code from the Wave Repository. + + ## Running WebPack We use webpack to build both the React and Electron App Wrapper code. They are both run together using: diff --git a/forge.config.js b/forge.config.js index a7f979064..c73f1e14c 100644 --- a/forge.config.js +++ b/forge.config.js @@ -7,9 +7,6 @@ var AllowedFirstParts = { }; var AllowedNodeModules = { - // "lzma-native": true, - // "fs-ext": true, - // "fsevents": true, "monaco-editor": true, }; @@ -54,9 +51,6 @@ module.exports = { "package.json", "dist/*", "public/*", - "node_modules/lzma-native/**", - "node_modules/fs-ext/**", - "node_modules/fsevents/**", ], icon: "public/waveterm.icns", }, diff --git a/package.json b/package.json index 6eada7854..77c030fa0 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "@electron-forge/maker-snap": "^6.4.2", "@electron-forge/maker-squirrel": "^6.0.0-beta.70", "@electron-forge/maker-zip": "^6.0.0-beta.70", + "@electron/rebuild": "^3.3.0", "@svgr/webpack": "^8.1.0", "@types/classnames": "^2.3.1", "@types/electron": "^1.6.10", @@ -66,7 +67,6 @@ "copy-webpack-plugin": "^11.0.0", "css-loader": "^6.7.1", "electron": "27.0.0", - "electron-rebuild": "^3.2.8", "file-loader": "^6.2.0", "http-server": "^14.1.1", "less": "^4.1.2", diff --git a/yarn.lock b/yarn.lock index c40eaa991..60731a996 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1363,7 +1363,7 @@ minimist "^1.2.6" plist "^3.0.5" -"@electron/rebuild@^3.2.10": +"@electron/rebuild@^3.2.10", "@electron/rebuild@^3.3.0": version "3.3.0" resolved "https://registry.yarnpkg.com/@electron/rebuild/-/rebuild-3.3.0.tgz#6ba0ae1cb545b2e314901d2ac175ca9c03a2e3da" integrity sha512-S1vgpzIOS1wCJmsYjdLz97MTUV6UTLcMk/HE3w90HYtVxvW+PQdwxLbgsrECX2bysqcnmM5a0K6mXj/gwVgYtQ== @@ -3367,26 +3367,6 @@ electron-packager@^17.1.2: semver "^7.1.3" yargs-parser "^21.1.1" -electron-rebuild@^3.2.8: - version "3.2.9" - resolved "https://registry.yarnpkg.com/electron-rebuild/-/electron-rebuild-3.2.9.tgz#ea372be15f591f8d6d978ee9bca6526dadbcf20f" - integrity sha512-FkEZNFViUem3P0RLYbZkUjC8LUFIK+wKq09GHoOITSJjfDAVQv964hwaNseTTWt58sITQX3/5fHNYcTefqaCWw== - dependencies: - "@malept/cross-spawn-promise" "^2.0.0" - chalk "^4.0.0" - debug "^4.1.1" - detect-libc "^2.0.1" - fs-extra "^10.0.0" - got "^11.7.0" - lzma-native "^8.0.5" - node-abi "^3.0.0" - node-api-version "^0.1.4" - node-gyp "^9.0.0" - ora "^5.1.0" - semver "^7.3.5" - tar "^6.0.5" - yargs "^17.0.1" - electron-squirrel-startup@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/electron-squirrel-startup/-/electron-squirrel-startup-1.0.0.tgz#19b4e55933fa0ef8f556784b9c660f772546a0b8" @@ -5056,15 +5036,6 @@ lru-cache@^7.7.1: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.0.1.tgz#0a3be479df549cca0e5d693ac402ff19537a6b7a" integrity sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g== -lzma-native@^8.0.5: - version "8.0.6" - resolved "https://registry.yarnpkg.com/lzma-native/-/lzma-native-8.0.6.tgz#3ea456209d643bafd9b5d911781bdf0b396b2665" - integrity sha512-09xfg67mkL2Lz20PrrDeNYZxzeW7ADtpYFbwSQh9U8+76RIzx5QsJBMy8qikv3hbUPfpy6hqwxt6FcGK81g9AA== - dependencies: - node-addon-api "^3.1.0" - node-gyp-build "^4.2.1" - readable-stream "^3.6.0" - make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -5819,18 +5790,13 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-abi@^3.0.0, node-abi@^3.45.0: +node-abi@^3.45.0: version "3.48.0" resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.48.0.tgz#122d132ae1ac097b0d711144560b17922de026ab" integrity sha512-uWR/uwQyVV2iN5+Wkf1/oQxOR9YjU7gBclJLg2qK7GDvVohcnY6LaBXKV89N79EQFyN4/e43O32yQYE5QdFYTA== dependencies: semver "^7.3.5" -node-addon-api@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" - integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== - node-api-version@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/node-api-version/-/node-api-version-0.1.4.tgz#1ed46a485e462d55d66b5aa1fe2821720dedf080" @@ -5864,11 +5830,6 @@ node-forge@^1: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== -node-gyp-build@^4.2.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.1.tgz#24b6d075e5e391b8d5539d98c7fc5c210cac8a3e" - integrity sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ== - node-gyp@^9.0.0: version "9.4.0" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.0.tgz#2a7a91c7cba4eccfd95e949369f27c9ba704f369"