New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@webeach/code-parser

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@webeach/code-parser

Parse code strings into HTML or HAST with syntax highlighting for the WebEach ecosystem

latest
Source
npmnpm
Version
1.0.0
Version published
Maintainers
1
Created
Source

@webeach/code-parser

🔥 Code parser & syntax highlighter based on lowlight, used across the WebEach ecosystem to highlight code snippets consistently in Markdown, blogs, documentation, and extra UI components.

Converts raw code strings into:

  • 📆 HAST (Hypertext Abstract Syntax Tree)
  • 🧹 Pre-rendered HTML with consistent class naming (_token-*)

✨ Features

  • Supports popular languages: TypeScript, JavaScript, CSS, YAML, Bash, JSON, Markdown, etc.
  • Converts code to HAST or HTML
  • Tiny, dependency-light

📦 Installation

yarn add @webeach/code-parser

🧠 Usage

1. Parse to HAST (for custom rendering or serialization)

import { parseCodeToHast } from '@webeach/code-parser';

const hast = parseCodeToHast(`const foo = 'bar'`, 'typescript');

2. Parse to HTML (ready to inject into the DOM)

import { parseCodeToHtml } from '@webeach/code-parser';

const html = parseCodeToHtml(`const foo = 'bar'`, 'typescript');
// <span class="_token-keyword">const</span> foo = ...

🤩 Supported Languages

import type { LangKey } from '@webeach/code-parser';

const lang: LangKey = 'typescript'; // autocomplete-safe

Supported languages:

  • bash
  • css
  • html
  • javascript
  • json
  • less
  • markdown
  • scss
  • shell
  • sql
  • stylus
  • typescript
  • xml
  • yaml

🎨 Styling

This library outputs class names like _token-keyword, _token-string, etc.

You can map these to your design system using CSS:

._token-comment,
._token-quote {
  color: var(--color-neutral-6);
  font-style: italic;
}

._token-doctag,
._token-formula,
._token-keyword,
._token-name {
  color: var(--color-primary-7);
}

._token-section,
._token-selector-tag,
._token-deletion,
._token-subst {
  color: var(--color-danger-9);
}

._token-literal,
._token-number {
  color: var(--color-secondary-7);
}

._token-string,
._token-regexp,
._token-addition,
._token-attribute,
._token-meta ._token-string {
  color: var(--color-success-8);
}

._token-attr,
._token-variable,
._token-template-variable,
._token-type,
._token-selector-class,
._token-selector-attr,
._token-selector-pseudo {
  color: var(--color-warning-9);
}

._token-symbol,
._token-bullet,
._token-link,
._token-meta,
._token-selector-id,
._token-title {
  color: var(--color-secondary-7);
}

._token-built_in,
._token-title.class_,
._token-class ._token-title {
  color: var(--color-warning-8);
}

._token-emphasis {
  font-style: italic;
}

._token-strong {
  font-weight: bold;
}

._token-link {
  text-decoration: underline;
}

⚙️ Development

Build the library

Compiles the codebase and generates the production-ready output in the lib directory.

yarn run build

Watch mode

Watches for file changes and rebuilds automatically.

yarn run build:watch

🔖 Releasing a New Version

Releases are handled automatically using semantic-release.

Before publishing a new version, make sure to:

  • Commit and push all changes to the main branch.
  • Use commit messages that follow the Conventional Commits format:
    • feat: ... — for new features
    • fix: ... — for bug fixes
    • chore: ..., refactor: ..., etc.
  • Versioning is determined automatically based on the type of commits (patch, minor, major).

👨‍💻 Author

Developed and maintained by Ruslan Martynov

If you have any suggestions or find a bug, feel free to open an issue or pull request.

📄 License

This package is licensed under the MIT License.

Keywords

syntax

FAQs

Package last updated on 20 Apr 2025

Did you know?

Socket

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.

Install

Related posts