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!

    Keywords

    none

    Install

    npm i lmify

    DownloadsWeekly Downloads

    677

    Version

    0.3.0

    License

    none

    Unpacked Size

    11.9 kB

    Total Files

    6

    Last publish

    Collaborators

    • pi0