diff --git a/cli/commands/site/create.ts b/cli/commands/site/create.ts index 6ffbbbccd1..922dddd9d5 100644 --- a/cli/commands/site/create.ts +++ b/cli/commands/site/create.ts @@ -3,7 +3,7 @@ import fs from 'fs'; import path from 'path'; import { SupportedPHPVersions } from '@php-wasm/universal'; import { __, sprintf } from '@wordpress/i18n'; -import { Blueprint } from '@wp-playground/blueprints'; +import { BlueprintV1Declaration } from '@wp-playground/blueprints'; import { RecommendedPHPVersion } from '@wp-playground/common'; import { filterUnsupportedBlueprintFeatures, @@ -74,7 +74,7 @@ export async function runCommand( ); } - let blueprint: Blueprint | undefined; + let blueprint: BlueprintV1Declaration | undefined; if ( options.blueprintJson ) { const validation = await validateBlueprintData( options.blueprintJson ); if ( ! validation.valid ) { @@ -92,7 +92,9 @@ export async function runCommand( ); } - blueprint = filterUnsupportedBlueprintFeatures( options.blueprintJson ) as Blueprint; + blueprint = filterUnsupportedBlueprintFeatures( + options.blueprintJson + ) as BlueprintV1Declaration; } const appdata = await readAppdata(); diff --git a/cli/commands/site/tests/create.test.ts b/cli/commands/site/tests/create.test.ts index f7e1f6e6c6..74ab1d6bb4 100644 --- a/cli/commands/site/tests/create.test.ts +++ b/cli/commands/site/tests/create.test.ts @@ -1,4 +1,4 @@ -import { Blueprint } from '@wp-playground/blueprints'; +import { BlueprintV1Declaration } from '@wp-playground/blueprints'; import { filterUnsupportedBlueprintFeatures, validateBlueprintData, @@ -469,8 +469,13 @@ describe( 'CLI: studio site create', () => { } ); describe( 'Blueprint Handling', () => { - const testBlueprint: Blueprint = { - steps: [ { step: 'installPlugin', pluginData: { slug: 'akismet' } } ], + const testBlueprint: BlueprintV1Declaration = { + steps: [ + { + step: 'installPlugin', + pluginData: { resource: 'wordpress.org/plugins', slug: 'akismet' }, + }, + ], }; it( 'should apply blueprint when provided', async () => { @@ -564,7 +569,7 @@ describe( 'CLI: studio site create', () => { } ); it( 'should apply blueprint without starting server when noStart is true', async () => { - const testBlueprint: Blueprint = { steps: [] }; + const testBlueprint: BlueprintV1Declaration = { steps: [] }; const { runCommand } = await import( '../create' ); @@ -602,7 +607,7 @@ describe( 'CLI: studio site create', () => { } ); it( 'should handle blueprint application failure', async () => { - const testBlueprint: Blueprint = { steps: [] }; + const testBlueprint: BlueprintV1Declaration = { steps: [] }; ( runBlueprint as jest.Mock ).mockRejectedValue( new Error( 'Blueprint failed' ) ); const { runCommand } = await import( '../create' ); diff --git a/package-lock.json b/package-lock.json index c2d4839e23..e49ea2c989 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,9 +15,9 @@ "@formatjs/intl-locale": "^3.4.5", "@formatjs/intl-localematcher": "^0.5.4", "@inquirer/prompts": "^7.10.1", - "@php-wasm/node": "^3.0.22", - "@php-wasm/scopes": "^3.0.22", - "@php-wasm/universal": "^3.0.22", + "@php-wasm/node": "^3.0.34", + "@php-wasm/scopes": "^3.0.34", + "@php-wasm/universal": "^3.0.34", "@reduxjs/toolkit": "^2.11.2", "@rive-app/react-canvas": "^4.12.0", "@sentry/electron": "^6.5.0", @@ -27,9 +27,9 @@ "@wordpress/dataviews": "^11.0.0", "@wordpress/i18n": "^6.9.0", "@wordpress/icons": "^11.3.0", - "@wp-playground/blueprints": "^3.0.22", - "@wp-playground/cli": "^3.0.22", - "@wp-playground/wordpress": "^3.0.22", + "@wp-playground/blueprints": "^3.0.34", + "@wp-playground/cli": "^3.0.34", + "@wp-playground/wordpress": "^3.0.34", "archiver": "^6.0.2", "atomically": "^2.1.0", "cli-table3": "^0.6.5", @@ -7754,16 +7754,33 @@ "node": ">=0.10" } }, + "node_modules/@php-wasm/cli-util": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/cli-util/-/cli-util-3.0.34.tgz", + "integrity": "sha512-Ow+5ZgZO53Ciah8+qu00AI0+1mmafaX5VwMWpBrg/q/PKXg6gCi/1GK2qx5MbjLHYF4c/fgbxs9evhbAMwJLPw==", + "license": "GPL-2.0-or-later", + "dependencies": { + "fast-xml-parser": "5.3.0", + "jsonc-parser": "3.3.1" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, "node_modules/@php-wasm/fs-journal": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@php-wasm/fs-journal/-/fs-journal-3.0.22.tgz", - "integrity": "sha512-0aRtl2G/yejbyAC6guesznFKsg2EN3QEAjjKOJZ+QJogVT3szys0td8tNcQ0fcHYoSJj9lS8yZ+84EjpWN4LzQ==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/fs-journal/-/fs-journal-3.0.34.tgz", + "integrity": "sha512-mkcJMEMKtMB/7AaBMgBNvWfRL22x4JTEsyzR6DLXQYjzSXM2YENzGHJPqhYsf7JGnnai+AWCYALNDHZ/BMVLlA==", "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/logger": "3.0.22", - "@php-wasm/node": "3.0.22", - "@php-wasm/universal": "3.0.22", - "@php-wasm/util": "3.0.22", + "@php-wasm/logger": "3.0.34", + "@php-wasm/node": "3.0.34", + "@php-wasm/universal": "3.0.34", + "@php-wasm/util": "3.0.34", "express": "4.21.2", "ini": "4.1.2", "wasm-feature-detect": "1.8.0", @@ -7832,12 +7849,12 @@ } }, "node_modules/@php-wasm/logger": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@php-wasm/logger/-/logger-3.0.22.tgz", - "integrity": "sha512-AlomcaUmpBSSrkFNET5MOKVsqdTTID05nXWNKqgViRQaeepksIFukZYo1xm3XOAP/OhdKZ7IyblyfMSuStOVAg==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/logger/-/logger-3.0.34.tgz", + "integrity": "sha512-E/VB1RALBmgXSzLGXt96KQR1OMVJrYRU1pwuXU9q0Ui7p33TZ/bJBK5Zf4jTAOv+Ib4oC6cDhIPfgkeh0M3Ahg==", "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/node-polyfills": "3.0.22" + "@php-wasm/node-polyfills": "3.0.34" }, "engines": { "node": ">=20.18.3", @@ -7848,16 +7865,25 @@ } }, "node_modules/@php-wasm/node": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@php-wasm/node/-/node-3.0.22.tgz", - "integrity": "sha512-OlbCIGFB4ACHlha0C+MVYT47RKqulMUu35C1j6VdUAkYcen+QpzbXJGH4wMTBAkcw+q/jWUqllgGjDsoWDjj/w==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/node/-/node-3.0.34.tgz", + "integrity": "sha512-tRUrnT/sUSa3LGjt6QQSK6ZK/dP+Pp7bpCGQy9E9w8PYMRzNCGfWBGW3/p5CyR0kYXpwZimOyaiviuIBxWbFEQ==", "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/logger": "3.0.22", - "@php-wasm/node-polyfills": "3.0.22", - "@php-wasm/universal": "3.0.22", - "@php-wasm/util": "3.0.22", - "@wp-playground/common": "3.0.22", + "@php-wasm/logger": "3.0.34", + "@php-wasm/node-7-2": "3.0.34", + "@php-wasm/node-7-3": "3.0.34", + "@php-wasm/node-7-4": "3.0.34", + "@php-wasm/node-8-0": "3.0.34", + "@php-wasm/node-8-1": "3.0.34", + "@php-wasm/node-8-2": "3.0.34", + "@php-wasm/node-8-3": "3.0.34", + "@php-wasm/node-8-4": "3.0.34", + "@php-wasm/node-8-5": "3.0.34", + "@php-wasm/node-polyfills": "3.0.34", + "@php-wasm/universal": "3.0.34", + "@php-wasm/util": "3.0.34", + "@wp-playground/common": "3.0.34", "express": "4.21.2", "ini": "4.1.2", "wasm-feature-detect": "1.8.0", @@ -7872,10 +7898,262 @@ "fs-ext": "2.1.1" } }, + "node_modules/@php-wasm/node-7-2": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/node-7-2/-/node-7-2-3.0.34.tgz", + "integrity": "sha512-MxZXZFndW6x031KdQjKnBvGGFl+8Wfzdbh5ZwQX21rPoTq70bVoD+qBtzfaXnFAZmijrgvdERRY//AutIEioIw==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0", + "ws": "8.18.3" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/node-7-2/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/node-7-3": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/node-7-3/-/node-7-3-3.0.34.tgz", + "integrity": "sha512-Vub0KoOZuQ4LmXg/ELdQoCLlgmvkJ1CMIbEIzg7IjULEeulMFnYQroff+V3wMpvjYfB+cuIcHRNmrnNV9pTC3w==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0", + "ws": "8.18.3" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/node-7-3/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/node-7-4": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/node-7-4/-/node-7-4-3.0.34.tgz", + "integrity": "sha512-7JS0/xkeWEANNgYBzC0IGOSzW1f77WNvdOFchGSMd7DAYBadHw2PZTyBAG906CNlfNclJgDcgnhRHPuN1/1QhQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0", + "ws": "8.18.3" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/node-7-4/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/node-8-0": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/node-8-0/-/node-8-0-3.0.34.tgz", + "integrity": "sha512-Qtxtqokf/JC9dXPT950+gS9Zv+d6tTi4XUAnH3d8ar+qJJJDB+GrpKfwn2xia4mRLYJYOkJm2SbHumKN7Bs8AA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0", + "ws": "8.18.3" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/node-8-0/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/node-8-1": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/node-8-1/-/node-8-1-3.0.34.tgz", + "integrity": "sha512-x9fZppbeBgesBVS/bp0LnGOMn/Jk2PG35ivMXUg0NWuq7uztA2pMkDs+2eR78/5x2K3/rXE7tqnq01FwKTSyRQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0", + "ws": "8.18.3" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/node-8-1/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/node-8-2": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/node-8-2/-/node-8-2-3.0.34.tgz", + "integrity": "sha512-A+5r+57JQJfAcUhHw7za/HaWC1n0v/6Tk9xG02OpO9vsQHza5fGsptsVzJDLWEHQNqIhaWNkAXnQ0zUveP16Lg==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0", + "ws": "8.18.3" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/node-8-2/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/node-8-3": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/node-8-3/-/node-8-3-3.0.34.tgz", + "integrity": "sha512-p3tNSwotI6tWn531tgObK8d5DR3uMcaU0ctLQJpA6DI1/kogKXi+DpeH3A3bkzxPrNSP0rT32PoGFOmtENF2iw==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0", + "ws": "8.18.3" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/node-8-3/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/node-8-4": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/node-8-4/-/node-8-4-3.0.34.tgz", + "integrity": "sha512-Wy5VR1gR/nDDQnjFQz6Wb+N5Z/ZZ/miyOIRu6esuoqNqCf3UNXiZVqR12wmFKajitSedOxxPgTFA1IS4+/w0ew==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0", + "ws": "8.18.3" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/node-8-4/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/node-8-5": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/node-8-5/-/node-8-5-3.0.34.tgz", + "integrity": "sha512-z5xD/amnVpgcJ60UzAi5rJsZbQe1RjLEj1a1Xg5lICo7rhiFn+VCaUwRA9fqqC6ZQ0N2VUFe1uQf6iOeTq3N5A==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0", + "ws": "8.18.3" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/node-8-5/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/@php-wasm/node-polyfills": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@php-wasm/node-polyfills/-/node-polyfills-3.0.22.tgz", - "integrity": "sha512-Q5T8n6wEQGTUn1eP61FmQdQO4rxavR3IeW95Fj++QIkMs9ZfllmuWepbu02rWP6unk6Do7IZoNprqRz7Lyc9og==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/node-polyfills/-/node-polyfills-3.0.34.tgz", + "integrity": "sha512-pvVzmMDlYRqmgzlqf7be2sQEgjMjHsrcT+yhcn9D3Au2IbAFbfs3ZB5++b2Te0vk4ErdrbQUYaY1TPFzBOgO9g==", "license": "GPL-2.0-or-later", "optionalDependencies": { "fs-ext": "2.1.1" @@ -7934,13 +8212,13 @@ } }, "node_modules/@php-wasm/progress": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@php-wasm/progress/-/progress-3.0.22.tgz", - "integrity": "sha512-jkiP4hPDtqN4bkSI7X2OSjhtSQdxLqznofI32vLASGQu3SaaZO6iaqf0JBtnbJQL4n1TgQrqIe2PA/cNkRUKYA==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/progress/-/progress-3.0.34.tgz", + "integrity": "sha512-99qh3U1kf+2EJlQ3VDsYDarL6gIhdOPe2L6oSefDIl4gRY0XKhdQk+IJ89cRay7QomtSM6lT5hm2hGBJ9uMq9g==", "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/logger": "3.0.22", - "@php-wasm/node-polyfills": "3.0.22" + "@php-wasm/logger": "3.0.34", + "@php-wasm/node-polyfills": "3.0.34" }, "engines": { "node": ">=20.18.3", @@ -7951,9 +8229,9 @@ } }, "node_modules/@php-wasm/scopes": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@php-wasm/scopes/-/scopes-3.0.22.tgz", - "integrity": "sha512-BG2mdeQ3Xf9C1gZ6wpnS8gjGTbxnUG/EE0CCG2d0Vb3pDhjTMBbJIJx8y0Mly1OoQxv1xMjb68aXS+A0yEunZw==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/scopes/-/scopes-3.0.34.tgz", + "integrity": "sha512-3eBZhjnSJ/dYwj9TgS3XTDr3KwlpeknPYLnPKINk0icRzaJV7XTKU+zesiAXIu23pu1Q7qV3JxxL19xB6/VtJg==", "license": "GPL-2.0-or-later", "engines": { "node": ">=20.18.3", @@ -7964,29 +8242,29 @@ } }, "node_modules/@php-wasm/stream-compression": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@php-wasm/stream-compression/-/stream-compression-3.0.22.tgz", - "integrity": "sha512-uM/spZwgbuY9ZcTiCBl0ZvG0DwCahVn73DHQY7JtiN6uTRe4IsjTQtoOCZPjFFhTFvnf+ZSSCHw4sE9+oTpezg==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/stream-compression/-/stream-compression-3.0.34.tgz", + "integrity": "sha512-nmHdsEL006PrCZWV6XQjBWWszfC+Os+nQnfH2Oie2vc1bH7PRJycnYshv/wPuFajMrCrzmrVhXbN44kdIrTMsQ==", "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/node-polyfills": "3.0.22", - "@php-wasm/util": "3.0.22" + "@php-wasm/node-polyfills": "3.0.34", + "@php-wasm/util": "3.0.34" }, "optionalDependencies": { "fs-ext": "2.1.1" } }, "node_modules/@php-wasm/universal": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@php-wasm/universal/-/universal-3.0.22.tgz", - "integrity": "sha512-fh0MovmoWsz2F01KWZ2a14Ou6G+yKMduLnLIiFIcUfFqoWFvu8WW+yM29CfcDqx56/9aCRWltueckdcNZ9871g==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/universal/-/universal-3.0.34.tgz", + "integrity": "sha512-YhqS9jX8kDlrH5F+hDxiRnt2wHv/aBvXzT51NnMEbQj5GHijNEbaH5NLfSODl+0lA1NMCMt6mqI+Uzv7+TTbew==", "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/logger": "3.0.22", - "@php-wasm/node-polyfills": "3.0.22", - "@php-wasm/progress": "3.0.22", - "@php-wasm/stream-compression": "3.0.22", - "@php-wasm/util": "3.0.22", + "@php-wasm/logger": "3.0.34", + "@php-wasm/node-polyfills": "3.0.34", + "@php-wasm/progress": "3.0.34", + "@php-wasm/stream-compression": "3.0.34", + "@php-wasm/util": "3.0.34", "ini": "4.1.2" }, "engines": { @@ -8007,9 +8285,9 @@ } }, "node_modules/@php-wasm/util": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@php-wasm/util/-/util-3.0.22.tgz", - "integrity": "sha512-RX6yqg56xHx4/uxHXXFhrWtyj1+lVrlJL95Y3D/gkX+XcX2lrgAgRJSTrINhM9OZq7Amxz0DxDLQVglJi2Imfw==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/util/-/util-3.0.34.tgz", + "integrity": "sha512-QI938lH21z+/B3KFkBl1uo1QYgrFB6r4pkm4me9ANJnxfK7vn9n4ZvKChQyY9Ncil1IxGYSB34bt2aDhoqtmlA==", "engines": { "node": ">=20.18.3", "npm": ">=10.1.0" @@ -8019,18 +8297,29 @@ } }, "node_modules/@php-wasm/web": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@php-wasm/web/-/web-3.0.22.tgz", - "integrity": "sha512-BgfduJYdE0JIBTPjogDJiWqLdxM/JmWtAlKbmVlGtIeWGA9PJU9DMyhrzSeQkcx8zTN/wG3qDLgIrojJ2PII6A==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/web/-/web-3.0.34.tgz", + "integrity": "sha512-EI6d0IqGXQVHTnJHrL5rFj8QKAnPEYOr21CYW3prtHULmzPAZqq2JIFw21bvxNArVa6b53rFtdtfXr63GZW8bA==", "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/fs-journal": "3.0.22", - "@php-wasm/logger": "3.0.22", - "@php-wasm/universal": "3.0.22", - "@php-wasm/util": "3.0.22", - "@php-wasm/web-service-worker": "3.0.22", + "@php-wasm/fs-journal": "3.0.34", + "@php-wasm/logger": "3.0.34", + "@php-wasm/universal": "3.0.34", + "@php-wasm/util": "3.0.34", + "@php-wasm/web-7-2": "3.0.34", + "@php-wasm/web-7-3": "3.0.34", + "@php-wasm/web-7-4": "3.0.34", + "@php-wasm/web-8-0": "3.0.34", + "@php-wasm/web-8-1": "3.0.34", + "@php-wasm/web-8-2": "3.0.34", + "@php-wasm/web-8-3": "3.0.34", + "@php-wasm/web-8-4": "3.0.34", + "@php-wasm/web-8-5": "3.0.34", + "@php-wasm/web-service-worker": "3.0.34", + "@wp-playground/common": "3.0.34", "express": "4.21.2", "ini": "4.1.2", + "selfsigned": "2.4.1", "wasm-feature-detect": "1.8.0", "ws": "8.18.3", "yargs": "17.7.2" @@ -8043,13 +8332,256 @@ "fs-ext": "2.1.1" } }, + "node_modules/@php-wasm/web-7-2": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/web-7-2/-/web-7-2-3.0.34.tgz", + "integrity": "sha512-Nh2rzfzrqyCa3dnW1/OT7epdrh6NHN0TV9p2bclPEg6TYIUp/LMITSr8T6vcFtT9z3Vq90+Z+6mKMFlndC/pnQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/web-7-2/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/web-7-3": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/web-7-3/-/web-7-3-3.0.34.tgz", + "integrity": "sha512-iPeSDITcaEyHFLcaRohjtzPymdtAR1EEVegMt4yZdCyICzX5vk7EsZJAgky1Y5IhV5cGc63swoLB3+lzERWTsw==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/web-7-3/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/web-7-4": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/web-7-4/-/web-7-4-3.0.34.tgz", + "integrity": "sha512-rzNFYdyaKU34jrR/Nc1fLC7lYW+9aaOeTxp0QOCiTqo7+bY4nE/ZP8vcpl9y3LAIsAV7RyenNgESCo0KsxyQ9Q==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/web-7-4/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/web-8-0": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/web-8-0/-/web-8-0-3.0.34.tgz", + "integrity": "sha512-66k3u2rxDVnLfgetfcFQTKWFkMkdGI58kur8gdcZqDlyI5IY4i7yvlFaA66zr3loRfvGVhJ/5Zgm6ZrU2GEH8Q==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/web-8-0/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/web-8-1": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/web-8-1/-/web-8-1-3.0.34.tgz", + "integrity": "sha512-Ih15fvykl7rGl8bf2cUKpMUkdObcEBebqcj1xexcYtnAzWOZjOk7al/y5AIb/16l952RTQYIVl6Wpms4ArFOvQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/web-8-1/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/web-8-2": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/web-8-2/-/web-8-2-3.0.34.tgz", + "integrity": "sha512-33oCZZPMVBAB6+iedJhiisUjqVMgAT7RzDEqN0BLwX8UX3RnmUMbdPKyCtiGxfM5M3c0+1sp37ioLRZY7c/F7w==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/web-8-2/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/web-8-3": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/web-8-3/-/web-8-3-3.0.34.tgz", + "integrity": "sha512-HiyfsTlKlkLdmwWOE3lZ2JwOKIYzP69u6pSohGUJFrdG9dnPYF91zhyWEoH/hdm+eKV8SHc45JvQ2y1MOVpTpQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/web-8-3/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/web-8-4": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/web-8-4/-/web-8-4-3.0.34.tgz", + "integrity": "sha512-d34KNcr+juMJB0R0lGtWN1i7R6hG8kJlTSPuqoKFnhjax0fds/GVOqxuB7eBSORJyAbb0gOumpPRbu0wr0r98w==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/web-8-4/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@php-wasm/web-8-5": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/web-8-5/-/web-8-5-3.0.34.tgz", + "integrity": "sha512-gCbRiLevCcfGxXmEZvsgrrlDtWjw3GkZb+qHjWWh5E16MZmKBhClf59O30mRxt/G0wwY46Hndkw24fZIug6W1Q==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/universal": "3.0.34", + "ini": "4.1.2", + "wasm-feature-detect": "1.8.0" + }, + "engines": { + "node": ">=20.18.3", + "npm": ">=10.1.0" + }, + "optionalDependencies": { + "fs-ext": "2.1.1" + } + }, + "node_modules/@php-wasm/web-8-5/node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/@php-wasm/web-service-worker": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@php-wasm/web-service-worker/-/web-service-worker-3.0.22.tgz", - "integrity": "sha512-OijEAI6/Rf6G9Do4E87OqGpCFW56uyU2Gl007IHJjV8cEOQLXVPfFpi0+VE4Tbr9Ba4NjB1GEFIUJJIHX08/3g==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/web-service-worker/-/web-service-worker-3.0.34.tgz", + "integrity": "sha512-SyX+2E1nM8+arqrw/KybXS1dbdcQuUS8KlkaIKgRZdjcbcJ9bKc4alyLdqTWWtqIF3eaI9PDVdY/72nZdXTHPA==", "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/scopes": "3.0.22" + "@php-wasm/scopes": "3.0.34" }, "engines": { "node": ">=20.18.3", @@ -8113,15 +8645,15 @@ } }, "node_modules/@php-wasm/xdebug-bridge": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@php-wasm/xdebug-bridge/-/xdebug-bridge-3.0.22.tgz", - "integrity": "sha512-nYM3ryfYSxYjJYKkT65UmBoV/aS+I72lOL9k35TMLB+NCLSC3Z5srPZ8GoVxq9nJDVFs8I4a77SwUthA/q58PA==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@php-wasm/xdebug-bridge/-/xdebug-bridge-3.0.34.tgz", + "integrity": "sha512-WS6aHoBNBvjEAT2FJIPFMp5v38SiIAdQN2mFbl7S+ENBnAqG0LuEGwY+kE/0PRd2mMpuewVzUi0wuBWWcQaALg==", "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/logger": "3.0.22", - "@php-wasm/node": "3.0.22", - "@php-wasm/universal": "3.0.22", - "@wp-playground/common": "3.0.22", + "@php-wasm/logger": "3.0.34", + "@php-wasm/node": "3.0.34", + "@php-wasm/universal": "3.0.34", + "@wp-playground/common": "3.0.34", "express": "4.21.2", "ini": "4.1.2", "wasm-feature-detect": "1.8.0", @@ -10218,7 +10750,6 @@ "version": "1.3.14", "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", - "dev": true, "license": "MIT", "dependencies": { "@types/node": "*" @@ -11644,21 +12175,22 @@ } }, "node_modules/@wp-playground/blueprints": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@wp-playground/blueprints/-/blueprints-3.0.22.tgz", - "integrity": "sha512-Rx1b70k7RTeT7gkqVbQvHDgjXoqJHXPkyKh2XUnLg9CDhe/FNvbhYD/mFZMGI7JLqMlf2C5cCxdMUFcHSQuC8A==", - "dependencies": { - "@php-wasm/logger": "3.0.22", - "@php-wasm/node": "3.0.22", - "@php-wasm/node-polyfills": "3.0.22", - "@php-wasm/progress": "3.0.22", - "@php-wasm/stream-compression": "3.0.22", - "@php-wasm/universal": "3.0.22", - "@php-wasm/util": "3.0.22", - "@php-wasm/web": "3.0.22", - "@wp-playground/common": "3.0.22", - "@wp-playground/storage": "3.0.22", - "@wp-playground/wordpress": "3.0.22", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@wp-playground/blueprints/-/blueprints-3.0.34.tgz", + "integrity": "sha512-HPiFF17Zm/U726JLESDvCgBo/g5QNFERO2jgN14PL6y2kOKdhuNZDNXrplgCddpbT7uqJpG9OUELYUJj1apfgg==", + "dependencies": { + "@php-wasm/logger": "3.0.34", + "@php-wasm/node": "3.0.34", + "@php-wasm/node-polyfills": "3.0.34", + "@php-wasm/progress": "3.0.34", + "@php-wasm/scopes": "3.0.34", + "@php-wasm/stream-compression": "3.0.34", + "@php-wasm/universal": "3.0.34", + "@php-wasm/util": "3.0.34", + "@php-wasm/web": "3.0.34", + "@wp-playground/common": "3.0.34", + "@wp-playground/storage": "3.0.34", + "@wp-playground/wordpress": "3.0.34", "@zip.js/zip.js": "2.7.57", "ajv": "8.12.0", "async-lock": "1.4.1", @@ -11673,6 +12205,7 @@ "pako": "1.0.10", "pify": "2.3.0", "readable-stream": "3.6.2", + "selfsigned": "2.4.1", "sha.js": "2.4.12", "simple-get": "4.0.1", "wasm-feature-detect": "1.8.0", @@ -11768,21 +12301,22 @@ } }, "node_modules/@wp-playground/cli": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@wp-playground/cli/-/cli-3.0.22.tgz", - "integrity": "sha512-sWCtiX21Dh+8m8BRsSeumW2BcPpc36PkMDvMAJnLh7y8FmPPnqOY0rzOWBAmm19dHjCx8DiLuUZ7oo+est6g8A==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@wp-playground/cli/-/cli-3.0.34.tgz", + "integrity": "sha512-3A4r0IKgv+W9nCnQ+z79QUqrhq0LKfPdxnk1fRj59Qeiir5uf9MvT64sAJ6fbO6hTtx4T5oZYMHjneI0E2mLyg==", "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/logger": "3.0.22", - "@php-wasm/node": "3.0.22", - "@php-wasm/progress": "3.0.22", - "@php-wasm/universal": "3.0.22", - "@php-wasm/util": "3.0.22", - "@php-wasm/xdebug-bridge": "3.0.22", - "@wp-playground/blueprints": "3.0.22", - "@wp-playground/common": "3.0.22", - "@wp-playground/storage": "3.0.22", - "@wp-playground/wordpress": "3.0.22", + "@php-wasm/cli-util": "3.0.34", + "@php-wasm/logger": "3.0.34", + "@php-wasm/node": "3.0.34", + "@php-wasm/progress": "3.0.34", + "@php-wasm/universal": "3.0.34", + "@php-wasm/util": "3.0.34", + "@php-wasm/xdebug-bridge": "3.0.34", + "@wp-playground/blueprints": "3.0.34", + "@wp-playground/common": "3.0.34", + "@wp-playground/storage": "3.0.34", + "@wp-playground/wordpress": "3.0.34", "@zip.js/zip.js": "2.7.57", "ajv": "8.12.0", "async-lock": "1.4.1", @@ -11801,6 +12335,7 @@ "pify": "2.3.0", "ps-man": "1.1.8", "readable-stream": "3.6.2", + "selfsigned": "2.4.1", "sha.js": "2.4.12", "simple-get": "4.0.1", "tmp-promise": "3.0.3", @@ -11912,13 +12447,13 @@ } }, "node_modules/@wp-playground/common": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@wp-playground/common/-/common-3.0.22.tgz", - "integrity": "sha512-iH/lmymV1d3xX6o64AxEnv/CKLpfo8bkifxTkIBSk9wKmbxaGUsjGO2uTP5W9abpKOkdnlY6Nm8ESh1OGW7DtQ==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@wp-playground/common/-/common-3.0.34.tgz", + "integrity": "sha512-eBujXBnduvWrkBkf/1H2aEbyvkkGkoXdZqBTmpStwxmxrSdyQYaRR+DTo86Yvi1Ol5sLbil4fv15BJvfdjgtJw==", "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/universal": "3.0.22", - "@php-wasm/util": "3.0.22", + "@php-wasm/universal": "3.0.34", + "@php-wasm/util": "3.0.34", "ini": "4.1.2" }, "engines": { @@ -11939,15 +12474,15 @@ } }, "node_modules/@wp-playground/storage": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@wp-playground/storage/-/storage-3.0.22.tgz", - "integrity": "sha512-zjsxvfVNphvbGOzc1Q0EkaOxs9TokdPlncBk8ye5vzmNhvl0Glyfu3pErfHs/L/f0ftRw4eBk1VUgPCS8BxNDA==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@wp-playground/storage/-/storage-3.0.34.tgz", + "integrity": "sha512-E5p79iM2+rFlhF4VApN58yfk8a4rw8H3+mh3LJTlZUg9OAZREwyh8q7sbM1U2hmUTG3LPeAekNU1o8s9eRxpWg==", "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/stream-compression": "3.0.22", - "@php-wasm/universal": "3.0.22", - "@php-wasm/util": "3.0.22", - "@php-wasm/web": "3.0.22", + "@php-wasm/stream-compression": "3.0.34", + "@php-wasm/universal": "3.0.34", + "@php-wasm/util": "3.0.34", + "@php-wasm/web": "3.0.34", "@zip.js/zip.js": "2.7.57", "async-lock": "^1.4.1", "clean-git-ref": "^2.0.1", @@ -11961,6 +12496,7 @@ "pako": "^1.0.10", "pify": "^4.0.1", "readable-stream": "^3.4.0", + "selfsigned": "2.4.1", "sha.js": "^2.4.9", "simple-get": "^4.0.1", "wasm-feature-detect": "1.8.0", @@ -12040,16 +12576,16 @@ } }, "node_modules/@wp-playground/wordpress": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/@wp-playground/wordpress/-/wordpress-3.0.22.tgz", - "integrity": "sha512-FbQruz+dBA/sWq+Xf3SaTl3O7uWI4NYPovTzFnf/f1TPswjyYWGg8cGcb3xpGYr8pENOiPTkV2jKWX/V9WX/nw==", + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@wp-playground/wordpress/-/wordpress-3.0.34.tgz", + "integrity": "sha512-uIvc650Ww8982T0nx9VW+i7IzMY6fIcDNeIeXKa258Lupj2sm2ayIxF3Rf4IlCd1XJ6/wGidMWPmeF4diGJSeQ==", "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/logger": "3.0.22", - "@php-wasm/node": "3.0.22", - "@php-wasm/universal": "3.0.22", - "@php-wasm/util": "3.0.22", - "@wp-playground/common": "3.0.22", + "@php-wasm/logger": "3.0.34", + "@php-wasm/node": "3.0.34", + "@php-wasm/universal": "3.0.34", + "@php-wasm/util": "3.0.34", + "@wp-playground/common": "3.0.34", "express": "4.21.2", "ini": "4.1.2", "wasm-feature-detect": "1.8.0", @@ -25512,6 +26048,19 @@ "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==" }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/semver": { "version": "7.7.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", @@ -26467,9 +27016,9 @@ } }, "node_modules/strnum": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz", - "integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.2.tgz", + "integrity": "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==", "funding": [ { "type": "github", diff --git a/package.json b/package.json index 6964c56e1b..977399a721 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "cli:watch": "vite build --config vite.cli.config.ts --watch", "lint": "eslint {cli,common,src,e2e}", "format": "prettier . --write", - "test": "cross-env NODE_OPTIONS='--no-deprecation --max-old-space-size=16384' jest", + "test": "cross-env NODE_OPTIONS='--no-deprecation --max-old-space-size=16384 --experimental-vm-modules' jest", "test:watch": "cross-env NODE_OPTIONS='--no-deprecation' jest --watch", "e2e": "npx playwright install && npx playwright test", "test:metrics": "npx playwright test --config=./metrics/playwright.metrics.config.ts", @@ -110,9 +110,9 @@ "@formatjs/intl-locale": "^3.4.5", "@formatjs/intl-localematcher": "^0.5.4", "@inquirer/prompts": "^7.10.1", - "@php-wasm/node": "^3.0.22", - "@php-wasm/scopes": "^3.0.22", - "@php-wasm/universal": "^3.0.22", + "@php-wasm/node": "^3.0.34", + "@php-wasm/scopes": "^3.0.34", + "@php-wasm/universal": "^3.0.34", "@reduxjs/toolkit": "^2.11.2", "@rive-app/react-canvas": "^4.12.0", "@sentry/electron": "^6.5.0", @@ -122,9 +122,9 @@ "@wordpress/dataviews": "^11.0.0", "@wordpress/i18n": "^6.9.0", "@wordpress/icons": "^11.3.0", - "@wp-playground/blueprints": "^3.0.22", - "@wp-playground/cli": "^3.0.22", - "@wp-playground/wordpress": "^3.0.22", + "@wp-playground/blueprints": "^3.0.34", + "@wp-playground/cli": "^3.0.34", + "@wp-playground/wordpress": "^3.0.34", "archiver": "^6.0.2", "atomically": "^2.1.0", "cli-table3": "^0.6.5", diff --git a/patches/@wp-playground+wordpress+3.0.22.patch b/patches/@wp-playground+wordpress+3.0.34.patch similarity index 61% rename from patches/@wp-playground+wordpress+3.0.22.patch rename to patches/@wp-playground+wordpress+3.0.34.patch index 310179a3c3..a40086e238 100644 --- a/patches/@wp-playground+wordpress+3.0.22.patch +++ b/patches/@wp-playground+wordpress+3.0.34.patch @@ -1,23 +1,23 @@ diff --git a/node_modules/@wp-playground/wordpress/index.cjs b/node_modules/@wp-playground/wordpress/index.cjs -index 603a479..9db144f 100644 +index 3e03b3d..1f98a2a 100644 --- a/node_modules/@wp-playground/wordpress/index.cjs +++ b/node_modules/@wp-playground/wordpress/index.cjs @@ -352,7 +352,7 @@ function skip_whitespace($tokens) { ob_clean(); echo false === $return_value ? '0' : '1'; ob_end_flush(); -- `})).text!=="1")throw new Error("Failed to rewrite constants in wp-config.php.")}async function w(e,n){const t=a.joinPaths(n,"wp-config.php"),i={DB_NAME:"wordpress"};!e.fileExists(t)&&e.fileExists(a.joinPaths(n,"wp-config-sample.php"))&&await e.writeFile(t,await e.readFileAsBuffer(a.joinPaths(n,"wp-config-sample.php"))),await g(e,t,i,"skip")}async function L(e){const n=await m(e);return await $(n,e),n}async function $(e,n){var l,s;const t=await e.getPrimaryPhp();if((l=n.hooks)!=null&&l.beforeWordPressFiles&&await n.hooks.beforeWordPressFiles(t),n.wordPressZip&&await S(t,await n.wordPressZip),n.constants)for(const d in n.constants)t.defineConstant(d,n.constants[d]);n.dataSqlPath&&(t.defineConstant("DB_DIR",a.dirname(n.dataSqlPath)),t.defineConstant("DB_FILE",a.basename(n.dataSqlPath))),t.defineConstant("WP_HOME",n.siteUrl),t.defineConstant("WP_SITEURL",n.siteUrl),await w(t,e.documentRoot),(s=n.hooks)!=null&&s.beforeDatabaseSetup&&await n.hooks.beforeDatabaseSetup(t);let i=!1;n.sqliteIntegrationPluginZip&&(i=!0,await T(t,await n.sqliteIntegrationPluginZip));const r=n.wordpressInstallMode??"download-and-install",o=!!n.dataSqlPath;if(["download-and-install","install-from-existing-files"].includes(r)){await c(e,{usesSqlite:i,hasCustomDatabasePath:o});try{await _(t)}catch(d){throw o||await p(e),d}o||await p(e)}else if(r==="install-from-existing-files-if-needed"){if(await c(e,{usesSqlite:i,hasCustomDatabasePath:o}),!await b(t))try{await _(t)}catch(d){throw o||await p(e),d}o||await p(e)}return e}async function c(e,{usesSqlite:n,hasCustomDatabasePath:t}){const i=await e.getPrimaryPhp();if(i.isFile("/internal/shared/preload/0-sqlite.php"))return;const r=a.joinPaths(e.documentRoot,"wp-content/mu-plugins/sqlite-database-integration");if(!i.isDir(r)&&!n&&!t)throw new Error("Error connecting to the MySQL database.")}async function p(e){const n=await e.getPrimaryPhp();if(await I(n))return;if(n.isFile("/internal/shared/preload/0-sqlite.php"))throw new Error("Error connecting to the SQLite database.");const i=a.joinPaths(e.documentRoot,"wp-content/mu-plugins/sqlite-database-integration");throw n.isDir(i)?new Error("Error connecting to the SQLite database."):new Error("Error connecting to the MySQL database.")}async function m(e){const n=e.spawnHandler??u.sandboxedSpawnHandlerFactory;async function t(r,o){const l=await e.createPhpRuntime(o),s=new u.PHP(l);return e.sapiName&&s.setSapiName(e.sapiName),r&&(s.requestHandler=r),e.phpIniEntries&&u.setPhpIniEntries(s,e.phpIniEntries),s.defineConstant("WP_SQLITE_AST_DRIVER",!0),o&&!s.isFile("/internal/.boot-files-written")&&(await E(s),await u.writeFiles(s,"/",e.createFiles||{}),await R(s,a.joinPaths(new URL(e.siteUrl).pathname,"phpinfo.php")),await u.writeFiles(s,"/internal",{".boot-files-written":""})),n&&await s.setSpawnHandler(n(r.processManager)),s.enableRuntimeRotation({recreateRuntime:e.createPhpRuntime,maxRequests:400}),e.onPHPInstanceCreated&&await e.onPHPInstanceCreated(s,{isPrimary:o}),s}const i=new u.PHPRequestHandler({phpFactory:async({isPrimary:r})=>t(i,r),documentRoot:e.documentRoot||"/wordpress",absoluteUrl:e.siteUrl,rewriteRules:k,getFileNotFoundAction:e.getFileNotFoundAction??P,cookieStore:e.cookieStore});return i}async function b(e){return(await e.run({code:`t(i,r),documentRoot:e.documentRoot||"/wordpress",absoluteUrl:e.siteUrl,rewriteRules:k,getFileNotFoundAction:e.getFileNotFoundAction??P,cookieStore:e.cookieStore});return i}async function b(e){return(await e.run({code:`r.instanceManager.acquirePHPInstance({considerPrimary:!1}):void 0)),s.enableRuntimeRotation({recreateRuntime:e.createPhpRuntime,maxRequests:400}),e.onPHPInstanceCreated&&await e.onPHPInstanceCreated(s,{isPrimary:o}),s}const i=new u.PHPRequestHandler({documentRoot:e.documentRoot||"/wordpress",absoluteUrl:e.siteUrl,rewriteRules:k,getFileNotFoundAction:e.getFileNotFoundAction??P,cookieStore:e.cookieStore,php:e.maxPhpInstances===1?await t(void 0,!0):void 0,phpFactory:e.maxPhpInstances!==1?async({isPrimary:r})=>t(i,r):void 0,maxPhpInstances:e.maxPhpInstances});return i}async function b(e){return(await e.run({code:`r.instanceManager.acquirePHPInstance({considerPrimary:!1}):void 0)),s.enableRuntimeRotation({recreateRuntime:e.createPhpRuntime,maxRequests:400}),e.onPHPInstanceCreated&&await e.onPHPInstanceCreated(s,{isPrimary:o}),s}const i=new u.PHPRequestHandler({documentRoot:e.documentRoot||"/wordpress",absoluteUrl:e.siteUrl,rewriteRules:k,getFileNotFoundAction:e.getFileNotFoundAction??P,cookieStore:e.cookieStore,php:e.maxPhpInstances===1?await t(void 0,!0):void 0,phpFactory:e.maxPhpInstances!==1?async({isPrimary:r})=>t(i,r):void 0,maxPhpInstances:e.maxPhpInstances});return i}async function b(e){return(await e.run({code:`