Installation:
composer require hiqdev/hidev-composer
Add to your composer.json under extra:
"hidev": {
"composer": {
"type": "library",
"name": "vendor/package-name"
}
}
HiDev Integration: Ensure you have HiDev installed globally or locally. The plugin bridges HiDev’s code generation with Composer workflows.
First Use Case:
Run HiDev’s composer controller to generate/update composer.json:
hidev composer:generate
This populates the file with HiDev-specific configurations (e.g., type, name, autoload).
Dynamic composer.json Generation:
Use HiDev’s composer:generate to auto-populate fields like name, version, and autoload from your project’s metadata (e.g., hidev-config.yml).
# hidev-config.yml
name: my-laravel-package
version: 1.0.0
Integration with Laravel:
autoload generation to sync with Laravel’s composer.json:
hidev composer:update-autoload
markdownBadges (from v0.2.0+) to auto-generate Packagist shields in README.md:
hidev composer:add-badges
CI/CD Pipelines:
Trigger composer install/update via HiDev’s controllers in your CI (e.g., GitHub Actions):
# .github/workflows/ci.yml
- name: Update Composer
run: hidev composer:update
composer.json for Laravel packages, then publish via vendor/bin/hidev composer:publish.hidev-config.yml to include Laravel-specific keys (e.g., extra.laravel):
extra:
laravel:
providers: ["App\Providers\MyServiceProvider"]
Autoload Conflicts:
composer dump-autoload if changes aren’t reflected.hidev composer:update-autoload --force (if available) or manually trigger Composer.Deprecated Keys:
@prjdir was renamed to @root in v0.3.6. Update any templates or configs using this variable.Packagist Issues:
composer.json has a valid name and version (forced in v0.3.3+).hidev composer:validate to check Packagist compatibility.hidev composer:generate -vvv
hidev-config.local.yml to override composer.json settings without modifying the main config.Custom Controllers:
Extend HiDev’s Composer controllers (e.g., composer:generate) by creating a custom plugin:
// config/hidev.php
'composer' => [
'controllers' => [
'namespace' => 'App\HiDev\Controllers',
'paths' => ['@app/hidev/controllers'],
],
],
Post-Generation Hooks:
Use HiDev’s event system to run scripts after composer.json updates:
# hidev-config.yml
events:
after_composer_generate:
- "php artisan vendor:publish --tag=config"
Legacy Compatibility:
For older HiDev versions, check the changelog for breaking changes (e.g., composer-config-plugin rewrite in v0.4.0).
How can I help you explore Laravel packages today?