From fe0502af67eaf4c452ad1dfcdc12dd74eeb4ce1a Mon Sep 17 00:00:00 2001
From: Eirik Morland <12655-eiriksm@users.noreply.drupalcode.org>
Date: Tue, 29 Oct 2024 21:17:45 +0000
Subject: [PATCH] Issue #3483001 by mglaman, eiriksm, phenaproxima: Update
 php-wasm dependencies to the latest alpha

---
 .../drupal_cms_installer.profile              | 21 ++--
 ...atch => php-cgi-wasm+0.0.9-alpha-24.patch} | 30 +-----
 trial/package-lock.json                       | 96 +++++++++----------
 trial/package.json                            | 24 ++---
 trial/tests/cgi-interactive-install.test.js   |  3 +-
 5 files changed, 76 insertions(+), 98 deletions(-)
 rename trial/artifact_assets/patches/npm/{php-cgi-wasm+0.0.9-alpha-2.patch => php-cgi-wasm+0.0.9-alpha-24.patch} (54%)

diff --git a/drupal_cms_installer/drupal_cms_installer.profile b/drupal_cms_installer/drupal_cms_installer.profile
index cd1a4f7c9..284f31cd3 100644
--- a/drupal_cms_installer/drupal_cms_installer.profile
+++ b/drupal_cms_installer/drupal_cms_installer.profile
@@ -12,6 +12,8 @@ use Drupal\Core\Recipe\RecipeRunner;
 use Drupal\drupal_cms_installer\Form\RecipesForm;
 use Drupal\drupal_cms_installer\Form\SiteNameForm;
 
+const SQLITE_DRIVER = 'Drupal\sqlite\Driver\Database\sqlite';
+
 /**
  * Implements hook_install_tasks().
  */
@@ -93,9 +95,8 @@ function drupal_cms_installer_install_tasks_alter(array &$tasks, array $install_
 function drupal_cms_installer_form_install_settings_form_alter(array &$form): void {
   // Default to SQLite, if available, because it doesn't require any additional
   // configuration.
-  $sqlite = 'Drupal\sqlite\Driver\Database\sqlite';
-  if (array_key_exists($sqlite, $form['driver']['#options']) && extension_loaded('pdo_sqlite')) {
-    $form['driver']['#default_value'] = $sqlite;
+  if (extension_loaded('pdo_sqlite') && array_key_exists(SQLITE_DRIVER, $form['driver']['#options'])) {
+    $form['driver']['#default_value'] = SQLITE_DRIVER;
   }
 }
 
@@ -133,15 +134,15 @@ function drupal_cms_installer_apply_recipes(array &$install_state): array {
  * Programmatically submits the database settings form if needed.
  */
 function drupal_cms_installer_database_settings(array &$install_state): ?array {
-  $interactive = $install_state['interactive'];
+  $was_interactive = $install_state['interactive'];
   // If we're installing the in-browser trial, submit the form programmatically
-  // with default values which, thanks to
-  // drupal_cms_installer_form_install_settings_form_alter(), should be the
-  // SQLite driver with its default options.
-  $install_state['interactive'] = getenv('DRUPAL_CMS_TRIAL') ? FALSE : $interactive;
+  // with SQLite as the selected driver.
+  if (getenv('DRUPAL_CMS_TRIAL')) {
+    $install_state['interactive'] = FALSE;
+    $install_state['forms']['install_settings_form']['driver'] = SQLITE_DRIVER;
+  }
   $result = install_get_form(SiteSettingsForm::class, $install_state);
-  $install_state['interactive'] = $interactive;
-
+  $install_state['interactive'] = $was_interactive;
   return $result;
 }
 
diff --git a/trial/artifact_assets/patches/npm/php-cgi-wasm+0.0.9-alpha-2.patch b/trial/artifact_assets/patches/npm/php-cgi-wasm+0.0.9-alpha-24.patch
similarity index 54%
rename from trial/artifact_assets/patches/npm/php-cgi-wasm+0.0.9-alpha-2.patch
rename to trial/artifact_assets/patches/npm/php-cgi-wasm+0.0.9-alpha-24.patch
index 4f5b76385..fa1ff92e3 100644
--- a/trial/artifact_assets/patches/npm/php-cgi-wasm+0.0.9-alpha-2.patch
+++ b/trial/artifact_assets/patches/npm/php-cgi-wasm+0.0.9-alpha-24.patch
@@ -1,19 +1,8 @@
 diff --git a/node_modules/php-cgi-wasm/PhpCgiBase.mjs b/node_modules/php-cgi-wasm/PhpCgiBase.mjs
-index 694680d..2296853 100644
+index 2b93791..0ba9827 100644
 --- a/node_modules/php-cgi-wasm/PhpCgiBase.mjs
 +++ b/node_modules/php-cgi-wasm/PhpCgiBase.mjs
-@@ -137,10 +137,6 @@ export class PhpCgiBase
- 			const response = this.request(event.request);
- 			return event.respondWith(response);
- 		}
--		else
--		{
--			return fetch(event.request);
--		}
- 	}
- 
- 	async _enqueue(callback, params = [])
-@@ -307,19 +303,23 @@ export class PhpCgiBase
+@@ -395,7 +395,7 @@ export class PhpCgiBase
  		else
  		{
  
@@ -22,12 +11,7 @@ index 694680d..2296853 100644
  			scriptName = path;
  		}
  
--		if(vHostEntrypoint)
--		{
--			scriptName = vHostPrefix + '/' + vHostEntrypoint;
--		}
--
- 		let originalPath = url.pathname;
+@@ -408,6 +408,15 @@ export class PhpCgiBase
  
  		const extension = path.split('.').pop();
  
@@ -43,11 +27,3 @@ index 694680d..2296853 100644
  		if(extension !== 'php' && extension !== 'phar')
  		{
  			const aboutPath = php.FS.analyzePath(path);
-@@ -349,6 +349,7 @@ export class PhpCgiBase
- 			// Rewrite to index
- 			path = docroot + '/index.php';
- 		}
-+		originalPath += url.search
- 
- 		if(this.maxRequestAge > 0 && Date.now() - requestTimes.get(request) > this.maxRequestAge)
- 		{
diff --git a/trial/package-lock.json b/trial/package-lock.json
index dbffcd859..988d72e7c 100644
--- a/trial/package-lock.json
+++ b/trial/package-lock.json
@@ -11,18 +11,18 @@
         "babel-loader": "^9.1.3",
         "happy-dom": "^14.12.3",
         "patch-package": "^8.0.0",
-        "php-cgi-wasm": "0.0.9-alpha-2",
-        "php-wasm": "0.0.9-alpha-13",
-        "php-wasm-dom": "0.0.0-h",
-        "php-wasm-gd": "^0.0.9-j",
-        "php-wasm-iconv": "0.0.9-j",
-        "php-wasm-libxml": "0.0.9-q",
-        "php-wasm-libzip": "0.0.9-e",
-        "php-wasm-mbstring": "0.0.0-c",
-        "php-wasm-simplexml": "0.0.0-j",
-        "php-wasm-sqlite": "0.0.9-alpha-18",
-        "php-wasm-xml": "0.0.0-i",
-        "php-wasm-zlib": "0.0.9-f",
+        "php-cgi-wasm": "0.0.9-alpha-24",
+        "php-wasm": "0.0.9-alpha-24",
+        "php-wasm-dom": "0.0.9-alpha-24",
+        "php-wasm-gd": "0.0.9-alpha-24",
+        "php-wasm-iconv": "0.0.9-alpha-24",
+        "php-wasm-libxml": "0.0.9-alpha-24",
+        "php-wasm-libzip": "0.0.9-alpha-24",
+        "php-wasm-mbstring": "0.0.9-alpha-24",
+        "php-wasm-simplexml": "0.0.9-alpha-24",
+        "php-wasm-sqlite": "0.0.9-alpha-24",
+        "php-wasm-xml": "0.0.9-alpha-24",
+        "php-wasm-zlib": "0.0.9-alpha-24",
         "tailwindcss": "^3.4.4",
         "vitest": "^2.0.5",
         "webpack": "^5.92.1",
@@ -5040,77 +5040,77 @@
       }
     },
     "node_modules/php-cgi-wasm": {
-      "version": "0.0.9-alpha-2",
-      "resolved": "https://registry.npmjs.org/php-cgi-wasm/-/php-cgi-wasm-0.0.9-alpha-2.tgz",
-      "integrity": "sha512-Z1WCt2WMrrQ5RZVje0pSRFbdZ7lRlZF5k3IXAwTWTPR0UnsiNA8QFRPfnaCCeil2Cj8NL2/o3ouIEDAAaqnAew==",
+      "version": "0.0.9-alpha-24",
+      "resolved": "https://registry.npmjs.org/php-cgi-wasm/-/php-cgi-wasm-0.0.9-alpha-24.tgz",
+      "integrity": "sha512-oaV2e9rQHdZVegeh1r9HW2ClJlMMBGNyQFefzqNmpkjQT881z1OGUE55jJg0YdvuH+0qb9OKLM8OEEITGhnylQ==",
       "dev": true,
       "license": "Apache-2.0"
     },
     "node_modules/php-wasm": {
-      "version": "0.0.9-alpha-13",
-      "resolved": "https://registry.npmjs.org/php-wasm/-/php-wasm-0.0.9-alpha-13.tgz",
-      "integrity": "sha512-8GDGGmxmyfemrJYTFCJKOkeqNMyYSqDpsdQsw0idTuL6GPe6TEuMx9IMds3XbMoZxWavNZDT9q59E80mq90+SA==",
+      "version": "0.0.9-alpha-24",
+      "resolved": "https://registry.npmjs.org/php-wasm/-/php-wasm-0.0.9-alpha-24.tgz",
+      "integrity": "sha512-PAsg8u4fXUXT8LYlRM48um9TC75RVJ2GN+M+QyfmjFuBXogDq7s+9LZC/PU7W342DIVyc8PLPecggX/sM52cag==",
       "dev": true,
       "license": "Apache-2.0"
     },
     "node_modules/php-wasm-dom": {
-      "version": "0.0.0-h",
-      "resolved": "https://registry.npmjs.org/php-wasm-dom/-/php-wasm-dom-0.0.0-h.tgz",
-      "integrity": "sha512-Df5IWgt4OPM8o2IdxZbLyNpcTHKKtczmZliAhOjbHWfgU4QQG4FYlmA+QkxElRarPrYhpU6zTluZx6UsyNY7rQ==",
+      "version": "0.0.9-alpha-24",
+      "resolved": "https://registry.npmjs.org/php-wasm-dom/-/php-wasm-dom-0.0.9-alpha-24.tgz",
+      "integrity": "sha512-pefIZqPY+BUYPYpsQhvNVWI0k+m0tzecvORtNN3hCe3xMiPEGpEpp6jfVue0nYfUbOlMJ51Xu/kmSgMpQWd2Jw==",
       "dev": true
     },
     "node_modules/php-wasm-gd": {
-      "version": "0.0.9-j",
-      "resolved": "https://registry.npmjs.org/php-wasm-gd/-/php-wasm-gd-0.0.9-j.tgz",
-      "integrity": "sha512-q/PaFyzAhliRCxF6hgkfkI/hoUm/QY/iib+bz3gqiyS2l6ecvv52pUD7051WU/ktvzdYbF+TMYOaQ5McM7aVKA==",
+      "version": "0.0.9-alpha-24",
+      "resolved": "https://registry.npmjs.org/php-wasm-gd/-/php-wasm-gd-0.0.9-alpha-24.tgz",
+      "integrity": "sha512-+1EXFweUONouxKGJNfJKDLQe6UgN4uctdpTYVz6W8vqFe9+fuRQlAMRyt1wa64rdAv3p4x5r8hIV5/HIuGqaGg==",
       "dev": true
     },
     "node_modules/php-wasm-iconv": {
-      "version": "0.0.9-j",
-      "resolved": "https://registry.npmjs.org/php-wasm-iconv/-/php-wasm-iconv-0.0.9-j.tgz",
-      "integrity": "sha512-I4rMsaXvijdDCOGfqcYYr/ozGU7AupvlUEOwVjB4W6Yxfdqrt3kJg2SEWAIhCM5iyKrYY54XOpqLLt79G33Dcg==",
+      "version": "0.0.9-alpha-24",
+      "resolved": "https://registry.npmjs.org/php-wasm-iconv/-/php-wasm-iconv-0.0.9-alpha-24.tgz",
+      "integrity": "sha512-dS5VgwQWM4Q8NttJJD7ZNvLqkU30WrjsfyC+GjpjlIRwZ/a9ZYu3KMubojmTKgRxlvR+BBzFVo5r+UXSOw3zlQ==",
       "dev": true
     },
     "node_modules/php-wasm-libxml": {
-      "version": "0.0.9-q",
-      "resolved": "https://registry.npmjs.org/php-wasm-libxml/-/php-wasm-libxml-0.0.9-q.tgz",
-      "integrity": "sha512-Fixb8NdtIsXk1+1Mzr0lc11HOf1UvUJ/7VfpyDGrIzsOdO0Lgi4/jc0FTigNWYxwTeDDRGa/JmI9PHCnjaEpbQ==",
+      "version": "0.0.9-alpha-24",
+      "resolved": "https://registry.npmjs.org/php-wasm-libxml/-/php-wasm-libxml-0.0.9-alpha-24.tgz",
+      "integrity": "sha512-GT5rvpim4l8+wheVJ1Y7CW/B60qW0qGMroEd8GxiWmh5XdYO6R6eAsHYdwZZeMX0ODkwBHKymevoYAt3ce5DQQ==",
       "dev": true
     },
     "node_modules/php-wasm-libzip": {
-      "version": "0.0.9-e",
-      "resolved": "https://registry.npmjs.org/php-wasm-libzip/-/php-wasm-libzip-0.0.9-e.tgz",
-      "integrity": "sha512-HnQiMICXTrSosDygH0hBbmvRePcDTz5YMMF6Ty69O3JzgUAkLHXYh1Q9pQm8avY80bQhzgWOpQgrSIFzcMTBnw==",
+      "version": "0.0.9-alpha-24",
+      "resolved": "https://registry.npmjs.org/php-wasm-libzip/-/php-wasm-libzip-0.0.9-alpha-24.tgz",
+      "integrity": "sha512-CA97QogXPGSzxrOk9j6mxlluSpW+ApDg4zXWeGdZhcj+jxd23F/Nuqy5AEEYDrOHDmNEWljE311NtnVFm2EuEQ==",
       "dev": true
     },
     "node_modules/php-wasm-mbstring": {
-      "version": "0.0.0-c",
-      "resolved": "https://registry.npmjs.org/php-wasm-mbstring/-/php-wasm-mbstring-0.0.0-c.tgz",
-      "integrity": "sha512-LWC9bB0g0D+UNq9G0LAux7zkcFUPqBSK8BW3AgmChlnVQzcvIcEkmQAYWjP2cR0MOFn6QrzfLuTJxkjTCcWfWA==",
+      "version": "0.0.9-alpha-24",
+      "resolved": "https://registry.npmjs.org/php-wasm-mbstring/-/php-wasm-mbstring-0.0.9-alpha-24.tgz",
+      "integrity": "sha512-IlCQts6OXN7h9MdJU4J2CYHNDNdKih5zNJx7uwwqds4+XV1tj6OybhgVjchag4toEufuGXuaUH/lF2+uysSHnw==",
       "dev": true
     },
     "node_modules/php-wasm-simplexml": {
-      "version": "0.0.0-j",
-      "resolved": "https://registry.npmjs.org/php-wasm-simplexml/-/php-wasm-simplexml-0.0.0-j.tgz",
-      "integrity": "sha512-7M2va97GezV34fDNxwq8FWec4cBqBAy5eTtEjFdlq90d3Gv3mdUDu2tc6WTOrLviassIJbvQsWXg+QiRV9nnKg==",
+      "version": "0.0.9-alpha-24",
+      "resolved": "https://registry.npmjs.org/php-wasm-simplexml/-/php-wasm-simplexml-0.0.9-alpha-24.tgz",
+      "integrity": "sha512-Qjyyhvwn0x6rIlri6LPzyBZJ/N+DiKxJlgVAsVzCZMqudYPHrSjrro1HwHwoY97yv1sK5nSGT4QbavKNOxveTA==",
       "dev": true
     },
     "node_modules/php-wasm-sqlite": {
-      "version": "0.0.9-alpha-18",
-      "resolved": "https://registry.npmjs.org/php-wasm-sqlite/-/php-wasm-sqlite-0.0.9-alpha-18.tgz",
-      "integrity": "sha512-nY0N49r7u1OqSnjfB+aZrgMOxtb2dC5l+Dw3HLApX/S198NImTRMLvzTjFT/iPma4W7dfWfxLwhhyXu9Elbu9w==",
+      "version": "0.0.9-alpha-24",
+      "resolved": "https://registry.npmjs.org/php-wasm-sqlite/-/php-wasm-sqlite-0.0.9-alpha-24.tgz",
+      "integrity": "sha512-G/EZMuX6hjdMkcIJwtnZzROZePIcXzu4QGhYNskVqFROYYAUEFE+pmplRe5IN+wnkofYskz1goh08sFQO1+lNg==",
       "dev": true
     },
     "node_modules/php-wasm-xml": {
-      "version": "0.0.0-i",
-      "resolved": "https://registry.npmjs.org/php-wasm-xml/-/php-wasm-xml-0.0.0-i.tgz",
-      "integrity": "sha512-IWjntmWfB8fvNIlOvYcM0/HqzuFtEgS3CVvRDCnSSR9mSMvsDMJC31xrg+Tws0LyTdTvYZ0DeSSFOhcOCySiRg==",
+      "version": "0.0.9-alpha-24",
+      "resolved": "https://registry.npmjs.org/php-wasm-xml/-/php-wasm-xml-0.0.9-alpha-24.tgz",
+      "integrity": "sha512-Yui0Cf8yIZvHjKNlBMNdBIiHC15+nanS4w5N5Pt/58RdZEtamSNmWLpXgLBYD5186pXInggMnQ0qH8nVN9H0mw==",
       "dev": true
     },
     "node_modules/php-wasm-zlib": {
-      "version": "0.0.9-f",
-      "resolved": "https://registry.npmjs.org/php-wasm-zlib/-/php-wasm-zlib-0.0.9-f.tgz",
-      "integrity": "sha512-z4aiwJheTjG7a092q8T6Nv+Hrc5tu4bV4qvQ7o+p+xyDYXhOGlHJxODzXDBoU4hJ4AJlkBG7k851k02R9swVvA==",
+      "version": "0.0.9-alpha-24",
+      "resolved": "https://registry.npmjs.org/php-wasm-zlib/-/php-wasm-zlib-0.0.9-alpha-24.tgz",
+      "integrity": "sha512-JojO3o/J4SPDbyILXucqRRAHEOkeYJ1Rj+L7xND5Dqt+yw1y2BMdPT0r8gahAhKjsDlgPxg4syCq+B6Jse7GUA==",
       "dev": true
     },
     "node_modules/picocolors": {
diff --git a/trial/package.json b/trial/package.json
index 62cf45da4..5f777c438 100644
--- a/trial/package.json
+++ b/trial/package.json
@@ -5,18 +5,18 @@
     "babel-loader": "^9.1.3",
     "happy-dom": "^14.12.3",
     "patch-package": "^8.0.0",
-    "php-cgi-wasm": "0.0.9-alpha-2",
-    "php-wasm": "0.0.9-alpha-13",
-    "php-wasm-dom": "0.0.0-h",
-    "php-wasm-gd": "^0.0.9-j",
-    "php-wasm-iconv": "0.0.9-j",
-    "php-wasm-libxml": "0.0.9-q",
-    "php-wasm-libzip": "0.0.9-e",
-    "php-wasm-mbstring": "0.0.0-c",
-    "php-wasm-simplexml": "0.0.0-j",
-    "php-wasm-sqlite": "0.0.9-alpha-18",
-    "php-wasm-xml": "0.0.0-i",
-    "php-wasm-zlib": "0.0.9-f",
+    "php-cgi-wasm": "0.0.9-alpha-24",
+    "php-wasm": "0.0.9-alpha-24",
+    "php-wasm-dom": "0.0.9-alpha-24",
+    "php-wasm-gd": "0.0.9-alpha-24",
+    "php-wasm-iconv": "0.0.9-alpha-24",
+    "php-wasm-libxml": "0.0.9-alpha-24",
+    "php-wasm-libzip": "0.0.9-alpha-24",
+    "php-wasm-mbstring": "0.0.9-alpha-24",
+    "php-wasm-simplexml": "0.0.9-alpha-24",
+    "php-wasm-sqlite": "0.0.9-alpha-24",
+    "php-wasm-xml": "0.0.9-alpha-24",
+    "php-wasm-zlib": "0.0.9-alpha-24",
     "tailwindcss": "^3.4.4",
     "vitest": "^2.0.5",
     "webpack": "^5.92.1",
diff --git a/trial/tests/cgi-interactive-install.test.js b/trial/tests/cgi-interactive-install.test.js
index ee89fe730..7ba559440 100644
--- a/trial/tests/cgi-interactive-install.test.js
+++ b/trial/tests/cgi-interactive-install.test.js
@@ -68,6 +68,7 @@ async function testInteractiveInstall(configFixturePath, persistFixturePath) {
       op: siteNameFormDoc.querySelector('input[name="op"]').value
     }
   )
+
   location = assertLocationHeader(
     postSiteNameFormRes,
     '/cgi/drupal/core/install.php',
@@ -111,7 +112,7 @@ async function testInteractiveInstall(configFixturePath, persistFixturePath) {
   assertSitesDefaultDirectoryPermissions(persistFixturePath)
 }
 
-describe('interactive install', {timeout: 270000}, () => {
+describe('interactive install', {timeout: 350000}, () => {
   beforeEach(setupFixturePaths)
   afterEach(cleanupFixturePaths)
 
-- 
GitLab