npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@srgssr/web-suite-utils

v1.0.0

Published

`@srgssr/web-suite-utils` is a lightweight utility library used across Pillarbox Web components and plugins. It contains shared helper functions and modules designed to reduce duplication and promote consistency across the suite.

Downloads

119

Readme

Pillarbox Web: WebSuiteUtils

@srgssr/web-suite-utils is a lightweight utility library used across Pillarbox Web components and plugins. It contains shared helper functions and modules designed to reduce duplication and promote consistency across the suite.

Requirements

To use this component, you need the following installed on your system:

  • Node.js

Quick Start

To get started with this component, install it through the following command:

npm install --save @srgssr/web-suite-utils

API Documentation

loadSvgElement(icon)

Resolves an icon source to an SVGElement. Useful for dynamic or flexible icon handling.

| Parameter | Type | Description | |-----------|-------------------------------|------------------------------------------------------------------------------------------------------| | icon | SVGElement \| string \| URL | Source of the SVG. Can be an actual SVGElement, a raw SVG string, a URL string, or a URL object. |

Returns: A Promise<SVGElement> resolving to the parsed and validated SVG element.

Throws: If the input is of an unsupported type or the SVG cannot be parsed (e.g., malformed XML, unreachable URL, or invalid root tag).

Icon Input Formats

The utility supports a variety of input formats:

  • SVGElement

    const myIcon = document.querySelector('svg');
    const svg = await loadSvgElement(myIcon); // Returned as-is
  • Inline SVG string

    const svg = await loadSvgElement('<svg><rect width="20" height="20" /></svg>');
  • URL (string or URL object)

 const svg = await loadSvgElement('https://example.com/icon.svg');

 // Or with a URL object
 const iconUrl = new URL('https://example.com/icon.svg');
 const svg = await loadSvgElement(iconUrl);

Contributing

For detailed contribution guidelines, refer to our Contributing guide. Please adhere to the specified guidelines.

Licensing

This project is licensed under the MIT License. See the LICENSE file for more details.