Skip to content

Improve Composer Support #124

Closed
Closed
@kopepasah

Description

Is your enhancement related to a problem? Please describe.
Somewhat.

As an outside contributor, it would be beneficial if the project included a more robust Composer setup which setup the project for an engineer (as much as possible) simply by running composer install.

Describe the solution you'd like
Rework the composer.json configuration to improve both the information and programatic tools provided by composer to assist with creating predictable development environments and build processes.

Designs
Not applicable.

Describe alternatives you've considered
As a PHP centric project, Composer is the go to package manager.

Additional context
When working through issues on this project as an outsider, I have an expectation that I can contribute to it — without much effort — because the necessary tooling and processes are in place. For example, if I wanted to run some coding standards or unit tests locally, this project does not setup any of that process in an automated way and requires and engineer to understand the expectations for running tests, coding standards and more.

Running composer install on this project as is throws these errors:

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for league/uri 5.3.0 -> satisfiable by league/uri[5.3.0].
    - league/uri 5.3.0 requires ext-intl * -> the requested PHP extension intl is missing from your system.
  Problem 2
    - Installation request for league/uri-components 1.x-dev -> satisfiable by league/uri-components[1.x-dev].
    - league/uri-components 1.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system.
  Problem 3
    - Installation request for league/uri-hostname-parser 1.1.1 -> satisfiable by league/uri-hostname-parser[1.1.1].
    - league/uri-hostname-parser 1.1.1 requires ext-intl * -> the requested PHP extension intl is missing from your system.
  Problem 4
    - Installation request for league/uri-manipulations 1.x-dev -> satisfiable by league/uri-manipulations[1.x-dev].
    - league/uri-manipulations 1.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system.
  Problem 5
    - Installation request for league/uri-manipulations dev-master -> satisfiable by league/uri-manipulations[dev-master].
    - league/uri-manipulations dev-master requires ext-intl * -> the requested PHP extension intl is missing from your system.
  Problem 6
    - league/uri 5.3.0 requires ext-intl * -> the requested PHP extension intl is missing from your system.
    - jane-php/json-schema-runtime 4.x-dev requires league/uri ^4.2|^5.3 -> satisfiable by league/uri[5.3.0].
    - Installation request for jane-php/json-schema-runtime 4.x-dev -> satisfiable by jane-php/json-schema-runtime[4.x-dev].

Adding in these automated methods of setup would vastly improve the contribution process for both outside and internal 10up engineers.

Metadata

Assignees

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions