-
-
Notifications
You must be signed in to change notification settings - Fork 157
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
Split pow project into 2 projects (one for ecto stuff, other to the rest) #603
Comments
Sorry for the late reply, I'm swamped with work, recently became a father, and a lot of other life events. Trying to get as much done on Pow as I can in my limited free time, and can't wait till this period is over to get back at a 100% with open source 😄 This is an excellent question! From the very beginning I was experimenting with automatically compile only as needed files since this is a very large project: #2 I would love to cut down both compile time and have zero dependencies if you don't need them in your project. I think I didn't get it to work properly in umbrella projects, and also wasn't sure if it was wise to do it that way. I will take another look at it, but seeing how core elixir libraries usually set up, your suggestion makes the most sense. Just got this preference for the OTP style of having most everything packed in, rather than a lot of dependencies. Please feel free to take a stab at it if you'd like. I'm not sure when I'll have proper time to take a look at this, so I would appreciate any help to get this rolling. It shouldn't be too difficult to separate into two libraries, but if going down this path, then I think it should be separated into all the three main groups, ecto, phoenix, and plug. |
Hey @danschultzer, thanks for the response. I do have an interest in trying something like this. But I gonna be honest with you, it is not something I will be able to do very soon, I'm preparing to launch my startup so I too don't have too much free time. But if it is ok with you, we can keep this issue open and then tackle it later when I have more free time. |
Congratulations on becoming a father. I hope all is well. |
Some Ash (https://www.ash-elixir.org/) users have expressed interest in using Pow backed by Ash resources, and while I haven't looked overly deeply into the project, I think Pow could very likely end up being the de facto authentication tooling for Ash, via an |
Phoenix allows us to create a project with or without Ecto support, the idea is that if you can better separate your project into multiple libraries. This is exactly what I do, I have a
BusinessDB
library that contains all about my business database, including the user's table which I use pow helper functions to create its fields.This project is used in multiple other projects, some of them have the Phoenix framework, and some not. But since pow itself depends on phoenix, all these projects end up with phoenix as a dependency too.
This doesn't have any problems, but it is annoying since the release will be bigger and I will receive runtime warnings like this one:
So I was wondering what would be your opinion to split pow into 2 projects,
pow_ecto
andpow
.pow_ecto
would contain all Ecto dependencies, functionality, queries, and helper functions.pow
would contain all the rest and would depend onpow_ecto
.That way I would be able to make
BusinessDB
depend onpow_ecto
instead ofpow
and not havephoenix
as a dependency.The text was updated successfully, but these errors were encountered: