From 263ec62fe90aa6f2f98fcb8be39f2f32b390de6d Mon Sep 17 00:00:00 2001 From: Marconi Filho Date: Sat, 3 Aug 2024 15:26:28 -0300 Subject: [PATCH 1/2] Adds support to Apple Silicon build (arm64) --- electron-builder.json | 3 +- package.json | 1 + pnpm-lock.yaml | 349 +++++++++++++++++------------------------- 3 files changed, 146 insertions(+), 207 deletions(-) diff --git a/electron-builder.json b/electron-builder.json index 8b33c62..4a2aeb4 100644 --- a/electron-builder.json +++ b/electron-builder.json @@ -26,7 +26,8 @@ { "target": "dmg", "arch": [ - "x64" + "x64", + "arm64" ] } ], diff --git a/package.json b/package.json index ce99bd7..b91d5cf 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "@angular/platform-browser": "18.0.6", "@angular/platform-browser-dynamic": "18.0.6", "@angular/router": "18.0.6", + "@electron/universal": "^2.0.1", "bootstrap-icons": "1.11.3", "bottleneck": "2.19.5", "culori": "4.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8298aa9..73c3835 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,185 +9,188 @@ importers: .: dependencies: '@angular/animations': - specifier: ^18.0.6 + specifier: 18.0.6 version: 18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2)) '@angular/common': - specifier: ^18.0.6 + specifier: 18.0.6 version: 18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2))(rxjs@7.8.1) '@angular/compiler': - specifier: ^18.0.6 + specifier: 18.0.6 version: 18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2)) '@angular/core': - specifier: ^18.0.6 + specifier: 18.0.6 version: 18.0.6(rxjs@7.8.1)(zone.js@0.14.2) '@angular/forms': - specifier: ^18.0.6 + specifier: 18.0.6 version: 18.0.6(@angular/common@18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2))(rxjs@7.8.1))(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2))(@angular/platform-browser@18.0.6(@angular/animations@18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2)))(@angular/common@18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2))(rxjs@7.8.1))(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2)))(rxjs@7.8.1) '@angular/platform-browser': - specifier: ^18.0.6 + specifier: 18.0.6 version: 18.0.6(@angular/animations@18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2)))(@angular/common@18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2))(rxjs@7.8.1))(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2)) '@angular/platform-browser-dynamic': - specifier: ^18.0.6 + specifier: 18.0.6 version: 18.0.6(@angular/common@18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2))(rxjs@7.8.1))(@angular/compiler@18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2)))(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2))(@angular/platform-browser@18.0.6(@angular/animations@18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2)))(@angular/common@18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2))(rxjs@7.8.1))(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2))) '@angular/router': - specifier: ^18.0.6 + specifier: 18.0.6 version: 18.0.6(@angular/common@18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2))(rxjs@7.8.1))(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2))(@angular/platform-browser@18.0.6(@angular/animations@18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2)))(@angular/common@18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2))(rxjs@7.8.1))(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2)))(rxjs@7.8.1) + '@electron/universal': + specifier: ^2.0.1 + version: 2.0.1 bootstrap-icons: - specifier: ^1.11.3 + specifier: 1.11.3 version: 1.11.3 bottleneck: - specifier: ^2.19.5 + specifier: 2.19.5 version: 2.19.5 culori: - specifier: ^4.0.1 + specifier: 4.0.1 version: 4.0.1 dayjs: - specifier: ^1.11.11 + specifier: 1.11.11 version: 1.11.11 electron-unhandled: - specifier: ^5.0.0 + specifier: 5.0.0 version: 5.0.0 electron-updater: - specifier: ^6.2.1 + specifier: 6.2.1 version: 6.2.1 electron-window-state: - specifier: ^5.0.3 + specifier: 5.0.3 version: 5.0.3 eventemitter3: - specifier: ^5.0.1 + specifier: 5.0.1 version: 5.0.1 fs-extra: - specifier: ^11.2.0 + specifier: 11.2.0 version: 11.2.0 lodash: - specifier: ^4.17.21 + specifier: 4.17.21 version: 4.17.21 parse-sng: - specifier: ^4.0.1 + specifier: 4.0.1 version: 4.0.1 rxjs: - specifier: ~7.8.1 + specifier: 7.8.1 version: 7.8.1 sanitize-filename: - specifier: ^1.6.3 + specifier: 1.6.3 version: 1.6.3 scan-chart: - specifier: ^4.1.4 + specifier: 4.1.4 version: 4.1.4 three: - specifier: ^0.166.1 + specifier: 0.166.1 version: 0.166.1 tslib: - specifier: ^2.6.3 + specifier: 2.6.3 version: 2.6.3 zod: - specifier: ^3.23.8 + specifier: 3.23.8 version: 3.23.8 zone.js: - specifier: ~0.14.2 + specifier: 0.14.2 version: 0.14.2 devDependencies: '@angular-eslint/builder': specifier: 18.1.0 version: 18.1.0(eslint@8.57.0)(typescript@5.4.5) '@angular-eslint/eslint-plugin': - specifier: ^18.1.0 + specifier: 18.1.0 version: 18.1.0(@typescript-eslint/utils@7.16.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) '@angular-eslint/eslint-plugin-template': - specifier: ^18.1.0 + specifier: 18.1.0 version: 18.1.0(@typescript-eslint/utils@7.16.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) '@angular-eslint/schematics': - specifier: ^18.1.0 + specifier: 18.1.0 version: 18.1.0(@angular-devkit/core@18.0.7(chokidar@3.6.0))(@angular-devkit/schematics@18.0.7(chokidar@3.6.0))(@typescript-eslint/utils@7.16.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) '@angular-eslint/template-parser': - specifier: ^18.1.0 + specifier: 18.1.0 version: 18.1.0(eslint@8.57.0)(typescript@5.4.5) '@angular/build': - specifier: ^18.0.7 + specifier: 18.0.7 version: 18.0.7(@angular/compiler-cli@18.0.6(@angular/compiler@18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2)))(typescript@5.4.5))(@types/node@18.16.0)(chokidar@3.6.0)(postcss@8.4.39)(tailwindcss@3.4.4)(typescript@5.4.5) '@angular/cli': - specifier: ^18.0.7 + specifier: 18.0.7 version: 18.0.7(chokidar@3.6.0) '@angular/compiler-cli': - specifier: ^18.0.6 + specifier: 18.0.6 version: 18.0.6(@angular/compiler@18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2)))(typescript@5.4.5) '@angular/language-service': - specifier: ^18.0.6 + specifier: 18.0.6 version: 18.0.6 '@types/culori': - specifier: ^2.1.1 + specifier: 2.1.1 version: 2.1.1 '@types/fs-extra': - specifier: ^11.0.4 + specifier: 11.0.4 version: 11.0.4 '@types/lodash': - specifier: ^4.17.6 + specifier: 4.17.6 version: 4.17.6 '@types/node': - specifier: ^18.16.0 + specifier: 18.16.0 version: 18.16.0 '@types/three': - specifier: ^0.166.0 + specifier: 0.166.0 version: 0.166.0 '@typescript-eslint/eslint-plugin': - specifier: ^7.16.0 + specifier: 7.16.0 version: 7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': - specifier: ^7.16.0 + specifier: 7.16.0 version: 7.16.0(eslint@8.57.0)(typescript@5.4.5) concurrently: - specifier: ^8.2.2 + specifier: 8.2.2 version: 8.2.2 daisyui: - specifier: ^4.12.10 + specifier: 4.12.10 version: 4.12.10(postcss@8.4.39) electron: - specifier: ^31.2.0 + specifier: 31.2.0 version: 31.2.0 electron-builder: - specifier: ^24.13.3 + specifier: 24.13.3 version: 24.13.3(electron-builder-squirrel-windows@24.13.3(dmg-builder@24.13.3)) eslint: - specifier: ^8.57.0 + specifier: 8.57.0 version: 8.57.0 eslint-config-prettier: - specifier: ^9.1.0 + specifier: 9.1.0 version: 9.1.0(eslint@8.57.0) eslint-plugin-import: - specifier: ^2.29.1 + specifier: 2.29.1 version: 2.29.1(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0) eslint-plugin-jsdoc: - specifier: ^48.5.2 + specifier: 48.5.2 version: 48.5.2(eslint@8.57.0) eslint-plugin-prefer-arrow: - specifier: ^1.2.3 + specifier: 1.2.3 version: 1.2.3(eslint@8.57.0) eslint-plugin-prettier: - specifier: ^5.1.3 + specifier: 5.1.3 version: 5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2) nodemon: - specifier: ^3.1.4 + specifier: 3.1.4 version: 3.1.4 postcss: - specifier: ^8.4.39 + specifier: 8.4.39 version: 8.4.39 prettier: - specifier: ^3.3.2 + specifier: 3.3.2 version: 3.3.2 prettier-eslint: - specifier: ^16.3.0 + specifier: 16.3.0 version: 16.3.0 source-map-support: - specifier: ^0.5.21 + specifier: 0.5.21 version: 0.5.21 tailwind-scrollbar: - specifier: ^3.1.0 + specifier: 3.1.0 version: 3.1.0(tailwindcss@3.4.4) tailwindcss: - specifier: ^3.4.4 + specifier: 3.4.4 version: 3.4.4 typescript: - specifier: ^5.4.5 + specifier: 5.4.5 version: 5.4.5 packages: @@ -203,10 +206,6 @@ packages: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - '@ampproject/remapping@2.2.1': - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} - engines: {node: '>=6.0.0'} - '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -509,6 +508,10 @@ packages: resolution: {integrity: sha512-kbgXxyEauPJiQQUNG2VgUeyfQNFk6hBF11ISN2PNI6agUgPl55pv4eQmaqHzTAzchBvqZ2tQuRVaPStGf0mxGw==} engines: {node: '>=8.6'} + '@electron/universal@2.0.1': + resolution: {integrity: sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA==} + engines: {node: '>=16.4'} + '@es-joy/jsdoccomment@0.43.1': resolution: {integrity: sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==} engines: {node: '>=16'} @@ -847,9 +850,6 @@ packages: '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - '@jridgewell/trace-mapping@0.3.20': - resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} - '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -891,6 +891,10 @@ packages: resolution: {integrity: sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==} engines: {node: '>= 10'} + '@malept/cross-spawn-promise@2.0.0': + resolution: {integrity: sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==} + engines: {node: '>= 12.13.0'} + '@malept/flatpak-bundler@0.4.0': resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==} engines: {node: '>= 10.0.0'} @@ -1685,10 +1689,6 @@ packages: chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -1865,15 +1865,6 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.5: resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} @@ -1934,6 +1925,9 @@ packages: dir-compare@3.3.0: resolution: {integrity: sha512-J7/et3WlGUCxjdnD3HAAzQ6nsnc0WL6DD7WcwJb7c39iH1+AWfg+9OqzJNaI6PkBwBvm1mhZNL9iY/nRiZXlPg==} + dir-compare@4.2.0: + resolution: {integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -2548,10 +2542,6 @@ packages: resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ignore@5.3.0: - resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} - engines: {node: '>= 4'} - ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} @@ -2897,10 +2887,6 @@ packages: magic-string@0.30.10: resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} - make-fetch-happen@13.0.0: - resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==} - engines: {node: ^16.14.0 || >=18.0.0} - make-fetch-happen@13.0.1: resolution: {integrity: sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==} engines: {node: ^16.14.0 || >=18.0.0} @@ -3564,11 +3550,6 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - semver@7.6.2: resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} @@ -3854,12 +3835,6 @@ packages: truncate-utf8-bytes@1.0.2: resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} - ts-api-utils@1.0.3: - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} - peerDependencies: - typescript: '>=4.2.0' - ts-api-utils@1.3.0: resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} @@ -3923,11 +3898,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@5.5.3: - resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} - engines: {node: '>=14.17'} - hasBin: true - unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} @@ -4117,11 +4087,6 @@ snapshots: '@alloc/quick-lru@5.2.0': {} - '@ampproject/remapping@2.2.1': - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.20 - '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -4300,10 +4265,10 @@ snapshots: '@angular/compiler': 18.0.6(@angular/core@18.0.6(rxjs@7.8.1)(zone.js@0.14.2)) '@babel/core': 7.24.7 '@jridgewell/sourcemap-codec': 1.4.15 - chokidar: 3.5.3 + chokidar: 3.6.0 convert-source-map: 1.9.0 reflect-metadata: 0.2.2 - semver: 7.5.4 + semver: 7.6.2 tslib: 2.6.3 typescript: 5.4.5 yargs: 17.7.2 @@ -4376,7 +4341,7 @@ snapshots: '@babel/traverse': 7.24.7 '@babel/types': 7.24.7 convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -4385,7 +4350,7 @@ snapshots: '@babel/core@7.24.7': dependencies: - '@ampproject/remapping': 2.2.1 + '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 '@babel/generator': 7.24.7 '@babel/helper-compilation-targets': 7.24.7 @@ -4396,7 +4361,7 @@ snapshots: '@babel/traverse': 7.24.7 '@babel/types': 7.24.7 convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -4521,7 +4486,7 @@ snapshots: '@babel/helper-split-export-declaration': 7.24.7 '@babel/parser': 7.24.7 '@babel/types': 7.24.7 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -4545,7 +4510,7 @@ snapshots: '@electron/get@2.0.3': dependencies: - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) env-paths: 2.2.1 fs-extra: 8.1.0 got: 11.8.6 @@ -4559,7 +4524,7 @@ snapshots: '@electron/notarize@2.2.1': dependencies: - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) fs-extra: 9.1.0 promise-retry: 2.0.1 transitivePeerDependencies: @@ -4568,7 +4533,7 @@ snapshots: '@electron/osx-sign@1.0.5': dependencies: compare-version: 0.1.2 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) fs-extra: 10.1.0 isbinaryfile: 4.0.10 minimist: 1.2.8 @@ -4580,7 +4545,7 @@ snapshots: dependencies: '@electron/asar': 3.2.8 '@malept/cross-spawn-promise': 1.1.1 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) dir-compare: 3.3.0 fs-extra: 9.1.0 minimatch: 3.1.2 @@ -4588,6 +4553,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@electron/universal@2.0.1': + dependencies: + '@electron/asar': 3.2.8 + '@malept/cross-spawn-promise': 2.0.0 + debug: 4.3.5(supports-color@5.5.0) + dir-compare: 4.2.0 + fs-extra: 11.2.0 + minimatch: 9.0.5 + plist: 3.1.0 + transitivePeerDependencies: + - supports-color + '@es-joy/jsdoccomment@0.43.1': dependencies: '@types/eslint': 8.56.10 @@ -4745,7 +4722,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) espree: 9.6.1 globals: 13.23.0 ignore: 5.3.1 @@ -4761,7 +4738,7 @@ snapshots: '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -4797,11 +4774,6 @@ snapshots: '@jridgewell/sourcemap-codec@1.4.15': {} - '@jridgewell/trace-mapping@0.3.20': - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.1 @@ -4833,9 +4805,13 @@ snapshots: dependencies: cross-spawn: 7.0.3 + '@malept/cross-spawn-promise@2.0.0': + dependencies: + cross-spawn: 7.0.3 + '@malept/flatpak-bundler@0.4.0': dependencies: - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) fs-extra: 9.1.0 lodash: 4.17.21 tmp-promise: 3.0.3 @@ -4958,7 +4934,7 @@ snapshots: '@nrwl/devkit': 19.4.2(nx@19.4.2) ejs: 3.1.9 enquirer: 2.3.6 - ignore: 5.3.0 + ignore: 5.3.1 minimatch: 9.0.3 nx: 19.4.2 semver: 7.6.2 @@ -5209,16 +5185,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@6.12.0(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/parser@6.12.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/scope-manager': 6.12.0 '@typescript-eslint/types': 6.12.0 - '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.5.3) + '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 6.12.0 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) eslint: 8.57.0 optionalDependencies: - typescript: 5.5.3 + typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -5228,7 +5204,7 @@ snapshots: '@typescript-eslint/types': 7.16.0 '@typescript-eslint/typescript-estree': 7.16.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.16.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5(supports-color@5.5.0) eslint: 8.57.0 optionalDependencies: typescript: 5.4.5 @@ -5249,7 +5225,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 7.16.0(typescript@5.4.5) '@typescript-eslint/utils': 7.16.0(eslint@8.57.0)(typescript@5.4.5) - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5(supports-color@5.5.0) eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: @@ -5261,17 +5237,17 @@ snapshots: '@typescript-eslint/types@7.16.0': {} - '@typescript-eslint/typescript-estree@6.12.0(typescript@5.5.3)': + '@typescript-eslint/typescript-estree@6.12.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 6.12.0 '@typescript-eslint/visitor-keys': 6.12.0 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.2 - ts-api-utils: 1.0.3(typescript@5.5.3) + ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: - typescript: 5.5.3 + typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -5279,7 +5255,7 @@ snapshots: dependencies: '@typescript-eslint/types': 7.16.0 '@typescript-eslint/visitor-keys': 7.16.0 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 @@ -5342,13 +5318,13 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) transitivePeerDependencies: - supports-color agent-base@7.1.0: dependencies: - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -5427,7 +5403,7 @@ snapshots: builder-util: 24.13.1 builder-util-runtime: 9.2.4 chromium-pickle-js: 0.2.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5(supports-color@5.5.0) dmg-builder: 24.13.3(electron-builder-squirrel-windows@24.13.3) ejs: 3.1.9 electron-builder-squirrel-windows: 24.13.3(dmg-builder@24.13.3) @@ -5635,7 +5611,7 @@ snapshots: builder-util-runtime@9.2.4: dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5(supports-color@5.5.0) sax: 1.3.0 transitivePeerDependencies: - supports-color @@ -5649,7 +5625,7 @@ snapshots: builder-util-runtime: 9.2.4 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5(supports-color@5.5.0) fs-extra: 10.1.0 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 @@ -5729,18 +5705,6 @@ snapshots: chardet@0.7.0: {} - chokidar@3.5.3: - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -5843,7 +5807,7 @@ snapshots: config-file-ts@0.2.6: dependencies: glob: 10.3.10 - typescript: 5.5.3 + typescript: 5.4.5 convert-source-map@1.9.0: {} @@ -5919,16 +5883,12 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.4(supports-color@5.5.0): + debug@4.3.5(supports-color@5.5.0): dependencies: ms: 2.1.2 optionalDependencies: supports-color: 5.5.0 - debug@4.3.5: - dependencies: - ms: 2.1.2 - decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 @@ -5973,6 +5933,11 @@ snapshots: buffer-equal: 1.0.0 minimatch: 3.1.2 + dir-compare@4.2.0: + dependencies: + minimatch: 3.1.2 + p-limit: 3.1.0 + dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -6336,7 +6301,7 @@ snapshots: '@es-joy/jsdoccomment': 0.43.1 are-docs-informative: 0.0.2 comment-parser: 1.4.1 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) escape-string-regexp: 4.0.0 eslint: 8.57.0 esquery: 1.5.0 @@ -6386,7 +6351,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -6452,7 +6417,7 @@ snapshots: extract-zip@2.0.1: dependencies: - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -6754,14 +6719,14 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) transitivePeerDependencies: - supports-color http-proxy-agent@7.0.0: dependencies: agent-base: 7.1.0 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -6773,14 +6738,14 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) transitivePeerDependencies: - supports-color https-proxy-agent@7.0.4: dependencies: agent-base: 7.1.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -6806,8 +6771,6 @@ snapshots: dependencies: minimatch: 9.0.5 - ignore@5.3.0: {} - ignore@5.3.1: {} immutable@4.3.4: {} @@ -7122,22 +7085,6 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - make-fetch-happen@13.0.0: - dependencies: - '@npmcli/agent': 2.2.0 - cacache: 18.0.0 - http-cache-semantics: 4.1.1 - is-lambda: 1.0.1 - minipass: 7.0.4 - minipass-fetch: 3.0.4 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - ssri: 10.0.5 - transitivePeerDependencies: - - supports-color - make-fetch-happen@13.0.1: dependencies: '@npmcli/agent': 2.2.0 @@ -7314,7 +7261,7 @@ snapshots: exponential-backoff: 3.1.1 glob: 10.3.10 graceful-fs: 4.2.11 - make-fetch-happen: 13.0.0 + make-fetch-happen: 13.0.1 nopt: 7.2.0 proc-log: 3.0.0 semver: 7.6.2 @@ -7330,7 +7277,7 @@ snapshots: nodemon@3.1.4: dependencies: chokidar: 3.6.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5(supports-color@5.5.0) ignore-by-default: 1.0.1 minimatch: 3.1.2 pstree.remy: 1.1.8 @@ -7391,7 +7338,7 @@ snapshots: dependencies: '@npmcli/redact': 2.0.1 jsonparse: 1.3.1 - make-fetch-happen: 13.0.0 + make-fetch-happen: 13.0.1 minipass: 7.0.4 minipass-fetch: 3.0.4 minizlib: 2.1.2 @@ -7426,7 +7373,7 @@ snapshots: flat: 5.0.2 front-matter: 4.0.2 fs-extra: 11.2.0 - ignore: 5.3.0 + ignore: 5.3.1 jest-diff: 29.7.0 jsonc-parser: 3.2.0 lines-and-columns: 2.0.4 @@ -7687,7 +7634,7 @@ snapshots: prettier-eslint@16.3.0: dependencies: - '@typescript-eslint/parser': 6.12.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/parser': 6.12.0(eslint@8.57.0)(typescript@5.4.5) common-tags: 1.8.2 dlv: 1.1.3 eslint: 8.57.0 @@ -7697,7 +7644,7 @@ snapshots: prettier: 3.3.2 pretty-format: 29.7.0 require-relative: 0.8.7 - typescript: 5.5.3 + typescript: 5.4.5 vue-eslint-parser: 9.3.2(eslint@8.57.0) transitivePeerDependencies: - supports-color @@ -7919,10 +7866,6 @@ snapshots: semver@6.3.1: {} - semver@7.5.4: - dependencies: - lru-cache: 6.0.0 - semver@7.6.2: {} serialize-error@11.0.3: @@ -7998,7 +7941,7 @@ snapshots: socks-proxy-agent@8.0.2: dependencies: agent-base: 7.1.0 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) socks: 2.7.1 transitivePeerDependencies: - supports-color @@ -8127,7 +8070,7 @@ snapshots: sumchecker@3.0.1: dependencies: - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -8256,10 +8199,6 @@ snapshots: dependencies: utf8-byte-length: 1.0.4 - ts-api-utils@1.0.3(typescript@5.5.3): - dependencies: - typescript: 5.5.3 - ts-api-utils@1.3.0(typescript@5.4.5): dependencies: typescript: 5.4.5 @@ -8284,7 +8223,7 @@ snapshots: tuf-js@2.2.1: dependencies: '@tufjs/models': 2.0.1 - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) make-fetch-happen: 13.0.1 transitivePeerDependencies: - supports-color @@ -8331,8 +8270,6 @@ snapshots: typescript@5.4.5: {} - typescript@5.5.3: {} - unbox-primitive@1.0.2: dependencies: call-bind: 1.0.7 @@ -8400,7 +8337,7 @@ snapshots: vue-eslint-parser@9.3.2(eslint@8.57.0): dependencies: - debug: 4.3.5 + debug: 4.3.5(supports-color@5.5.0) eslint: 8.57.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 From 459826416f909b118e4398b203e11f9d7bd518c9 Mon Sep 17 00:00:00 2001 From: Marconi Filho Date: Sat, 3 Aug 2024 15:54:09 -0300 Subject: [PATCH 2/2] Implements build and release --- .github/workflows/build-and-release.yaml | 119 +++++++++++++++++++++++ .github/workflows/build-on-pr.yaml | 56 +++++++++++ 2 files changed, 175 insertions(+) create mode 100644 .github/workflows/build-and-release.yaml create mode 100644 .github/workflows/build-on-pr.yaml diff --git a/.github/workflows/build-and-release.yaml b/.github/workflows/build-and-release.yaml new file mode 100644 index 0000000..72552ac --- /dev/null +++ b/.github/workflows/build-and-release.yaml @@ -0,0 +1,119 @@ +name: Build and Release +on: + push: + tags: + - v** +jobs: + build-and-upload-windows: + runs-on: windows-latest + steps: + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: v18.19.0 + - name: Checkout code + uses: actions/checkout@v2 + - name: Build the app (Windows) + shell: bash + run: | + npm install -g pnpm + pnpm install + pnpm build:windows -p never + - name: Compress binary + shell: powershell + run: | + cd release + $files = Get-ChildItem -Path . -Filter "*exe*" + $files += Get-ChildItem -Path . -Filter "latest.yml" + Compress-Archive $files -DestinationPath bridge-win.zip + - uses: actions/upload-artifact@v2 + with: + name: bridge-win + path: .\release\bridge-win.zip + build-and-upload-linux: + runs-on: ubuntu-latest + steps: + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: v18.19.0 + - name: Checkout code + uses: actions/checkout@v2 + - name: Install builder dependencies + shell: bash + run: | + sudo apt install flatpak flatpak-builder elfutils -y + flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo + git config --global --add protocol.file.allow always + - name: Build the app (Linux) + shell: bash + run: | + npm install -g pnpm + pnpm install + pnpm build:linux -p never + - name: Compress binaries + shell: bash + run: | + cd release + find . -type f \( -name "*.AppImage" -o -name "*.flatpak" -o -name "latest-linux.yml" \) -print0 | tar -czvf bridge-linux.tar.gz --null -T - + - uses: actions/upload-artifact@v2 + with: + name: bridge-linux + path: ./release/bridge-linux.tar.gz + build-and-upload-macos: + runs-on: macos-latest + steps: + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: v18.19.0 + - name: Checkout code + uses: actions/checkout@v2 + - name: Build the app (OSX) + shell: bash + run: | + npm install -g pnpm + pnpm install + pnpm build:mac -p never + - name: Compress binaries + shell: bash + run: | + cd release + find . -type f \( -name "*.dmg" -o -name "latest-mac.yml" \) -print0 | tar -czvf bridge-mac.tar.gz --null -T - + - uses: actions/upload-artifact@v2 + with: + name: bridge-mac + path: ./release/bridge-mac.tar.gz + release-all: + runs-on: ubuntu-latest + needs: + - build-and-upload-linux + - build-and-upload-macos + - build-and-upload-windows + steps: + - name: Download Windows binaries + uses: actions/download-artifact@v2 + with: + name: bridge-win + - name: Download Linux binaries + uses: actions/download-artifact@v2 + with: + name: bridge-linux + - name: Download OSX binaries + uses: actions/download-artifact@v2 + with: + name: bridge-mac + - name: Unpack all + shell: bash + run: | + mkdir releaseables + unzip bridge-win.zip -d ./releaseables + tar -xzf bridge-linux.tar.gz -C ./releaseables + tar -xzf bridge-mac.tar.gz -C ./releaseables + - name: Create release + uses: ncipollo/release-action@v1 + with: + artifacts: "releaseables/*" + tag: ${{ github.ref.name }} + replacesArtifacts: true + allowUpdates: true diff --git a/.github/workflows/build-on-pr.yaml b/.github/workflows/build-on-pr.yaml new file mode 100644 index 0000000..30a6151 --- /dev/null +++ b/.github/workflows/build-on-pr.yaml @@ -0,0 +1,56 @@ +name: Build on PR +on: + pull_request: + types: ["opened"] +jobs: + build-windows: + runs-on: windows-latest + steps: + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: v18.19.0 + - name: Checkout code + uses: actions/checkout@v2 + - name: Build the app + shell: bash + run: | + npm install -g pnpm + pnpm install + pnpm build:windows + build-linux: + runs-on: ubuntu-latest + steps: + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: v18.19.0 + - name: Checkout code + uses: actions/checkout@v2 + - name: Install builder dependencies + shell: bash + run: | + sudo apt install flatpak flatpak-builder elfutils -y + flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo + git config --global --add protocol.file.allow always + - name: Build the app + shell: bash + run: | + npm install -g pnpm + pnpm install + pnpm build:linux + build-mac: + runs-on: macos-latest + steps: + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: v18.19.0 + - name: Checkout code + uses: actions/checkout@v2 + - name: Build the app + shell: bash + run: | + npm install -g pnpm + pnpm install + pnpm build:mac