HathorNetwork / hathor-wallet

Hathor Official Wallet for Desktop
https://hathor.network/
MIT License
33 stars 26 forks source link

[Build Request] Node 20 #493

Closed tuliomir closed 7 months ago

tuliomir commented 8 months ago

The PR #425 upgrades the whole application to NodeJS 20 and has been tested on Linux and Windows already.

It would be nice to know beforehand if the build process works with this upgrade as well. This issue requests builds for Linux, Windows and Mac environments.

In this specific context it's not necessary to make a full release with version tags, as the artifacts will not be published anywhere and will just confirm the correct build ( and notarization, for Mac ).

msbrogli commented 8 months ago

Done! I successfully run the build and packaging. Everything went fine but I haven't tested the binaries and run the QA.

I did everything at the following commit:

❯ git log -n1
commit 45ea265e0b5984922bbfb5fdba81860666151a92 (HEAD -> chore/node18, origin/chore/node18)
Author: tuliomir <tulio.mir@gmail.com>
Date:   Thu Jan 11 16:08:02 2024 -0300

    feat: update to Node.js 20

Here is the log:

Environment:
- node v20.11.0
- npm 10.2.4
- python 3.11.6

step1: cleaning and installing dependencies
npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile
npm WARN deprecated @npmcli/move-file@1.1.2: This functionality has been moved to @npmcli/fs
npm WARN deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated flatten@1.0.3: flatten is deprecated in favor of utility frameworks such as lodash.
npm WARN deprecated @babel/plugin-proposal-unicode-property-regex@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.
npm WARN deprecated @babel/plugin-proposal-private-property-in-object@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.
npm WARN deprecated @babel/plugin-proposal-nullish-coalescing-operator@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
npm WARN deprecated @babel/plugin-proposal-optional-catch-binding@7.16.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
npm WARN deprecated @babel/plugin-proposal-numeric-separator@7.16.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
npm WARN deprecated @babel/plugin-proposal-private-methods@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
npm WARN deprecated @babel/plugin-proposal-class-static-block@7.18.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead.
npm WARN deprecated @babel/plugin-proposal-class-properties@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
npm WARN deprecated @babel/plugin-proposal-dynamic-import@7.16.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.
npm WARN deprecated @babel/plugin-proposal-json-strings@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.
npm WARN deprecated @babel/plugin-proposal-export-namespace-from@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.
npm WARN deprecated @babel/plugin-proposal-logical-assignment-operators@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.
npm WARN deprecated @babel/plugin-proposal-optional-chaining@7.6.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
npm WARN deprecated rollup-plugin-terser@5.3.1: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
npm WARN deprecated figgy-pudding@3.5.2: This module is no longer supported.
npm WARN deprecated @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @babel/plugin-proposal-async-generator-functions@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @babel/plugin-proposal-optional-chaining@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated koa-router@9.4.0: **IMPORTANT 10x+ PERFORMANCE UPGRADE**: Please upgrade to v12.0.1+ as we have fixed an issue with debuglog causing 10x slower router benchmark performance, see https://github.com/koajs/router/pull/173
npm WARN deprecated domexception@2.0.1: Use your platform's native DOMException instead
npm WARN deprecated @babel/plugin-proposal-object-rest-spread@7.18.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
npm WARN deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated sourcemap-codec@1.4.8: Please use @jridgewell/sourcemap-codec instead
npm WARN deprecated sane@4.1.0: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added
npm WARN deprecated mini-create-react-context@0.4.1: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
npm WARN deprecated fsevents@1.2.13: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated fsevents@1.2.13: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
npm WARN deprecated @hapi/address@2.1.4: Moved to 'npm install @sideway/address'
npm WARN deprecated rollup-plugin-babel@4.4.0: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-babel.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/joi@15.1.1: Switch to 'npm install joi'
npm WARN deprecated svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm WARN deprecated viz.js@2.1.2: 2.x is no longer supported, 3.x published as @viz-js/viz
npm WARN deprecated popper.js@1.16.1: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.

> hathor-wallet@0.27.1-rc3 postinstall
> npx cross-env ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true npm run electron-deps && patch-package

> hathor-wallet@0.27.1-rc3 electron-deps
> electron-builder install-app-deps

  • electron-builder  version=24.6.4
  • loaded configuration  file=package.json ("build" field)
  • loaded parent configuration  preset=react-cra
  • rebuilding native dependencies  dependencies=classic-level@1.3.0, node-hid@2.2.0, usb@2.9.0, fsevents@1.2.13, fsevents@1.2.13 platform=darwin arch=x64
  • install prebuilt binary  name=node-hid version=2.2.0 platform=darwin arch=x64 napi=
                                                                                       patch-package 6.4.7
Applying patches...
elliptic/bn.js@4.12.0 ✔

added 3275 packages, and audited 3276 packages in 57s

263 packages are looking for funding
  run `npm fund` for details

126 vulnerabilities (1 low, 92 moderate, 21 high, 12 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.
npm notice
npm notice New minor version of npm available! 10.2.4 -> 10.4.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.4.0
npm notice Run npm install -g npm@10.4.0 to update!
npm notice
step2: transaction checks and building
./scripts/check_version
./scripts/check_pot
check_pot: Checking pot file...
⠋ [ttag] extracting translations to /var/folders/2n/9t1x8tkn3f736wh8y0j8zxt40000gn/T/tmp.lLQxquaxm3/pot ...Browserslist: caniuse-lite is outdated. Please run:
  npx browserslist@latest --update-db
  Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating
✔ [ttag] translations extracted to /var/folders/2n/9t1x8tkn3f736wh8y0j8zxt40000gn/T/tmp.lLQxquaxm3/pot
touch ./locale/texts.pot
make: Nothing to be done for `i18n'.

> hathor-wallet@0.27.1-rc3 build
> npm-run-all build-css build-js

> hathor-wallet@0.27.1-rc3 build-css
> sass --no-source-map src/index.scss src/index.css

> hathor-wallet@0.27.1-rc3 build-js
> react-scripts --openssl-legacy-provider build

Creating an optimized production build...
Browserslist: caniuse-lite is outdated. Please run:
  npx browserslist@latest --update-db
  Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating
Compiled successfully.

File sizes after gzip:

  1.14 MB    build/static/js/2.eace2e85.chunk.js
  112.84 KB  build/static/js/main.2fc70fbc.chunk.js
  29.33 KB   build/static/css/2.7da0a745.chunk.css
  3.13 KB    build/static/css/main.edb65885.chunk.css
  784 B      build/static/js/runtime-main.139580c6.js

The bundle size is significantly larger than recommended.
Consider reducing it with code splitting: https://goo.gl/9VhYWB
You can also analyze the project dependencies: https://goo.gl/LeUzfb

The project was built assuming it is hosted at ./.
You can control this with the homepage field in your package.json.

The build folder is ready to be deployed.

Find out more about deployment here:

  https://cra.link/deployment

step3: (empty)
step4: packing
Enter WIN_EV_TOKEN_PASSWORD:
> hathor-wallet@0.27.1-rc3 electron-pack-linux
> electron-builder --linux -c.extraMetadata.main=build/electron.js

  • electron-builder  version=24.6.4 os=23.1.0
  • loaded configuration  file=package.json ("build" field)
  • loaded parent configuration  preset=react-cra
  • writing effective config  file=dist/builder-effective-config.yaml
  • rebuilding native dependencies  dependencies=classic-level@1.3.0, node-hid@2.2.0, usb@2.9.0, fsevents@1.2.13, fsevents@1.2.13 platform=linux arch=x64
  • install prebuilt binary  name=node-hid version=2.2.0 platform=linux arch=x64 napi=
                                                                                        • packaging       platform=linux arch=x64 electron=27.1.3 appOutDir=dist/linux-unpacked
  • building        target=AppImage arch=x64 file=dist/Hathor Wallet-0.27.1-rc3.AppImage
  • application Linux category is set to default "Utility"  reason=linux.category is not set and cannot map from macOS docs=https://www.electron.build/configuration/linux
  • building        target=deb arch=x64 file=dist/hathor-wallet_0.27.1-rc3_amd64.deb
  • adding autoupdate files for: deb. (Beta feature)  resourceDir=/Users/msbrogli/Hathor/hathor-wallet-desktop/dist/linux-unpacked/resources
  • application Linux category is set to default "Utility"  reason=linux.category is not set and cannot map from macOS docs=https://www.electron.build/configuration/linux

> hathor-wallet@0.27.1-rc3 electron-pack-win
> electron-builder --win -c.extraMetadata.main=build/electron.js

  • electron-builder  version=24.6.4 os=23.1.0
  • loaded configuration  file=package.json ("build" field)
  • loaded parent configuration  preset=react-cra
  • writing effective config  file=dist/builder-effective-config.yaml
  • rebuilding native dependencies  dependencies=classic-level@1.3.0, node-hid@2.2.0, usb@2.9.0, fsevents@1.2.13, fsevents@1.2.13 platform=win32 arch=x64
  • install prebuilt binary  name=node-hid version=2.2.0 platform=win32 arch=x64 napi=
                                                                                        • packaging       platform=win32 arch=x64 electron=27.1.3 appOutDir=dist/win-unpacked
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/Hathor Wallet.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/Hathor Wallet.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/snoreToast/snoretoast-x64.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/snoreToast/snoretoast-x86.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/notifu/notifu.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/notifu/notifu64.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/snoreToast/snoretoast-x64.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/snoreToast/snoretoast-x86.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/notifu/notifu.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/notifu/notifu64.exe
  • building        target=nsis file=dist/Hathor Wallet Setup 0.27.1-rc3.exe archs=x64 oneClick=true perMachine=false
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/elevate.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/elevate.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/__uninstaller-nsis-hathor-wallet.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/__uninstaller-nsis-hathor-wallet.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/Hathor Wallet Setup 0.27.1-rc3.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/Hathor Wallet Setup 0.27.1-rc3.exe
  • building block map  blockMapFile=dist/Hathor Wallet Setup 0.27.1-rc3.exe.blockmap

> hathor-wallet@0.27.1-rc3 electron-pack-mac
> electron-builder --mac -c.extraMetadata.main=build/electron.js

  • electron-builder  version=24.6.4 os=23.1.0
  • loaded configuration  file=package.json ("build" field)
  • loaded parent configuration  preset=react-cra
  • writing effective config  file=dist/builder-effective-config.yaml
  • rebuilding native dependencies  dependencies=classic-level@1.3.0, node-hid@2.2.0, usb@2.9.0, fsevents@1.2.13, fsevents@1.2.13 platform=darwin arch=x64
  • install prebuilt binary  name=node-hid version=2.2.0 platform=darwin arch=x64 napi=
                                                                                         • packaging       platform=darwin arch=x64 electron=27.1.3 appOutDir=dist/mac
  • signing         file=dist/mac/Hathor Wallet.app identityName=Developer ID Application: Hathor Labs (55SHY647CG) identityHash=78718915CA51CDAF258DBE823B165B0D9BD8B0A7 provisioningProfile=keys/mac_production.provisionprofile
  • notarization successful
  • building        target=DMG arch=x64 file=dist/Hathor Wallet-0.27.1-rc3.dmg
  • building block map  blockMapFile=dist/Hathor Wallet-0.27.1-rc3.dmg.blockmap
tuliomir commented 7 months ago

When trying to run the executables on Ubuntu 22, the following error was raised. I believe it is related to #484

A JavaScript error occurred in the main process
Uncaught Exception:
Error: /tmp/.org.chromium.Chromium.SXqKqS: invalid ELF header
    at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:2131)
    at Object.<anonymous> (node:internal/modules/cjs/loader:1356:18)
    at Object.func [as .node] (node:electron/js2c/asar_bundle:2:2358)
    at Module.load (node:internal/modules/cjs/loader:1126:32)
    at node:internal/modules/cjs/loader:967:12
    at Function._load (node:electron/js2c/asar_bundle:2:13327)
    at Module.require (node:internal/modules/cjs/loader:1150:19)
    at require (node:internal/modules/cjs/helpers:121:18)
    at load (/tmp/.mount_walletfDdj30/resources/app.asar/node_modules/usb/node_modules/node-gyp-build/node-gyp-build.js:22:10)
    at Object.<anonymous> (/tmp/.mount_walletfDdj30/resources/app.asar/node_modules/usb/dist/usb/bindings.js:8:36)
msbrogli commented 7 months ago

When trying to run the executables on Ubuntu 22, the following error was raised. I believe it is related to https://github.com/HathorNetwork/hathor-wallet/issues/484

Yes, it is. I just applied the patch and rebuilt all binaries.

Log:

Environment:
- node v20.11.0
- npm 10.2.4
- python 3.11.6

step1: cleaning and installing dependencies
npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile
npm WARN deprecated @npmcli/move-file@1.1.2: This functionality has been moved to @npmcli/fs
npm WARN deprecated stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated flatten@1.0.3: flatten is deprecated in favor of utility frameworks such as lodash.
npm WARN deprecated @babel/plugin-proposal-private-property-in-object@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.
npm WARN deprecated @babel/plugin-proposal-unicode-property-regex@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.
npm WARN deprecated @babel/plugin-proposal-private-methods@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
npm WARN deprecated @babel/plugin-proposal-optional-catch-binding@7.16.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
npm WARN deprecated @babel/plugin-proposal-numeric-separator@7.16.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
npm WARN deprecated @babel/plugin-proposal-nullish-coalescing-operator@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
npm WARN deprecated @babel/plugin-proposal-export-namespace-from@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.
npm WARN deprecated @babel/plugin-proposal-class-static-block@7.18.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead.
npm WARN deprecated @babel/plugin-proposal-json-strings@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.
npm WARN deprecated @babel/plugin-proposal-dynamic-import@7.16.7: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.
npm WARN deprecated @babel/plugin-proposal-logical-assignment-operators@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.
npm WARN deprecated @babel/plugin-proposal-class-properties@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
npm WARN deprecated @babel/plugin-proposal-optional-chaining@7.6.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
npm WARN deprecated rollup-plugin-terser@5.3.1: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
npm WARN deprecated figgy-pudding@3.5.2: This module is no longer supported.
npm WARN deprecated @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @babel/plugin-proposal-async-generator-functions@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @babel/plugin-proposal-optional-chaining@7.17.12: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated koa-router@9.4.0: **IMPORTANT 10x+ PERFORMANCE UPGRADE**: Please upgrade to v12.0.1+ as we have fixed an issue with debuglog causing 10x slower router benchmark performance, see https://github.com/koajs/router/pull/173
npm WARN deprecated domexception@2.0.1: Use your platform's native DOMException instead
npm WARN deprecated @babel/plugin-proposal-object-rest-spread@7.18.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
npm WARN deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated sourcemap-codec@1.4.8: Please use @jridgewell/sourcemap-codec instead
npm WARN deprecated sane@4.1.0: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added
npm WARN deprecated mini-create-react-context@0.4.1: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
npm WARN deprecated fsevents@1.2.13: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2
npm WARN deprecated fsevents@1.2.13: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
npm WARN deprecated @hapi/address@2.1.4: Moved to 'npm install @sideway/address'
npm WARN deprecated rollup-plugin-babel@4.4.0: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-babel.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/joi@15.1.1: Switch to 'npm install joi'
npm WARN deprecated svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm WARN deprecated viz.js@2.1.2: 2.x is no longer supported, 3.x published as @viz-js/viz
npm WARN deprecated popper.js@1.16.1: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.

> hathor-wallet@0.27.1-rc3 postinstall
> npx cross-env ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true npm run electron-deps && patch-package

> hathor-wallet@0.27.1-rc3 electron-deps
> electron-builder install-app-deps

  • electron-builder  version=24.6.4
  • loaded configuration  file=package.json ("build" field)
  • loaded parent configuration  preset=react-cra
  • rebuilding native dependencies  dependencies=classic-level@1.3.0, node-hid@2.2.0, usb@2.9.0, fsevents@1.2.13, fsevents@1.2.13 platform=darwin arch=x64
  • install prebuilt binary  name=node-hid version=2.2.0 platform=darwin arch=x64 napi=
                                                                                       patch-package 6.4.7
Applying patches...
elliptic/bn.js@4.12.0 ✔

added 3275 packages, and audited 3276 packages in 1m

263 packages are looking for funding
  run `npm fund` for details

126 vulnerabilities (1 low, 92 moderate, 21 high, 12 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.
step2: transaction checks and building
./scripts/check_version
./scripts/check_pot
check_pot: Checking pot file...
⠋ [ttag] extracting translations to /var/folders/2n/9t1x8tkn3f736wh8y0j8zxt40000gn/T/tmp.fDKRuCZSa4/pot ...Browserslist: caniuse-lite is outdated. Please run:
  npx browserslist@latest --update-db
  Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating
✔ [ttag] translations extracted to /var/folders/2n/9t1x8tkn3f736wh8y0j8zxt40000gn/T/tmp.fDKRuCZSa4/pot
touch ./locale/texts.pot
make: Nothing to be done for `i18n'.

> hathor-wallet@0.27.1-rc3 build
> npm-run-all build-css build-js

> hathor-wallet@0.27.1-rc3 build-css
> sass --no-source-map src/index.scss src/index.css

> hathor-wallet@0.27.1-rc3 build-js
> react-scripts --openssl-legacy-provider build

Creating an optimized production build...
Browserslist: caniuse-lite is outdated. Please run:
  npx browserslist@latest --update-db
  Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating
Compiled successfully.

File sizes after gzip:

  1.14 MB    build/static/js/2.eace2e85.chunk.js
  112.84 KB  build/static/js/main.2fc70fbc.chunk.js
  29.33 KB   build/static/css/2.7da0a745.chunk.css
  3.13 KB    build/static/css/main.edb65885.chunk.css
  784 B      build/static/js/runtime-main.139580c6.js

The bundle size is significantly larger than recommended.
Consider reducing it with code splitting: https://goo.gl/9VhYWB
You can also analyze the project dependencies: https://goo.gl/LeUzfb

The project was built assuming it is hosted at ./.
You can control this with the homepage field in your package.json.

The build folder is ready to be deployed.

Find out more about deployment here:

  https://cra.link/deployment

step3: (empty)
step4: packing
Enter WIN_EV_TOKEN_PASSWORD:
> hathor-wallet@0.27.1-rc3 electron-pack-linux
> electron-builder --linux -c.extraMetadata.main=build/electron.js

  • electron-builder  version=24.6.4 os=23.3.0
  • loaded configuration  file=package.json ("build" field)
  • loaded parent configuration  preset=react-cra
  • writing effective config  file=dist/builder-effective-config.yaml
  • rebuilding native dependencies  dependencies=classic-level@1.3.0, node-hid@2.2.0, fsevents@1.2.13, fsevents@1.2.13 platform=linux arch=x64
  • install prebuilt binary  name=node-hid version=2.2.0 platform=linux arch=x64 napi=
                                                                                        • packaging       platform=linux arch=x64 electron=27.1.3 appOutDir=dist/linux-unpacked
  • building        target=AppImage arch=x64 file=dist/Hathor Wallet-0.27.1-rc3.AppImage
  • application Linux category is set to default "Utility"  reason=linux.category is not set and cannot map from macOS docs=https://www.electron.build/configuration/linux
  • building        target=deb arch=x64 file=dist/hathor-wallet_0.27.1-rc3_amd64.deb
  • adding autoupdate files for: deb. (Beta feature)  resourceDir=/Users/msbrogli/Hathor/hathor-wallet-desktop/dist/linux-unpacked/resources
  • application Linux category is set to default "Utility"  reason=linux.category is not set and cannot map from macOS docs=https://www.electron.build/configuration/linux

> hathor-wallet@0.27.1-rc3 electron-pack-win
> electron-builder --win -c.extraMetadata.main=build/electron.js

  • electron-builder  version=24.6.4 os=23.3.0
  • loaded configuration  file=package.json ("build" field)
  • loaded parent configuration  preset=react-cra
  • writing effective config  file=dist/builder-effective-config.yaml
  • rebuilding native dependencies  dependencies=classic-level@1.3.0, node-hid@2.2.0, fsevents@1.2.13, fsevents@1.2.13 platform=win32 arch=x64
  • install prebuilt binary  name=node-hid version=2.2.0 platform=win32 arch=x64 napi=
                                                                                        • packaging       platform=win32 arch=x64 electron=27.1.3 appOutDir=dist/win-unpacked
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/Hathor Wallet.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/Hathor Wallet.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/snoreToast/snoretoast-x64.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/snoreToast/snoretoast-x86.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/notifu/notifu.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/notifu/notifu64.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/snoreToast/snoretoast-x64.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/snoreToast/snoretoast-x86.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/notifu/notifu.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/app.asar.unpacked/node_modules/node-notifier/vendor/notifu/notifu64.exe
  • building        target=nsis file=dist/Hathor Wallet Setup 0.27.1-rc3.exe archs=x64 oneClick=true perMachine=false
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/elevate.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/win-unpacked/resources/elevate.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/__uninstaller-nsis-hathor-wallet.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/__uninstaller-nsis-hathor-wallet.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/Hathor Wallet Setup 0.27.1-rc3.exe
Adding Authenticode signature to /Users/msbrogli/Hathor/hathor-wallet-desktop/dist/Hathor Wallet Setup 0.27.1-rc3.exe
  • building block map  blockMapFile=dist/Hathor Wallet Setup 0.27.1-rc3.exe.blockmap

> hathor-wallet@0.27.1-rc3 electron-pack-mac
> electron-builder --mac -c.extraMetadata.main=build/electron.js

  • electron-builder  version=24.6.4 os=23.3.0
  • loaded configuration  file=package.json ("build" field)
  • loaded parent configuration  preset=react-cra
  • writing effective config  file=dist/builder-effective-config.yaml
  • rebuilding native dependencies  dependencies=classic-level@1.3.0, node-hid@2.2.0, fsevents@1.2.13, fsevents@1.2.13 platform=darwin arch=x64
  • install prebuilt binary  name=node-hid version=2.2.0 platform=darwin arch=x64 napi=
                                                                                         • packaging       platform=darwin arch=x64 electron=27.1.3 appOutDir=dist/mac
  • signing         file=dist/mac/Hathor Wallet.app identityName=Developer ID Application: Hathor Labs (55SHY647CG) identityHash=78718915CA51CDAF258DBE823B165B0D9BD8B0A7 provisioningProfile=keys/mac_production.provisionprofile
  • notarization successful
  • building        target=DMG arch=x64 file=dist/Hathor Wallet-0.27.1-rc3.dmg
  • building block map  blockMapFile=dist/Hathor Wallet-0.27.1-rc3.dmg.blockmap
tuliomir commented 7 months ago

The binaries worked on Ubuntu Linux and Windows :+1: