Isomorphic JavaScript client for Supabase providing authentication, database, real-time, storage, and edge functions capabilities.
89
{
"context": "This criteria evaluates how well the engineer uses @supabase/supabase-js to implement custom WebSocket transport for real-time subscriptions. The focus is on correctly configuring the client with custom transport options and properly subscribing to database changes.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Custom transport configuration",
"description": "Uses the realtime.transport option in createClient() to provide a custom WebSocket transport implementation that wraps or extends the default WebSocket",
"max_score": 30
},
{
"name": "Client initialization",
"description": "Correctly calls createClient() with supabaseUrl and supabaseKey, including the custom transport in the realtime configuration options",
"max_score": 15
},
{
"name": "Channel creation",
"description": "Creates a real-time channel using the channel() method with an appropriate channel name for the subscription",
"max_score": 10
},
{
"name": "Postgres changes subscription",
"description": "Uses the on() method with 'postgres_changes' event type to subscribe to INSERT events, specifying the correct schema ('public') and table ('notifications')",
"max_score": 25
},
{
"name": "Channel subscription",
"description": "Calls subscribe() on the channel to activate the subscription and establish the WebSocket connection",
"max_score": 10
},
{
"name": "Cleanup and unsubscribe",
"description": "Implements proper cleanup by calling unsubscribe() or removeChannel() to close the subscription and WebSocket connection",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-supabase--supabase-jsevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10