-
Notifications
You must be signed in to change notification settings - Fork 273
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Remote] Remove the "light" PHP.wasm bundle and only ship the "kitchen-sink" build #1861
Conversation
…sink" one Maintaining the "light" PHP.wasm bundle is a burden (#1848), especially with the JSPI support on the horizon (#1339). Only 1.3% of Playgrounds are loaded with the `light` extension bundle (see #1848). Let's thus simplify the project maintenance and remove the "light" bundle. After this PR, every Playground will be loaded with the "kitchen-sink" extension bundle. This PR also drops the name "kitchen-sink". From now on, it's just "php", ## Testing instructions * Confirm Playground continues to work in the local dev env * Confirm the CI is green – it would perform a thorough test run of many user flows. Closes #1848
We'll need to remove extensions-related E2E tests, but otherwise the code may be good to go. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
It's cool to see all the code we're able to delete with dropping this option.
*/ | ||
phpExtensionBundles?: SupportedPHPExtensionBundle[]; | ||
phpExtensionBundles?: any; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks fine, but it made me wonder:
Have we ever considered support for dynamically loading specific, optional PHP modules?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup! #89
I'll go ahead and merge. With 1.3% usage, deploying a version without the |
Maintaining the "light" PHP.wasm bundle is a burden (#1848), especially with the JSPI support on the horizon (#1339). Only 1.3% of Playgrounds are loaded with the
light
extension bundle (see #1848).Let's thus simplify the project maintenance and remove the "light" bundle. After this PR, every Playground will be loaded with the "kitchen-sink" extension bundle. This PR also drops the name "kitchen-sink". From now on, it's just "php",
Developer notes
The web version of Playground at playground.wordpress.net no longer ships the
light
build of PHP.wasm. Instead, it only ships thekitchen-sink
build where popular PHP extensions are available (e.g. libxml, libopenssl). Note that thekitchen-sink
build was already used by 98.7% of Playgrounds and most users are not affected by this.This change will help Playground maintainers focus on a single version and enable solving a lot of PHP.wasm stability issues by migrating to JSPI.
The CLI version of Playground is unaffected by this change.
The following APIs are now deprecated. Playground will accept them without crashing, but they will no longer have any effect:
phpExtensionBundles
Blueprint settingphp-extension-bundle
Query API parameterFollow up work
Testing instructions
Closes #1848