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

find-modules-in

v2.0.2

Published

Find modules in a directory

Readme

find-modules-in

Install

npm install --save find-modules-in

Usage

var find_modules = require('find-modules-in');

find_modules('some_directory').then(function(modules){
    console.log('modules =');
    console.log(modules);
}).catch(function(e){
    console.log('failed!');
    console.log(e);
});

Search in the node_modules:

var find_modules = require('find-modules-in');

find_modules('project/node_modules').then(function(modules){
    console.log('modules =');
    console.log(modules);
}).catch(function(e){
    console.log('failed!');
    console.log(e);
});

About

This modules finds modules just inside a directory. It only searches in the directory specified.

Modules that find-modules-in looks for are ones that are contained in there own directory. Some modules that people create are just a file. find-modules-in doesn't look for those kinds of modules that aren't contained in their own directory.

find-modules-in also does not check if found modules contain valid code. Once modules are found you can of course run the index.js files through a linter, but their's no guaruntee sub-modules will be valid. Which you probably knew already. :)

API

find_modules(directory, indexes) -> promise

Look for modules under directory.

indexes is optional, and default false.

If indexes is passed false modules only with package.json files will be searched for.

If indexes is passed true modules that contain index.js, or index.node files will also be searched for.

If indexes is passed an array of file name strings those are the indexed files that will be searched for when there's no package.json file.

modules

The array returned from the promise has these properties:

modules[index].directory

The directory is the one installed with npm install.

modules[index].package

If there is a package.json file this is the JSON object from that file.

package.readme

In order to keep memory size down the readme field is truncated. Some readmes are huge. If you want the full readme text you'll have to obtain it in your own code.

modules[index].index

modules[index].main

If the module doesn't have a package.json, and the indexes options is used in the find-modules-in function then the modules[index].index, and modules[index].main properties will be the main javascript file.

modules[index].packageError

If there was a JSON.parse error on the package.json contents packageError will have error text assigned to it. If no parse error happened packageError is set to null.