magento / magento/magento2

Files mapped to dev/tests by "required" composer packages

Open
#8,971 20 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area: Framework Component: Composer Issue: Confirmed Priority: P4 Reproduced on 2.4.x Triage: Dev.Experience
Dominant language
PHP
Stars
12.2k
Forks
9.4k
PR merge metrics
No merged PRs in 30d

Description

The composer.json file distributed with the application contains separate sections "require" and "require-dev" sections.
It is commonly expected that "require" section only contains dependencies necessary for production use, and not tests, tools used for development etc.

Preconditions
  1. Magento 2.1.5 CE from https://magento.com/tech-resources/download
Steps to reproduce
  1. Run "composer install --no-dev"
Expected result
  1. No folder "dev/" in the application root or empty "dev" folder.
Actual result
  1. Some files inside under dev/

To be precise, it is the magento2-base package maps quite a lot of its files into the dev folder, namely subfolders "dev/tools", "dev/travis" and "dev/tests/". These do not seem to be an integral part of the application itself, and as such must be separate into a package included inside the "require-dev" section of the composer. Accordingly, it would also be nice to see the "dev" folder added into the sample ".gitignore" file distributed with the package available from https://magento.com/tech-resources/download.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the distributed composer.json and the magento2-base package mappings for dev/tools, dev/travis, and dev/tests. Run composer install --no-dev against Magento 2.1.5 CE to confirm which files are installed. Done means development files are excluded from the production install and the sample .gitignore accounts for the dev folder.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.