0.5.13 • Published 3 years ago

@shongcheng/libinfo v0.5.13

Weekly downloads
-
License
-
Repository
gitlab
Last release
3 years ago

libinfo

Version Downloads/week

Experimental/Work-in-Progress

A simple utility to query https://registry.npmjs.com to generate a report on the "recentness" of dependencies used in a NPM project.


Required inputs:

  1. package.json

    • Used to extract info on which dependencies are used by the project directly (aka direct-dep)
  2. package-lock.json

    • Used to:
      • extract all dependencies used by the project
      • which dependencies are development dependencies only
  3. npm-list-all.json

    • A JSON file generated using this command:

       npm list --json --all --package-lock-only
    • Used to determine transitive dependencies among the dependencies


Getting Started

  1. Recommended to install globally to avoid contaminating the report with dependencies used by this package.

    npm i -g @shongcheng/libinfo
  2. In your project folder, for e.g. in an air-gapped environment,

    1. Ensure package-lock.json is up to date.
    2. Generate the corresponding npm-list-all.json file, for e.g:

      npm list --json --all --package-lock-only > npm-list-all.json
  3. For air-gapped environments, copy the required files from your project to an Internet-enabled terminal (required to access the official NPM registry for latest package data)

    • package.json
    • package-lock.json
    • npm-list-all.json
  4. On Internet enabled terminal, execute the commands to generate the reports, e.g.:

    • NOTE:

      • When viewing the CSV in EXCEL, some rows may not be fully visible due to EXCEL's visual row height limit.

      • May need to double-click the cell to go into edit mode to see all lines in the cell.

    • Assuming the files in step 3 above are located in project-dir

      # change working directory
      cd project-dir
       
      # generate a CSV report
      #   NOTE: When viewing the CSV in EXCEL, 
      #         some rows may not be fully visible due to EXCEL's visual row height limit.
      #         May need to double-click the cell to go into edit mode to see all lines in the cell.
      libinfo npm --format=csv > report.csv
       
      # generate a HTML report
      libinfo npm --format=html > report.html
    • Alternatively, specify the paths to the files explicitly:

      # generate a CSV report
      #   NOTE: When viewing the CSV in EXCEL, 
      #         some rows may not be fully visible due to EXCEL's visual row height limit.
      #         May need to double-click the cell to go into edit mode to see all lines in the cell.
      libinfo npm --format=csv -p project-dir/package.json -l project-dir/package-lock.json -n project-dir/npm-list-all-json > report.csv
       
      # generate a HTML report
      libinfo npm --format=html -p project-dir/package.json -l project-dir/package-lock.json -n project-dir/npm-list-all-json > report.html

Usage

$ npm install -g @shongcheng/libinfo
$ libinfo COMMAND
running command...
$ libinfo (--version)
@shongcheng/libinfo/0.5.12 win32-x64 node-v14.18.0
$ libinfo --help [COMMAND]
USAGE
  $ libinfo COMMAND
...

Commands

libinfo help [COMMAND]

Display help for libinfo.

USAGE
  $ libinfo help [COMMAND] [-n]

ARGUMENTS
  COMMAND  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for libinfo.

See code: @oclif/plugin-help

libinfo npm

Compares currency of packages used based on package-lock.json against latest in registry.npmjs.com

USAGE
  $ libinfo npm [-l <value>] [-p <value>] [-n <value>] [--format <value>] [--timeout <value>] [--debug]
    [-q]

FLAGS
  -l, --package-lock=<value>       [default: ./package-lock.json] path to package-lock.json to use
  -n, --npm-list-all-json=<value>  [default: ./npm-list-all.json] path to output from "npm list --json --all
                                   --package-lock-only"
  -p, --package=<value>            [default: ./package.json] path to package.json to use
  -q, --quiet                      quiet mode, do not output progress info to stderr
  --debug                          debug mode, outputs more details
  --format=<value>                 [default: csv] output format: csv, html
  --timeout=<value>                [default: 2] timeout in SECONDS for fetch requests to the registry

DESCRIPTION
  Compares currency of packages used based on package-lock.json against latest in registry.npmjs.com

EXAMPLES
  $ libinfo npm

See code: dist/commands/npm.ts

libinfo plugins

List installed plugins.

USAGE
  $ libinfo plugins [--core]

FLAGS
  --core  Show core plugins.

DESCRIPTION
  List installed plugins.

EXAMPLES
  $ libinfo plugins

See code: @oclif/plugin-plugins

libinfo plugins:inspect PLUGIN...

Displays installation properties of a plugin.

USAGE
  $ libinfo plugins:inspect PLUGIN...

ARGUMENTS
  PLUGIN  [default: .] Plugin to inspect.

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Displays installation properties of a plugin.

EXAMPLES
  $ libinfo plugins:inspect myplugin

libinfo plugins:install PLUGIN...

Installs a plugin into the CLI.

USAGE
  $ libinfo plugins:install PLUGIN...

ARGUMENTS
  PLUGIN  Plugin to install.

FLAGS
  -f, --force    Run yarn install with force flag.
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Installs a plugin into the CLI.

  Can be installed from npm or a git url.

  Installation of a user-installed plugin will override a core plugin.

  e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
  will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
  the CLI without the need to patch and update the whole CLI.

ALIASES
  $ libinfo plugins add

EXAMPLES
  $ libinfo plugins:install myplugin 

  $ libinfo plugins:install https://github.com/someuser/someplugin

  $ libinfo plugins:install someuser/someplugin

libinfo plugins:link PLUGIN

Links a plugin into the CLI for development.

USAGE
  $ libinfo plugins:link PLUGIN

ARGUMENTS
  PATH  [default: .] path to plugin

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Links a plugin into the CLI for development.

  Installation of a linked plugin will override a user-installed or core plugin.

  e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
  command will override the user-installed or core plugin implementation. This is useful for development work.

EXAMPLES
  $ libinfo plugins:link myplugin

libinfo plugins:uninstall PLUGIN...

Removes a plugin from the CLI.

USAGE
  $ libinfo plugins:uninstall PLUGIN...

ARGUMENTS
  PLUGIN  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ libinfo plugins unlink
  $ libinfo plugins remove

libinfo plugins update

Update installed plugins.

USAGE
  $ libinfo plugins update [-h] [-v]

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Update installed plugins.
0.5.13

3 years ago

0.5.12

3 years ago

0.5.11

3 years ago

0.5.10

3 years ago

0.5.8

3 years ago

0.5.7

3 years ago

0.5.5

3 years ago

0.5.4

3 years ago

0.5.3

3 years ago

0.5.2

3 years ago

0.5.1

3 years ago

0.5.0

3 years ago

0.4.9

3 years ago

0.4.8

3 years ago

0.4.7

3 years ago

0.4.1

3 years ago

0.4.0

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.3.0

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.0.0-3

3 years ago

0.0.0-2

3 years ago

0.0.0-1

3 years ago

0.0.0-0

3 years ago

0.0.0

3 years ago