lmify

Programmatically install NPM dependencies to the project!


Keywords
automation, install, node, npm, yarn
License
MIT
Install
npm install lmify@0.2.2

Documentation

lmify

Let me install it for you!

npm version npm downloads packagephobia Circle CI Codecov Dependencies Standard JS

Programmatically install NPM dependencies to the project!

Features

  • Support Yarn and NPM
  • Auto package manager detection
  • Singleton or Class API
  • Optional granters

Install

Using yarn:

yarn add lmify

Using npm:

npm install lmify

Usage

install(package|packages)

Install one or more packages in rootDir using the preferred package manager.

const { install } = require('lmify')

await install('package-name')

setPackageManager(name)

Set preferred package manager to use. By default, it will be guessed.

const { setPackageManager } = require('lmify')

setPackageManager('yarn')

setRootDir(rootDir)

Set project root dir. This causes package manager detection to happen on the next install.

const { setRootDir } = require('lmify')

setRootDir(proccess.cwd())

addGranter(fn)

Add a granter function to ask the user before installing packages.

This function accepts an array of packages to be added and should return Promise<Boolean>.

Without a granter, install immediately adds package.

If multiple granters added, the first response will be used (either deny or allow).

const { addGranter } = require('lmify')

addGranter(async packages => {
  console.log('Installing packages:', packages)
  return true // Allow
})

Class: LMIFY

You can choose between using singleton instance or creating a new instance of LMIFY:

const LMIFY = require('lmify')

const constumInstance = new LMIFY(options)

options

  • stdout: Defaults to process.stdout
  • stderr: Defaults to process.stderr
  • rootDir: Defaults to process.cwd()
  • packageManager: Should be specified or install throws warning if nothing detected and does nothing

License

MIT - Made with 💖 by Nuxt.js team!