node-snapd
Version:
nodejs client interface to ubuntu core snapd api
136 lines (87 loc) • 5.01 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>Home - Documentation</title>
<script src="scripts/prettify/prettify.js"></script>
<script src="scripts/prettify/lang-css.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
<script src="scripts/nav.js" defer></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger" class="navicon-button x">
<div class="navicon"></div>
</label>
<label for="nav-trigger" class="overlay"></label>
<nav >
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="SnapClient.html">SnapClient</a><ul class='methods'><li data-type='method'><a href="SnapClient.html#abort">abort</a></li><li data-type='method'><a href="SnapClient.html#connect">connect</a></li><li data-type='method'><a href="SnapClient.html#disable">disable</a></li><li data-type='method'><a href="SnapClient.html#disconnect">disconnect</a></li><li data-type='method'><a href="SnapClient.html#enable">enable</a></li><li data-type='method'><a href="SnapClient.html#info">info</a></li><li data-type='method'><a href="SnapClient.html#install">install</a></li><li data-type='method'><a href="SnapClient.html#listInterfaces">listInterfaces</a></li><li data-type='method'><a href="SnapClient.html#listSnaps">listSnaps</a></li><li data-type='method'><a href="SnapClient.html#login">login</a></li><li data-type='method'><a href="SnapClient.html#logout">logout</a></li><li data-type='method'><a href="SnapClient.html#modify">modify</a></li><li data-type='method'><a href="SnapClient.html#modifyInterface">modifyInterface</a></li><li data-type='method'><a href="SnapClient.html#readAuth">readAuth</a></li><li data-type='method'><a href="SnapClient.html#refresh">refresh</a></li><li data-type='method'><a href="SnapClient.html#remove">remove</a></li><li data-type='method'><a href="SnapClient.html#rest">rest</a></li><li data-type='method'><a href="SnapClient.html#revert">revert</a></li><li data-type='method'><a href="SnapClient.html#status">status</a></li><li data-type='method'><a href="SnapClient.html#switch">switch</a></li></ul></li><li><a href="SnapdError.html">SnapdError</a></li></ul>
</nav>
<div id="main">
<section class="package">
<h3>node-snapd 1.0.0</h3>
</section>
<section class="readme">
<article><h1>node-snapd</h1>
<p><em>nodejs client interface to ubuntu <a href="https://github.com/snapcore/snapd/wiki/REST-API">core snapd rest api</a></em></p>
<img src=https://img.shields.io/npm/v/node-snapd.svg>
<p>With node-snapd, you can now easily introspect the Snapd host and the installed Snap packages.</p>
<p>[](API Documentation)</p>
<pre class="prettyprint source"><code>const Snapd = require('node-snapd')
let snapd = new Snapd()
const snapList = await snapd.listSnaps()
console.log(snapList)
const coreInfo = await snapd.info({name: 'core'})
console.log(coreInfo)
</code></pre>
<p>When run with elevated permissions you can also install and configure applications in the system.</p>
<pre class="prettyprint source"><code>const vectrId = await snapd.install({name: 'vectr'})
</code></pre>
<h2>Defaults</h2>
<ul>
<li>SnapClient.authFile: <code>$HOME/.snap/auth.json</code></li>
<li>SnapClient.socketPath: <code>/run/snapd.socket</code></li>
</ul>
<h1>Developing</h1>
<p>To develop you will need to install</p>
<ul>
<li>nodejs</li>
<li>yarn</li>
<li>snapd</li>
</ul>
<p>To interactively develop run:</p>
<pre class="prettyprint source"><code>yarn
yarn watch
</code></pre>
<h2>Tests</h2>
<p>To run tests:</p>
<p><code>yarn test</code></p>
<h1>Further Reading</h1>
<ul>
<li><a href="https://medium.com/roshub/introducing-node-snapd-2199c80c6bed">Annoucement Blog Post</a></li>
<li><a href="https://www.npmjs.com/package/node-snapd">NPM Page</a></li>
<li><a href="https://github.com/snapcore/snapd/wiki/REST-API">Snapd REST API</a></li>
</ul>
<h1>Credits</h1>
<p><a href="https://roshub.io"><img src=https://github.com/roshub/vapor_master/raw/master/icons/roshub_logo_cropped_large.png width=300></a></p>
<p>node-snapd is open source software developed by <a href="https://roshub.io">RosHub Inc.</a></p>
<ul>
<li>Philetus Weller</li>
<li>Alan Meekins</li>
</ul></article>
</section>
</div>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Wed Jul 17 2019 01:12:54 GMT-0700 (Pacific Daylight Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
</footer>
<script>prettyPrint();</script>
<script src="scripts/polyfill.js"></script>
<script src="scripts/linenumber.js"></script>
</body>
</html>