Skip to content
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

Enable Fable support in Nuget package #56

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

landy
Copy link

@landy landy commented Aug 6, 2020

Hello, this change should enable the Aether to be used from Fable applications

@et1975
Copy link

et1975 commented Aug 6, 2020 via email

@landy
Copy link
Author

landy commented Aug 6, 2020

I think that it makes sense to have it in the original library.

@njlr
Copy link
Contributor

njlr commented Aug 24, 2020

I would also like to see Fable support in the main package. Since I am sharing code between client and server, this would make it easier to keep everything in sync.

@et1975
Copy link

et1975 commented Aug 24, 2020 via email

@landy
Copy link
Author

landy commented Aug 25, 2020

What do you mean? For example I’m sharing the dependency for https://github.com/demystifyfp/FsToolkit.ErrorHandling and it works just fine.

@njlr
Copy link
Contributor

njlr commented Aug 25, 2020

I am sharing code between client and server. This shared code depends on Aether. Currently I am depending on the file directly from GitHub using Paket's GitHub feature (github xyncro/aether:8.3.1 src/Aether/Aether.fs). However, my understanding is that if I want to use the Nuget packages, I must take two dependencies: Fable.Aether and Aether. The client will depend on Fable.Aether and the server will depend on Aether. I must ensure the versions match up. If the main package (Aether) supported Fable, then I would only need one dependency, making things a bit simpler.

@et1975
Copy link

et1975 commented Aug 26, 2020

If I'm reading you right you are sharing the code by reusing the project, in which case yes, you have a problem. But imo more typical way to share the code is to include the same sources into different projects. This has been the traditional way of dealing with different target platforms since the days we had to take different dependencies based on x32 and x64.

If you look at elmish for example, there are 2 projects - one for CLR and one for fable. Conditional compilation actually produces different implementations, so even if you could use the same package, it would not have the optimal functionality for both targets.

Not saying Aether package shouldn't include the sources (see #52) but there are alternatives.

@Dzoukr
Copy link

Dzoukr commented Oct 7, 2020

Please, is there any update on this? I would appreciate this PR to be merged as well. There is no harm to do so - old code will work and this library could be also used from Fable without any "wrapper" like Fable.Aether.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants