!NhAsaYbbgmzHtXTPQJ:funklause.de

Nix NodeJS

208 Members
58 Servers

Load older messages


SenderMessageTime
14 Nov 2023
@lily:lily.flowersLily Fosteridk i need coffee anyway and brain is not working well yet13:57:45
@lily:lily.flowersLily Foster(i'd definitely trust your judgement way more than my own on this anyway)13:58:46
@szucsitg:matrix.orgszucsitgI checked the code they really cross-referenced the project while not even declaring the module in package.json 🙄🤦‍♂️13:59:51
@joepie91:pixie.town@joepie91:pixie.town

perhaps there are circular plugin architecures, but usually it's more something like

const thing = require("thing");
const thingPluginA = require("thing-plugin-a);
const thingPluginB = require("thing-plugin-b");

let instance = thing({ plugins: thingPluginA, thingPluginB });

and so both the "core" package and the plugin packages are loaded from the application code, the plugins don't load the core and the core doesn't load the plugins, the peer dependency constraint just serves to give people a warning if they have an incompatible core and plugins in the same project

14:02:22
@joepie91:pixie.town@joepie91:pixie.town *

perhaps there are circular plugin architecures, but usually it's more something like

const thing = require("thing");
const thingPluginA = require("thing-plugin-a");
const thingPluginB = require("thing-plugin-b");

let instance = thing({ plugins: thingPluginA, thingPluginB });

and so both the "core" package and the plugin packages are loaded from the application code, the plugins don't load the core and the core doesn't load the plugins, the peer dependency constraint just serves to give people a warning if they have an incompatible core and plugins in the same project

14:02:28
@keiichi:matrix.org@keiichi:matrix.org

I wonder if it's possible to just install a list of dependencies https://github.com/svanderburg/node2nix#adding-unspecified-dependencies , like having a package.json

 [
  "floomatic"
]

npm update doesn't work so I think not. My original issue is that right now I need to use export NODE_PATH="${pulumiSdks}/lib/node_modules/PKG_NAME/lib/modules" while my package has 0 source code, it's just a compilation of dependencies (same package.json as my original)

14:09:55
15 Nov 2023
@kranzes:matrix.org@kranzes:matrix.org joined the room.12:41:52
@grahamc:nixos.org@grahamc:nixos.orgchanged room power levels.16:10:49
@grahamc:nixos.org@grahamc:nixos.org left the room.16:10:49
@qyliss:fairydust.space@qyliss:fairydust.space joined the room.17:38:27
@keiichi:matrix.org@keiichi:matrix.orgIt's funny how no one seems to be using typescript https://www.reddit.com/r/Nix/comments/x7tdxd/building_typescript_node_apps_with_nix/ https://www.reddit.com/r/NixOS/comments/16xlbk2/looking_for_help_to_use_nixos_in_a_typescript/17:41:43
@qyliss:fairydust.space@qyliss:fairydust.space left the room.17:48:57
@mjolnir:nixos.orgNixOS Moderation Botchanged room power levels.18:12:40
@mjolnir:nixos.orgNixOS Moderation Botchanged room power levels.18:12:40
@c0ba1t:matrix.orgCobalt
In reply to @keiichi:matrix.org
It's funny how no one seems to be using typescript https://www.reddit.com/r/Nix/comments/x7tdxd/building_typescript_node_apps_with_nix/ https://www.reddit.com/r/NixOS/comments/16xlbk2/looking_for_help_to_use_nixos_in_a_typescript/
We do use typescript, it's just compiled to JS in the build step. Otherwise, ts-node from nuxpkgs works too
19:11:41
16 Nov 2023
@adis:blad.is@adis:blad.is joined the room.05:13:13
@keiichi:matrix.org@keiichi:matrix.org

think I kinda managed to package my typescript program with buildNpmPackage but on run I get

$ jkops --help
Error: Cannot find module '/nix/store/z4dmxdr8v12cy6fzk723f0p9gyr7rxi4-jkops-1.0.0/lib/node_modules/jkops/node_modules/@aws-sdk/util-utf8-browser/dist-cjs/index.js'. Please verify that the package.json has a valid "main" entry
   at tryPackage (node:internal/modules/cjs/loader:438:19)
   at Function.Module._findPath (node:internal/modules/cjs/loader:680:18)
   at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1063:27)
   at Function.Module._load (node:internal/modules/cjs/loader:922:27)
   at Module.require (node:internal/modules/cjs/loader:1143:19)
   at require (node:internal/modules/cjs/helpers:119:18)
   at Object.<anonymous> (/nix/store/z4dmxdr8v12cy6fzk723f0p9gyr7rxi4-jkops-1.0.0/lib/node_modules/jkops/node_modules/@aws-crypto/util/src/convertToBuffer.ts:5:1)
   at Module._compile (node:internal/modules/cjs/loader:1256:14)
   at Object.Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
   at Module.load (node:internal/modules/cjs/loader:1119:32)

usually I can manage this kind of issues with a bit of NODE_PATH shenaningan but the files dont seem to even exist in fd -uL dist-cjs/index.js /nix/store/z4dmxdr8v12cy6fzk723f0p9gyr7rxi4-jkops-1.0.0/. I can share the package{-lock}.json if it helps.

09:51:55
17 Nov 2023
@adis:blad.is@adis:blad.is

I had this idea today for a radically simple ingestion method for package-lock.json.
The idea is:

  • Map over package-lock.json packages, invoke correct fetcher
  • Update package.json & package-lock.lock to point to store paths
  • npm install

I have a PoC here: https://github.com/adisbladis/fetch-package-lock/blob/master/flake.nix#L78-L82

I'm wondering if there is anything obvious I've missed? It seems to easy/simple.

08:45:12
@adis:blad.is@adis:blad.isIt certainly seems to be working alright, even for some larger stuff09:14:37
@c0ba1t:matrix.orgCobaltHmm, you'd need to alter the source, right? Or do you plan to replace the package lock with a linked version?09:53:57
@adis:blad.is@adis:blad.is
In reply to @c0ba1t:matrix.org
Hmm, you'd need to alter the source, right? Or do you plan to replace the package lock with a linked version?
I replace it with one where all the URLs are substituted with Nix store paths
09:55:03
@c0ba1t:matrix.orgCobaltOkay, that sounds nice. That might also be a neat way to work around the occasional npm cache re-download issues.09:58:34
@whentze:matrix.orgWanja Hentze adisbladis: we have a weird cursed JS codebase at work I could try this on 10:27:22
@whentze:matrix.orgWanja Hentze it has several package.json files in the repo but is not a workspace 10:27:35
@adis:blad.is@adis:blad.is
In reply to @whentze:matrix.org
adisbladis: we have a weird cursed JS codebase at work I could try this on
Cool :)
11:31:16
@ian.bridgy:matrix.orgian.bridgy joined the room.14:43:37
@minallwc:matrix.orgMiguel Suarez joined the room.18:22:25
@minallwc:matrix.orgMiguel SuarezHello Nix Community!18:22:56
@minallwc:matrix.orgMiguel SuarezIs there a way to have a development environment created from a single file?, for example, entering an angular project and running a nix related command would give me a specific docker postgresql database and specific nodejs and npm versions that would go with the Angular project18:23:42
@c0ba1t:matrix.orgCobaltYou might want to look at arion18:32:26

Show newer messages


Back to Room ListRoom Version: 6