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

@webeach-io/design

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@webeach-io/design

Design tokens for WebEach services

latest
Source
npmnpm
Version
0.2.1
Version published
Maintainers
1
Created
Source

@webeach-io/design

@webeach-io/design is a unified design tokens package used across the webeach services.

It provides a standardized foundation for building visually consistent user interfaces with full support for both light and dark modes.

πŸ“¦ Installation

yarn add @webeach-io/design

🎨 Colors

Each color group includes 9 shades (100–900) adapted for both light and dark modes. Shade 600 is the brand/accent anchor.

In light mode, 100 is the lightest shade and 900 is the darkest. In dark mode, the direction is inverted: 100 is the darkest (dark background) and 900 is the lightest (light foreground). This ensures that semantic variables like --color-neutral-100 always represent the primary background colour regardless of the active mode.

  • Primary β€” main brand accent colors
  • Secondary β€” additional accent colors
  • Neutral β€” neutral grayscale palette
  • Danger β€” used for errors and critical states
  • Warning β€” used for warnings and alerts
  • Success β€” used for success messages and confirmations

Light Mode Colors

The table below shows the color values for the light mode:

ColorNameJSCSS
Neutral 100LightModeColor.neutral100var(--lm-color-neutral-100)
Neutral 200LightModeColor.neutral200var(--lm-color-neutral-200)
Neutral 300LightModeColor.neutral300var(--lm-color-neutral-300)
Neutral 400LightModeColor.neutral400var(--lm-color-neutral-400)
Neutral 500LightModeColor.neutral500var(--lm-color-neutral-500)
Neutral 600LightModeColor.neutral600var(--lm-color-neutral-600)
Neutral 700LightModeColor.neutral700var(--lm-color-neutral-700)
Neutral 800LightModeColor.neutral800var(--lm-color-neutral-800)
Neutral 900LightModeColor.neutral900var(--lm-color-neutral-900)
Primary 100LightModeColor.primary100var(--lm-color-primary-100)
Primary 200LightModeColor.primary200var(--lm-color-primary-200)
Primary 300LightModeColor.primary300var(--lm-color-primary-300)
Primary 400LightModeColor.primary400var(--lm-color-primary-400)
Primary 500LightModeColor.primary500var(--lm-color-primary-500)
Primary 600LightModeColor.primary600var(--lm-color-primary-600)
Primary 700LightModeColor.primary700var(--lm-color-primary-700)
Primary 800LightModeColor.primary800var(--lm-color-primary-800)
Primary 900LightModeColor.primary900var(--lm-color-primary-900)
Secondary 100LightModeColor.secondary100var(--lm-color-secondary-100)
Secondary 200LightModeColor.secondary200var(--lm-color-secondary-200)
Secondary 300LightModeColor.secondary300var(--lm-color-secondary-300)
Secondary 400LightModeColor.secondary400var(--lm-color-secondary-400)
Secondary 500LightModeColor.secondary500var(--lm-color-secondary-500)
Secondary 600LightModeColor.secondary600var(--lm-color-secondary-600)
Secondary 700LightModeColor.secondary700var(--lm-color-secondary-700)
Secondary 800LightModeColor.secondary800var(--lm-color-secondary-800)
Secondary 900LightModeColor.secondary900var(--lm-color-secondary-900)
Danger 100LightModeColor.danger100var(--lm-color-danger-100)
Danger 200LightModeColor.danger200var(--lm-color-danger-200)
Danger 300LightModeColor.danger300var(--lm-color-danger-300)
Danger 400LightModeColor.danger400var(--lm-color-danger-400)
Danger 500LightModeColor.danger500var(--lm-color-danger-500)
Danger 600LightModeColor.danger600var(--lm-color-danger-600)
Danger 700LightModeColor.danger700var(--lm-color-danger-700)
Danger 800LightModeColor.danger800var(--lm-color-danger-800)
Danger 900LightModeColor.danger900var(--lm-color-danger-900)
Warning 100LightModeColor.warning100var(--lm-color-warning-100)
Warning 200LightModeColor.warning200var(--lm-color-warning-200)
Warning 300LightModeColor.warning300var(--lm-color-warning-300)
Warning 400LightModeColor.warning400var(--lm-color-warning-400)
Warning 500LightModeColor.warning500var(--lm-color-warning-500)
Warning 600LightModeColor.warning600var(--lm-color-warning-600)
Warning 700LightModeColor.warning700var(--lm-color-warning-700)
Warning 800LightModeColor.warning800var(--lm-color-warning-800)
Warning 900LightModeColor.warning900var(--lm-color-warning-900)
Success 100LightModeColor.success100var(--lm-color-success-100)
Success 200LightModeColor.success200var(--lm-color-success-200)
Success 300LightModeColor.success300var(--lm-color-success-300)
Success 400LightModeColor.success400var(--lm-color-success-400)
Success 500LightModeColor.success500var(--lm-color-success-500)
Success 600LightModeColor.success600var(--lm-color-success-600)
Success 700LightModeColor.success700var(--lm-color-success-700)
Success 800LightModeColor.success800var(--lm-color-success-800)
Success 900LightModeColor.success900var(--lm-color-success-900)

Dark Mode Colors

The table below shows the color values for the dark mode:

ColorNameJSCSS
Neutral 100DarkModeColor.neutral100var(--dm-color-neutral-100)
Neutral 200DarkModeColor.neutral200var(--dm-color-neutral-200)
Neutral 300DarkModeColor.neutral300var(--dm-color-neutral-300)
Neutral 400DarkModeColor.neutral400var(--dm-color-neutral-400)
Neutral 500DarkModeColor.neutral500var(--dm-color-neutral-500)
Neutral 600DarkModeColor.neutral600var(--dm-color-neutral-600)
Neutral 700DarkModeColor.neutral700var(--dm-color-neutral-700)
Neutral 800DarkModeColor.neutral800var(--dm-color-neutral-800)
Neutral 900DarkModeColor.neutral900var(--dm-color-neutral-900)
Primary 100DarkModeColor.primary100var(--dm-color-primary-100)
Primary 200DarkModeColor.primary200var(--dm-color-primary-200)
Primary 300DarkModeColor.primary300var(--dm-color-primary-300)
Primary 400DarkModeColor.primary400var(--dm-color-primary-400)
Primary 500DarkModeColor.primary500var(--dm-color-primary-500)
Primary 600DarkModeColor.primary600var(--dm-color-primary-600)
Primary 700DarkModeColor.primary700var(--dm-color-primary-700)
Primary 800DarkModeColor.primary800var(--dm-color-primary-800)
Primary 900DarkModeColor.primary900var(--dm-color-primary-900)
Secondary 100DarkModeColor.secondary100var(--dm-color-secondary-100)
Secondary 200DarkModeColor.secondary200var(--dm-color-secondary-200)
Secondary 300DarkModeColor.secondary300var(--dm-color-secondary-300)
Secondary 400DarkModeColor.secondary400var(--dm-color-secondary-400)
Secondary 500DarkModeColor.secondary500var(--dm-color-secondary-500)
Secondary 600DarkModeColor.secondary600var(--dm-color-secondary-600)
Secondary 700DarkModeColor.secondary700var(--dm-color-secondary-700)
Secondary 800DarkModeColor.secondary800var(--dm-color-secondary-800)
Secondary 900DarkModeColor.secondary900var(--dm-color-secondary-900)
Danger 100DarkModeColor.danger100var(--dm-color-danger-100)
Danger 200DarkModeColor.danger200var(--dm-color-danger-200)
Danger 300DarkModeColor.danger300var(--dm-color-danger-300)
Danger 400DarkModeColor.danger400var(--dm-color-danger-400)
Danger 500DarkModeColor.danger500var(--dm-color-danger-500)
Danger 600DarkModeColor.danger600var(--dm-color-danger-600)
Danger 700DarkModeColor.danger700var(--dm-color-danger-700)
Danger 800DarkModeColor.danger800var(--dm-color-danger-800)
Danger 900DarkModeColor.danger900var(--dm-color-danger-900)
Warning 100DarkModeColor.warning100var(--dm-color-warning-100)
Warning 200DarkModeColor.warning200var(--dm-color-warning-200)
Warning 300DarkModeColor.warning300var(--dm-color-warning-300)
Warning 400DarkModeColor.warning400var(--dm-color-warning-400)
Warning 500DarkModeColor.warning500var(--dm-color-warning-500)
Warning 600DarkModeColor.warning600var(--dm-color-warning-600)
Warning 700DarkModeColor.warning700var(--dm-color-warning-700)
Warning 800DarkModeColor.warning800var(--dm-color-warning-800)
Warning 900DarkModeColor.warning900var(--dm-color-warning-900)
Success 100DarkModeColor.success100var(--dm-color-success-100)
Success 200DarkModeColor.success200var(--dm-color-success-200)
Success 300DarkModeColor.success300var(--dm-color-success-300)
Success 400DarkModeColor.success400var(--dm-color-success-400)
Success 500DarkModeColor.success500var(--dm-color-success-500)
Success 600DarkModeColor.success600var(--dm-color-success-600)
Success 700DarkModeColor.success700var(--dm-color-success-700)
Success 800DarkModeColor.success800var(--dm-color-success-800)
Success 900DarkModeColor.success900var(--dm-color-success-900)

Mode Colors

The table below shows color values that adapt to both light and dark modes:

Light ModeDark ModeNameCSS
Neutral 100var(--color-neutral-100)
Neutral 200var(--color-neutral-200)
Neutral 300var(--color-neutral-300)
Neutral 400var(--color-neutral-400)
Neutral 500var(--color-neutral-500)
Neutral 600var(--color-neutral-600)
Neutral 700var(--color-neutral-700)
Neutral 800var(--color-neutral-800)
Neutral 900var(--color-neutral-900)
Primary 100var(--color-primary-100)
Primary 200var(--color-primary-200)
Primary 300var(--color-primary-300)
Primary 400var(--color-primary-400)
Primary 500var(--color-primary-500)
Primary 600var(--color-primary-600)
Primary 700var(--color-primary-700)
Primary 800var(--color-primary-800)
Primary 900var(--color-primary-900)
Secondary 100var(--color-secondary-100)
Secondary 200var(--color-secondary-200)
Secondary 300var(--color-secondary-300)
Secondary 400var(--color-secondary-400)
Secondary 500var(--color-secondary-500)
Secondary 600var(--color-secondary-600)
Secondary 700var(--color-secondary-700)
Secondary 800var(--color-secondary-800)
Secondary 900var(--color-secondary-900)
Danger 100var(--color-danger-100)
Danger 200var(--color-danger-200)
Danger 300var(--color-danger-300)
Danger 400var(--color-danger-400)
Danger 500var(--color-danger-500)
Danger 600var(--color-danger-600)
Danger 700var(--color-danger-700)
Danger 800var(--color-danger-800)
Danger 900var(--color-danger-900)
Warning 100var(--color-warning-100)
Warning 200var(--color-warning-200)
Warning 300var(--color-warning-300)
Warning 400var(--color-warning-400)
Warning 500var(--color-warning-500)
Warning 600var(--color-warning-600)
Warning 700var(--color-warning-700)
Warning 800var(--color-warning-800)
Warning 900var(--color-warning-900)
Success 100var(--color-success-100)
Success 200var(--color-success-200)
Success 300var(--color-success-300)
Success 400var(--color-success-400)
Success 500var(--color-success-500)
Success 600var(--color-success-600)
Success 700var(--color-success-700)
Success 800var(--color-success-800)
Success 900var(--color-success-900)

🌈 Gradients

Currently, there is one gradient variation, available in 9 shades (100–900) for each mode. Gradients are used for decorative elements and to emphasize visual hierarchy.

Light Mode Gradients

The table below shows the gradients for the light mode:

ColorNameJSCSS
Primary 100LightModeGradient.primary100var(--lm-gradient-primary-100)
Primary 200LightModeGradient.primary200var(--lm-gradient-primary-200)
Primary 300LightModeGradient.primary300var(--lm-gradient-primary-300)
Primary 400LightModeGradient.primary400var(--lm-gradient-primary-400)
Primary 500LightModeGradient.primary500var(--lm-gradient-primary-500)
Primary 600LightModeGradient.primary600var(--lm-gradient-primary-600)
Primary 700LightModeGradient.primary700var(--lm-gradient-primary-700)
Primary 800LightModeGradient.primary800var(--lm-gradient-primary-800)
Primary 900LightModeGradient.primary900var(--lm-gradient-primary-900)

Dark Mode Gradients

The table below shows the gradients for the dark mode:

ColorNameJSCSS
Primary 100DarkModeGradient.primary100var(--dm-gradient-primary-100)
Primary 200DarkModeGradient.primary200var(--dm-gradient-primary-200)
Primary 300DarkModeGradient.primary300var(--dm-gradient-primary-300)
Primary 400DarkModeGradient.primary400var(--dm-gradient-primary-400)
Primary 500DarkModeGradient.primary500var(--dm-gradient-primary-500)
Primary 600DarkModeGradient.primary600var(--dm-gradient-primary-600)
Primary 700DarkModeGradient.primary700var(--dm-gradient-primary-700)
Primary 800DarkModeGradient.primary800var(--dm-gradient-primary-800)
Primary 900DarkModeGradient.primary900var(--dm-gradient-primary-900)

Mode Gradients

The table below shows gradients that adapt to both light and dark modes.

Light ModeDark ModeNameCSS
Primary 100var(--gradient-primary-100)
Primary 200var(--gradient-primary-200)
Primary 300var(--gradient-primary-300)
Primary 400var(--gradient-primary-400)
Primary 500var(--gradient-primary-500)
Primary 600var(--gradient-primary-600)
Primary 700var(--gradient-primary-700)
Primary 800var(--gradient-primary-800)
Primary 900var(--gradient-primary-900)

πŸ“ Sizes

The design tokens package also includes size groups, consisting of both base and semantic values.

  • Base Sizes β€” foundational size values (e.g., container width/height)
  • Spacing β€” gaps between elements
  • Rounding β€” border radius values
  • Border Sizes β€” border thickness values

Base Sizes

Below is a table of all available base sizes:

NameValueJSCSS
1x4pxSize['1x']var(--size-1x)
2x8pxSize['2x']var(--size-2x)
3x12pxSize['3x']var(--size-3x)
4x16pxSize['4x']var(--size-4x)
4.5x18pxSize['4.5x']var(--size-4-5x)
5x20pxSize['5x']var(--size-5x)
6x24pxSize['6x']var(--size-6x)
7x28pxSize['7x']var(--size-7x)
8x32pxSize['8x']var(--size-8x)
10x40pxSize['10x']var(--size-10x)
12x48pxSize['12x']var(--size-12x)
16x64pxSize['16x']var(--size-16x)
24x96pxSize['24x']var(--size-24x)
32x128pxSize['32x']var(--size-32x)

Spacing Sizes

The table below shows all available spacing sizes.

NameValueJSCSS
0.5x2pxSpacing['0.5x']var(--spacing-0-5x)
1x4pxSpacing['1x']var(--spacing-1x)
2x8pxSpacing['2x']var(--spacing-2x)
3x12pxSpacing['3x']var(--spacing-3x)
4x16pxSpacing['4x']var(--spacing-4x)
5x20pxSpacing['5x']var(--spacing-5x)
6x24pxSpacing['6x']var(--spacing-6x)
7x28pxSpacing['7x']var(--spacing-7x)
8x32pxSpacing['8x']var(--spacing-8x)
10x40pxSpacing['10x']var(--spacing-10x)
12x48pxSpacing['12x']var(--spacing-12x)

Roundings

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° с Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ сгруглСний

NameValueJSCSS
1x4pxRounding['1x']var(--rounding-1x)
1.5x6pxRounding['1.5x']var(--rounding-1-5x)
2x8pxRounding['2x']var(--rounding-2x)
4x16pxRounding['4x']var(--rounding-4x)

Border Sizes

The table below shows all available border thickness values.

NameValueJSCSS
Thin1pxBorderSize.thinvar(--border-size-thin)
Regular2pxBorderSize.regularvar(--border-size-regilar)
Medium4pxBorderSize.mediumvar(--border-size-medium)
Bold6pxBorderSize.boldvar(--border-size-bold)
Extra Bold8pxBorderSize.extraBoldvar(--border-size-extra-bold)

✍️ Typography

The typography system includes styles for various levels of headings, body text, and code blocks.

Available groups:

  • Headings β€” 5 levels with different weight variations
  • Body text β€” multiple sizes and weights
  • Monospaced style β€” for displaying code

⚠️ Note: Font files are not included in this package. You are responsible for importing fonts manually in your project, for example via Google Fonts.

Root Font Size Requirement

Font sizes in this package use rem units scaled to a 10px base: 1rem = 10px. This means your project must set the following in its global CSS:

:root {
  font-size: 62.5%; /* 1rem = 10px (62.5% of the browser default 16px) */
}

Without this, all rem-based typography values will render at incorrect sizes. For example, 1.6rem is intended to render as 16px, but without the root override it would compute to 25.6px (1.6 Γ— 16px).

Why 62.5%? Most browsers default to font-size: 16px. Setting 62.5% brings it down to 10px, which makes rem arithmetic straightforward: 1.6rem β†’ 16px, 1.2rem β†’ 12px, 3.2rem β†’ 32px, etc.

Font Families

Font stacks are exposed as separate CSS variables, which allows consumers to override them independently of the individual typography tokens:

VariantCSS VariableFont Stack
primaryvar(--font-variant-primary)"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif
monospacevar(--font-variant-monospace)"Roboto Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace

Font size values use rem units. Line height values are unitless ratios.

Typography Styles

Below is a table of all available typography styles:

NameFont VariantFont SizeFont WeightLine HeightJSCSS
H1 / mediumprimary3.2rem5001.25Typography.H1.mediumvar(--typography-h1-medium)
H2 / mediumprimary2.4rem5001.25Typography.H2.mediumvar(--typography-h2-medium)
H3 / regularprimary2rem4001.2Typography.H3.regularvar(--typography-h3-regular)
H3 / mediumprimary2rem5001.2Typography.H3.mediumvar(--typography-h3-medium)
H4 / regularprimary1.8rem4001.33333Typography.H4.regularvar(--typography-h4-regular)
H4 / mediumprimary1.8rem5001.33333Typography.H4.mediumvar(--typography-h4-medium)
H5 / regularprimary1.6rem4001.5Typography.H5.regularvar(--typography-h5-regular)
H5 / mediumprimary1.6rem5001.5Typography.H5.mediumvar(--typography-h5-medium)
H5 / boldprimary1.6rem7001.5Typography.H5.boldvar(--typography-h5-bold)
Body / extraSmall / regularprimary1.2rem4001.5Typography.Body.extraSmall.regularvar(--typography-body-extra-small-regular)
Body / extraSmall / mediumprimary1.2rem5001.5Typography.Body.extraSmall.mediumvar(--typography-body-extra-small-medium)
Body / small / regularprimary1.4rem4001.28571Typography.Body.small.regularvar(--typography-body-small-regular)
Body / small / mediumprimary1.4rem5001.28571Typography.Body.small.mediumvar(--typography-body-small-medium)
Body / small / boldprimary1.4rem7001.28571Typography.Body.small.boldvar(--typography-body-small-bold)
Body / medium / regularprimary1.6rem4001.5Typography.Body.medium.regularvar(--typography-body-medium-regular)
Body / medium / mediumprimary1.6rem5001.5Typography.Body.medium.mediumvar(--typography-body-medium-medium)
Body / medium / boldprimary1.6rem7001.5Typography.Body.medium.boldvar(--typography-body-medium-bold)
Code / regularmonospace1.4rem4001.42857Typography.Code.regularvar(--typography-code-regular)

πŸŽ›οΈ Mode Switching

To enable automatic mode-based styling, make sure to include the generated CSS tokens file:

import '@webeach-io/design/tokens.css';

The current mode is controlled via the data-ui-mode attribute on the any HTML element. You should define a default value:

<html data-ui-mode="light">
  <head>
    ...
  </head>
  <body>
    ...
  </body>
</html>
<div data-ui-mode="dark">...</div>

You can also manually retrieve mode color and gradient maps in JavaScript:

import { getModeColor, getModeGradient } from '@wrs/design';

const Color = getModeColor('light');
const Gradient = getModeGradient('light');

console.log(Color.primary600); // "hsl(301 53% 55%)"
console.log(Gradient.primary600); // ["hsl(201 84% 55%)", "hsl(301 53% 55%)"]

πŸ’‘ Examples

Colors

.button {
  background-color: var(--color-primary-500);
  color: var(--color-neutral-100);
}

Gradients

.button {
  background-image: var(--gradient-primary-600);
}

Sizes

.box {
  block-size: var(--size-10x);
  inline-size: var(--size-12x);

  padding-block: var(--size-2x);
  padding-inline: var(--size-3x);
}
.box {
  display: flex;
  gap: var(--spacing-1x);
}
.button {
  background-color: var(--color-neutral-100);
  border-color: var(--color-secondary-600);
  color: var(--color-neutral-900);

  border-style: solid;
  border-width: var(--border-size-regular);
  border-radius: var(--rounding-2x);
}

Typography

.heading-1 {
  font: var(--typography-h1-medium);
}

.paragraph {
  font: var(--typography-body-medium-regular);
}

.small-text {
  font: var(--typography-body-small-regular);
}

.code {
  font: var(--typography-code-regular);
}

🧩 TypeScript Types

This package also provides full TypeScript typings for all design token objects.

import type {
  BorderSizeKey,
  BorderSizeType,
  BorderSizeValue,
  ColorKey,
  GradientKey,
  ModeKey,
  RoundingKey,
  RoundingType,
  RoundingValue,
  SizeKey,
  SizeType,
  SizeValue,
  SpacingKey,
  SpacingType,
  SpacingValue,
  TypographyType,
} from '@webeach-io/design';

You can also access the font family map at runtime (for example, to override font stacks):

import { TypographyFontFamilyMap } from '@webeach-io/design';

console.log(TypographyFontFamilyMap.primary);
// '"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif'

These types help you maintain type safety when working with token keys or token maps in your own components, utilities, or design tooling.

βš™οΈ Development

Build the library

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

yarn run build

Watch mode

Watches for file changes and rebuilds automatically.

yarn run build:watch

Generate assets

Generates color and gradient preview images for use in the README.md.

yarn run generate:assets

⚠️ Note: you need to run this manually whenever you update the color or gradient token sets.

βœ… Design Token Requirements

All tokens are validated during the build process. Below are the basic format requirements:

  • Key names (key) must be in camelCase format
    • Example: primary100, secondary900, extraRelaxed
  • Colors must use the HSL format
    • Example: hsl(301 53% 55%)
    • hex, rgb, rgba, and other formats are not allowed
  • Sizes (e.g., Size, Spacing, Rounding, BorderSize) must be in px units
    • Example: 16px, 24px
    • em, rem, %, auto, inherit, and other units are not allowed
  • Font sizes (FontSize) must be in rem units
    • Example: 1.2rem, 1.6rem
    • px, em, %, and other units are not allowed
  • Line heights (LineHeight) must be unitless numeric ratios
    • Example: 1.2, 1.5
    • String values with units are not allowed
  • Font family (fontFamily in Typography) must be a variant key ("primary" or "monospace") β€” not a raw font stack string
  • All values must be explicitly defined β€” empty strings are not allowed

If any token does not meet these requirements, the build will fail with a console error.

πŸ”– 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).
  • Update the README.md:
  • All tables should be updated if any tokens related to colors, sizes, or typography were changed.
  • If color or gradient tokens were changed, also run yarn run generate:assets to regenerate the color preview images.

πŸ‘¨β€πŸ’» 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.

FAQs

Package last updated on 03 Apr 2026

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