luminsports/localpackages

Automatically symlink composer packages post-install/update for easier local development

Installs: 6 144

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 1

Open Issues: 0

Type:composer-plugin

2.0.4 2022-06-21 04:04 UTC

This package is auto-updated.

Last update: 2024-11-28 06:16:55 UTC


README

Automatically symlink composer packages post-install/update for easier local development

Installation

LocalPackages can be installed globally or per project, with Composer:

Globally (recommended): composer global require luminsports/localpackages Per project: composer require --dev luminsports/localpackages

Usage

  1. Create a composer.localpackages.json file in your project root directory. This file will contain your mapping of paths to locally developed packages
  2. Populate it with paths, in the following JSON format:
{
    "paths": [
        "~/path/to/your/package",
        "~/path/to/your/other-package",
    ]
}
  1. Since the configuration you will provide is unique to your environment, it would be best practice to add composer.localpackages.json to your .gitignore file.
  2. composer install or composer update. LocalPackages will scan the directories specified in your composer.localpackages.json file for packages. If, for example, you used the configuration above and ~/path/to/your/package contains a composer.json file for your/package, your project will symlink any your/package dependency to ~/path/to/your/package automatically.

Known Issues

If anything weird happens and you get stuck, try rm -r vendor/ composer.lock && composer install. If that doesn't work, blame me.

  • I don't believe this works when using composer require your/package. Just run composer update your/package afterwards, and everything should symlink

License

This code is published under the MIT License. This means you can do almost anything with it, as long as the copyright notice and the accompanying license file is left intact.

Thanks

This package is a super-simplified version of franzl/studio.