shama/napa


wine_glass A helper for installing stuff without a package.json with npm.

License: MIT

Language: JavaScript


napa Build Status AppVeyor Code Climate David js-standard-style

A helper for installing repos without a package.json with npm.

NPM

usage

Install with npm install napa --save-dev then setup your local package.json scripts as such:

{
  "scripts": {
    "install": "napa username/repo"
  }
}

Now when you run npm install it will git clone git://github.com/username/repo node_modules/repo.

Want to name the package something else?

{
  "scripts": {
    "install": "napa username/repo:adifferentname"
  }
}

Now it will install to node_modules/adifferentname.

Want to install a package not on github?

{
  "scripts": {
    "install": "napa git://example.com/user/repo:privatepackage"
  }
}

Multiple packages?

{
  "scripts": {
    "install": "napa user/repo1:dude user/repo2:rad user/repo3:cool"
  }
}

Prefer a more structured approach?

{
  "scripts": {
    "install": "napa"
  },
  "napa": {
    "foo": "username/repo",
    "bar": "[email protected]:user/repo"
  }
}

Looking to just download a tagged release/a branch/a specific commit on github or just a zip or tar.gz url?

{
  "scripts": {
    "install": "napa"
  },
  "napa": {
    "foo": "username/repo#v1.2.3",
    "bar": "username/bar#some-branch",
    "baz": "username/baz#347286372813400c7a982690acaa516292a8be40",
    "qoo": "https://example.com/downloads/release.tar.gz",
    "fuz": "git https://yourcompany.com/repos/project.git",
    "goo": "git ssh://yourcompany.com/repos/project.git"
  }
}

Additional configuration

The application currently supports the following configuration options under a napa-config property in package.json.

Option name Default value Desctiption
cache true Set to false to completely disable package caching
cache-path '<OS temp>/cache' Override default path to a specific location
(relative to the current working directory)
log-level 'info' Set the log level: 'silent'/'error'/'warn'/'verbose'/'silly'
{
  "napa-config": {
    "cache": false,
    "cache-path": "../.napa-cache",
    "log-level": "error"
  }
}

Using Node.js < 4?

Please use npm install [email protected] and upgrade your Node.js.

Release History

Please view https://github.com/shama/napa/commits/master for history.

  • 2.0.1 - Fix path must be a string error (@caseyWebb).
  • 2.0.0 - Better detection for GitHub repos, fixes when creating a package.json, cached git #tag urls now get updated properly (@tomekwi). Add config options for disabling cache or setting cache path (@bbsbb). Fix for npm 3 erroring when .git folder present (@caseyWebb). Updating dependencies.
  • 1.2.0 - Callback optional with CLI and do not ignore .gitignore files when unpacking (@dai-shi).
  • 1.1.0 - Upgrade download for better downloads behind proxies (@msieurtoph).
  • 1.0.2 - Fix references to git specifiers. Thanks @jsdevel!
  • 1.0.1 - Fix path to CLI.
  • 1.0.0 - Avoids duplicate installs and will install from cache.
  • 0.4.1 - Fix git reporting non-errors on stderr by running in quiet mode.
  • 0.4.0 - Add strip: 1 when downloading to avoid untarring within a sub-directory. Thanks @seei!
  • 0.3.0 - Ability to download packages using any URL
  • 0.2.0 - Ability to set packages using napa key in package.json
  • 0.1.1 - --depth 1 for faster cloning
  • 0.1.0 - initial release

License

Copyright (c) 2017 Kyle Robinson Young Licensed under the MIT license.

Project Statistics

Sourcerank 13
Repository Size 99.6 KB
Stars 412
Forks 34
Watchers 11
Open issues 20
Dependencies 15
Contributors 13
Tags 11
Created
Last updated
Last pushed

Top Contributors See all

Kyle Robinson Young Casey Webb Jesse Baird Tomek Wiszniewski Jens Lind Даниил Пронин Chitoku Khalid Jebbari M'sieur Toph' Daishi Kato Boyan Bonev Tim Schaub Sei Kataoka

Packages Referencing this Repo

napa
A helper for installing repos without a package.json with npm.
Latest release 3.0.0 - Updated - 412 stars

Recent Tags See all

v3.0.0 June 11, 2017
v2.3.0 January 30, 2016
v2.2.0 December 10, 2015
v2.1.0 December 10, 2015
v2.0.2 October 26, 2015
v2.0.1 October 07, 2015
v2.0.0 October 06, 2015
v1.2.0 January 07, 2015
v1.1.0 December 10, 2014
v1.0.2 October 29, 2014
v0.4.1 March 13, 2014

Something wrong with this page? Make a suggestion

Last synced: 2024-05-11 00:48:05 UTC

Login to resync this repository