vite-plugin-subresource-integrity
raw JSON → 0.0.12 verified Mon Apr 27 auth: no javascript
Vite plugin that adds subresource integrity (SRI) hashes to script and stylesheet imports in index.html at build time. Version 0.0.12 is the latest, with an unknown release cadence. It is a TypeScript rewrite of @small-tech/vite-plugin-sri, offering native type definitions and support for multiple frameworks (Vue, React, Svelte, Solid, Qwik, Lit, Preact, vanilla). Key differentiators: lightweight, no runtime overhead, and simple configuration. Alternatives include rollup-plugin-sri and @small-tech/vite-plugin-sri.
Common errors
error Error: Cannot find module 'vite-plugin-subresource-integrity' ↓
cause Plugin not installed or incorrect import path.
fix
Run
npm i --save-dev vite-plugin-subresource-integrity and ensure import using default import. error ReferenceError: require is not defined ↓
cause Using require() in an ESM context.
fix
Replace
require() with import statement. error TypeError: subresourceIntegrity is not a function ↓
cause Using named import instead of default import.
fix
Use
import subresourceIntegrity from 'vite-plugin-subresource-integrity'. Warnings
gotcha Plugin only works at build time, not in dev mode. ↓
fix No fix needed; SRI is only relevant for production builds.
gotcha Plugin modifies index.html after build. If using custom HTML templates, ensure the plugin runs after other HTML transformers. ↓
fix Order plugins carefully: subresourceIntegrity() should be placed after HTML manipulation plugins.
deprecated This plugin is a fork; original @small-tech/vite-plugin-sri is unmaintained. ↓
fix Continue using this plugin or switch to rollup-plugin-sri if needed.
gotcha Does not support dynamic imports or async chunks by default. ↓
fix Manually add integrity attributes in HTML for dynamic chunks or use a full rollup SRI plugin.
Install
npm install vite-plugin-subresource-integrity yarn add vite-plugin-subresource-integrity pnpm add vite-plugin-subresource-integrity Imports
- subresourceIntegrity wrong
const subresourceIntegrity = require('vite-plugin-subresource-integrity')correctimport subresourceIntegrity from 'vite-plugin-subresource-integrity' - default export wrong
import { subresourceIntegrity } from 'vite-plugin-subresource-integrity'correctimport subresourceIntegrity from 'vite-plugin-subresource-integrity' - VitePluginSubresourceIntegrity
import type { VitePluginSubresourceIntegrity } from 'vite-plugin-subresource-integrity'
Quickstart
// vite.config.js
import { defineConfig } from 'vite';
import subresourceIntegrity from 'vite-plugin-subresource-integrity';
export default defineConfig({
plugins: [subresourceIntegrity()]
});