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

frea-core

v2.4.0

Published

_Build modular TypeScript Node.js services._

Downloads

14

Readme

Frea core

Build modular TypeScript Node.js services.

What's included in the box?

IO mod

IO mod(ule)s offer a way for your app to interact with the real world. These should be passed as arguments into your app's mods.

io/http

The http IO mod hooks your mod actions to express.js routes.

Status checks:

All status checks are GET calls.

/: the status route. You get a JSON object containing the server status.

/live: returns 200 if the server is live.

/ready: returns 200 if the server is ready. WIP.

API

/api: By calling addModule(modSchema, modInstance), you add a route based on the module's name as given in the schema. All args listed in the schema will be sent to the module action handler. A decoded token, an action type, and clientCid will always be sent as arguments as well in a ctx object as the second argument to the action handler.

Utilities

getEnv

We include a getEnv(key: string): string function that takes an environment key, and uses dotenv under the hood to get the value, or throw if it's missing.

Types

Api

Each function in an Api will take a property bag called args as first argument, and ctx as the second. It returns an ApiResult type.

ActionSchema

Takes an API, and makes sure that the schema includes the functions from the API, and does some type checking on the args. You can only specify arguments that exist in the API, but it's possible to miss one by mistake. It only checks shallow arguments.

ApiResult<T, E>

A type that can be either an ApiOk<T> or ApiErr<E>, wrapped in a Promise. This should be the type that your API functions return.

Tribute

This project was bootstrapped with TSDX.

Releasing

  • Get latest from master branch.
  • npm version minor
  • git push
  • git push --tags
  • npm publish