sbuerk/extended-path-repository

Composer plugin that extends the built-in path repository with additional version metadata detection and tolerant (non-failing) path matching.

Maintainers

Package info

github.com/sbuerk/extended-path-repository

Type:composer-plugin

pkg:composer/sbuerk/extended-path-repository

Transparency log

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

1.0.1 2026-07-05 17:23 UTC

README

Latest version PHP version Total downloads License

A Composer plugin that extends the built-in path repository with:

  • Extended version detection – derive a path package's version from its composer.json version, from extra."typo3/cms".version, or from a sibling VERSION file, before falling back to Composer's stock determination.
  • Tolerant path matching – a configured url that matches nothing (a missing directory or an empty glob) is silently ignored instead of aborting the whole Composer run.

The plugin keeps the exact same configuration syntax as the stock path repository ("type": "path"); once installed it transparently upgrades every path repository in your project.

{
    "repositories": [
        { "type": "path", "url": "packages/*" }
    ]
}

Installation

composer require sbuerk/extended-path-repository

Important

Because Composer instantiates repositories before plugins are activated, the plugin must already be installed for its behaviour to apply. Install it first, then add your (extended / tolerant) path repositories – see docs/installation.md and docs/limitations.md.

The plugin declares Composer's plugin-ordering hints in its composer.json extra section so that, once present, it is activated as early as possible – before normal packages are downloaded and installed:

{
    "extra": {
        "plugin-modifies-downloads": true,
        "plugin-modifies-install-path": true,
        "plugin-optional": false
    }
}
  • plugin-modifies-downloads – Composer activates the plugin before other packages are fetched.
  • plugin-modifies-install-path – Composer activates the plugin as early as possible.
  • plugin-optional: false – the plugin must not be silently skipped in non-interactive runs.

These hints only affect ordering after the plugin is installed; they do not change the first-install caveat described above.

Requirements

  • PHP 8.2+
  • Composer 2.9+ (composer-plugin-api: ^2.9)

Documentation

Short overview here – details live in docs/:

Contributing

Contributions are welcome – please read CONTRIBUTING.md.

Releasing

Maintainers cut releases with the bin/release script:

bin/release x.y.z

It updates the changelog, opens and merges the release pull request, pushes the version tag (which triggers the GitHub release) and re-opens the [Unreleased] changelog section. See CONTRIBUTING.md for the details. Requires an authenticated gh CLI.

License

Released under the GNU General Public License v2.0 or later.