Skip to content

userquin/nuxt-http-client-hints

Folders and files

NameName
Last commit message
Last commit date

Latest commit

54555fa Â· Oct 13, 2024

History

25 Commits
Oct 12, 2024
Oct 11, 2024
Oct 13, 2024
Oct 13, 2024
Oct 11, 2024
Oct 11, 2024
Oct 11, 2024
Oct 11, 2024
Oct 11, 2024
Oct 12, 2024
Oct 12, 2024
Oct 11, 2024
Oct 13, 2024
Oct 12, 2024
Oct 11, 2024

Repository files navigation

Nuxt HTTP Client Hints Module

npm version npm downloads JSDocs License Nuxt

Access and use HTTP Client Hints in your Nuxt application. Detect the client browser and the operating system on your server.

Open in StackBlitz

Features

HTTP Client hints

Warning

The HTTP Client hints headers listed below are still in draft and only Chromium based browsers support them: Chrome, Edge, Chromium and Opera.

The module includes support for the following HTTP Client hints:

Quick Setup

Install the module to your Nuxt application with one command:

npx nuxi module add nuxt-http-client-hints

Add your configuration to your Nuxt config file:

httpClientHints: {
  // Your configuration here
}

Add your client and server plugins to your Nuxt application and register the corresponding hooks with your configuration:

// my-plugin.client.js
export default defineNuxtPlugin((nuxtApp) => {
  nuxtApp.hook('http-client-hints:client-hints', (httpClientHints) => {
    // Your client logic here
  })
})
// my-plugin.server.js
export default defineNuxtPlugin((nuxtApp) => {
  nuxtApp.hook('http-client-hints:ssr-client-hints', (httpClientHints) => {
    // Your server logic here
  })
})

You use the httpClientHints object in your application to access the configuration:

<!-- SomeComponent.vue -->
<template>
  <pre>{{ $httpClientHints }}"</pre>
</template>

or in your modules, composables, or other plugins:

// my-module.js
const clientHints = useNuxtApp().$httpClientHints

That's it! You can now use HTTP Client Hints in your Nuxt app ✨

You can check the source code or the JSDocs for more information.

Contribution

Local development
# Install dependencies
pnpm install

# Generate type stubs
pnpm dev:prepare

# Develop with the playground
pnpm dev

# Build the playground
pnpm dev:build

# Run ESLint
pnpm lint

# Run Vitest
pnpm test
pnpm test:watch

License

MIT License © 2024-PRESENT Joaquín Sánchez