!NhAsaYbbgmzHtXTPQJ:funklause.de

Nix NodeJS

194 Members
56 Servers

Load older messages


SenderMessageTime
5 May 2024
@purepani:matrix.orgpurepani Hey Lily Foster I was maybe considering looking at the buildYarnPackage PR, and was wondering if you had a short rundown of stuff that needs to be done; I haven't tried looking through it yet, and am not too familiar with nodejs stuff, so it'd good to have a shortlist of tasks 02:53:20
@purepani:matrix.orgpurepanimaybe i won't be working on it too much though...this being unfixed so far is a bit insane: https://github.com/yarnpkg/berry/issues/606803:38:29
@winter:catgirl.cloudWinter welcome to nodejs hell :) 03:42:18
@purepani:matrix.orgpurepani how does that bug not make yarn-berry effectively useless to anyone 03:43:22
@purepani:matrix.orgpurepanimaybe ill just work on pnpm stuff instead since that bug makes yarn-berry lock files not useful to nix...04:00:37
@tumble1999:matrix.orgTumblehello15:37:11
@tumble1999:matrix.orgTumblecan i use pnpm with buildNpmPackage?15:48:10
@winter:catgirl.cloudWinter no 15:57:55
@tumble1999:matrix.orgTumble
In reply to @winter:catgirl.cloud
no
if i have a repo with pnpm project and i have anouther repo thats a nixos config flake
could i make the config repo get the other repo and run them in a systemd?
i was thinking of the project repo being a flake that outputs a package or something
and the config repo has it as an input and send it to the nix config wich sets up the service
16:02:16
@winter:catgirl.cloudWinter yes, but you'll need to package your project first. there are various pnpm nix things that work, but i can really only vouch for the npm tooling being the most resistant to all of the awful hacks that is the node.js ecosystem. 16:03:35
@tumble1999:matrix.orgTumbledo i delete the pnpm lock file and turn it into an npm project?16:04:14
@winter:catgirl.cloudWinter if you want 16:04:42
@tumble1999:matrix.orgTumbledoes the npm tooling only work with npm project as opposed to a pnpm project??16:05:22
@winter:catgirl.cloudWinter correct 16:05:33
@winter:catgirl.cloudWinter the npm tooling only works with projects that have an npm lock file 16:05:47
@tumble1999:matrix.orgTumblewait, do i have to produce a binary?16:13:31
@winter:catgirl.cloudWinter no 16:15:26
@winter:catgirl.cloudWinter the npm tooling will automatically produce a wrapper in $out/bin if your package.json is configured properly 16:15:45
@tumble1999:matrix.orgTumble nix build puts everything into result/lib/node_modules/(name)
but nix run tries to run /nix/store/.../bin/(name) which doesnt exist
17:01:53
@tumble1999:matrix.orgTumbleok figured it out17:19:30
@tumble1999:matrix.orgTumble i searched github for a repo that has both buildNpmPackage and dontNpmBuild
https://github.com/ALT-F4-LLC/kickstart.nix/tree/f6385349c4dff04e3090559ff553492abd6f7e2d/template/nodejs-backend
17:20:25
@tumble1999:matrix.orgTumbleand then saw that had a "bin" property in package.json17:20:40
@tumble1999:matrix.orgTumbleso i tried that and it worked17:20:44
@tumble1999:matrix.orgTumble its just i couldnt figure out what Flags to pass to makeWrapper, added to executable calling the generated .js with node as an interpreter. These scripts are defined in package.json meant 17:22:56
6 May 2024
@purepani:matrix.orgpurepani
In reply to @purepani:matrix.org
how does that bug not make yarn-berry effectively useless to anyone

So, apparently this is at least somewhat intended, or at least intentionally not guaranteed: https://yarnpkg.com/cli/install.

First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).
Specifically, they say
Note that running [yarn install] is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.

The issue is that if the repos don't use zero-install, either by choice, or just because they don't realize that it's a thing, there's no way to get any type of reproducibility since the integrety hashes aren't stored.

02:18:01
@purepani:matrix.orgpurepani
In reply to @purepani:matrix.org
how does that bug not make yarn-berry effectively useless to anyone
*

So, apparently this is at least somewhat intended, or at least intentionally not guaranteed: https://yarnpkg.com/cli/install.

First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).
Specifically, they say
Note that running [yarn install] is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.

The issue is that if the repos don't use zero-install, either by choice, or just because they don't realize that it's a thing, there's no way to get any type of reproducibility since the integrety hashes aren't stored.

02:18:20
@purepani:matrix.orgpurepani *

So, apparently this is at least somewhat intended, or at least intentionally not guaranteed: https://yarnpkg.com/cli/install.

First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). Specifically, they say
Note that running [yarn install] is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.

The issue is that if the repos don't use zero-install, either by choice, or just because they don't realize that it's a thing, there's no way to get any type of reproducibility since the integrety hashes aren't stored.

02:18:26
@purepani:matrix.orgpurepani *

So, apparently this is at least somewhat intended, or at least intentionally not guaranteed: https://yarnpkg.com/cli/install.

First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).

Specifically, they say

Note that running [yarn install] is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.

The issue is that if the repos don't use zero-install, either by choice, or just because they don't realize that it's a thing, there's no way to get any type of reproducibility since the integrety hashes aren't stored.

02:18:32
@dayvidpham:envs.netdayvidpham joined the room.05:39:41
7 May 2024
@dayvidpham:envs.netdayvidpham

Hello, just wondering what the process is for building my project locally from my Flake output.

I think the problem is how Flakes handle files in .gitignore? I have a dist/ folder that is generated via Webpack/Babel at build-time, and it is currently gitignore'd. Things work fine if I take it out of the .gitignore file and run git add dist/.

When I don't do that, the build fails with message: error: getting status of '/nix/store/miap1bv0r73waw5g52ln2gnqjq8848yl-source/dist': No such file or directory

I try to build the package using npmBuildPackage, which runs the npm run build script by default in the buildPhase. This is fine and it should use webpack/babel to produce a dist/ directory.

I don't define any custom buildPhase, but I do define a custom installPhase which is simply:

installPhase = ''
  runHook preInstall

  cp -r ./dist $out/dist

  runHook postInstall
'';

Any ideas on how to get this to work?

08:05:28

Show newer messages


Back to Room ListRoom Version: 6