Weave Code
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

Platform Package Installer Laravel Package

codewithkyrian/platform-package-installer

View on GitHub
Deep Wiki
Context7
2.1.0

What's Changed

Full Changelog: https://github.com/CodeWithKyrian/platform-package-installer/compare/2.0.0...2.1.0

2.0.0

What's Changed

  • Replaced extra.platform-urls with the new extra.artifacts configuration key.
  • Added template variable support for artifact URLs beyond {version}.
  • Added package-level default variables via extra.artifacts.vars.
  • Added root application overrides via extra.platform-packages.<package-name>.
  • Added support for both artifacts styles: flat platform map and nested urls + vars.
  • Improved placeholder resolution with explicit unresolved-variable detection and safe fallback to base dist.
  • Updated platform:generate-urls to accept platforms from CLI (--platforms) instead of platforms.yml.
  • Added support for repeated and comma-separated platform input in the generator command.
  • Updated generator output to write into extra.artifacts, preserving extended format when vars exist.
  • Added integration tests for real Composer install flows (override success, missing-variable fallback, simple format).
  • Added resolver-focused unit tests and updated command tests for the new v2 behavior.
  • Removed unused symfony/yaml dependency.
  • Rewrote README to focus on core platform artifact URL resolution and v2 configuration.

Full Changelog: https://github.com/CodeWithKyrian/platform-package-installer/compare/1.1.4...2.0.0

1.0.0

Composer Platform Package Installer - v1.0.0

🚀 Introduction

I'm excited to release the first version of Composer Platform Package Installer, a revolutionary solution for managing platform-specific package distributions in PHP projects!

✨ Key Features

Platform-Specific Package Management

  • Fine-grained control over package distributions across different platforms and architectures
  • Exclude specific folders and files for each platform
  • Generate custom distribution URLs with ease

Flexible Configuration

  • Simple YAML-based platform configuration
  • Support for multiple platforms: Linux, macOS, Windows
  • Comprehensive architecture support (x86_64, arm64, and more)

Powerful Utility Methods

  • findBestMatch() method for runtime platform-specific resource selection
  • Seamless integration with Composer's package management system

🔧 How It Works

  1. Change package type to platform-package
  2. Create a platforms.yml to define platforms and platform-specific exclusions.
  3. Generate distribution URLs with a simple command.
  4. Automatically download platform-optimized packages

🛠 Installation

composer require codewithkyrian/platform-package-installer

🌟 Example Configuration

linux-x86_64:
  exclude:
    - libs/linux-arm64
    - libs/darwin-*
    - "*.exe"
    - "**/*.windows.*"

darwin-arm64:
  exclude:
    - libs/windows-*
    - libs/linux-*
    - "*.exe"
    - "*.so"

📦 Compatibility

  • PHP 8.1+
  • Composer 2.0+

🔒 License

MIT License

🙌 Contributing

Contributions are always welcome! Please open issues or submit pull requests; I always love that.

🔮 Future Roadmap

  • Enhanced platform detection
  • More distribution source integrations
  • Improved performance and flexibility
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.
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver