vite-plugin-fetchpriority
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

vite-plugin-fetchpriority

NPM version node-current

Vite plugin to add the fetchpriority attribute to scripts, stylesheets, and link rel="preload".

Installation

# npm
npm install vite-plugin-fetchpriority -D

# yarn
yarn add vite-plugin-fetchpriority -D

Usage

// vite.config.js
import fetchPriority from "vite-plugin-fetchpriority";

export default {
  input: 'src/index.js',
  output: {
    dir: 'output',
    format: 'cjs'
  },
  fetchPriority([
    // add fetchpriority="high" to app.js
    {
      priority: "high",
      files: [
        {
          type: "script",
          match: /app\.js$/
        }
      ]
    },
    // add fetchpriority="high" to all preloads
    {
      priority: "high",
      files: [
        {
          type: "preload"
        }
      ]
    }
  ])
};

The output of the above configuration will be:

<head>
  <title>Demo</title>
  <link rel="stylesheet" href="/app.css" />
  <script type="module" src="/framework.js"></script>
-  <script type="module" src="/app.js"></script>
+  <script type="module" src="/app.js" fetchpriority="high"></script>
-  <link rel="preload" href="/roboto.woff2" type="font/woff2" as="font" crossorigin="anonymous" />
+  <link rel="preload" href="/roboto.woff2" type="font/woff2" as="font" crossorigin="anonymous" fetchpriority="high" />
-  <link rel="preload" href="/roboto-semibold.woff2" type="font/woff2" as="font" crossorigin="anonymous" />
+  <link rel="preload" href="/roboto-semibold.woff2" type="font/woff2" as="font" crossorigin="anonymous" fetchpriority="high" />

</head>

Options

priority

Type: high|low

The value of the fetchpriority attribute. Note that the plugin does not support auto as this is the default value and can be omitted.

files

Type: Array<{ type: string, match?: RegExp }>

The files to add the fetchpriority attribute to. The type is used to determine the tag to add the attribute to (script, link rel="stylesheet", or link rel="preload"). The match is optionally used to determine which files to add the attribute to if it isn't required on all files.

Motivation

The Fetch Priority API can be useful for improving the performance of websites by giving the browser hints on which resources to prioritize. This plugin allows you to add the fetchpriority attribute to resources created in your Vite build and not accessible in the HTML.

Read more:

License

Apache-2.0

Package Sidebar

Install

npm i vite-plugin-fetchpriority

Weekly Downloads

1

Version

0.1.2

License

Apache-2.0

Unpacked Size

25.7 kB

Total Files

6

Last publish

Collaborators

  • kevinfarrugia