!NhAsaYbbgmzHtXTPQJ:funklause.de

Nix NodeJS

208 Members
58 Servers

Load older messages


SenderMessageTime
13 Oct 2023
@c0ba1t:matrix.orgCobaltDownstream, though examples from nixpkg's might be nice too.17:00:20
@c0ba1t:matrix.orgCobaltIn general just tested and used examples. Ofc nixpkg's might be good too but imo it's sometimes a bit too complex17:01:19
14 Oct 2023
@dandellion:dodsorf.asDandellion

Does buildNpm have troubles with sourcehut git sources?
I'm trying to build https://gitdab.com/cadence/out-of-your-element but I'm getting:

out-of-your-element> unpacking sources
out-of-your-element> unpacking source archive /nix/store/8xka9inmpaq7qb0g1s80r9qvnilidpb8-source
out-of-your-element> source root is source
out-of-your-element> patching sources
out-of-your-element> Executing npmConfigHook
out-of-your-element> Configuring npm
out-of-your-element> Validating consistency between /build/source/package-lock.json and /nix/store/ydflkz6y8r7a1wm0q29r6nqmgv3n2wyj-out-of-your-element-1.2-npm-deps/package-lock.json
out-of-your-element> Fixing lockfile
out-of-your-element> Making cache writable
out-of-your-element> Installing dependencies
out-of-your-element> npm verb cli /nix/store/x8vrc1c6r8nn454whr99bxc5hdy5ybjf-nodejs-18.18.0/bin/node /nix/store/x8vrc1c6r8nn454whr99bxc5hdy5ybjf-nodejs-18.18.0/bin/npm
out-of-your-element> npm info using npm@9.8.1
out-of-your-element> npm info using node@v18.18.0
out-of-your-element> npm verb title npm ci
out-of-your-element> npm verb argv "ci" "--ignore-scripts" "--loglevel" "verbose"
out-of-your-element> npm verb logfile logs-max:10 dir:/build/cache/_logs/2023-10-14T03_08_27_400Z-
out-of-your-element> npm verb logfile /build/cache/_logs/2023-10-14T03_08_27_400Z-debug-0.log
out-of-your-element> npm WARN tarball tarball data for discord-markdown@git+https://git.sr.ht/~cadence/nodejs-discord-markdown#abc56d544072a1dc5624adfea455b0e902adf7b3 (null) seems to be corrupted. Trying again.
out-of-your-element> npm WARN tarball tarball data for discord-markdown@git+https://git.sr.ht/~cadence/nodejs-discord-markdown#abc56d544072a1dc5624adfea455b0e902adf7b3 (null) seems to be corrupted. Trying again.
out-of-your-element> npm http fetch GET 200 https://codeload.github.com/cloudrac3r/mixin-deep/tar.gz/2dd70d6b8644263f7ed2c1620506c9eb3f11d32a 263ms (cache stale)
out-of-your-element> npm http fetch GET 200 https://codeload.github.com/cloudrac3r/tap-out/tar.gz/1b4ec6084aedb9f44ccaa0c7185ff9bfd83da771 242ms (cache stale)
out-of-your-element> npm http fetch GET 200 https://codeload.github.com/cloudrac3r/tap-dot/tar.gz/9dd7750ececeae3a96afba91905be812b6b2cc2d 244ms (cache stale)
out-of-your-element> npm http fetch GET 200 https://codeload.github.com/cloudrac3r/giframe/tar.gz/1630f4d3b2bf5acd197409c85edd11e0da72d0a1 274ms (cache stale)
out-of-your-element> npm verb stack Error: An unknown git error occurred
out-of-your-element> npm verb stack     at makeError (/nix/store/x8vrc1c6r8nn454whr99bxc5hdy5ybjf-nodejs-18.18.0/lib/node_modules/npm/node_modules/@npmcli/git/lib/make-error.js:28:13)
out-of-your-element> npm verb stack     at /nix/store/x8vrc1c6r8nn454whr99bxc5hdy5ybjf-nodejs-18.18.0/lib/node_modules/npm/node_modules/@npmcli/git/lib/spawn.js:37:26
out-of-your-element> npm verb stack     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
out-of-your-element> npm verb cwd /build/source
out-of-your-element> npm verb Linux 6.5.5
out-of-your-element> npm verb node v18.18.0
out-of-your-element> npm verb npm  v9.8.1
out-of-your-element> npm ERR! code ENOENT
out-of-your-element> npm ERR! syscall spawn git
out-of-your-element> npm ERR! path git
out-of-your-element> npm ERR! errno -2
out-of-your-element> npm ERR! enoent An unknown git error occurred
out-of-your-element> npm ERR! enoent This is related to npm not being able to find a file.
out-of-your-element> npm ERR! enoent
out-of-your-element> npm verb exit -2
out-of-your-element> npm verb unfinished npm timer reify 1697252907725
out-of-your-element> npm verb unfinished npm timer reify:unpack 1697252907754
out-of-your-element> npm verb unfinished npm timer reifyNode:node_modules/discord-markdown 1697252907764
out-of-your-element> npm verb code -2
03:14:41
@dandellion:dodsorf.asDandellion If I give it git through nativeBuildInputs it'll fail to reach out of its sandbox while running git --no-replace-objects ls-remote https://git.sr.ht/~cadence/nodejs-discord-markdown which seems super weird 03:17:33
@dandellion:dodsorf.asDandellionah the issue is not in the fetcher it's in the config step03:28:17
@ahbk:matrix.orgI use NixOS btwIs there a reason mkYarnPackage doesn't cache or am I doing something wrong? All dependecies are cached but the package itself isn't so it rebuilds every time09:45:33
@lily:lily.flowersLily Foster
In reply to @dandellion:dodsorf.as
If I give it git through nativeBuildInputs it'll fail to reach out of its sandbox while running git --no-replace-objects ls-remote https://git.sr.ht/~cadence/nodejs-discord-markdown which seems super weird
Hmmmm if i remember i'll try to investigate later of it's just our fetcher not doing something right or if npm is the one who is choking on it
11:46:03
@lily:lily.flowersLily Foster
In reply to @ahbk:matrix.org
Is there a reason mkYarnPackage doesn't cache or am I doing something wrong? All dependecies are cached but the package itself isn't so it rebuilds every time
Cache like upload to cachix or something?
11:46:25
@ahbk:matrix.orgI use NixOS btw
In reply to @lily:lily.flowers
Cache like upload to cachix or something?
No sorry not cached. I'm not sure I understand this, but I when the flake is changed, I guess the yarn package has to be recalculated or evaluated which takes some time (about 15 seconds). This is different from the other packages in the flake which are evaluated almost immediately if they haven't been changed. I experienced this as a cache miss but I realize now that it is not about that. Here's the flake:
No https://github.com/ahbk/ahbk/blob/main/flake.nix
14:40:39
@ahbk:matrix.orgI use NixOS btw
In reply to @lily:lily.flowers
Cache like upload to cachix or something?
*

No sorry not cached. I'm not sure I understand this, but I when the flake is changed, I guess the yarn package has to be recalculated or evaluated which takes some time (about 15 seconds). This is different from the other packages in the flake which are evaluated almost immediately if they haven't been changed. I experienced this as a cache miss but I realize now that it is not about that. Here's the flake:

https://github.com/ahbk/ahbk/blob/main/flake.nix

14:40:47
@ahbk:matrix.orgI use NixOS btw *

No sorry not cached. I'm not sure I understand this, but when the flake is changed, I guess the yarn package has to be recalculated or evaluated which takes some time (about 15 seconds). This is different from the other packages in the flake which are evaluated almost immediately if they haven't been changed. I experienced this as a cache miss but I realize now that it is not about that. Here's the flake:

https://github.com/ahbk/ahbk/blob/main/flake.nix

14:40:56
@ahbk:matrix.orgI use NixOS btw *

No sorry not cached. I'm not sure I understand this, but when the flake is changed I think the yarn package has to be recalculated or evaluated which takes some time (about 15 seconds), even if the change didn't affect the package. This is different from the other packages in the flake which are evaluated almost immediately if they haven't been changed. I experienced this as a cache miss but I realize now that it is not about that. Here's the flake:

https://github.com/ahbk/ahbk/blob/main/flake.nix

14:41:38
@ahbk:matrix.orgI use NixOS btw *

No sorry not cached. I'm not sure I understand this, but when the flake is changed I think the yarn package has to be recalculated or evaluated which takes some time (about 15 seconds), even if the change didn't affect the package. This is different from the other packages in the flake which are evaluated almost immediately if they haven't been changed. I experienced this as a cache miss but I realize now that it is not about that. Here's the flake:

https://github.com/ahbk/ahbk/blob/main/flake.nix#L39

14:42:36
@lily:lily.flowersLily Foster
In reply to @ahbk:matrix.org

No sorry not cached. I'm not sure I understand this, but when the flake is changed I think the yarn package has to be recalculated or evaluated which takes some time (about 15 seconds), even if the change didn't affect the package. This is different from the other packages in the flake which are evaluated almost immediately if they haven't been changed. I experienced this as a cache miss but I realize now that it is not about that. Here's the flake:

https://github.com/ahbk/ahbk/blob/main/flake.nix#L39

Ah, you might want to look into something like https://github.com/numtide/nix-filter
14:44:13
@ahbk:matrix.orgI use NixOS btwneat, thanks!14:45:29
@dandellion:dodsorf.asDandellion
In reply to @lily:lily.flowers
Hmmmm if i remember i'll try to investigate later of it's just our fetcher not doing something right or if npm is the one who is choking on it

I made an impure derivation, and now it's failing with:

out-of-your-element> npm ERR! command git --no-replace-objects ls-remote https://git.sr.ht/~cadence/nodejs-discord-markdown
out-of-your-element> npm ERR! fatal: unable to access 'https://git.sr.ht/~cadence/nodejs-discord-markdown/': OpenSSL/3.0.10: error:16000069:STORE routines::unregistered scheme
out-of-your-element> npm verb exit 128
out-of-your-element> npm verb unfinished npm timer reify 1697324205527
out-of-your-element> npm verb unfinished npm timer reify:unpack 1697324205560
out-of-your-element> npm verb unfinished npm timer reifyNode:node_modules/discord-markdown 1697324205573
out-of-your-element> npm verb code 128

I don't know if it's very relevant, but it's kind of sus

22:59:52
@lily:lily.flowersLily Foster
In reply to @dandellion:dodsorf.as

I made an impure derivation, and now it's failing with:

out-of-your-element> npm ERR! command git --no-replace-objects ls-remote https://git.sr.ht/~cadence/nodejs-discord-markdown
out-of-your-element> npm ERR! fatal: unable to access 'https://git.sr.ht/~cadence/nodejs-discord-markdown/': OpenSSL/3.0.10: error:16000069:STORE routines::unregistered scheme
out-of-your-element> npm verb exit 128
out-of-your-element> npm verb unfinished npm timer reify 1697324205527
out-of-your-element> npm verb unfinished npm timer reify:unpack 1697324205560
out-of-your-element> npm verb unfinished npm timer reifyNode:node_modules/discord-markdown 1697324205573
out-of-your-element> npm verb code 128

I don't know if it's very relevant, but it's kind of sus

That is pretty weird, but i'm not sure how relevant it is. I'm assuming this is all an artifact of that npm does not consider sourcehut a source that it can pull tarballs from and must fall back to git checkout. As for where that is going wrong, i need to dive in to our tooling again and instrument npm to find why it doesn't like that
23:02:16
@dandellion:dodsorf.asDandellion fwiw running nix develop on the derivation, and then manually running the npmConfigHook and such does succesfully build it 23:03:20
@lily:lily.flowersLily Foster
In reply to @dandellion:dodsorf.as
fwiw running nix develop on the derivation, and then manually running the npmConfigHook and such does succesfully build it
That's expected since dev shell lets npm call out to the internet when it's not supposed to need to (npm gets very very happy about silently deciding something is wrong and deleting and redownloading from the internet....)
23:04:12
@lily:lily.flowersLily Foster Dandellion: Do you think you could share your derivation for me to poke at later? 23:04:49
@dandellion:dodsorf.asDandellionsure!23:04:56
@dandellion:dodsorf.asDandellion
In reply to @lily:lily.flowers
That's expected since dev shell lets npm call out to the internet when it's not supposed to need to (npm gets very very happy about silently deciding something is wrong and deleting and redownloading from the internet....)
Ah right, yeah, I'm mainly confused about why the impure derivation then fails to build
23:05:30
@dandellion:dodsorf.asDandellionsince nix develop should also come with npmDeps from the npm fetcher23:05:52
@lily:lily.flowersLily FosterYeah it should make those available for npm when running the config hook23:06:14
@dandellion:dodsorf.asDandellionhttps://github.com/dali99/nixos-matrix-modules/commit/ad76e1a94ebb99b34e1fa021e5a0e0b870f7016f23:08:11
15 Oct 2023
@felschr:matrix.orgfelschr joined the room.20:53:53
@felschr:matrix.orgfelschr Lily Foster, I guess buildNpmPackage could add a npmWorkspaces option to simplify building multiple workspaces. It's not really an issue, though, to just build the other packages in a preBuild. 20:55:25
@felschr:matrix.orgfelschrAlso, thank you for your help on that PR again.20:57:18
@lily:lily.flowersLily Foster
In reply to @felschr:matrix.org
Lily Foster, I guess buildNpmPackage could add a npmWorkspaces option to simplify building multiple workspaces. It's not really an issue, though, to just build the other packages in a preBuild.
It's weird to understand what that would mean though. Like do they all just get installed side-by-side in $out/lib/node_modules and bins all installed in $out/bin?
20:57:22
@felschr:matrix.orgfelschrhmm, right20:57:56

Show newer messages


Back to Room ListRoom Version: 6