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

Split the repo into several dependencies #4822

Open
GuillaumeAmat opened this issue Feb 20, 2018 · 10 comments
Open

Split the repo into several dependencies #4822

GuillaumeAmat opened this issue Feb 20, 2018 · 10 comments
Labels
chore Improvements to the iD development experience or codebase iD v3 Ideas and issues for the next major iD version
Milestone

Comments

@GuillaumeAmat
Copy link

Hi there!

As web developers committed into the osm world for several years, my friends and I would like to discuss about the architecture of the iD repository.

Our first concern is the reusability of the code. You all did an amazing work on that tool but it is self-contained and unusable in other projects.

Eg: the osm module, the data sources, etc.

Can you consider to split the main repo into several targeted repos to able us to use it as dependencies in our projects and in iD?

That way we could all contribute to the same data and code rather than duplicate efforts...

Can't wait to read you ;)

@bhousel
Copy link
Member

bhousel commented Feb 20, 2018

This is a great idea, and I'd like to do this too whenever we make an iD v3. Hope you understand that it's a low priority right now, below shipping features that matter to our users.

@kepta had started some work on this, but it's a hard problem. Many of the components of iD depend on each other, so although we have the code organized into modules, they aren't really separate.

In the meantime, you can require iD in another project as a dependency and use the pieces of it that we export. A bundler like Rollup.js should be able to include only the parts of iD that you are using.

A really simple and silly example of this is id-area-keys, which depends on all of iD just to import a single .json file and process it.

@bhousel bhousel added the bluesky Bluesky issues are extra challenging - this might take a while or be impossible label Feb 20, 2018
@kepta
Copy link
Collaborator

kepta commented Feb 20, 2018

I managed to extract the id-presets part, you can find the repository here. Please note it is experimental, but all the test cases from the main iD work.

@GuillaumeAmat
Copy link
Author

@bhousel I totally understand the low priority. In the meantime, we have started a new project for our needs and will use your advice thank you ;)

@bhousel
Copy link
Member

bhousel commented Feb 21, 2018

@bhousel I totally understand the low priority. In the meantime, we have started a new project for our needs and will use your advice thank you ;)

Sure- by the way do you want to move your projects into the osmlab organization? It might be more visible that way, and I'm happy to grant you access to do that.

@GuillaumeAmat
Copy link
Author

Great! Would you accept to add the 2 other repositories of the organization too? I'm talking about osmose-request et leaflet-nectarivore (wip).

What's the policy of osmlab?

@pnorman
Copy link
Contributor

pnorman commented Feb 24, 2018

https://gist.github.com/tmcw/5157262 is the osmlab policy.

Basically, it's like SVN used to be - no real ownership, but you probably want to talk to others active in a repo before merging stuff. If you have a project with a strong notion of maintainers, it's not the right place, but if you're releasing something out there to the development community, it's a reasonable option.

@GuillaumeAmat
Copy link
Author

'kay thank you @pnorman. It seems that it fits with our needs. Can you add me to the organization?

cc @bhousel @kepta

@bhousel
Copy link
Member

bhousel commented Feb 24, 2018

ok @GuillaumeAmat you should have an invite waiting for you 👍

@GuillaumeAmat
Copy link
Author

Got it! Thanks ;)

@bhousel bhousel added the iD v3 Ideas and issues for the next major iD version label Mar 3, 2018
@quincylvania quincylvania added this to the 3.0.0 milestone Jul 16, 2019
@quincylvania quincylvania added chore Improvements to the iD development experience or codebase and removed bluesky Bluesky issues are extra challenging - this might take a while or be impossible labels Jul 16, 2019
@quincylvania
Copy link
Collaborator

Part of #6483.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Improvements to the iD development experience or codebase iD v3 Ideas and issues for the next major iD version
Projects
None yet
Development

No branches or pull requests

5 participants