From 16d18a6d8def963be4881cd9dee07d78501a29d6 Mon Sep 17 00:00:00 2001 From: Arkadiy Kukarkin Date: Sun, 18 Jan 2026 01:41:35 +0100 Subject: [PATCH] add eslint rules to catch unhandled promises in server --- packages/server/eslint.config.js | 13 +++++++++++-- packages/server/src/index.ts | 6 +++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/packages/server/eslint.config.js b/packages/server/eslint.config.js index f8ff2449..237d2ea9 100644 --- a/packages/server/eslint.config.js +++ b/packages/server/eslint.config.js @@ -10,7 +10,10 @@ export default ts.config( prettier, { languageOptions: { - globals: { ...globals.node } + globals: { ...globals.node }, + parserOptions: { + project: "./tsconfig.json" + } }, rules: { "no-undef": "off", @@ -20,7 +23,13 @@ export default ts.config( ], "@typescript-eslint/no-explicit-any": "warn", "@typescript-eslint/no-empty-object-type": "off", - "no-useless-catch": "warn" + "no-useless-catch": "warn", + // prevent auth bypass via missing await on async functions + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/no-misused-promises": [ + "error", + { checksConditionals: true } + ] } } ) diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index fda9ef3d..10d492d6 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -78,8 +78,8 @@ const gracefulShutdown = async (signal: string) => { } // Handle shutdown signals -process.on("SIGTERM", () => gracefulShutdown("SIGTERM")) -process.on("SIGINT", () => gracefulShutdown("SIGINT")) +process.on("SIGTERM", () => void gracefulShutdown("SIGTERM")) +process.on("SIGINT", () => void gracefulShutdown("SIGINT")) // Start the server const start = async (port: number) => { @@ -94,4 +94,4 @@ const start = async (port: number) => { } } -start(Number(process.env.PORT)) +void start(Number(process.env.PORT))