"Monorepo style"

Steve Lee steve at opendirective.com
Wed May 11 14:38:06 UTC 2016


OH, That does look like to solves a headache or 2! thanks Antranig

Steve Lee
OpenDirective http://opendirective.com


On 9 May 2016 at 08:47, Tony Atkins <tony at raisingthefloor.org> wrote:
> Hi, Antranig:
>
> This is fantastic.  I have followed more of the "micromodule" approach, I
> have to admit it can be pretty maddening to coordinate.  Lerna gives us a
> great new option for our larger projects, and is especially nice because it
> gives us the ability to transition in whatever direction we like as slowly
> as we need to.
>
> Just to give a couple of examples, I was thinking of our recent discussions
> in KETTLE-32, I've used Kettle's dataSource and request grades widely in
> other projects, even though those packages don't use Kettle itself.  I was
> arguing for packaging those up into their own modules.  Lerna gives us a
> great middle ground, where sub-modules can stay where they are if it doesn't
> make sense to split them out.  If a module matures or its focus shifts
> enough that it needs its own library, people who depend on the library only
> need to update the version number.
>
> Conversely, if we decide that we should group related micromodules, we now
> have a very sensible way to do so.  I'm thinking here of the outgoing mail
> handling that current lives in gpii-express-user and the test mail server
> that's it's own package (gpii-mail-test).  We could for example create a
> gpii-mail module and make gpii-mail-test a submodule of that.  Even if we
> decide to collapse the micromodule into its new home at some point, the
> transition is step-by-step and can be clearly delineated by version.
>
> In either direction (splitting or combining), the transition is smooth as
> glass, as it's just the same package name with a different version,
> regardless of where the code actually lives.
>
> Anyway, great stuff.
>
> Cheers,
>
>
> Tony
>
> On Sun, May 8, 2016 at 12:27 AM, Antranig Basman
> <antranig.basman at colorado.edu> wrote:
>>
>> It appears that our front-runner plan for modularizing Infusion and other
>> "overly large" repositories such as Kettle has come of age, been named and
>> supported by others in the community. A great vindication for "masterly
>> inaction" since this is now work that we don't need to spearhead ourselves.
>> It is known as the "monorepo pattern" and is supported by the build tool
>> named "lerna".
>>
>> https://github.com/kittens/lerna
>>
>> A large repository following this pattern is "babel" at
>> https://github.com/babel/babel , and the pouchdb team recently tweeted that
>> they are at work refactoring their project to this pattern:
>>
>> https://twitter.com/nolanlawson/status/727959139494731777
>>
>> _______________________________________________________
>> fluid-work mailing list - fluid-work at lists.idrc.ocad.ca
>> To unsubscribe, change settings or access archives,
>> see http://lists.idrc.ocad.ca/mailman/listinfo/fluid-work
>
>
>
> _______________________________________________________
> fluid-work mailing list - fluid-work at lists.idrc.ocad.ca
> To unsubscribe, change settings or access archives,
> see http://lists.idrc.ocad.ca/mailman/listinfo/fluid-work


More information about the fluid-work mailing list