From 56954d7a335db1180e59ee6100d49d6e7bf480ca Mon Sep 17 00:00:00 2001 From: Mark Gregory Date: Tue, 22 Sep 2026 14:57:53 +0100 Subject: [PATCH] M3 Integration fixes pass 20 --- .../Http/Controllers/API/CloseShipmentProcessor.php | 1 + scripts/build-modules.mjs | 13 ++++++++++--- tests/DuskTestCase.php | 6 +++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Modules/M3/Http/Controllers/API/CloseShipmentProcessor.php b/Modules/M3/Http/Controllers/API/CloseShipmentProcessor.php index 4d5b7711..6b1e93e2 100644 --- a/Modules/M3/Http/Controllers/API/CloseShipmentProcessor.php +++ b/Modules/M3/Http/Controllers/API/CloseShipmentProcessor.php @@ -16,6 +16,7 @@ use Throwable; final class CloseShipmentProcessor { private const ZERO_PAD = '000000'; + private const JSON_CONTENT_TYPE = 'application/json'; private const NULL_M3_RESPONSE = 'M3 API responded with null value'; private const SOURCE = 'CloseShipmentCoChargeAPI'; diff --git a/scripts/build-modules.mjs b/scripts/build-modules.mjs index 7314acaf..8fd1273c 100755 --- a/scripts/build-modules.mjs +++ b/scripts/build-modules.mjs @@ -1,8 +1,13 @@ import fs from 'node:fs'; import path from 'node:path'; -import { execSync } from 'node:child_process'; +import { execFileSync } from 'node:child_process'; const modulesDir = path.resolve('Modules'); +const npmCli = process.env.npm_execpath; + +if (!npmCli || !path.isAbsolute(npmCli) || !fs.existsSync(npmCli)) { + throw new Error('npm_execpath must reference an existing absolute npm CLI path.'); +} for (const moduleName of fs.readdirSync(modulesDir)) { @@ -23,11 +28,13 @@ for (const moduleName of fs.readdirSync(modulesDir)) { console.log(`Building ${moduleName}`); try { - execSync( - 'npm run build', + execFileSync( + process.execPath, + [npmCli, 'run', 'build'], { cwd: modulePath, stdio: 'inherit', + env: { ...process.env, PATH: '/usr/bin:/bin' }, } ); } catch (error) { diff --git a/tests/DuskTestCase.php b/tests/DuskTestCase.php index bef667af..00d8a6bb 100755 --- a/tests/DuskTestCase.php +++ b/tests/DuskTestCase.php @@ -244,13 +244,13 @@ abstract class DuskTestCase extends BaseTestCase $expected = $binDirectory . '/chromedriver-mac-arm'; if (is_file($expected)) { - @chmod($expected, 0755); + @chmod($expected, 0750); return; } if (! is_dir($binDirectory)) { - @mkdir($binDirectory, 0755, true); + @mkdir($binDirectory, 0750, true); } $candidates = array_values(array_filter( @@ -268,6 +268,6 @@ abstract class DuskTestCase extends BaseTestCase } copy($candidates[0], $expected); - @chmod($expected, 0755); + @chmod($expected, 0750); } }