A little Node.js dependency installer with the bare minimum features for module end-users.
- Follow the spec of npm's package-lock.json
- 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 all the dependencies defined in a local package.json.
You can install a package as like npm install
.
$ dep install webpack
You can install the package and save it to either dependencies
or devDependencies
by using --only={dev|prod}
.
$ dep install webpack --save=dev
You can install either only dependencies
or devDependencies
by using --only={dev|prod}
.
$ dep install --only=prod
ToDo.
It will follow the spec of npm's package-lock.json.
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
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"
$ 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]
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.
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 is a core value. Having a small set makes keeping the green badges easier.
Since dep works independently of npm, dep has a standalone script to install.
$ curl -L https://github.com/depjs/dep/raw/master/scripts/install.js | node
$ npm install --global dep
Also for uninstallation.
$ curl -L https://github.com/depjs/dep/raw/master/scripts/uninstall.js | node
$ npm uninstall --global dep
See CONTRIBUTING.md for more info.