Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Composer Yaml

Composer Yaml Laravel Package

c33s/composer-yaml

Lightweight Composer plugin to enable YAML support in composer.json-style configuration and metadata. Useful for projects that prefer YAML over JSON, helping integrate YAML files into Composer workflows with minimal setup.

View on GitHub
Deep Wiki
Context7

Tool to convert from composer.yml to composer.json.

Frequently asked questions about Composer Yaml
Can I use this package to migrate a Laravel project from composer.yml to composer.json?
Yes, this package converts composer.yml files to composer.json, which is fully compatible with Laravel. However, you’ll need to manually validate Laravel-specific configurations like autoload-dev or scripts, as the tool doesn’t handle those automatically. Test the output with `composer validate` to ensure compatibility.
Does this work with Laravel 5.x, 6.x, 7.x, or 8.x?
The package works with any Laravel version since it operates at the Composer level, not Laravel-specific. However, older Laravel projects (5.x) may require Composer 1.x, while newer versions (8.x+) use Composer 2.x. Ensure your Composer version matches your Laravel project’s requirements before conversion.
How do I install and run this package?
Install via Composer: `composer require c33s/composer-yaml`. Run the conversion with `vendor/bin/composer-yaml convert path/to/composer.yml`. For Laravel, you might want to wrap this in a custom Artisan command or CI/CD script to automate the process.
Will this break my existing composer.lock or vendor dependencies?
The conversion itself won’t break dependencies, but the resulting composer.json may introduce changes. Always run `composer install --no-dev` after conversion to test dependency resolution. If conflicts arise, manually review the output or use `composer why-not` to debug.
Does this support Laravel-specific fields like extra.laravel or config.platform?
No, this package only handles standard Composer fields. Laravel-specific configurations (e.g., `extra.laravel`, `config.platform`) won’t convert automatically. You’ll need to manually add or migrate these after conversion or extend the tool with custom logic.
Can I automate this in GitHub Actions or CI/CD?
Yes, you can automate the conversion in CI/CD by adding a step like `vendor/bin/composer-yaml convert` before running tests or deployment. For Laravel, consider running it in a pre-commit hook or a dedicated workflow step to catch issues early.
What if my composer.yml has unsupported YAML syntax or fields?
The package will fail gracefully if it encounters unsupported YAML syntax or Composer fields. Always validate your composer.yml manually or use `composer validate` on the converted file. For complex cases, consider preprocessing the YAML file to remove unsupported sections.
Is there a way to reverse the conversion (composer.json to composer.yml)?
No, this package only supports one-way conversion (YAML to JSON). If you need reverse functionality, you’d need to build a separate tool or use third-party YAML/JSON converters, but this isn’t a feature of `c33s/composer-yaml`.
How do I handle duplicate packages or conflicts after conversion?
After conversion, use `composer validate` to check for syntax errors, then run `composer install` to resolve dependencies. If conflicts persist, manually edit the composer.json or use `composer why` to diagnose issues. For Laravel, ensure `config/autoload.php` and `composer.lock` are updated accordingly.
Are there alternatives to this package for YAML-to-JSON conversion?
For simple YAML-to-JSON conversion, you could use tools like `yaml2json` or `jq`. However, this package is specifically designed for Composer workflows, ensuring the output adheres to the `composer.json` schema. If you need Laravel-specific handling, consider combining this tool with custom scripts or Laravel packages like `spatie/laravel-composer-configs`.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log