lmify

Programmatically install NPM dependencies to the project!

  • lmify

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
lmify
20110.3.04 years ago5 years agoMinified + gzip package size for lmify in KB

Readme

lmify
Let me install it for you!

!npm versionnpm-version-srcnpm-version-href !npm downloadsnpm-downloads-srcnpm-downloads-href !packagephobiapackagephobia-srcpackagephobia-href !Github Actions CIgithub-actions-ci-srcgithub-actions-ci-href !Codecovcodecov-srccodecov-href !Dependenciesdavid-dm-srcdavid-dm-href !Standard JSstandard-js-srcstandard-js-href
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!