Skip to content

Command Generator For Packages - Generates commands to install npm packages based on package config file

License

Notifications You must be signed in to change notification settings

ChiragRupani/package-install-cmd

Repository files navigation

Package Install Command generator (PIC)

npm (scoped) npm

Build Status

Read package.json file and generates npm install commands for installed packages. It generates seperate commands for dev dependency, dependency and types.

Available in NPM Registry

Installation

npm i -g @chiragrupani/package-install-cmd

Sample Output from Angular project:

[PIC] Generating commands ...
Dev Dependency:
npm i -D @angular-devkit/build-angular @angular/cli @angular/compiler-cli @angular/language-service codelyzer jasmine-core
jasmine-spec-reporter karma karma-chrome-launcher karma-coverage-istanbul-reporter karma-jasmine karma-jasmine-html-reporter protractor ts-node tslint typescript

npm i -D @types/node @types/jasmine @types/jasminewd2


Dependency:
npm i @angular/animations @angular/common @angular/compiler @angular/core @angular/forms @angular/platform-browser @angular/platform-browser-dynamic @angular/router core-js rxjs tslib zone.js


Done!

Usage as CLI:

Use Command

# Navigate to folder containing package.json and execute below command:
pic

Get version details along with packages

# Navigate to folder containing package.json and execute below command:
pic --withversion

OR

# Navigate to folder containing package.json and execute below command:
pic -wv

Get output in list format

# Navigate to folder containing package.json and execute below command:
pic --withversion --list

or

# Navigate to folder containing package.json and execute below command, if version is not required:
pic --list

OR

# Navigate to folder containing package.json and execute below command:
pic -l

Usage as Library (Meant for NodeJS and not browser):

import {
  Dependencies,
  DependencyInfo,
  PackageFileReader,
} from "@chiragrupani/package-install-cmd";

try {
  const allDependency = await PackageFileReader.GetPackageInstallCommands();
  console.log(allDependency.Dependency);
  console.log(allDependency.DevDependency);
} catch (error) {
  console.error(error);
}

Sample Output:

[{ name: 'typescript', version: '~5.7.3', isTypeDependency: false }]

Build from Source

In case if you want to build package from github source

# Clone the project
npm run build                       # Builds the project
npm run package                     # Generate package in tgz format
npm install -g <path/to/tgz>        # Provide path to tgz file generated in earlier step