nuxt-http-client-hints

Nuxt HTTP Client Hints

MIT License

Stars
4

Nuxt HTTP Client Hints Module

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

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

# 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 Joaqun Snchez