sandersander / composer-link Goto Github PK
View Code? Open in Web Editor NEWAdds ability to link local packages for development with composer
Home Page: https://packagist.org/packages/sandersander/composer-link
License: Other
Adds ability to link local packages for development with composer
Home Page: https://packagist.org/packages/sandersander/composer-link
License: Other
It's a must to have some integration tests with composer, A solid base is required for this tests so that we can add in an easy manner more scenarios.
Maybe we should look how composer solves this, I assume they have also some extended tests.
When trying to link my package I get this error
composer link ../php-packages/narwhal-layout
Fatal error: Uncaught Error: Class "League\Flysystem\Local\LocalFilesystemAdapter" not found in /var/cache/composer/vendor/sandersander/composer-link/src/Plugin.php:82
Stack trace:
#0 phar:///usr/bin/composer/src/Composer/Plugin/PluginManager.php(404): ComposerLink\Plugin->activate(Object(Composer\Composer), Object(Composer\IO\ConsoleIO))
#1 phar:///usr/bin/composer/src/Composer/Plugin/PluginManager.php(291): Composer\Plugin\PluginManager->addPlugin(Object(ComposerLink\Plugin), true, Object(Composer\Package\CompletePackage))
Hi There,
I would love to have a composer unlink --all
or composer unlink-all
command to unlink multiple packages.
Hi,
i'm using this awesome plugin for our local development.
Let's say i have PROJECT1
using PACKAGE1
via composer link, after having installed new dependencies on PACKAGE1
, the composer dump-autoload
in PROJECT1 doesnt see new dependencies installed and doesn't autoload new modules.
I've noted that, also after composer update PACKAGE1
, the composer.lock
require
section is not updated using the require section of the local COMPONENT1
but seems it's using the published package dependencies on Packagist, it does update the composer.lock hash but doesn't reflect the required dependencies changes in the parent composer.lock file.
We have many others dependencies in PACKAGE1 composer.json\require (already published on Packagist) that are loaded correctly from the parent project.
Maybe i'm missing something or have messed up with package dependencies, any help would be greatly appreciated!
This is already possible with composer global link
which moves the current directory.
We should make the LinkCommand and UnlinkCommand better usable for the user.
We should improve documentation on the behavior on linking global
Currently the integrations tests do not work on windows, this should be implemented
I am wondering if there is a wildcard support for symlinking packages. Let's say I have a folder php-packages/package1
and php-packages/package2
it would be nice if i can just enter a command composer link ../php-packages/*
and it link all the packages in that folder. Is it something possible?
The dependency on league/flysystem
can give problems when a project has an incompatible version of the same library installed.
To prevent issues like this it's best to not depend on any library expect composer.
This is really one of my most loved packages. Thank you so much for making life easier!
I am trying to symlink multiple (already installed) packages. And it works great if I do it one by one. But as by the documentation the following would be a possible shorthand:
composer link ../path/* --only-installed
However that always returns the error: The "--only-installed" option does not exist.
Kind regards,
Philipp
When a package is installed globally it isn't possible to unlink it with the absolute path to that package.
See integration test: test_link_package_in_global_with_absolute_paths_with_global_plugin
Currently when the plugin is uninstalled nothing happens.
The plugin should remove all linked packages, and do some cleanup.
Globally linked packages should be unlinked (#15 ).
When the compposer-link is installed globally we should do this procedure for every project where composer-link is active (Depends #19 )
We should have the ability to globally define a package that should be linked in every other project.
We should maintain a list of those packages globally, and link those automatically everywhere where composer install
or composer upgrade
is executed.
When the package is unlinked by the user, we should go through all the project where composer-link is active and remove those links.
(Depends #19 )
(With exception projects where composer-link
is installed as project dependency).
We should maintain a list with projects where composer-link is active, only if composer-link is installed globally.
We need this for a few reasons:
Currently when a package is linked, we only install the linked package and not it's dependencies.
When the linked package contains new dependencies on other packages, or a new version of a package, we should pull those in when they can be included and don't conflict with other required packages.
This seems to an interesting utility as opposed to the https://github.com/franzliedke/studio. The problem with the studio
is that that it will keep the reference of the local package path in composer.lock
file. This utility seems to fix that problem just by keeping the reference in the composer.lock file and linking the package in the background.
My question is when I have completed my changes in the package and now its time to run composer update vendor/package
will it update the hash and timestamp in composer.lock file?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.