<!doctype html>
<html>
  <title>npm-owner</title>
  <meta http-equiv="content-type" value="text/html;utf-8">
  <link rel="stylesheet" type="text/css" href="../../static/style.css">

  <body>
    <div id="wrapper">
<h1><a href="../api/npm-owner.html">npm-owner</a></h1> <p>Manage package owners</p>

<h2 id="SYNOPSIS">SYNOPSIS</h2>

<pre><code>npm.commands.owner(args, callback)</code></pre>

<h2 id="DESCRIPTION">DESCRIPTION</h2>

<p>The first element of the &#39;args&#39; parameter defines what to do, and the subsequent
elements depend on the action. Possible values for the action are (order of
parameters are given in parenthesis):</p>

<ul><li>ls (package):
List all the users who have access to modify a package and push new versions.
Handy when you need to know who to bug for help.</li><li>add (user, package):
Add a new user as a maintainer of a package.  This user is enabled to modify
metadata, publish new versions, and add other owners.</li><li>rm (user, package):
Remove a user from the package owner list.  This immediately revokes their
privileges.</li></ul>

<p>Note that there is only one level of access.  Either you can modify a package,
or you can&#39;t.  Future versions may contain more fine-grained access levels, but
that is not implemented at this time.</p>

<h2 id="SEE-ALSO">SEE ALSO</h2>

<ul><li><a href="../api/npm-publish.html">npm-publish(3)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li></ul>
</div>
<p id="footer">npm-owner &mdash; npm@1.3.21</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
  .filter(function (el) {
    return el.parentNode === wrapper
        && el.tagName.match(/H[1-6]/)
        && el.id
  })
var l = 2
  , toc = document.createElement("ul")
toc.innerHTML = els.map(function (el) {
  var i = el.tagName.charAt(1)
    , out = ""
  while (i > l) {
    out += "<ul>"
    l ++
  }
  while (i < l) {
    out += "</ul>"
    l --
  }
  out += "<li><a href='#" + el.id + "'>" +
    ( el.innerText || el.text || el.innerHTML)
    + "</a>"
  return out
}).join("\n")
toc.id = "toc"
document.body.appendChild(toc)
})()
</script>
