Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
f32a8c6
WIP: Make separate FileLockManagers for native locking
brandonpayton Dec 8, 2025
f4b7bd1
Rename releaseLocksForProcessFd to releaseLocksOnFdClose
brandonpayton Dec 9, 2025
aac607e
Restore tests that were accidentally left commented out in project.json
brandonpayton Dec 9, 2025
a6a2d25
Fix type errors in file-lock-manager-for-node tests
brandonpayton Dec 9, 2025
872e8a3
Skip native file locking tests because they'll be moved to POSIX and …
brandonpayton Dec 9, 2025
69302cf
Fix posix manager class name
brandonpayton Dec 9, 2025
f4963d6
Add tracking and cleanup for POSIX-native whole file locks
brandonpayton Dec 9, 2025
6023b7d
Implement release-on-close and release-on-exit for FileLockManagerFor…
brandonpayton Dec 9, 2025
d65feca
Explain Path, Pid, and Fd types
brandonpayton Dec 10, 2025
8a02e76
Use Path type instead of string in POSXI lock manager
brandonpayton Dec 10, 2025
2319613
Implement whole-file locking for Windows
brandonpayton Dec 10, 2025
d713beb
Add POSIX lock manager TODO
brandonpayton Dec 10, 2025
47a4c1c
Cleanup relevant lock records on FD close for POSIX
brandonpayton Dec 10, 2025
33d8d8f
Implement whole-file lock cleanup on FD close and process exit
brandonpayton Dec 10, 2025
222273d
Update POSIX lock manager to treat zero length ranges as covering ent…
brandonpayton Dec 10, 2025
00668c4
Implement initial fcntl() for Windows along with cleanup on FD close …
brandonpayton Dec 10, 2025
9ab68d9
Address typechecking errors
brandonpayton Dec 10, 2025
7c22502
Update fs-ext-extra-prebuilt
brandonpayton Dec 10, 2025
677bca0
Use fcntlSync() with start/end params
brandonpayton Dec 10, 2025
0d08953
Declare tests for FileLockManager for Windows and POSIX
brandonpayton Dec 10, 2025
f29e544
Rename FileLockManagerForNode to FileLockManagerInMemory
brandonpayton Dec 10, 2025
68225e6
Add JSPI tests for POSIX and Windows file lock managers
brandonpayton Dec 10, 2025
965bbd2
Move in-memory FileLockManager to php-wasm/universal and restore tests
brandonpayton Dec 12, 2025
7606626
Fix lockFileByteRange fcntl() lock type bug
brandonpayton Dec 12, 2025
cd35ff6
Use multi-process tests for native FileLockManagers
brandonpayton Dec 12, 2025
50f8b30
Merge branch 'php-wasm/node/testable-syscall-overrides' into playgrou…
adamziel Dec 12, 2025
ce260d1
Fixes for tests. Still a few broken tests remaining.
brandonpayton Dec 13, 2025
0404fa1
Merge branch 'php-wasm/node/testable-syscall-overrides' into playgrou…
brandonpayton Dec 13, 2025
20371d1
FIx remaining failing tests
brandonpayton Dec 13, 2025
b8612bd
Remove in-memory lock manager and fix other lint/type errors
brandonpayton Dec 13, 2025
ee57469
Fix paths used in tests to work with Windows
brandonpayton Dec 15, 2025
56ad52c
Adjust way Windows API is being called
brandonpayton Dec 15, 2025
c64c2bd
Fixes for FileLockManagerForWindows
brandonpayton Dec 16, 2025
1f90328
Adjust tests in response to Windows file locking findings
brandonpayton Dec 16, 2025
853a401
Fix passing nativeInternalDirPath
brandonpayton Dec 17, 2025
820668d
Pick default FileLockManager based on platform
brandonpayton Dec 17, 2025
d2c0d08
Get Windows file locking working with Playground CLI
brandonpayton Dec 17, 2025
e0995d4
Move WP and SQLite download to initial worker
brandonpayton Dec 17, 2025
a27e096
Move WP and SQLite download to initial worker
brandonpayton Dec 17, 2025
4fe2b75
WIP: Run Playground CLI workers as separate cluster processes
brandonpayton Dec 18, 2025
9e38ab8
Multiple fixes
brandonpayton Dec 19, 2025
87f187f
WIP run-cli test fixes
brandonpayton Dec 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 11 additions & 9 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@
"@codemirror/lang-javascript": "6.2.4",
"@codemirror/lang-json": "6.0.2",
"@codemirror/lang-markdown": "6.3.4",
"@codemirror/lang-sql": "6.8.0",
"@codemirror/lang-php": "6.0.2",
"@codemirror/lang-sql": "6.8.0",
"@codemirror/language": "6.11.3",
"@codemirror/search": "6.5.11",
"@codemirror/state": "6.5.2",
Expand Down Expand Up @@ -223,6 +223,6 @@
"npm": ">=10.1.0"
},
"optionalDependencies": {
"fs-ext": "2.1.1"
"fs-ext-extra-prebuilt": "2.2.6"
}
}
7 changes: 1 addition & 6 deletions packages/php-wasm/cli/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,7 @@ import os from 'os';
import { rootCertificates } from 'tls';
/* eslint-disable no-console */
import { addXdebugIDEConfig, clearXdebugIDEConfig } from '@php-wasm/cli-util';
import {
FileLockManagerForNode,
loadNodeRuntime,
useHostFilesystem,
} from '@php-wasm/node';
import { loadNodeRuntime, useHostFilesystem } from '@php-wasm/node';
import type { SupportedPHPVersion } from '@php-wasm/universal';
import { PHP } from '@php-wasm/universal';
import { startBridge } from '@php-wasm/xdebug-bridge';
Expand Down Expand Up @@ -119,7 +115,6 @@ ${process.argv[0]} ${process.execArgv.join(' ')} ${process.argv[1]}
const sysTempDir = mkdtempSync(path.join(os.tmpdir(), 'php-wasm-sys-tmp'));
const php = new PHP(
await loadNodeRuntime(phpVersion, {
fileLockManager: new FileLockManagerForNode(),
emscriptenOptions: {
processId: 1,
ENV: {
Expand Down
Loading
Loading