
Security News
Open VSX Unblocks Extension IDs Used in Malware Campaign
Open VSX has removed three extension IDs from its malicious-extension list as the legitimate publishers they impersonated move to claim the names for themselves.
cybercore-charts
Advanced tools
Zero-dependency cyberpunk SVG chart library with neon aesthetics and glitch effects
Zero-dependency SVG chart library with cyberpunk aesthetics
Neon glows, dark themes, and futuristic data visualization
| Feature | Description |
|---|---|
| Zero Dependencies | No runtime dependencies - pure TypeScript |
| SVG Output | Clean SVG strings or DOM elements |
| SSR Compatible | Works in Node.js and browser environments |
| Cyberpunk Theme | Neon glows, dark backgrounds, futuristic style |
| Fully Typed | Complete TypeScript definitions |
| Tree-Shakeable | Import only the charts you need |
| Accessible | Respects prefers-reduced-motion |
| Tiny Bundle | <10KB minified + gzipped |

Complete dashboard with chart type previews and feature overview

Smooth curves with neon glow effects in cyan, magenta, yellow, and green

Vertical bars with gradient fills across all color themes

Gauges for system metrics with neon glow and animated progress

Live streaming charts with 100ms updates for monitoring dashboards
npm install cybercore-charts
Or via CDN:
<script src="https://unpkg.com/cybercore-charts@latest/dist/cybercore-charts.min.js"></script>
import { LineChart } from 'cybercore-charts';
const chart = new LineChart({
width: 600,
height: 400,
data: [
{ x: 0, y: 10 },
{ x: 1, y: 25 },
{ x: 2, y: 15 },
{ x: 3, y: 30 },
{ x: 4, y: 22 },
],
glow: true,
color: '#00f0ff',
});
// Get SVG string
const svg = chart.render();
// Or append to DOM
document.getElementById('chart').appendChild(chart.toElement());
import { LineChart } from 'cybercore-charts';
const chart = new LineChart({
width: 600,
height: 400,
data: [
{ x: 0, y: 10 },
{ x: 1, y: 25 },
{ x: 2, y: 15 },
],
color: '#00f0ff',
glow: true,
curve: 'smooth',
showPoints: true,
showArea: false,
});
import { BarChart } from 'cybercore-charts';
const chart = new BarChart({
width: 600,
height: 400,
data: [
{ label: 'Alpha', value: 45 },
{ label: 'Beta', value: 72 },
{ label: 'Gamma', value: 58 },
],
orientation: 'vertical',
colors: ['#00f0ff', '#ff00aa', '#00ff88'],
showValues: true,
});
import { PieChart } from 'cybercore-charts';
const chart = new PieChart({
width: 400,
height: 400,
data: [
{ label: 'Sector A', value: 35 },
{ label: 'Sector B', value: 25 },
{ label: 'Sector C', value: 40 },
],
donut: true,
innerRadius: 60,
showLabels: true,
});
import { AreaChart } from 'cybercore-charts';
const chart = new AreaChart({
width: 600,
height: 400,
data: [
{ x: 0, y: 10 },
{ x: 1, y: 25 },
{ x: 2, y: 15 },
],
gradient: true,
color: '#ff00aa',
});
import { ScatterChart } from 'cybercore-charts';
const chart = new ScatterChart({
width: 600,
height: 400,
data: [
{ x: 10, y: 20, size: 5 },
{ x: 30, y: 45, size: 8 },
{ x: 50, y: 30, size: 6 },
],
pulse: true,
});
import { GaugeChart } from 'cybercore-charts';
const chart = new GaugeChart({
width: 300,
height: 200,
value: 72,
min: 0,
max: 100,
label: 'CPU',
color: '#00ff88',
});
import { RadarChart } from 'cybercore-charts';
const chart = new RadarChart({
width: 400,
height: 400,
data: [
{ axis: 'Speed', value: 80 },
{ axis: 'Power', value: 65 },
{ axis: 'Range', value: 90 },
{ axis: 'Stealth', value: 45 },
{ axis: 'Armor', value: 70 },
],
});
import { Sparkline } from 'cybercore-charts';
const chart = new Sparkline({
width: 120,
height: 30,
data: [5, 10, 8, 15, 12, 18, 14],
color: '#f0ff00',
});
All chart types accept these base options:
interface ChartOptions {
width: number; // Chart width in pixels
height: number; // Chart height in pixels
theme?: ThemeConfig; // Custom theme configuration
animate?: boolean; // Enable animations (default: true)
responsive?: boolean; // Enable responsive sizing
padding?: {
// Chart padding
top: number;
right: number;
bottom: number;
left: number;
};
}
All chart instances provide:
// Render to SVG string
chart.render(): string;
// Create SVGElement
chart.toElement(): SVGElement;
// Update data
chart.update(newData): void;
// Destroy and cleanup
chart.destroy(): void;
import { LineChart } from 'cybercore-charts';
// Use preset theme
const chart = new LineChart({
theme: 'cyber', // 'cyber' | 'neon' | 'matrix'
// ...
});
import { createTheme, LineChart } from 'cybercore-charts';
const myTheme = createTheme({
colors: {
primary: '#00f0ff',
secondary: '#ff00aa',
tertiary: '#f0ff00',
success: '#00ff88',
background: '#0a0a0f',
surface: '#1a1a2f',
grid: '#2a2a3f',
text: '#ffffff',
textMuted: '#8a8a9a',
},
effects: {
glow: true,
glowIntensity: 0.8,
scanlines: false,
animated: true,
},
fonts: {
family: '"JetBrains Mono", monospace',
size: 12,
},
});
const chart = new LineChart({
theme: myTheme,
// ...
});
Charts respect CSS custom properties when rendered in the DOM:
:root {
--cyber-chart-primary: #00f0ff;
--cyber-chart-background: #0a0a0f;
--cyber-chart-grid: #2a2a3f;
--cyber-chart-text: #ffffff;
--cyber-chart-glow: 0 0 10px currentColor;
}
| Browser | Version |
|---|---|
| Chrome | 88+ |
| Firefox | 85+ |
| Safari | 14+ |
| Edge | 88+ |
Requires SVG 1.1 and ES2020 support
cybercore-charts/
├── src/
│ ├── charts/ # Chart implementations
│ │ ├── line.ts
│ │ ├── bar.ts
│ │ ├── pie.ts
│ │ ├── area.ts
│ │ ├── scatter.ts
│ │ ├── gauge.ts
│ │ ├── radar.ts
│ │ └── sparkline.ts
│ ├── utils/ # Shared utilities
│ │ ├── scales.ts
│ │ ├── axes.ts
│ │ ├── colors.ts
│ │ └── animations.ts
│ ├── styles/ # Theme definitions
│ │ ├── theme.ts
│ │ └── variables.ts
│ ├── types.ts # TypeScript definitions
│ └── index.ts # Main entry
├── demo/ # Demo site
└── tests/ # Test suites
# Install dependencies
npm install
# Start dev server
npm run dev
# Build library
npm run build
# Run tests
npm run test
# Lint and format
npm run lint
npm run format
See CONTRIBUTING.md for guidelines.
MIT License - Use it, visualize it, share it.
FAQs
Zero-dependency cyberpunk SVG chart library with neon aesthetics and glitch effects
The npm package cybercore-charts receives a total of 10 weekly downloads. As such, cybercore-charts popularity was classified as not popular.
We found that cybercore-charts demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Open VSX has removed three extension IDs from its malicious-extension list as the legitimate publishers they impersonated move to claim the names for themselves.

Product
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.

Product
Socket is bringing experimental protection to Firefox, scanning 97,000+ extensions in Mozilla's official directory for malware and risky updates.