napa

by shama

shama /napa

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

411 Stars 32 Forks Last release: Not found MIT License 124 Commits 11 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

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#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
|
'/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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.