Ho creato i file
.gitignore
composer.dev.json
composer.json
codice:
$ .gitignore
composer.dev.json
$ cat composer.dev.json
{
"name": "bla/bla",
"scripts": {
"test": [
"phpunit"
]
},
"require": {
"bla/bla": "^1.0"
},
"require-dev": {
"phpunit/phpunit": "^10.5"
}
}
$ cat composer.json
{
"name": "bla/bla",
"require": {
"bla/bla": "^1.0"
}
}
Come potete vedere composer.dev.json contiene cose che all'utente finale non dovrebbero interessare, per cui l'ho inserito nel file .gitignore
Ad ogni modo, quando voglio lavorare con composer in ambiente di produzione, uso i comandi
codice:
$ composer blabla1...
$ composer blabla2...
$ composer blabla3...
Invece quando sono in ambiente di sviluppo
codice:
$ export COMPOSER=composer.dev.json
e poi come al solito
codice:
$ composer blabla1...
$ composer blabla2...
$ composer blabla3...
Quindi come avrete intuito, mi piace usare due file composer.* diversi in base all'ambiente dove mi trovo.
Tuttavia, girovagando nei repository di https://github.com/ , vedo che molti includono nel file composer.json cose che dovrebbero stare solo nelle macchine di sviluppo
codice:
"scripts": {
"test": [
"show-login-data",
"phpunit",
...
]
},
"autoload-dev": {
...
},
"require-dev": {
...
}
ecc.
Non dovrebbe essere una pratica sbagliata (talvolta pericolosa)?
O forse sono io che ragiono male?