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

onlykit

v1.0.0

Published

Because it's the only dependency you'll need.

Readme

onlykit

Because is the only dependency you need.

npm version Checked with Biome GitHub License

onlykit is a meta-package that aggregates essential dependencies to build CLI and web applications with Node.

Install onlykit already gives you the main dependencies to run, build, develop, lint your application. On top of that, it also provides a CLI that wraps common commands to make your life easier, providing good defaults and sensible options.

onlykit also provide a custom transformation on the builder to give you the possibility to build and compile WAMS module via directive to easily use in your codebase.

Packages by export

  • 🚀 onlykit/benchmark: A set of packages related to benchmarking
  • ⚙️ onlykit/cli: A set of packages to create CLI applications
  • 🌐 onlykit/client: HTTP client utilities
  • 🛠️ onlykit/dev: Base configuration and tools for development and building
  • 🌍 onlykit/server: A set of packages to create web server applications
  • onlykit/validation: A set of packages for data validation
  • 🧩 onlykit/wasm: WASM compilation and transformation

Install

It's highly recommended to use pnpm as package manager, due to it's disk space efficiency (see more here), since onlykit depends on a lot of packages. So for this documentation, we will assume you are using pnpm, but you can use any package manager you want.

pnpm install onlykit

Scaffolding a new project

First, initialize a new project with:

pnpm init

Then, install onlykit as a dependency:

pnpm install onlykit

Now, you can use onlykit to scaffold a new project with the following command:

pnpx onlykit init .

If pnpx do not found the command, you can also run it with npx, event if you installed onlykit with pnpm:

npx onlykit init .

onlykit provides a few templates to start from. You can specify the template with the --template option:

pnpx onlykit init my-app --template cli

Usage

Once you have installed onlykit, you can use the CLI to run common commands. You can see the available commands by running:

pnpx onlykit --help

If you scaffolded a new project, you already have some scripts in your package.json to start developing your application. You can run them with:

pnpm run dev

Using the exports

The dependencies are grouped by functionality and can be imported from the corresponding path. They interface are transparent, whitch means you can use them as if you installed them directly.

import { chalk } from "onlykit/cli";
import { Hono } from "onlykit/server";
import { z } from "onlykit/validation";
// ...

WASM Support (use wasm)

onlykit provides built-in support for WebAssembly (WASM) through AssemblyScript. You can easily integrate and compile WASM modules in your project using a special directive.

The following example shows how to use the use wasm directive:

"use wasm";

export function add(a: i32, b: i32): i32 {
  return a + b;
}

By adding the "use wasm"; directive at the top of your AssemblyScript file, onlykit will automatically handle the compilation and integration of the WASM module into your project.

You can then import and use the compiled WASM module in your TypeScript code as follows:

import { chalk } from "onlykit/cli";
import { add } from "./wasm-module";

export function main() {
  const result = add(2, 3);

  console.log(chalk.blue(`2 + 3 = ${result}`));
}

main();

As said before, the compilation is made by AssemblyScript, so you need to know their concepts, syntax and limitations. You can find more information in the AssemblyScript documentation.

Philosophy

onlykit is designed to be the only dependency you need to build modern Node.js applications. It aggregates essential packages and provides a streamlined development experience, allowing you to focus on writing code rather than managing dependencies and configurations.

The packages was selected following these principles:

  • Essential: Only include packages that are widely used and essential for building applications.
  • Open Source: Prefer open-source packages with active communities and good maintenance.
  • License: Ensure all packages have permissive licenses suitable for commercial use.
  • Performance: Choose packages that are performant and efficient.
  • Developer Experience: Focus on packages that enhance the developer experience with good documentation and ease of use.
  • Good Defaults: Provide sensible defaults and configurations to minimize setup time.

Contributing

Contributions are welcome! If you have suggestions for new packages to include, improvements to the CLI, or any other ideas, please open an issue or submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.