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
1822
musl
1822
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 18223 runs
build_error
glibc
node 18223 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
8 hits · last 30 days
node
6
Amazon
1
OpenAI (training)
1
Resources
vite-plugin-prismjs — npm install vite-plugin-prismjs · libregistry