CSS Gradient Parser

0.0.18 · active · verified Tue Apr 21

css-gradient-parser is a JavaScript/TypeScript library designed to parse CSS gradient strings, specifically developed to extend gradient feature support within the Vercel Satori library. Currently at version 0.0.18, it provides distinct functions for parsing linear, radial, and conic gradients, including their `repeating` variations. As a pre-1.0 project, its release cadence is likely irregular, with features and API potentially evolving rapidly. Its primary differentiator is its targeted integration with Satori, aiming to bridge the gap in gradient rendering capabilities for server-side image generation, though it can be used independently for general CSS gradient parsing needs.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates how to parse various CSS gradient types (linear, radial, conic, repeating) using their respective functions and logs the structured output.

import { parseLinearGradient, parseRadialGradient, parseConicGradient } from 'css-gradient-parser';

const linearGradientStr = 'linear-gradient(to right, red, blue 50%, yellow)';
const radialGradientStr = 'radial-gradient(circle at top left, white, black 80%)';
const conicGradientStr = 'conic-gradient(from 90deg at 25% 75%, red, orange, yellow, green, blue, indigo, violet)';
const repeatingLinearGradientStr = 'repeating-linear-gradient(45deg, red, red 5px, blue 5px, blue 10px)';

console.log('Parsing linear gradient:', linearGradientStr);
const linearResult = parseLinearGradient(linearGradientStr);
console.log(JSON.stringify(linearResult, null, 2));

console.log('\nParsing radial gradient:', radialGradientStr);
const radialResult = parseRadialGradient(radialGradientStr);
console.log(JSON.stringify(radialResult, null, 2));

console.log('\nParsing conic gradient:', conicGradientStr);
const conicResult = parseConicGradient(conicGradientStr);
console.log(JSON.stringify(conicResult, null, 2));

console.log('\nParsing repeating linear gradient:', repeatingLinearGradientStr);
const repeatingLinearResult = parseLinearGradient(repeatingLinearGradientStr);
console.log(JSON.stringify(repeatingLinearResult, null, 2));

view raw JSON →