Adyen / adyen-ios

Adyen iOS Drop-in and Components
https://docs.adyen.com/checkout/ios
MIT License
150 stars 119 forks source link

[Feature] Make AdyenEncryption an isolated package #1824

Open forgetfulwhale opened 1 week ago

forgetfulwhale commented 1 week ago

Currently if you only require AdyenEncryption for custom card integration with a server layer in between, you are now forced to also use its dependencies "Core" and "Network".

However when examining the code, the only dependency is AdyenCoder.swift->encode(), which is a very basic wrapper around a JSON encoder. Seems overkill to create this large dependency chain.

Describe the solution you'd like

This can cause issues in size sensitive applications, such as AppClip (15mb), this inflates the AdyenSDK requirements from < 100kb to > 8mb and becomes unusable, very unnecessary.

One can manually import the whole AdyenEncryption folder and the single file from Core, there is no build or functionality issues but it would be better for CI/CD to have proper package manager support and to reduce the overhead of manual maintenance.

AdyenEncryption should always be 100% standalone.

goergisn commented 1 week ago

Hey @forgetfulwhale, thanks for reporting 🤝

Indeed the AdyenEncryption should not have any dependencies on AdyenCore. This will be fixed in the next release 👌

I'll leave this ticket open for verification after the release