Nuxt API

Nuxt Hooks

Last updated by
Harlan Wilton
in feat: view active connections (#6).

'skew-protection:chunks-outdated'

Type: (payload: ChunksOutdatedPayload) => void | Promise<void>

Triggered when the client detects that chunks from their current version have been deleted on the server.

interface ChunksOutdatedPayload {
  deletedChunks: string[]
  invalidatedModules: string[]
  passedReleases: string[]
}
export default defineNuxtConfig({
  hooks: {
    'skew-protection:chunks-outdated': (payload) => {
      console.log('Outdated chunks:', payload.deletedChunks)
      console.log('Releases since client version:', payload.passedReleases)
    },
  },
})

'skew:message'

Type: (message: { type: string, [key: string]: unknown }) => void | Promise<void>

Triggered for every message received from the SSE or WebSocket connection. Useful for building custom functionality on top of the real-time connection.

plugins/skew-listener.client.ts
export default defineNuxtPlugin((nuxtApp) => {
  nuxtApp.hooks.hook('skew:message', (message) => {
    if (message.type === 'stats') {
      console.log('Active connections:', message.total)
      console.log('Version distribution:', message.versions)
    }

    if (message.type === 'connected') {
      console.log('Connected to server version:', message.version)
    }
  })
})

Message Types

TypeDescriptionPayload
connectedInitial connection acknowledgment{ version, timestamp }
keepalivePeriodic heartbeat{ timestamp }
statsConnection statistics (requires connectionTracking: true){ total, versions }
Did this page help you?