Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Composer: Revise project type from "application" to "project" #19268

Merged

Conversation

pixelbrackets
Copy link
Contributor

@pixelbrackets pixelbrackets commented May 25, 2022

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:

  • Expected standard type for this kind of project
  • Supported natively by Composer
  • Supported by Packagist
    • Switches the recommend installation command from composer require to composer create-project → See https://packagist.org/packages/matomo/matomo and compare to https://packagist.org/packages/symfony/skeleton
    • This is because Packagist and Composer treat »application« like the default type »library«, which is not the case here - matomo/matomo is no library, it is a project
    • The currently recommend installation command fails: running composer require matomo/matomo leads to error Problem 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 installation
      • This may be a cause for the low installation count on Packagist

Edge 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

Switch the type from proprietary "application" to "project",
which is supported natively by Composer.

This also allows Packagist to recommend the correct installation
command (`composer create-project` instead of `composer require`),
since type »application« is treated like a »library« which is not correct.
@sgiehl sgiehl added this to the 4.11.0 milestone May 25, 2022
@sgiehl sgiehl merged commit 74846ca into matomo-org:4.x-dev May 25, 2022
@justinvelluppillai justinvelluppillai changed the title [FEATURE] Composer: Revise project type Composer: Revise project type from "application" to "project" Jul 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants