Skip to main content

Development

An Eddy extension develops against a real Drupal site. The build assembles a Drupal codebase in the build directory, symlinks your extension into it, serves it with PHP's built-in webserver and installs Drupal on an SQLite database. Nothing runs in a container, so the site uses the PHP and Composer on your machine, and CI builds it the same way.

Commands at a glance​

Each command runs through make or Ahoy, whichever wrapper you kept, such as make build or ahoy build. Without a wrapper, the tooling commands do the same jobs.

CommandWhat it doesAliases
buildStops the webserver, then runs assemble, start and provision.
assembleAssembles the codebase in build and symlinks the extension into it.
startStarts the PHP webserver, without XDebug.debug-off, xdebug-off
stopStops the webserver.
provisionInstalls Drupal with the extension enabled.
infoPrints a read-only summary of the environment.describe
debugRestarts the webserver with XDebug.debug-on, xdebug, xdebug-on
drushRuns a Drush command against the site.
loginPrints a one-time login link.
lintChecks coding standards.
lint-fixFixes what the linters can fix.
testRuns every PHPUnit suite and the Jest tests.
test-unitRuns the PHPUnit Unit suite.
test-kernelRuns the PHPUnit Kernel suite.
test-functionalRuns the PHPUnit Functional suite.
test-functional-javascriptRuns the PHPUnit FunctionalJavascript suite.
test-javascriptRuns the Jest tests.test-js
browser-startStarts the browser for FunctionalJavascript tests.
browser-stopStops that browser.
resetStops the webserver and the browser, and removes build, .logs and vendor.delete, destroy

A command for a tool you didn't keep isn't there: without PHPUnit, for example, the test suite commands go with it. make help lists the make commands, since a bare make runs build instead, and a bare ahoy lists the Ahoy ones.

In this section​