valid composer.json