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

meta-pkgs

v0.2.0

Published

Package management plugin for meta

Downloads

60

Readme

meta-pkgs

Plugin for meta.

Utility functions for juggling parts of your packages' dependency graph.

Installation

In a meta project (root repo):

$ npm install --save-dev meta-pkgs

Usage

Sub-command | Description -------------------- | ------------- meta pkgs do | Run a command for a given package meta pkgs checkout | Checkout specific branches for packages and dependencies meta pkgs test | Run tests against a slice of the dependency graph

meta pkgs do <pkg> <cmd>

Runs <cmd> in the repository directory for package <pkg>.

meta pkgs checkout <terms...>

Runs git checkout for packages/branches specified by terms.

Each term should conform to <pkg><selector><branch>, where:

  • <pkg> is the name of a managed package (base or dependent)
  • <selector> is either @, to specify only that package, or :, to specify that package and all its descendent dependencies
  • <branch> is a branch name or a remote + branch.

Later terms specified override earlier terms.

For example:

$ meta pkgs checkout base:develop util:cool-feature subutil@someone/fix-bug

Checks out:

  • subutil to branch fix-bug, tracking someone/fix-bug
  • util and all managed dependencies to cool-feature (except subutil)
  • base and all managed dependencies to develop (except dependencies of util)

Options:

  • --strict to fail if a given branch is missing (default is ignore)
  • --greedy to continue searching descendent dependencies if a branch is missing (default is to stop traversal)

meta pkgs test <parents...> :: <children...>

Runs npm test for packages in dependency graph between parents and children.

Parents/children should be separated by ::.

For example:

$ meta pkgs test base :: util lib

Runs tests for all packages base depends on that also depend on either util or lib.

Options:

  • --strict=<parents|children|both> to omit specified parents, children, or both from testing (default runs tests for packages specified)