diff --git a/bdist/js/bin/protoc-gen-protolint.js b/bdist/js/bin/protoc-gen-protolint.js index 429cd72..82c14a0 100755 --- a/bdist/js/bin/protoc-gen-protolint.js +++ b/bdist/js/bin/protoc-gen-protolint.js @@ -2,6 +2,7 @@ import { spawn } from 'node:child_process'; import path from 'node:path'; +import process from 'node:process'; import { fileURLToPath } from 'node:url'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); @@ -10,16 +11,23 @@ const extension = process.platform === 'win32' ? '.exe' : ''; const command = path.resolve(__dirname, 'protoc-gen-protolint' + extension); -const protoc = spawn(command, process.argv.slice(2), { - stdio: 'inherit', // This inherits stdin, stdout, and stderr - windowsHide: true, -}); +/** @type {Promise} */ +const promise = new Promise((resolve) => { + const protoc = spawn(command, process.argv.slice(2), { + stdio: 'inherit', // This inherits stdin, stdout, and stderr + windowsHide: true, + }); -protoc.on('close', (code) => { - process.exitCode = code ?? 0; -}); + protoc.on('close', (code) => { + process.exitCode = code ?? 0; + resolve(); + }); -protoc.on('error', (error) => { - console.error(`Failed to start protoc-gen-protolint: ${error.message}`); - process.exitCode = 1; + protoc.on('error', (error) => { + console.error(`Failed to start protoc-gen-protolint: ${error.message}`); + process.exitCode = 1; + resolve(); + }); }); + +await promise; diff --git a/bdist/js/bin/protolint.js b/bdist/js/bin/protolint.js index da4c68a..1a570cc 100755 --- a/bdist/js/bin/protolint.js +++ b/bdist/js/bin/protolint.js @@ -2,6 +2,7 @@ import { spawn } from 'node:child_process'; import path from 'node:path'; +import process from 'node:process'; import { fileURLToPath } from 'node:url'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); @@ -10,16 +11,23 @@ const extension = process.platform === 'win32' ? '.exe' : ''; const command = path.resolve(__dirname, 'protolint' + extension); -const protolint = spawn(command, process.argv.slice(2), { - stdio: 'inherit', // This inherits stdin, stdout, and stderr - windowsHide: true, -}); +/** @type {Promise} */ +const promise = new Promise((resolve) => { + const protolint = spawn(command, process.argv.slice(2), { + stdio: 'inherit', + windowsHide: true, + }); -protolint.on('close', (code) => { - process.exitCode = code ?? 0; -}); + protolint.on('close', (code) => { + process.exitCode = code ?? 0; + resolve(); + }); -protolint.on('error', (error) => { - console.error(`Failed to start protolint: ${error.message}`); - process.exitCode = 1; + protolint.on('error', (error) => { + console.error(`Failed to start protolint: ${error.message}`); + process.exitCode = 1; + resolve(); + }); }); + +await promise;