2017-10-08 2 views
0

J'écris un paquet qui est destiné à être installé uniquement sur des machines locales de développeur. Que puis-je faire pour vous assurer qu'il apparaît à côté d'autres paquets dans require-dev comme PHPUnit, etc.Comment puis-je m'assurer que le paquet que j'écris sera dans require-dev de l'application cible?

aussi pourquoi je dérange même pas à énumérer toutes les dépendances dans require-dev de mon colis car ils ne seront jamais installés dans la toute façon application cible?

Mon composer.json:

{ 
    "name": "alquesadilla/my-package-name", 
    "description": "Some thing to help you in your local development.", 
    "type": "library", 
    "license": "MIT", 
    "version": "1.0.0", 
    "authors": [ 
    { 
     "name": "Name", 
     "email": "[email protected]", 
     "homepage": "http://someurl.com" 
    } 
    ], 
    "bin": ["bin/enforce"], 
    "autoload": { 
    "psr-4": { 
     "alquesadilla\\MyClass\\": "src/" 
    } 
    }, 
    "require": { 
    "squizlabs/php_codesniffer": "3.1.*", 
    "exussum12/coverage-checker": "0.7.*" 
    } 
} 

Répondre

2

Que puis-je faire pour vous assurer qu'il apparaît à côté d'autres paquets dans require-dev comme PHPUnit, etc.

Vous ne pouvez pas. La seule façon de le faire serait d'utiliser un script d'installateur dans le composer.json en aval, mais cela signifierait que vous auriez besoin d'un moyen de le faire appliquer, et il n'y en a aucun dont je suis au courant.

Pour référence, voir https://getcomposer.org/doc/articles/scripts.md#installer-events.

Aussi pourquoi devrais-je même déranger liste des dépendances dans require-dev de mon paquet puisqu'ils ne seront jamais installés de toute façon dans l'application cible?

Voir What is the difference between require and require-dev sections in composer.json?.