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 🙏

© 2026 – Pkg Stats / Ryan Hefner

webdetta

v0.1.178

Published

The library contains a list of 100+ useful functions that accelerated and simplified my work on the last 30+ web-development projects.

Downloads

486

Readme

Webdetta — web application building blocks

The library contains a list of 100+ useful functions that accelerated and simplified my work on the last 30+ web-development projects.

The purpose of this project:

  • never write the same repetitive code again, when starting a new project
  • provide a curated list of tools that work well together
  • eleminate dependency hell — simply use webdetta for most common needs

Every function in this library is used in dozens of real-world production projects.

Modules list

Core modules

> webdetta/builder
Implements expressive, chainable DSL syntax using the builder pattern.

> webdetta/context
A flexible way of handling scoped variables. Supports sync, async and reactive contexts.

> webdetta/convert
Data conversion utilities: text, base64, data URI, blob/file, formdata, json, and more.

> webdetta/i18n
Internationalization utility for translating UI texts.

> webdetta/reactivity
Reactive variables and effects library. Inspired by SolidJS.

> webdetta/realcss
Library for generating CSS at runtime.

> webdetta/realdom
Lightweight and efficient DOM manipulation library.

> webdetta/router
Client-side history/hash routing library.

> webdetta/rpc
Remote Procedure Call library for realtime APIs.

> webdetta/subprocess
child_process syntax sugar — spawns OS processes as promises and makes the code cleaner.

> webdetta/templater
Extensible template engine.

> webdetta/webcomp
Functions for creating Web Components.
Useful for integrating existing web apps with third-party teams that don't use webdetta.


Common modules

> webdetta/common/dom
DOM-specific functions.

> webdetta/common/environment
JavaScript runtime environment detection: browser, node, webworker, jsdom, deno, bun.
Also provides browser-specific detection (e.g., mobile).

> webdetta/common/errors
Functions for handling global uncaught exceptions.

> webdetta/common/utils
General-purpose utilities for throttling, memoization, error handling, data formatting and more.


Configuration modules

> webdetta/config/enable-http-modules
Enables NodeJS http(s) imports.

> webdetta/config/enable-websockets-node
Enables NodeJS websocket client support.

> webdetta/config/handle-uncaught-errors
Automatically handles global uncaught errors and logs them to console.
Prevents a NodeJS process from exiting on an unhandled promise rejection.


Developed by Fedot Kriutchenko.

Backstory:
The creation of this library was inspired by the frameorc project — a collaborative effort that began in 2015 during a scientific and practical conference in which I participated.

Over the course of several years, we — Michael Lazarev, Anton Baranov, Daniil Terlyakhin, Elnur Yusifov and Fedot Kriutchenko — worked together, exchanging ideas.
The goal was to develop a methodology that would allow a single developer to operate at the speed and efficiency of a multi-person team.
Some of these ideas were eventually published to the frameorc GitHub.

In recent years,
I’ve been polishing and refining these ideas, applying them in practice and preserving the results, in the form of this library.