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 🙏

© 2024 – Pkg Stats / Ryan Hefner

webfren

v1.0.0

Published

Tool helping developers to work with web applications easier

Downloads

13

Readme

About

✨ Features

✅ - Available      🔄 - In Development      📝 - Planned

  • HTTP Load tester - tool allowing to make stress and load test of API endpoints
  • Web Server - simulator of a real web server
  • 🔄 Load balancer - simulator of a load balancer
  • 📝 Message Broker - simulator of a Message Broker
  • 📝 Redis clone - clone of Redis

🚀 Getting started

Install webfren globally:

$ npm i -g webfren

And it will be ready to use in your terminal!

$ webfren

               _      __                
 __      _____| |__  / _|_ __ ___ _ __  
 \ \ /\ / / _ \ '_ \| |_| '__/ _ \ '_ \ 
  \ V  V /  __/ |_) |  _| | |  __/ | | |
   \_/\_/ \___|_.__/|_| |_|  \___|_| |_|
                                        
Usage: webfren [options] [command]

Options:
  -V, --version                                output the version number
  -h, --help                                   display help for command

Commands:
  http-load-test <url> <n>                     executes HTTP load test
  load-balancer <port> <servers>               runs load balancer and handles requests to multiple servers
  web-server <port> <route> <contentFilePath>  runs web server and hosts provided html content
  help [command]  

📖 Docs

http-load-test

Executes HTTP load test on specified endpoint. You can also provide number of requests (n) that will be sent to your endpoint. This tool can help to check locally if our app can handle multiple concurrent requests. Currently webfren allows to sent only GET requests.

Example

Command

$ webfren http-load-test https://example.com 100

Result

               _      __                
 __      _____| |__  / _|_ __ ___ _ __  
 \ \ /\ / / _ \ '_ \| |_| '__/ _ \ '_ \ 
  \ V  V /  __/ |_) |  _| | |  __/ | | |
   \_/\_/ \___|_.__/|_| |_|  \___|_| |_|
                                        
Http Load Test is running...

Done!

Test stats:
   Num. of success requests: 100
   Num. of failed requests: 0
   Avg. response time: 0.01 ms

load-balancer

Runs Load Balancer handling requests load to specified server addresses. This tool can help to check locally if our app will work correctly when load balancing mechanism will be introduced. Currently requests are sent ro randomly selected server.

Example

Command

$ webfren load-balancer 9000 "https://example.com|https://example.test.com"

Result on user request on http://127.0.0.1:9000:

               _      __                
 __      _____| |__  / _|_ __ ___ _ __  
 \ \ /\ / / _ \ '_ \| |_| '__/ _ \ '_ \ 
  \ V  V /  __/ |_) |  _| | |  __/ | | |
   \_/\_/ \___|_.__/|_| |_|  \___|_| |_|
                                        
Load Balancer is running:
   Port: 9000

Requests:
   Path: /               Redirected to: https://example.com/ Response: 200

web-server

Runs Web Server allowing you to host selected html content. This tool can help when you would like to check locally how your HTML web page will be displayed by web server.

Example

Content of used html file:

<h1>Hello</h1>

Command

$ webfren web-server 8000 /home home.html 

Result on user request on http://127.0.0.1:8000/home:

               _      __                
 __      _____| |__  / _|_ __ ___ _ __  
 \ \ /\ / / _ \ '_ \| |_| '__/ _ \ '_ \ 
  \ V  V /  __/ |_) |  _| | |  __/ | | |
   \_/\_/ \___|_.__/|_| |_|  \___|_| |_|
                                        
Web Server is running:
   Port: 8000

Requests:
   Path: /home           Response: 200 -> home.html

🚧 Roadmap

➡️   01.03.2024 - 16.03.2024 - HTTP Load Tester v1

➡️   16.03.2024 - 30.03.2024 - Web Server v1

   ➡️   30.03.2024 - 08.04.2024 - Load Balancer v1

➡️   08.04.2024 - 18.04.2024 - HTTP Load Tester v2

➡️   18.04.2024 - 30.05.2024 - Web Server v2

➡️   30.05.2024 - 12.05.2024 - Load Balancer v2

➡️   12.05.2024 - 23.05.2024 - HTTP Load Tester v3

...