npm-package-scanner

0.0.9 • Public • Published

npm-package-scanner

Scan npm packages and get their package.json, get license and other information, indicate the possible impact on the project.

Installation

npm install npm-package-scanner -g

Usage

via bash

# help 
npm-package-scanner --help
 
# use 
npm-package-scanner <package-name>
 
npm-package-scanner --package /path/to/package.json --file output.json
npm-package-scanner --lock /path/to/package-lock.json --file output.json
npm-package-scanner --yarn /path/to/yarn.lock --file output.json

via javascript

const { Scanner, Reader } = require('npm-package-scanner')
 
// default config
const scanner = new Scanner({
  logger: console,
  development: true,
  optional: false,
  peer: false,
  debug: false,
  registry: 'https://registry.npmjs.org',
  depth: 1,
  cache: null,
})
 
// name
scanner.scanName(name, argv.version).then((res) => {
  console.log(res.tree)
  console.log(res.combinedTree)
  console.log(res.map)
})
 
// package.json
const file = fs.readFileSync('/path/to/package.json', 'utf8')
scanner.scanPackageJson(Reader.readPackageJson(file)).then((res) => {
  console.log(res.tree)
  console.log(res.combinedTree)
  console.log(res.map)
})
 
// package-lock.json
const file = fs.readFileSync('/path/to/package-lock.json', 'utf8')
scanner.scanLock(Reader.readPackageLock(file)).then((res) => {
  console.log(res.tree)
  console.log(res.combinedTree)
  console.log(res.map)
})
 
// yarn.lock
const file = fs.readFileSync('/path/to/yarn.lock', 'utf8')
scanner.scanLock(Reader.readYarnLock(file)).then((res) => {
  console.log(res.tree)
  console.log(res.combinedTree)
  console.log(res.map)
})

cache option

cache is a cache instance, you can pass in any cache system that implements the get and set interfaces, such as LRU.

format

{
  "<dependence-name>@<version>": {
    "name": "name",
    "version": "1.0.0",
    "message": "success",
    "license": "MIT",
    "package": { /* package.json content */ },
    "dependencies": { /* if any */ },
    "devDependencies": { /* if any */ },
    "optionalDependencies": { /* if any */ },
    "peerDependencies": { /* if any */ },
  }
}

License

ISC

Dependents (0)

Package Sidebar

Install

npm i npm-package-scanner

Weekly Downloads

5

Version

0.0.9

License

ISC

Unpacked Size

17.3 kB

Total Files

8

Last publish

Collaborators

  • nervouself