From 648807ab751e1e9f185cfd1afe3f00086d8e93ca Mon Sep 17 00:00:00 2001 From: Philip Trauner Date: Thu, 10 Sep 2026 14:14:31 +0200 Subject: [PATCH] tooling: nest repl --- project/server/.gitignore | 1 + project/server/build/server.ts | 3 ++- project/server/make/common.mk | 3 ++- project/server/make/dev.mk | 5 +++++ project/server/src/repl-nest.ts | 8 ++++++++ 5 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 project/server/src/repl-nest.ts diff --git a/project/server/.gitignore b/project/server/.gitignore index c1883959..f3f80121 100644 --- a/project/server/.gitignore +++ b/project/server/.gitignore @@ -8,3 +8,4 @@ out/ *.tsbuildinfo .envrc .ephemeral +.nestjs_repl_history diff --git a/project/server/build/server.ts b/project/server/build/server.ts index 1a95aa4b..5f340487 100644 --- a/project/server/build/server.ts +++ b/project/server/build/server.ts @@ -48,7 +48,8 @@ export const copyPlugin = ( { out: "main", in: "src/entrypoint.ts" }, { out: "main-nest", in: "src/entrypoint-nest.ts" }, { out: "worker-database", in: "src/service/database/worker.ts" }, - { out: "repl", in: "src/repl.ts" } + { out: "repl", in: "src/repl.ts" }, + { out: "repl-nest", in: "src/repl-nest.ts" } ], platform: "node", format: "esm", diff --git a/project/server/make/common.mk b/project/server/make/common.mk index aa55b426..0ef21c64 100644 --- a/project/server/make/common.mk +++ b/project/server/make/common.mk @@ -23,7 +23,8 @@ SERVER_IN := \ SERVER_OUT_MAIN := out/server/main.mjs SERVER_OUT_MAIN_NEST := out/server/main-nest.mjs SERVER_OUT_REPL := out/server/repl.mjs -SERVER_OUT := $(SERVER_OUT_MAIN) $(SERVER_OUT_MAIN_NEST) $(SERVER_OUT_REPL) +SERVER_OUT_REPL_NEST := out/server/repl-nest.mjs +SERVER_OUT := $(SERVER_OUT_MAIN) $(SERVER_OUT_MAIN_NEST) $(SERVER_OUT_REPL) $(SERVER_OUT_REPL_NEST) .PRECIOUS: $(SERVER_QUERY_OUT) diff --git a/project/server/make/dev.mk b/project/server/make/dev.mk index 29fadde4..8b23727c 100644 --- a/project/server/make/dev.mk +++ b/project/server/make/dev.mk @@ -50,6 +50,11 @@ repl: build SIGNING_VOUCHER=$(shell $(call secret,voucher,signing-key)) \ node --enable-source-maps --import='./$(SERVER_OUT_REPL)' $(NODE_ARGS) $(SCRIPT) $(SCRIPT_ARGS) +repl-nest: build + @ \ + SIGNING_VOUCHER=$(shell $(call secret,voucher,signing-key)) \ + node --enable-source-maps $(SERVER_OUT_REPL_NEST) + start-container: @:$(call check_defined, EXTERNAL_AUTHORITY) diff --git a/project/server/src/repl-nest.ts b/project/server/src/repl-nest.ts new file mode 100644 index 00000000..43c8f9e2 --- /dev/null +++ b/project/server/src/repl-nest.ts @@ -0,0 +1,8 @@ +import { repl } from "@nestjs/core"; + +import { ModuleApp } from "./layer/app.module"; + +void (async () => { + const r = await repl(ModuleApp); + r.setupHistory(".nestjs_repl_history", () => {}); +})();