depjs.github.io

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

    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
    

    dep install --global

    ToDo.

    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.

    Linux Windows Node.js LTS Coverage
    travis appveyor Node.js LTS coverage

    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.

    Contributors

    The core code of this project exists thanks to all the contributors.

    Sponsors

    Be a sponsor and give us a high motivation. [Become a sponsor]

    Backers

    Become a backer and buy us a coffee every month. [Become a backer]

    License

    MIT