-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Closed
Labels
Description
Dear Everyone,
JDD got in touch with me over email this morning, inquiring about the possibility of merging Underscore and Lodash together. I think it's high time to talk about the possibility again.
Some initial points for discussion:
- The Name: "Lodash" is very cute, but keeping "Underscore" makes the most sense, both for historical and
_
variable reasons. Because npm doesn't allow name redirects (AFAIK), the merged project would be available as a module under both names for the foreseeable future. - Lodash is currently > 12k lines of code, and Underscore is 1.5k. I understand that part of that is JSDoc noise, but it still seems potentially problematic and worth talking about.
- Documentation style. Ideally I'd like the Underscore docs to be written even more conversationally than they are at the moment.
- We should keep nicely annotated source code as a priority.
- And then the actual main work — I'm not familiar with the Lodash codebase. What parts of it do folks have objections to merging? What might not fit in well within a merged Underscore umbrella? Anything? Maybe not?
Edits in response to comments below:
- Strict(er) SemVer. Totally fine with me. I'm still of the opinion that true believer SemVer isn't something that actually exists in the real world (most changes are subtly backwards-incompatible in minor ways), but I have no problem praying to this golden cow to keep the philistines happy ;)
- "Governance Model": I don't think we need anything fancy here. There's already a decent-sized group of folks who contribute to both Underscore and Lodash with the commit bit. They can keep it. I do think we'd need a clear mission statement about the spirit of what the library should be. Utility libraries have a tendency to grow to include the kitchen sink, and the more we can successfully keep things focused, the better.
_(obj)
wrapper chains lazily by default. (Breaking change). Sounds fine to me.- How does Underscore-Contrib fit in to all this?
- Folks. Please STOP +1-ing, 👍 -ing and meme-ing GitHub tickets. We get it, but it makes tickets hard to have conversations on. Contribute with something substantive instead.
Although it would be nice to keep the bulk of the discussion here ... there's also a Contributors-only cross-thread here: #2184