andersundsehr / typo3-sort-extensions
Solves the problem of the extension order
Installs: 5 125
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:composer-plugin
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- composer-plugin-api: ^2.1
Requires (Dev)
- composer/composer: ^2.5.5
- pluswerk/grumphp-config: ^7.0
README
install & configuration
replace andersundsehr/aus_project
with your site-package package name:
composer config extra.andersundsehr/typo3-sort-extensions.site-package andersundsehr/aus_project composer req --dev andersundsehr/typo3-sort-extensions
what does it do
This plugin automatically copies all externally* required TYPO3 Extensions to the site-package require
section.
So the externally* required Extensions will always be loaded before locally* installed TYPO3 Extensions.
It also requires the site-package in all the locally* installed TYPO3 Extensions, so they are loaded after the site-package and all the externally* required TYPO3 Extensions.
This solves the problem that sometimes you install/remove an extension and the order changes so that e.g. TCA/Overrides no longer work as before.
Example before :
root composer.json
:
{ "repositories": [ { "type": "path", "url": "extensions/*", "canonical": false, "options": { "reference": "none" } } ], "require": { "andersundsehr/aus_project": "@dev", "andersundsehr/aus_example": "@dev", "pluswerk/minify": "^3.0.1", "typo3/cms-core": "^11.5.4" }, "extra": { "andersundsehr/typo3-sort-extensions": { "site-package": "andersundsehr/aus_project" } } }
aus_project composer.json
:
{
"require": {
}
}
aus_example composer.json
:
{
"require": {
}
}
after:
root composer.json
:
{ "repositories": [ { "type": "path", "url": "extensions/*", "canonical": false, "options": { "reference": "none" } } ], "require": { "andersundsehr/aus_project": "@dev", "andersundsehr/aus_example": "@dev", "andersundsehr/group_access": "^1", "pluswerk/minify": "^3.0.1", "typo3/cms-core": "^11.5.4" }, "extra": { "andersundsehr/typo3-sort-extensions": { "site-package": "andersundsehr/aus_project" } } }
aus_project composer.json
:
{ "require": { "pluswerk/minify": "*", "andersundsehr/group_access": "*" } }
aus_example composer.json
:
{ "require": { "andersundsehr/aus_project": "*" } }
with ♥️ from anders und sehr GmbH
If something did not work 😮
or you appreciate this Extension 🥰 let us know.
We are hiring https://www.andersundsehr.com/karriere/