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

@karhu/core

v1.0.0

Published

Core package for Karhu, the lib for powering web app productivity tools

Downloads

11

Readme

@karhu/core

Karhu is a productivity tool for web applications. This package has the core functionality as the command register and entry graph to adapt command listing to users habits and learn over time.

Install

npm install @karhu/core

Usage

import Karhu from '@karhu/core';

const karhu = new Karhu();

API

Karhu

karhu.addCommand

Adds a command to the current Karhu instance.

karhu.addCommand(command: UnregisteredCommand): Command

karhu.removeCommand

Removes a command from teh current Karhu instance.

karhu.removeCommand(commandId: string): void

karhu.findMatchingCommands

Searches through the existing commands keywords and the current entry graph to find commands that matches the provided input, and returns them.

karhu.findMatchingCommands(): Command[]

karhu.runCommand

Call the command with the provided id's .actions.onExec() function.
Returns the updated entry graph.
The input is needed to better sort the commands next time karhu.findMatchingCommands() is called.

karhu.runCommand(id: string): CommandRunResult

karhu.getCommands

Returns a list of all registered commands for the Karhu instance.

karhu.getCommands(): Command[]

karhu.getEntryGraph

Returns the current Entry Graph for the Karhu instance.

karhu.getEntryGraph(): EntryGraph

karhu.replaceEntryGraph

Overwrites the the current Entry Graph for the Karhu instance with the new one.

karhu.replaceEntryGraph(entryGraph: EntryGraph): void

Static Karhu.createCommand

Makes an UnregisteredCommand -> Command. Mostly used internally but can be useful in some situations.

Karhu.createCommand (command: UnregisteredCommand): Command