From cd9c822600a4f8aae47c97047f0018edb3f998fd Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Mon, 17 Jun 2024 15:33:45 +0200 Subject: [PATCH] fix: use `@pingghost/protoc` to compile proto files The npm package previously used (`protoc`) is still lacking apple arm32 support, see https://github.com/YePpHa/node-protoc/pull/10 --- arduino-ide-extension/package.json | 2 +- .../scripts/generate-protocol.js | 6 +++-- yarn.lock | 26 +++++++++---------- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 8963b4f5a..f2472e8de 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -128,7 +128,7 @@ }, "optionalDependencies": { "grpc-tools": "^1.12.4", - "protoc": "^1.0.4" + "@pingghost/protoc": "^1.0.2" }, "mocha": { "require": [ diff --git a/arduino-ide-extension/scripts/generate-protocol.js b/arduino-ide-extension/scripts/generate-protocol.js index 703407a4f..33428c0d0 100644 --- a/arduino-ide-extension/scripts/generate-protocol.js +++ b/arduino-ide-extension/scripts/generate-protocol.js @@ -7,8 +7,9 @@ const { exec } = require('./utils'); const glob = require('glob'); const { SemVer, gte, valid: validSemVer } = require('semver'); - const protoc = path.dirname(require('protoc/protoc')); - + // Use a node-protoc fork until apple arm32 is supported + // https://github.com/YePpHa/node-protoc/pull/10 + const protoc = path.dirname(require('@pingghost/protoc/protoc')); const repository = await fs.mkdtemp(path.join(os.tmpdir(), 'arduino-cli-')); const { owner, repo, commitish } = (() => { @@ -149,6 +150,7 @@ const protos = await new Promise((resolve) => glob('**/*.proto', { cwd: rpc }, (error, matches) => { if (error) { + console.log('PROTOS FIND ERROR'); console.log(error.stack ?? error.message); resolve([]); return; diff --git a/yarn.lock b/yarn.lock index 71a0d2acb..d0912ee7d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1899,6 +1899,19 @@ "@phosphor/signaling" "^1.3.1" "@phosphor/virtualdom" "^1.2.0" +"@pingghost/protoc@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@pingghost/protoc/-/protoc-1.0.2.tgz#68436fe6df7b700149dfb2b9a6a9db3b66fe758a" + integrity sha512-7ndq6JmrfcRfr6wIxdrjBqAipsrWwldFL5TQRmJXgpGrRi1yU6vKWID6Z4cs96iK+3yLIoUON11fE5CThNBrXA== + dependencies: + glob "^7.2.3" + mkdirp "^0.5.6" + node-fetch "^3.2.10" + rimraf "^3.0.2" + unzipper "^0.10.11" + uuid "^9.0.0" + vinyl "^2.2.1" + "@pkgjs/parseargs@^0.11.0": version "0.11.0" resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" @@ -11100,19 +11113,6 @@ protobufjs@^7.2.3, protobufjs@^7.2.4: "@types/node" ">=13.7.0" long "^5.0.0" -protoc@^1.0.4: - version "1.1.3" - resolved "https://registry.yarnpkg.com/protoc/-/protoc-1.1.3.tgz#d9857ec2a43a683af8263032d519ce7ba0b7d99e" - integrity sha512-Vy4OBxCcF0W38YrZZRFix659gFu8ujIxVDP1SUBK9ELzyeMSBe8m8tYyYlX1PI5j9gse9hWu4c4nzQaHesAf8Q== - dependencies: - glob "^7.2.3" - mkdirp "^0.5.6" - node-fetch "^3.2.10" - rimraf "^3.0.2" - unzipper "^0.10.11" - uuid "^9.0.0" - vinyl "^2.2.1" - protocols@^2.0.0, protocols@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86"