-
-
Notifications
You must be signed in to change notification settings - Fork 436
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Moved phpseclib, mcrypt_compat, Cm_RedisSession, Cm_Cache_Backend_Redis and Pelago_Emogrifier to composer #2411
Conversation
There is always this check magento-lts/app/code/core/Mage/Core/Helper/Url.php Lines 174 to 179 in e6f0851
also magento-lts/app/code/core/Mage/Core/Helper/Url.php Lines 196 to 201 in e6f0851
When I checked the PHP doc, |
@kiatng wow this is a great find, I'm checking it out more in detail now :-) |
I've removed Net_IDNA and switched to a proper polyfill which is allowing us to not have a "if funcion exists" in our code, I kinda prefer this solution, I hope you too :-) |
@fballiano nice work! The polyfill definitely seems too big to just add to functions.php so I like it being separate (and not maintained by us). I think it will however make the release builder more complicated. But if we can figure out a way to bundle any composer package in lib we could unlock a lot of possibilities like the php8 polyfill package or also removing a lot of our own polyfills from this repo. |
mmm I think there's no way to move everything in lib because of dependancies, but if we have the vendor folder in the release it should be solved. I know... it will make the release bigger but... i don't know any other way... maybe set the composer install dir as "lib"? mmmmmmmmmmm seems dangerous |
@fballiano Bundling vendor would be okay IMO. I basically do the same thing for the sites I manage. I only use composer locally and then build it by copying vendor to htdocs. Then I just deploy that to live and it all works without composer being installed on the server. There’s one issue I don’t like about it though, Magento source code is duplicated there as well as the code for all modules. I have it on my roadmap to eventually see if it’s possible to avoid that. |
Maybe this could help: https://github.com/liborm85/composer-vendor-cleaner Not sure if it could remove the entire openmage/magento-lts dir in vendor, but maybe that can just be rm -rf’d My plans were to always do something like loop through all packages and remove any that had magento-source or magento-module in their composer.json |
yes i totally agree that it's really not nice to have the duplicated magento code, i think the composer plugin (i'll check it out asap) is a really good idea, not only for the production servers but also for local environment (like when I try to search on phpstorm i get duplicated results because of the vendor folder). I'll take a look at it asap, thanks so much! |
Ah, you're right since this repo doesn't require itself. But for example the |
it seems this plugin runs BEFORE deploy, so we can't use it otherwise the deployment of modules brakes :-( |
As composer user i'm happy with it, but is release builder ready to merge this one for next release? (Discussion? Composer as requirement?) |
ah ok ok, I would have worked on that right after merging this one, resuming the other "release builder workflow" PR :-) |
Fixed conflict regenarating composer.lock will we ever merge this? |
I hope so. Maybe its better to split that PR and start with one replacement? (Cm_Cache?) |
@fballiano what is needed to get it merged? (I'd like to help, but how?) |
wow, let's go, time has come 🤞🤞🤞 |
This PR is the start of the migration of 3rd party modules to composer dependencies.
This PR continues from #2138 which I couldn't rebase from 20.0.
Notes: