@enfyra/sdk-vue
v0.1.1
Published
CSR-only Vue 3 composables for `@enfyra/sdk-core`.
Readme
@enfyra/sdk-vue
CSR-only Vue 3 composables for @enfyra/sdk-core.
Use @enfyra/nuxt for Nuxt or any server-rendered Vue application. This package intentionally rejects server execution so process-global browser state cannot leak between SSR requests.
Install
yarn add @enfyra/sdk-vue @enfyra/sdk-coreConfigure the same-origin Enfyra App bridge:
VITE_ENFYRA_BASE_URL=/enfyraimport { createEnfyraClient } from '@enfyra/sdk-vue'
createEnfyraClient({
baseUrl: '/enfyra',
auth: {
strategy: 'cookie',
cookieBridgePrefix: '/enfyra',
},
})Authentication
const { user, login, logout, fetchUser } = useAuth()
await login({ email, password, remember: true })
await fetchUser()
await logout()Only a 401 clears the local user. Network and server failures remain errors and do not masquerade as logout.
API
const { data, loading, error, refresh } = useApi().get<Article[]>(
'/articles',
{ query: { limit: 20 } },
)Immediate GET requests run once on mount. Set revalidate to a millisecond interval for polling.
Storage
const { upload, download } = useStorage()
await upload(file, { folder, storageConfig, uploadId })Socket.IO
const socket = useWebSocket('chat')
await socket.connect()Cookie clients default to the Enfyra App /ws bridge. Pass explicit WebSocket options when the host application exposes a different Socket.IO proxy.
