!NhAsaYbbgmzHtXTPQJ:funklause.de

Nix NodeJS

210 Members
61 Servers

Load older messages


SenderMessageTime
10 Dec 2023
@emma:conduit.rory.gayEmma [it/its] ⚡️if so, do you have any idea why reordering imports of entities would break stuff?21:23:04
@lily:lily.flowersLily Foster
In reply to @emma:conduit.rory.gay
do you have experience with TypeORM by chance?
I do not, no. sorry :(
21:26:36
@emma:conduit.rory.gayEmma [it/its] ⚡️kinda wish i had a solution for that one but its so weird21:26:56
@lily:lily.flowersLily Foster
In reply to @lily:lily.flowers

so this doesn't remove the openapi.json file, but this diff seems to build and run similarly in testing:

diff --git a/flake.nix b/flake.nix
index 71760eff..1391bca1 100644
--- a/flake.nix
+++ b/flake.nix
@@ -15,46 +15,10 @@
 			pname = "spacebar-server-ts";
 			src = ./.;
 			name = "spacebar-server-ts";
-			nativeBuildInputs = with pkgs; [ python3 ];
 			npmDepsHash = "sha256-axzbsD+jOViIQ9+qFSX41j6harBL9vyaXDKdOSaPW8M=";
-			makeCacheWritable = true;
 			postPatch = ''
 				substituteInPlace package.json --replace 'npx patch-package' '${pkgs.nodePackages.patch-package}/bin/patch-package'
 			'';
-			installPhase = ''
-				runHook preInstall
-				set -x
-				#remove packages not needed for production, or at least try to...
-				npm prune --omit dev --no-save $npmInstallFlags "''${npmInstallFlagsArray[@]}" $npmFlags "''${npmFlagsArray[@]}"
-			  find node_modules -maxdepth 1 -type d -empty -delete
-
-				mkdir -p $out/node_modules/
-				cp -r node_modules/* $out/node_modules/
-				cp -r dist/ $out/node_modules/@spacebar
-				for i in dist/**/start.js
-				do
-					makeWrapper ${pkgs.nodejs-slim}/bin/node $out/bin/start-`dirname ''${i/dist\//}` --prefix NODE_PATH : $out/node_modules --add-flags $out/node_modules/@spacebar`dirname ''${i/dist/}`/start.js
-				done
-				set +x
-				substituteInPlace package.json --replace 'dist/' 'node_modules/@spacebar/'
-				find $out/node_modules/@spacebar/ -type f -name "*.js" | while read srcFile; do
-					echo Patching imports in ''${srcFile/$out\/node_modules\/@spacebar//}...
-					substituteInPlace $srcFile --replace 'require("./' 'require(__dirname + "/'
-					substituteInPlace $srcFile --replace 'require("../' 'require(__dirname + "/../'
-					substituteInPlace $srcFile --replace ', "assets"' ', "..", "assets"'
-					#substituteInPlace $srcFile --replace 'require("@spacebar/' 'require("
-				done
-				set -x
-				cp -r assets/ $out/
-				cp package.json $out/
-				rm -v $out/assets/openapi.json
-				#rm -v $out/assets/schemas.json
-
-				#debug utils:
-				#cp $out/node_modules/@spacebar/ $out/build_output -r
-				set +x
-				runHook postInstall
-			'';
 		};
 		devShell = pkgs.mkShell {
 			buildInputs = with pkgs; [
diff --git a/package.json b/package.json
index 83ec9dcc..e0dcf4c9 100644
--- a/package.json
+++ b/package.json
@@ -37,6 +37,16 @@
 	"imports": {
 		"#*": "./dist/*/index.js"
 	},
+	"files": [
+		"dist",
+		"assets"
+	],
+	"bin": {
+		"start-bundle": "dist/bundle/start.js",
+		"start-api": "dist/api/start.js",
+		"start-cdn": "dist/cdn/start.js",
+		"start-gateway": "dist/gateway/start.js"
+	},
 	"homepage": "https://spacebar.chat",
 	"devDependencies": {
 		"@types/amqplib": "^0.8.2",
you might also want to add a substituteInPlace src/bundle/start.ts --replace 'execSync("git rev-parse HEAD").toString().trim()' '"${self.rev or "dirty"}"' to postPatch as well, so that way the pre-release commit hash shows up correctly and doesn't depend on running it from a git repo
21:32:17
@emma:conduit.rory.gayEmma [it/its] ⚡️didnt we just get rid of postPatch?21:32:43
@lily:lily.flowersLily Foster
In reply to @emma:conduit.rory.gay
didnt we just get rid of postPatch?
no, i left it there in my diff
21:34:24
@emma:conduit.rory.gayEmma [it/its] ⚡️oh, the diff claimed it was removedd as far as i saw21:34:44
@lily:lily.flowersLily Foster i mostly just got rid of installPhase and used npm to handle the logic 21:34:44
@emma:conduit.rory.gayEmma [it/its] ⚡️oh wait nvm i confused it for installPhase21:34:56
@lily:lily.flowersLily Fosterah, yeah. it happens :)21:35:08
@emma:conduit.rory.gayEmma [it/its] ⚡️thanks for the git patch thing btw ^^21:35:21
@lily:lily.flowersLily Foster
In reply to @emma:conduit.rory.gay
thanks for the git patch thing btw ^^
i'm happy to help! i just noticed i was getting a fatal: not a git repository when running the start-bundle bin and found where git rev-parse HEAD was happening
21:36:46
@emma:conduit.rory.gayEmma [it/its] ⚡️ah21:36:58
@emma:conduit.rory.gayEmma [it/its] ⚡️thats just because stderr from git gets passed through i guess21:37:13
@lily:lily.flowersLily Foster
In reply to @emma:conduit.rory.gay
thats just because stderr from git gets passed through i guess
well it also shouldn't be expecting to run from a git repo anyway, that was just how i noticed what it was doing
21:37:52
@emma:conduit.rory.gayEmma [it/its] ⚡️fair, code already existed when i joined the project anyways21:38:18
@emma:conduit.rory.gayEmma [it/its] ⚡️ https://github.com/spacebarchat/server/tree/dev/emma-refactors
the branch im working on, btw
21:44:03
@emma:conduit.rory.gayEmma [it/its] ⚡️ Lily Foster do you happen to know how to configure prettier to use .editorconfig? 22:29:17
@emma:conduit.rory.gayEmma [it/its] ⚡️or does it do so by default?22:29:46
@lily:lily.flowersLily Foster
In reply to @emma:conduit.rory.gay
Lily Foster do you happen to know how to configure prettier to use .editorconfig?
should be documented at https://prettier.io/docs/en/configuration#editorconfig
23:01:55
11 Dec 2023
@emma:conduit.rory.gayEmma [it/its] ⚡️apparently it does so by default but i had to delete prettierrc due to conflicts00:15:35
@janik0:matrix.org@janik0:matrix.org What do I do if I have a package where the build just outputs something like dist/index.js and then expects to be run with yarn start, do I move that int $out/share/... and add a wrapper script in bin $out/bin for the yarn start? 12:41:20
@janik0:matrix.org@janik0:matrix.org * What do I do if I have a package where the build just outputs something like dist/index.js and then expects to be run with yarn start, do I move that int $out/share/... and add a wrapper script in $out/bin for the yarn start? 12:41:53
@lily:lily.flowersLily Foster
In reply to @janik0:matrix.org
What do I do if I have a package where the build just outputs something like dist/index.js and then expects to be run with yarn start, do I move that int $out/share/... and add a wrapper script in bin $out/bin for the yarn start?
yarn start just runs the start script. can you share the package.json?
12:42:01
@janik0:matrix.org@janik0:matrix.orgRedacted or Malformed Event12:44:06
@janik0:matrix.org@janik0:matrix.orghttps://github.com/excalidraw/excalidraw-room/blob/master/package.json#L3212:44:07
@lily:lily.flowersLily Foster
In reply to @janik0:matrix.org
https://github.com/excalidraw/excalidraw-room/blob/master/package.json#L32
ugh why are they like this. they could have just added a bin: { exename: "dist/index.js" } and then everything would have worked as the node gods intended. but no, they must make things more difficult for themselves....
12:45:52
@janik0:matrix.org@janik0:matrix.org
In reply to @lily:lily.flowers
ugh why are they like this. they could have just added a bin: { exename: "dist/index.js" } and then everything would have worked as the node gods intended. but no, they must make things more difficult for themselves....
i can patch that in my derivation and upstream it if it's just that simple :D
12:46:25
@lily:lily.flowersLily Foster
In reply to @janik0:matrix.org
i can patch that in my derivation and upstream it if it's just that simple :D
they probably also want a files: [ "dist" "public" ]. but that will only help our npm tooling, not our yarn tooling
12:47:46
@janik0:matrix.org@janik0:matrix.orgI also packaged the actual excalidraw (the one above is just the sync server so you can work with multiple people at the same time) and there they just dump everything into a build dir and then you have to bring your own http server, upstream in there docker they use nginx but It also works with python3 -m http.server and stuff.12:48:04

Show newer messages


Back to Room ListRoom Version: 6