Skip to content

Retrieve information on installed packages across npm, pnpm and yarn.

License

Notifications You must be signed in to change notification settings

nguyenngoclongdev/pkgscan

Repository files navigation

CI GitHub license

npm version Gitpod Ready-to-Code install size npm bundle size npm downloads

pkgscan

npm yarn pnpm

pkgscan is a useful tool to inspect installed packages in your project. It provides detailed information about installed packages managed by popular package managers like npm, pnpm and yarn.

pkgscan

If you find this package useful for your projects, please consider supporting me by Patreon, KO-FI or Paypal. It's a great way to help me maintain and improve this tool in the future. Your support is truly appreciated!

KO-FI Paypal Patreon

Installation

npm

# Try with npx
npx pkgscan [options]

# Locally in your project.
npm install pkgscan

# Or globally (use as cli)
npm install -g pkgscan

CLI

Usage

pkgscan [options]

Options:
  -p, --pkg    The name of the package to retrieve information for.
  -c, --cwd    The current working directory of the project.
  -h, --help   Show help

Examples

# Get details about the installed package with automatic package manager detection.
pkgscan --pkg typescript

# Get details about the installed package with glob pattern.
pkgscan --pkg '@types/*'

# To scan all installed packages
pkgscan --pkg '*'

# Get details about the installed package with a user-specified package manager.
pkgscan --pkg typescript --cwd ./project-directory-path

API

import { getInstalledPackage } from 'pkgscan';

// Get details about the installed package with automatic package manager detection.
const installedPackage = getInstalledPackage('typescript');
console.log(installedPackage);
/*
[
  {
    name: 'typescript',
    version: '5.1.3',
    isDirectProjectDependency: true,
    dev: true,
    license: 'Apache-2.0',
    engines: { node: '>=14.17' }
  }
]
*/

// Get details about the installed package with a user-specified package manager.
const cwd = __dirname;
const installedPackage = getInstalledPackage('typescript', cwd);
console.log(installedPackage);
/*
[
  {
    name: 'typescript',
    version: '5.1.3',
    isDirectProjectDependency: true,
    dev: true,
    license: 'Apache-2.0',
    engines: { node: '>=14.17' }
  }
]
*/

isDirectProjectDependency used to determine whether a package is a direct dependency of a project or not. By using this variable, you can check whether a package is directly listed in the dependencies section of the project's package.json file or not.

Feedback

If you discover a bug, or have a suggestion for a feature request, please submit an issue.

LICENSE

This extension is licensed under the MIT License