Skip to content
This repository has been archived by the owner on Mar 29, 2023. It is now read-only.
/ lmify Public archive

🤙 Install NPM dependencies programmatically (please switch to unjs/nypm)

License

Notifications You must be signed in to change notification settings

unjs/lmify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lmify

Let Me Install It For You! Install NPM dependencies programmatically 🤙

This package is discontinued. Checkout unjs/nypm for a much better alternative!

Features

  • Support Yarn and NPM
  • Auto package manager detection
    • Using Yarn if yarn.lock
    • Using NPM if package-lock.json or package.json
  • 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: Better if specified or install will throw a warning if no package manager is detected

License

MIT - Made with 💖 by Nuxt.js team!

About

🤙 Install NPM dependencies programmatically (please switch to unjs/nypm)

Topics

Resources

License

Stars

Watchers

Forks