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

saml.dep-manager

v1.0.5

Published

is a simple dependency manager based on github repositories

Readme

🚀 Dependency Manager

This project provides a lightweight, straightforward dependency manager that leverages Git repositories. It's designed for simplicity and efficiency, allowing you to manage project dependencies directly from their source repositories without the complexity of larger package managers.

This tool is actively used in real-world projects, which ensures it is continuously improved and enhanced with practical features based on actual usage.


💾 Installation

Install the Dependency Manager globally using npm:

npm install -g saml.dep-manager

[!NOTE] A global installation (-g) makes the dep command available from any directory in your terminal.


💻 CLI Usage

You can interact with the dependency manager in two ways:

  1. Interactive Mode: Run dep without any arguments to open an interactive command-line interface.
  2. Direct Command: Execute commands directly, for example: dep list.

Commands

| Command | Usage | Description | |---|---|---| | list | dep list | Lists all dependencies configured in dep.mysaml.json. | | add | dep add <repo_url> [name] | Adds a new dependency to your configuration. | | remove| dep remove <name_or_repo_url> | Removes a dependency using its name or repository URL. | | install| dep install [name...]| Clones and sets up all dependencies, or specific ones. | | uninstall| dep uninstall [name...]| Removes the files of all, or specific, dependencies. | | output |dep output <name_or_repo_url> <output_path> [source_path] | Configures the output directory for a dependency's files. |


⚙️ Configuration File (dep.mysaml.json)

All dependencies are defined in a dep.mysaml.json file located in your project's root directory. This file contains a JSON array of dependency objects.

Schema and Examples

Here’s a look at the structure of a dep.mysaml.json file:

[
  {
    "name": "my-library",
    "repo": "https://github.com/user/my-library.git",
    "branch": "main",
    "out": "libs/my-library"
  },
  {
    "name": "another-dependency",
    "repo": "https://github.com/user/another.git",
    "out": {
      "src/": "public/js/another-dep/",
      "assets/css/": "public/css/"
    }
  }
]

Fields Explained

  • name (string): A unique identifier for the dependency. If you don't provide one with the add command, a name will be generated from the repository URL.
  • repo (string): The full HTTPS or SSH URL for the Git repository.
  • branch (string, optional): The name of the branch you want to clone. If omitted, the repository's default branch is used.
  • out (string | string[] | object, optional): Defines where the dependency's files should be placed.
    • As a string: The entire repository is cloned into this single path.
    • As a string array: The repository content is copied to each path in the array.
    • As an object: A map where keys are source paths within the repository and values are the destination paths in your project. You can use '/' as a key to refer to the repository's root.