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

Should the projector be split off? #53

Open
hampelm opened this issue May 23, 2013 · 4 comments
Open

Should the projector be split off? #53

hampelm opened this issue May 23, 2013 · 4 comments

Comments

@hampelm
Copy link

hampelm commented May 23, 2013

Datasources require nodetiles-core just for the projector. It seems that it would be cleaner to split the projector off and require it in both datasources and core? That way we're not requiring the whole core for each datasource.

@bensheldon
Copy link
Member

Makes sense to me.

Sent from Mailbox for iPad

On Thu, May 23, 2013 at 11:36 AM, Matt Hampel [email protected]
wrote:

Datasources require nodetiles-core just for the projector. It seems that it would be cleaner to split the projector off and require it in both datasources and core? That way we're not requiring the whole core for each datasource.

Reply to this email directly or view it on GitHub:
#53

@Mr0grog
Copy link
Member

Mr0grog commented May 23, 2013

That way we're not requiring the whole core for each datasource.

But you aren't ever going to use a datasource without core around anyway, right? Pulling this out might be nice and tidy, but I don't really see any actual benefit to it.

@bensheldon
Copy link
Member

@rob you may be right. Would there ever be the case in which either scenario would set up a crazy dependency graph, eg: a data source requires a different version of core/projector than the project/core is using. 

​It makes my head hurt to think about, but I'll look at some other projects that do these types of "many small parts that make up a larger system" and see how they deal with dependency issues like this.

On Thu, May 23, 2013 at 4:28 PM, Rob Brackett [email protected]
wrote:

That way we're not requiring the whole core for each datasource.

But you aren't ever going to use a datasource without core around anyway, right? Pulling this out might be nice and tidy, but I don't really see any actual benefit to it.

Reply to this email directly or view it on GitHub:
#53 (comment)

@bensheldon
Copy link
Member

I poked around RailwayJS (now apparently Compound) and they seem to have everything pretty well separated.

I'm on the fence because:

  • the projector has some exposed interfaces that other packages (the datasources) are using, which makes me think it would be good to package/version it separately.
  • BUT, I don't know what the result would be if there were version conflicts between what the package is using and core is using.

Alternative proposal: rather than datasources including core as a dependency, we inject the projector (or all of core?) into the datasource.

Edits: Ruby on the brain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants