Composer: Revise project type from "application" to "project" #19268
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Revise the Composer type of the project and use »project«.
Description:
Matomo currently uses »application« as type in the composer file. This is a proprietary type.
It was introduced when Composer was added initially (10 years ago) and never changed afterwards: https://github.com/matomo-org/matomo/blame/8198c387746c426ccb3bcbb2e4a2340a6aade718/composer.json#L3
I assume that at this point in time it was used to delimit the type "library".
By now the composer schema recommends to use »project« for a project like Matomo. This is the industry standard for most similar projects.
I suggest to revise the type and use the better suiting type »project« instead.
Benefits:
composer require
tocomposer create-project
→ See https://packagist.org/packages/matomo/matomo and compare to https://packagist.org/packages/symfony/skeletoncomposer require matomo/matomo
leads to errorProblem matomo/matomo[4.10.0, ..., 4.10.1] require matomo/referrer-spam-list dev-master -> found matomo/referrer-spam-list[dev-master] but it does not match your minimum-stability.
→ However, switching to the correct installation command - since this is a project and not a library - leads to a successful installationEdge cases:
Switching the project type does not prohibit to treat the project like a library (means this is not a breaking change).
Documentation:
Installing Matomo using composer should be part of the Installation Guide. But is not in scope of this PR.
Review