added user-event actions...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2018-02-13 01:14:35 +03:00
parent e09e7191f3
commit ec988de624
12 changed files with 461 additions and 328 deletions

View File

@ -823,13 +823,13 @@ actions.Actions({
// below... // below...
// XXX do we need a vertical shift event?? // XXX do we need a vertical shift event??
shiftImage: ['- Interface/Image shift (do not use directly)', shiftImage: ['- Interface/Image shift (do not use directly)',
core.notUserCallable(function(gid){ core.Event(function(gid){
// This is the image shift protocol root function // This is the image shift protocol root function
// //
// Not for direct use. // Not for direct use.
})], })],
shiftImageOrder: ['- Interface/Image horizontal shift (do not use directly)', shiftImageOrder: ['- Interface/Image horizontal shift (do not use directly)',
core.notUserCallable(function(gid){ core.Event(function(gid){
// This is the image shift protocol root function // This is the image shift protocol root function
// //
// Not for direct use. // Not for direct use.

View File

@ -234,7 +234,7 @@ var CollectionActions = actions.Actions({
just after. just after.
`, `,
core.notUserCallable(function(collection){ core.Event(function(collection){
// This is the window resize event... // This is the window resize event...
// //
// Not for direct use. // Not for direct use.
@ -242,7 +242,7 @@ var CollectionActions = actions.Actions({
collectionUnloaded: ['- Collections/', collectionUnloaded: ['- Collections/',
core.doc`This is called when unloading a collection. core.doc`This is called when unloading a collection.
`, `,
core.notUserCallable(function(collection){ core.Event(function(collection){
// This is the window resize event... // This is the window resize event...
// //
// Not for direct use. // Not for direct use.
@ -252,7 +252,7 @@ var CollectionActions = actions.Actions({
NOTE: this is not triggered for the "${MAIN_COLLECTION_TITLE}" collection... NOTE: this is not triggered for the "${MAIN_COLLECTION_TITLE}" collection...
`, `,
core.notUserCallable(function(collection){ core.Event(function(collection){
// This is the window resize event... // This is the window resize event...
// //
// Not for direct use. // Not for direct use.
@ -262,7 +262,7 @@ var CollectionActions = actions.Actions({
NOTE: this is not triggered for the "${MAIN_COLLECTION_TITLE}" collection... NOTE: this is not triggered for the "${MAIN_COLLECTION_TITLE}" collection...
`, `,
core.notUserCallable(function(collection){ core.Event(function(collection){
// This is the window resize event... // This is the window resize event...
// //
// Not for direct use. // Not for direct use.

View File

@ -75,7 +75,7 @@ var StoreActions = actions.Actions({
this is sync for sync stores. this is sync for sync stores.
NOTE: only one store data set is included per call.`, NOTE: only one store data set is included per call.`,
core.notUserCallable(function(data){ core.Event(function(data){
// Store data loaded event... // Store data loaded event...
// //
// Not intended for direct use, use .declareReady() to initiate. // Not intended for direct use, use .declareReady() to initiate.
@ -125,6 +125,8 @@ var StoreActions = actions.Actions({
NOTE: only one store data set is included per call.`, NOTE: only one store data set is included per call.`,
function(data){ return data || {} }], function(data){ return data || {} }],
// XXX async??? // XXX async???
// XXX we need to be able to save/load specific part of the data...
// ...i.e. query by store and/or key...
saveData: ['- Store/', saveData: ['- Store/',
function(mode, date){ function(mode, date){
var handlers = this.store_handlers var handlers = this.store_handlers
@ -302,11 +304,21 @@ var ConfigStoreActions = actions.Actions({
// - 'portable' -- use APP dir // - 'portable' -- use APP dir
// - 'normal' -- use $HOME // - 'normal' -- use $HOME
'config-fs-filename': '.ImageGrid.json', 'config-fs-filename': '.ImageGrid.json',
'config-auto-save-interval': null,
}, },
__base_config: null, __base_config: null,
/* XXX /* XXX
storeConfig: ['File/Store configuration',
function(key){
// XXX
}],
loadConfig: ['File/Load stored configuration',
function(key){
// XXX
}],
// XXX should this also reload??? // XXX should this also reload???
resetConfig: ['- Config/', resetConfig: ['- Config/',
function(){ function(){
@ -318,8 +330,10 @@ var ConfigStoreActions = actions.Actions({
toggleAutoStoreConfig: ['File/Store configuration', toggleAutoStoreConfig: ['File/Store configuration',
toggler.Toggler(null, toggler.Toggler(null,
function(_, state){ function(_, state){
var timer = 'config-auto-save-timer'
if(state == null){ if(state == null){
return this.__auto_save_config_timer || 'none' return this.isPersistentInterval(timer) || 'none'
} else { } else {
var that = this var that = this
@ -330,33 +344,13 @@ var ConfigStoreActions = actions.Actions({
return false return false
} }
// this cleans up before 'on' and fully handles 'off' action... // start/restart...
if(this.__auto_save_config_timer != null){ if(state == 'running' && interval){
clearTimeout(this.__auto_save_config_timer) this.setPersistentInterval(timer, 'storeConfig', interval*1000)
delete this.__auto_save_config_timer
}
if(state == 'running' // stop...
&& interval } else {
&& this.__auto_save_config_timer == null){ this.clearPersistentInterval(timer)
var runner = function(){
clearTimeout(that.__auto_save_config_timer)
//that.logger && that.logger.emit('config', 'saving to local storage...')
that.storeConfig()
var interval = that.config['config-auto-save-interval']
if(!interval){
delete that.__auto_save_config_timer
return
}
interval *= 1000
that.__auto_save_config_timer = setTimeout(runner, interval)
}
runner()
} }
} }
}, },

View File

@ -269,18 +269,37 @@ function(func){
return func return func
} }
// NOTE: this is the same as event but user-callable...
var UserEvent =
module.UserEvent =
function(func){
func.__event__ = true
return func
}
// XXX rename???
var Event =
module.Event =
function(func){
func.__event__ = true
return notUserCallable(func)
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
var IntrospectionActions = actions.Actions({ var IntrospectionActions = actions.Actions({
// user-callable actions...
get useractions(){ get useractions(){
return this.cache('useractions', function(d){ return this.cache('useractions', function(d){
return d instanceof Array ? return d instanceof Array ?
d.slice() d.slice()
: this.actions.filter(this.isUserCallable.bind(this)) }) }, : this.actions.filter(this.isUserCallable.bind(this)) }) },
get events(){
return this.cache('events', function(d){
return d instanceof Array ?
d.slice()
: this.actions.filter(this.isEvent.bind(this)) }) },
// check if action is callable by user...
isUserCallable: ['- System/', isUserCallable: ['- System/',
doc`Test if an action is callable by user. doc`Test if an action is callable by user.
@ -294,6 +313,9 @@ var IntrospectionActions = actions.Actions({
// return this.getActionAttr(action, '__not_user_callable__') != true }], // return this.getActionAttr(action, '__not_user_callable__') != true }],
actions.doWithRootAction(function(action){ actions.doWithRootAction(function(action){
return action.__not_user_callable__ != true })], return action.__not_user_callable__ != true })],
isEvent: ['- System/',
actions.doWithRootAction(function(action){
return !!action.__event__ })],
}) })
@ -436,7 +458,7 @@ var LifeCycleActions = actions.Actions({
"honesty", so it is the caller's responsibility to follow "honesty", so it is the caller's responsibility to follow
the protocol. the protocol.
`, `,
notUserCallable(function(){ Event(function(){
// System ready event... // System ready event...
// //
// Not intended for direct use, use .declareReady() to initiate. // Not intended for direct use, use .declareReady() to initiate.
@ -540,6 +562,7 @@ module.LifeCycle = ImageGridFeatures.Feature({
//--------------------------------------------------------------------- //---------------------------------------------------------------------
// Serialization...
var SerializationActions = actions.Actions({ var SerializationActions = actions.Actions({
clone: ['- System/', clone: ['- System/',
@ -563,6 +586,7 @@ module.Serialization = ImageGridFeatures.Feature({
//--------------------------------------------------------------------- //---------------------------------------------------------------------
// Cache...
// XXX should this be in actions.js??? // XXX should this be in actions.js???
// XXX should we invalidate the cache automatically??? // XXX should we invalidate the cache automatically???
@ -724,6 +748,7 @@ module.Cache = ImageGridFeatures.Feature({
//--------------------------------------------------------------------- //---------------------------------------------------------------------
// Timers...
var TimersActions = actions.Actions({ var TimersActions = actions.Actions({
config: { config: {
@ -761,12 +786,19 @@ var TimersActions = actions.Actions({
} }, } },
// XXX should these be actions??? // XXX should these be actions???
isInterval: function(id){
return id in (this.__intervals || {}) },
isTimeout: function(id){ isTimeout: function(id){
return id in (this.__timeouts || {}) }, return id in (this.__timeouts || {}) },
isInterval: function(id){
return id in (this.__intervals || {}) },
isPersistentInterval: function(id){
return id in (this.config['persistent-intervals'] || {}) },
isPersistentIntervalActive: function(id){
return this.isPersistentInterval(id)
&& (id in (this.__persistent_intervals || {})) },
isTimer: function(id){ isTimer: function(id){
return this.isInterval(id) || this.isTimeout(id) }, return this.isInterval(id)
|| this.isPersistentInterval(id)
|| this.isTimeout(id) },
// General API... // General API...
@ -807,7 +839,7 @@ var TimersActions = actions.Actions({
id in intervals id in intervals
&& clearInterval(intervals[id]) && clearInterval(intervals[id])
timeouts[id] = setInterval( intervals[id] = setInterval(
(func instanceof Function ? func : function(){ this.call(func) }) (func instanceof Function ? func : function(){ this.call(func) })
.bind(this), .bind(this),
ms || 0) ms || 0)
@ -901,7 +933,25 @@ var TimersActions = actions.Actions({
this.clearPersistentInterval(id, true) }.bind(this)) this.clearPersistentInterval(id, true) }.bind(this))
// unknown action... // unknown action...
: console.error('persistentIntervals: unknown action:', action) : console.error('persistentIntervals: unknown action:', action)
}] }],
// Events...
//
/*/ XXX would be nice to trigger these ONLY if there are handlers...
onSecond: ['- System/',
Event(function(){
})],
onMinute: ['- System/',
Event(function(){
})],
// XXX ???
on5Minutes: ['- System/',
Event(function(){
})],
onHour: ['- System/',
Event(function(){
})],
//*/
}) })
var Timers = var Timers =
@ -916,16 +966,37 @@ module.Timers = ImageGridFeatures.Feature({
actions: TimersActions, actions: TimersActions,
handlers: [ handlers: [
// start persistent timers...
// XXX should this be start or ready??? // XXX should this be start or ready???
['start', ['start',
function(){ this.persistentIntervals('start') }], function(){ this.persistentIntervals('start') }],
// stop all timers...
['stop', ['stop',
function(){ this.persistentIntervals('stop') }], function(){
Object.keys(this.__intervals || {})
.forEach(function(id){ this.clearInterval(id) }.bind(this))
Object.keys(this.__timeouts || {})
.forEach(function(id){ this.clearTimeout(id) }.bind(this))
this.persistentIntervals('stop')
}],
/* XXX not sure about these...
['start',
function(){
this
.setInterval('onSecond', 'onSecond', 1000)
.setInterval('onMinute', 'onMinute', 1000*60)
.setInterval('on5Minutes', 'onMinute', 1000*60*5)
.setInterval('onHour', 'onHour', 1000*60*60)
}],
//*/
], ],
}) })
//--------------------------------------------------------------------- //---------------------------------------------------------------------
// Util...
var UtilActions = actions.Actions({ var UtilActions = actions.Actions({
mergeConfig: ['- System/', mergeConfig: ['- System/',

View File

@ -216,11 +216,11 @@ var PeerActions = actions.Actions({
// XXX do proper docs... // XXX do proper docs...
// XXX do we need these??? // XXX do we need these???
peerConnected: ['- System/Peer/', peerConnected: ['- System/Peer/',
core.notUserCallable(function(id){ core.Event(function(id){
// XXX // XXX
})], })],
peerDisconnected: ['- System/Peer/', peerDisconnected: ['- System/Peer/',
core.notUserCallable(function(id){ core.Event(function(id){
// XXX // XXX
})], })],

View File

@ -124,7 +124,7 @@ var RenderActions = actions.Actions({
}], }],
resizing: [ resizing: [
core.notUserCallable(function(unit, size, overflow){ core.Event(function(unit, size, overflow){
// This is a resizing protocol root function. // This is a resizing protocol root function.
// //
// This will never be used directly, but will wrap protocol user // This will never be used directly, but will wrap protocol user

View File

@ -287,7 +287,7 @@ var RenderActions = actions.Actions({
function(){ this.ribbons && this.ribbons.clear() }], function(){ this.ribbons && this.ribbons.clear() }],
resizing: [ resizing: [
core.notUserCallable(function(unit, size, overflow){ core.Event(function(unit, size, overflow){
// This is a resizing protocol root function. // This is a resizing protocol root function.
// //
// This will never be used directly, but will wrap protocol user // This will never be used directly, but will wrap protocol user

View File

@ -36,7 +36,7 @@ var ReactActions = actions.Actions({
}], }],
resizing: [ resizing: [
core.notUserCallable(function(unit, size, overflow){ core.Event(function(unit, size, overflow){
// This is a resizing protocol root function. // This is a resizing protocol root function.
// //
// This will never be used directly, but will wrap protocol user // This will never be used directly, but will wrap protocol user

View File

@ -232,7 +232,7 @@ actions.Actions({
updateImage: ['- Interface/Update image (do not use directly)', updateImage: ['- Interface/Update image (do not use directly)',
'This is called by .refresh(..) and intended for use as an ' 'This is called by .refresh(..) and intended for use as an '
+'trigger for handlers, and not as a user-callable acation.', +'trigger for handlers, and not as a user-callable acation.',
core.notUserCallable(function(gid, image){ core.Event(function(gid, image){
// This is the image update protocol root function // This is the image update protocol root function
// //
// Not for direct use. // Not for direct use.
@ -329,7 +329,7 @@ actions.Actions({
// Zoom/scale protocol... // Zoom/scale protocol...
resizing: [ resizing: [
core.notUserCallable(function(unit, size, overflow){ core.Event(function(unit, size, overflow){
// This is a resizing protocol root function. // This is a resizing protocol root function.
// //
// This will never be used directly, but will wrap protocol user // This will never be used directly, but will wrap protocol user

View File

@ -493,7 +493,7 @@ module.ViewerActions = actions.Actions({
To see the list of handlers call: To see the list of handlers call:
.getHandlerDocStr('resizingWindow') .getHandlerDocStr('resizingWindow')
`, `,
core.notUserCallable(function(){ core.Event(function(){
// This is the window resize event... // This is the window resize event...
// //
// Not for direct use. // Not for direct use.
@ -542,7 +542,7 @@ module.ViewerActions = actions.Actions({
NOTE: to account for CSS transitions use .resizingDone() NOTE: to account for CSS transitions use .resizingDone()
NOTE: not intended for direct use... NOTE: not intended for direct use...
`, `,
core.notUserCallable(function(unit, size, overflow){ core.Event(function(unit, size, overflow){
// This is a resizing protocol root function. // This is a resizing protocol root function.
// //
// This will never be used directly, but will wrap protocol user // This will never be used directly, but will wrap protocol user
@ -560,7 +560,7 @@ module.ViewerActions = actions.Actions({
this will be called only once, after the last action. this will be called only once, after the last action.
NOTE: not intended for direct use... NOTE: not intended for direct use...
`, `,
core.notUserCallable(function(){ core.Event(function(){
// This is resizing protocol post resize action. // This is resizing protocol post resize action.
// //
// This will be called either when a resize CSS transition // This will be called either when a resize CSS transition
@ -1207,7 +1207,7 @@ var ControlActions = actions.Actions({
NOTE: this does not account for animation. NOTE: this does not account for animation.
`, `,
core.notUserCallable(function(gid, x, y){ core.Event(function(gid, x, y){
// This is image clicked event... // This is image clicked event...
// //
// Not for direct use. // Not for direct use.
@ -1226,7 +1226,7 @@ var ControlActions = actions.Actions({
NOTE: this does not account for animation. NOTE: this does not account for animation.
`, `,
core.notUserCallable(function(gid, x, y){ core.Event(function(gid, x, y){
// This is image clicked event... // This is image clicked event...
// //
// Not for direct use. // Not for direct use.
@ -1243,7 +1243,7 @@ var ControlActions = actions.Actions({
NOTE: this does not account for animation. NOTE: this does not account for animation.
`, `,
core.notUserCallable(function(gid, x, y){ core.Event(function(gid, x, y){
// This is image clicked event... // This is image clicked event...
// //
// Not for direct use. // Not for direct use.
@ -1265,7 +1265,7 @@ var ControlActions = actions.Actions({
NOTE: this does not account for animation. NOTE: this does not account for animation.
`, `,
core.notUserCallable(function(gid, x, y){ core.Event(function(gid, x, y){
// This is image clicked event... // This is image clicked event...
// //
// Not for direct use. // Not for direct use.
@ -1280,7 +1280,7 @@ var ControlActions = actions.Actions({
NOTE: this does not account for animation. NOTE: this does not account for animation.
`, `,
core.notUserCallable(function(gid, x, y){ core.Event(function(gid, x, y){
// This is image clicked event... // This is image clicked event...
// //
// Not for direct use. // Not for direct use.
@ -1293,7 +1293,7 @@ var ControlActions = actions.Actions({
NOTE: this does not account for animation. NOTE: this does not account for animation.
`, `,
core.notUserCallable(function(gid, x, y){ core.Event(function(gid, x, y){
// This is image clicked event... // This is image clicked event...
// //
// Not for direct use. // Not for direct use.
@ -1526,7 +1526,7 @@ var ControlActions = actions.Actions({
// //
// NOTE: more than one ribbon can be panned at once. // NOTE: more than one ribbon can be panned at once.
ribbonPanning: ['- Interface/', ribbonPanning: ['- Interface/',
core.notUserCallable(function(gid){ core.Event(function(gid){
// This is ribbon pan event... // This is ribbon pan event...
// //
// Not for direct use. // Not for direct use.

View File

@ -4,16 +4,6 @@
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
"ajv": {
"version": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
"integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
"dev": true,
"optional": true,
"requires": {
"co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"
}
},
"app-module-path": { "app-module-path": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-1.1.0.tgz", "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-1.1.0.tgz",
@ -23,6 +13,20 @@
"version": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz", "version": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz",
"integrity": "sha1-UidltQw1EEkOUtfc/ghe+bqWlY8=" "integrity": "sha1-UidltQw1EEkOUtfc/ghe+bqWlY8="
}, },
"asn1": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
"dev": true,
"optional": true
},
"assert-plus": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
"dev": true,
"optional": true
},
"async": { "async": {
"version": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", "version": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E="
@ -39,6 +43,13 @@
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"aws-sign2": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
"integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
"dev": true,
"optional": true
},
"aws4": { "aws4": {
"version": "1.6.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
@ -67,6 +78,15 @@
"inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" "inherits": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
} }
}, },
"boom": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"dev": true,
"requires": {
"hoek": "2.16.3"
}
},
"brace-expansion": { "brace-expansion": {
"version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz", "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz",
"integrity": "sha1-9bStV04st8zB64Pm/nm47K33pSY=", "integrity": "sha1-9bStV04st8zB64Pm/nm47K33pSY=",
@ -101,12 +121,6 @@
} }
} }
}, },
"co": {
"version": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
"dev": true,
"optional": true
},
"color": { "color": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/color/-/color-1.0.3.tgz", "resolved": "https://registry.npmjs.org/color/-/color-1.0.3.tgz",
@ -137,6 +151,15 @@
"simple-swizzle": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" "simple-swizzle": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz"
} }
}, },
"combined-stream": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
"integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
"dev": true,
"requires": {
"delayed-stream": "1.0.0"
}
},
"commander": { "commander": {
"version": "2.14.1", "version": "2.14.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
@ -146,12 +169,6 @@
"version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
}, },
"core-util-is": {
"version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true,
"optional": true
},
"create-error-class": { "create-error-class": {
"version": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "version": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
"integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
@ -170,6 +187,16 @@
"object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
} }
}, },
"cryptiles": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"dev": true,
"optional": true,
"requires": {
"boom": "2.10.1"
}
},
"dashdash": { "dashdash": {
"version": "1.14.1", "version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
@ -207,6 +234,12 @@
"version": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz", "version": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz",
"integrity": "sha1-7+QRPQgIX05vlod1mBD4B0aeIlM=" "integrity": "sha1-7+QRPQgIX05vlod1mBD4B0aeIlM="
}, },
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true
},
"duplexer3": { "duplexer3": {
"version": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", "version": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
"integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
@ -242,15 +275,6 @@
"iconv-lite": "0.4.19" "iconv-lite": "0.4.19"
} }
}, },
"errno": {
"version": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz",
"integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=",
"dev": true,
"optional": true,
"requires": {
"prr": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz"
}
},
"exiftool": { "exiftool": {
"version": "0.0.3", "version": "0.0.3",
"resolved": "https://registry.npmjs.org/exiftool/-/exiftool-0.0.3.tgz", "resolved": "https://registry.npmjs.org/exiftool/-/exiftool-0.0.3.tgz",
@ -764,6 +788,25 @@
} }
} }
}, },
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true,
"optional": true
},
"form-data": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
"dev": true,
"optional": true,
"requires": {
"asynckit": "0.4.0",
"combined-stream": "1.0.5",
"mime-types": "2.1.17"
}
},
"fs-extra": { "fs-extra": {
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
@ -925,15 +968,101 @@
"resolved": "https://registry.npmjs.org/guarantee-events/-/guarantee-events-1.0.6.tgz", "resolved": "https://registry.npmjs.org/guarantee-events/-/guarantee-events-1.0.6.tgz",
"integrity": "sha1-YCYE3fpJFr8JQlmWWwTTyUn9WDo=" "integrity": "sha1-YCYE3fpJFr8JQlmWWwTTyUn9WDo="
}, },
"har-schema": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
"integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
"dev": true,
"optional": true
},
"har-validator": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
"integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
"dev": true,
"optional": true,
"requires": {
"ajv": "4.11.8",
"har-schema": "1.0.5"
},
"dependencies": {
"ajv": {
"version": "4.11.8",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
"integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
"dev": true,
"optional": true,
"requires": {
"co": "4.6.0",
"json-stable-stringify": "1.0.1"
}
},
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
"dev": true,
"optional": true
},
"json-stable-stringify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
"dev": true,
"optional": true,
"requires": {
"jsonify": "0.0.0"
}
},
"jsonify": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
"dev": true,
"optional": true
}
}
},
"hawk": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"dev": true,
"optional": true,
"requires": {
"boom": "2.10.1",
"cryptiles": "2.0.5",
"hoek": "2.16.3",
"sntp": "1.0.9"
}
},
"hoek": {
"version": "2.16.3",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"dev": true
},
"http-signature": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
"dev": true,
"optional": true,
"requires": {
"assert-plus": "0.2.0",
"jsprim": "1.4.1",
"sshpk": "1.13.1"
}
},
"iconv-lite": { "iconv-lite": {
"version": "0.4.19", "version": "0.4.19",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
"integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
}, },
"ig-actions": { "ig-actions": {
"version": "3.14.0", "version": "3.15.0",
"resolved": "https://registry.npmjs.org/ig-actions/-/ig-actions-3.14.0.tgz", "resolved": "https://registry.npmjs.org/ig-actions/-/ig-actions-3.15.0.tgz",
"integrity": "sha512-ZKKAMGee+/yJz0Arfc9ZHP14mgEu7Z7MjlX205KzdXLLdvXgd5r6TGMZs6qo4jHqznAheIr5IeF0RcCq5MwGzA==", "integrity": "sha512-rcSAB34tfR+HYQtutY4OvCL4MlFfVtJQmUKRbdO7gOh9mWUy7BSGXg5gS+zSk5mqvr9YRUD2ZBDyT9tnQR8fAg==",
"requires": { "requires": {
"ig-object": "1.0.2" "ig-object": "1.0.2"
} }
@ -943,7 +1072,7 @@
"resolved": "https://registry.npmjs.org/ig-features/-/ig-features-3.3.2.tgz", "resolved": "https://registry.npmjs.org/ig-features/-/ig-features-3.3.2.tgz",
"integrity": "sha512-NSvuVkLUI47f1mpG03/fVqJaMYLDUFVcg2FNXUtqvDqQqKhlZuXJfxsGcoFQ1eIZ1pqYcYeYHmjNbgmK6rT5cA==", "integrity": "sha512-NSvuVkLUI47f1mpG03/fVqJaMYLDUFVcg2FNXUtqvDqQqKhlZuXJfxsGcoFQ1eIZ1pqYcYeYHmjNbgmK6rT5cA==",
"requires": { "requires": {
"ig-actions": "3.14.0", "ig-actions": "3.15.0",
"ig-object": "1.0.2" "ig-object": "1.0.2"
} }
}, },
@ -1007,12 +1136,6 @@
"whatwg-fetch": "2.0.3" "whatwg-fetch": "2.0.3"
} }
}, },
"isstream": {
"version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true,
"optional": true
},
"js-tokens": { "js-tokens": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
@ -1032,21 +1155,6 @@
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"json-stable-stringify": {
"version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
"dev": true,
"optional": true,
"requires": {
"jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
}
},
"json-stringify-safe": {
"version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true,
"optional": true
},
"jsonfile": { "jsonfile": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
@ -1055,12 +1163,6 @@
"graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
} }
}, },
"jsonify": {
"version": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
"dev": true,
"optional": true
},
"jsprim": { "jsprim": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
@ -1101,213 +1203,90 @@
} }
}, },
"less": { "less": {
"version": "2.7.3", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz", "resolved": "https://registry.npmjs.org/less/-/less-3.0.0.tgz",
"integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==", "integrity": "sha512-9H0u5xo49oycfj4iSqoPt3ypHCO01bMEbOhChaNPUeeYazEZb0PVYYmp0JXQF8ZS4aU2Bkb7+aMPxELit65/DQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"errno": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", "errno": "0.1.6",
"graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "graceful-fs": "4.1.11",
"image-size": "0.5.5", "image-size": "0.5.5",
"mime": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", "mime": "1.6.0",
"mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "mkdirp": "0.5.1",
"promise": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz", "promise": "7.3.1",
"request": "2.81.0", "request": "2.81.0",
"source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" "source-map": "0.5.7"
}, },
"dependencies": { "dependencies": {
"assert-plus": { "asap": {
"version": "0.2.0", "version": "2.0.6",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"aws-sign2": { "errno": {
"version": "0.6.0", "version": "0.1.6",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz",
"integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==",
"dev": true,
"optional": true,
"requires": {
"prr": "1.0.1"
}
},
"graceful-fs": {
"version": "4.1.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"boom": { "mime": {
"version": "2.10.1", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true,
"requires": {
"hoek": "2.16.3"
}
},
"combined-stream": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
"integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
"dev": true,
"requires": {
"delayed-stream": "1.0.0"
}
},
"cryptiles": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"dev": true,
"optional": true,
"requires": {
"boom": "2.10.1"
}
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true
},
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"form-data": { "minimist": {
"version": "2.1.4", "version": "0.0.8",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true,
"optional": true,
"requires": {
"asynckit": "0.4.0",
"combined-stream": "1.0.5",
"mime-types": "2.1.17"
}
},
"har-schema": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
"integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"har-validator": { "mkdirp": {
"version": "4.2.1", "version": "0.5.1",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true, "dev": true,
"optional": true, "optional": true,
"requires": { "requires": {
"ajv": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", "minimist": "0.0.8"
"har-schema": "1.0.5"
} }
}, },
"hawk": { "promise": {
"version": "3.1.3", "version": "7.3.1",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
"dev": true, "dev": true,
"optional": true, "optional": true,
"requires": { "requires": {
"boom": "2.10.1", "asap": "2.0.6"
"cryptiles": "2.0.5",
"hoek": "2.16.3",
"sntp": "1.0.9"
} }
}, },
"hoek": { "prr": {
"version": "2.16.3", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
"dev": true
},
"http-signature": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
"dev": true,
"optional": true,
"requires": {
"assert-plus": "0.2.0",
"jsprim": "1.4.1",
"sshpk": "1.13.1"
}
},
"oauth-sign": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"performance-now": { "source-map": {
"version": "0.2.0", "version": "0.5.7",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true,
"optional": true
},
"qs": {
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
"integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
"dev": true,
"optional": true
},
"request": {
"version": "2.81.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
"integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
"dev": true,
"optional": true,
"requires": {
"aws-sign2": "0.6.0",
"aws4": "1.6.0",
"caseless": "0.12.0",
"combined-stream": "1.0.5",
"extend": "3.0.1",
"forever-agent": "0.6.1",
"form-data": "2.1.4",
"har-validator": "4.2.1",
"hawk": "3.1.3",
"http-signature": "1.1.1",
"is-typedarray": "1.0.0",
"isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"mime-types": "2.1.17",
"oauth-sign": "0.8.2",
"performance-now": "0.2.0",
"qs": "6.4.0",
"safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
"stringstream": "0.0.5",
"tough-cookie": "2.3.3",
"tunnel-agent": "0.6.0",
"uuid": "3.1.0"
}
},
"sntp": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"dev": true,
"optional": true,
"requires": {
"hoek": "2.16.3"
}
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz"
}
},
"uuid": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
"integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==",
"dev": true, "dev": true,
"optional": true "optional": true
} }
@ -1331,12 +1310,6 @@
"version": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", "version": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
"integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY="
}, },
"mime": {
"version": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
"integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=",
"dev": true,
"optional": true
},
"mime-db": { "mime-db": {
"version": "1.30.0", "version": "1.30.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
@ -1387,6 +1360,13 @@
"is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" "is-stream": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"
} }
}, },
"oauth-sign": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
"dev": true,
"optional": true
},
"object-assign": { "object-assign": {
"version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
@ -1407,6 +1387,13 @@
"version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz",
"integrity": "sha1-Jj2tpmqz8vsQv3+dJN2PPlcO+RI=" "integrity": "sha1-Jj2tpmqz8vsQv3+dJN2PPlcO+RI="
}, },
"performance-now": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
"integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
"dev": true,
"optional": true
},
"pica": { "pica": {
"version": "3.0.6", "version": "3.0.6",
"resolved": "https://registry.npmjs.org/pica/-/pica-3.0.6.tgz", "resolved": "https://registry.npmjs.org/pica/-/pica-3.0.6.tgz",
@ -1446,15 +1433,10 @@
"object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" "object-assign": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
} }
}, },
"prr": { "qs": {
"version": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", "version": "6.4.0",
"integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
"dev": true, "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
"optional": true
},
"punycode": {
"version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
@ -1500,6 +1482,60 @@
"prop-types": "15.6.0" "prop-types": "15.6.0"
} }
}, },
"request": {
"version": "2.81.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
"integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
"dev": true,
"optional": true,
"requires": {
"aws-sign2": "0.6.0",
"aws4": "1.6.0",
"caseless": "0.12.0",
"combined-stream": "1.0.5",
"extend": "3.0.1",
"forever-agent": "0.6.1",
"form-data": "2.1.4",
"har-validator": "4.2.1",
"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.17",
"oauth-sign": "0.8.2",
"performance-now": "0.2.0",
"qs": "6.4.0",
"safe-buffer": "5.1.1",
"stringstream": "0.0.5",
"tough-cookie": "2.3.3",
"tunnel-agent": "0.6.0",
"uuid": "3.2.1"
},
"dependencies": {
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true,
"optional": true
},
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true,
"optional": true
},
"safe-buffer": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
"dev": true,
"optional": true
}
}
},
"requirejs": { "requirejs": {
"version": "2.3.5", "version": "2.3.5",
"resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.5.tgz", "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.5.tgz",
@ -1570,11 +1606,15 @@
"is-arrayish": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.1.tgz" "is-arrayish": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.1.tgz"
} }
}, },
"source-map": { "sntp": {
"version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", "version": "1.0.9",
"integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"dev": true, "dev": true,
"optional": true "optional": true,
"requires": {
"hoek": "2.16.3"
}
}, },
"sshpk": { "sshpk": {
"version": "1.13.1", "version": "1.13.1",
@ -1593,13 +1633,6 @@
"tweetnacl": "0.14.5" "tweetnacl": "0.14.5"
}, },
"dependencies": { "dependencies": {
"asn1": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
"dev": true,
"optional": true
},
"assert-plus": { "assert-plus": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
@ -1641,7 +1674,35 @@
"dev": true, "dev": true,
"optional": true, "optional": true,
"requires": { "requires": {
"punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" "punycode": "1.4.1"
},
"dependencies": {
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true,
"optional": true
}
}
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "5.1.1"
},
"dependencies": {
"safe-buffer": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
"dev": true,
"optional": true
}
} }
}, },
"tweetnacl": { "tweetnacl": {
@ -1686,7 +1747,7 @@
"optional": true, "optional": true,
"requires": { "requires": {
"assert-plus": "1.0.0", "assert-plus": "1.0.0",
"core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "core-util-is": "1.0.2",
"extsprintf": "1.3.0" "extsprintf": "1.3.0"
}, },
"dependencies": { "dependencies": {
@ -1696,6 +1757,13 @@
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true, "dev": true,
"optional": true "optional": true
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true,
"optional": true
} }
} }
}, },

View File

@ -26,7 +26,7 @@
"fs-walk": "^0.0.1", "fs-walk": "^0.0.1",
"glob": "^4.0.6", "glob": "^4.0.6",
"guarantee-events": "^1.0.0", "guarantee-events": "^1.0.0",
"ig-actions": "^3.14.0", "ig-actions": "^3.15.0",
"ig-features": "^3.3.2", "ig-features": "^3.3.2",
"ig-object": "^1.0.2", "ig-object": "^1.0.2",
"moment": "^2.20.1", "moment": "^2.20.1",
@ -46,7 +46,7 @@
}, },
"devDependencies": { "devDependencies": {
"electron-wix-msi": "^1.3.0", "electron-wix-msi": "^1.3.0",
"less": "*" "less": "^3.0.0"
}, },
"bin": { "bin": {
"ig": "ig.js" "ig": "ig.js"