apiaryio / dredd

Language-agnostic HTTP API Testing Tool
https://dredd.org
MIT License
4.18k stars 279 forks source link

Split Dredd into multiple projects #704

Open honzajavorek opened 7 years ago

honzajavorek commented 7 years ago

For Dredd it would make sense to split into multiple projects:

This would make easier to use Dredd also in other environments than CLI (imagine all kinds of integrations, such as the one @XVincentX did for Visual Studio Code).

honzajavorek commented 7 years ago

When this happens, investigate whether lerna wouldn't help with managing. (Thanks @XVincentX for the tip.)

w-vi commented 7 years ago

When you say multiple projects, do you mean multiple repos?

honzajavorek commented 7 years ago

That is an implementation detail to be decided. I mean multiple packages in the first place.

honzajavorek commented 5 years ago

I'm going to make this a ticket tracking our "monorepo" efforts, which are currently under-documented and scattered all over our repositories.

I think the initial ideas were formulated around this conversation https://github.com/apiaryio/dredd/issues/600#issuecomment-324887713, then it was further discussed in Apiary internally (Slack link to the initial message, for employees) and also externally with the original Dredd author @netmilk. This issue was created to make the intention public, but I'm not sure it sums up all the reasoning sufficiently. Issues https://github.com/apiaryio/gavel.js/issues/126 and https://github.com/apiaryio/dredd-transactions/issues/252 were created, but unlinked from any other mentions of the decisions behind. There are additional mentions of the "future monorepo" in https://github.com/apiaryio/dredd-transactions/issues/105#issuecomment-346317514 or in https://github.com/apiaryio/dredd/issues/1186. The v7 of Dredd Transactions is one of the first steps in the effort, splitting parsing and compilation into two distinct modules (packages, if you want).

Reasons for the monorepo and additional notes

Plan