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

mugjs

v0.0.2

Published

A full stack web framework written entirely in Javascript.

Downloads

2

Readme

Mug.js

Mug.js is a full stack web framework written entirely in JavaScript. It strives to be as fast as possible while implementing as much useful features as possible. It does all the hard stuff in the background so you can focus on making your website better and more efficient!

MUG.JS IS WORK IN PROGRESS!! It may not have all the features that you'd like in a web framework or it might not function correctly. If you experience any bugs or want to suggest any features, please create an issue and I'll get on it asap!

Features (that are currently implemented & working)

  • Routing (including easy redirecting)
  • Controllers
  • Sessions

Starting the Server

The server can easily be run (right out of the box!) with the startServer.js file.

node startServer

Basic Routing

You can add routes in the routes/web.js file. Everything should already be set up there, all you need to do is define your own routes. You can use the Route.HTTPMETHOD function to add some routes to your website.

It takes a string (that is the path to your web page) and a function that is called whenever said path is loaded up on a browser. It will send whatever the function returns as the ending result of the web page, like so:

Route.get('/', () => {
    return 'Hello, world!';
});

Available Methods:

Route.get(path, callback);
Route.post(path, callback);
Route.put(path, callback);
Route.patch(path, callback);
Route.delete(path, callback);
Route.options(path, callback);

Or, if you want to assign a path to a select multiple methods:

Route.match(['get', 'post'], '/', function() {
    return 'Hello, world!';
});

Or if you want to allow all methods:

Route.all('/', function() {
    return 'Hello, world!';
});

So whenever you go to localhost it should output

Hello, world!

Less Basic Routing

You can define parameters in routes like you would in Express.JS, the only difference is how you get them. With Mug.js, they are passed as function arguments.

Route.get('/:name', (name) => {
    return `Hello, ${name}!`;
});

Now when you go to localhost/John it will say:

Hello, John!