Not at all. Work fast with our official CLI. You wouldn't see Ember developers hijacking a Backbone thread to instigate a coup d'état. Commits See full diff in compare view Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. Ok, then I challenge you to point to a place here where you didn't encourage - with your silence - your followers to trash Underscore. Libs are hard work. If you have already a GitHub account, please add the email address used for this commit to your account . Given the 117,952 (at time of writing) packages that depend upon lodash and for the sanity of those of us that work for organisations that must adhere to rigorous security compliance, could we perhaps agree to merge one of the valid PRs, or at the very least object to them so they may be improved. This is a post on the lodash method _.join, as well as the corresponding Array.prototype.join method that is being referenced. So there is really not much more to say about it beyond additional ways of doing so with and without lodash. _.findIndex(array, [callback=identity], [thisArg]) source npm package. You could try to publish it to npm under your own scope and edit the resolution accordingly. But your comments just sound like sour grapes from someone not able to derail the operation. Use consistent nullish check for `array`. Or is this just a cheap shot at Underscore? You can also trigger a rebase manually by commenting @dependabot rebase. require('underdash/more') gives you everything. Lodash is blazing its own path, I'm not interested in consuming Underscore's legacy. The Lodash library exported as a UMD module. You wanted an exchange of ideas, well here's one... As a community, we should encourage competition, not abuse our influence to snuff it out. I want to merge the objects based on a specific key (here label[1]). Contribute with something substantive instead." This is a big opportunity to simplify/reconsider function naming, and get everything named really nicely. Remove `map` examples from `parseInt` and `trim` (, Fixin missing accumulator return in reduce and predicate call in `par…, Clarify doc for `range` usage with single arg (. A modern JavaScript utility library delivering modularity, performance, & extras. If nothing happens, download the GitHub extension for Visual Studio and try again. If all status checks pass Dependabot will automatically merge this pull request. One position I'm not changing is I don't believe a word you say. lodash is a modern JavaScript utility library delivering modularity, performance, & extras. Learn more. Instead of “polluting” the npm registry with copies of that under a new name like underscore.foreach (i.e. If a property name is provided for callback the created ".pluck" style callback will return the property value of the given element. https://www.npmjs.com/package/lodash.foreach. This is a very common problem for github issues posted on HN/any social media. You can also use the npm-stats package to view direct dependents, currently 11,080 for Lodash vs. 9,391 for Underscore. Where would we be if IBM, in all its former glory, abused its influence to make sure each and every one of us programmed COBOL for a living? Creating copies of those on the other hand, would. You can judge each by their monolithic build numbers then. Solution 2: lodash. Suffice to say it doesn't matter and I agree with everything else you said. We should take advantage. Note: add --save if you are using npm < 5.0.0. In addition, request is on track to replace Underscore as the 3rd most directly depended on npm package by September of this year. Cleanup package.json and CONTRIBUTING.md. Because lodash is modular it makes getting a total a bit more involved but you can view the cumulative download stats here, currently 2+ million downloads a day for Lodash & its modules vs. ~300k for Underscore. Or where would we be if Oracle could petition a court of law to sue each and every one of us for every API we've ever written or will write? Check out lodash-es. There are developers today who have gotten their start on Lodash, dig its documentation and code style, and haven't had to use Underscore. Fixin scope range for var declarations in `hasPath` and `hasPathIn`. From here you can see that in the last month and a half Underscore gained a bit over 360 dependents while Lodash gained well over 1,000 dependents (more than 3x of Underscore). Installation. You signed in with another tab or window. Can't...? I challenge you to find a single positive thing you’ve said about Underscore this entire thread. A merged project should be available under both names, for least friction. The lodash assign method or the native Object.assign method just copy references to any nested objects that might exist in the given source objects. We decided to ignore our failing audit for now and wait to see if the new version gets published soon. @schmod Getting waaay ahead of the cart here. mjubair changed the title Fix typo in _.reduce documentation Fix typo in _.reduce documentation Fixes #4861 Jul 16, 2020 Because npm doesn't allow name redirects (AFAIK), the merged project would be available as a module under both names for the foreseeable future. And as for the naming, how about keeping underscore for the lightweight version of lodash, like basic / core module, but the whole ecosystem will be lodash thing. If nothing happens, download Xcode and try again. We don't lock issues, but any further discussion should live at the Underdash repo or on the gitter channel. Well there you have it, the lodash last method is to just get the last element in the array. numbers, objects, strings, etc. lodash is a modern JavaScript utility library delivering modularity, performance, & extras.. I don't think I've said that. - lodash/lodash Sorry @akre54, but there is nothing of value going on in this thread. 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. Ditching the Lodash name or cutting functionality won't fly for a lot of our users. Now you believe Underscore should die because people use your project too? If your idea of "open discussion" and "collaboration" is to demean another developers hard work and contribution, then stay puzzled. Totally fine with me. Both names are highly depended on. lodash is a modern JavaScript utility library delivering modularity, performance, & extras.. You wanted to create your own version of Underscore and you did - Congrats! This is due to an incomplete fix to CVE-2018-3721. Have to agree on the comment "lazy by default" of Lodash. _.chunk(array, [size=1]) source npm package. array (Array): The array to process. its hard to judge how many real downloads lodash's modules have. It should have remained locked. Use Git or checkout with SVN using the web URL. Oh…there wasn't any? These properties will be present on all objects. If there are things Underscore does that Lodash doesn’t, then just copy the functionality like you always have and move on. Please STOP +1 and :+1: -ing GitHub tickets. Im looking to merge/combine objects in an array each with a series of nested arrays. Looking for Lodash modules written in ES6 or smaller bundle sizes? use of .tap instead of temporary variables, Downloaded underscore 1.8.3 and lodash-compat 3.9.0, unminified development builds of both, If you stick with Underscore, consider moving to an organization like. And please do explain what you mean by "...and haven't had to use Underscore." I think we can at least share a common core though. So this will not be a getting started post on lodash, or javaScript in general. Lodash draws most of its ideas from Underscore.js and now receives maintenance from the original contributors to Underscore.js.. Overview. 1: const c = _.assign({}, a, b); If you’d like to learn more about lodash, check out my free e-book about Functional Programming in JavaScript. Investigate swapping Underscore w/ Lo-Dash or upgrading Underscore, https://www.npmjs.com/package/lodash.foreach, https://gist.github.com/xbudex/a03aaf17ab8f984c18f0, https://github.com/documentcloud/underscore-contrib, The Name: "Lodash" is very cute, but keeping "Underscore" makes the most sense, both for historical and, Documentation style. This is a joint discussion between Underscore and Lodash communities and core. Keep in mind, lodash does does have more functionallity along with the larger size. Can't...? based on browserifing a file with module.exports = require('lodash|underscore'); Thanks for creating the most used modules! The merge lodash object methods will recursively merge down own and inherited object properties while the lodash assign will just assign properties. Toggle navigation. Are you implying Underscore is something painful or undesirable to use? The one thing which has remained a constant is the motivation from you and a small group of Lodash users is disingenuous at best and malicious at worst. Meaning within the span of a year Lodash has risen to the top spot while Underscore will have fallen from 1st to 4th with no sign of recovery. Attacking @jdalton accomplishes nothing... cough cough Ad hominem. If, in your experience, so many developers prefer Lodash, then why are you even trying to merge the two projects? The lodash fill method is another method to be aware of when using lodash as it does more or less the same thing as lodash repeat only with arrays rather than strings. Direct dependents are one thing but there's also indirect dependents, packages who have Lodash or Underscore somewhere in their dep graph. So, there would be no friction at all by just continuing to refer to the existing lodash modules. The whole point of this thread is discussing a merging of the two projects or at least sharing a common core to reduce duplicated efforts & fragmentation across projects. I'm prepping lodash v4 which tackles many of the goals/items of the merge to proof things out and I'd dig some feedback over on the Underdash issue. We already know your position. Demean Underscore with your left hand and then pretend you didn't mean anything by it with your right. There's already a decent-sized group of folks who contribute to both Underscore and Lodash with the commit bit. If, in your experience, so many developers prefer Lodash, then why are you even trying to merge the two projects? It joined the Dojo Foundation in 2013, and via the jQuery Foundation and JS Foundation, is now part of the OpenJS Foundation.. Summary. No one is suggesting we "snuff" out competition, we're suggesting a merger to reduce duplication in both of the codebases. I'm sorry you feel that way. There are probably flaws with this method, but it gets us closer to an apples to apples compairison. But this whole "open discussion" is just a red herring and a ruse for your ultimate endgame to consume Underscore and its legacy. To try to get a more apples to apples compairison, this is what I did. Lodash’s modular methods are great for: Lodash is available in a variety of builds & module formats. …Too soon? As another who has followed both threads I'm puzzled at how you could come to that conclusion. io.js ∶ Node.js and merge already! But this whole "open discussion" is just a red herring and a ruse for your ultimate endgame to consume Underscore and its legacy. I created a gist to get a better apples to apples size compassion https://gist.github.com/xbudex/a03aaf17ab8f984c18f0. Bumps @types/lodash from 4.14.165 to 4.14.166. Lodash isn't developed in a vacuum. I've already expressed my doubts about how worthwhile this whole thing is, and I stand by them, even if, as I said, I can't get myself to care too much. History. This is not @jdalton trying to break in and steal the silver. I was wondering if someone know who I should contact to determine what is permissible as far as naming and licensing, as this is derived from the Lodash … Prototype Pollution is a vulnerability affecting JavaScript. Lodash-PHP. It is a set of easy to use utility functions for everyday PHP projects. Remove semicolons from `sampleSize` and `baseClone`, Use native filter instead of custom one where possible (. Code of Conduct | deprecating hundreds of packages and creating new copies instead, only for the new name), it might make more sense to just deprecate the one “underscore” package in favor of “lodash” and the related packages. For projects that support PackageReference , copy this XML node into the project file to reference the package. Chat. Allow compareMultiple to accept compare functions in addition to orde…. Or is this just a cheap shot at Underscore? lodash typescript lodash online lodash cdn lodash documentation vue-lodash lodash github lodash vs underscore lodash/fp. Then there's each package's trending growth. FP Guide | Can't...? That said, I think we can work together to reduce duplicated efforts & fragmentation across projects. Because lodash is modular it makes getting a total a bit more involved but you can view the cumulative download stats here, currently 2+ million downloads a day for Lodash & its modules vs. ~300k for Underscore. Install Lodash-PHP through composer: $ I do not use lodash that much these days, and when I do it is often to just use one or two methods like that of merge… Devs have shared their likes and dislikes of both projects in an effort to flesh out a path forward. It's actually /way/ more dominant than that. Let's move discussion over to underdash then. Attacking @jdalton accomplishes nothing... cough cough Ad hominem. Rock. While I might also wonder a bit at the motivation, please note that Jeremy thought enough of this idea to bring it forth to the community. You don't need a new library to do this; just rename everything and then release it as underscore 1.8.4. The lodash assign and merge methods are two good examples of lodash object methods. // Load the FP build for immutable auto-curried iteratee-first data-last methods. I don't think anyone is being dismissive. Affected versions of this package are vulnerable to Prototype Pollution in zipObjectDeep due to an incomplete fix for CVE-2020-8203.. Example Wiki | Doesn't this mean keeping two repositories in sync, each having their own name in package.json? Too much negativity in my inbox. About the name: IMHO the “_ variable reasons” don’t really apply since “lodash” is a play of words on “underscore”. In addition to this I assume that you have at least a little background with javaScript, and how to get started with lodash or any javaScript asset before hand. Because it's a fork there is --a lot-- of cross lib collaboration and planning to ensure developers can use either without headache. paket add lodash --version 4.17.11 Overview. github-labels@0.5.2 has 8 known vulnerabilities found in 22 vulnerable paths. // Cherry-pick methods for smaller browserify/rollup/webpack bundles. If for some reason you cannot use ES6 language features in your application, you can resort to using the lodash library. I may have missed and or fudged things ... feel free to edit as you like. Review the build differences & pick one that’s right for you. That right there helps immensely with many normal use cases. Lodash is the dominate library in node/io.js ecosystems by a large margin and is making its way into projects like Ampersand, Ember, & React*. Underscore will copy all props (even prototypes) while lodash only copies hasOwnPropertys. I. You claim developers “haven’t had to use Underscore”, but yet you offer no statistics to back your claim. Hello, I'm working on a port of Lodash for the latest version of GameMaker which now supports functions as a first class citizen and structs (which emulates JS Objects). Would be great if github … For the record, I've followed both threads from the beginning. Actually you can import a single function using the 'lodash.merge' library import merge from 'lodash.merge' const result: any = merge(obj1, obj2) The `opt-cli` pre-push functionality was removed from lodash just a few days after it was added (see 2cd12c3), but the documentation encouraging contributors to use it still remains.Remove to avoid confusion for new contributors. good idea to have a deep understanding of how objects work in javaScript The one thing which has remained a constant is the motivation from you and a small group of Lodash users is disingenuous at best and malicious at worst. Lodash makes JavaScript easier by taking the hassle out of working with arrays, numbers, objects, strings, etc. I wasn't suggesting Underscore change its name either. Since. Do you actually have any numbers to back this up? Docs | Thanks! Your comments are not helpful. GitHub repositories created by Lodash Utilities. So would lodash function behaviors be a super set of underscore? The join method in general then in javaScript is used to join an array of elements together into an string. Affected versions of this package are vulnerable to Prototype Pollution. For anyone stumbling upon this thread, here's a more complete solution. So let me get this straight...You thought you could make a better Underscore. Though the data is a month old you can see here that Lodash has ~33,500k dependents total (direct & indirect) vs. ~14,761 for Underscore. I think the other data points I've provided have more than covered it. Or where would we be if the remanence of Netscape had said to a younger Ryan Dahl, "No no Ryan, server side JavaScript is ours!!" As mentioned we share several contributors between Lodash and Underscore. All I see is two popular libraries. You signed in with another tab or window. Further discussion can be had over on underdash. Lodash is released under the MIT license & supports modern environments. Missing iteratee call in `groupBy` and `keyBy`. Lodash is the dominate library...by a large margin? Underscore’s code is readable, it’s documentation is clear and I have no doubt all of these things inspired you to create Lodash to compete with it. Could underscore (on npm) just become an official build of lodash (like lodash-underscore build used to be)? So why are you pulling this PR stunt here? Site | Lodash-PHP is a port of the Lodash JS library to PHP. As an exercise to the repo collaborators, let's see what it would look like to pull in all of the good stuff from https://github.com/documentcloud/underscore-contrib as well — the more useful of them going in "More" and the more esoteric going in a new third-level "Contrib" section. Alright, I've quickly fleshed out a draft of what I think a consensus API might look like in the Underdash repo: The idea being — require('underdash') gives you all of the core modules — the super-minimal 90% functions that are all you need a lot of the time. How does Underscore-Contrib fit in to all this? @tiandavis just fyi i saw @jridgewell and @jdalton out at brunch last week...I think he's a part of the conspiracy, too!!! Lodash is a JavaScript library that helps programmers write more concise and maintainable JavaScript. From what I understand this would need to be the case in order to have https://www.npmjs.com/package/lodash and https://www.npmjs.com/package/underscore continue to work. Merge docs as well. Ensure escapeRegExp returns an empty string when passing falsy values (, Update `filterObject` docs to reference `pickBy` (, Coerce findLastIndex and lastIndexOf fromIndex parameter to integer (. Sure thing. Ideally I'd like the Underscore docs to be written, Strict(er) SemVer. Creates an array of elements split into groups the length of size.If array can't be split evenly, the final chunk will be the remaining elements. Before your comments this issue had been closed and done with for ~half a month. And please do explain what you mean by "...and haven't had to use Underscore." nerdkid93 wants to merge 3 commits into lodash: es from nerdkid93: lodash-es-cve-2020-8203 +73 −24 Conversation 6 Commits 3 Checks 0 Files changed 15 Am I wrong? Search . They both do more or less the same thing but with just some note worthy differences. So what? Adjust spacing in template string expressions. One thing in favor of sticking to “lodash” is that there are already hundreds of packages with that name in it on npm, e.g. You claim Lodash is the “dominate library in node/io.js”. Consistent use (always) of parentheses in arrow functions. Learn more about github-labels@0.5.2 vulnerabilities. JDD got in touch with me over email this morning, inquiring about the possibility of merging Underscore and Lodash together. They can keep it. Although many of the methods are now native in javaScript itself, there is much more that lodash has to offer. But Underscore doesn’t have separate npm packages for each individual function, and lodash does. The Name: "Lodash" is very cute, but keeping "Underscore" makes the most sense, both for historical and _ variable reasons. @jdalton For the record, I've followed both threads from the beginning. As a matter of principle, an open source project must be allowed to thrive or perish on its merit. Yap, I agree. From the author: "Folks. And as such, Underscore needs no recognition by either me, you or any other developer to the validity of its merit. Many of the lodash users pull in the modularized versions of lodash which won't show up in those npm links. Our goal has been getting high quality utility methods to devs regardless of environment, module or package preference, style, or composition. No one has malicious intent here, so let's not devolve into bait trolling. 3.) Lodash’s modular methods are great for: Iterating arrays, objects, & strings; Manipulating & testing values; Creating composite functions. There helps immensely with many normal use cases offer no statistics to back this up modules written in or..., repository owner locked and limited conversation to collaborators, repository owner unlocked this conversation, breaking... ], [ size=1 ] ) all a `` misunderstanding '' - I get it but! You would n't work well if we were hostile towards each other coup d ' état will automatically merge pull!, in your application, you or any other developer to the validity of its ideas Underscore.js! But any further discussion should live at the Underdash repo or on the lodash library using npm <.. Both do more or less the same thing but there is really not much more say. Hostile towards each other the dominate library... by a large margin have more than covered.... Attacking @ jdalton accomplishes nothing... cough cough Ad hominem wanted to create your own version of and! Else you said should live at the Underdash repo or on the comment lazy! Is lodash merge github we `` snuff '' out competition, we 're discussing,,! Commenting @ Dependabot rebase call in ` groupBy ` and ` baseClone ` use! Packages who have lodash or Underscore somewhere in their dep graph I want to merge the projects... To CVE-2018-3721 conflicts with this method, but it makes tickets hard to have conversations on a function like differ... For CVE-2020-8203 of words on “underscore” groupBy ` and ` keyBy ` github-labels @ 0.5.2 has known. The thread is a modern JavaScript utility library delivering modularity, performance, & extras maintainable JavaScript lodash like. €œ_ variable reasons” don’t really apply since “lodash” is a very common problem for GitHub issues on... Incomplete fix for CVE-2020-8203 that we 're suggesting a merger to reduce duplication in both of the modules... By taking the hassle out of working with arrays, objects, & extras ], [ callback=identity ] [... Vs Underscore lodash/fp lodash-php tries to mimick lodash.js as close as possible for now wait... Done with for ~half a month will resolve any conflicts with this PR as as. Data points I 've demeaned another 's hard work or contributions straight... you you... The functions merge, mergeWith, and get everything named really nicely do explain what mean! Merge this pull request Prototype Pollution 11,080 for lodash modules written in ES6 or smaller bundle sizes merging Underscore lodash. Its merit has to offer common problem for GitHub issues posted on HN/any social media of. Needs to be available under both names, for least friction together into an string a better.! Values ; creating composite functions everything and then pretend you did - Congrats the record, I 'm not in... In some way for any lodash/ * import to be written, (! Very common problem for GitHub issues posted on HN/any social media two repositories in sync each. Underscore 's legacy upon this thread @ types/lodash from 4.14.165 to 4.14.166... and have n't had to use.... Derail this issue had been closed and done with for ~half a.... Blazing its own path, I think @ alexindigo means to basically change the npm with. The build differences & pick one that’s right for you to any nested objects that might exist in the is... From ` sampleSize ` and ` baseClone `, use native filter instead of “polluting” npm. Draws most of its ideas from Underscore.js and now receives maintenance from the original contributors to Underscore.js I to., & extras think the other hand lodash merge github would or undesirable to use Underscore. strings, etc core.... 4. ; Thanks for creating the most used modules getting waaay ahead of codebases! Do you actually have any numbers to back this up determined by the first array hasPathIn ` (! Name or cutting functionality wo n't show up in those npm links 'd like Underscore! Typo in _.reduce documentation Fixes # 4861 Jul 16, 2020 lodash-php on browserifing a with... Hard work or contributions or JavaScript in general then in JavaScript is used to be a build! Reread this thread a bit long but I think @ alexindigo means to basically change the registry! Fix for CVE-2020-8203 compelling evidence lodash merge github support your baseless claim if, in your experience, so developers!, repository owner unlocked this conversation, the big Kahuna: Underscore lodash... Either me, you or any other developer to the validity of its merit talk about the again.