Skip to content
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

Mono-repo, many packages #1506

Closed
benlesh opened this issue Mar 21, 2016 · 13 comments
Closed

Mono-repo, many packages #1506

benlesh opened this issue Mar 21, 2016 · 13 comments

Comments

@benlesh
Copy link
Member

benlesh commented Mar 21, 2016

We want to convert the repository into a single repository from which we publish many packages. This means a reorganization of the repository to something more suitable.

Any and all ideas here are welcome. Especially those that come from prior art.

Right now we're looking at breaking ajax and WebSocketSubject into their own packages.

Likewise, we should put all test functionality in it's own package.

@staltz
Copy link
Member

staltz commented Mar 21, 2016

Can you give a hint of what these many packages would be? (right now I can think of RxJS and RxJS-DOM)

@benlesh
Copy link
Member Author

benlesh commented Mar 21, 2016

Sorry, I've updated the original post.

@benlesh
Copy link
Member Author

benlesh commented Mar 21, 2016

rxjs-dom vs rxjs-ajax and rxjs-websocket is all debatable. I'm relatively indifferent. I can say that sometimes people want to consume a web socket from node, however, and both the ajax and websocket functionality work in Node by passing polyfill ctors to their signatures.

@benlesh
Copy link
Member Author

benlesh commented Mar 22, 2016

FYI: @jayphelps is working this. I'll assign him.

@jayphelps jayphelps self-assigned this Mar 22, 2016
@jayphelps
Copy link
Member

I'm going ahead with rxjs and rxj-dom.

@LongLiveCHIEF
Copy link

If there's anything I can do to help with this one, please LMK. Specifically, I have a need for rxjs-ws, without all the dom stuff, so if this still needs to be done, I can work one that package.

@meriturva
Copy link

I think now that many projects (angular 2 based) are ready to be distributed we really need a bundle strategy (UMD) including websocket! Any final decision here?

@WorldMaker
Copy link

Since I don't see it mentioned here: Something that may help with this effort is Lerna from the Babel team for managing multiple NPM packages out of a monorepo. It might help to have a semi-standard tool to manage things.

@jayphelps
Copy link
Member

@WorldMaker yup, we were attempting to use Lerna but the RxJS build process and testing pipeline is fairly intense being written in TS with so many different build outputs. @trxcllnt was last working on it.

@jayphelps jayphelps removed their assignment Jul 10, 2016
@benlesh
Copy link
Member Author

benlesh commented Aug 9, 2016

I no longer think it's worth blocking the release for this issue.

This was born out of the desire to move all of the "DOM-related" functionality (specifically ajax and webSocket) to another package.

While I strongly agree that we should move those to their own package, I think we can do that at a later time. Refactoring this repository to accommodate that will take a large amount of time, and I'm not sure it's worth holding up the release. I don't think we should covet major versions so closely.

In the short term, the wins of being able to pull in only the modules you need, and tree-shake off the rest, are more than enough to address concerns caused by the bloat from those two pieces of functionality.

In the long term, we still plan on splitting off these packages.

@DxCx
Copy link

DxCx commented Oct 4, 2016

Hi @Blesh

Ive tried to push rxjs to couple of projects already, and im always getting the rejection because "rxjs is too big"

What do you think about using lerna to split the core (Observable only) and all the operators from it?
So people can install just Observable if they need to just create observables. And then install just the operators needed?
I think it will be prefered to release this way before going to final since it might be breaking change..

@jayphelps jayphelps removed this from the 5.0.0 release milestone Jan 27, 2017
@benlesh
Copy link
Member Author

benlesh commented Feb 21, 2017

closing as inactive. We'll keep the status quo for now, as it seems to be working out.

@lock
Copy link

lock bot commented Jun 6, 2018

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked as resolved and limited conversation to collaborators Jun 6, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants