composer

  • Package auto-discovery, and how to opt a package out

    5.5 reads a package’s extra.laravel block and registers its providers and aliases automatically, which removes two config edits from every installation and removes them from view as well.…

  • The asset pipeline Laravel 5.4 shipped

    Elixir wrapped gulp, which wrapped everything else. Mix wraps webpack directly — and leaves the configuration reachable when the abstraction runs out.

  • Composer 1.4 made the platform check a real error

    Installing a package requiring a PHP version newer than the one running used to be a warning in some paths. Composer 1.4 tightened it, which surfaces a problem…

  • Composer scripts see vendor/bin on the path

    Scripts in composer.json run with vendor/bin prepended to PATH, so the tools do not need a path prefix — which is why “test”: “phpunit” works and the same…

  • composer validate belongs in CI

    A composer.json edited by hand and a lock file regenerated on a different machine drift apart quietly, and the first symptom is usually a deploy installing something nobody…

  • Composer 1.0 platform config pins the PHP it resolves against

    Composer resolves dependencies against the PHP running it, so a developer on 7.0 and a server on 5.6 get different — and both correct — lock files. The…

  • composer outdated separates safe from breaking

    composer show –latest lists everything with a newer version, which on a mature project is forty lines that all look equally urgent and are not. The –minor-only list…

  • composer why explains a version you did not choose

    When Composer installs an old version of something you never asked for, the answer is always a transitive constraint — and reading composer.lock to find which package imposed…

  • Upgrading a production application to PHP 7

    Twice the throughput and half the memory, for a migration that is mostly deletions — plus the four behaviour changes nobody puts in the upgrade notes.

  • Caret and tilde constraints resolve differently than you expect

    Both operators mean “this version or a bit newer” and they differ in where the ceiling sits. The difference only shows up when a dependency releases a minor…