Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@shikijs/core
Advanced tools
@shikijs/core is a syntax highlighter for the web that is designed to be fast, lightweight, and easy to use. It supports a wide range of programming languages and can be easily integrated into various web applications.
Syntax Highlighting
This feature allows you to highlight code syntax for various programming languages. The code sample demonstrates how to use the @shikijs/core package to highlight JavaScript code using the 'nord' theme.
const shiki = require('@shikijs/core');
async function highlightCode() {
const highlighter = await shiki.getHighlighter({ theme: 'nord' });
const code = `const x = 10;`;
const highlightedCode = highlighter.codeToHtml(code, { lang: 'javascript' });
console.log(highlightedCode);
}
highlightCode();
Custom Themes
This feature allows you to create and use custom themes for syntax highlighting. The code sample demonstrates how to define a custom theme and use it to highlight JavaScript code.
const shiki = require('@shikijs/core');
async function customThemeHighlight() {
const highlighter = await shiki.getHighlighter({
theme: {
name: 'my-custom-theme',
type: 'dark',
colors: {
'editor.background': '#1e1e1e'
},
tokenColors: [
{
scope: 'comment',
settings: {
foreground: '#6A9955'
}
}
]
}
});
const code = `// This is a comment`;
const highlightedCode = highlighter.codeToHtml(code, { lang: 'javascript' });
console.log(highlightedCode);
}
customThemeHighlight();
Language Registration
This feature allows you to register custom languages for syntax highlighting. The code sample demonstrates how to register a custom language and use it to highlight code.
const shiki = require('@shikijs/core');
async function registerLanguage() {
const highlighter = await shiki.getHighlighter({ theme: 'nord' });
await highlighter.loadLanguage({ id: 'myLang', scopeName: 'source.myLang', grammar: {/* grammar definition */} });
const code = `myLang code here`;
const highlightedCode = highlighter.codeToHtml(code, { lang: 'myLang' });
console.log(highlightedCode);
}
registerLanguage();
highlight.js is a popular syntax highlighter written in JavaScript. It supports a wide range of languages and is known for its ease of use and extensive language support. Compared to @shikijs/core, highlight.js is more established but may not be as lightweight or fast.
Prism is a lightweight, extensible syntax highlighter. It is designed to be easy to customize and extend, with a focus on performance. Compared to @shikijs/core, Prism offers a more modular approach but may require more configuration for advanced use cases.
The core functionality of Shiki, without any grammar of themes bundled.
It's the same as importing shiki/core
.
FAQs
Core of Shiki
The npm package @shikijs/core receives a total of 736,088 weekly downloads. As such, @shikijs/core popularity was classified as popular.
We found that @shikijs/core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.