CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-supabase--supabase-js

Isomorphic JavaScript client for Supabase providing authentication, database, real-time, storage, and edge functions capabilities.

89

0.95x
Overview
Eval results
Files

rubric.jsonevals/scenario-10/

{
  "context": "This criteria evaluates how effectively an engineer uses @supabase/supabase-js to implement basic CRUD operations (select, insert, update, delete) for a task management system. The focus is on proper usage of createClient, .from(), .select(), .insert(), .update(), .delete(), and basic filtering methods like .eq().",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Client initialization",
      "description": "Uses createClient() from @supabase/supabase-js to initialize a Supabase client with SUPABASE_URL and SUPABASE_KEY environment variables.",
      "max_score": 10
    },
    {
      "name": "Select all records",
      "description": "Uses .from('tasks').select() or .from('tasks').select('*') to retrieve all tasks from the database in the getAllTasks function.",
      "max_score": 15
    },
    {
      "name": "Select with filtering",
      "description": "Uses .from('tasks').select() combined with .eq() method to filter tasks by ID in the getTaskById function (e.g., .eq('id', id)).",
      "max_score": 15
    },
    {
      "name": "Single result handling",
      "description": "Uses .single() or .maybeSingle() method to retrieve a single task object instead of an array when querying by ID.",
      "max_score": 10
    },
    {
      "name": "Boolean filtering",
      "description": "Uses .eq('completed', true) and .eq('completed', false) to filter tasks by completion status in getCompletedTasks and getIncompleteTasks functions.",
      "max_score": 15
    },
    {
      "name": "Insert operation",
      "description": "Uses .from('tasks').insert() to create new tasks in the createTask function, passing an object or array of task data.",
      "max_score": 15
    },
    {
      "name": "Update operation",
      "description": "Uses .from('tasks').update() combined with .eq() to update specific tasks by ID in the updateTask function (e.g., .update(updates).eq('id', id)).",
      "max_score": 10
    },
    {
      "name": "Delete operation",
      "description": "Uses .from('tasks').delete() combined with .eq() to remove specific tasks by ID in the deleteTask function (e.g., .delete().eq('id', id)).",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-supabase--supabase-js

tile.json