From 728ba71c8428e14fff676847c3f6470a3aa9ca47 Mon Sep 17 00:00:00 2001 From: Marco Pedone Date: Thu, 5 Mar 2026 10:28:31 +0100 Subject: [PATCH] feat: add missing_returning plugin to enforce return value on database operations --- apps/infoalloggi/biome.json | 3 ++- .../infoalloggi/biome_plugins/missing_returning.grit | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 apps/infoalloggi/biome_plugins/missing_returning.grit diff --git a/apps/infoalloggi/biome.json b/apps/infoalloggi/biome.json index db5b8ea..25a0187 100644 --- a/apps/infoalloggi/biome.json +++ b/apps/infoalloggi/biome.json @@ -125,7 +125,8 @@ "plugins": [ "biome_plugins/missing_select.grit", "biome_plugins/missing_where.grit", - "biome_plugins/null.grit" + "biome_plugins/null.grit", + "biome_plugins/missing_returning.grit" ], "vcs": { "clientKind": "git", diff --git a/apps/infoalloggi/biome_plugins/missing_returning.grit b/apps/infoalloggi/biome_plugins/missing_returning.grit new file mode 100644 index 0000000..e17d7b8 --- /dev/null +++ b/apps/infoalloggi/biome_plugins/missing_returning.grit @@ -0,0 +1,12 @@ +language js(typescript) + +`$chain.$exec()` where { + $exec <: `executeTakeFirstOrThrow`, + or { + $chain <: contains `deleteFrom`, + $chain <: contains `updateTable`, + $chain <: contains `insertInto` + }, + ! or { $chain <: contains `returning`, $chain <: contains `returningAll` }, + register_diagnostic(span=$chain, message="insert, update or delete statements must return a value on executeTakeFirstOrThrow", severity="error") +}