Registry / web-framework / vite-plugin-prismjs

vite-plugin-prismjs

JSON →
library0.0.11jsnpmunverified

A Vite plugin that integrates Prism.js syntax highlighting by processing JavaScript imports to include only specified languages, plugins, and themes. Version 0.0.11 (latest as of 2023) targets Node >=12 and ships TypeScript definitions. It works at transform time to reduce bundle size. Compared to manual Prism.js setup, it automates language registration and avoids unnecessary imports. The plugin mirrors the configuration of babel-plugin-prismjs, making migration straightforward for projects switching from Babel to Vite.

npm install vite-plugin-prismjs
INSTALL
IMPORT
SIG · VITE-PLUGIN-PRISMJ
V
vite-plugin-prismjs
web-frameworkjavascriptv0.0.11
Install
—
Import
—
Disk
—
Pass rate
0/ 6
Env Coverage0 / 6
glibc
18–22
musl
18–22
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18–223 runs
build_error
glibc
node 18–223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
✓ import prismjs from 'vite-plugin-prismjs'
✗ const prismjs = require('vite-plugin-prismjs')
Plugin is ESM-only; require will fail.
defineConfig
✓ import { defineConfig } from 'vite'
Used in vite.config.js; not exported from vite-plugin-prismjs.
vite-plugin-prismjs types
✓ import type { PrismjsOptions } from 'vite-plugin-prismjs'
TypeScript types are shipped.

Configures Vite to use the prismjs plugin with three languages, two plugins, and the okaidia theme, enabling CSS injection.

// vite.config.js import { defineConfig } from 'vite'; import prismjs from 'vite-plugin-prismjs'; export default defineConfig({ plugins: [ prismjs({ languages: ['javascript', 'css', 'html'], plugins: ['line-numbers', 'show-language'], theme: 'okaidia', css: true, }), ], });
Debug
Known issues
gotchaThe 'languages' option can be set to 'all' to include all languages, but this increases bundle size significantly.
fix
Specify only needed languages as an array.
affects: >=0.0.0
deprecatedOption 'css' defaults to true; if set to false, Prism.js CSS is not injected and must be loaded manually.
fix
Set css: false if you handle styles separately.
affects: >=0.0.0
gotchaThe plugin only processes .js/.ts files; it does not work with .vue templates or .svelte files directly.
fix
Ensure Prism.js is imported in a JavaScript/TypeScript module that is processed by Vite.
affects: >=0.0.0
Errors
Common errors & fixes
Error: The plugin 'vite-plugin-prismjs' doesn't have a 'resolveId' hook or is not a function.
Using require() in an ESM project or incorrect import syntax.
fix
Use import prismjs from 'vite-plugin-prismjs'.
[vite] Internal server error: prismjs is not defined
Missing prismjs peer dependency.
fix
Run npm install prismjs.
TypeError: prismjs is not a function
Using default import as a named import (e.g., import { prismjs } from 'vite-plugin-prismjs').
fix
Use import prismjs from 'vite-plugin-prismjs'.
Upgrade
Version history
0.0.11latest on npm
Audit
Dependencies
prismjsrequiredPeer dependency for Prism.js library
viterequiredPeer dependency as a Vite plugin
Agent activity
15 hits · last 30 days
node
14
OpenAI (training)
1
Resources
vite-plugin-prismjs — npm install vite-plugin-prismjs · libregistry