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

amd-cli

v2.3.0

Published

Diagnostic utilities for projects using the Asynchronous Module Definition format

Downloads

12

Readme

amd-cli

amd-cli is a set of command-line utilities for JavaScript projects which employ the Asynchronous Module Definition format. They can be used to diagnose problems (amd check, amd circulars) or to gain a deeper understanding of a project's structure (amd deps, amd graph).

Folks wanting programmatic access can use libamd, the base of this project.

Installation

$ [sudo] npm install -g amd-cli

Or install from source:

$ git clone https://github.com/zship/amd-cli.git
$ cd amd-cli
$ make
$ [sudo] make install

make follows the same steps used for packaging amd-cli for npm, which is to build documentation (markdown -> roff) and move it along with all other distributables to a new "dist/" directory. make install switches to "dist/" and runs npm install -g (which copies amd-cli to the npm prefix directory so that it's (probably) in your PATH).

Usage

amd <command>

Commands:

  • amd check Run a linter-style check for broken dependencies

  • amd circulars Find and group circular dependencies

  • amd deps Print an AMD module's dependencies

  • amd graph Print a linearized dependency graph stemming from one or more modules

  • amd help Open the manpage for an amd command. This is a fallback in case of $MANPATH, manpath.config, or npm manpage install issues.

  • amd normalize Print the canonical AMD module name for a given relative AMD module name or file path

  • amd resolve Print the canonical file path for a given AMD module name

  • amd whatrequires Print all files which depend on a given AMD module

Much more detail can be found in the manpages.

Documentation

man amd

Some versions of npm have a bug which causes manpages not to be linked properly. There are a few ways to handle this:

  • Upgrade npm
    1. [sudo] npm install -g npm
    2. Re-install amd-cli: [sudo] npm install -g amd-cli
  • Check that npm's prefix "share" directory is in your MANPATH
    1. Get the prefix under which npm installs global packages: npm prefix -g
    2. Mentally add "/share/man" to the end of this path i.e. echo $(npm prefix -g)/share/man
    3. echo $MANPATH - this should contain the path in #2 (npm prefix + "/share/man"). If not, move on to #4.
    4. Add it: MANPATH=$MANPATH:"$(npm prefix -g)/share/man"
    5. Try it out: man amd
    6. Make it permanent by copy/pasting the command in #4 to your ~/.bashrc, or just run: echo 'MANPATH=$MANPATH:"$(npm prefix -g)/share/man"' >> ~/.bashrc
  • Manually add just amd-cli's manpages to your MANPATH
    1. The manpages are in a directory called "man" adjacent to the installed amd script. Check that the directory is there: cd "$(dirname $(readlink -f $(which amd) ) )/../man"
    2. Then add it: MANPATH=$MANPATH:"$(dirname "$(readlink -f "$(which amd)" )" )/../man"
    3. Try it out: man amd
    4. Make it permanent by copy/pasting the command in #4 to your ~/.bashrc, or just run: echo 'MANPATH=$MANPATH:"$(dirname "$(readlink -f "$(which amd)" )" )/../man"' >> ~/.bashrc
  • Use the fallback amd help command
    • amd help, amd help deps, etc.

License

Released under the MIT License.