Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
911b065
.
adamziel Sep 26, 2025
9e1336c
Basic terminal interaction!
adamziel Sep 26, 2025
2a1ea70
Run subprocesses and report any runtime errors
adamziel Sep 26, 2025
aa12750
small readability improvements
adamziel Sep 26, 2025
83144ea
Polyfill grapheme_strlen to prevent composer error
adamziel Sep 26, 2025
af571b5
React app php playground
adamziel Sep 27, 2025
39f0a2c
Prototype of file browser and terminal
adamziel Sep 27, 2025
56f65c1
Document follow-up work
adamziel Sep 27, 2025
3454b6e
PHP Playground UX improvements
adamziel Sep 28, 2025
10ff364
PHP Playground UX improvements – dont reload file picker tree, suppor…
adamziel Sep 28, 2025
93b6144
Display path of the edited file above the editor
adamziel Sep 28, 2025
59e377c
Document more todos
adamziel Sep 28, 2025
ad25ff8
Save&rerun whem cmd+s is pressed
adamziel Sep 28, 2025
f2d650c
Avoid filepickertree re-rendering. support cd command
adamziel Sep 28, 2025
76bd8c1
Add file and Add directory buttons
adamziel Sep 28, 2025
59de0bf
Contextual menu, rename, delete buttons
adamziel Sep 28, 2025
093741e
move most of the contextual menu logic to PlaygroundFilePicker
adamziel Sep 28, 2025
70e6333
reorganize the code
adamziel Sep 28, 2025
9b945b0
reorganize the code
adamziel Sep 28, 2025
b30e024
ux improvements around the file picker
adamziel Sep 28, 2025
7bb7f8e
ux improvements around the file picker
adamziel Sep 28, 2025
65953cb
ux improvements around the file picker
adamziel Sep 28, 2025
564742f
ux improvements around the file picker
adamziel Sep 28, 2025
96bda92
ux improvements around the file picker
adamziel Sep 28, 2025
f7e5acb
ux improvements around the file picker
adamziel Sep 28, 2025
36a9893
ux improvements around the file picker
adamziel Sep 28, 2025
44fa590
ux improvements around the file picker
adamziel Sep 28, 2025
1751588
ux improvements
adamziel Sep 28, 2025
7114664
Consistent cwd treatment across different terminal processes and edit…
adamziel Sep 29, 2025
a95b689
Simplify the logic in the file picker
adamziel Sep 29, 2025
c0500ed
Reorganize code for easier maintenance
adamziel Sep 29, 2025
80d1816
Wrap main terminal component in a placeholder loader
adamziel Sep 29, 2025
890e7e9
UX tweaks
adamziel Sep 29, 2025
ca67eae
Use WordPress dropdown menu component for context menu
adamziel Sep 29, 2025
f5d1f7f
UX improvements around the file epxlorer
adamziel Sep 29, 2025
15bbba4
Tests, cleanup code
adamziel Sep 29, 2025
db391d8
Refresh file pircker tree when a file is changed
adamziel Sep 29, 2025
82fc52f
simplifications, ux improvements
adamziel Sep 29, 2025
239a0bc
simplifications, ux improvements
adamziel Sep 29, 2025
80220c3
Merge two file tree components
adamziel Sep 30, 2025
974c268
Drag&drop interaction
adamziel Sep 30, 2025
3f138fe
Typecheck, lint
adamziel Sep 30, 2025
65fa170
Rewire e2e tests
adamziel Sep 30, 2025
7f70fa4
Revert unnecessary changes
adamziel Sep 30, 2025
402f343
Revert php-wasm changes
adamziel Sep 30, 2025
09a6f66
Merge branch 'trunk' into php-playground-react-app
adamziel Sep 30, 2025
3cf6443
Expand/collapse root, remove bad tests
adamziel Sep 30, 2025
55fc2dc
Restore a subset of e2e tests
adamziel Sep 30, 2025
6a4ced1
case-sensitive layout.css import
adamziel Sep 30, 2025
9b46756
Split website into website and website-extras
adamziel Oct 1, 2025
30da37a
Split website into website and website-extras
adamziel Oct 1, 2025
6245b50
Rewire e2e tests
adamziel Oct 1, 2025
b91c834
case sensitive css
adamziel Oct 1, 2025
8a24bbc
add implicit dependencies to playground website project
adamziel Oct 1, 2025
a0ffeed
update package-lock.json
adamziel Oct 1, 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
2 changes: 2 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,13 @@
"no-inner-declarations": 0,
"no-use-before-define": "off",
"react/prop-types": 0,
"react-hooks/exhaustive-deps": 0,
"no-console": 1,
"no-empty": 0,
"no-async-promise-executor": 0,
"no-constant-condition": 0,
"no-nested-ternary": 0,
"jsx-a11y/accessible-emoji": 0,
"jsx-a11y/click-events-have-key-events": 0,
"jsx-a11y/no-static-element-interactions": 0,
"comment-length/limit-single-line-comments": [
Expand Down
1,051 changes: 792 additions & 259 deletions package-lock.json

Large diffs are not rendered by default.

14 changes: 14 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,18 @@
},
"private": true,
"dependencies": {
"@codemirror/autocomplete": "6.19.0",
"@codemirror/commands": "6.8.1",
"@codemirror/lang-css": "6.3.1",
"@codemirror/lang-html": "6.4.10",
"@codemirror/lang-javascript": "6.2.4",
"@codemirror/lang-json": "6.0.2",
"@codemirror/lang-markdown": "6.3.4",
"@codemirror/lang-php": "6.0.2",
"@codemirror/language": "6.11.3",
"@codemirror/search": "6.5.11",
"@codemirror/state": "6.5.2",
"@codemirror/view": "6.38.3",
"@preact/signals-react": "1.3.6",
"@reduxjs/toolkit": "2.6.1",
"@types/xml2js": "0.4.14",
Expand All @@ -87,6 +99,7 @@
"react-dom": "18.3.1",
"react-hook-form": "7.53.0",
"react-redux": "8.1.3",
"react-resizable-panels": "3.0.6",
"react-transition-group": "4.4.5",
"sha.js": "2.4.11",
"tmp-promise": "3.0.3",
Expand Down Expand Up @@ -183,6 +196,7 @@
"react": "18.3.1",
"react-dom": "18.3.1",
"typescript": "5.4.5",
"@playwright/test": "1.47.1",
"ws": "^8.18.0"
},
"workspaces": [
Expand Down
3 changes: 3 additions & 0 deletions packages/playground/build-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@ export const remoteDevServerPort = 4400;

export const websiteDevServerHost = '127.0.0.1';
export const websiteDevServerPort = 5400;

export const websiteExtrasDevServerHost = '127.0.0.1';
export const websiteExtrasDevServerPort = 6400;
56 changes: 56 additions & 0 deletions packages/playground/components/e2e/playwright.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import {
defineConfig,
devices,
type PlaywrightTestConfig,
} from '@playwright/test';

const baseURL =
process.env.PLAYWRIGHT_TEST_BASE_URL || 'http://127.0.0.1:5174/';

export const playwrightConfig: PlaywrightTestConfig = {
testDir: './tests',
/* Run tests in files in parallel */
fullyParallel: false,
/* Fail the build on CI if you accidentally left test.only in the source code. */
forbidOnly: !!process.env.CI,
retries: 3,
workers: 3,

/* Reporter to use. See https://playwright.dev/docs/test-reporters */
reporter: [['html'], ['list', { printSteps: true }]],
/* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
use: {
/* Base URL to use in actions like `await page.goto('/')`. */
baseURL,
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
trace: 'on-first-retry',
actionTimeout: 120000,
navigationTimeout: 120000,
},

timeout: 300000,
expect: { timeout: 60000 },

/* Configure projects for major browsers */
projects: [
{
name: 'chromium',
use: {
...devices['Desktop Chrome'],
},
},
],

/* Run your local dev server before starting the tests */
webServer: {
command:
'npx nx run playground-components:dev -- --host 127.0.0.1 --port 5174',
url: 'http://127.0.0.1:5174/',
reuseExistingServer: !process.env.CI,
},
};

/**
* See https://playwright.dev/docs/test-configuration.
*/
export default defineConfig(playwrightConfig);
Loading