Skip to content

shama/napa

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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": "git@example.com: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#347259472813400c7a982690acaa516292a8be40",
    "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 napa@2.3.0 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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published