| 13 Nov 2023 |
@keiichi:matrix.org | dontNpmPrune "fixed" the build ty for help I hope this helps improving the understanding of npm xD | 17:30:03 |
Lily Foster | i'm trying to root out the bug now | 17:33:18 |
Lily Foster | in npm | 17:33:20 |
Lily Foster | which upstream will invariably ignore a PR for but oh well | 17:33:28 |
Lily Foster | okay so npm is actually just removing the cache value from npmrc? | 17:39:14 |
Lily Foster | what the hell? | 17:39:15 |
Lily Foster | oh we actually remove that | 17:39:50 |
Lily Foster | in the hook | 17:39:51 |
Lily Foster | the bugs are coming from inside the nixpkgs | 17:39:56 |
Lily Foster | okay | 17:39:57 |
Lily Foster | well give me a bit and i'll be able to have a "fix" for that | 17:40:10 |
Lily Foster | (it is probably bug on our end, but npm still shouldn't be trying to re-reify stuff regardless when pruning) | 17:40:25 |
Lily Foster | * (it is probably partly a bug on our end, but npm still shouldn't be trying to re-reify stuff regardless when pruning) | 17:40:35 |
Lily Foster | teto: can you try from github:lilyinstarlight/nixpkgs/fix/npm-pack-shenanigans and see if that works without compromising prune? | 17:44:51 |
@keiichi:matrix.org | awesome. There is no hurry on my side since dontNpmPrune works well. Now there is one question I've asked on the discourse without any answer is how people work with typescript on nix ? I had solved it with dream2nix but with the rewrite I stopped using it and I would like to use buildNpmPackage since it works reasonably well. Usually in my shellHook, I export NODE_PATH=${drvBuiltBy_buildNpmPackage}/lib/node_modules but typescript ignores NODE_PATH I believe so I end with TSError: ⨯ Unable to compile TypeScript: and index.ts(1,25): error TS2307: Cannot find module '@pulumi/pulumi' or its corresponding type declarations. | 17:45:42 |
@keiichi:matrix.org | I'll have to merge that in my own nixpkgs. Gotta do some shopping before it closes than I try ty ! | 17:46:29 |
Lily Foster | In reply to @keiichi:matrix.org awesome. There is no hurry on my side since dontNpmPrune works well. Now there is one question I've asked on the discourse without any answer is how people work with typescript on nix ? I had solved it with dream2nix but with the rewrite I stopped using it and I would like to use buildNpmPackage since it works reasonably well. Usually in my shellHook, I export NODE_PATH=${drvBuiltBy_buildNpmPackage}/lib/node_modules but typescript ignores NODE_PATH I believe so I end with TSError: ⨯ Unable to compile TypeScript: and index.ts(1,25): error TS2307: Cannot find module '@pulumi/pulumi' or its corresponding type declarations. It should "just work" for the most part. Is there a reproducer on the discourse post? (feel free to tag me on those btw, i don't watch discourse super closely) | 17:46:33 |
Lily Foster | In reply to @keiichi:matrix.org I'll have to merge that in my own nixpkgs. Gotta do some shopping before it closes than I try ty ! okay, sounds good! let me know when you try it | 17:46:49 |
Lily Foster | (i did just try it with the derivation and package{,-lock}.json files you posted above and it does seem to work with the above patch. i will PR it imminently but i'm gonna see if i can convince someone to merge https://github.com/NixOS/nixpkgs/pull/254420 first so i don't have to worry about merge conflicts since they both modify the same line) | 18:01:35 |
@keiichi:matrix.org | Lily Foster: I've just tested it and it fixed it \o/ | 20:21:28 |
@keiichi:matrix.org | just found my initial post, still valid https://discourse.nixos.org/t/help-typescript-to-find-modules/26851 | 21:06:33 |
@ambroisie:belanyi.fr | Hey 👋 Does anyone here with more knowledge about our JS build helpers know why I need to do the whole dance with substituteAll in this MR, or rather if there's a better fix? The vite.config.ts for reference, which sets up a bunch of file copies which fail if I don't fix the paths | 22:48:59 |
Lily Foster | In reply to @ambroisie:belanyi.fr Hey 👋 Does anyone here with more knowledge about our JS build helpers know why I need to do the whole dance with substituteAll in this MR, or rather if there's a better fix? The vite.config.ts for reference, which sets up a bunch of file copies which fail if I don't fix the paths yarn2nix does weird stuff but idk why exactly you're needing that here. i doubt there's a better fix than that though | 22:51:05 |
Lily Foster | (i still want to yeet yarn2nix into the abyss at some point once we have mature and modern yarn tooling) | 22:51:34 |
@ambroisie:belanyi.fr | I'm just waiting for buildPnpmPackage for this specific package, we're really in a https://xkcd.com/2347/ there for now | 22:52:32 |
@ambroisie:belanyi.fr | Anyways, thanks for the confirmation 👍️ | 22:53:00 |
Lily Foster | i'm getting motivation to make it since the more i look at pnpm, the less hellish it seems | 22:53:10 |
@ambroisie:belanyi.fr | * I'm just waiting for buildPnpmPackage for this specific package, we're really in a https://xkcd.com/2347/ situation there for now | 22:53:14 |
Lily Foster | which the same cannot have been said for npm | 22:53:15 |
@ambroisie:belanyi.fr | I've been out of cycles lately to properly shave the yak, but yeah recent discussions on that issue have been very promising | 22:53:55 |