Deprecation: #94996 - In Composer Mode, all Extensions should be installed with Composer

See forge#94996

Description

Having extensions within typo3conf/ext in Composer mode, which have not been installed with Composer, has been marked as deprecated.

TYPO3 Extensions are Composer packages and therefore Composer mechanisms should be used to install them properly in the project, and not placed manually in their target location typo3conf/ext

Impact

A PHP E_USER_DEPRECATED error is raised for any extension that is not installed with Composer, if the instance is composer based.

Affected Installations

Composer based TYPO3 projects, that have extensions directly in typo3conf/ext, for instance under version control.

Migration

Composer based TYPO3 projects, that have extensions directly in typo3conf/ext under version control, should migrate them to be installed using the Composer path repository mechanism:

{
    "repositories": [
        {
            "type": "path",
            "url": "./packages/*/"
        },
    ],
    "require": {
        "my/example-extension": "@dev",
    }
}
Copied!

Now, when example-extension is located in packages/example-extension, it is picked up by composer and symlinked into typo3conf/ext/example_extension.