From d3a4f81b3c84eba5271bac1686b3332e482e71f3 Mon Sep 17 00:00:00 2001 From: Reinier Criel Date: Thu, 6 Nov 2025 13:44:34 -0800 Subject: [PATCH] More cleanup --- packages/safe-chain/bin/aikido-python.js | 9 ++++++--- packages/safe-chain/bin/aikido-python3.js | 7 +++++-- .../safe-chain/src/packagemanager/pip/pipSettings.js | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/safe-chain/bin/aikido-python.js b/packages/safe-chain/bin/aikido-python.js index 8d19a9f..1ef4e34 100755 --- a/packages/safe-chain/bin/aikido-python.js +++ b/packages/safe-chain/bin/aikido-python.js @@ -10,13 +10,16 @@ setEcoSystem(ECOSYSTEM_PY); // Strip nodejs and wrapper script from args let argv = process.argv.slice(2); -// If no args are passed, argv[0] and argv[1] are undefined, so this condition just evaluates to false and does not throw. + if (argv[0] === '-m' && (argv[1] === 'pip' || argv[1] === 'pip3')) { setEcoSystem(ECOSYSTEM_PY); setCurrentPipInvocation(argv[1] === 'pip3' ? PIP_INVOCATIONS.PY_PIP3 : PIP_INVOCATIONS.PY_PIP); initializePackageManager(PIP_PACKAGE_MANAGER); - argv = argv.slice(2); - var exitCode = await main(argv); + + // Strip off the '-m pip' or '-m pip3' from the args + argv = argv.slice(2); + + var exitCode = await main(argv); process.exit(exitCode); } else { // Forward to real python binary for non-pip flows diff --git a/packages/safe-chain/bin/aikido-python3.js b/packages/safe-chain/bin/aikido-python3.js index be96d6f..f53e5d2 100755 --- a/packages/safe-chain/bin/aikido-python3.js +++ b/packages/safe-chain/bin/aikido-python3.js @@ -10,13 +10,16 @@ setEcoSystem(ECOSYSTEM_PY); // Strip nodejs and wrapper script from args let argv = process.argv.slice(2); -// If no args are passed, argv[0] and argv[1] are undefined, so this condition just evaluates to false and does not throw. + if (argv[0] === '-m' && (argv[1] === 'pip' || argv[1] === 'pip3')) { setEcoSystem(ECOSYSTEM_PY); setCurrentPipInvocation(argv[1] === 'pip3' ? PIP_INVOCATIONS.PY3_PIP3 : PIP_INVOCATIONS.PY3_PIP); initializePackageManager(PIP_PACKAGE_MANAGER); + + // Strip off the '-m pip' or '-m pip3' from the args argv = argv.slice(2); - var exitCode = await main(argv); + + var exitCode = await main(argv); process.exit(exitCode); } else { // Forward to real python3 binary for non-pip flows diff --git a/packages/safe-chain/src/packagemanager/pip/pipSettings.js b/packages/safe-chain/src/packagemanager/pip/pipSettings.js index 5e47644..0316b77 100644 --- a/packages/safe-chain/src/packagemanager/pip/pipSettings.js +++ b/packages/safe-chain/src/packagemanager/pip/pipSettings.js @@ -1,6 +1,6 @@ export const PIP_PACKAGE_MANAGER = "pip"; -// Enum of possible Python/pip invocations for Safe Chain interception +// All supported python/pip invocations for Safe Chain interception export const PIP_INVOCATIONS = { PIP: { command: "pip", args: [] }, PIP3: { command: "pip3", args: [] },