-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Is your feature request related to a problem? Please describe.
We have separate repos for the server and the clients. This means that information that servers and clients share, such as the definition of the Task class may be duplicated between repos. This violates DRY and also makes it more likely that there will be incompatibilities between the projects.
Describe the solution you'd like
We could create an NPM package containing the common type definitions and have the server and clients both depend on it.
The advantage of this approach is that it makes is very easy to keep separate projects separate and small, and also means that third-parties will have an easier time understanding our API. The disadvantage is that it will be slightly more complex, and we may want to add the ability to version check the API (although this would not be a bad thing anyway) since the client and server might have different versions of the common package.
Describe alternatives you've considered
We could move the client into the server repo or vice versa.
Having a single repo is conceptually easy, but it would make the project larger and more complex. It would also discourage third-party extensions.