-
Notifications
You must be signed in to change notification settings - Fork 31
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 up most things into separate libraries #77
Comments
It's a matter of taste but I find it easier that code is contained in a monorepo. I've written a library to automatically split code on deployment. Here is an example: https://github.com/zcaudate/tech.monorepo. |
Hm, I've never used a monorepo before, seems like a lot of work. I was interested in how rails organized their code though, seems like just subfolders under the main rails/rails repo. If the multiple repo thing is too complex, I'm open to a monorepo and if that's too complex, I'll just go back to subfolders haha |
I wrote |
Yeah that works, let me know when the example setup is done and I'll play around with it |
great. can you choose a commit that would make a good starting point? |
Current master is good: 703bdf0 |
I've updated some files here to show how it might work zcaudate@8f0f511 It's not working just yet. Running
It means that some of the files within the designated packages reference each other and so a deps graph cannot be generated. |
haha i dont doubt there are circular dependencies. i’ll check it out and see how it works |
The file that determines how the packages are seperated is zcaudate@8f0f511#diff-105c90dde34ff971dd15eff7aabf2642R1-R46 It might be better to start with something a bit smaller. |
Hmm, seems kind of complicated… do I have to have a I don't know if I have too much of a problem bumping things manually, I pretty much Plus the whole goal of this, which I tried to do before but failed and wound up inlining every single namespace in directories is to not change things as frequently. If it were up to me, I would be changing every little thing every five seconds, the goal for me at least is to add friction to changing the underlying libs. |
That kind of makes sense. When I have more time at a later stage I'd still like to give it a go. full There are also a couple of other monorepo libs: https://github.com/tomasd/depify.monorepo and https://github.com/amperity/lein-monolith around. |
There are videos on Coast which you can embed for marketing: |
I've been working on this and I always forget to update this repo/twitter with issues/progress.
Here's the break down so far:
Most of this stuff has already been written/wrapped, just need to break it out into it's own repo with it's own tests/readme/docs. Check the
env
link for how this looks.I'm open to wrapping existing clojure libs for most of this stuff too, like mailer/worker. I'm also planning on wrapping buddy for authentication as an example for #74
I've also made quite a few changes to coast itself, so #49 and #62 are finally solved, not to mention a bunch of other stuff that was rough around the edges. Super excited about it.
I'm also planning on dropping all this weird greek stuff (theta, eta) and just pushing one coast namespace with a proper v1 and then I'll just follow semantic versioning from now on.
I'll update this issue with links to each of the repos as they get pushed.
The text was updated successfully, but these errors were encountered: