@wp-playground/cli 1.2.2 → 1.2.3

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.
@@ -1,171 +0,0 @@
1
- import { loadNodeRuntime as k, createNodeFsMountHandler as S } from "@php-wasm/node";
2
- import { EmscriptenDownloadMonitor as M } from "@php-wasm/progress";
3
- import { exposeAPI as _, PHPWorker as W, consumeAPI as v, consumeAPISync as I } from "@php-wasm/universal";
4
- import { bootWordPress as N } from "@wp-playground/wordpress";
5
- import { rootCertificates as x } from "tls";
6
- import { MessageChannel as A, parentPort as E } from "worker_threads";
7
- function F(r, ...o) {
8
- let e = "", s = 0;
9
- for (let i = 0; i < r.length; i++)
10
- if (r[i] === "%" && i + 1 < r.length) {
11
- i++;
12
- const a = r[i];
13
- switch (a) {
14
- case "s": {
15
- const t = o[s++];
16
- let n;
17
- if (typeof t == "object")
18
- try {
19
- n = JSON.stringify(
20
- t,
21
- // Represent bigint values as strings in JSON.stringify().
22
- (u, c) => typeof c == "bigint" ? `0x${c.toString(16)}` : c,
23
- 2
24
- );
25
- } catch {
26
- }
27
- else
28
- n = String(t);
29
- e += n;
30
- break;
31
- }
32
- case "d": {
33
- const t = o[s++];
34
- typeof t == "bigint" ? e += t.toString() : e += Math.floor(Number(t));
35
- break;
36
- }
37
- case "f": {
38
- const t = o[s++];
39
- e += Number(t);
40
- break;
41
- }
42
- case "x": {
43
- const t = o[s++];
44
- typeof t == "bigint" ? e += t.toString(16) : e += Math.floor(Number(t)).toString(16);
45
- break;
46
- }
47
- case "%": {
48
- e += "%";
49
- break;
50
- }
51
- default:
52
- e += "%" + a;
53
- }
54
- } else
55
- e += r[i];
56
- return e;
57
- }
58
- const L = () => (async () => "Suspending" in WebAssembly)();
59
- function g(r, o) {
60
- for (const e of o)
61
- r.mkdir(e.vfsPath), r.mount(e.vfsPath, S(e.hostPath));
62
- }
63
- function D(r, o, ...e) {
64
- console.log(
65
- performance.now().toFixed(6).padStart(15, "0"),
66
- r.toString().padStart(16, "0"),
67
- F(o, ...e)
68
- );
69
- }
70
- class H extends W {
71
- constructor(o) {
72
- super(void 0, o), this.booted = !1;
73
- }
74
- /**
75
- * Call this method before boot() to use file locking.
76
- *
77
- * This method is separate from boot() to simplify the related Comlink.transferHandlers
78
- * setup – if an argument is a MessagePort, we're transferring it, not copying it.
79
- *
80
- * @see comlink-sync.ts
81
- * @see phpwasm-emscripten-library-file-locking-for-node.js
82
- */
83
- async useFileLockManager(o) {
84
- await L() ? this.fileLockManager = v(o) : this.fileLockManager = await I(o);
85
- }
86
- async boot({
87
- absoluteUrl: o,
88
- mountsBeforeWpInstall: e,
89
- mountsAfterWpInstall: s,
90
- phpVersion: i = "8.0",
91
- wordPressZip: a,
92
- sqliteIntegrationPluginZip: t,
93
- firstProcessId: n,
94
- processIdSpaceLength: u,
95
- dataSqlPath: c,
96
- followSymlinks: b,
97
- trace: P,
98
- internalCookieStore: y
99
- }) {
100
- if (this.booted)
101
- throw new Error("Playground already booted");
102
- this.booted = !0;
103
- let l = n;
104
- const w = n + u - 1;
105
- try {
106
- const p = {
107
- WP_DEBUG: !0,
108
- WP_DEBUG_LOG: !0,
109
- WP_DEBUG_DISPLAY: !1
110
- }, h = await N({
111
- siteUrl: o,
112
- createPhpRuntime: async () => {
113
- const d = l;
114
- return l < w ? l++ : l = n, await k(i, {
115
- emscriptenOptions: {
116
- fileLockManager: this.fileLockManager,
117
- processId: d,
118
- trace: P ? D : void 0
119
- },
120
- followSymlinks: b
121
- });
122
- },
123
- wordPressZip: a !== void 0 ? new File([a], "wordpress.zip") : void 0,
124
- sqliteIntegrationPluginZip: t !== void 0 ? new File(
125
- [t],
126
- "sqlite-integration-plugin.zip"
127
- ) : void 0,
128
- sapiName: "cli",
129
- createFiles: {
130
- "/internal/shared/ca-bundle.crt": x.join(`
131
- `)
132
- },
133
- constants: p,
134
- phpIniEntries: {
135
- "openssl.cafile": "/internal/shared/ca-bundle.crt",
136
- allow_url_fopen: "1",
137
- disable_functions: ""
138
- },
139
- hooks: {
140
- async beforeWordPressFiles(d) {
141
- g(d, e);
142
- }
143
- },
144
- cookieStore: y ? void 0 : !1,
145
- dataSqlPath: c
146
- });
147
- this.__internal_setRequestHandler(h);
148
- const m = await h.getPrimaryPhp();
149
- await this.setPrimaryPHP(m), g(m, s), R();
150
- } catch (p) {
151
- throw C(p), p;
152
- }
153
- }
154
- // Provide a named disposal method that can be invoked via comlink.
155
- async dispose() {
156
- await this[Symbol.asyncDispose]();
157
- }
158
- }
159
- const f = new A(), [R, C] = _(
160
- new H(new M()),
161
- void 0,
162
- f.port1
163
- );
164
- E.postMessage(
165
- {
166
- command: "worker-script-initialized",
167
- phpPort: f.port2
168
- },
169
- [f.port2]
170
- );
171
- //# sourceMappingURL=worker-thread-CQBM_bGk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-thread-CQBM_bGk.js","sources":["packages/php-wasm/util/src/lib/sprintf.ts","node_modules/wasm-feature-detect/dist/esm/index.js","packages/playground/cli/src/worker-thread.ts"],"sourcesContent":["/**\n * Formats a string like sprintf().\n *\n * This function:\n * - Supports basic format specifiers: %s, %d, %f, %x, %%\n * - Supports bigint values\n *\n * The purpose of this function is for use in optional php-wasm tracing.\n * If we use printf-style formatting for trace messages, we let the trace\n * function decide whether to format and do not have to pay for formatting\n * unless tracing is enabled.\n */\nexport function sprintf(format: string, ...args: any[]): string {\n\tlet result = '';\n\tlet argIndex = 0;\n\n\tfor (let i = 0; i < format.length; i++) {\n\t\tif (format[i] === '%' && i + 1 < format.length) {\n\t\t\ti++;\n\t\t\tconst specifier = format[i];\n\n\t\t\tswitch (specifier) {\n\t\t\t\tcase 's': {\n\t\t\t\t\tconst arg = args[argIndex++];\n\t\t\t\t\tlet str;\n\t\t\t\t\tif (typeof arg === 'object') {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t// If an object doesn't provide its own toString(),\n\t\t\t\t\t\t\t// try to represent it as JSON.\n\t\t\t\t\t\t\tstr = JSON.stringify(\n\t\t\t\t\t\t\t\targ,\n\t\t\t\t\t\t\t\t// Represent bigint values as strings in JSON.stringify().\n\t\t\t\t\t\t\t\t(key, value) => {\n\t\t\t\t\t\t\t\t\tif (typeof value === 'bigint') {\n\t\t\t\t\t\t\t\t\t\treturn `0x${value.toString(16)}`;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t// Ignore error and use default representation.\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstr = String(arg);\n\t\t\t\t\t}\n\n\t\t\t\t\tresult += str;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'd': {\n\t\t\t\t\tconst arg = args[argIndex++];\n\t\t\t\t\tif (typeof arg === 'bigint') {\n\t\t\t\t\t\tresult += arg.toString();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult += Math.floor(Number(arg));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'f': {\n\t\t\t\t\tconst arg = args[argIndex++];\n\t\t\t\t\tif (typeof arg === 'bigint') {\n\t\t\t\t\t\tresult += Number(arg);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult += Number(arg);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'x': {\n\t\t\t\t\tconst arg = args[argIndex++];\n\t\t\t\t\tif (typeof arg === 'bigint') {\n\t\t\t\t\t\tresult += arg.toString(16);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult += Math.floor(Number(arg)).toString(16);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase '%': {\n\t\t\t\t\tresult += '%';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tresult += '%' + specifier;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tresult += format[i];\n\t\t}\n\t}\n\n\treturn result;\n}\n","export const bigInt=()=>(async e=>{try{return(await WebAssembly.instantiate(e)).instance.exports.b(BigInt(0))===BigInt(0)}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,126,1,126,3,2,1,0,7,5,1,1,98,0,0,10,6,1,4,0,32,0,11])),bulkMemory=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,3,1,0,1,10,14,1,12,0,65,0,65,0,65,0,252,10,0,0,11])),exceptions=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),exceptionsFinal=()=>(async()=>{try{return new WebAssembly.Module(Uint8Array.from(atob(\"AGFzbQEAAAABBAFgAAADAgEAChABDgACaR9AAQMAAAsACxoL\"),(e=>e.codePointAt(0)))),!0}catch(e){return!1}})(),extendedConst=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,5,3,1,0,1,11,9,1,0,65,1,65,2,106,11,0])),gc=()=>(async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,95,1,120,0])))(),jsStringBuiltins=()=>(async()=>{try{return await WebAssembly.instantiate(Uint8Array.from(atob(\"AGFzbQEAAAABBgFgAW8BfwIXAQ53YXNtOmpzLXN0cmluZwR0ZXN0AAA=\"),(e=>e.codePointAt(0))),{},{builtins:[\"js-string\"]}),!0}catch(e){return!1}})(),jspi=()=>(async()=>\"Suspending\"in WebAssembly)(),memory64=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,5,3,1,4,1])),multiMemory=()=>(async()=>{try{return new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,5,5,2,0,0,0,0])),!0}catch(e){return!1}})(),multiValue=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,0,2,127,127,3,2,1,0,10,8,1,6,0,65,0,65,0,11])),mutableGlobals=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,2,8,1,1,97,1,98,3,127,1,6,6,1,127,1,65,0,11,7,5,1,1,97,3,1])),referenceTypes=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,7,1,5,0,208,112,26,11])),relaxedSimd=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,15,1,13,0,65,1,253,15,65,2,253,15,253,128,2,11])),saturatedFloatToInt=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,12,1,10,0,67,0,0,0,0,252,0,26,11])),signExtensions=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,65,0,192,26,11])),simd=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),streamingCompilation=()=>(async()=>\"compileStreaming\"in WebAssembly)(),tailCall=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,6,1,4,0,18,0,11])),threads=()=>(async e=>{try{return\"undefined\"!=typeof MessageChannel&&(new MessageChannel).port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(e)}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11])),typeReflection=()=>(async()=>\"Function\"in WebAssembly)(),typedFunctionReferences=()=>(async()=>{try{return new WebAssembly.Module(Uint8Array.from(atob(\"AGFzbQEAAAABEANgAX8Bf2ABZAABf2AAAX8DBAMBAAIJBQEDAAEBChwDCwBBCkEqIAAUAGoLBwAgAEEBagsGANIBEAAL\"),(e=>e.codePointAt(0)))),!0}catch(e){return!1}})();\n","import type { FileLockManager } from '@php-wasm/node';\nimport { createNodeFsMountHandler, loadNodeRuntime } from '@php-wasm/node';\nimport { EmscriptenDownloadMonitor } from '@php-wasm/progress';\nimport type { PHP, RemoteAPI, SupportedPHPVersion } from '@php-wasm/universal';\nimport {\n\tPHPWorker,\n\tconsumeAPI,\n\tconsumeAPISync,\n\texposeAPI,\n} from '@php-wasm/universal';\nimport { sprintf } from '@php-wasm/util';\nimport { bootWordPress } from '@wp-playground/wordpress';\nimport { rootCertificates } from 'tls';\nimport { jspi } from 'wasm-feature-detect';\nimport { MessageChannel, type MessagePort, parentPort } from 'worker_threads';\n\nexport interface Mount {\n\thostPath: string;\n\tvfsPath: string;\n}\n\nexport type PrimaryWorkerBootOptions = {\n\twpVersion?: string;\n\tphpVersion?: SupportedPHPVersion;\n\tabsoluteUrl: string;\n\tmountsBeforeWpInstall: Array<Mount>;\n\tmountsAfterWpInstall: Array<Mount>;\n\twordPressZip?: ArrayBuffer;\n\tsqliteIntegrationPluginZip?: ArrayBuffer;\n\tfirstProcessId: number;\n\tprocessIdSpaceLength: number;\n\tdataSqlPath?: string;\n\tfollowSymlinks: boolean;\n\ttrace: boolean;\n\t/**\n\t * When true, Playground will not send cookies to the client but will manage\n\t * them internally. This can be useful in environments that can't store cookies,\n\t * e.g. VS Code WebView.\n\t *\n\t * Default: false.\n\t */\n\tinternalCookieStore?: boolean;\n};\n\nfunction mountResources(php: PHP, mounts: Mount[]) {\n\tfor (const mount of mounts) {\n\t\tphp.mkdir(mount.vfsPath);\n\t\tphp.mount(mount.vfsPath, createNodeFsMountHandler(mount.hostPath));\n\t}\n}\n\n/**\n * Print trace messages from PHP-WASM.\n *\n * @param {number} processId - The process ID.\n * @param {string} format - The format string.\n * @param {...any} args - The arguments.\n */\nfunction tracePhpWasm(processId: number, format: string, ...args: any[]) {\n\t// eslint-disable-next-line no-console\n\tconsole.log(\n\t\tperformance.now().toFixed(6).padStart(15, '0'),\n\t\tprocessId.toString().padStart(16, '0'),\n\t\tsprintf(format, ...args)\n\t);\n}\n\nexport class PlaygroundCliWorker extends PHPWorker {\n\tbooted = false;\n\tfileLockManager: RemoteAPI<FileLockManager> | FileLockManager | undefined;\n\n\tconstructor(monitor: EmscriptenDownloadMonitor) {\n\t\tsuper(undefined, monitor);\n\t}\n\n\t/**\n\t * Call this method before boot() to use file locking.\n\t *\n\t * This method is separate from boot() to simplify the related Comlink.transferHandlers\n\t * setup – if an argument is a MessagePort, we're transferring it, not copying it.\n\t *\n\t * @see comlink-sync.ts\n\t * @see phpwasm-emscripten-library-file-locking-for-node.js\n\t */\n\tasync useFileLockManager(port: MessagePort) {\n\t\tif (await jspi()) {\n\t\t\t/**\n\t\t\t * If JSPI is available, php.js supports both synchronous and asynchronous locking syscalls.\n\t\t\t * Web browsers, however, only support asynchronous message passing so let's use the\n\t\t\t * asynchronous API. Every method call will return a promise.\n\t\t\t *\n\t\t\t * @see comlink-sync.ts\n\t\t\t * @see phpwasm-emscripten-library-file-locking-for-node.js\n\t\t\t */\n\t\t\tthis.fileLockManager = consumeAPI<FileLockManager>(port);\n\t\t} else {\n\t\t\t/**\n\t\t\t * If JSPI is not available, php.js only supports synchronous locking syscalls.\n\t\t\t * Let's use the synchronous API. Every method call will block this thread\n\t\t\t * until the result is available.\n\t\t\t *\n\t\t\t * @see comlink-sync.ts\n\t\t\t * @see phpwasm-emscripten-library-file-locking-for-node.js\n\t\t\t */\n\t\t\tthis.fileLockManager = await consumeAPISync<FileLockManager>(port);\n\t\t}\n\t}\n\n\tasync boot({\n\t\tabsoluteUrl,\n\t\tmountsBeforeWpInstall,\n\t\tmountsAfterWpInstall,\n\t\tphpVersion = '8.0',\n\t\twordPressZip,\n\t\tsqliteIntegrationPluginZip,\n\t\tfirstProcessId,\n\t\tprocessIdSpaceLength,\n\t\tdataSqlPath,\n\t\tfollowSymlinks,\n\t\ttrace,\n\t\tinternalCookieStore,\n\t}: PrimaryWorkerBootOptions) {\n\t\tif (this.booted) {\n\t\t\tthrow new Error('Playground already booted');\n\t\t}\n\t\tthis.booted = true;\n\n\t\tlet nextProcessId = firstProcessId;\n\t\tconst lastProcessId = firstProcessId + processIdSpaceLength - 1;\n\n\t\ttry {\n\t\t\tconst constants: Record<string, string | number | boolean | null> =\n\t\t\t\t{\n\t\t\t\t\tWP_DEBUG: true,\n\t\t\t\t\tWP_DEBUG_LOG: true,\n\t\t\t\t\tWP_DEBUG_DISPLAY: false,\n\t\t\t\t};\n\n\t\t\tconst requestHandler = await bootWordPress({\n\t\t\t\tsiteUrl: absoluteUrl,\n\t\t\t\tcreatePhpRuntime: async () => {\n\t\t\t\t\tconst processId = nextProcessId;\n\n\t\t\t\t\tif (nextProcessId < lastProcessId) {\n\t\t\t\t\t\tnextProcessId++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// We've reached the end of the process ID space. Start over.\n\t\t\t\t\t\tnextProcessId = firstProcessId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn await loadNodeRuntime(phpVersion, {\n\t\t\t\t\t\temscriptenOptions: {\n\t\t\t\t\t\t\tfileLockManager: this.fileLockManager!,\n\t\t\t\t\t\t\tprocessId,\n\t\t\t\t\t\t\ttrace: trace ? tracePhpWasm : undefined,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfollowSymlinks,\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\twordPressZip:\n\t\t\t\t\twordPressZip !== undefined\n\t\t\t\t\t\t? new File([wordPressZip], 'wordpress.zip')\n\t\t\t\t\t\t: undefined,\n\t\t\t\tsqliteIntegrationPluginZip:\n\t\t\t\t\tsqliteIntegrationPluginZip !== undefined\n\t\t\t\t\t\t? new File(\n\t\t\t\t\t\t\t\t[sqliteIntegrationPluginZip],\n\t\t\t\t\t\t\t\t'sqlite-integration-plugin.zip'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: undefined,\n\t\t\t\tsapiName: 'cli',\n\t\t\t\tcreateFiles: {\n\t\t\t\t\t'/internal/shared/ca-bundle.crt':\n\t\t\t\t\t\trootCertificates.join('\\n'),\n\t\t\t\t},\n\t\t\t\tconstants,\n\t\t\t\tphpIniEntries: {\n\t\t\t\t\t'openssl.cafile': '/internal/shared/ca-bundle.crt',\n\t\t\t\t\tallow_url_fopen: '1',\n\t\t\t\t\tdisable_functions: '',\n\t\t\t\t},\n\t\t\t\thooks: {\n\t\t\t\t\tasync beforeWordPressFiles(php) {\n\t\t\t\t\t\tmountResources(php, mountsBeforeWpInstall);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcookieStore: internalCookieStore ? undefined : false,\n\t\t\t\tdataSqlPath,\n\t\t\t});\n\t\t\tthis.__internal_setRequestHandler(requestHandler);\n\n\t\t\tconst primaryPhp = await requestHandler.getPrimaryPhp();\n\t\t\tawait this.setPrimaryPHP(primaryPhp);\n\n\t\t\tmountResources(primaryPhp, mountsAfterWpInstall);\n\n\t\t\tsetApiReady();\n\t\t} catch (e) {\n\t\t\tsetAPIError(e as Error);\n\t\t\tthrow e;\n\t\t}\n\t}\n\n\t// Provide a named disposal method that can be invoked via comlink.\n\tasync dispose() {\n\t\tawait this[Symbol.asyncDispose]();\n\t}\n}\n\nconst phpChannel = new MessageChannel();\n\nconst [setApiReady, setAPIError] = exposeAPI(\n\tnew PlaygroundCliWorker(new EmscriptenDownloadMonitor()),\n\tundefined,\n\tphpChannel.port1\n);\n\nparentPort!.postMessage(\n\t{\n\t\tcommand: 'worker-script-initialized',\n\t\tphpPort: phpChannel.port2,\n\t},\n\t[phpChannel.port2 as any]\n);\n"],"names":["sprintf","format","args","result","argIndex","specifier","arg","str","key","value","jspi","mountResources","php","mounts","mount","createNodeFsMountHandler","tracePhpWasm","processId","PlaygroundCliWorker","PHPWorker","monitor","port","consumeAPI","consumeAPISync","absoluteUrl","mountsBeforeWpInstall","mountsAfterWpInstall","phpVersion","wordPressZip","sqliteIntegrationPluginZip","firstProcessId","processIdSpaceLength","dataSqlPath","followSymlinks","trace","internalCookieStore","nextProcessId","lastProcessId","constants","requestHandler","bootWordPress","loadNodeRuntime","rootCertificates","primaryPhp","setApiReady","e","setAPIError","phpChannel","MessageChannel","exposeAPI","EmscriptenDownloadMonitor","parentPort"],"mappings":"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","x_google_ignoreList":[1]}