I've been putting my mind to trying to figure out the mess of craziness that is lodash with the aim up updating it... There are basically two upstream repos I believe:
https://github.com/lodash/lodash-cli - the build tool https://github.com/lodash - the actual source
Currently have three source packages:
nodejs-lodash-cli - generates nodejs-lodash-cli nodejs-lodash - generates nodejs-lodash nodejs-lodash-node - generates many packages
It's very dubious to what extent the sources those packages are using are the genuine root source though.
The basic story upstream is that the main lodash repo has a build script that can generate a lodash.js single file build and the lodash tool in the lodash-cli repo can then generate all sorts of different builds of lodash from that.
Except that lodash-cli is a node program that does require("lodash") but the may the lodash npm is build is to use the lodash command line tool so that's all a bit circular.
My feeling is that we should move to a single source package that uses both the upstream repos as sources. The strategy would then be something like this:
cd lodash node lib/main/build.js [generates dist/lodash.js] cd ../lodash-cli mkdir node_modules ln -s ../../lodash/dist/lodash.js node_modules lodash modularize modern exports=node -o nodejs-lodash
and then a serious of further lodash commands to generate the different builds.
It could then spit out a number of different RPMs corresponding to the many different versions that the lodash project publish to the npm registry and also some js- versions if we wanted.
My gut feeling is we should all three current source packages and create a new one just called lodash that can spit out whatever node and non-node ones we need but we could also repurpose the existing nodejs-lodash package as the source.
So, what do people think?
Tom
On Sat, Nov 14, 2015 at 10:50 AM, Tom Hughes tom@compton.nu wrote:
So, what do people think?
Sounds reasonable to me.
-- Jared Smith
On 16/11/15 16:46, Jared K. Smith wrote:
On Sat, Nov 14, 2015 at 10:50 AM, Tom Hughes <tom@compton.nu mailto:tom@compton.nu> wrote:
So, what do people think?
Sounds reasonable to me.
I've knocked up a prototype now:
https://tomh.fedorapeople.org/lodash.spec https://tomh.fedorapeople.org/lodash-3.10.1-1.fc23.src.rpm
The precise details are slightly different than I described because I was looking at the current head not the 3.10.1 release when I wrote that.
The .travis.yml seems to be the most reliable way I can find of figuring out how upstream bootstraps it...
Tom
On 17/11/15 19:30, Tom Hughes wrote:
On 16/11/15 16:46, Jared K. Smith wrote:
On Sat, Nov 14, 2015 at 10:50 AM, Tom Hughes <tom@compton.nu mailto:tom@compton.nu> wrote:
So, what do people think?
Sounds reasonable to me.
I've knocked up a prototype now:
https://tomh.fedorapeople.org/lodash.spec https://tomh.fedorapeople.org/lodash-3.10.1-1.fc23.src.rpm
The precise details are slightly different than I described because I was looking at the current head not the 3.10.1 release when I wrote that.
So this has now become rather more urgent because Jared uploaded a new version of nodejs-argparse last night requires lodash 3 and, judging by the test failures, it really does need it and can't be fixdeped.
Jamie - as you're the owner of nodejs-lodash (the only one of the three existing packages that isn't mine) do you have any objection to this plan?
Tom
On Sat, Dec 5, 2015 at 2:50 AM, Tom Hughes tom@compton.nu wrote:
So this has now become rather more urgent because Jared uploaded a new version of nodejs-argparse last night requires lodash 3 and, judging by the test failures, it really does need it and can't be fixdeped.
I apologize for pushing out the updated nodejs-argparse package last night without thoroughly checking the updated requirements. I'll be more careful next time.
-- Jared Smith
On 05/12/15 07:50, Tom Hughes wrote:
I've knocked up a prototype now:
https://tomh.fedorapeople.org/lodash.spec https://tomh.fedorapeople.org/lodash-3.10.1-1.fc23.src.rpm
The precise details are slightly different than I described because I was looking at the current head not the 3.10.1 release when I wrote that.
So this has now become rather more urgent because Jared uploaded a new version of nodejs-argparse last night requires lodash 3 and, judging by the test failures, it really does need it and can't be fixdeped.
Jamie - as you're the owner of nodejs-lodash (the only one of the three existing packages that isn't mine) do you have any objection to this plan?
I have no objections at all. Thanks for your hard work! :-)
Kind regards, Jamie
On 06/12/15 13:52, Jamie Nguyen wrote:
On 05/12/15 07:50, Tom Hughes wrote:
I've knocked up a prototype now:
https://tomh.fedorapeople.org/lodash.spec https://tomh.fedorapeople.org/lodash-3.10.1-1.fc23.src.rpm
The precise details are slightly different than I described because I was looking at the current head not the 3.10.1 release when I wrote that.
So this has now become rather more urgent because Jared uploaded a new version of nodejs-argparse last night requires lodash 3 and, judging by the test failures, it really does need it and can't be fixdeped.
Jamie - as you're the owner of nodejs-lodash (the only one of the three existing packages that isn't mine) do you have any objection to this plan?
I have no objections at all. Thanks for your hard work! :-)
I've opened https://bugzilla.redhat.com/show_bug.cgi?id=1288858 for this now.
Tom
Do I understand it correctly, that whenever I'll need a lodash.something dependency, I'll just need to require lodash package?
----- Original Message ----- From: "Tom Hughes" tom@compton.nu To: "Node.js on Fedora" nodejs@lists.fedoraproject.org Sent: Sunday, December 6, 2015 6:13:33 PM Subject: Re: lodash
On 06/12/15 13:52, Jamie Nguyen wrote:
On 05/12/15 07:50, Tom Hughes wrote:
I've knocked up a prototype now:
https://tomh.fedorapeople.org/lodash.spec https://tomh.fedorapeople.org/lodash-3.10.1-1.fc23.src.rpm
The precise details are slightly different than I described because I was looking at the current head not the 3.10.1 release when I wrote that.
So this has now become rather more urgent because Jared uploaded a new version of nodejs-argparse last night requires lodash 3 and, judging by the test failures, it really does need it and can't be fixdeped.
Jamie - as you're the owner of nodejs-lodash (the only one of the three existing packages that isn't mine) do you have any objection to this plan?
I have no objections at all. Thanks for your hard work! :-)
I've opened https://bugzilla.redhat.com/show_bug.cgi?id=1288858 for this now.
Tom
On 07/12/15 13:41, Zuzana Svetlikova wrote:
Do I understand it correctly, that whenever I'll need a lodash.something dependency, I'll just need to require lodash package?
If it's a lodash.component dependency then you will want:
BuildRequires: npm(lodash.component)
which will pull in nodejs-lodash-component to provide it.
But basically if you always use npm(xxx) for requires then you should always get the right thing.
Tom
On 06/12/15 17:13, Tom Hughes wrote:
Jamie - as you're the owner of nodejs-lodash (the only one of the three existing packages that isn't mine) do you have any objection to this plan?
I have no objections at all. Thanks for your hard work! :-)
I've opened https://bugzilla.redhat.com/show_bug.cgi?id=1288858 for this now.
This is now built in rawhide and I have retired nodejs-lodash-cli and and nodejs-lodash-node.
I don't seem to be able to complete the retirement of nodejs-lodash tough so I thin you will need to do it Jamie. This is what you should need to do:
pkgdb-cli orphan --retire nodejs-lodash master
Tom
On 14/12/15 20:32, Tom Hughes wrote:
This is now built in rawhide and I have retired nodejs-lodash-cli and and nodejs-lodash-node.
I don't seem to be able to complete the retirement of nodejs-lodash tough so I thin you will need to do it Jamie. This is what you should need to do:
pkgdb-cli orphan --retire nodejs-lodash master
Done!
Kind regards, Jamie
nodejs@lists.fedoraproject.org