This package has been deprecated

Author message:

Please use https://github.com/unjs/nypm instead

lmify
TypeScript icon, indicating that this package has built-in type declarations

0.3.0 • Public • Published

lmify

Let me install it for you!

npm version npm downloads packagephobia Github Actions CI Codecov Dependencies Standard JS

Programmatically install NPM dependencies to the project!

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!

Readme

Keywords

none

Package Sidebar

Install

npm i lmify

Weekly Downloads

290

Version

0.3.0

License

none

Unpacked Size

11.9 kB

Total Files

6

Last publish

Collaborators

  • pi0