@php-wasm/web 3.1.21 → 3.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -6
- package/index.cjs +12 -13
- package/index.cjs.map +1 -1
- package/index.js +342 -319
- package/index.js.map +1 -1
- package/lib/extensions/load-extensions.d.ts +38 -0
- package/lib/index.d.ts +1 -0
- package/lib/load-runtime.d.ts +11 -0
- package/package.json +21 -21
- package/test/playwright/browser-globals.d.ts +13 -0
- package/lib/extensions/intl/with-intl.d.ts +0 -2
- package/test/playwright/globals.d.ts +0 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { EmscriptenOptions, PHPExtensionInstallOptions, SupportedPHPVersion } from '@php-wasm/universal';
|
|
2
|
+
type PHPWasmAsyncMode = 'jspi' | 'asyncify';
|
|
3
|
+
/**
|
|
4
|
+
* Built-in PHP extensions shipped with `@php-wasm/web`.
|
|
5
|
+
*/
|
|
6
|
+
export type BuiltInPHPWebExtensionName = 'intl';
|
|
7
|
+
/**
|
|
8
|
+
* External PHP extension source that can be installed before PHP starts.
|
|
9
|
+
*
|
|
10
|
+
* External sources are supported in JSPI runtimes only. Asyncify support is
|
|
11
|
+
* limited to bundled extensions shipped with this package.
|
|
12
|
+
*/
|
|
13
|
+
export type RuntimePHPWebExtensionSource = PHPExtensionInstallOptions;
|
|
14
|
+
/**
|
|
15
|
+
* PHP extension request accepted by `loadWebRuntime()`.
|
|
16
|
+
*
|
|
17
|
+
* The array may mix built-in extension names with external extension sources:
|
|
18
|
+
*
|
|
19
|
+
* ```ts
|
|
20
|
+
* await loadWebRuntime('8.4', {
|
|
21
|
+
* extensions: [
|
|
22
|
+
* 'intl',
|
|
23
|
+
* { source: { format: 'manifest', manifestUrl } },
|
|
24
|
+
* ],
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export type PHPWebExtension = BuiltInPHPWebExtensionName | {
|
|
29
|
+
name: BuiltInPHPWebExtensionName;
|
|
30
|
+
} | RuntimePHPWebExtensionSource;
|
|
31
|
+
/**
|
|
32
|
+
* Adds PHP extensions to Emscripten options before the Web runtime starts.
|
|
33
|
+
*
|
|
34
|
+
* Extension sources are resolved in parallel so multiple manifest or artifact
|
|
35
|
+
* downloads do not block each other.
|
|
36
|
+
*/
|
|
37
|
+
export declare function withPHPExtensions(version: SupportedPHPVersion, asyncMode: PHPWasmAsyncMode, options: EmscriptenOptions, extensions?: PHPWebExtension[]): Promise<EmscriptenOptions>;
|
|
38
|
+
export {};
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type { LoaderOptions as PHPWebLoaderOptions } from './load-runtime';
|
|
2
|
+
export type { BuiltInPHPWebExtensionName, PHPWebExtension, RuntimePHPWebExtensionSource, } from './extensions/load-extensions';
|
|
2
3
|
export { loadWebRuntime } from './load-runtime';
|
|
3
4
|
export { getPHPLoaderModule } from './get-php-loader-module';
|
|
4
5
|
export { setupPostMessageRelay } from './setup-post-message-relay';
|
package/lib/load-runtime.d.ts
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
import type { AllPHPVersion, EmscriptenOptions, PHPLoaderModule } from '@php-wasm/universal';
|
|
2
2
|
import type { TCPOverFetchOptions } from './tcp-over-fetch-websocket';
|
|
3
|
+
import { type PHPWebExtension } from './extensions/load-extensions';
|
|
3
4
|
export interface LoaderOptions {
|
|
4
5
|
emscriptenOptions?: EmscriptenOptions;
|
|
5
6
|
onPhpLoaderModuleLoaded?: (module: PHPLoaderModule) => void;
|
|
6
7
|
tcpOverFetch?: TCPOverFetchOptions;
|
|
8
|
+
/**
|
|
9
|
+
* PHP extensions to install before the runtime starts.
|
|
10
|
+
*
|
|
11
|
+
* Use built-in names such as `intl`, or pass an external JSPI extension
|
|
12
|
+
* source such as a manifest.
|
|
13
|
+
*/
|
|
14
|
+
extensions?: PHPWebExtension[];
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Use `extensions: ['intl']` instead.
|
|
17
|
+
*/
|
|
7
18
|
withIntl?: boolean;
|
|
8
19
|
}
|
|
9
20
|
export declare function loadWebRuntime(phpVersion: AllPHPVersion, loaderOptions?: LoaderOptions): Promise<number>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@php-wasm/web",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.25",
|
|
4
4
|
"description": "PHP.wasm for the web",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -37,11 +37,6 @@
|
|
|
37
37
|
"main": "./index.cjs",
|
|
38
38
|
"module": "./index.js",
|
|
39
39
|
"types": "index.d.ts",
|
|
40
|
-
"gitHead": "5864051cbf4c2a55656112d99a3f1b076bcd67cd",
|
|
41
|
-
"engines": {
|
|
42
|
-
"node": ">=20.10.0",
|
|
43
|
-
"npm": ">=10.2.3"
|
|
44
|
-
},
|
|
45
40
|
"dependencies": {
|
|
46
41
|
"@zip.js/zip.js": "2.7.57",
|
|
47
42
|
"async-lock": "1.4.1",
|
|
@@ -64,21 +59,26 @@
|
|
|
64
59
|
"wasm-feature-detect": "1.8.0",
|
|
65
60
|
"ws": "8.18.0",
|
|
66
61
|
"yargs": "17.7.2",
|
|
67
|
-
"@php-wasm/util": "3.1.
|
|
68
|
-
"@php-wasm/universal": "3.1.
|
|
69
|
-
"@php-wasm/logger": "3.1.
|
|
70
|
-
"@php-wasm/fs-journal": "3.1.
|
|
71
|
-
"@wp-playground/storage": "3.1.
|
|
72
|
-
"@php-wasm/web-8-5": "3.1.
|
|
73
|
-
"@php-wasm/web-8-4": "3.1.
|
|
74
|
-
"@php-wasm/web-8-3": "3.1.
|
|
75
|
-
"@php-wasm/web-8-2": "3.1.
|
|
76
|
-
"@php-wasm/web-8-1": "3.1.
|
|
77
|
-
"@php-wasm/web-8-0": "3.1.
|
|
78
|
-
"@php-wasm/web-7-4": "3.1.
|
|
79
|
-
"@wp-playground/common": "3.1.
|
|
80
|
-
"@php-wasm/web-5-2": "3.1.
|
|
81
|
-
"@php-wasm/web-service-worker": "3.1.
|
|
62
|
+
"@php-wasm/util": "3.1.25",
|
|
63
|
+
"@php-wasm/universal": "3.1.25",
|
|
64
|
+
"@php-wasm/logger": "3.1.25",
|
|
65
|
+
"@php-wasm/fs-journal": "3.1.25",
|
|
66
|
+
"@wp-playground/storage": "3.1.25",
|
|
67
|
+
"@php-wasm/web-8-5": "3.1.25",
|
|
68
|
+
"@php-wasm/web-8-4": "3.1.25",
|
|
69
|
+
"@php-wasm/web-8-3": "3.1.25",
|
|
70
|
+
"@php-wasm/web-8-2": "3.1.25",
|
|
71
|
+
"@php-wasm/web-8-1": "3.1.25",
|
|
72
|
+
"@php-wasm/web-8-0": "3.1.25",
|
|
73
|
+
"@php-wasm/web-7-4": "3.1.25",
|
|
74
|
+
"@wp-playground/common": "3.1.25",
|
|
75
|
+
"@php-wasm/web-5-2": "3.1.25",
|
|
76
|
+
"@php-wasm/web-service-worker": "3.1.25"
|
|
77
|
+
},
|
|
78
|
+
"gitHead": "e662afdd9a3b6dad3e194ad34d80421c539b7386",
|
|
79
|
+
"engines": {
|
|
80
|
+
"node": ">=20.10.0",
|
|
81
|
+
"npm": ">=10.2.3"
|
|
82
82
|
},
|
|
83
83
|
"packageManager": "npm@10.9.2",
|
|
84
84
|
"overrides": {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PHP, PHPRequestHandler, proxyFileSystem, setPhpIniEntries } from '@php-wasm/universal';
|
|
2
|
+
import { certificateToPEM, generateCertificate, loadWebRuntime } from '../../lib';
|
|
3
|
+
declare global {
|
|
4
|
+
interface Window {
|
|
5
|
+
PHP: typeof PHP;
|
|
6
|
+
PHPRequestHandler: typeof PHPRequestHandler;
|
|
7
|
+
loadWebRuntime: typeof loadWebRuntime;
|
|
8
|
+
proxyFileSystem: typeof proxyFileSystem;
|
|
9
|
+
setPhpIniEntries: typeof setPhpIniEntries;
|
|
10
|
+
generateCertificate: typeof generateCertificate;
|
|
11
|
+
certificateToPEM: typeof certificateToPEM;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|