axa-group / nlp.js

An NLP library for building bots, with entity extraction, sentiment analysis, automatic language identify, and so more
MIT License
6.27k stars 620 forks source link

Debate: Monorepo #28

Closed jesus-seijas-sp closed 4 years ago

jesus-seijas-sp commented 6 years ago

We are near to publish the version 2.0.0, with async process, transformations, slot filling... and so many features. How to evolve to the version 3.0.0? From my point of view, evolving to a monorepo with lerna can be positive. Pros:

Contras:

What do you think?

@FKSI @franher @vvscode @poveden @nulltoken

franher commented 6 years ago

You already know my answer @jesus-seijas-sp :) I love lerna monorepos <3

But as you said not always it fits well with all the projects. How many packages do you think will be?

jesus-seijas-sp commented 6 years ago

Well, it will be:

Like this, perhaps also split by language because each language has files with big size.

franher commented 6 years ago

So for me monorepo is a valid solution seeing all the kind of packages you have in mind 👍

In my experience, this pattern encourages developer to decoupling features, better set of test and better documentation.

FKSI commented 6 years ago

Coming a bit late in the discussion, the list of Pros and Cons are fair. My only concern right now is if we "split" would we have traction to make each project grow enough? In other terms is it the good time (marketing wise) to introduce such big change? 🤔

jesus-seijas-sp commented 6 years ago

IMHO the product will be still one: nlp.js. You have examples in github of other lerna or monorepo projects. One example is the botbuilder-js from Microsoft: when a developer wants to develop a bot, botbuilder is one option, even if internally is a monorepo. Also, the objective is not the marketing, but giving value back to the open source community. Having it monorepo adds several values to the project:

My vote is for monorepo.

jesus-seijas-sp commented 6 years ago

Invoking @davidknezic ... it's possible to publish under organization?

jesus-seijas-sp commented 4 years ago

Closing: v4 is a monorepo