/fastify-favicon

Fastify Plugin to serve default favicon

Primary LanguageJavaScriptApache License 2.0Apache-2.0

fastify-favicon

NPM Version NPM Downloads Code Style license - APACHE-2.0

Fastify Plugin to serve the favicon.

With this plugin, Fastify will have a route configured for favicon (usually /favicon.ico) requests.

Usage

const fastify = require('fastify')()

// example without specifying options, searching favicon.ico from project root,
// otherwise returning a default favicon
fastify.register(require('fastify-favicon'))
// or
// example with custom path (usually relative to project root, but could be absolute),
// and custom name; all options are optional
fastify.register(require('fastify-favicon'), { path: './test', name: 'icon.ico', maxAge: 3600 })

fastify.listen({ port: 3000, host: 'localhost' })
// curl http://127.0.0.1:3000/favicon.ico => returning the image, and no error thrown

Requirements

Fastify ^4.12.0 , Node.js 14.15.0 or later. Note that plugin releases 3.x are for Fastify 3.x, 4.x are for Fastify 4.x, etc.

Sources

Source code is all inside main repo: fastify-favicon.

Documentation generated from source code (library API): here.

Note

The plugin exposes a GET handler on the URI /${name}; Fastify default favicon is used by default, but a custom one can be used.

Plugin options:

  • path (default __dirname) for the folder containing the icon
  • name (default 'favicon.ico') for favicon file name
  • maxAge (default 86400) for cache duration in seconds for the image

Contributing

  1. Fork it ( https://github.com/smartiniOnGitHub/fastify-favicon/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

License

Licensed under Apache-2.0.