System, third-party and custom extensions

The files for an extension are installed into a folder named vendor/ by Composer. See also vendor/.

In legacy installations they are found in typo3/sysext/ (system extensions) or typo3conf/ext/ (third-party and custom extensions).

Third-party and custom extensions

Third-party and custom extensions must have the Composer type typo3-cms-extension:

EXT:my_extension/composer.json`
{
    "name": "myvendor/my-extension",
    "type": "typo3-cms-extension",
    "...": "..."
}
Copied!

The extension will be installed in the directory vendor/ by Composer. Custom extension like sitepackages or specialized extensions used only in one project can be kept under version control in a directory like packages/. They are then symlinked into vendor/ by Composer.

In legacy installations third-party extensions are installed into typo3conf/ext/. Custom extensions can be kept in a directory outside of the project root and symlinked into typo3conf/ext/ or manually inserted in this directory.

System Extensions

System extensions have the composer type typo3-cms-framework:

EXT:core/composer.json`
{
    "name": "typo3/cms-core",
    "type": "typo3-cms-framework",
    "...": "..."
}
Copied!

Composer installs all TYPO3 extensions, including system extensions in the directory vendor/.

In legacy installations they are installed into typo3/sysext/.