!NhAsaYbbgmzHtXTPQJ:funklause.de

Nix NodeJS

187 Members
55 Servers

Load older messages


SenderMessageTime
18 Nov 2025
@robert:funklause.dedotlambda
In reply to @pyrox:pyrox.dev
theres a lot of packages that dont have lockfiles and thats why they haven't been repackaged
There are plenty of packages with censored lock files. So that shouldn't have stopped people from repackaging
06:54:51
@pyrox:pyrox.devdish [Fox/It/She] true, but I do not want every package still in nodePackages to be repackaged with an in-tree lockfile. Then we end up with a worse version of how it was before I started doing my debloat work, where we have megabytes and megabytes of generated inscrutible lockfiles in-tree. We need a better solution than vendoring, and until one is implemented, I do not want to package projects that do not wish to follow current best-practices 07:02:13
@pyrox:pyrox.devdish [Fox/It/She]Hell, I've been working to remove those vendored lockfiles where I can, because they are in many cases solutions to problems that don't exist, or a symptom of using old tooling(such as mkYarnPackage) where using new tooling allows getting rid of giant vendored lockfiles and helps decrease nixpkgs' bloat(ref: #327064)07:04:04
@pyrox:pyrox.devdish [Fox/It/She]Let's consider how tomodachi94 mentioned above that awesome-lint's lockfile was 307Kb when generated. Considering how there are 44 packages in nodePackages on the master branch right now, if we moved all of those out and they all had the exact same lockfile size, that would be 13.5Mb of lockfiles. While yes, some would be larger and some would be smaller, my point is that this is a gigantic amount of generated data that does nothing but increase the download size of the nixpkgs tarball too much proportional to the amount of packages it adds to the set. Also, just 3 of those lockfiles would equal the entire 44-package set size right now on my reduced branch, and 10 would be the same size as the nodePackages set at its largest(when it had way over 100 packages!). Considering that, its frankly better to keep packages in nodePackages if the alternative is vendoring a lockfile, but my opinion is to just drop any that do not have a lockfile if upstream rejects having one.07:16:11
@pyrox:pyrox.devdish [Fox/It/She]Hope that makes sense, and sorry for the ramble07:16:17
@pyrox:pyrox.devdish [Fox/It/She]* Let's consider how tomodachi94 mentioned above that awesome-lint's lockfile was 307Kb when generated. Considering how there are 44 packages in nodePackages on the master branch right now, if we moved all of those out and they all had the exact same lockfile size, that would be 13.5Mb of lockfiles. While yes, some would be larger and some would be smaller, my point is that this is a gigantic amount of generated data that does nothing but increase the download size of the nixpkgs tarball too much proportional to the amount of packages it adds to the set. Also, just 3 of those lockfiles would equal the entire 37-package set size right now on my sindresorhus removal branch, and 10 would be the same size as the nodePackages set at its largest(when it had way over 100 packages!). Considering that, its frankly better to keep packages in nodePackages if the alternative is vendoring a lockfile, but my opinion is to just drop any that do not have a lockfile if upstream rejects having one.07:21:04
@robert:funklause.dedotlambdaI totally agree. I was only arguing in favor of removal, not in favor of vendoring more lock files07:41:08
@c0ba1t:matrix.orgCobalt Regarding the earlier discussion of lockfiles, how feasible would it be to extend the existing tooling for importNpmLock to pnpm? 11:46:41
@c0ba1t:matrix.orgCobalt I might be looking at having to support pnpm soon-ish and would rather write some rust then go back to FODs 11:46:41
@fugi:fugi.devLyn changed their display name from Fugi to Lyn.13:37:46
@pyrox:pyrox.devdish [Fox/It/She]I'd rather extend prefetch-npm-deps since that's the tooling used with buildNpmPackage17:26:12
@pyrox:pyrox.devdish [Fox/It/She]and that doesn't require importing and parsing lockfiles17:26:20
@pyrox:pyrox.devdish [Fox/It/She]though you mention rust so I assume you mean prefetch-npm-deps17:26:38
@c0ba1t:matrix.orgCobalt I'm not too sure what's used under the hood. Iirc didn't rust tooling power the lockfile parsing for importNpmLock? 17:27:18
@c0ba1t:matrix.orgCobaltOne of my primary goals was avoiding FOD, I. E., npmDepsHash and friends in favor of using the lockfile. And also disaggregating dependencies17:28:49
@pyrox:pyrox.devdish [Fox/It/She]why would you want to do that? The main benefit of using a FOD is that we avoid a decently large performance penalty associated with having to parse all the lockfiles17:30:48
@pyrox:pyrox.devdish [Fox/It/She]* why would you want to do that? The main benefit of using a FOD is that we avoid a decently large performance penalty associated with having to parse lockfiles17:30:52
@pyrox:pyrox.devdish [Fox/It/She]also importNpmLock and not using FODs requires IFD or vendoring the lockfile iirc since you need the package-lock.json to be able to be parsed17:32:53
@pyrox:pyrox.devdish [Fox/It/She]so since it requires vendoring... I'm against it17:33:08
@pyrox:pyrox.devdish [Fox/It/She]* so if it requires vendoring... I'm against it17:33:43
@c0ba1t:matrix.orgCobalt It doesn't actually require vendoring, sometimes lockfiles need some hashes fixed but that's it (and there's an script packaged in nixpkgs for this) 17:35:49
@pyrox:pyrox.devdish [Fox/It/She]that's good! good to know17:36:21
@pyrox:pyrox.devdish [Fox/It/She]but why do you want to avoid fods here? I still don't understand that17:36:37
@c0ba1t:matrix.orgCobaltMore cumbersome to update,17:37:21
@c0ba1t:matrix.orgCobaltAnd aggregated npm deps17:37:29
@pyrox:pyrox.devdish [Fox/It/She]i mean if you're using npmDepsHash then nix-update takes care of it automatically17:37:55
@pyrox:pyrox.devdish [Fox/It/She]the aggregated npm deps.. you mean doing like one derivation per node_module?17:38:12
@pyrox:pyrox.devdish [Fox/It/She]* the aggregated npm deps.. you mean doing like one derivation per node_modules package?17:38:50
@c0ba1t:matrix.orgCobaltYes, that's roughly what it produces for. It reduces downloads from npm a lot17:39:19
@pyrox:pyrox.devdish [Fox/It/She]that definitely sounds good from a reducing bloat perspective17:39:46

Show newer messages


Back to Room ListRoom Version: 6