diff --git a/.gitignore b/.gitignore
index 947371b..b512c09 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1 @@
-node_modules
-run_dev.sh
\ No newline at end of file
+node_modules
\ No newline at end of file
diff --git a/dev.sh b/dev.sh
deleted file mode 100644
index 50f3152..0000000
--- a/dev.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/bash
-
-echo "Starting in dev mode"
-
-rm run_dev.sh
-jq -r ".apps[0].env | keys[]" ./process.json | while read key ; do
- echo -n "$key=\"">> run_dev.sh
- echo -n "$(jq ".apps[0].env.$key" ./process.json)" >> run_dev.sh
- echo -n "\" ">> run_dev.sh
-done
-echo -n " node services/bluetooth" >> run_dev.sh
-
-#cat run_dev.sh
-sh run_dev.sh
\ No newline at end of file
diff --git a/docs.sh b/docs.sh
deleted file mode 100644
index a4c254c..0000000
--- a/docs.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-
-libs="./lib/*"
-for l in $libs
-do
- echo "Generating documentation for $l"
- ./node_modules/.bin/jsdoc2md $l/index.js > $l/Readme.md
-done
\ No newline at end of file
diff --git a/hardware/intval3_0_prototype.psd b/hardware/intval3_0_prototype.psd
deleted file mode 100644
index 8743617..0000000
Binary files a/hardware/intval3_0_prototype.psd and /dev/null differ
diff --git a/hardware/intval3_0_prototype_mask.png b/hardware/intval3_0_prototype_mask.png
deleted file mode 100644
index fe78994..0000000
Binary files a/hardware/intval3_0_prototype_mask.png and /dev/null differ
diff --git a/hardware/intval_3_prototype.fzz b/hardware/intval_3_prototype.fzz
deleted file mode 100644
index 6eab757..0000000
Binary files a/hardware/intval_3_prototype.fzz and /dev/null differ
diff --git a/hardware/intval_3_prototype_etch_copper_top.pdf b/hardware/intval_3_prototype_etch_copper_top.pdf
deleted file mode 100644
index 02acaa2..0000000
Binary files a/hardware/intval_3_prototype_etch_copper_top.pdf and /dev/null differ
diff --git a/index.js b/index.js
index 4356b13..f1c5f69 100644
--- a/index.js
+++ b/index.js
@@ -1,16 +1,16 @@
'use strict'
-const restify = require('restify')
-const log = require('./lib/log')('main')
-const fs = require('fs')
-
const ble = require('./lib/blootstrap')
const intval = require('./lib/intval')
+const restify = require('restify')
+const logger = require('winston')
+const fs = require('fs')
+const pin = {}
const PACKAGE = require('./package.json')
const PORT = process.env.PORT || 6699
const APPNAME = PACKAGE.name
-const INDEXPATH = './app/www/index.html'
+const INDEX = fs.readFileSync('./app/www/index.html', 'utf8')
let app = restify.createServer({
name: APPNAME,
@@ -25,30 +25,24 @@ function createServer () {
app.post('/sequence', () => {})
app.get('/status', rStatus)
app.listen(PORT, () => {
- log.info('server', { name : APPNAME, port : PORT })
+ console.log(`${APPNAME} listening on port ${PORT}!`)
})
}
function rFrame (req, res, next) {
- intval.frame()
res.send({})
return next()
}
function rStatus (req, res, next) {
const obj = intval.status()
- res.send(obj)
+ res.send({})
return next()
}
function index (req, res, next) {
- fs.readFile(INDEXPATH, (err, data) => {
- if (err) {
- return next(err)
- }
- res.end(data)
- next()
- }, 'utf8')
+ res.end(INDEX)
+ return next()
}
diff --git a/lib/blootstrap/Readme.md b/lib/blootstrap/Readme.md
deleted file mode 100644
index a96ceb5..0000000
--- a/lib/blootstrap/Readme.md
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-## Blootstrap
-Class representing the bluetooth interface
-
-**Kind**: global class
-
-
-### blootstrap.on(eventName, callback)
-Binds functions to events that are triggered by BLE messages
-
-**Kind**: instance method of [Blootstrap
](#Blootstrap)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| eventName | string
| Name of the event to to bind |
-| callback | function
| Invoked when the event is triggered |
-
diff --git a/lib/blootstrap/index.js b/lib/blootstrap/index.js
index f015ff7..33d9da0 100644
--- a/lib/blootstrap/index.js
+++ b/lib/blootstrap/index.js
@@ -1,42 +1,29 @@
'use strict'
const ipc = require('node-ipc')
-const log = require('../log')('ble')
function capitalize (s) {
return s[0].toUpperCase() + s.slice(1)
}
-/** Class representing the bluetooth interface */
class Blootstrap {
constructor () {
this._onData = () => {}
ipc.connectTo('blootstrap_ble', () => {
ipc.of.blootstrap_ble.on('connect', () => {
- log.info('connect', `Connected to the blootstrap_ble service`)
+ ipc.log(`Connected to the blootstrap_ble service`)
})
ipc.of.blootstrap_ble.on('data', data => {
const str = data.toString()
- log.info('data', str)
+ ipc.log(str)
this._onData(str)
})
ipc.of.blootstrap_ble.on('disconnect', () => {
- log.info('disconnect', `Disconnected from the blootstrap_ble service`)
- })
- ipc.of.blootstrap_ble.on('error', (err) => {
- if (err.code === 'EACCES') {
- log.warn('error', `Cannot access ipc`)
- }
+ ipc.log(`Disconnected from the blootstrap_ble service`)
})
})
}
- /**
- * Binds functions to events that are triggered by BLE messages
- *
- * @param {string} eventName Name of the event to to bind
- * @param {function} callback Invoked when the event is triggered
- */
on (eventName, callback) {
this[`_on${capitalize(eventName)}`] = callback
}
diff --git a/lib/intval/Readme.md b/lib/intval/Readme.md
deleted file mode 100644
index 967573a..0000000
--- a/lib/intval/Readme.md
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
-## Intval
-Class representing the intval3 features
-
-**Kind**: global class
-
-* [Intval](#Intval)
- * [._declarePins()](#Intval+_declarePins)
- * [._undeclarePins()](#Intval+_undeclarePins)
- * [._startFwd()](#Intval+_startFwd)
- * [._startBwd()](#Intval+_startBwd)
- * [._stop()](#Intval+_stop)
- * [._watchMicro(err, val)](#Intval+_watchMicro)
- * [._watchRelease(err, val)](#Intval+_watchRelease)
- * [.setDir([dir])](#Intval+setDir)
- * [.frame([dir], [time])](#Intval+frame)
- * [.sequence()](#Intval+sequence)
-
-
-
-### intval._declarePins()
-(internal function) Declares all Gpio pins that will be used
-
-**Kind**: instance method of [Intval
](#Intval)
-
-
-### intval._undeclarePins()
-(internal function) Undeclares all Gpio in event of uncaught error
-that interupts the node process
-
-**Kind**: instance method of [Intval
](#Intval)
-
-
-### intval._startFwd()
-Start motor in forward direction by setting correct pins in h-bridge
-
-**Kind**: instance method of [Intval
](#Intval)
-
-
-### intval._startBwd()
-Start motor in backward direction by setting correct pins in h-bridge
-
-**Kind**: instance method of [Intval
](#Intval)
-
-
-### intval._stop()
-Stop motor by setting both motor pins to 0 (LOW)
-
-**Kind**: instance method of [Intval
](#Intval)
-
-
-### intval._watchMicro(err, val)
-Callback for watching relese switch state changes.
-Using GPIO 06 on Raspberry Pi Zero W.
-
-1) If closed AND frame active, start timer, set state primed to `true`.
-1) If opened AND frame active, stop frame
-
-Microswitch + 10K ohm resistor
-* 1 === open
-* 0 === closed
-
-**Kind**: instance method of [Intval
](#Intval)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| err | object
| Error object present if problem reading pin |
-| val | integer
| Current value of the pin |
-
-
-
-### intval._watchRelease(err, val)
-Callback for watching relese switch state changes.
-Using GPIO 05 on Raspberry Pi Zero W.
-
-1) If closed, start timer.
-2) If opened, check timer AND
-3) If `press` (`NOW - this._state.release.time`) greater than minimum and less than `this._releaseSequence`, start frame
-4) If `press` greater than `this._releaseSequence`, start sequence
-
-Button + 10K ohm resistor
-* 1 === open
-* 0 === closed
-
-**Kind**: instance method of [Intval
](#Intval)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| err | object
| Error object present if problem reading pin |
-| val | integer
| Current value of the pin |
-
-
-
-### intval.setDir([dir])
-Set the default direction of the camera.
-* forward = true
-* backward = false
-
-**Kind**: instance method of [Intval
](#Intval)
-
-| Param | Type | Default | Description |
-| --- | --- | --- | --- |
-| [dir] | boolean
| true
| Direction of the camera |
-
-
-
-### intval.frame([dir], [time])
-Begin a single frame with set variables or defaults
-
-**Kind**: instance method of [Intval
](#Intval)
-
-| Param | Type | Default | Description |
-| --- | --- | --- | --- |
-| [dir] | boolean
| "null"
| (optional) Direction of the frame |
-| [time] | integer
| "null"
| (optional) Exposure time, 0 = minimum |
-
-
-
-### intval.sequence()
-Start a sequence of frames, using defaults or explicit instructions
-
-**Kind**: instance method of [Intval
](#Intval)
diff --git a/lib/intval/index.js b/lib/intval/index.js
index 40d6124..fc2d553 100644
--- a/lib/intval/index.js
+++ b/lib/intval/index.js
@@ -1,272 +1,23 @@
'use strict'
-const log = require('../log')('intval')
+const gpio = require('gpio')
-let Gpio
-try {
- Gpio = require('onoff').Gpio
-} catch (e) {
- log.warn('Failed including Gpio, using sim')
- Gpio = require('../../lib/onoffsim').Gpio
-}
-
-
-const PINS = {
- fwd : {
- pin : 13,
- dir : 'out'
- },
- bwd : {
- pin : 19,
- dir : 'out'
- },
- micro : {
- pin : 6,
- dir : 'in',
- edge : 'both'
- },
- release : {
- pin : 5,
- dir : 'in',
- edge : 'both'
- }
-}
-
-/** Class representing the intval3 features */
class Intval {
constructor () {
this._pin = {}
- this._state = {
- dir : true, //forward
- frame : {
- start : 0, //time frame started, timestamp
- active : false, //should frame be running
- time : 0, //length of frame, in ms
- delay : 0, //delay before start of frame, in ms
-
- expected : 1000 //expected length of frame, in ms
- },
- release : {
- time: 0,
- active : false //is pressed
- },
- micro : {
- time : 0,
- primed : false //is ready to stop frame
- }
- }
-
- this._releaseMin = 50
- this._releaseSequence = 1000
- this._microDelay = 10 // delay after stop signal before stopping motors
-
this._declarePins()
- process.on('SIGINT', this._undeclarePins)
- process.on('uncaughtException', this._undeclarePins)
}
- /**
- * (internal function) Declares all Gpio pins that will be used
- *
- */
_declarePins () {
- let pin
- for (let p in PINS) {
- pin = PINS[p]
- if (pin.edge) this._pin[p] = Gpio(pin.pin, pin.dir, pin.edge)
- if (!pin.edge) this._pin[p] = Gpio(pin.pin, pin.dir)
- log.info('_declarePins', { pin : pin.pin, dir : pin.dir, edge : pin.edge })
- }
- this._pin.release.watch(this._watchRelease)
- }
- /**
- * (internal function) Undeclares all Gpio in event of uncaught error
- * that interupts the node process
- *
- */
- _undeclarePins () {
- if (!this._pin) return process.exit()
- log.warn('_undeclarePins', { pin : PINS.fwd.pin, val : 0, reason : 'exiting'})
- this._pin.fwd.writeSync(0)
- log.warn('_undeclarePins', { pin : PINS.bwd.pin, val : 0, reason : 'exiting'})
- this._pin.bwd.writeSync(0)
- this._pin.fwd.unexport()
- this._pin.bwd.unexport()
- this._pin.micro.unexport()
- this._pin.release.unexport()
- process.exit()
- }
- /**
- * Start motor in forward direction by setting correct pins in h-bridge
- *
- */
- _startFwd () {
- this._pin.fwd.writeSync(1)
- this._pin.bwd.writeSync(0)
- //start high-cpu watch
- }
- /**
- * Start motor in backward direction by setting correct pins in h-bridge
- *
- */
- _startBwd () {
- this._pin.fwd.writeSync(0)
- this._pin.bwd.writeSync(1)
- }
- /**
- * Stop motor by setting both motor pins to 0 (LOW)
- *
- */
- _stop () {
- this._pin.fwd.writeSync(0)
- this._pin.bwd.writeSync(0)
-
- let len = (+new Date()) - this._state.frame.start
-
- log.info(`Frame stopped ${len}ms`)
-
- this._pin.micro.unwatch()
- this._state.frame.active = false
- this._state.frame.start = 0
- }
- /**
- * Callback for watching relese switch state changes.
- * Using GPIO 06 on Raspberry Pi Zero W.
- *
- * 1) If closed AND frame active, start timer, set state primed to `true`.
- * 1) If opened AND frame active, stop frame
- *
- * Microswitch + 10K ohm resistor
- * * 1 === open
- * * 0 === closed
- *
- *
- * @param {object} err Error object present if problem reading pin
- * @param {integer} val Current value of the pin
- *
- */
- _watchMicro (err, val) {
- const NOW = +new Date()
- if (err) {
- log.error('_watchMicro', err)
- }
- //determine when to stop
- if (val === 0 && this._state.frame.active) {
- if (!this._state.micro.primed) {
- this._state.micro.primed = true
- this._state.micro.time = NOW
- log.info('Mircoswitch primed to stop motor')
+ this._pin.four = gpio.export(4, {
+ direction: 'out',
+ interval: 100,
+ ready : () => {
+ console.info(`Set pin 4 to OUTPUT`)
}
- } else if (val === 1 && this._state.frame.active) {
- if (this._state.micro.primed) {
- this._state.micro.primed = false
- this._state.micro.time = 0
- setTimeout( () => {
- log.info(`Stopped frame after ${NOW - this._state.micro.time}ms`)
- }, this._microDelay)
- }
- }
- }
- /**
- * Callback for watching relese switch state changes.
- * Using GPIO 05 on Raspberry Pi Zero W.
- *
- * 1) If closed, start timer.
- * 2) If opened, check timer AND
- * 3) If `press` (`NOW - this._state.release.time`) greater than minimum and less than `this._releaseSequence`, start frame
- * 4) If `press` greater than `this._releaseSequence`, start sequence
- *
- * Button + 10K ohm resistor
- * * 1 === open
- * * 0 === closed
- *
- * @param {object} err Error object present if problem reading pin
- * @param {integer} val Current value of the pin
- *
- */
- _watchRelease (err, val) {
- const NOW = +new Date()
- let press = 0
- if (err) {
- return log.error(err)
- }
- log.info(`Release switch val: ${val}`)
- if (val === 0) {
- //closed
- if ((!this._state.release.active && this._state.release.time === 0) || (this._state.release.active && (NOW - this._state.release.time) > (this._releaseSequence * 10))
- ) {
- this._state.release.time = NOW
- this._state.release.active = true //maybe unncecessary
- }
- } else if (val === 1) {
- //opened
- if (this._state.release.active) {
- press = NOW - this._state.release.time
- if (press > this._releaseMin && press < this._releaseSequence) {
- this.frame()
- } else if (press >= this._releaseSequence) {
- this.sequence()
- }
- log.info(`Release closed for ${press}ms`)
- this._state.release.time = 0
- this._state.release.active = false
- }
- }
- }
- /**
- * Set the default direction of the camera.
- * * forward = true
- * * backward = false
- *
- * @param {boolean} [dir=true] Direction of the camera
- *
- */
- setDir (val = true) {
- if (typeof val !== 'boolean') {
- return log.warn('Direction must be represented as either true or false')
- }
- this._state.dir = val
- }
- /**
- * Begin a single frame with set variables or defaults
- *
- * @param {?boolean} [dir="null"] (optional) Direction of the frame
- * @param {?integer} [time="null"] (optional) Exposure time, 0 = minimum
- *
- */
- frame (dir = null, time = null) {
- if (dir === true || (dir === null && this._state.dir === true) ) {
- dir = true
- } else {
- dir = false
- }
-
- if (time === null && this._state.time !== 0) {
- time = this._state.time
- } else {
- time = 0
- }
-
- this._state.frame.start = +new Date()
- this._state.frame.active = true
- this._pin.micro.watch(this._watchMicro)
-
- log.info('frame', {dir : dir, time : time})
-
- if (dir) {
- this._startFwd()
- } else {
- this._startBwd()
- }
- }
- /**
- * Start a sequence of frames, using defaults or explicit instructions
- *
- */
- sequence () {
- log.info('sequence', `Started sequence`)
+ })
}
status () {
- return this._state
+ return {}
}
}
diff --git a/lib/log/Readme.md b/lib/log/Readme.md
deleted file mode 100644
index 61f4e44..0000000
--- a/lib/log/Readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-## createLog(label, filename) ⇒ object
-createLog() - Returns a winston logger configured to service
-
-**Kind**: global function
-**Returns**: object
- Winston logger
-
-| Param | Type | Default | Description |
-| --- | --- | --- | --- |
-| label | string
| | Label appearing on logger |
-| filename | string
| null
| Optional file to write log to |
-
diff --git a/lib/log/index.js b/lib/log/index.js
deleted file mode 100644
index 8527559..0000000
--- a/lib/log/index.js
+++ /dev/null
@@ -1,22 +0,0 @@
-'use strict'
-
-const winston = require('winston')
-
-/**
-* createLog() - Returns a winston logger configured to service
-*
-* @param {string} label Label appearing on logger
-* @param {string} filename Optional file to write log to
-* @returns {object} Winston logger
-*/
-function createLog (label, filename = null) {
- const transports = [ new (winston.transports.Console)({ label : label }) ]
- if (filename !== null) {
- transports.push( new (winston.transports.File)({ label : label, filename : filename }) )
- }
- return new (winston.Logger)({
- transports: transports
- })
-}
-
-module.exports = createLog
\ No newline at end of file
diff --git a/lib/mscript/Readme.md b/lib/mscript/Readme.md
deleted file mode 100644
index 611eefa..0000000
--- a/lib/mscript/Readme.md
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-## mscript
-Object representing mscript parser
-
-**Kind**: global constant
-
-* [mscript](#mscript)
- * [.arg(shrt, lng)](#mscript.arg)
- * [.arg_pos(shrt, lng)](#mscript.arg_pos)
-
-
-
-### mscript.arg(shrt, lng)
-Determine whether or not argument flag has been set
-
-**Kind**: static method of [mscript
](#mscript)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| shrt | string
| Short flag name (ie `-a`) |
-| lng | string
| Long flag name (ie `--apple`) |
-
-
-
-### mscript.arg_pos(shrt, lng)
-Determine position of flag, in argument array
-
-**Kind**: static method of [mscript
](#mscript)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| shrt | string
| Short flag name (ie `-a`) |
-| lng | string
| Long flag name (ie `--apple`) |
-
diff --git a/lib/mscript/index.js b/lib/mscript/index.js
deleted file mode 100644
index c12700e..0000000
--- a/lib/mscript/index.js
+++ /dev/null
@@ -1,441 +0,0 @@
-'use strict'
-
-let fs
-let input;
-
-/** Object representing mscript parser */
-const mscript = {}
-
-/**
-* Determine whether or not argument flag has been set
-*
-*
-* @param {string} shrt Short flag name (ie `-a`)
-* @param {string} lng Long flag name (ie `--apple`)
-*
-*/
-mscript.arg = function arg (shrt, lng) {
- if (process.argv.indexOf(shrt) !== -1 ||
- process.argv.indexOf(lng) !== -1) {
- return true
- }
- return false
-}
-/**
-* Determine position of flag, in argument array
-*
-*
-* @param {string} shrt Short flag name (ie `-a`)
-* @param {string} lng Long flag name (ie `--apple`)
-*
-*/
-mscript.arg_pos = function arg_pos (shrt, lng) {
- let pos = process.argv.indexOf(shrt)
- if (pos === -1) {
- pos = process.argv.indexOf(lng)
- }
- return pos
-}
-
-mscript.black = '0,0,0'
-
-mscript.cmd = [
- 'CF',
- 'PF',
- 'BF',
- 'CB',
- 'PB',
- 'BB',
- 'D'
-]
-mscript.alts = {
- 'CF' : ['CAMERA FORWARD', 'CAM FORWARD', 'C'],
- 'PF' : ['PROJECTOR FORWARD', 'PROJ FORWARD', 'P'],
- 'BF' : ['BLACK FORWARD'],
- 'CB' : ['CAMERA BACKWARD', 'CAM BACKWARD', 'CAMERA BACK', 'CAM BACK'],
- 'PB' : ['PROJECTOR FORWARD', 'PROJ FORWARD', 'PROJECTOR BACK', 'PROJ BACK'],
- 'BB' : ['BLACK BACKWARD', 'BLACK BACK'],
- 'L ' : ['LIGHT', 'COLOR', 'LAMP']
-}
-
-mscript.state = {}
-//TODO: This will memory leak
-mscript.state_clear = function state_clear () {
- mscript.state = {
- cam : 0,
- proj : 0,
- color : '',
- loops : [],
- rec : -1
- }
-}
-
-mscript.alts_unique = function alts_unique () {
- const ids = Object.keys(mscript.alts)
- const all = []
- for (let i = 0; i < ids.length; i++) {
- if (all.indexOf(ids[i]) === -1) {
- all.push(ids[i])
- } else {
- mscript.fail(1, "Can't parse")
- }
- }
-}
-
-mscript.interpret = function interpret (text, callback) {
- mscript.state_clear()
- if (typeof text === 'undefined') {
- mscript.fail(2, 'No input')
- }
- const lines = text.split('\n')
- const arr = []
- const light = []
- const output = {}
-
- let two = ''
- let target = 0
- let dist = 0 //?
- let x
-
- //loop through all lines
- for (let line of lines) {
- //preprocess line
- line = mscript.preprocess(line)
- two = line.substring(0, 2)
-
- if (mscript.cmd.indexOf(two) !== -1) {
- if (mscript.state.loops.length > 0) {
- //hold generated arr in state loop array
- mscript.state.loops[mscript.state.rec].arr.push.apply(mscript.state.loops[mscript.state.rec].arr, mscript.str_to_arr(line, two))
- mscript.state.loops[mscript.state.rec].light.push.apply(mscript.state.loops[mscript.state.rec].light, mscript.light_to_arr(line, two))
- } else {
- arr.push.apply(arr, mscript.str_to_arr(line, two))
- light.push.apply(light, mscript.light_to_arr(line, two))
- }
-
- } else if (line.substring(0, 4) === 'LOOP') {
- mscript.state.rec++
- mscript.state.loops[mscript.state.rec] = {
- arr : [],
- light : [],
- cam : 0,
- proj : 0,
- cmd : line + ''
- }
- } else if (line.substring(0, 2) === 'L ') {
- mscript.light_state(line)
- } else if (line.substring(0, 3) === 'END') {
- for (x = 0; x < mscript.loop_count(mscript.state.loops[mscript.state.rec].cmd); x++) {
- if (mscript.state.rec === 0) {
- arr.push.apply(arr, mscript.state.loops[mscript.state.rec].arr);
- light.push.apply(light, mscript.state.loops[mscript.state.rec].light);
- } else if (mscript.state.rec >= 1) {
- mscript.state.loops[mscript.state.rec - 1].arr.push.apply(mscript.state.loops[mscript.state.rec - 1].arr, mscript.state.loops[mscript.state.rec].arr)
- mscript.state.loops[mscript.state.rec - 1].light.push.apply(mscript.state.loops[mscript.state.rec - 1].light, mscript.state.loops[mscript.state.rec].light)
- }
- }
- mscript.state_update('END', mscript.loop_count(mscript.state.loops[mscript.state.rec].cmd));
- delete mscript.state.loops[mscript.state.rec]
- mscript.state.rec--
- } else if (line.substring(0, 3) === 'CAM') { //directly go to that frame (black?)
- target = parseInt(line.split('CAM ')[1])
- if (mscript.state.loops.length > 0) {
- if (target > mscript.state.cam) {
- dist = target - mscript.state.cam
- for (x = 0; x < dist; x++) {
- mscript.state.loops[mscript.state.rec].arr.push('BF')
- mscript.state.loops[mscript.state.rec].light.push(mscript.black)
- mscript.state_update('BF')
- }
- } else {
- dist = mscript.state.cam - target
- for (x = 0; x < dist; x++) {
- mscript.state.loops[mscript.state.rec].arr.push('BB')
- mscript.state.loops[mscript.state.rec].light.push(mscript.black)
- mscript.state_update('BB')
- }
- }
- } else {
- if (target > mscript.state.cam) {
- dist = target - mscript.state.cam
- for (x = 0; x < dist; x++) {
- arr.push('BF')
- light.push(mscript.black)
- mscript.state_update('BF')
- }
- } else {
- dist = mscript.state.cam - target
- for (x = 0; x < dist; x++) {
- arr.push('BB')
- light.push(mscript.black)
- mscript.state_update('BB')
- }
- }
- }
- } else if (line.substring(0, 4) === 'PROJ') { //directly go to that frame
- target = parseInt(line.split('PROJ ')[1])
- if (mscript.state.loops.length > 0) {
- if (target > mscript.state.proj) {
- dist = target - mscript.state.proj
- for (x = 0; x < dist; x++) {
- mscript.state.loops[mscript.state.rec].arr.push('PF')
- mscript.state.loops[mscript.state.rec].light.push('')
- mscript.state_update('PF')
- }
- } else {
- dist = mscript.state.proj - target
- for (x = 0; x < dist; x++) {
- mscript.state.loops[mscript.state.rec].arr.push('PB')
- mscript.state.loops[mscript.state.rec].light.push('')
- mscript.state_update('PB')
- }
- }
- } else {
- if (target > mscript.state.proj) {
- dist = target - mscript.state.proj
- for (x = 0; x < dist; x++) {
- arr.push('PF')
- light.push('')
- mscript.state_update('PF')
- }
- } else {
- dist = mscript.state.proj - target
- for (x = 0; x < dist; x++) {
- arr.push('PB')
- light.push('')
- mscript.state_update('PB');
- }
- }
- }
- } else if (line.substring(0, 3) === 'SET') { //set that state
- if (line.substring(0, 7) === 'SET CAM') {
- mscript.state.cam = parseInt(line.split('SET CAM')[1]);
- } else if (line.substring(0, 8) === 'SET PROJ') {
- mscript.state.proj = parseInt(line.split('SET PROJ')[1]);
- }
- } else if (line.substring(0, 1) === '#' || line.substring(0, 2) === '//') {
- //comments
- //ignore while parsing
- }
- }
- output.success = true
- output.arr = arr
- output.light = light
- output.cam = mscript.state.cam
- output.proj = mscript.state.proj
- if (typeof callback !== 'undefined') {
- //should only be invoked by running mscript.tests()
- callback(output)
- } else {
- return mscript.output(output)
- }
-}
-
-mscript.preprocess = function preprocess (line) {
- line = line.replace(/\t+/g, '') //strip tabs
- line = line.trim() //remove excess whitespace before and after command
- line = line.toUpperCase()
- return line
-}
-
-mscript.last_loop = function last_loop () {
- return mscript.state.loops[mscript.state.loops.length - 1]
-}
-
-mscript.parent_loop = function parent_loop () {
- return mscript.state.loops[mscript.state.loops.length - 2]
-}
-
-mscript.state_update = function state_update (cmd, val) {
- if (cmd === 'END') {
- for (var i = 0; i < val; i++) {
- if (mscript.state.rec === 0) {
- mscript.state.cam += mscript.state.loops[mscript.state.rec].cam
- mscript.state.proj += mscript.state.loops[mscript.state.rec].proj
- } else if (mscript.state.rec >= 1) {
- mscript.state.loops[mscript.state.rec - 1].cam += mscript.state.loops[mscript.state.rec].cam
- mscript.state.loops[mscript.state.rec - 1].proj += mscript.state.loops[mscript.state.rec].proj
- }
- }
- } else if (cmd === 'CF') {
- if (mscript.state.loops.length < 1) {
- mscript.state.cam++
- } else {
- mscript.state.loops[mscript.state.rec].cam++
- }
- } else if (cmd === 'CB') {
- if (mscript.state.loops.length < 1) {
- mscript.state.cam--
- } else {
- mscript.state.loops[mscript.state.rec].cam--
- }
- } else if (cmd === 'PF') {
- if (mscript.state.loops.length < 1) {
- mscript.state.proj++
- } else {
- mscript.state.loops[mscript.state.rec].proj++
- }
- } else if (cmd === 'PB') {
- if (mscript.state.loops.length < 1) {
- mscript.state.proj--
- } else {
- mscript.state.loops[mscript.state.rec].proj--
- }
- } else if (cmd === 'BF') {
- if (mscript.state.loops.length < 1) {
- mscript.state.cam++
- } else {
- mscript.state.loops[mscript.state.rec].cam++
- }
- } else if (cmd === 'BB') {
- if (mscript.state.loops.length < 1) {
- mscript.state.cam--
- } else {
- mscript.state.loops[mscript.state.rec].cam++
- }
- } else if (cmd === 'L ') {
- //TODO : ????
- }
-}
-
-mscript.str_to_arr = function str_to_arr (str, cmd) {
- const cnt = str.split(cmd)
- let arr = []
- let c = parseInt(cnt[1])
-
- if (cnt[1] === '') {
- c = 1
- } else {
- c = parseInt(cnt[1])
- }
- for (var i = 0; i < c; i++) {
- arr.push(cmd)
- mscript.state_update(cmd)
- }
- return arr
-}
-
-mscript.light_state = function light_state (str) {
- //add parsers for other color spaces
- const color = str.replace('L ', '').trim()
- mscript.state.color = color
-}
-
-mscript.light_to_arr = function light_to_arr (str, cmd) {
- const cnt = str.split(cmd)
- const arr = []
- let c = parseInt(cnt[1])
-
- if (cnt[1] === '') {
- c = 1
- } else {
- c = parseInt(cnt[1])
- }
- for (var i = 0; i < c; i++) {
- if (cmd === 'CF' || cmd === 'CB') {
- arr.push(mscript.state.color)
- } else if (cmd === 'BF' || cmd === 'BB') {
- arr.push(mscript.black)
- } else {
- arr.push('')
- }
- }
- return arr
-}
-
-mscript.loop_count = function loop_count (str) {
- return parseInt(str.split('LOOP ')[1])
-}
-
-mscript.fail = function fail (code, reason) {
- const obj = { success: false, error: true, msg : reason }
- console.error(JSON.stringify(obj))
- if (process) process.exit()
-}
-
-mscript.output = function output (data) {
- let json = true; //default
- if (mscript.arg('-j', '--json')) {
- json = true
- }
-
- if (mscript.arg('-t', '--text')) {
- json = false
- }
-
- if (json) {
- console.log(JSON.stringify(data))
- } else {
- var ids = Object.keys(data)
- for (var i = 0; i < ids.length; i++) {
- console.log(ids[i] + ': ' + data[ids[i]])
- }
- }
-}
-
-mscript.init = function init () {
- if (mscript.arg('-t', '--tests')) {
- return mscript.tests()
- }
-
- if (mscript.arg('-v', '--verbose')) {
- console.time('mscript')
- }
-
- if (mscript.arg('-c', '--cam')) {
- mscript.state.cam = parseInt(process.argv[mscript.arg_pos('-c', '--cam') + 1])
- }
-
- if (mscript.arg('-p', '--proj')) {
- mscript.state.proj = parseInt(process.argv[mscript.arg_pos('-p', '--proj') + 1])
- }
-
- if (mscript.arg('-f', '--file')) {
- input = process.argv[mscript.arg_pos('-f', '--file') + 1]
- mscript.interpret(fs.readFileSync(input, 'utf8'))
- } else {
- mscript.interpret(input)
- }
-
- if (mscript.arg('-v', '--verbose')) {
- console.timeEnd('mscript')
- }
-};
-
-if (typeof document === 'undefined' && typeof module !== 'undefined' && !module.parent) {
- //node script
- fs = require('fs')
- input = process.argv[2]
- mscript.init()
-} else if (typeof module !== 'undefined' && module.parent) {
- //module
- fs = require('fs')
- module.exports = mscript
-} else {
- //web
-}
-
-
-/*
-
-CAM # - go to camera frame #
-PROJ # - go to projector frame #
-
-SET CAM # - sets camera count to #
-SET PROJ # - sets projector count to #
-
-LOOP # - begin loop, can nest recursively, # times
-END LOOP - (or END) closes loop
-
-L #RGB - sets light to rgb value
-
-FADE
-
-CF - Camera forwards
-PF - Projector forwards
-BF - Black forwards
-CB - Camera backwards
-PB - Projector backwards
-BB - Black backwards
-
-*/
\ No newline at end of file
diff --git a/lib/onoffsim/Readme.md b/lib/onoffsim/Readme.md
deleted file mode 100644
index 144b474..0000000
--- a/lib/onoffsim/Readme.md
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-## onoffsim
-Object representing a fake onoff Gpio class
-
-**Kind**: global constant
-
-
-### onoffsim.Gpio(no, dir, additional) ⇒ object
-Returns a Gpio class in the case of running on a dev machine
-
-**Kind**: static method of [onoffsim
](#onoffsim)
-**Returns**: object
- Fake Gpio object
-
-| Param | Type | Description |
-| --- | --- | --- |
-| no | integer
| Number of the GPIO pin |
-| dir | string
| Dirction of the pin, 'input' or 'output' |
-| additional | string
| Additional instructions for the GPIO pin, for 'input' type |
-
diff --git a/lib/onoffsim/index.js b/lib/onoffsim/index.js
deleted file mode 100644
index 88b8c70..0000000
--- a/lib/onoffsim/index.js
+++ /dev/null
@@ -1,35 +0,0 @@
-'use strict'
-
-/** Object representing a fake onoff Gpio class */
-const onoffsim = {
- /**
- * Returns a Gpio class in the case of running on a dev machine
- *
- * @param {integer} no Number of the GPIO pin
- * @param {string} dir Dirction of the pin, 'input' or 'output'
- * @param {string} additional Additional instructions for the GPIO pin, for 'input' type
- * @returns {object} Fake Gpio object
- */
- Gpio : function (no, dir = 'in', additional = 'none') {
- return {
- no : no,
- dir : dir,
- additional : additional,
- val : null,
- watchFunc : null,
- set : function (val) {
- console.log(`onoffsim set ${this.no} to ${val}`)
- },
- get : function () {
- return this.val
- },
- watch : function (cb) {
- this.watchFunc = cb
- },
- unexport : function () {
- }
- }
- }
-}
-
-module.exports = onoffsim
\ No newline at end of file
diff --git a/lib/wifi/Readme.md b/lib/wifi/Readme.md
deleted file mode 100644
index af31581..0000000
--- a/lib/wifi/Readme.md
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-## Wifi
-Class representing the wifi features
-
-**Kind**: global class
-
-* [Wifi](#Wifi)
- * [.list(callback)](#Wifi+list)
- * [._readConfigCb(err, data)](#Wifi+_readConfigCb)
- * [._writeConfigCb(err)](#Wifi+_writeConfigCb)
- * [._reconfigureCb(err, stdout, stderr)](#Wifi+_reconfigureCb)
- * [._refreshCb(err, stdout, stderr)](#Wifi+_refreshCb)
- * [.setNetwork(ssid, pwd, callback)](#Wifi+setNetwork)
- * [.getNetwork(callback)](#Wifi+getNetwork)
-
-
-
-### wifi.list(callback)
-List available wifi access points
-
-**Kind**: instance method of [Wifi
](#Wifi)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| callback | function
| Function which gets invoked after list is returned |
-
-
-
-### wifi._readConfigCb(err, data)
-(internal function) Invoked after config file is read,
-then invokes file write on the config file
-
-**Kind**: instance method of [Wifi
](#Wifi)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| err | object
| (optional) Error object only present if problem reading config file |
-| data | string
| Contents of the config file |
-
-
-
-### wifi._writeConfigCb(err)
-(internal function) Invoked after config file is written,
-then executes reconfiguration command
-
-**Kind**: instance method of [Wifi
](#Wifi)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| err | object
| (optional) Error object only present if problem writing config file |
-
-
-
-### wifi._reconfigureCb(err, stdout, stderr)
-(internal function) Invoked after reconfiguration command is complete
-
-**Kind**: instance method of [Wifi
](#Wifi)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| err | object
| (optional) Error object only present if configuration command fails |
-| stdout | string
| Standard output from reconfiguration command |
-| stderr | string
| Error output from command if fails |
-
-
-
-### wifi._refreshCb(err, stdout, stderr)
-(internal function) Invoked after wifi refresh command is complete
-
-**Kind**: instance method of [Wifi
](#Wifi)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| err | object
| (optional) Error object only present if refresh command fails |
-| stdout | string
| Standard output from refresh command |
-| stderr | string
| Error output from command if fails |
-
-
-
-### wifi.setNetwork(ssid, pwd, callback)
-Function which initializes the processes for adding a wifi access point authentication
-
-**Kind**: instance method of [Wifi
](#Wifi)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| ssid | string
| SSID of network to configure |
-| pwd | string
| Password of access point, plaintext |
-| callback | function
| Function invoked after process is complete, or fails |
-
-
-
-### wifi.getNetwork(callback)
-Executes command which gets the currently connected network
-
-**Kind**: instance method of [Wifi
](#Wifi)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| callback | function
| Function which is invoked after command is completed |
-
diff --git a/lib/wifi/index.js b/lib/wifi/index.js
index 2f236d2..f330df4 100644
--- a/lib/wifi/index.js
+++ b/lib/wifi/index.js
@@ -9,22 +9,15 @@ const refresh = '/sbin/ifdown wlan0 && /sbin/ifup --force wlan0'
const iwlist = '/sbin/iwlist wlan0 scanning | grep "ESSID:"'
const iwgetid = '/sbin/iwgetid'
-const log = require('../log')('wifi')
const exec = require('child_process').exec
const fs = require('fs')
-/** Class representing the wifi features */
-class Wifi {
+class wifi {
constructor () {
this._callback = () => {}
this._entry = null
this._ssid = null
}
- /**
- * List available wifi access points
- *
- * @param {function} callback Function which gets invoked after list is returned
- */
list (callback) {
exec(iwlist, (err, stdout, stderr) => {
if (err) {
@@ -44,13 +37,6 @@ class Wifi {
return callback(null, output)
})
}
- /**
- * (internal function) Invoked after config file is read,
- * then invokes file write on the config file
- *
- * @param {object} err (optional) Error object only present if problem reading config file
- * @param {string} data Contents of the config file
- */
_readConfigCb (err, data) {
if (err) {
console.error(err)
@@ -64,12 +50,6 @@ class Wifi {
this._entry = null
fs.writeFile(filePath, data, 'utf8', this._writeConfigCb)
}
- /**
- * (internal function) Invoked after config file is written,
- * then executes reconfiguration command
- *
- * @param {object} err (optional) Error object only present if problem writing config file
- */
_writeConfigCb (err) {
if (err) {
console.error(err)
@@ -77,13 +57,6 @@ class Wifi {
}
exec(reconfigure, this._reconfigureCb)
}
- /**
- * (internal function) Invoked after reconfiguration command is complete
- *
- * @param {object} err (optional) Error object only present if configuration command fails
- * @param {string} stdout Standard output from reconfiguration command
- * @param {string} stderr Error output from command if fails
- */
_reconfigureCb (err, stdout, stderr) {
if (err) {
console.error(err)
@@ -92,13 +65,6 @@ class Wifi {
console.log('Wifi reconfigured')
exec(refresh, this._refreshCb)
}
- /**
- * (internal function) Invoked after wifi refresh command is complete
- *
- * @param {object} err (optional) Error object only present if refresh command fails
- * @param {string} stdout Standard output from refresh command
- * @param {string} stderr Error output from command if fails
- */
_refreshCb (err, stdout, stderr) {
if (err) {
console.error(err)
@@ -108,24 +74,12 @@ class Wifi {
//this._callback(null, { ssid : ssid, pwd : pwd.length })
this._callback = () => {}
}
- /**
- * Function which initializes the processes for adding a wifi access point authentication
- *
- * @param {string} ssid SSID of network to configure
- * @param {string} pwd Password of access point, plaintext
- * @param {function} callback Function invoked after process is complete, or fails
- */
setNetwork (ssid, pwd, callback) {
this._entry = `network={\n\tssid="${ssid}"\n\tpsk="${pwd}"\n}\n`
this._callback = callback
this._ssid = ssid
fs.readFile(filePath, 'utf8', this._readConfigCb)
}
- /**
- * Executes command which gets the currently connected network
- *
- * @param {function} callback Function which is invoked after command is completed
- */
getNetwork (callback) {
exec(iwgetid, (err, stdout, stderr) => {
if (err) {
@@ -136,4 +90,4 @@ class Wifi {
}
}
-module.exports = new Wifi()
\ No newline at end of file
+module.exports = new wifi()
\ No newline at end of file
diff --git a/nginx.conf b/nginx.conf
index a89f37d..cc71e29 100644
--- a/nginx.conf
+++ b/nginx.conf
@@ -30,18 +30,19 @@ server {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
gzip on;
- gzip_comp_level 9;
- gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/json;
+ gzip_comp_level 5;
+ gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/json;
}
- #uncomment for static file servers
+ #uncomment for static file server
#location /static/ {
#uncomment to turn on caching
#expires modified 1y;
#access_log off;
#add_header Cache-Control "public";
#gzip on;
- #gzip_comp_level 9;
- #gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/json;
- #alias /var/node/blootstrap/static/;
+ #gzip_comp_level 5;
+ #gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/json;
+ #use project location
+ #alias /var/node/intval3/static/;
#}
-}
\ No newline at end of file
+}
diff --git a/package-lock.json b/package-lock.json
index bf33259..b93b75d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4,65 +4,12 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
- "acorn": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
- "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
- "dev": true
- },
- "acorn-jsx": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
- "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
- "dev": true,
- "requires": {
- "acorn": "3.3.0"
- }
- },
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
- "dev": true
- },
- "ansi-escape-sequences": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-3.0.0.tgz",
- "integrity": "sha1-HBg5S2r5t2/5pjUJ+kl2af0s5T4=",
- "dev": true,
- "requires": {
- "array-back": "1.0.4"
- }
- },
- "app-usage-stats": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/app-usage-stats/-/app-usage-stats-0.5.1.tgz",
- "integrity": "sha1-ZUfF25urCqX1ssVg6syK8g0KsTs=",
- "dev": true,
- "requires": {
- "array-back": "1.0.4",
- "home-path": "1.0.5",
- "test-value": "2.1.0",
- "usage-stats": "0.9.4"
- }
- },
- "array-back": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
- "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
- "dev": true,
- "requires": {
- "typical": "2.6.1"
- }
- },
"asn1": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
},
"assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"async": {
@@ -71,125 +18,57 @@
"integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k="
},
"balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "optional": true
},
"bcrypt-pbkdf": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "version": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
"optional": true,
"requires": {
- "tweetnacl": "0.14.5"
+ "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
}
},
- "bindings": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz",
- "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE="
- },
"bleno": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/bleno/-/bleno-0.4.2.tgz",
+ "version": "https://registry.npmjs.org/bleno/-/bleno-0.4.2.tgz",
"integrity": "sha1-IesK10O850eU45L0ph4TsHOT26o=",
"requires": {
- "bluetooth-hci-socket": "0.5.1",
- "bplist-parser": "0.0.6",
- "debug": "2.6.8"
- }
- },
- "bluebird": {
- "version": "3.4.7",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
- "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=",
- "dev": true
- },
- "bluetooth-hci-socket": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/bluetooth-hci-socket/-/bluetooth-hci-socket-0.5.1.tgz",
- "integrity": "sha1-774hUk/Bz10/rl1RNl1WHUq77Qs=",
- "optional": true,
- "requires": {
- "debug": "2.6.8",
- "nan": "2.6.2",
- "usb": "1.2.0"
+ "bplist-parser": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz",
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "xpc-connection": "https://registry.npmjs.org/xpc-connection/-/xpc-connection-0.1.4.tgz"
}
},
"bplist-parser": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz",
+ "version": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz",
"integrity": "sha1-ONo0cYF9+dRKs4kuJ3B7u9daEbk=",
"optional": true
},
"brace-expansion": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
+ "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
"integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+ "optional": true,
"requires": {
- "balanced-match": "1.0.0",
- "concat-map": "0.0.1"
+ "balanced-match": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "concat-map": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
}
},
"bunyan": {
- "version": "1.8.12",
- "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz",
+ "version": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz",
"integrity": "sha1-8VDw9nSKvdcq6uhPBEA74u8RN5c=",
"requires": {
- "dtrace-provider": "0.8.5",
- "moment": "2.18.1",
- "mv": "2.1.1",
- "safe-json-stringify": "1.0.4"
- }
- },
- "cache-point": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/cache-point/-/cache-point-0.4.1.tgz",
- "integrity": "sha512-4TgWfe9SF+bUy5cCql8gWHqKNrviufNwSYxLjf2utB0pY4+bdcuFwMmY1hDB+67Gz/L1vmhFNhePAjJTFBtV+Q==",
- "dev": true,
- "requires": {
- "array-back": "2.0.0",
- "fs-then-native": "2.0.0",
- "mkdirp2": "1.0.3"
- },
- "dependencies": {
- "array-back": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
- "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
- "dev": true,
- "requires": {
- "typical": "2.6.1"
- }
- }
- }
- },
- "catharsis": {
- "version": "0.8.9",
- "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz",
- "integrity": "sha1-mMyJDKZS3S7w5ws3klMQ/56Q/Is=",
- "dev": true,
- "requires": {
- "underscore-contrib": "0.3.0"
+ "dtrace-provider": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.5.tgz",
+ "moment": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz",
+ "mv": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz",
+ "safe-json-stringify": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.4.tgz"
}
},
"clone-regexp": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.0.tgz",
"integrity": "sha1-6uCiQT9VwJQvgYwin+/OhF1/Oxw=",
"requires": {
- "is-regexp": "1.0.0",
- "is-supported-regexp-flag": "1.0.0"
- }
- },
- "collect-all": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/collect-all/-/collect-all-1.0.3.tgz",
- "integrity": "sha512-0y0rBgoX8IzIjBAUnO73SEtSb4Mhk3IoceWJq5zZSxb9mWORhWH8xLYo4EDSOE1jRBk1LhmfjqWFFt10h/+MEA==",
- "dev": true,
- "requires": {
- "stream-connect": "1.0.2",
- "stream-via": "1.0.4"
+ "is-regexp": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
+ "is-supported-regexp-flag": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.0.tgz"
}
},
"colors": {
@@ -197,96 +76,13 @@
"resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
"integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs="
},
- "command-line-args": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-4.0.7.tgz",
- "integrity": "sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==",
- "dev": true,
- "requires": {
- "array-back": "2.0.0",
- "find-replace": "1.0.3",
- "typical": "2.6.1"
- },
- "dependencies": {
- "array-back": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
- "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
- "dev": true,
- "requires": {
- "typical": "2.6.1"
- }
- }
- }
- },
- "command-line-tool": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/command-line-tool/-/command-line-tool-0.7.0.tgz",
- "integrity": "sha1-yoB5KuIGnPfKpWLAy8LNEYERIqA=",
- "dev": true,
- "requires": {
- "ansi-escape-sequences": "3.0.0",
- "array-back": "1.0.4",
- "command-line-args": "4.0.7",
- "command-line-usage": "4.0.1",
- "typical": "2.6.1"
- }
- },
- "command-line-usage": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.0.1.tgz",
- "integrity": "sha512-IqYzZuXizukrdhnbdUj2hh4iceycow+Jn10mER4lwU4IapYvl5ZzoRPsj5Yraew5oRk4yfFKMuULGvAfb5o29w==",
- "dev": true,
- "requires": {
- "ansi-escape-sequences": "4.0.0",
- "array-back": "2.0.0",
- "table-layout": "0.4.2",
- "typical": "2.6.1"
- },
- "dependencies": {
- "ansi-escape-sequences": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.0.0.tgz",
- "integrity": "sha512-v+0wW9Wezwsyb0uF4aBVCjmSqit3Ru7PZFziGF0o2KwTvN2zWfTi3BRLq9EkJFdg3eBbyERXGTntVpBxH1J68Q==",
- "dev": true,
- "requires": {
- "array-back": "2.0.0"
- }
- },
- "array-back": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
- "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
- "dev": true,
- "requires": {
- "typical": "2.6.1"
- }
- }
- }
- },
- "common-sequence": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/common-sequence/-/common-sequence-1.0.2.tgz",
- "integrity": "sha1-MOB/P49vf5s97oVPILLTnu4Ibeg=",
- "dev": true
- },
"concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
- },
- "config-master": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/config-master/-/config-master-3.1.0.tgz",
- "integrity": "sha1-ZnZjWQUFooO/JqSE1oSJ10xUhdo=",
- "dev": true,
- "requires": {
- "walk-back": "2.0.1"
- }
+ "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "optional": true
},
"core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cron": {
@@ -298,32 +94,28 @@
}
},
"csv": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/csv/-/csv-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/csv/-/csv-1.1.1.tgz",
"integrity": "sha1-2ZUtWbH5ZKevvN2ATWgYpzGZpHc=",
"requires": {
- "csv-generate": "1.0.0",
- "csv-parse": "1.2.1",
- "csv-stringify": "1.0.4",
- "stream-transform": "0.1.2"
+ "csv-generate": "https://registry.npmjs.org/csv-generate/-/csv-generate-1.0.0.tgz",
+ "csv-parse": "https://registry.npmjs.org/csv-parse/-/csv-parse-1.2.1.tgz",
+ "csv-stringify": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-1.0.4.tgz",
+ "stream-transform": "https://registry.npmjs.org/stream-transform/-/stream-transform-0.1.2.tgz"
}
},
"csv-generate": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/csv-generate/-/csv-generate-1.0.0.tgz",
"integrity": "sha1-vVKIaFnQySXz5R9g86vtJi+hXK8="
},
"csv-parse": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-1.2.1.tgz",
+ "version": "https://registry.npmjs.org/csv-parse/-/csv-parse-1.2.1.tgz",
"integrity": "sha1-kZnCPySQ2YxNmrKgFnsGknSYyd8="
},
"csv-stringify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-1.0.4.tgz",
+ "version": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-1.0.4.tgz",
"integrity": "sha1-vBi6ua1M7zGV/SV5gLWLR5xC0+U=",
"requires": {
- "lodash.get": "4.4.2"
+ "lodash.get": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz"
}
},
"cycle": {
@@ -332,127 +124,53 @@
"integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI="
},
"dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"requires": {
- "assert-plus": "1.0.0"
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
}
},
"debug": {
- "version": "2.6.8",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "version": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
"integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
"requires": {
- "ms": "2.0.0"
+ "ms": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
}
},
- "deep-extend": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.0.tgz",
- "integrity": "sha1-bvSgmwX5iw41jW2T1Mo8rsZnKAM=",
- "dev": true
- },
- "defer-promise": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/defer-promise/-/defer-promise-1.0.1.tgz",
- "integrity": "sha1-HKb/7dvO8XFd16riXHYW+a4iky8=",
- "dev": true
- },
"detect-node": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz",
+ "version": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz",
"integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc="
},
- "dmd": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/dmd/-/dmd-3.0.6.tgz",
- "integrity": "sha1-lMDg+4jRy2uCg3WVBT3nkZx1PCU=",
- "dev": true,
- "requires": {
- "array-back": "1.0.4",
- "cache-point": "0.4.1",
- "common-sequence": "1.0.2",
- "file-set": "1.1.1",
- "handlebars": "3.0.3",
- "marked": "0.3.6",
- "object-get": "2.1.0",
- "reduce-flatten": "1.0.1",
- "reduce-unique": "1.0.0",
- "reduce-without": "1.0.1",
- "test-value": "2.1.0",
- "walk-back": "3.0.0"
- },
- "dependencies": {
- "walk-back": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-3.0.0.tgz",
- "integrity": "sha1-I1h4ejXakQMtrV6S+AsSNw2HlcU=",
- "dev": true
- }
- }
- },
"dtrace-provider": {
- "version": "0.8.5",
- "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.5.tgz",
+ "version": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.5.tgz",
"integrity": "sha1-mOu6Ihr6xG4cOf02hY2Pk2dSS5I=",
"optional": true,
"requires": {
- "nan": "2.6.2"
+ "nan": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz"
}
},
"easy-stack": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.0.tgz",
"integrity": "sha1-EskbMIWjfwuqM26UhurEv5Tj54g="
},
"ecc-jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
"optional": true,
"requires": {
- "jsbn": "0.1.1"
- }
- },
- "epoll": {
- "version": "0.1.22",
- "resolved": "https://registry.npmjs.org/epoll/-/epoll-0.1.22.tgz",
- "integrity": "sha1-GrmmN8/xGiCXDIiLHKIXi2TPUpE=",
- "requires": {
- "bindings": "1.2.1",
- "nan": "2.6.2"
+ "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
}
},
"escape-regexp-component": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/escape-regexp-component/-/escape-regexp-component-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/escape-regexp-component/-/escape-regexp-component-1.0.2.tgz",
"integrity": "sha1-nGO20LJf8qiMOtvRjFthrMO5+qI="
},
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "espree": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/espree/-/espree-3.1.7.tgz",
- "integrity": "sha1-/V3ux2qXpRIKnNOnyxF3oJI7EdI=",
- "dev": true,
- "requires": {
- "acorn": "3.3.0",
- "acorn-jsx": "3.0.1"
- }
- },
"event-pubsub": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz",
- "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ=="
+ "version": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.2.4.tgz",
+ "integrity": "sha1-Y0+2l/5AFNxQBHIthZQyuqISMlc="
},
"extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"eyes": {
@@ -460,167 +178,89 @@
"resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
"integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A="
},
- "file-set": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/file-set/-/file-set-1.1.1.tgz",
- "integrity": "sha1-0+xwwIDsjxjyBLod4QZ4DJBWkms=",
- "dev": true,
- "requires": {
- "array-back": "1.0.4",
- "glob": "7.1.2"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
- }
- }
- }
- },
- "find-replace": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz",
- "integrity": "sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A=",
- "dev": true,
- "requires": {
- "array-back": "1.0.4",
- "test-value": "2.1.0"
- }
- },
"formidable": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/formidable/-/formidable-1.1.1.tgz",
"integrity": "sha1-lriIb3w8NQi5Mta9cMTTqI818ak="
},
- "fs-then-native": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fs-then-native/-/fs-then-native-2.0.0.tgz",
- "integrity": "sha1-GaEk2U2QwiyOBF8ujdbr6jbUjGc=",
- "dev": true
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
"getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "version": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"requires": {
- "assert-plus": "1.0.0"
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
}
},
"glob": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
+ "version": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
"integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
"optional": true,
"requires": {
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
+ "inflight": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "minimatch": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "path-is-absolute": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
}
},
"gpio": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/gpio/-/gpio-0.2.7.tgz",
+ "version": "https://registry.npmjs.org/gpio/-/gpio-0.2.7.tgz",
"integrity": "sha1-vzhsiJYe/QpPag/3FnrA/zmX6rk="
},
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true,
- "optional": true
- },
"handle-thing": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz",
+ "version": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz",
"integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ="
},
- "handlebars": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-3.0.3.tgz",
- "integrity": "sha1-DgllGi8Ps8lJFgWDcQ1VH5Lm0q0=",
- "dev": true,
- "requires": {
- "optimist": "0.6.1",
- "source-map": "0.1.43",
- "uglify-js": "2.3.6"
- }
- },
- "home-path": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/home-path/-/home-path-1.0.5.tgz",
- "integrity": "sha1-eIspgVsS1Tus9XVkhHbm+QQdEz8=",
- "dev": true
- },
"hpack.js": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
+ "version": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
"integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
"requires": {
- "inherits": "2.0.3",
- "obuf": "1.1.1",
- "readable-stream": "2.3.3",
- "wbuf": "1.7.2"
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "obuf": "https://registry.npmjs.org/obuf/-/obuf-1.1.1.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
+ "wbuf": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz"
}
},
"http-deceiver": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+ "version": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
"integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc="
},
"http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
"requires": {
- "assert-plus": "1.0.0",
- "jsprim": "1.4.1",
- "sshpk": "1.13.1"
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "jsprim": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "sshpk": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ="
+ }
}
},
"inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "optional": true,
"requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
}
},
"inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"is-regexp": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
"integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk="
},
"is-supported-regexp-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.0.tgz",
"integrity": "sha1-i1IMhfrnolM4LUsCZS4EVXbhO7g="
},
"isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"isstream": {
@@ -629,214 +269,82 @@
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"js-message": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.5.tgz",
+ "version": "https://registry.npmjs.org/js-message/-/js-message-1.0.5.tgz",
"integrity": "sha1-IwDSSxrwjondCVvBpMnJz8uJLRU="
},
"js-queue": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.0.tgz",
"integrity": "sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug=",
"requires": {
- "easy-stack": "1.0.0"
+ "easy-stack": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.0.tgz"
}
},
- "js2xmlparser": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-1.0.0.tgz",
- "integrity": "sha1-WhcPLo1kds5FQF4EgjJCUTeC/jA=",
- "dev": true
- },
"jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "version": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"optional": true
},
- "jsdoc-75lb": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/jsdoc-75lb/-/jsdoc-75lb-3.6.0.tgz",
- "integrity": "sha1-qAcRlSi0AJzLyrSbdSL2P+xs0L0=",
- "dev": true,
- "requires": {
- "bluebird": "3.4.7",
- "catharsis": "0.8.9",
- "escape-string-regexp": "1.0.5",
- "espree": "3.1.7",
- "js2xmlparser": "1.0.0",
- "klaw": "1.3.1",
- "marked": "0.3.6",
- "mkdirp": "0.5.1",
- "requizzle": "0.2.1",
- "strip-json-comments": "2.0.1",
- "taffydb": "2.6.2",
- "underscore": "1.8.3"
- }
- },
- "jsdoc-api": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-3.0.0.tgz",
- "integrity": "sha1-DVJwAjX4Zb1Ki61evB77Vi/IrSo=",
- "dev": true,
- "requires": {
- "array-back": "1.0.4",
- "cache-point": "0.4.1",
- "collect-all": "1.0.3",
- "file-set": "1.1.1",
- "fs-then-native": "2.0.0",
- "jsdoc-75lb": "3.6.0",
- "object-to-spawn-args": "1.1.1",
- "temp-path": "1.0.0",
- "walk-back": "2.0.1"
- }
- },
- "jsdoc-parse": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-3.0.0.tgz",
- "integrity": "sha1-JxUx2I8Z3yUgsWMqf2yYlEGof94=",
- "dev": true,
- "requires": {
- "array-back": "1.0.4",
- "lodash.omit": "4.5.0",
- "lodash.pick": "4.4.0",
- "reduce-extract": "1.0.0",
- "sort-array": "1.1.2",
- "test-value": "2.1.0"
- }
- },
- "jsdoc-to-markdown": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-3.0.0.tgz",
- "integrity": "sha1-zIqU8fQSrB2kusFldHWwl17oFho=",
- "dev": true,
- "requires": {
- "array-back": "1.0.4",
- "command-line-tool": "0.7.0",
- "config-master": "3.1.0",
- "dmd": "3.0.6",
- "jsdoc-api": "3.0.0",
- "jsdoc-parse": "3.0.0",
- "jsdoc2md-stats": "2.0.1",
- "walk-back": "2.0.1"
- }
- },
- "jsdoc2md-stats": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/jsdoc2md-stats/-/jsdoc2md-stats-2.0.1.tgz",
- "integrity": "sha1-vYNDc0z+aeqAUKF5MSUSk/DZBHs=",
- "dev": true,
- "requires": {
- "app-usage-stats": "0.5.1"
- }
- },
"json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "version": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
},
"jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "version": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
- "klaw": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
- "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
- "dev": true,
- "requires": {
- "graceful-fs": "4.1.11"
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "json-schema": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "verror": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"
}
},
"lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
"integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
},
"lodash.get": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+ "version": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
},
- "lodash.omit": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
- "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=",
- "dev": true
- },
- "lodash.padend": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz",
- "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=",
- "dev": true
- },
- "lodash.pick": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
- "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=",
- "dev": true
- },
"lru-cache": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
- "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
+ "version": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
+ "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=",
"requires": {
- "pseudomap": "1.0.2",
- "yallist": "2.1.2"
+ "pseudomap": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "yallist": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz"
}
},
- "marked": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz",
- "integrity": "sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc=",
- "dev": true
- },
"mime": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz",
+ "version": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz",
"integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA="
},
"minimalistic-assert": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
+ "version": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz",
"integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M="
},
"minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+ "optional": true,
"requires": {
- "brace-expansion": "1.1.8"
+ "brace-expansion": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz"
}
},
"minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "optional": true
},
"mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "optional": true,
"requires": {
- "minimist": "0.0.8"
+ "minimist": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
}
},
- "mkdirp2": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.3.tgz",
- "integrity": "sha1-zI3YJl8fBuLY9bELblL04FC+0hs=",
- "dev": true
- },
"moment": {
- "version": "2.18.1",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz",
+ "version": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz",
"integrity": "sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8="
},
"moment-timezone": {
@@ -844,339 +352,191 @@
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.13.tgz",
"integrity": "sha1-mc5cfYJyYusPH3AgRBd/YHRde5A=",
"requires": {
- "moment": "2.18.1"
+ "moment": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz"
}
},
"ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"mv": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz",
+ "version": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz",
"integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=",
"optional": true,
"requires": {
- "mkdirp": "0.5.1",
- "ncp": "2.0.0",
- "rimraf": "2.4.5"
+ "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "ncp": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
+ "rimraf": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz"
}
},
"nan": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz",
- "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U="
+ "version": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz",
+ "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=",
+ "optional": true
},
"ncp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
"integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=",
"optional": true
},
"negotiator": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+ "version": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
},
"node-ipc": {
- "version": "9.1.1",
- "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.1.tgz",
- "integrity": "sha512-FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w==",
+ "version": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.0.tgz",
+ "integrity": "sha1-rZd4NmcWX1lE6kHPBmGPHEvheSo=",
"requires": {
- "event-pubsub": "4.3.0",
- "js-message": "1.0.5",
- "js-queue": "2.0.0"
+ "event-pubsub": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.2.4.tgz",
+ "js-message": "https://registry.npmjs.org/js-message/-/js-message-1.0.5.tgz",
+ "js-queue": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.0.tgz"
}
},
- "object-get": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.0.tgz",
- "integrity": "sha1-ciu9tgA576R8rTxtws5RqFwCxa4=",
- "dev": true
- },
- "object-to-spawn-args": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz",
- "integrity": "sha1-d9qIJ/Bz0BHJ4bFz+JV4FHAkZ4U=",
- "dev": true
- },
"obuf": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.1.tgz",
+ "version": "https://registry.npmjs.org/obuf/-/obuf-1.1.1.tgz",
"integrity": "sha1-EEEktsYCxnlogaBCVB0220OlJk4="
},
"once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
- "wrappy": "1.0.2"
- }
- },
- "onoff": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/onoff/-/onoff-1.1.7.tgz",
- "integrity": "sha1-kZKHlby16QL+dVG9e7JVHZunZII=",
- "requires": {
- "epoll": "0.1.22"
- }
- },
- "optimist": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
- "dev": true,
- "requires": {
- "minimist": "0.0.8",
- "wordwrap": "0.0.3"
+ "wrappy": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
}
},
"path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "optional": true
},
"process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
},
"pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
},
"qs": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.0.tgz",
- "integrity": "sha512-fjVFjW9yhqMhVGwRExCXLhJKrLlkYSaxNWdyc9rmHlrVZbk35YHH312dFd7191uQeXkI3mKLZTIbSvIeFwFemg=="
+ "version": "https://registry.npmjs.org/qs/-/qs-6.5.0.tgz",
+ "integrity": "sha1-jQSVTTZN7z78VbWgeT4eLIsebkk="
},
"readable-stream": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
- "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
+ "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
+ "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "1.0.7",
- "safe-buffer": "5.1.1",
- "string_decoder": "1.0.3",
- "util-deprecate": "1.0.2"
- }
- },
- "reduce-extract": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/reduce-extract/-/reduce-extract-1.0.0.tgz",
- "integrity": "sha1-Z/I4W+2mUGG19fQxJmLosIDKFSU=",
- "dev": true,
- "requires": {
- "test-value": "1.1.0"
- },
- "dependencies": {
- "test-value": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz",
- "integrity": "sha1-oJE29y7AQ9J8iTcHwrFZv6196T8=",
- "dev": true,
- "requires": {
- "array-back": "1.0.4",
- "typical": "2.6.1"
- }
- }
- }
- },
- "reduce-flatten": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz",
- "integrity": "sha1-JYx479FT3fk8tWEjf2EYTzaW4yc=",
- "dev": true
- },
- "reduce-unique": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/reduce-unique/-/reduce-unique-1.0.0.tgz",
- "integrity": "sha1-flhrz4ek4ytter2Cd/rWzeyfSAM=",
- "dev": true
- },
- "reduce-without": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/reduce-without/-/reduce-without-1.0.1.tgz",
- "integrity": "sha1-aK0OrRGFXJo31OglbBW7+Hly/Iw=",
- "dev": true,
- "requires": {
- "test-value": "2.1.0"
- }
- },
- "req-then": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/req-then/-/req-then-0.6.4.tgz",
- "integrity": "sha512-Uf7xsK1qPqPUetESHemNQ7nGtgOxngSFtlcAOOkx0lDAo+XRZpEA9QDrGBdyOfGq4b+a0z/D5gR2VJ+pp/dzBA==",
- "dev": true,
- "requires": {
- "array-back": "2.0.0",
- "defer-promise": "1.0.1",
- "lodash.pick": "4.4.0",
- "stream-read-all": "0.1.2",
- "typical": "2.6.1"
- },
- "dependencies": {
- "array-back": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
- "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
- "dev": true,
- "requires": {
- "typical": "2.6.1"
- }
- }
- }
- },
- "requizzle": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz",
- "integrity": "sha1-aUPDUwxNmn5G8c3dUcFY/GcM294=",
- "dev": true,
- "requires": {
- "underscore": "1.6.0"
- },
- "dependencies": {
- "underscore": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
- "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=",
- "dev": true
- }
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "isarray": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "string_decoder": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+ "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
}
},
"restify": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/restify/-/restify-5.2.0.tgz",
+ "version": "https://registry.npmjs.org/restify/-/restify-5.2.0.tgz",
"integrity": "sha1-9xMxAu85WKVtpC92BBURKnigGCI=",
"requires": {
- "assert-plus": "1.0.0",
- "bunyan": "1.8.12",
- "clone-regexp": "1.0.0",
- "csv": "1.1.1",
- "dtrace-provider": "0.8.5",
- "escape-regexp-component": "1.0.2",
- "formidable": "1.1.1",
- "http-signature": "1.2.0",
- "lodash": "4.17.4",
- "lru-cache": "4.1.1",
- "mime": "1.3.6",
- "negotiator": "0.6.1",
- "once": "1.4.0",
- "qs": "6.5.0",
- "restify-errors": "4.3.0",
- "semver": "5.4.1",
- "spdy": "3.4.7",
- "uuid": "3.1.0",
- "vasync": "1.6.4",
- "verror": "1.10.0"
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "bunyan": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz",
+ "clone-regexp": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.0.tgz",
+ "csv": "https://registry.npmjs.org/csv/-/csv-1.1.1.tgz",
+ "dtrace-provider": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.5.tgz",
+ "escape-regexp-component": "https://registry.npmjs.org/escape-regexp-component/-/escape-regexp-component-1.0.2.tgz",
+ "formidable": "https://registry.npmjs.org/formidable/-/formidable-1.1.1.tgz",
+ "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "lru-cache": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
+ "mime": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz",
+ "negotiator": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+ "once": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "qs": "https://registry.npmjs.org/qs/-/qs-6.5.0.tgz",
+ "restify-errors": "https://registry.npmjs.org/restify-errors/-/restify-errors-4.3.0.tgz",
+ "semver": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
+ "spdy": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz",
+ "uuid": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
+ "vasync": "https://registry.npmjs.org/vasync/-/vasync-1.6.4.tgz",
+ "verror": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"
+ },
+ "dependencies": {
+ "uuid": {
+ "version": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
+ "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ="
+ }
}
},
"restify-errors": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/restify-errors/-/restify-errors-4.3.0.tgz",
+ "version": "https://registry.npmjs.org/restify-errors/-/restify-errors-4.3.0.tgz",
"integrity": "sha1-7JDzCTTX8xGRNRgd/DA+ML5gGr4=",
"requires": {
- "assert-plus": "1.0.0",
- "lodash": "4.17.4",
- "safe-json-stringify": "1.0.4",
- "verror": "1.10.0"
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "lodash": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "safe-json-stringify": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.4.tgz",
+ "verror": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"
}
},
"rimraf": {
- "version": "2.4.5",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
+ "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
"integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=",
"optional": true,
"requires": {
- "glob": "6.0.4"
+ "glob": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz"
}
},
"safe-buffer": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
+ "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM="
},
"safe-json-stringify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.4.tgz",
+ "version": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.4.tgz",
"integrity": "sha1-gaCY9Efku8P/MxKiQ1IbwGDvWRE=",
"optional": true
},
"select-hose": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
+ "version": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
"integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo="
},
"semver": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
- "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg=="
- },
- "sort-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-1.1.2.tgz",
- "integrity": "sha1-uImGBTwBcKf53mPxiknsecJMPmQ=",
- "dev": true,
- "requires": {
- "array-back": "1.0.4",
- "object-get": "2.1.0",
- "typical": "2.6.1"
- }
- },
- "source-map": {
- "version": "0.1.43",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
- "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
- "dev": true,
- "requires": {
- "amdefine": "1.0.1"
- }
+ "version": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
+ "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4="
},
"spdy": {
- "version": "3.4.7",
- "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz",
+ "version": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz",
"integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=",
"requires": {
- "debug": "2.6.8",
- "handle-thing": "1.2.5",
- "http-deceiver": "1.2.7",
- "safe-buffer": "5.1.1",
- "select-hose": "2.0.0",
- "spdy-transport": "2.0.20"
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "handle-thing": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz",
+ "http-deceiver": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "select-hose": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
+ "spdy-transport": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz"
}
},
"spdy-transport": {
- "version": "2.0.20",
- "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz",
+ "version": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz",
"integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=",
"requires": {
- "debug": "2.6.8",
- "detect-node": "2.0.3",
- "hpack.js": "2.1.6",
- "obuf": "1.1.1",
- "readable-stream": "2.3.3",
- "safe-buffer": "5.1.1",
- "wbuf": "1.7.2"
+ "debug": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "detect-node": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz",
+ "hpack.js": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
+ "obuf": "https://registry.npmjs.org/obuf/-/obuf-1.1.1.tgz",
+ "readable-stream": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
+ "wbuf": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz"
}
},
"sshpk": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
+ "version": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
"integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
"requires": {
- "asn1": "0.2.3",
- "assert-plus": "1.0.0",
- "bcrypt-pbkdf": "1.0.1",
- "dashdash": "1.14.1",
- "ecc-jsbn": "0.1.1",
- "getpass": "0.1.7",
- "jsbn": "0.1.1",
- "tweetnacl": "0.14.5"
+ "asn1": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "bcrypt-pbkdf": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "dashdash": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "ecc-jsbn": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "getpass": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
}
},
"stack-trace": {
@@ -1184,1345 +544,64 @@
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
"integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA="
},
- "stream-connect": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz",
- "integrity": "sha1-GLyB8u2zW4tdmoAJIAqYUxRCipc=",
- "dev": true,
- "requires": {
- "array-back": "1.0.4"
- }
- },
- "stream-read-all": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/stream-read-all/-/stream-read-all-0.1.2.tgz",
- "integrity": "sha512-KX42xBg853m+KnwRtwCKT95ShopAbY/MNKs2dBQ0WkNeuJdqgQYRtGRbTlxdx0L6t979h3z/wMq2eMSAu7Tygw==",
- "dev": true
- },
"stream-transform": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-0.1.2.tgz",
+ "version": "https://registry.npmjs.org/stream-transform/-/stream-transform-0.1.2.tgz",
"integrity": "sha1-fY5rTgOsR4F3j4x5UXUBv7B2Kp8="
},
- "stream-via": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz",
- "integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==",
- "dev": true
- },
"string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
+ "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
+ "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
"requires": {
- "safe-buffer": "5.1.1"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "dev": true
- },
- "table-layout": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.2.tgz",
- "integrity": "sha512-tygyl5+eSHj4chpq5Zfy6cpc7MOUBClAW9ozghFH7hg9bAUzShOYn+/vUzTRkKOSLJWKfgYtP2tAU2c0oAD8eg==",
- "dev": true,
- "requires": {
- "array-back": "2.0.0",
- "deep-extend": "0.5.0",
- "lodash.padend": "4.6.1",
- "typical": "2.6.1",
- "wordwrapjs": "3.0.0"
- },
- "dependencies": {
- "array-back": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
- "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
- "dev": true,
- "requires": {
- "typical": "2.6.1"
- }
- }
- }
- },
- "taffydb": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz",
- "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=",
- "dev": true
- },
- "temp-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz",
- "integrity": "sha1-JLFUOXOrRCiW2a02fdnL2/r+kYs=",
- "dev": true
- },
- "test-value": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz",
- "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=",
- "dev": true,
- "requires": {
- "array-back": "1.0.4",
- "typical": "2.6.1"
+ "safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
}
},
"tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "version": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"optional": true
},
- "typical": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
- "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=",
- "dev": true
- },
- "uglify-js": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz",
- "integrity": "sha1-+gmEdwtCi3qbKoBY9GNV0U/vIRo=",
- "dev": true,
- "optional": true,
- "requires": {
- "async": "0.2.10",
- "optimist": "0.3.7",
- "source-map": "0.1.43"
- },
- "dependencies": {
- "async": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
- "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
- "dev": true,
- "optional": true
- },
- "optimist": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
- "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=",
- "dev": true,
- "optional": true,
- "requires": {
- "wordwrap": "0.0.3"
- }
- }
- }
- },
- "underscore": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
- "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=",
- "dev": true
- },
- "underscore-contrib": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz",
- "integrity": "sha1-ZltmwkeD+PorGMn4y7Dix9SMJsc=",
- "dev": true,
- "requires": {
- "underscore": "1.6.0"
- },
- "dependencies": {
- "underscore": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
- "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=",
- "dev": true
- }
- }
- },
- "usage-stats": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/usage-stats/-/usage-stats-0.9.4.tgz",
- "integrity": "sha512-u94pT+UDv+ZcjA5PT4KuMR67JL6VqeaQU6RN83Gf7yTqGrD/WqgCwhaj1DAKETR/KrteWXL0XZwlkDJuLJdtkg==",
- "dev": true,
- "requires": {
- "array-back": "2.0.0",
- "home-path": "1.0.5",
- "mkdirp2": "1.0.3",
- "req-then": "0.6.4",
- "typical": "2.6.1",
- "uuid": "3.1.0"
- },
- "dependencies": {
- "array-back": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
- "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
- "dev": true,
- "requires": {
- "typical": "2.6.1"
- }
- }
- }
- },
- "usb": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/usb/-/usb-1.2.0.tgz",
- "integrity": "sha1-q3LZeGoEcGiRmgJNCMehxbHmD0c=",
- "optional": true,
- "requires": {
- "nan": "2.6.2",
- "node-pre-gyp": "0.6.30"
- },
- "dependencies": {
- "node-pre-gyp": {
- "version": "0.6.30",
- "bundled": true,
- "optional": true,
- "requires": {
- "mkdirp": "0.5.1",
- "nopt": "3.0.6",
- "npmlog": "4.0.0",
- "rc": "1.1.6",
- "request": "2.74.0",
- "rimraf": "2.5.4",
- "semver": "5.3.0",
- "tar": "2.2.1",
- "tar-pack": "3.1.4"
- },
- "dependencies": {
- "mkdirp": {
- "version": "0.5.1",
- "bundled": true,
- "requires": {
- "minimist": "0.0.8"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "bundled": true
- }
- }
- },
- "nopt": {
- "version": "3.0.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "abbrev": "1.0.9"
- },
- "dependencies": {
- "abbrev": {
- "version": "1.0.9",
- "bundled": true,
- "optional": true
- }
- }
- },
- "npmlog": {
- "version": "4.0.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "are-we-there-yet": "1.1.2",
- "console-control-strings": "1.1.0",
- "gauge": "2.6.0",
- "set-blocking": "2.0.0"
- },
- "dependencies": {
- "are-we-there-yet": {
- "version": "1.1.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "delegates": "1.0.0",
- "readable-stream": "2.1.5"
- },
- "dependencies": {
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "readable-stream": {
- "version": "2.1.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "buffer-shims": "1.0.0",
- "core-util-is": "1.0.2",
- "inherits": "2.0.1",
- "isarray": "1.0.0",
- "process-nextick-args": "1.0.7",
- "string_decoder": "0.10.31",
- "util-deprecate": "1.0.2"
- },
- "dependencies": {
- "buffer-shims": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "inherits": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "bundled": true,
- "optional": true
- },
- "string_decoder": {
- "version": "0.10.31",
- "bundled": true,
- "optional": true
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- }
- }
- }
- }
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true
- },
- "gauge": {
- "version": "2.6.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "aproba": "1.0.4",
- "console-control-strings": "1.1.0",
- "has-color": "0.1.7",
- "has-unicode": "2.0.1",
- "object-assign": "4.1.0",
- "signal-exit": "3.0.0",
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wide-align": "1.1.0"
- },
- "dependencies": {
- "aproba": {
- "version": "1.0.4",
- "bundled": true,
- "optional": true
- },
- "has-color": {
- "version": "0.1.7",
- "bundled": true,
- "optional": true
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "object-assign": {
- "version": "4.1.0",
- "bundled": true,
- "optional": true
- },
- "signal-exit": {
- "version": "3.0.0",
- "bundled": true,
- "optional": true
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "requires": {
- "code-point-at": "1.0.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
- },
- "dependencies": {
- "code-point-at": {
- "version": "1.0.0",
- "bundled": true,
- "requires": {
- "number-is-nan": "1.0.0"
- },
- "dependencies": {
- "number-is-nan": {
- "version": "1.0.0",
- "bundled": true
- }
- }
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
- "requires": {
- "number-is-nan": "1.0.0"
- },
- "dependencies": {
- "number-is-nan": {
- "version": "1.0.0",
- "bundled": true
- }
- }
- }
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "requires": {
- "ansi-regex": "2.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.0.0",
- "bundled": true
- }
- }
- },
- "wide-align": {
- "version": "1.1.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "string-width": "1.0.2"
- }
- }
- }
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- }
- }
- },
- "rc": {
- "version": "1.1.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "deep-extend": "0.4.1",
- "ini": "1.3.4",
- "minimist": "1.2.0",
- "strip-json-comments": "1.0.4"
- },
- "dependencies": {
- "deep-extend": {
- "version": "0.4.1",
- "bundled": true,
- "optional": true
- },
- "ini": {
- "version": "1.3.4",
- "bundled": true,
- "optional": true
- },
- "minimist": {
- "version": "1.2.0",
- "bundled": true,
- "optional": true
- },
- "strip-json-comments": {
- "version": "1.0.4",
- "bundled": true,
- "optional": true
- }
- }
- },
- "request": {
- "version": "2.74.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "aws-sign2": "0.6.0",
- "aws4": "1.4.1",
- "bl": "1.1.2",
- "caseless": "0.11.0",
- "combined-stream": "1.0.5",
- "extend": "3.0.0",
- "forever-agent": "0.6.1",
- "form-data": "1.0.1",
- "har-validator": "2.0.6",
- "hawk": "3.1.3",
- "http-signature": "1.1.1",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
- "mime-types": "2.1.11",
- "node-uuid": "1.4.7",
- "oauth-sign": "0.8.2",
- "qs": "6.2.1",
- "stringstream": "0.0.5",
- "tough-cookie": "2.3.1",
- "tunnel-agent": "0.4.3"
- },
- "dependencies": {
- "aws-sign2": {
- "version": "0.6.0",
- "bundled": true,
- "optional": true
- },
- "aws4": {
- "version": "1.4.1",
- "bundled": true,
- "optional": true
- },
- "bl": {
- "version": "1.1.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "readable-stream": "2.0.6"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.0.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.1",
- "isarray": "1.0.0",
- "process-nextick-args": "1.0.7",
- "string_decoder": "0.10.31",
- "util-deprecate": "1.0.2"
- },
- "dependencies": {
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "inherits": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "bundled": true,
- "optional": true
- },
- "string_decoder": {
- "version": "0.10.31",
- "bundled": true,
- "optional": true
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- }
- }
- }
- }
- },
- "caseless": {
- "version": "0.11.0",
- "bundled": true,
- "optional": true
- },
- "combined-stream": {
- "version": "1.0.5",
- "bundled": true,
- "requires": {
- "delayed-stream": "1.0.0"
- },
- "dependencies": {
- "delayed-stream": {
- "version": "1.0.0",
- "bundled": true
- }
- }
- },
- "extend": {
- "version": "3.0.0",
- "bundled": true,
- "optional": true
- },
- "forever-agent": {
- "version": "0.6.1",
- "bundled": true,
- "optional": true
- },
- "form-data": {
- "version": "1.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "async": "2.0.1",
- "combined-stream": "1.0.5",
- "mime-types": "2.1.11"
- },
- "dependencies": {
- "async": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "lodash": "4.15.0"
- },
- "dependencies": {
- "lodash": {
- "version": "4.15.0",
- "bundled": true,
- "optional": true
- }
- }
- }
- }
- },
- "har-validator": {
- "version": "2.0.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "chalk": "1.1.3",
- "commander": "2.9.0",
- "is-my-json-valid": "2.13.1",
- "pinkie-promise": "2.0.1"
- },
- "dependencies": {
- "chalk": {
- "version": "1.1.3",
- "bundled": true,
- "optional": true,
- "requires": {
- "ansi-styles": "2.2.1",
- "escape-string-regexp": "1.0.5",
- "has-ansi": "2.0.0",
- "strip-ansi": "3.0.1",
- "supports-color": "2.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "bundled": true,
- "optional": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "bundled": true,
- "optional": true
- },
- "has-ansi": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "ansi-regex": "2.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- }
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "ansi-regex": "2.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- }
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- }
- }
- },
- "commander": {
- "version": "2.9.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "graceful-readlink": "1.0.1"
- },
- "dependencies": {
- "graceful-readlink": {
- "version": "1.0.1",
- "bundled": true,
- "optional": true
- }
- }
- },
- "is-my-json-valid": {
- "version": "2.13.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "generate-function": "2.0.0",
- "generate-object-property": "1.2.0",
- "jsonpointer": "2.0.0",
- "xtend": "4.0.1"
- },
- "dependencies": {
- "generate-function": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "generate-object-property": {
- "version": "1.2.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "is-property": "1.0.2"
- },
- "dependencies": {
- "is-property": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- }
- }
- },
- "jsonpointer": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "xtend": {
- "version": "4.0.1",
- "bundled": true,
- "optional": true
- }
- }
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "pinkie": "2.0.4"
- },
- "dependencies": {
- "pinkie": {
- "version": "2.0.4",
- "bundled": true,
- "optional": true
- }
- }
- }
- }
- },
- "hawk": {
- "version": "3.1.3",
- "bundled": true,
- "optional": true,
- "requires": {
- "boom": "2.10.1",
- "cryptiles": "2.0.5",
- "hoek": "2.16.3",
- "sntp": "1.0.9"
- },
- "dependencies": {
- "boom": {
- "version": "2.10.1",
- "bundled": true,
- "requires": {
- "hoek": "2.16.3"
- }
- },
- "cryptiles": {
- "version": "2.0.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "boom": "2.10.1"
- }
- },
- "hoek": {
- "version": "2.16.3",
- "bundled": true
- },
- "sntp": {
- "version": "1.0.9",
- "bundled": true,
- "optional": true,
- "requires": {
- "hoek": "2.16.3"
- }
- }
- }
- },
- "http-signature": {
- "version": "1.1.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "assert-plus": "0.2.0",
- "jsprim": "1.3.0",
- "sshpk": "1.10.0"
- },
- "dependencies": {
- "assert-plus": {
- "version": "0.2.0",
- "bundled": true,
- "optional": true
- },
- "jsprim": {
- "version": "1.3.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "extsprintf": "1.0.2",
- "json-schema": "0.2.2",
- "verror": "1.3.6"
- },
- "dependencies": {
- "extsprintf": {
- "version": "1.0.2",
- "bundled": true
- },
- "json-schema": {
- "version": "0.2.2",
- "bundled": true,
- "optional": true
- },
- "verror": {
- "version": "1.3.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "extsprintf": "1.0.2"
- }
- }
- }
- },
- "sshpk": {
- "version": "1.10.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "asn1": "0.2.3",
- "assert-plus": "1.0.0",
- "bcrypt-pbkdf": "1.0.0",
- "dashdash": "1.14.0",
- "ecc-jsbn": "0.1.1",
- "getpass": "0.1.6",
- "jodid25519": "1.0.2",
- "jsbn": "0.1.0",
- "tweetnacl": "0.13.3"
- },
- "dependencies": {
- "asn1": {
- "version": "0.2.3",
- "bundled": true,
- "optional": true
- },
- "assert-plus": {
- "version": "1.0.0",
- "bundled": true
- },
- "bcrypt-pbkdf": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "tweetnacl": "0.14.3"
- },
- "dependencies": {
- "tweetnacl": {
- "version": "0.14.3",
- "bundled": true,
- "optional": true
- }
- }
- },
- "dashdash": {
- "version": "1.14.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "assert-plus": "1.0.0"
- }
- },
- "ecc-jsbn": {
- "version": "0.1.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "jsbn": "0.1.0"
- }
- },
- "getpass": {
- "version": "0.1.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "assert-plus": "1.0.0"
- }
- },
- "jodid25519": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "jsbn": "0.1.0"
- }
- },
- "jsbn": {
- "version": "0.1.0",
- "bundled": true,
- "optional": true
- },
- "tweetnacl": {
- "version": "0.13.3",
- "bundled": true,
- "optional": true
- }
- }
- }
- }
- },
- "is-typedarray": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "isstream": {
- "version": "0.1.2",
- "bundled": true,
- "optional": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "bundled": true,
- "optional": true
- },
- "mime-types": {
- "version": "2.1.11",
- "bundled": true,
- "requires": {
- "mime-db": "1.23.0"
- },
- "dependencies": {
- "mime-db": {
- "version": "1.23.0",
- "bundled": true
- }
- }
- },
- "node-uuid": {
- "version": "1.4.7",
- "bundled": true,
- "optional": true
- },
- "oauth-sign": {
- "version": "0.8.2",
- "bundled": true,
- "optional": true
- },
- "qs": {
- "version": "6.2.1",
- "bundled": true,
- "optional": true
- },
- "stringstream": {
- "version": "0.0.5",
- "bundled": true,
- "optional": true
- },
- "tough-cookie": {
- "version": "2.3.1",
- "bundled": true,
- "optional": true
- },
- "tunnel-agent": {
- "version": "0.4.3",
- "bundled": true,
- "optional": true
- }
- }
- },
- "rimraf": {
- "version": "2.5.4",
- "bundled": true,
- "requires": {
- "glob": "7.0.6"
- },
- "dependencies": {
- "glob": {
- "version": "7.0.6",
- "bundled": true,
- "requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.5",
- "inherits": "2.0.1",
- "minimatch": "3.0.3",
- "once": "1.3.3",
- "path-is-absolute": "1.0.0"
- },
- "dependencies": {
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true
- },
- "inflight": {
- "version": "1.0.5",
- "bundled": true,
- "requires": {
- "once": "1.3.3",
- "wrappy": "1.0.2"
- },
- "dependencies": {
- "wrappy": {
- "version": "1.0.2",
- "bundled": true
- }
- }
- },
- "inherits": {
- "version": "2.0.1",
- "bundled": true
- },
- "minimatch": {
- "version": "3.0.3",
- "bundled": true,
- "requires": {
- "brace-expansion": "1.1.6"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "1.1.6",
- "bundled": true,
- "requires": {
- "balanced-match": "0.4.2",
- "concat-map": "0.0.1"
- },
- "dependencies": {
- "balanced-match": {
- "version": "0.4.2",
- "bundled": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true
- }
- }
- }
- }
- },
- "once": {
- "version": "1.3.3",
- "bundled": true,
- "requires": {
- "wrappy": "1.0.2"
- },
- "dependencies": {
- "wrappy": {
- "version": "1.0.2",
- "bundled": true
- }
- }
- },
- "path-is-absolute": {
- "version": "1.0.0",
- "bundled": true
- }
- }
- }
- }
- },
- "semver": {
- "version": "5.3.0",
- "bundled": true,
- "optional": true
- },
- "tar": {
- "version": "2.2.1",
- "bundled": true,
- "requires": {
- "block-stream": "0.0.9",
- "fstream": "1.0.10",
- "inherits": "2.0.1"
- },
- "dependencies": {
- "block-stream": {
- "version": "0.0.9",
- "bundled": true,
- "requires": {
- "inherits": "2.0.1"
- }
- },
- "fstream": {
- "version": "1.0.10",
- "bundled": true,
- "requires": {
- "graceful-fs": "4.1.6",
- "inherits": "2.0.1",
- "mkdirp": "0.5.1",
- "rimraf": "2.5.4"
- },
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.6",
- "bundled": true
- }
- }
- },
- "inherits": {
- "version": "2.0.1",
- "bundled": true
- }
- }
- },
- "tar-pack": {
- "version": "3.1.4",
- "bundled": true,
- "optional": true,
- "requires": {
- "debug": "2.2.0",
- "fstream": "1.0.10",
- "fstream-ignore": "1.0.5",
- "once": "1.3.3",
- "readable-stream": "2.1.5",
- "rimraf": "2.5.4",
- "tar": "2.2.1",
- "uid-number": "0.0.6"
- },
- "dependencies": {
- "debug": {
- "version": "2.2.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "ms": "0.7.1"
- },
- "dependencies": {
- "ms": {
- "version": "0.7.1",
- "bundled": true,
- "optional": true
- }
- }
- },
- "fstream": {
- "version": "1.0.10",
- "bundled": true,
- "requires": {
- "graceful-fs": "4.1.6",
- "inherits": "2.0.1",
- "mkdirp": "0.5.1",
- "rimraf": "2.5.4"
- },
- "dependencies": {
- "graceful-fs": {
- "version": "4.1.6",
- "bundled": true
- },
- "inherits": {
- "version": "2.0.1",
- "bundled": true
- }
- }
- },
- "fstream-ignore": {
- "version": "1.0.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "fstream": "1.0.10",
- "inherits": "2.0.1",
- "minimatch": "3.0.3"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "minimatch": {
- "version": "3.0.3",
- "bundled": true,
- "optional": true,
- "requires": {
- "brace-expansion": "1.1.6"
- },
- "dependencies": {
- "brace-expansion": {
- "version": "1.1.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "balanced-match": "0.4.2",
- "concat-map": "0.0.1"
- },
- "dependencies": {
- "balanced-match": {
- "version": "0.4.2",
- "bundled": true,
- "optional": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
- "optional": true
- }
- }
- }
- }
- }
- }
- },
- "once": {
- "version": "1.3.3",
- "bundled": true,
- "optional": true,
- "requires": {
- "wrappy": "1.0.2"
- },
- "dependencies": {
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- }
- }
- },
- "readable-stream": {
- "version": "2.1.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "buffer-shims": "1.0.0",
- "core-util-is": "1.0.2",
- "inherits": "2.0.1",
- "isarray": "1.0.0",
- "process-nextick-args": "1.0.7",
- "string_decoder": "0.10.31",
- "util-deprecate": "1.0.2"
- },
- "dependencies": {
- "buffer-shims": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "inherits": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "bundled": true,
- "optional": true
- },
- "string_decoder": {
- "version": "0.10.31",
- "bundled": true,
- "optional": true
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- }
- }
- },
- "uid-number": {
- "version": "0.0.6",
- "bundled": true,
- "optional": true
- }
- }
- }
- }
- }
- }
- },
"util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"uuid": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
- "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g=="
+ "version": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
+ "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ="
},
"vasync": {
- "version": "1.6.4",
- "resolved": "https://registry.npmjs.org/vasync/-/vasync-1.6.4.tgz",
+ "version": "https://registry.npmjs.org/vasync/-/vasync-1.6.4.tgz",
"integrity": "sha1-3+k2Fq0OeugBszKp2Iv8XNyOHR8=",
"requires": {
- "verror": "1.6.0"
+ "verror": "https://registry.npmjs.org/verror/-/verror-1.6.0.tgz"
},
"dependencies": {
"extsprintf": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz",
+ "version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz",
"integrity": "sha1-WtlGwi9bMrp/jNdCZxHG6KP8JSk="
},
"verror": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.6.0.tgz",
+ "version": "https://registry.npmjs.org/verror/-/verror-1.6.0.tgz",
"integrity": "sha1-fROyex+swuLakEBetepuW90lLqU=",
"requires": {
- "extsprintf": "1.2.0"
+ "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz"
}
}
}
},
"verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "version": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"requires": {
- "assert-plus": "1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "1.3.0"
+ "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"
}
},
- "walk-back": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-2.0.1.tgz",
- "integrity": "sha1-VU4qnYdPrEeoywBr9EwvDEmYoKQ=",
- "dev": true
- },
"wbuf": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz",
+ "version": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz",
"integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=",
"requires": {
- "minimalistic-assert": "1.0.0"
+ "minimalistic-assert": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz"
}
},
"winston": {
@@ -2538,30 +617,20 @@
"stack-trace": "0.0.10"
}
},
- "wordwrap": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
- "dev": true
- },
- "wordwrapjs": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz",
- "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==",
- "dev": true,
- "requires": {
- "reduce-flatten": "1.0.1",
- "typical": "2.6.1"
- }
- },
"wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
+ "xpc-connection": {
+ "version": "https://registry.npmjs.org/xpc-connection/-/xpc-connection-0.1.4.tgz",
+ "integrity": "sha1-3Nf6oq7Gt6bhjMXdrQQvejTHcVY=",
+ "optional": true,
+ "requires": {
+ "nan": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz"
+ }
+ },
"yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "version": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
}
}
diff --git a/package.json b/package.json
index d1b2e33..8b065f7 100644
--- a/package.json
+++ b/package.json
@@ -4,8 +4,7 @@
"description": "Intervalometer for the Bolex",
"main": "index.js",
"scripts": {
- "test": "mocha tests",
- "docs": "sh docs.sh"
+ "test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
@@ -28,12 +27,8 @@
"cron": "^1.2.1",
"gpio": "^0.2.7",
"node-ipc": "^9.1.0",
- "onoff": "^1.1.5",
"restify": "^5.2.0",
"uuid": "^3.1.0",
"winston": "^2.3.1"
- },
- "devDependencies": {
- "jsdoc-to-markdown": "^3.0.0"
}
}
diff --git a/process.json b/process.json
index a98129b..ca00b64 100644
--- a/process.json
+++ b/process.json
@@ -12,12 +12,6 @@
"WIFI_ID" : "3fe7d9cf-7bd2-4ff0-97c5-ebe87288c2cc",
"PORT" : 6699
}
- },
- {
- "name" : "intval3",
- "script" : "./index.js",
- "watch" : false,
- "env" : {}
}
]
}
\ No newline at end of file
diff --git a/scripts/intval3-deps.sh b/scripts/blootstrap-deps.sh
similarity index 69%
rename from scripts/intval3-deps.sh
rename to scripts/blootstrap-deps.sh
index 70475af..90a92f3 100644
--- a/scripts/intval3-deps.sh
+++ b/scripts/blootstrap-deps.sh
@@ -1,8 +1,8 @@
#!/bin/bash
-echo "Running intval3 install script"
+echo "Running blootstrap install script"
apt-get update
-apt-get install git ufw nginx jq -y
+apt-get install git ufw nginx -y
echo "Installing node.js dependencies.."
apt-get install nodejs npm -y
@@ -14,4 +14,4 @@ npm install -g pm2
echo "Installing bluetooth dependencies..."
apt-get install bluetooth bluez libbluetooth-dev libudev-dev -y
-echo "Finished installing intval3 dependencies"
\ No newline at end of file
+echo "Finished installing blootstrap dependencies"
\ No newline at end of file
diff --git a/scripts/intval3-install.sh b/scripts/blootstrap-install.sh
similarity index 61%
rename from scripts/intval3-install.sh
rename to scripts/blootstrap-install.sh
index 4882762..8e3258b 100644
--- a/scripts/intval3-install.sh
+++ b/scripts/blootstrap-install.sh
@@ -1,8 +1,8 @@
#!/bin/bash
-echo "Running intval3 install script"
+echo "Running blootstrap install script"
apt-get update
-apt-get install git ufw nginx jq -y
+apt-get install git ufw nginx -y
echo "Installing node.js dependencies.."
apt-get install nodejs npm -y
@@ -13,8 +13,6 @@ npm install -g pm2
echo "Installing bluetooth dependencies..."
apt-get install bluetooth bluez libbluetooth-dev libudev-dev -y
-systemctl disable bluetooth
-hciconfig hci0 up
echo "Configuring ufw (firewall)..."
ufw default deny incoming
@@ -24,13 +22,13 @@ ufw allow http
ufw allow https
ufw enable
-echo "Installing intval3 project..."
-wget https://github.com/sixteenmillimeter/intval3/archive/master.zip
-unzip master.zip -d intval3/
+echo "Installing blootstrap project..."
+wget https://github.com/mattmcw/blootstrap/archive/master.zip
+unzip master.zip -d blootstrap/
rm master.zip
-cd intval3
+cd blootstrap
npm install
pm2 start process.json
-echo "Finished installing intval3"
\ No newline at end of file
+echo "Finished installing blootstrap"
\ No newline at end of file
diff --git a/services/bluetooth/index.js b/services/bluetooth/index.js
index 82d42a6..8fbe53a 100644
--- a/services/bluetooth/index.js
+++ b/services/bluetooth/index.js
@@ -4,7 +4,6 @@ const ipc = require('node-ipc')
const os = require('os')
const bleno = require('bleno')
const util = require('util')
-
const wifi = require('../../lib/wifi')
const BLENO_DEVICE_NAME = process.env.BLENO_DEVICE_NAME || 'my_project'
diff --git a/tests/gpio.js b/tests/gpio.js
deleted file mode 100644
index dc61de8..0000000
--- a/tests/gpio.js
+++ /dev/null
@@ -1,117 +0,0 @@
-'use strict'
-
-const Gpio = require('onoff').Gpio
-
-let release
-let micro
-let fwd
-let bwd
-
-process.on('SIGINT', () => {
- if (fwd && fwd.writeSync) {
- console.log(`Setting fwd to 0`)
- fwd.writeSync(0)
- }
- if (bwd && bwd.writeSync) {
- console.log(`Setting bwd to 0`)
- bwd.writeSync(0)
- }
- process.exit()
-})
-
-function releaseTest () {
- const PIN = 6
- release = Gpio(PIN, 'in', 'both')
- console.log(`Watching input on GPIO 0${PIN}`)
- let saveTime = 0
- let active = false
- release.watch((err, val) => {
- const NOW = +new Date()
- /* Button + 10K ohm resistor */
- /* 1 = open */
- /* 0 = closed */
- if (err) {
- return console.error(err)
- }
- console.log(`Release switch val: ${val}`)
- if (val === 0) {
- //console.log('closed')
- } else if (val === 1) {
- //console.log('open')
- }
- if (val === 0) {
- //closed
- if ((!active && saveTime === 0) || (active && NOW - saveTime > 10 * 1000)) {
- saveTime = NOW
- active = true //maybe unncecessary
- } else {
- //saveTime = 0
- //active = false
- }
- } else if (val === 1) {
- //open
- if (active) {
- if (NOW - saveTime > 50 && NOW - saveTime < 1000) {
- console.log('Started Frame')
- } else if (NOW - saveTime >= 1000) {
- console.log('Started Sequence')
- }
- console.log(`Release closed for ${NOW - saveTime}`)
- saveTime = 0
- active = false
- }
- }
- })
-}
-
-function microTest () {
- const PIN = 5
- micro = Gpio(PIN, 'in', 'both')
- console.log(`Watching input on GPIO 0${PIN}`)
- let saveTime = 0
- let frameActive = true //this._state.frame.active
- let primed = false //this._state.primed
- micro.watch((err, val) => {
- const NOW = +new Date()
- if (err) {
- return console.error(err)
- }
- console.log(`Micro switch val: ${val}`)
- if (val === 0) {
- //console.log('closed')
- } else if (val === 1) {
- //console.log('open')
- }
- if (val === 0 && frameActive) {
- if (!primed) {
- primed = true
- saveTime = NOW
- console.log('Primed')
- }
- } else if (val === 1 && frameActive) {
- if (primed) {
- primed = false
- setTimeout( () => {
- console.log(`Stop Frame after ${NOW - saveTime}`)
- }, 10)
- }
- }
- })
-}
-
-//test stepping up of 3.3V RPI logic via
-//Sparkfun PRT-10968 (NPC1402)
-function stepupTest () {
- const FWD = 13 // RPIO PIN 13
- const BWD = 19
- fwd = Gpio(FWD, 'out')
- bwd = Gpio(BWD, 'out')
-
- console.log(`Setting pin ${FWD} high`)
- fwd.writeSync(1)
- bwd.writeSync(0)
-}
-
-releaseTest()
-microTest()
-stepupTest()
diff --git a/tests/index.js b/tests/index.js
deleted file mode 100644
index e09e086..0000000
--- a/tests/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict'
-
-const intval = require('../lib/intval')
\ No newline at end of file
diff --git a/tests/mscript.js b/tests/mscript.js
deleted file mode 100644
index 8a9f777..0000000
--- a/tests/mscript.js
+++ /dev/null
@@ -1,169 +0,0 @@
-'use strict'
-const log = require('../lib/log')('mscript-tests')
-const mscript = require('../lib/mscript')
-//TODO: rewrite for mocha
-
-const tests = function tests () {
- log.info('Running mscript tests')
- console.time('Tests took')
-
- mscript.alts_unique(); //perform check only during tests
- var fail = function (script, obj) {
- log.error('...Failed :(')
- log.error('script', script)
- log.error('err', obj)
- process.exit(1)
- }
- let script =
-`CF
-PF
-CB
-PB
-BF
-BB`
- log.info('Basic function test...');
- mscript.interpret(script, function (obj) {
- if (obj.success === true
- && obj.cam === 0
- && obj.proj === 0
- && obj.arr.length === 6) {
- log.info('...Passed!')
- } else {
- fail(script, obj)
- }
- })
-
- script =
-`CF
-PF
-CB
-PB
-BF
-BB`
- log.info('Functions with integers test...')
- mscript.interpret(script, function (obj) {
- if (obj.success === true
- && obj.cam === 0
- && obj.proj === 0
- && obj.arr.length === 6) {
- log.info('...Passed!')
- } else {
- fail(script, obj)
- }
- })
-
- script =
-`CF 1000
-CB 1000
-SET PROJ 200
-PB 200`
- log.info('Basic state test...')
- mscript.interpret(script, function (obj) {
- if (obj.success === true
- && obj.cam === 0
- && obj.proj === 0) {
- log.info('...Passed!')
- } else {
- fail(script, obj)
- }
- })
-
- script =
-`LOOP 10
-CF 3
-PF 1
-END LOOP`
- log.info('Basic loop test...')
- mscript.interpret(script, function (obj) {
- if (obj.success === true
- && obj.cam === 30
- && obj.proj === 10
- && obj.arr.length === 40) {
- log.info('...Passed!')
- } else {
- fail(script, obj)
- }
- });
-
- script = `LOOP 4\nLOOP 4\nPF\nBF\nEND LOOP\nEND LOOP`
- log.info('Recursive loop test...');
- mscript.interpret(script, function (obj) {
- if (obj.success === true
- && obj.cam === 16
- && obj.proj === 16
- && obj.arr.length === 32) {
- log.info('...Passed!');
- } else {
- fail(script, obj);
- }
- });
-
- //Lighting tests
- script = `L 255,255,255\nCF\nPF`
- log.info('Basic light test...');
- mscript.interpret(script, function (obj) {
- if (obj.success === true
- && obj.cam === 1
- && obj.proj === 1
- && obj.arr.length === 2
- && obj.light.length === 2
- && obj.light[0] === '255,255,255'
- && obj.light[1] === '') {
- log.info('...Passed!');
- } else {
- fail(script, obj);
- }
- });
- script = 'L 255,255,255\nCF\nPF\nBF';
- log.info('Basic black test...');
- mscript.interpret(script, function (obj) {
- if (obj.success === true
- && obj.cam === 2
- && obj.proj === 1
- && obj.arr.length === 3
- && obj.light.length === 3
- && obj.light[0] === '255,255,255'
- && obj.light[1] === ''
- && obj.light[2] === mscript.black) {
- log.info('...Passed!');
- } else {
- fail(script, obj);
- }
- });
- script = 'LOOP 2\nL 1,1,1\nCF\nL 2,2,2\nCF\nEND';
- log.info('Basic light loop test...');
- mscript.interpret(script, function (obj) {
- if (obj.success === true
- && obj.cam === 4
- && obj.proj === 0
- && obj.arr.length === 4
- && obj.light.length === 4
- && obj.light[0] === '1,1,1'
- && obj.light[3] === '2,2,2') {
- log.info('...Passed!');
- } else {
- fail(script, obj);
- }
- });
-
- //LOOP W/ CAM and PROJ
- script = 'LOOP 2\nCAM 4\nPROJ 4\nEND';
- log.info('Basic cam/proj loop test...');
- mscript.interpret(script, function (obj) {
- if (obj.success === true
- && obj.cam === 8
- && obj.proj === 8
- && obj.arr.length === 16
- && obj.light.length === 16
- && obj.light[0] === mscript.black) {
- log.info('...Passed!');
- } else {
- fail(script, obj);
- }
- });
-
- log.info('All tests completed');
- console.timeEnd('Tests took');
-}
-
-tests()
\ No newline at end of file