@php-wasm/node 1.1.2 → 1.1.4

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.
Files changed (40) hide show
  1. package/asyncify/7_2_34/php_7_2.wasm +0 -0
  2. package/asyncify/7_3_33/php_7_3.wasm +0 -0
  3. package/asyncify/7_4_33/php_7_4.wasm +0 -0
  4. package/asyncify/8_0_30/php_8_0.wasm +0 -0
  5. package/asyncify/8_1_23/php_8_1.wasm +0 -0
  6. package/asyncify/8_2_10/php_8_2.wasm +0 -0
  7. package/asyncify/8_3_0/php_8_3.wasm +0 -0
  8. package/asyncify/8_4_0/php_8_4.wasm +0 -0
  9. package/asyncify/php_7_2.js +351 -157
  10. package/asyncify/php_7_3.js +350 -156
  11. package/asyncify/php_7_4.js +349 -155
  12. package/asyncify/php_8_0.js +353 -159
  13. package/asyncify/php_8_1.js +352 -158
  14. package/asyncify/php_8_2.js +353 -159
  15. package/asyncify/php_8_3.js +353 -159
  16. package/asyncify/php_8_4.js +352 -158
  17. package/fs_ext.node +0 -0
  18. package/index.cjs +9896 -2782
  19. package/index.js +9780 -2782
  20. package/jspi/7_2_34/php_7_2.wasm +0 -0
  21. package/jspi/7_3_33/php_7_3.wasm +0 -0
  22. package/jspi/7_4_33/php_7_4.wasm +0 -0
  23. package/jspi/8_0_30/php_8_0.wasm +0 -0
  24. package/jspi/8_1_23/php_8_1.wasm +0 -0
  25. package/jspi/8_2_10/php_8_2.wasm +0 -0
  26. package/jspi/8_3_0/php_8_3.wasm +0 -0
  27. package/jspi/8_4_0/php_8_4.wasm +0 -0
  28. package/jspi/php_7_2.js +1130 -340
  29. package/jspi/php_7_3.js +1130 -340
  30. package/jspi/php_7_4.js +1130 -340
  31. package/jspi/php_8_0.js +1130 -340
  32. package/jspi/php_8_1.js +1129 -339
  33. package/jspi/php_8_2.js +1129 -339
  34. package/jspi/php_8_3.js +1129 -339
  35. package/jspi/php_8_4.js +1129 -339
  36. package/lib/file-lock-manager-for-node.d.ts +149 -0
  37. package/lib/file-lock-manager.d.ts +96 -0
  38. package/lib/index.d.ts +2 -0
  39. package/lib/load-runtime.d.ts +31 -2
  40. package/package.json +10 -9
@@ -8,7 +8,7 @@ import path from 'path';
8
8
 
9
9
  const dependencyFilename = path.join(__dirname, '8_0_30', 'php_8_0.wasm');
10
10
  export { dependencyFilename };
11
- export const dependenciesTotalSize = 17379367;
11
+ export const dependenciesTotalSize = 17684220;
12
12
  export function init(RuntimeName, PHPLoader) {
13
13
  // The rest of the code comes from the built php.js file and esm-suffix.js
14
14
  // include: shell.js
@@ -228,7 +228,7 @@ export function init(RuntimeName, PHPLoader) {
228
228
  if (!Module['noFSInit'] && !FS.initialized) FS.init();
229
229
  TTY.init();
230
230
  PIPEFS.root = FS.mount(PIPEFS, {}, null);
231
- wasmExports['fb']();
231
+ wasmExports['gb']();
232
232
  FS.ignorePermissions = false;
233
233
  }
234
234
 
@@ -396,9 +396,9 @@ export function init(RuntimeName, PHPLoader) {
396
396
  wasmExports = instance.exports;
397
397
  wasmExports = Asyncify.instrumentWasmExports(wasmExports);
398
398
  Module['wasmExports'] = wasmExports;
399
- wasmMemory = wasmExports['eb'];
399
+ wasmMemory = wasmExports['fb'];
400
400
  updateMemoryViews();
401
- wasmTable = wasmExports['gb'];
401
+ wasmTable = wasmExports['hb'];
402
402
  removeRunDependency('wasm-instantiate');
403
403
  return wasmExports;
404
404
  }
@@ -6990,6 +6990,16 @@ export function init(RuntimeName, PHPLoader) {
6990
6990
 
6991
6991
  var allocateUTF8OnStack = stringToUTF8OnStack;
6992
6992
 
6993
+ function _js_getpid() {
6994
+ return PHPLoader.processId ?? 42;
6995
+ }
6996
+
6997
+ function _js_wasm_trace(format, ...args) {
6998
+ if (PHPLoader.trace instanceof Function) {
6999
+ PHPLoader.trace(_js_getpid(), format, ...args);
7000
+ }
7001
+ }
7002
+
6993
7003
  var PHPWASM = {
6994
7004
  init: function () {
6995
7005
  // The /internal directory is required by the C module. It's where the
@@ -7002,6 +7012,44 @@ export function init(RuntimeName, PHPLoader) {
7002
7012
  // The files from the preload directory are preloaded using the
7003
7013
  // auto_prepend_file php.ini directive.
7004
7014
  FS.mkdir('/internal/shared/preload');
7015
+ // Create stdout and stderr devices. We can't just use Emscripten's
7016
+ // default stdout and stderr devices because they stop processing data
7017
+ // on the first null byte. However, when dealing with binary data,
7018
+ // null bytes are valid and common.
7019
+ FS.registerDevice(FS.makedev(64, 0), {
7020
+ open: () => {},
7021
+ close: () => {},
7022
+ read: () => 0,
7023
+ write: (stream, buffer, offset, length, pos) => {
7024
+ const chunk = buffer.subarray(offset, offset + length);
7025
+ PHPWASM.onStdout(chunk);
7026
+ return length;
7027
+ },
7028
+ });
7029
+ FS.mkdev('/internal/stdout', FS.makedev(64, 0));
7030
+ FS.registerDevice(FS.makedev(63, 0), {
7031
+ open: () => {},
7032
+ close: () => {},
7033
+ read: () => 0,
7034
+ write: (stream, buffer, offset, length, pos) => {
7035
+ const chunk = buffer.subarray(offset, offset + length);
7036
+ PHPWASM.onStderr(chunk);
7037
+ return length;
7038
+ },
7039
+ });
7040
+ FS.mkdev('/internal/stderr', FS.makedev(63, 0));
7041
+ FS.registerDevice(FS.makedev(62, 0), {
7042
+ open: () => {},
7043
+ close: () => {},
7044
+ read: () => 0,
7045
+ write: (stream, buffer, offset, length, pos) => {
7046
+ const chunk = buffer.subarray(offset, offset + length);
7047
+ PHPWASM.onHeaders(chunk);
7048
+ return length;
7049
+ },
7050
+ });
7051
+ FS.mkdev('/internal/headers', FS.makedev(62, 0));
7052
+ // Handle events.
7005
7053
  PHPWASM.EventEmitter = ENVIRONMENT_IS_NODE
7006
7054
  ? require('events').EventEmitter
7007
7055
  : class EventEmitter {
@@ -7042,9 +7090,71 @@ export function init(RuntimeName, PHPLoader) {
7042
7090
  }
7043
7091
  }
7044
7092
  };
7093
+ // Clean up the fd -> childProcess mapping when the fd is closed:
7094
+ const originalClose = FS.close;
7095
+ FS.close = function (stream) {
7096
+ originalClose(stream);
7097
+ delete PHPWASM.child_proc_by_fd[stream.fd];
7098
+ };
7045
7099
  PHPWASM.child_proc_by_fd = {};
7046
7100
  PHPWASM.child_proc_by_pid = {};
7047
7101
  PHPWASM.input_devices = {};
7102
+ const originalWrite = TTY.stream_ops.write;
7103
+ TTY.stream_ops.write = function (stream, ...rest) {
7104
+ const retval = originalWrite(stream, ...rest);
7105
+ // Implicit flush since PHP's fflush() doesn't seem to trigger the fsync event
7106
+ // @TODO: Fix this at the wasm level
7107
+ stream.tty.ops.fsync(stream.tty);
7108
+ return retval;
7109
+ };
7110
+ const originalPutChar = TTY.stream_ops.put_char;
7111
+ TTY.stream_ops.put_char = function (tty, val) {
7112
+ /**
7113
+ * Buffer newlines that Emscripten normally ignores.
7114
+ *
7115
+ * Emscripten doesn't do it by default because its default
7116
+ * print function is console.log that implicitly adds a newline. We are overwriting
7117
+ * it with an environment-specific function that outputs exaclty what it was given,
7118
+ * e.g. in Node.js it's process.stdout.write(). Therefore, we need to mak sure
7119
+ * all the newlines make it to the output buffer.
7120
+ */ if (val === 10) tty.output.push(val);
7121
+ return originalPutChar(tty, val);
7122
+ };
7123
+ },
7124
+ onHeaders: function (chunk) {
7125
+ if (Module['onHeaders']) {
7126
+ Module['onHeaders'](chunk);
7127
+ return;
7128
+ }
7129
+ console.log('headers', {
7130
+ chunk,
7131
+ });
7132
+ },
7133
+ onStdout: function (chunk) {
7134
+ if (Module['onStdout']) {
7135
+ Module['onStdout'](chunk);
7136
+ return;
7137
+ }
7138
+ if (ENVIRONMENT_IS_NODE) {
7139
+ process.stdout.write(chunk);
7140
+ } else {
7141
+ console.log('stdout', {
7142
+ chunk,
7143
+ });
7144
+ }
7145
+ },
7146
+ onStderr: function (chunk) {
7147
+ if (Module['onStderr']) {
7148
+ Module['onStderr'](chunk);
7149
+ return;
7150
+ }
7151
+ if (ENVIRONMENT_IS_NODE) {
7152
+ process.stderr.write(chunk);
7153
+ } else {
7154
+ console.warn('stderr', {
7155
+ chunk,
7156
+ });
7157
+ }
7048
7158
  },
7049
7159
  getAllWebSockets: function (sock) {
7050
7160
  const webSockets = new Set();
@@ -7226,7 +7336,7 @@ export function init(RuntimeName, PHPLoader) {
7226
7336
  argsArray.push(UTF8ToString(HEAPU32[charPointer >> 2]));
7227
7337
  }
7228
7338
  }
7229
- const cwdstr = cwdPtr ? UTF8ToString(cwdPtr) : null;
7339
+ const cwdstr = cwdPtr ? UTF8ToString(cwdPtr) : FS.cwd();
7230
7340
  let envObject = null;
7231
7341
  if (envLength) {
7232
7342
  envObject = {};
@@ -7299,6 +7409,15 @@ export function init(RuntimeName, PHPLoader) {
7299
7409
  PHPWASM.child_proc_by_fd[ProcInfo.stderrParentFd] = ProcInfo;
7300
7410
  PHPWASM.child_proc_by_pid[ProcInfo.pid] = ProcInfo;
7301
7411
  cp.on('exit', function (code) {
7412
+ for (const fd of [
7413
+ // The child process exited. Let's clean up its output streams:
7414
+ ProcInfo.stdoutChildFd,
7415
+ ProcInfo.stderrChildFd,
7416
+ ]) {
7417
+ if (FS.streams[fd] && !FS.isClosed(FS.streams[fd])) {
7418
+ FS.close(FS.streams[fd]);
7419
+ }
7420
+ }
7302
7421
  ProcInfo.exitCode = code;
7303
7422
  ProcInfo.exited = true;
7304
7423
  // Emit events for the wasm_poll_socket function.
@@ -7349,12 +7468,52 @@ export function init(RuntimeName, PHPLoader) {
7349
7468
  * listen to the 'exit' event.
7350
7469
  */ try {
7351
7470
  await new Promise((resolve, reject) => {
7352
- cp.on('spawn', resolve);
7353
- cp.on('error', reject);
7471
+ /**
7472
+ * There was no `await` between the `spawnProcess` call
7473
+ * and the `await` below so the process haven't had a chance
7474
+ * to run any of the exit-related callbacks yet.
7475
+ *
7476
+ * Good.
7477
+ *
7478
+ * Let's listen to all the lifecycle events and resolve
7479
+ * the promise when the process starts or immediately crashes.
7480
+ */ let resolved = false;
7481
+ cp.on('spawn', () => {
7482
+ if (resolved) return;
7483
+ resolved = true;
7484
+ resolve();
7485
+ });
7486
+ cp.on('error', (e) => {
7487
+ if (resolved) return;
7488
+ resolved = true;
7489
+ reject(e);
7490
+ });
7491
+ cp.on('exit', function (code) {
7492
+ if (resolved) return;
7493
+ resolved = true;
7494
+ if (code === 0) {
7495
+ resolve();
7496
+ } else {
7497
+ reject(
7498
+ new Error(`Process exited with code ${code}`)
7499
+ );
7500
+ }
7501
+ });
7502
+ /**
7503
+ * If the process haven't even started after 5 seconds, something
7504
+ * is wrong. Perhaps we're missing an event listener, or perhaps
7505
+ * the `spawnProcess` implementation failed to dispatch the relevant
7506
+ * event. Either way, let's crash to avoid blocking the proc_open()
7507
+ * call indefinitely.
7508
+ */ setTimeout(() => {
7509
+ if (resolved) return;
7510
+ resolved = true;
7511
+ reject(new Error('Process timed out'));
7512
+ }, 5e3);
7354
7513
  });
7355
7514
  } catch (e) {
7356
7515
  console.error(e);
7357
- wakeUp(1);
7516
+ wakeUp(ProcInfo.pid);
7358
7517
  return;
7359
7518
  }
7360
7519
  // Now we want to pass data from the STDIN source supplied by PHP
@@ -7850,7 +8009,7 @@ export function init(RuntimeName, PHPLoader) {
7850
8009
  var Asyncify = {
7851
8010
  instrumentWasmImports(imports) {
7852
8011
  var importPattern =
7853
- /^(_dlopen_js|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_v|invoke_vi|invoke_vii|invoke_viidii|invoke_viii|invoke_viiii|invoke_viiiii|invoke_viiiiii|invoke_viiiiiii|invoke_viiiiiiiii|js_open_process|_js_open_process|_asyncjs__js_open_process|js_popen_to_file|_js_popen_to_file|_asyncjs__js_popen_to_file|js_fd_read|_js_fd_read|js_module_onMessage|_js_module_onMessage|_asyncjs__js_module_onMessage|js_waitpid|_js_waitpid|_asyncjs__js_waitpid|wasm_poll_socket|_wasm_poll_socket|_asyncjs__wasm_poll_socket|wasm_shutdown|_wasm_shutdown|_asyncjs__wasm_shutdown|__asyncjs__.*)$/;
8012
+ /^(_dlopen_js|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_v|invoke_vi|invoke_vii|invoke_viidii|invoke_viii|invoke_viiii|invoke_viiiii|invoke_viiiiii|invoke_viiiiiii|invoke_viiiiiiiii|invoke_i|invoke_ii|invoke_iii|invoke_iiii|invoke_iiiii|invoke_iiiiii|invoke_iiiiiii|invoke_iiiiiiii|invoke_iiiiiiiiii|invoke_iij|invoke_iiji|invoke_iijii|invoke_iijiji|invoke_jii|invoke_jiii|invoke_viijii|invoke_vji|js_open_process|_js_open_process|_asyncjs__js_open_process|js_popen_to_file|_js_popen_to_file|_asyncjs__js_popen_to_file|__syscall_fcntl64|js_release_file_locks|js_flock|js_fd_read|_js_fd_read|_fd_close|js_module_onMessage|_js_module_onMessage|_asyncjs__js_module_onMessage|js_waitpid|_js_waitpid|_asyncjs__js_waitpid|wasm_poll_socket|_wasm_poll_socket|_asyncjs__wasm_poll_socket|_wasm_shutdown|_asyncjs__wasm_shutdown|__asyncjs__.*)$/;
7854
8013
  for (let [x, original] of Object.entries(imports)) {
7855
8014
  if (typeof original == 'function') {
7856
8015
  let isAsyncifyImport =
@@ -8243,14 +8402,7 @@ export function init(RuntimeName, PHPLoader) {
8243
8402
  const POLLNVAL = 32;
8244
8403
  return returnCallback((wakeUp) => {
8245
8404
  const polls = [];
8246
- if (socketd in PHPWASM.child_proc_by_fd) {
8247
- const procInfo = PHPWASM.child_proc_by_fd[socketd];
8248
- if (procInfo.exited) {
8249
- wakeUp(0);
8250
- return;
8251
- }
8252
- polls.push(PHPWASM.awaitEvent(procInfo.stdout, 'data'));
8253
- } else if (FS.isSocket(FS.getStream(socketd)?.node.mode)) {
8405
+ if (FS.isSocket(FS.getStream(socketd)?.node.mode)) {
8254
8406
  const sock = getSocketFromFD(socketd);
8255
8407
  if (!sock) {
8256
8408
  wakeUp(0);
@@ -8284,7 +8436,12 @@ export function init(RuntimeName, PHPLoader) {
8284
8436
  polls.push(PHPWASM.awaitConnection(ws));
8285
8437
  lookingFor.add('POLLOUT');
8286
8438
  }
8287
- if (events & POLLHUP) {
8439
+ if (
8440
+ events & POLLHUP ||
8441
+ events & POLLIN ||
8442
+ events & POLLOUT ||
8443
+ events & POLLERR
8444
+ ) {
8288
8445
  polls.push(PHPWASM.awaitClose(ws));
8289
8446
  lookingFor.add('POLLHUP');
8290
8447
  }
@@ -8293,6 +8450,13 @@ export function init(RuntimeName, PHPLoader) {
8293
8450
  lookingFor.add('POLLERR');
8294
8451
  }
8295
8452
  }
8453
+ } else if (socketd in PHPWASM.child_proc_by_fd) {
8454
+ const procInfo = PHPWASM.child_proc_by_fd[socketd];
8455
+ if (procInfo.exited) {
8456
+ wakeUp(0);
8457
+ return;
8458
+ }
8459
+ polls.push(PHPWASM.awaitEvent(procInfo.stdout, 'data'));
8296
8460
  } else {
8297
8461
  setTimeout(function () {
8298
8462
  wakeUp(1);
@@ -8436,78 +8600,78 @@ export function init(RuntimeName, PHPLoader) {
8436
8600
 
8437
8601
  var wasmImports = {
8438
8602
  /** @export */ m: ___assert_fail,
8439
- /** @export */ _: __asyncjs__js_module_onMessage,
8440
- /** @export */ db: ___call_sighandler,
8603
+ /** @export */ $: __asyncjs__js_module_onMessage,
8604
+ /** @export */ eb: ___call_sighandler,
8441
8605
  /** @export */ U: ___cxa_throw,
8442
- /** @export */ cb: ___syscall_accept4,
8443
- /** @export */ bb: ___syscall_bind,
8444
- /** @export */ ab: ___syscall_chdir,
8606
+ /** @export */ db: ___syscall_accept4,
8607
+ /** @export */ cb: ___syscall_bind,
8608
+ /** @export */ bb: ___syscall_chdir,
8445
8609
  /** @export */ T: ___syscall_chmod,
8446
- /** @export */ $a: ___syscall_connect,
8447
- /** @export */ _a: ___syscall_dup,
8448
- /** @export */ Za: ___syscall_dup3,
8449
- /** @export */ Ya: ___syscall_faccessat,
8450
- /** @export */ Xa: ___syscall_fallocate,
8451
- /** @export */ Wa: ___syscall_fchmod,
8452
- /** @export */ Va: ___syscall_fchown32,
8610
+ /** @export */ ab: ___syscall_connect,
8611
+ /** @export */ $a: ___syscall_dup,
8612
+ /** @export */ _a: ___syscall_dup3,
8613
+ /** @export */ Za: ___syscall_faccessat,
8614
+ /** @export */ Ya: ___syscall_fallocate,
8615
+ /** @export */ Xa: ___syscall_fchmod,
8616
+ /** @export */ Wa: ___syscall_fchown32,
8453
8617
  /** @export */ S: ___syscall_fchownat,
8454
8618
  /** @export */ l: ___syscall_fcntl64,
8455
- /** @export */ Ua: ___syscall_fdatasync,
8456
- /** @export */ Ta: ___syscall_fstat64,
8457
- /** @export */ Sa: ___syscall_ftruncate64,
8458
- /** @export */ Ra: ___syscall_getcwd,
8459
- /** @export */ Qa: ___syscall_getdents64,
8460
- /** @export */ Pa: ___syscall_getpeername,
8461
- /** @export */ Oa: ___syscall_getsockname,
8462
- /** @export */ Na: ___syscall_getsockopt,
8619
+ /** @export */ Va: ___syscall_fdatasync,
8620
+ /** @export */ Ua: ___syscall_fstat64,
8621
+ /** @export */ Ta: ___syscall_ftruncate64,
8622
+ /** @export */ Sa: ___syscall_getcwd,
8623
+ /** @export */ Ra: ___syscall_getdents64,
8624
+ /** @export */ Qa: ___syscall_getpeername,
8625
+ /** @export */ Pa: ___syscall_getsockname,
8626
+ /** @export */ Oa: ___syscall_getsockopt,
8463
8627
  /** @export */ E: ___syscall_ioctl,
8464
- /** @export */ Ma: ___syscall_listen,
8465
- /** @export */ La: ___syscall_lstat64,
8466
- /** @export */ Ka: ___syscall_mkdirat,
8467
- /** @export */ Ja: ___syscall_newfstatat,
8628
+ /** @export */ Na: ___syscall_listen,
8629
+ /** @export */ Ma: ___syscall_lstat64,
8630
+ /** @export */ La: ___syscall_mkdirat,
8631
+ /** @export */ Ka: ___syscall_newfstatat,
8468
8632
  /** @export */ y: ___syscall_openat,
8469
- /** @export */ Ia: ___syscall_pipe,
8470
- /** @export */ Ha: ___syscall_poll,
8471
- /** @export */ Ga: ___syscall_readlinkat,
8472
- /** @export */ Fa: ___syscall_recvfrom,
8473
- /** @export */ Ea: ___syscall_renameat,
8633
+ /** @export */ Ja: ___syscall_pipe,
8634
+ /** @export */ Ia: ___syscall_poll,
8635
+ /** @export */ Ha: ___syscall_readlinkat,
8636
+ /** @export */ Ga: ___syscall_recvfrom,
8637
+ /** @export */ Fa: ___syscall_renameat,
8474
8638
  /** @export */ R: ___syscall_rmdir,
8475
- /** @export */ Da: ___syscall_sendto,
8639
+ /** @export */ Ea: ___syscall_sendto,
8476
8640
  /** @export */ Q: ___syscall_socket,
8477
- /** @export */ Ca: ___syscall_stat64,
8478
- /** @export */ Ba: ___syscall_statfs64,
8479
- /** @export */ Aa: ___syscall_symlinkat,
8641
+ /** @export */ Da: ___syscall_stat64,
8642
+ /** @export */ Ca: ___syscall_statfs64,
8643
+ /** @export */ Ba: ___syscall_symlinkat,
8480
8644
  /** @export */ D: ___syscall_unlinkat,
8481
- /** @export */ za: ___syscall_utimensat,
8482
- /** @export */ ta: __abort_js,
8483
- /** @export */ sa: __emscripten_lookup_name,
8484
- /** @export */ ra: __emscripten_runtime_keepalive_clear,
8485
- /** @export */ qa: __emscripten_throw_longjmp,
8486
- /** @export */ pa: __gmtime_js,
8487
- /** @export */ oa: __localtime_js,
8488
- /** @export */ na: __mktime_js,
8489
- /** @export */ ma: __mmap_js,
8490
- /** @export */ la: __munmap_js,
8645
+ /** @export */ Aa: ___syscall_utimensat,
8646
+ /** @export */ ua: __abort_js,
8647
+ /** @export */ ta: __emscripten_lookup_name,
8648
+ /** @export */ sa: __emscripten_runtime_keepalive_clear,
8649
+ /** @export */ ra: __emscripten_throw_longjmp,
8650
+ /** @export */ qa: __gmtime_js,
8651
+ /** @export */ pa: __localtime_js,
8652
+ /** @export */ oa: __mktime_js,
8653
+ /** @export */ na: __mmap_js,
8654
+ /** @export */ ma: __munmap_js,
8491
8655
  /** @export */ N: __setitimer_js,
8492
- /** @export */ ka: __tzset_js,
8493
- /** @export */ ya: _clock_time_get,
8656
+ /** @export */ la: __tzset_js,
8657
+ /** @export */ za: _clock_time_get,
8494
8658
  /** @export */ M: _emscripten_date_now,
8495
- /** @export */ ja: _emscripten_get_heap_max,
8659
+ /** @export */ ka: _emscripten_get_heap_max,
8496
8660
  /** @export */ x: _emscripten_get_now,
8497
- /** @export */ ia: _emscripten_resize_heap,
8661
+ /** @export */ ja: _emscripten_resize_heap,
8498
8662
  /** @export */ L: _emscripten_sleep,
8499
- /** @export */ xa: _environ_get,
8500
- /** @export */ wa: _environ_sizes_get,
8663
+ /** @export */ ya: _environ_get,
8664
+ /** @export */ xa: _environ_sizes_get,
8501
8665
  /** @export */ p: _exit,
8502
8666
  /** @export */ q: _fd_close,
8503
8667
  /** @export */ P: _fd_fdstat_get,
8504
8668
  /** @export */ O: _fd_read,
8505
- /** @export */ va: _fd_seek,
8669
+ /** @export */ wa: _fd_seek,
8506
8670
  /** @export */ C: _fd_write,
8507
8671
  /** @export */ K: _getaddrinfo,
8508
8672
  /** @export */ B: _getnameinfo,
8509
- /** @export */ ha: _getprotobyname,
8510
- /** @export */ ga: _getprotobynumber,
8673
+ /** @export */ ia: _getprotobyname,
8674
+ /** @export */ ha: _getprotobynumber,
8511
8675
  /** @export */ k: invoke_i,
8512
8676
  /** @export */ c: invoke_ii,
8513
8677
  /** @export */ b: invoke_iii,
@@ -8518,11 +8682,11 @@ export function init(RuntimeName, PHPLoader) {
8518
8682
  /** @export */ w: invoke_iiiiiiii,
8519
8683
  /** @export */ J: invoke_iiiiiiiiii,
8520
8684
  /** @export */ I: invoke_iiji,
8521
- /** @export */ fa: invoke_iijii,
8522
- /** @export */ ea: invoke_iijiji,
8523
- /** @export */ da: invoke_ji,
8524
- /** @export */ ca: invoke_jii,
8525
- /** @export */ ba: invoke_jiii,
8685
+ /** @export */ ga: invoke_iijii,
8686
+ /** @export */ fa: invoke_iijiji,
8687
+ /** @export */ ea: invoke_ji,
8688
+ /** @export */ da: invoke_jii,
8689
+ /** @export */ ca: invoke_jiii,
8526
8690
  /** @export */ e: invoke_v,
8527
8691
  /** @export */ a: invoke_vi,
8528
8692
  /** @export */ d: invoke_vii,
@@ -8531,17 +8695,18 @@ export function init(RuntimeName, PHPLoader) {
8531
8695
  /** @export */ i: invoke_viiii,
8532
8696
  /** @export */ v: invoke_viiiii,
8533
8697
  /** @export */ j: invoke_viiiiii,
8534
- /** @export */ aa: invoke_viiiiiii,
8698
+ /** @export */ ba: invoke_viiiiiii,
8535
8699
  /** @export */ z: invoke_viiiiiiiii,
8536
8700
  /** @export */ n: invoke_viijii,
8537
8701
  /** @export */ H: invoke_vji,
8538
8702
  /** @export */ G: _js_create_input_device,
8539
- /** @export */ $: js_fd_read,
8703
+ /** @export */ aa: js_fd_read,
8540
8704
  /** @export */ F: _js_open_process,
8541
- /** @export */ Z: js_popen_to_file,
8542
- /** @export */ Y: _js_process_status,
8543
- /** @export */ X: _js_waitpid,
8544
- /** @export */ ua: _proc_exit,
8705
+ /** @export */ _: js_popen_to_file,
8706
+ /** @export */ Z: _js_process_status,
8707
+ /** @export */ Y: _js_waitpid,
8708
+ /** @export */ X: _js_wasm_trace,
8709
+ /** @export */ va: _proc_exit,
8545
8710
  /** @export */ W: _strptime,
8546
8711
  /** @export */ r: _wasm_close,
8547
8712
  /** @export */ u: wasm_poll_socket,
@@ -8553,22 +8718,22 @@ export function init(RuntimeName, PHPLoader) {
8553
8718
 
8554
8719
  createWasm();
8555
8720
 
8556
- var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports['fb'])();
8721
+ var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports['gb'])();
8557
8722
 
8558
- var _free = (a0) => (_free = wasmExports['hb'])(a0);
8723
+ var _free = (a0) => (_free = wasmExports['ib'])(a0);
8559
8724
 
8560
- var _malloc = (a0) => (_malloc = wasmExports['ib'])(a0);
8725
+ var _malloc = (a0) => (_malloc = wasmExports['jb'])(a0);
8561
8726
 
8562
8727
  var _wasm_read = (Module['_wasm_read'] = (a0, a1, a2) =>
8563
- (_wasm_read = Module['_wasm_read'] = wasmExports['jb'])(a0, a1, a2));
8728
+ (_wasm_read = Module['_wasm_read'] = wasmExports['kb'])(a0, a1, a2));
8564
8729
 
8565
- var _fflush = (a0) => (_fflush = wasmExports['kb'])(a0);
8730
+ var _fflush = (a0) => (_fflush = wasmExports['lb'])(a0);
8566
8731
 
8567
8732
  var _wasm_popen = (Module['_wasm_popen'] = (a0, a1) =>
8568
- (_wasm_popen = Module['_wasm_popen'] = wasmExports['lb'])(a0, a1));
8733
+ (_wasm_popen = Module['_wasm_popen'] = wasmExports['mb'])(a0, a1));
8569
8734
 
8570
8735
  var _wasm_php_exec = (Module['_wasm_php_exec'] = (a0, a1, a2, a3) =>
8571
- (_wasm_php_exec = Module['_wasm_php_exec'] = wasmExports['mb'])(
8736
+ (_wasm_php_exec = Module['_wasm_php_exec'] = wasmExports['nb'])(
8572
8737
  a0,
8573
8738
  a1,
8574
8739
  a2,
@@ -8576,23 +8741,23 @@ export function init(RuntimeName, PHPLoader) {
8576
8741
  ));
8577
8742
 
8578
8743
  var _php_pollfd_for = (Module['_php_pollfd_for'] = (a0, a1, a2) =>
8579
- (_php_pollfd_for = Module['_php_pollfd_for'] = wasmExports['nb'])(
8744
+ (_php_pollfd_for = Module['_php_pollfd_for'] = wasmExports['ob'])(
8580
8745
  a0,
8581
8746
  a1,
8582
8747
  a2
8583
8748
  ));
8584
8749
 
8585
- var _htons = (a0) => (_htons = wasmExports['ob'])(a0);
8750
+ var _htons = (a0) => (_htons = wasmExports['pb'])(a0);
8586
8751
 
8587
- var _ntohs = (a0) => (_ntohs = wasmExports['pb'])(a0);
8752
+ var _ntohs = (a0) => (_ntohs = wasmExports['qb'])(a0);
8588
8753
 
8589
- var _htonl = (a0) => (_htonl = wasmExports['qb'])(a0);
8754
+ var _htonl = (a0) => (_htonl = wasmExports['rb'])(a0);
8590
8755
 
8591
8756
  var _wasm_sleep = (Module['_wasm_sleep'] = (a0) =>
8592
- (_wasm_sleep = Module['_wasm_sleep'] = wasmExports['rb'])(a0));
8757
+ (_wasm_sleep = Module['_wasm_sleep'] = wasmExports['sb'])(a0));
8593
8758
 
8594
8759
  var ___wrap_select = (Module['___wrap_select'] = (a0, a1, a2, a3, a4) =>
8595
- (___wrap_select = Module['___wrap_select'] = wasmExports['sb'])(
8760
+ (___wrap_select = Module['___wrap_select'] = wasmExports['tb'])(
8596
8761
  a0,
8597
8762
  a1,
8598
8763
  a2,
@@ -8600,115 +8765,118 @@ export function init(RuntimeName, PHPLoader) {
8600
8765
  a4
8601
8766
  ));
8602
8767
 
8603
- var _wasm_add_cli_arg = (Module['_wasm_add_cli_arg'] = (a0) =>
8604
- (_wasm_add_cli_arg = Module['_wasm_add_cli_arg'] = wasmExports['tb'])(
8605
- a0
8606
- ));
8607
-
8608
- var _run_cli = (Module['_run_cli'] = () =>
8609
- (_run_cli = Module['_run_cli'] = wasmExports['ub'])());
8610
-
8611
8768
  var _wasm_set_sapi_name = (Module['_wasm_set_sapi_name'] = (a0) =>
8612
8769
  (_wasm_set_sapi_name = Module['_wasm_set_sapi_name'] =
8613
- wasmExports['vb'])(a0));
8770
+ wasmExports['ub'])(a0));
8614
8771
 
8615
8772
  var _wasm_set_phpini_path = (Module['_wasm_set_phpini_path'] = (a0) =>
8616
8773
  (_wasm_set_phpini_path = Module['_wasm_set_phpini_path'] =
8617
- wasmExports['wb'])(a0));
8774
+ wasmExports['vb'])(a0));
8775
+
8776
+ var _wasm_add_cli_arg = (Module['_wasm_add_cli_arg'] = (a0) =>
8777
+ (_wasm_add_cli_arg = Module['_wasm_add_cli_arg'] = wasmExports['wb'])(
8778
+ a0
8779
+ ));
8780
+
8781
+ var _run_cli = (Module['_run_cli'] = () =>
8782
+ (_run_cli = Module['_run_cli'] = wasmExports['xb'])());
8618
8783
 
8619
8784
  var _wasm_add_SERVER_entry = (Module['_wasm_add_SERVER_entry'] = (a0, a1) =>
8620
8785
  (_wasm_add_SERVER_entry = Module['_wasm_add_SERVER_entry'] =
8621
- wasmExports['xb'])(a0, a1));
8786
+ wasmExports['yb'])(a0, a1));
8622
8787
 
8623
8788
  var _wasm_add_ENV_entry = (Module['_wasm_add_ENV_entry'] = (a0, a1) =>
8624
8789
  (_wasm_add_ENV_entry = Module['_wasm_add_ENV_entry'] =
8625
- wasmExports['yb'])(a0, a1));
8790
+ wasmExports['zb'])(a0, a1));
8626
8791
 
8627
8792
  var _wasm_set_query_string = (Module['_wasm_set_query_string'] = (a0) =>
8628
8793
  (_wasm_set_query_string = Module['_wasm_set_query_string'] =
8629
- wasmExports['zb'])(a0));
8794
+ wasmExports['Ab'])(a0));
8630
8795
 
8631
8796
  var _wasm_set_path_translated = (Module['_wasm_set_path_translated'] = (
8632
8797
  a0
8633
8798
  ) =>
8634
8799
  (_wasm_set_path_translated = Module['_wasm_set_path_translated'] =
8635
- wasmExports['Ab'])(a0));
8800
+ wasmExports['Bb'])(a0));
8636
8801
 
8637
8802
  var _wasm_set_skip_shebang = (Module['_wasm_set_skip_shebang'] = (a0) =>
8638
8803
  (_wasm_set_skip_shebang = Module['_wasm_set_skip_shebang'] =
8639
- wasmExports['Bb'])(a0));
8804
+ wasmExports['Cb'])(a0));
8640
8805
 
8641
8806
  var _wasm_set_request_uri = (Module['_wasm_set_request_uri'] = (a0) =>
8642
8807
  (_wasm_set_request_uri = Module['_wasm_set_request_uri'] =
8643
- wasmExports['Cb'])(a0));
8808
+ wasmExports['Db'])(a0));
8644
8809
 
8645
8810
  var _wasm_set_request_method = (Module['_wasm_set_request_method'] = (a0) =>
8646
8811
  (_wasm_set_request_method = Module['_wasm_set_request_method'] =
8647
- wasmExports['Db'])(a0));
8812
+ wasmExports['Eb'])(a0));
8648
8813
 
8649
8814
  var _wasm_set_request_host = (Module['_wasm_set_request_host'] = (a0) =>
8650
8815
  (_wasm_set_request_host = Module['_wasm_set_request_host'] =
8651
- wasmExports['Eb'])(a0));
8816
+ wasmExports['Fb'])(a0));
8652
8817
 
8653
8818
  var _wasm_set_content_type = (Module['_wasm_set_content_type'] = (a0) =>
8654
8819
  (_wasm_set_content_type = Module['_wasm_set_content_type'] =
8655
- wasmExports['Fb'])(a0));
8820
+ wasmExports['Gb'])(a0));
8656
8821
 
8657
8822
  var _wasm_set_request_body = (Module['_wasm_set_request_body'] = (a0) =>
8658
8823
  (_wasm_set_request_body = Module['_wasm_set_request_body'] =
8659
- wasmExports['Gb'])(a0));
8824
+ wasmExports['Hb'])(a0));
8660
8825
 
8661
8826
  var _wasm_set_content_length = (Module['_wasm_set_content_length'] = (a0) =>
8662
8827
  (_wasm_set_content_length = Module['_wasm_set_content_length'] =
8663
- wasmExports['Hb'])(a0));
8828
+ wasmExports['Ib'])(a0));
8664
8829
 
8665
8830
  var _wasm_set_cookies = (Module['_wasm_set_cookies'] = (a0) =>
8666
- (_wasm_set_cookies = Module['_wasm_set_cookies'] = wasmExports['Ib'])(
8831
+ (_wasm_set_cookies = Module['_wasm_set_cookies'] = wasmExports['Jb'])(
8667
8832
  a0
8668
8833
  ));
8669
8834
 
8670
8835
  var _wasm_set_request_port = (Module['_wasm_set_request_port'] = (a0) =>
8671
8836
  (_wasm_set_request_port = Module['_wasm_set_request_port'] =
8672
- wasmExports['Jb'])(a0));
8837
+ wasmExports['Kb'])(a0));
8673
8838
 
8674
8839
  var _wasm_sapi_request_shutdown = (Module['_wasm_sapi_request_shutdown'] =
8675
8840
  () =>
8676
8841
  (_wasm_sapi_request_shutdown = Module[
8677
8842
  '_wasm_sapi_request_shutdown'
8678
8843
  ] =
8679
- wasmExports['Kb'])());
8844
+ wasmExports['Lb'])());
8680
8845
 
8681
8846
  var _wasm_sapi_handle_request = (Module['_wasm_sapi_handle_request'] = () =>
8682
8847
  (_wasm_sapi_handle_request = Module['_wasm_sapi_handle_request'] =
8683
- wasmExports['Lb'])());
8848
+ wasmExports['Mb'])());
8684
8849
 
8685
8850
  var _php_wasm_init = (Module['_php_wasm_init'] = () =>
8686
- (_php_wasm_init = Module['_php_wasm_init'] = wasmExports['Mb'])());
8851
+ (_php_wasm_init = Module['_php_wasm_init'] = wasmExports['Nb'])());
8687
8852
 
8688
8853
  var _wasm_free = (Module['_wasm_free'] = (a0) =>
8689
- (_wasm_free = Module['_wasm_free'] = wasmExports['Nb'])(a0));
8854
+ (_wasm_free = Module['_wasm_free'] = wasmExports['Ob'])(a0));
8690
8855
 
8691
- var ___funcs_on_exit = () => (___funcs_on_exit = wasmExports['Ob'])();
8856
+ var _wasm_trace = (Module['_wasm_trace'] = (a0, a1) =>
8857
+ (_wasm_trace = Module['_wasm_trace'] = wasmExports['Pb'])(a0, a1));
8858
+
8859
+ var ___funcs_on_exit = () => (___funcs_on_exit = wasmExports['Qb'])();
8692
8860
 
8693
8861
  var _emscripten_builtin_memalign = (a0, a1) =>
8694
- (_emscripten_builtin_memalign = wasmExports['Pb'])(a0, a1);
8862
+ (_emscripten_builtin_memalign = wasmExports['Rb'])(a0, a1);
8695
8863
 
8696
8864
  var __emscripten_timeout = (a0, a1) =>
8697
- (__emscripten_timeout = wasmExports['Qb'])(a0, a1);
8865
+ (__emscripten_timeout = wasmExports['Sb'])(a0, a1);
8698
8866
 
8699
- var _setThrew = (a0, a1) => (_setThrew = wasmExports['Rb'])(a0, a1);
8867
+ var _setThrew = (a0, a1) => (_setThrew = wasmExports['Tb'])(a0, a1);
8700
8868
 
8701
8869
  var __emscripten_stack_restore = (a0) =>
8702
- (__emscripten_stack_restore = wasmExports['Sb'])(a0);
8870
+ (__emscripten_stack_restore = wasmExports['Ub'])(a0);
8703
8871
 
8704
8872
  var __emscripten_stack_alloc = (a0) =>
8705
- (__emscripten_stack_alloc = wasmExports['Tb'])(a0);
8873
+ (__emscripten_stack_alloc = wasmExports['Vb'])(a0);
8706
8874
 
8707
8875
  var _emscripten_stack_get_current = () =>
8708
- (_emscripten_stack_get_current = wasmExports['Ub'])();
8876
+ (_emscripten_stack_get_current = wasmExports['Wb'])();
8709
8877
 
8710
8878
  var dynCall_iiii = (Module['dynCall_iiii'] = (a0, a1, a2, a3) =>
8711
- (dynCall_iiii = Module['dynCall_iiii'] = wasmExports['Vb'])(
8879
+ (dynCall_iiii = Module['dynCall_iiii'] = wasmExports['Xb'])(
8712
8880
  a0,
8713
8881
  a1,
8714
8882
  a2,
@@ -8716,16 +8884,16 @@ export function init(RuntimeName, PHPLoader) {
8716
8884
  ));
8717
8885
 
8718
8886
  var dynCall_ii = (Module['dynCall_ii'] = (a0, a1) =>
8719
- (dynCall_ii = Module['dynCall_ii'] = wasmExports['Wb'])(a0, a1));
8887
+ (dynCall_ii = Module['dynCall_ii'] = wasmExports['Yb'])(a0, a1));
8720
8888
 
8721
8889
  var dynCall_vi = (Module['dynCall_vi'] = (a0, a1) =>
8722
- (dynCall_vi = Module['dynCall_vi'] = wasmExports['Xb'])(a0, a1));
8890
+ (dynCall_vi = Module['dynCall_vi'] = wasmExports['Zb'])(a0, a1));
8723
8891
 
8724
8892
  var dynCall_vii = (Module['dynCall_vii'] = (a0, a1, a2) =>
8725
- (dynCall_vii = Module['dynCall_vii'] = wasmExports['Yb'])(a0, a1, a2));
8893
+ (dynCall_vii = Module['dynCall_vii'] = wasmExports['_b'])(a0, a1, a2));
8726
8894
 
8727
8895
  var dynCall_viiiii = (Module['dynCall_viiiii'] = (a0, a1, a2, a3, a4, a5) =>
8728
- (dynCall_viiiii = Module['dynCall_viiiii'] = wasmExports['Zb'])(
8896
+ (dynCall_viiiii = Module['dynCall_viiiii'] = wasmExports['$b'])(
8729
8897
  a0,
8730
8898
  a1,
8731
8899
  a2,
@@ -8735,10 +8903,10 @@ export function init(RuntimeName, PHPLoader) {
8735
8903
  ));
8736
8904
 
8737
8905
  var dynCall_iii = (Module['dynCall_iii'] = (a0, a1, a2) =>
8738
- (dynCall_iii = Module['dynCall_iii'] = wasmExports['_b'])(a0, a1, a2));
8906
+ (dynCall_iii = Module['dynCall_iii'] = wasmExports['ac'])(a0, a1, a2));
8739
8907
 
8740
8908
  var dynCall_iiiii = (Module['dynCall_iiiii'] = (a0, a1, a2, a3, a4) =>
8741
- (dynCall_iiiii = Module['dynCall_iiiii'] = wasmExports['$b'])(
8909
+ (dynCall_iiiii = Module['dynCall_iiiii'] = wasmExports['bc'])(
8742
8910
  a0,
8743
8911
  a1,
8744
8912
  a2,
@@ -8755,7 +8923,7 @@ export function init(RuntimeName, PHPLoader) {
8755
8923
  a5,
8756
8924
  a6
8757
8925
  ) =>
8758
- (dynCall_iiiiiii = Module['dynCall_iiiiiii'] = wasmExports['ac'])(
8926
+ (dynCall_iiiiiii = Module['dynCall_iiiiiii'] = wasmExports['cc'])(
8759
8927
  a0,
8760
8928
  a1,
8761
8929
  a2,
@@ -8766,7 +8934,7 @@ export function init(RuntimeName, PHPLoader) {
8766
8934
  ));
8767
8935
 
8768
8936
  var dynCall_iiiiii = (Module['dynCall_iiiiii'] = (a0, a1, a2, a3, a4, a5) =>
8769
- (dynCall_iiiiii = Module['dynCall_iiiiii'] = wasmExports['bc'])(
8937
+ (dynCall_iiiiii = Module['dynCall_iiiiii'] = wasmExports['dc'])(
8770
8938
  a0,
8771
8939
  a1,
8772
8940
  a2,
@@ -8776,10 +8944,10 @@ export function init(RuntimeName, PHPLoader) {
8776
8944
  ));
8777
8945
 
8778
8946
  var dynCall_i = (Module['dynCall_i'] = (a0) =>
8779
- (dynCall_i = Module['dynCall_i'] = wasmExports['cc'])(a0));
8947
+ (dynCall_i = Module['dynCall_i'] = wasmExports['ec'])(a0));
8780
8948
 
8781
8949
  var dynCall_iijii = (Module['dynCall_iijii'] = (a0, a1, a2, a3, a4) =>
8782
- (dynCall_iijii = Module['dynCall_iijii'] = wasmExports['dc'])(
8950
+ (dynCall_iijii = Module['dynCall_iijii'] = wasmExports['fc'])(
8783
8951
  a0,
8784
8952
  a1,
8785
8953
  a2,
@@ -8788,7 +8956,7 @@ export function init(RuntimeName, PHPLoader) {
8788
8956
  ));
8789
8957
 
8790
8958
  var dynCall_viii = (Module['dynCall_viii'] = (a0, a1, a2, a3) =>
8791
- (dynCall_viii = Module['dynCall_viii'] = wasmExports['ec'])(
8959
+ (dynCall_viii = Module['dynCall_viii'] = wasmExports['gc'])(
8792
8960
  a0,
8793
8961
  a1,
8794
8962
  a2,
@@ -8796,7 +8964,7 @@ export function init(RuntimeName, PHPLoader) {
8796
8964
  ));
8797
8965
 
8798
8966
  var dynCall_viiii = (Module['dynCall_viiii'] = (a0, a1, a2, a3, a4) =>
8799
- (dynCall_viiii = Module['dynCall_viiii'] = wasmExports['fc'])(
8967
+ (dynCall_viiii = Module['dynCall_viiii'] = wasmExports['hc'])(
8800
8968
  a0,
8801
8969
  a1,
8802
8970
  a2,
@@ -8805,10 +8973,10 @@ export function init(RuntimeName, PHPLoader) {
8805
8973
  ));
8806
8974
 
8807
8975
  var dynCall_ji = (Module['dynCall_ji'] = (a0, a1) =>
8808
- (dynCall_ji = Module['dynCall_ji'] = wasmExports['gc'])(a0, a1));
8976
+ (dynCall_ji = Module['dynCall_ji'] = wasmExports['ic'])(a0, a1));
8809
8977
 
8810
8978
  var dynCall_v = (Module['dynCall_v'] = (a0) =>
8811
- (dynCall_v = Module['dynCall_v'] = wasmExports['hc'])(a0));
8979
+ (dynCall_v = Module['dynCall_v'] = wasmExports['jc'])(a0));
8812
8980
 
8813
8981
  var dynCall_viiiiiiiii = (Module['dynCall_viiiiiiiii'] = (
8814
8982
  a0,
@@ -8822,7 +8990,7 @@ export function init(RuntimeName, PHPLoader) {
8822
8990
  a8,
8823
8991
  a9
8824
8992
  ) =>
8825
- (dynCall_viiiiiiiii = Module['dynCall_viiiiiiiii'] = wasmExports['ic'])(
8993
+ (dynCall_viiiiiiiii = Module['dynCall_viiiiiiiii'] = wasmExports['kc'])(
8826
8994
  a0,
8827
8995
  a1,
8828
8996
  a2,
@@ -8845,7 +9013,7 @@ export function init(RuntimeName, PHPLoader) {
8845
9013
  a6,
8846
9014
  a7
8847
9015
  ) =>
8848
- (dynCall_viiiiiii = Module['dynCall_viiiiiii'] = wasmExports['jc'])(
9016
+ (dynCall_viiiiiii = Module['dynCall_viiiiiii'] = wasmExports['lc'])(
8849
9017
  a0,
8850
9018
  a1,
8851
9019
  a2,
@@ -8865,7 +9033,7 @@ export function init(RuntimeName, PHPLoader) {
8865
9033
  a5,
8866
9034
  a6
8867
9035
  ) =>
8868
- (dynCall_viiiiii = Module['dynCall_viiiiii'] = wasmExports['kc'])(
9036
+ (dynCall_viiiiii = Module['dynCall_viiiiii'] = wasmExports['mc'])(
8869
9037
  a0,
8870
9038
  a1,
8871
9039
  a2,
@@ -8885,7 +9053,7 @@ export function init(RuntimeName, PHPLoader) {
8885
9053
  a6,
8886
9054
  a7
8887
9055
  ) =>
8888
- (dynCall_iiiiiiii = Module['dynCall_iiiiiiii'] = wasmExports['lc'])(
9056
+ (dynCall_iiiiiiii = Module['dynCall_iiiiiiii'] = wasmExports['nc'])(
8889
9057
  a0,
8890
9058
  a1,
8891
9059
  a2,
@@ -8908,7 +9076,7 @@ export function init(RuntimeName, PHPLoader) {
8908
9076
  a8,
8909
9077
  a9
8910
9078
  ) =>
8911
- (dynCall_iiiiiiiiii = Module['dynCall_iiiiiiiiii'] = wasmExports['mc'])(
9079
+ (dynCall_iiiiiiiiii = Module['dynCall_iiiiiiiiii'] = wasmExports['oc'])(
8912
9080
  a0,
8913
9081
  a1,
8914
9082
  a2,
@@ -8922,7 +9090,7 @@ export function init(RuntimeName, PHPLoader) {
8922
9090
  ));
8923
9091
 
8924
9092
  var dynCall_iiji = (Module['dynCall_iiji'] = (a0, a1, a2, a3) =>
8925
- (dynCall_iiji = Module['dynCall_iiji'] = wasmExports['nc'])(
9093
+ (dynCall_iiji = Module['dynCall_iiji'] = wasmExports['pc'])(
8926
9094
  a0,
8927
9095
  a1,
8928
9096
  a2,
@@ -8930,10 +9098,10 @@ export function init(RuntimeName, PHPLoader) {
8930
9098
  ));
8931
9099
 
8932
9100
  var dynCall_jii = (Module['dynCall_jii'] = (a0, a1, a2) =>
8933
- (dynCall_jii = Module['dynCall_jii'] = wasmExports['oc'])(a0, a1, a2));
9101
+ (dynCall_jii = Module['dynCall_jii'] = wasmExports['qc'])(a0, a1, a2));
8934
9102
 
8935
9103
  var dynCall_viijii = (Module['dynCall_viijii'] = (a0, a1, a2, a3, a4, a5) =>
8936
- (dynCall_viijii = Module['dynCall_viijii'] = wasmExports['pc'])(
9104
+ (dynCall_viijii = Module['dynCall_viijii'] = wasmExports['rc'])(
8937
9105
  a0,
8938
9106
  a1,
8939
9107
  a2,
@@ -8943,7 +9111,7 @@ export function init(RuntimeName, PHPLoader) {
8943
9111
  ));
8944
9112
 
8945
9113
  var dynCall_jiii = (Module['dynCall_jiii'] = (a0, a1, a2, a3) =>
8946
- (dynCall_jiii = Module['dynCall_jiii'] = wasmExports['qc'])(
9114
+ (dynCall_jiii = Module['dynCall_jiii'] = wasmExports['sc'])(
8947
9115
  a0,
8948
9116
  a1,
8949
9117
  a2,
@@ -8951,7 +9119,7 @@ export function init(RuntimeName, PHPLoader) {
8951
9119
  ));
8952
9120
 
8953
9121
  var dynCall_iijiji = (Module['dynCall_iijiji'] = (a0, a1, a2, a3, a4, a5) =>
8954
- (dynCall_iijiji = Module['dynCall_iijiji'] = wasmExports['rc'])(
9122
+ (dynCall_iijiji = Module['dynCall_iijiji'] = wasmExports['tc'])(
8955
9123
  a0,
8956
9124
  a1,
8957
9125
  a2,
@@ -8961,10 +9129,10 @@ export function init(RuntimeName, PHPLoader) {
8961
9129
  ));
8962
9130
 
8963
9131
  var dynCall_vji = (Module['dynCall_vji'] = (a0, a1, a2) =>
8964
- (dynCall_vji = Module['dynCall_vji'] = wasmExports['sc'])(a0, a1, a2));
9132
+ (dynCall_vji = Module['dynCall_vji'] = wasmExports['uc'])(a0, a1, a2));
8965
9133
 
8966
9134
  var dynCall_viidii = (Module['dynCall_viidii'] = (a0, a1, a2, a3, a4, a5) =>
8967
- (dynCall_viidii = Module['dynCall_viidii'] = wasmExports['tc'])(
9135
+ (dynCall_viidii = Module['dynCall_viidii'] = wasmExports['vc'])(
8968
9136
  a0,
8969
9137
  a1,
8970
9138
  a2,
@@ -8974,16 +9142,16 @@ export function init(RuntimeName, PHPLoader) {
8974
9142
  ));
8975
9143
 
8976
9144
  var _asyncify_start_unwind = (a0) =>
8977
- (_asyncify_start_unwind = wasmExports['uc'])(a0);
9145
+ (_asyncify_start_unwind = wasmExports['wc'])(a0);
8978
9146
 
8979
9147
  var _asyncify_stop_unwind = () =>
8980
- (_asyncify_stop_unwind = wasmExports['vc'])();
9148
+ (_asyncify_stop_unwind = wasmExports['xc'])();
8981
9149
 
8982
9150
  var _asyncify_start_rewind = (a0) =>
8983
- (_asyncify_start_rewind = wasmExports['wc'])(a0);
9151
+ (_asyncify_start_rewind = wasmExports['yc'])(a0);
8984
9152
 
8985
9153
  var _asyncify_stop_rewind = () =>
8986
- (_asyncify_stop_rewind = wasmExports['xc'])();
9154
+ (_asyncify_stop_rewind = wasmExports['zc'])();
8987
9155
 
8988
9156
  function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
8989
9157
  var sp = stackSave();
@@ -9419,6 +9587,32 @@ export function init(RuntimeName, PHPLoader) {
9419
9587
  PHPLoader['free'] =
9420
9588
  typeof _free === 'function' ? _free : PHPLoader['_wasm_free'];
9421
9589
 
9590
+ if (typeof NODEFS === 'object') {
9591
+ // We override NODEFS.createNode() to add an `isSharedFS` flag to all NODEFS
9592
+ // nodes. This way we can tell whether file-locking is needed and possible
9593
+ // for an FS node, even if wrapped with PROXYFS.
9594
+ const originalCreateNode = NODEFS.createNode;
9595
+ NODEFS.createNode = function createNodeWithSharedFlag() {
9596
+ const node = originalCreateNode.apply(NODEFS, arguments);
9597
+ node.isSharedFS = true;
9598
+ return node;
9599
+ };
9600
+
9601
+ var originalHashAddNode = FS.hashAddNode;
9602
+ FS.hashAddNode = function hashAddNodeIfNotSharedFS(node) {
9603
+ if (
9604
+ typeof locking === 'object' &&
9605
+ locking?.is_shared_fs_node(node)
9606
+ ) {
9607
+ // Avoid caching shared VFS nodes so multiple instances
9608
+ // can access the same underlying filesystem without
9609
+ // conflicting caches.
9610
+ return;
9611
+ }
9612
+ return originalHashAddNode.apply(FS, arguments);
9613
+ };
9614
+ }
9615
+
9422
9616
  return PHPLoader;
9423
9617
 
9424
9618
  // Close the opening bracket from esm-prefix.js: