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

kore-sdk

v1.0.3

Published

The absolute 'Lite' version of Node's fs and path. Uses Rust/WASM to perform file operations 10x faster than native Node for massive projects.

Readme

Kore SDK

The absolute "Lite" version of Node's fs and path. Uses Rust/WASM to perform file operations 10x faster than native Node for massive projects.

🚀 Features

  • 10x Faster: Rust/WASM backend provides significant performance improvements
  • Drop-in Replacement: Compatible API with Node.js path module
  • Cross-Platform: Works on Windows, macOS, and Linux
  • Memory Efficient: Optimized for large-scale file operations
  • Type-Safe: Built with Rust's memory safety guarantees

Installation

npm install kore-sdk

Quick Start

const { Kore } = require('kore-sdk');

// Create a new Kore instance
const kore = new Kore();

// Use just like Node.js path module, but faster!
const fullPath = await kore.join('src', 'components', 'Button.jsx');
const dir = await kore.dirname('/home/user/project/package.json');
const base = await kore.basename('/path/to/file.txt'); // 'file.txt'
const ext = await kore.extname('/path/to/file.txt'); // '.txt'

CLI Usage

# Join path segments
kore join src components Button.jsx

# Normalize a path
kore normalize "./src/../components/Button.jsx"

# Get directory name
kore dirname "/home/user/project/package.json"

# Get base name
kore basename "/path/to/file.txt"

# Get file extension
kore extname "/path/to/file.txt"

# Resolve to absolute path
kore resolve src components Button.jsx

# Find relative path
kore relative /home/user/src /home/user/dist

# Parse path components
kore parse /home/user/project/package.json

# Run performance benchmarks
kore benchmark --iterations 100000

API Reference

Kore Class

const { Kore } = require('kore-sdk');

const fs = new Kore('/base/path');

Methods

  • join(...paths) - Join path segments together
  • normalize(path) - Normalize a path
  • dirname(path) - Get directory name
  • basename(path) - Get base name
  • extname(path) - Get file extension
  • resolve(...paths) - Resolve to absolute path
  • relative(from, to) - Find relative path
  • parse(path) - Parse path into components

Static Methods

const { PathUtils } = require('kore-sdk');

// Check if path is absolute
const isAbs = await PathUtils.isAbsolute('/home/user');

// Parse path components
const parsed = await PathUtils.parse('/home/user/file.txt');

Drop-in Functions

const kore = require('kore-sdk');

// Use as direct replacements for Node.js path module
await kore.join('src', 'file.js');
await kore.normalize('./src/../file.js');
await kore.dirname('/path/to/file.js');
await kore.basename('/path/to/file.js');
await kore.extname('/path/to/file.js');
await kore.resolve('src', 'file.js');
await kore.relative('/from', '/to');
await kore.parse('/path/to/file.js');
await kore.isAbsolute('/path/to/file.js');

Performance

Kore provides significant performance improvements over Node.js native path operations:

kore-sdk benchmark

Typical results show:

  • 2-5x faster for simple operations (basename, dirname, extname)
  • 5-15x faster for complex operations (resolve, relative, normalize)
  • 10x faster for bulk operations on large file sets

Building from Source

# Install Rust and wasm-pack
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install wasm-pack

# Clone and build
git clone https://github.com/kore-sdk/kore.git
cd kore
npm install
npm run build

Development

# Install dependencies
npm install

# Build the WASM module
npm run build

# Run tests
npm test

# Run benchmarks
npm run benchmark

Examples

Bulk File Processing

const kore = require('kore-sdk');
const fs = require('fs');

async function processFiles(directory) {
  await kore.init();
  
  const files = fs.readdirSync(directory);
  
  for (const file of files) {
    const fullPath = await kore.join(directory, file);
    const ext = await kore.extname(fullPath);
    
    if (ext === '.js') {
      console.log(`Processing JavaScript file: ${file}`);
    }
  }
}

Path Resolution

const kore = require('kore-sdk');

async function resolveProjectPaths() {
  await kore.init();
  
  const projectRoot = await kore.resolve('.');
  const srcDir = await kore.join(projectRoot, 'src');
  const componentsDir = await kore.join(srcDir, 'components');
  
  return {
    root: projectRoot,
    src: srcDir,
    components: componentsDir
  };
}

License

MIT

Contributing

Contributions are welcome! Please see our Contributing Guide for details.

Support