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

local-packages-manager

v1.0.5

Published

(LPM) A versatile package manager for local development. Supports all file types.

Readme

local-packages-manager (lpm)

A versatile CLI package manager for local development. Designed to manage and distribute local packages across multiple projects using a parent-child architecture.

NPM Install Global

Install

npm i -g local-packages-manager

Use

lpm

Package System

lpm is based on two core concepts:

  • Package Definition (parent): defines what a package exposes
  • Package Install (child): defines where and how that package is installed

Package Definition (Parent)

Defines a reusable local package.

File: lpm-definition.json

{
  "name": "project-1",
  "version": "1.0.0",
  "sourcePath": "lib",
  "include": [
    "/**"
  ],
  "exclude": []
}

Fields

  • name: Unique package name
  • version: Package version
  • sourcePath: Root folder where files are taken from
  • include: Glob patterns to include files
  • exclude: Glob patterns to exclude files

Behavior

  • Acts as the source of truth
  • Defines what files will be shared
  • Can be consumed by multiple projects

Package Install (Child)

Defines where and how a package is installed.

File: lpm-install.json

[
  {
    "name": "project-1",
    "version": "1.0.0",
    "installPath": "src/lib"
  }
]

Fields

  • name: Name of the parent package
  • version: Version to install
  • installPath: Destination inside the project

Behavior

  • References a parent package
  • Defines where files will be copied or linked
  • Can install multiple packages

Relationship (Parent → Child)

lpm-definition.json  →  lpm-install.json
        (source)                 (target)

Flow

  1. A package is defined using lpm-definition.json
  2. Another project declares it in lpm-install.json
  3. Running:
lpm install
  1. lpm will:

    • Locate the parent package
    • Read its definition
    • Copy or link files from sourcePath
    • Respect include / exclude
    • Install them into installPath

Example Workflow

Step 1: Create a shared package

cd common-lib
lpm init

Define:

{
  "name": "common-lib",
  "version": "1.0.0",
  "sourcePath": "src",
  "include": ["/**"],
  "exclude": ["**/*.test.js"]
}

Step 2: Consume it in another project

[
  {
    "name": "common-lib",
    "version": "1.0.0",
    "installPath": "src/shared"
  }
]

Step 3: Install

lpm install

Result:

common-lib/src  →  project/src/shared

Command Summary

| Command | Alias | Description | | --------- | ----- | ---------------------------------- | | init | — | Create lpm-install.json | | new | — | Create lpm-definition.json | | package | p | Pack a package into local registry | | unpackage | up | Remove package from local registry | | install | i | Install packages into workspace | | uninstall | ui | Remove installed package | | help | -h | Show help |

Notes

  • package must be executed before install

  • Packages are resolved from the local registry (~/.lpm)

  • Version must match between:

    • lpm-definition.json
    • lpm-install.json

Example

Descripción de la imagen

The image shows a typical lpm workflow with three projects:

  • project-1 and project-2 act as parent packages

    • Each defines its exports using lpm-definition.json
    • They expose files from their lib folders (e.g. hello.js, math.js)
  • project-3 acts as the consumer (child)

    • Uses lpm-install.json to declare dependencies
    • Installs both packages into src/lib

Benefits of This Model

  • Clear separation between definition and usage
  • No need to publish to npm
  • Works across multiple repositories
  • Full control over file distribution
  • Ideal for microservices and shared codebases