From b3e25fffc9f6f51331ee503275ec377d47596bd3 Mon Sep 17 00:00:00 2001 From: Brandon Payton Date: Tue, 6 Jan 2026 17:31:07 -0500 Subject: [PATCH 1/4] Fix __dirname not found error in intl extension Use conditional logic to determine the module directory: prefer __dirname when available (CommonJS), fall back to import.meta.dirname (ESM). Also switch to path.join for more robust path construction. --- packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts b/packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts index 12ece415a0..6fc7fc5cbc 100644 --- a/packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts +++ b/packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts @@ -5,6 +5,7 @@ import type { } from '@php-wasm/universal'; import { LatestSupportedPHPVersion, FSHelpers } from '@php-wasm/universal'; import fs from 'fs'; +import path from 'path'; import { getIntlExtensionModule } from './get-intl-extension-module'; export async function withIntl( @@ -16,7 +17,9 @@ export async function withIntl( const extension = fs.readFileSync(extensionPath); const dataName = 'icu.dat'; - const dataPath = `${__dirname}/shared/${dataName}`; + const moduleDir = + typeof __dirname !== 'undefined' ? __dirname : import.meta.dirname; + const dataPath = path.join(moduleDir, 'shared', dataName); const ICUData = fs.readFileSync(dataPath); return { From 9c4725c660ee0b727f9a77945b624ead3e5e076f Mon Sep 17 00:00:00 2001 From: Brandon Payton Date: Tue, 6 Jan 2026 17:58:27 -0500 Subject: [PATCH 2/4] Also consider timeouts to be test failures --- .../test-built-npm-packages/es-modules-and-vitest/run-tests.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/playground/test-built-npm-packages/es-modules-and-vitest/run-tests.ts b/packages/playground/test-built-npm-packages/es-modules-and-vitest/run-tests.ts index d1ee9017f8..532653b355 100644 --- a/packages/playground/test-built-npm-packages/es-modules-and-vitest/run-tests.ts +++ b/packages/playground/test-built-npm-packages/es-modules-and-vitest/run-tests.ts @@ -117,6 +117,6 @@ if (numTimedOut > 0) { console.log(red(`${numTimedOut} / ${results.length} tests timed out`)); } -if (numFailed > 0) { +if (numFailed > 0 || numTimedOut > 0) { process.exit(1); } From 8a7c41e46eb6d933b30c18fd9454a26d928a0f72 Mon Sep 17 00:00:00 2001 From: Brandon Payton Date: Tue, 6 Jan 2026 18:02:20 -0500 Subject: [PATCH 3/4] Temporarily revert "Fix __dirname not found error in intl extension" for testing This reverts commit b3e25fffc9f6f51331ee503275ec377d47596bd3. --- packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts b/packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts index 6fc7fc5cbc..12ece415a0 100644 --- a/packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts +++ b/packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts @@ -5,7 +5,6 @@ import type { } from '@php-wasm/universal'; import { LatestSupportedPHPVersion, FSHelpers } from '@php-wasm/universal'; import fs from 'fs'; -import path from 'path'; import { getIntlExtensionModule } from './get-intl-extension-module'; export async function withIntl( @@ -17,9 +16,7 @@ export async function withIntl( const extension = fs.readFileSync(extensionPath); const dataName = 'icu.dat'; - const moduleDir = - typeof __dirname !== 'undefined' ? __dirname : import.meta.dirname; - const dataPath = path.join(moduleDir, 'shared', dataName); + const dataPath = `${__dirname}/shared/${dataName}`; const ICUData = fs.readFileSync(dataPath); return { From db5384f2a81bcc6de8d7090d3b53cf40ccfa7277 Mon Sep 17 00:00:00 2001 From: Brandon Payton Date: Tue, 6 Jan 2026 18:03:11 -0500 Subject: [PATCH 4/4] Restore "Fix __dirname not found error in intl extension" This reverts commit 8a7c41e46eb6d933b30c18fd9454a26d928a0f72. --- packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts b/packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts index 12ece415a0..6fc7fc5cbc 100644 --- a/packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts +++ b/packages/php-wasm/node/src/lib/extensions/intl/with-intl.ts @@ -5,6 +5,7 @@ import type { } from '@php-wasm/universal'; import { LatestSupportedPHPVersion, FSHelpers } from '@php-wasm/universal'; import fs from 'fs'; +import path from 'path'; import { getIntlExtensionModule } from './get-intl-extension-module'; export async function withIntl( @@ -16,7 +17,9 @@ export async function withIntl( const extension = fs.readFileSync(extensionPath); const dataName = 'icu.dat'; - const dataPath = `${__dirname}/shared/${dataName}`; + const moduleDir = + typeof __dirname !== 'undefined' ? __dirname : import.meta.dirname; + const dataPath = path.join(moduleDir, 'shared', dataName); const ICUData = fs.readFileSync(dataPath); return {