
Research
/Security News
Laravel Lang Compromised with RCE Backdoor Across 700+ Versions
Laravel Lang packages were compromised with an RCE backdoor across hundreds of versions, exposing cloud, CI/CD, and developer secrets.
shiki-processor
Advanced tools
Add processing capabilities to Shiki's highlighter
npm i shiki shiki-processor
shiki-processor exports a custom getHighlighter that provides the same API as the one exported from shiki, except it adds a new processors option.
import { getHighlighter, createFocusProcessor } from 'shiki-processor'
const snippet = /** ... */
const highlighter = await getHighlighter({
processors: [
createFocusProcessor(),
],
})
highlighter.codeToHtml(snippet, { lang: 'javascript' })
Alternatively, for more flexibility, it is possible to use the process and postProcess functions directly.
import { getHighlighter } from 'shiki'
import { process, postProcess } from 'shiki-processor'
const theme = 'material-theme-palenight'
const lang = 'javascript'
const snippet = /** ... */
const processors = [
createFocusProcessor(),
]
const highlighter = await getHighlighter({ theme })
const { code, lineOptions } = process(processors, snippet, lang)
const highlighted = highlighter.codeToHtml(code, {
lang,
theme,
lineOptions,
})
return postProcess(processors, highlighted, lang)
There is currently three processors: focus, diff and highlight. Each one of them adds the possibility of adding a // [!code <tag>] annotation to a line in a code snipppet.
When this annotation is found, it is removed and a class corresponding to the processor is added to the line. The complete code block is also added a class.
// Input
function() {
console.log('hewwo') // [!code --]
console.log('hello') // [!code ++]
}
<!-- Output (stripped of `style` attributes for clarity) -->
<pre class="shiki has-diff"> <!-- Notice `has-diff` -->
<code>
<span class="line"></span>
<span class="line"><span>function</span><span>()</span><span></span><span>{</span></span>
<span class="line diff remove"> <!-- Notice `diff` and `remove` -->
<span></span><span>console</span><span>.</span><span>log</span><span>(</span><span>'</span><span>hewwo</span><span>'</span><span>) </span>
</span>
<span class="line diff add"> <!-- Notice `diff` and `add` -->
<span></span><span>console</span><span>.</span><span>log</span><span>(</span><span>'</span><span>hello</span><span>'</span><span>) </span>
</span>
<span class="line"><span></span><span>}</span></span>
<span class="line"><span></span></span>
</code>
</pre>
Optionally, a range can be defined by adding a colon and a number of lines: // [!code focus:3].
·
Built with ❤︎ by Enzo Innocenzi
FAQs
Add processing capabilities to Shiki's highlighter
The npm package shiki-processor receives a total of 192 weekly downloads. As such, shiki-processor popularity was classified as not popular.
We found that shiki-processor demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Laravel Lang packages were compromised with an RCE backdoor across hundreds of versions, exposing cloud, CI/CD, and developer secrets.

Security News
Socket found a malicious postinstall hook across 700+ GitHub repos, including PHP packages on Packagist and Node.js project repositories.

Security News
Vibe coding at scale is reshaping how packages are created, contributed, and selected across the software supply chain