depA little Node.js dependency installer

联合创作 · 2023-09-22 20:48

dep

A little Node.js dependency installer with the bare minimum features for module end-users.

ToDo

Table of Contents

  • Features
  • Usage
  • Concepts
  • Installation
  • Uninstallation
  • Contributing
  • License
  • Features

    • Install the dependencies defined in a local package.json.
    • Lock the dependencies installed in a local node_modules.
    • Run an arbitrary command from scripts in a local package.json.

    dep is trying to have a similar/same interface of the features with npm, but there are some slightly different implementations internally.

    Install

    dep install

    Install all the dependencies defined in a local package.json.

    dep install <package name>(@{version|resource})

    You can install a package as like npm install.

    $ dep install webpack

    dep install --save={dev|prod} <package name>(@{version|resource})

    You can install the package and save it to either dependencies or devDependencies by using --only={dev|prod}.

    $ dep install webpack --save=dev

    dep install --only={dev|prod}

    You can install either only dependencies or devDependencies by using --only={dev|prod}.

    $ dep install --only=prod

    Lock

    dep lock

    ToDo.

    It will follow the spec of npm's package-lock.json.

    Run

    dep run [script] -- <args>

    This command will take the matched key with provided [script] among the scripts field defined in package.json and execute the value.

    $ dep run test

    You also can provide additional arguments by putting --.

    $ dep run build -- dist/bundle.js

    dep run

    If you do not give an arbitrary [script] to dep run, it lists all of the commands from scripts in a local package.json.

    $ dep run
    Available scripts via `dep run`
    
    dep run build:
      webpack src/index.js
    dep run test:
      tap "test/*.js"

    Usage

    $ dep -h
    A little Node.js dependency installer
    
    Commands:
      install  Install dependencies defined in package.json             [aliases: i]
      lock     Lock dependencies installed in node_modules              [aliases: l]
      run      Run an arbitrary command from scripts in package.json    [aliases: r]
    
    Options:
      --help, -h     Show help                                             [boolean]
      --version, -v  Show version information                              [boolean]

    Concepts

    End users

    The target user is always module end-user who makes something with node_modules and doesn't make packages. And the goal of this project is to reproduce most of the features that the end-users use to build their stuff on daily basis.

    Save spaces

    Speed and local disk capacity are a trade-off. To take the both benefits, it would be better to have the cache in somewhere proxy layer instead of local.

    Therefore, dep does not make cache files in a local disc for now.

    Stability

    Stability is a core value. Having a small set makes keeping the green badges easier.

    Installation

    Since dep works independently of npm, dep has a standalone script to install.

    Standalone script

    $ curl -L https://github.com/depjs/dep/raw/master/scripts/install.js | node

    via npm

    $ npm install --global dep

    Uninstallation

    Also for uninstallation.

    Standalone script

    $ curl -L https://github.com/depjs/dep/raw/master/scripts/uninstall.js | node

    via npm

    $ npm uninstall --global dep

    Contributing

    See CONTRIBUTING.md for more info.

    License

    MIT

    浏览 13
    点赞
    评论
    收藏
    分享

    手机扫一扫分享

    编辑 分享
    举报
    评论
    图片
    表情
    推荐
    点赞
    评论
    收藏
    分享

    手机扫一扫分享

    编辑 分享
    举报