{"id":13610805,"url":"https://github.com/recca0120/vscode-phpunit","last_synced_at":"2026-03-13T07:05:28.606Z","repository":{"id":37886706,"uuid":"100412771","full_name":"recca0120/vscode-phpunit","owner":"recca0120","description":"The VS Code Test Explorer extension for PHPUnit","archived":false,"fork":false,"pushed_at":"2025-01-07T20:01:06.000Z","size":10809,"stargazers_count":143,"open_issues_count":14,"forks_count":52,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-01-07T20:46:05.877Z","etag":null,"topics":["php","phpunit","test","test-explorer","testing","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/recca0120.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-15T19:47:39.000Z","updated_at":"2025-01-07T20:00:34.000Z","dependencies_parsed_at":"2023-11-20T21:27:23.755Z","dependency_job_id":"5489fd1e-5599-4f8e-bdbb-950d728ebdf9","html_url":"https://github.com/recca0120/vscode-phpunit","commit_stats":{"total_commits":278,"total_committers":4,"mean_commits":69.5,"dds":"0.010791366906474864","last_synced_commit":"c54571202de912ef2557c85f177e52a4a60b5351"},"previous_names":[],"tags_count":70,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recca0120%2Fvscode-phpunit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recca0120%2Fvscode-phpunit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recca0120%2Fvscode-phpunit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/recca0120%2Fvscode-phpunit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/recca0120","download_url":"https://codeload.github.com/recca0120/vscode-phpunit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248565052,"owners_count":21125415,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["php","phpunit","test","test-explorer","testing","vscode","vscode-extension"],"created_at":"2024-08-01T19:01:48.155Z","updated_at":"2026-03-13T07:05:28.599Z","avatar_url":"https://github.com/recca0120.png","language":"TypeScript","readme":"# vscode-phpunit\n\nMonorepo for the **PHPUnit \u0026 Pest Test Explorer** VS Code extension.\n\n[![Version](https://img.shields.io/vscode-marketplace/v/recca0120.vscode-phpunit.svg?style=flat-square\u0026label=vscode%20marketplace)](https://marketplace.visualstudio.com/items?itemName=recca0120.vscode-phpunit)\n[![Installs](https://img.shields.io/vscode-marketplace/i/recca0120.vscode-phpunit.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=recca0120.vscode-phpunit)\n[![License](https://img.shields.io/github/license/recca0120/vscode-phpunit.svg?style=flat-square)](LICENSE.md)\n\n## Packages\n\n| Package | Description |\n|---|---|\n| [`packages/phpunit`](packages/phpunit) | `@vscode-phpunit/phpunit` — PHPUnit/Pest parser, runner, and tree-sitter utilities. Built with **tsup** (ESM + CJS). |\n| [`packages/extension`](packages/extension) | VS Code extension — Test Explorer integration for PHPUnit \u0026 Pest. Bundled with **esbuild**. Depends on `@vscode-phpunit/phpunit`. |\n\n### packages/phpunit\n\nCore library that parses PHPUnit/Pest test files (via tree-sitter WASM), builds command lines, and processes test output. Published as `@vscode-phpunit/phpunit`.\n\n- **Build**: `tsup` outputs ESM/CJS to `dist/`, and copies `tree-sitter.wasm` / `tree-sitter-php.wasm` into `dist/`.\n- **Test**: Vitest\n\n### packages/extension\n\nVS Code extension that integrates with the native Test Explorer UI. Consumes `@vscode-phpunit/phpunit` as a dev dependency; esbuild bundles everything into a single `dist/extension.js`.\n\n- **Build**: `esbuild` bundles to `dist/extension.js`, and copies WASM files from `node_modules/@vscode/tree-sitter-wasm/wasm/` to `dist/`.\n- **Test**: Vitest (unit) + `@vscode/test-electron` (e2e)\n- **Package**: `@vscode/vsce` produces `.vsix`\n\n## Development\n\n### Prerequisites\n\n- [Node.js](https://nodejs.org/) \u003e= 20\n- [pnpm](https://pnpm.io/)\n\n### Setup\n\n```bash\npnpm install\n```\n\n### Common Commands\n\n```bash\n# Compile all packages (phpunit tsup + extension esbuild)\npnpm compile\n\n# Run all unit tests\npnpm test\n\n# Run e2e tests (extension only)\npnpm test:e2e\n\n# Lint\npnpm lint\n\n# Type check\npnpm typecheck\n\n# Production build for extension (minified)\npnpm package\n\n# Produce .vsix file\ncd packages/extension \u0026\u0026 pnpm exec vsce package --no-dependencies\n```\n\n### Debugging the Extension\n\nThe repository includes launch configurations in `.vscode/launch.json`:\n\n| Configuration | Description |\n|---|---|\n| **Run Extension** | Opens with a local `phpunit-stub` project |\n| **Run Extension (Multi-Workspace)** | Opens a multi-folder workspace (local) |\n| **Run Extension (Docker Multi-Workspace)** | Opens a multi-folder workspace running inside Docker |\n\n#### Docker Multi-Workspace Setup\n\n1. Start the shared container:\n\n    ```bash\n    cd packages/phpunit/tests/fixtures/workspaces\n    docker compose up -d --build\n    ```\n\n2. Select **Run Extension (Docker Multi-Workspace)** from the debug panel and press `F5`.\n\n3. Stop the container:\n\n    ```bash\n    docker compose down\n    ```\n\n## Contributing\n\n- [Report a bug](https://github.com/recca0120/vscode-phpunit/issues/new?template=bug_report.yml)\n- [Request a feature](https://github.com/recca0120/vscode-phpunit/issues/new?template=feature_request.yml)\n- [Contributing guide](CONTRIBUTING.md)\n\n## License\n\n[MIT](LICENSE.md)\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frecca0120%2Fvscode-phpunit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frecca0120%2Fvscode-phpunit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frecca0120%2Fvscode-phpunit/lists"}