Development 

If you want to participate in the development of the Extension Builder, set up your local development environment as usual.

Build tooling 

The JavaScript sources are bundled with Vite. To install dependencies and build the frontend assets, run:

npm install
npm run build
Copied!

The compiled output is written to Resources/Public/JavaScript/.

Linting 

Code style is enforced by ESLint (JavaScript), Stylelint (SCSS) and Prettier (formatting). Run all linters in one step:

npm run lint
Copied!

Individual linters can be invoked separately:

npm run lint:js       # ESLint
npm run lint:scss     # Stylelint
npm run lint:format   # Prettier (check only)
Copied!

To automatically fix formatting issues:

npm run format
Copied!

E2E tests 

End-to-end tests are written with Playwright and require the ddev environment to be running:

ddev start
npm run test:e2e
Copied!

To open the interactive Playwright UI:

npm run test:e2e:ui
Copied!

To run tests in a headed browser:

npm run test:e2e:headed
Copied!

PHP tests 

PHP unit and functional tests use PHPUnit 10 and TYPO3 Testing Framework ^7.

Run unit tests:

composer unit-tests
Copied!

Run functional tests (uses SQLite, no database setup required):

composer functional-tests
Copied!

Run all checks (PHP CS Fixer, unit tests, functional tests):

composer test
Copied!

Rector 

For automated code migrations, TYPO3 Rector is integrated. Run it with:

vendor/bin/rector
Copied!

The TYPO3 project - Inspiring people to share