monaco icon indicating copy to clipboard operation
monaco copied to clipboard

FEATURE: Replace FluentAssertions by AwesomeAssertions

Open CesarD opened this issue 10 months ago • 3 comments

Detailed Description

Replace existing dependency FluentAssertions by a fork of it: AwesomeAssertions.

Context

Due to the changes in licensing introduced in the current dependency FluentAssertions (https://github.com/fluentassertions/fluentassertions/pull/2943), it becomes necessary to replace this dependency by another one that fits in the OSS model without incurring into additional licensing charges to users of Monaco.

Possible Implementation

AwesomeAssertions is a good candidate since it's a fork of the original FluentAssertions and it would provoke the less impact in the current code base, making the switch smoother without requiring any significant changes or having to re-learn any new API from a new library.

CesarD avatar Feb 09 '25 18:02 CesarD

It's worth noting that it's possible to stay on v7 indefinitely. Replacing may or may not be necessary long term and it could be a good idea to see how well AwesomeAssertions is maintained or whether it gets abandoned.

matthewtoghill avatar Feb 13 '25 10:02 matthewtoghill

Indeed we could, but I'd rather leave it for good in case someone using Monaco ends up upgrading accidentally into v8 after generating their own projects. I prefer to go into AwesomeAssertions just for the sake of keeping the same API and avoid any "illegal" upgrade, than staying in FA and someone getting into trouble because of it. Besides, FA was already pretty much feature complete... It's not like AwesomeAssertions will have much room for improvement anyway... What do you think?

CesarD avatar Feb 13 '25 18:02 CesarD

Yea on reflection I agree, it's better to avoid leaving it open for future projects to upgrade into FA v8+ and hit the licensing issue.

matthewtoghill avatar Feb 13 '25 18:02 matthewtoghill