JSPM

unhead

3.0.0-beta.5
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1561468
  • Score
    100M100P100Q180055F
  • License MIT

Full-stack <head> manager built for any framework.

Package Exports

  • unhead
  • unhead/client
  • unhead/parser
  • unhead/plugins
  • unhead/scripts
  • unhead/server
  • unhead/stream/client
  • unhead/stream/iife
  • unhead/stream/server
  • unhead/stream/vite
  • unhead/types
  • unhead/utils

Readme

unhead

Full-stack <head> manager built for any framework

npm version npm downloads License

Features

  • 🚀 Framework agnostic - works with any framework
  • 🔄 Reactive head management
  • 🔍 SEO-friendly with rich meta tag support
  • 🖥️ Server-side rendering support
  • 📦 Lightweight and tree-shakable
  • ⚡ Performance optimized with minimal runtime overhead
  • 🎯 Type-safe with full TypeScript support

Installation

# npm
npm install unhead

# yarn
yarn add unhead

# pnpm
pnpm add unhead

Usage

Basic Usage

import { createHead, useHead } from 'unhead'

// Create a head instance
const head = createHead()

// Use head tags
useHead({
  title: 'My App',
  meta: [
    {
      name: 'description',
      content: 'My awesome application'
    }
  ]
}, { head })

Server-Side Rendering

import { createHead } from 'unhead/server'

const head = createHead()

// Add head entries
useHead({
  title: 'SSR App',
  meta: [{ name: 'description', content: 'Server-rendered app' }]
}, { head })

// Render head tags
const { headTags, bodyTags } = head.render()

Client-Side Rendering

import { createHead } from 'unhead/client'

// Create head instance (auto-renders on changes)
const head = createHead()

// Add reactive head entries
useHead({
  title: 'Client App'
}, { head })

Custom Renderers

import { createServerRenderer, createUnhead } from 'unhead/server'

// Create a custom renderer with options
const renderer = createServerRenderer({ omitLineBreaks: true })

// Pass renderer to createUnhead
const head = createUnhead(renderer, { /* options */ })

// Render using head.render()
const html = head.render()

Framework Integrations

Unhead provides optimized integrations for popular frameworks:

Documentation

Visit the documentation site for comprehensive guides and API references.

License

MIT