!NhAsaYbbgmzHtXTPQJ:funklause.de

Nix NodeJS

198 Members
56 Servers

Load older messages


SenderMessageTime
3 Jan 2024
@janne.hess:helsinki-systems.de@janne.hess:helsinki-systems.de
In reply to @lily:lily.flowers
buildNpmPackage sets up both node gyp and node header location in the config hook
ah damn it, I'm not using that :/ Is there a hook I can pull in?
13:32:36
@lily:lily.flowersLily Foster npmHooks.npmConfigHook 13:32:51
@lily:lily.flowersLily Fosterif it's just a standard mkDerivation13:33:04
@lily:lily.flowersLily Fosterthat'll handle getting and building all deps13:33:13
@lily:lily.flowersLily Foster make sure you have a npmDeps = fetchNpmDeps { ... } too 13:33:26
@janne.hess:helsinki-systems.de@janne.hess:helsinki-systems.deI can try, thank you :) I'm currently using a custom FOD because I have to use an awful stack of yarn berry, nextjs, turborepo, …13:34:53
@lily:lily.flowersLily Fosteroh13:35:18
@lily:lily.flowersLily Fosteruhh13:35:19
@lily:lily.flowersLily Fosteryou'll need to actually manually configure npm then unless we added an escape hatch to only have the hook do npm setup and not do dep build13:35:45
@janne.hess:helsinki-systems.de@janne.hess:helsinki-systems.deCouldn't I also move the files in the FOD around so it's compatible with what fetchNpmDeps returns?13:36:23
@lily:lily.flowersLily Fosterhere's the magic for that part: https://github.com/NixOS/nixpkgs/blob/d120d3076257ce88d0c35e61b729dcb55c88c642/pkgs/build-support/node/build-npm-package/hooks/npm-config-hook.sh#L17-L1813:36:53
@lily:lily.flowersLily Foster
In reply to @janne.hess:helsinki-systems.de
Couldn't I also move the files in the FOD around so it's compatible with what fetchNpmDeps returns?
doubtful if it's a yarn FOD
13:36:59
@lily:lily.flowersLily Fosteryarn doesn't do dep trees the same. and npm won't work to build deps without a npm lockfile anyway13:37:24
@janne.hess:helsinki-systems.de@janne.hess:helsinki-systems.de
In reply to @lily:lily.flowers
yarn doesn't do dep trees the same. and npm won't work to build deps without a npm lockfile anyway
yeah I just figured that out :/
13:38:27
@lily:lily.flowersLily Foster
In reply to @lily:lily.flowers
here's the magic for that part: https://github.com/NixOS/nixpkgs/blob/d120d3076257ce88d0c35e61b729dcb55c88c642/pkgs/build-support/node/build-npm-package/hooks/npm-config-hook.sh#L17-L18
and here's where those two get defined: https://github.com/NixOS/nixpkgs/blob/d120d3076257ce88d0c35e61b729dcb55c88c642/pkgs/build-support/node/build-npm-package/hooks/default.nix#L17-L18
13:38:47
@lily:lily.flowersLily Foster * and here's where those two get defined: https://github.com/NixOS/nixpkgs/blob/d120d3076257ce88d0c35e61b729dcb55c88c642/pkgs/build-support/node/build-npm-package/hooks/default.nix#L17-L18 13:38:56
@lily:lily.flowersLily Fosterif you define them similarly it should work13:39:03
@janne.hess:helsinki-systems.de@janne.hess:helsinki-systems.de

so this?

export NIX_NODEJS_BUILDNPMPACKAGE=1
export npm_config_node_gyp="${nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js";

13:40:38
@lily:lily.flowersLily Fosternot the buildNpmpackage part13:40:51
@lily:lily.flowersLily Fosterprobably13:40:54
@lily:lily.flowersLily Fosterit's not actually using npm, right?13:41:07
@janne.hess:helsinki-systems.de@janne.hess:helsinki-systems.deI hope not13:41:22
@lily:lily.flowersLily Fosterand you do need nodedir too13:41:31
@janne.hess:helsinki-systems.de@janne.hess:helsinki-systems.deI had another package recently that needed yarn, npm and node13:41:34
@lily:lily.flowersLily Foster
In reply to @janne.hess:helsinki-systems.de
I hope not
(that var just activates a sleeper agent we installed in npm to fix some of its broken behavior and inject vars when their fetcher lib re-execs the entirety of npm for git deps........)
13:42:17
@lily:lily.flowersLily Foster
In reply to @lily:lily.flowers
(that var just activates a sleeper agent we installed in npm to fix some of its broken behavior and inject vars when their fetcher lib re-execs the entirety of npm for git deps........)
(their coherence model for the moving parts of npm is utterly hecked)
13:42:51
@janne.hess:helsinki-systems.de@janne.hess:helsinki-systems.deTIL about srcOnly13:44:27
@janne.hess:helsinki-systems.de@janne.hess:helsinki-systems.de
In reply to @lily:lily.flowers
(that var just activates a sleeper agent we installed in npm to fix some of its broken behavior and inject vars when their fetcher lib re-execs the entirety of npm for git deps........)
obviously :D
13:44:47
@lily:lily.flowersLily Foster
In reply to @lily:lily.flowers
(that var just activates a sleeper agent we installed in npm to fix some of its broken behavior and inject vars when their fetcher lib re-execs the entirety of npm for git deps........)
(and it re-execs npm without necessarily even ensuring lockfiles are coherent in the git dep and requiring them since it doesn't lock those needed deps in the original lockfile. and npm loves to silently get spooked, ignore the lockfile, and try to redownload literally everything..........)
13:45:32
@lily:lily.flowersLily Foster(oh and don't forget it drops the passed options when it re-execs. i mean come on, who needs those?)13:46:18

Show newer messages


Back to Room ListRoom Version: 6