diff --git a/ui (gen4)/features/base.js b/ui (gen4)/features/base.js index 5b448d84..2c9236b3 100755 --- a/ui (gen4)/features/base.js +++ b/ui (gen4)/features/base.js @@ -823,13 +823,13 @@ actions.Actions({ // below... // XXX do we need a vertical shift event?? shiftImage: ['- Interface/Image shift (do not use directly)', - core.notUserCallable(function(gid){ + core.Event(function(gid){ // This is the image shift protocol root function // // Not for direct use. })], 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 // // Not for direct use. diff --git a/ui (gen4)/features/collections.js b/ui (gen4)/features/collections.js index ea7ba991..0476ba68 100755 --- a/ui (gen4)/features/collections.js +++ b/ui (gen4)/features/collections.js @@ -234,7 +234,7 @@ var CollectionActions = actions.Actions({ just after. `, - core.notUserCallable(function(collection){ + core.Event(function(collection){ // This is the window resize event... // // Not for direct use. @@ -242,7 +242,7 @@ var CollectionActions = actions.Actions({ collectionUnloaded: ['- Collections/', core.doc`This is called when unloading a collection. `, - core.notUserCallable(function(collection){ + core.Event(function(collection){ // This is the window resize event... // // Not for direct use. @@ -252,7 +252,7 @@ var CollectionActions = actions.Actions({ 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... // // Not for direct use. @@ -262,7 +262,7 @@ var CollectionActions = actions.Actions({ 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... // // Not for direct use. diff --git a/ui (gen4)/features/config.js b/ui (gen4)/features/config.js index 7aa441cb..6f3bf148 100755 --- a/ui (gen4)/features/config.js +++ b/ui (gen4)/features/config.js @@ -75,7 +75,7 @@ var StoreActions = actions.Actions({ this is sync for sync stores. NOTE: only one store data set is included per call.`, - core.notUserCallable(function(data){ + core.Event(function(data){ // Store data loaded event... // // 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.`, function(data){ return data || {} }], // 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/', function(mode, date){ var handlers = this.store_handlers @@ -302,11 +304,21 @@ var ConfigStoreActions = actions.Actions({ // - 'portable' -- use APP dir // - 'normal' -- use $HOME 'config-fs-filename': '.ImageGrid.json', + + 'config-auto-save-interval': null, }, __base_config: null, /* XXX + storeConfig: ['File/Store configuration', + function(key){ + // XXX + }], + loadConfig: ['File/Load stored configuration', + function(key){ + // XXX + }], // XXX should this also reload??? resetConfig: ['- Config/', function(){ @@ -318,8 +330,10 @@ var ConfigStoreActions = actions.Actions({ toggleAutoStoreConfig: ['File/Store configuration', toggler.Toggler(null, function(_, state){ + var timer = 'config-auto-save-timer' + if(state == null){ - return this.__auto_save_config_timer || 'none' + return this.isPersistentInterval(timer) || 'none' } else { var that = this @@ -330,33 +344,13 @@ var ConfigStoreActions = actions.Actions({ return false } - // this cleans up before 'on' and fully handles 'off' action... - if(this.__auto_save_config_timer != null){ - clearTimeout(this.__auto_save_config_timer) - delete this.__auto_save_config_timer - } + // start/restart... + if(state == 'running' && interval){ + this.setPersistentInterval(timer, 'storeConfig', interval*1000) - if(state == 'running' - && interval - && this.__auto_save_config_timer == null){ - - 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() + // stop... + } else { + this.clearPersistentInterval(timer) } } }, diff --git a/ui (gen4)/features/core.js b/ui (gen4)/features/core.js index 38e6281b..90a3d8ce 100755 --- a/ui (gen4)/features/core.js +++ b/ui (gen4)/features/core.js @@ -269,18 +269,37 @@ function(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({ - // user-callable actions... get useractions(){ return this.cache('useractions', function(d){ return d instanceof Array ? d.slice() : 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/', 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 }], actions.doWithRootAction(function(action){ 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 the protocol. `, - notUserCallable(function(){ + Event(function(){ // System ready event... // // Not intended for direct use, use .declareReady() to initiate. @@ -540,6 +562,7 @@ module.LifeCycle = ImageGridFeatures.Feature({ //--------------------------------------------------------------------- +// Serialization... var SerializationActions = actions.Actions({ clone: ['- System/', @@ -563,6 +586,7 @@ module.Serialization = ImageGridFeatures.Feature({ //--------------------------------------------------------------------- +// Cache... // XXX should this be in actions.js??? // XXX should we invalidate the cache automatically??? @@ -724,6 +748,7 @@ module.Cache = ImageGridFeatures.Feature({ //--------------------------------------------------------------------- +// Timers... var TimersActions = actions.Actions({ config: { @@ -761,12 +786,19 @@ var TimersActions = actions.Actions({ } }, // XXX should these be actions??? - isInterval: function(id){ - return id in (this.__intervals || {}) }, isTimeout: function(id){ 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){ - return this.isInterval(id) || this.isTimeout(id) }, + return this.isInterval(id) + || this.isPersistentInterval(id) + || this.isTimeout(id) }, // General API... @@ -807,7 +839,7 @@ var TimersActions = actions.Actions({ id in intervals && clearInterval(intervals[id]) - timeouts[id] = setInterval( + intervals[id] = setInterval( (func instanceof Function ? func : function(){ this.call(func) }) .bind(this), ms || 0) @@ -901,7 +933,25 @@ var TimersActions = actions.Actions({ this.clearPersistentInterval(id, true) }.bind(this)) // unknown 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 = @@ -916,16 +966,37 @@ module.Timers = ImageGridFeatures.Feature({ actions: TimersActions, handlers: [ + // start persistent timers... // XXX should this be start or ready??? ['start', function(){ this.persistentIntervals('start') }], + // stop all timers... ['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({ mergeConfig: ['- System/', diff --git a/ui (gen4)/features/peer.js b/ui (gen4)/features/peer.js index 58fbff98..133f72de 100755 --- a/ui (gen4)/features/peer.js +++ b/ui (gen4)/features/peer.js @@ -216,11 +216,11 @@ var PeerActions = actions.Actions({ // XXX do proper docs... // XXX do we need these??? peerConnected: ['- System/Peer/', - core.notUserCallable(function(id){ + core.Event(function(id){ // XXX })], peerDisconnected: ['- System/Peer/', - core.notUserCallable(function(id){ + core.Event(function(id){ // XXX })], diff --git a/ui (gen4)/features/ui-blank-render.js b/ui (gen4)/features/ui-blank-render.js index 183a9432..73069656 100755 --- a/ui (gen4)/features/ui-blank-render.js +++ b/ui (gen4)/features/ui-blank-render.js @@ -124,7 +124,7 @@ var RenderActions = actions.Actions({ }], resizing: [ - core.notUserCallable(function(unit, size, overflow){ + core.Event(function(unit, size, overflow){ // This is a resizing protocol root function. // // This will never be used directly, but will wrap protocol user diff --git a/ui (gen4)/features/ui-preact-render.js b/ui (gen4)/features/ui-preact-render.js index 9c41417c..4885cacc 100755 --- a/ui (gen4)/features/ui-preact-render.js +++ b/ui (gen4)/features/ui-preact-render.js @@ -287,7 +287,7 @@ var RenderActions = actions.Actions({ function(){ this.ribbons && this.ribbons.clear() }], resizing: [ - core.notUserCallable(function(unit, size, overflow){ + core.Event(function(unit, size, overflow){ // This is a resizing protocol root function. // // This will never be used directly, but will wrap protocol user diff --git a/ui (gen4)/features/ui-react.js b/ui (gen4)/features/ui-react.js index 922e2cbe..bf6298e7 100755 --- a/ui (gen4)/features/ui-react.js +++ b/ui (gen4)/features/ui-react.js @@ -36,7 +36,7 @@ var ReactActions = actions.Actions({ }], resizing: [ - core.notUserCallable(function(unit, size, overflow){ + core.Event(function(unit, size, overflow){ // This is a resizing protocol root function. // // This will never be used directly, but will wrap protocol user diff --git a/ui (gen4)/features/ui-ribbons.js b/ui (gen4)/features/ui-ribbons.js index 476215db..b46b73e6 100755 --- a/ui (gen4)/features/ui-ribbons.js +++ b/ui (gen4)/features/ui-ribbons.js @@ -232,7 +232,7 @@ actions.Actions({ updateImage: ['- Interface/Update image (do not use directly)', 'This is called by .refresh(..) and intended for use as an ' +'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 // // Not for direct use. @@ -329,7 +329,7 @@ actions.Actions({ // Zoom/scale protocol... resizing: [ - core.notUserCallable(function(unit, size, overflow){ + core.Event(function(unit, size, overflow){ // This is a resizing protocol root function. // // This will never be used directly, but will wrap protocol user diff --git a/ui (gen4)/features/ui.js b/ui (gen4)/features/ui.js index 06be3547..a77a1176 100755 --- a/ui (gen4)/features/ui.js +++ b/ui (gen4)/features/ui.js @@ -493,7 +493,7 @@ module.ViewerActions = actions.Actions({ To see the list of handlers call: .getHandlerDocStr('resizingWindow') `, - core.notUserCallable(function(){ + core.Event(function(){ // This is the window resize event... // // Not for direct use. @@ -542,7 +542,7 @@ module.ViewerActions = actions.Actions({ NOTE: to account for CSS transitions use .resizingDone() 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 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. NOTE: not intended for direct use... `, - core.notUserCallable(function(){ + core.Event(function(){ // This is resizing protocol post resize action. // // 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. `, - core.notUserCallable(function(gid, x, y){ + core.Event(function(gid, x, y){ // This is image clicked event... // // Not for direct use. @@ -1226,7 +1226,7 @@ var ControlActions = actions.Actions({ NOTE: this does not account for animation. `, - core.notUserCallable(function(gid, x, y){ + core.Event(function(gid, x, y){ // This is image clicked event... // // Not for direct use. @@ -1243,7 +1243,7 @@ var ControlActions = actions.Actions({ NOTE: this does not account for animation. `, - core.notUserCallable(function(gid, x, y){ + core.Event(function(gid, x, y){ // This is image clicked event... // // Not for direct use. @@ -1265,7 +1265,7 @@ var ControlActions = actions.Actions({ NOTE: this does not account for animation. `, - core.notUserCallable(function(gid, x, y){ + core.Event(function(gid, x, y){ // This is image clicked event... // // Not for direct use. @@ -1280,7 +1280,7 @@ var ControlActions = actions.Actions({ NOTE: this does not account for animation. `, - core.notUserCallable(function(gid, x, y){ + core.Event(function(gid, x, y){ // This is image clicked event... // // Not for direct use. @@ -1293,7 +1293,7 @@ var ControlActions = actions.Actions({ NOTE: this does not account for animation. `, - core.notUserCallable(function(gid, x, y){ + core.Event(function(gid, x, y){ // This is image clicked event... // // Not for direct use. @@ -1526,7 +1526,7 @@ var ControlActions = actions.Actions({ // // NOTE: more than one ribbon can be panned at once. ribbonPanning: ['- Interface/', - core.notUserCallable(function(gid){ + core.Event(function(gid){ // This is ribbon pan event... // // Not for direct use. diff --git a/ui (gen4)/package-lock.json b/ui (gen4)/package-lock.json index 4f7348e8..0b3ffd2d 100755 --- a/ui (gen4)/package-lock.json +++ b/ui (gen4)/package-lock.json @@ -4,16 +4,6 @@ "lockfileVersion": 1, "requires": true, "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": { "version": "1.1.0", "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", "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": { "version": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" @@ -39,6 +43,13 @@ "dev": 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": { "version": "1.6.0", "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" } }, + "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": { "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz", "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": { "version": "1.0.3", "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" } }, + "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": { "version": "2.14.1", "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", "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": { "version": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", @@ -170,6 +187,16 @@ "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": { "version": "1.14.1", "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", "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": { "version": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" @@ -242,15 +275,6 @@ "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": { "version": "0.0.3", "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": { "version": "4.0.3", "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", "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": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" }, "ig-actions": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/ig-actions/-/ig-actions-3.14.0.tgz", - "integrity": "sha512-ZKKAMGee+/yJz0Arfc9ZHP14mgEu7Z7MjlX205KzdXLLdvXgd5r6TGMZs6qo4jHqznAheIr5IeF0RcCq5MwGzA==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/ig-actions/-/ig-actions-3.15.0.tgz", + "integrity": "sha512-rcSAB34tfR+HYQtutY4OvCL4MlFfVtJQmUKRbdO7gOh9mWUy7BSGXg5gS+zSk5mqvr9YRUD2ZBDyT9tnQR8fAg==", "requires": { "ig-object": "1.0.2" } @@ -943,7 +1072,7 @@ "resolved": "https://registry.npmjs.org/ig-features/-/ig-features-3.3.2.tgz", "integrity": "sha512-NSvuVkLUI47f1mpG03/fVqJaMYLDUFVcg2FNXUtqvDqQqKhlZuXJfxsGcoFQ1eIZ1pqYcYeYHmjNbgmK6rT5cA==", "requires": { - "ig-actions": "3.14.0", + "ig-actions": "3.15.0", "ig-object": "1.0.2" } }, @@ -1007,12 +1136,6 @@ "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": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", @@ -1032,21 +1155,6 @@ "dev": 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": { "version": "4.0.0", "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" } }, - "jsonify": { - "version": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true, - "optional": true - }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -1101,213 +1203,90 @@ } }, "less": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz", - "integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/less/-/less-3.0.0.tgz", + "integrity": "sha512-9H0u5xo49oycfj4iSqoPt3ypHCO01bMEbOhChaNPUeeYazEZb0PVYYmp0JXQF8ZS4aU2Bkb7+aMPxELit65/DQ==", "dev": true, "requires": { - "errno": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", - "graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "errno": "0.1.6", + "graceful-fs": "4.1.11", "image-size": "0.5.5", - "mime": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "mkdirp": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "promise": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz", + "mime": "1.6.0", + "mkdirp": "0.5.1", + "promise": "7.3.1", "request": "2.81.0", - "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" + "source-map": "0.5.7" }, "dependencies": { - "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=", + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", "dev": 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=", + "errno": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz", + "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, "optional": true }, - "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" - } - }, - "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=", + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "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" - } - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "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=", + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "optional": true, "requires": { - "ajv": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "har-schema": "1.0.5" + "minimist": "0.0.8" } }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "dev": true, "optional": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "asap": "2.0.6" } }, - "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" - } - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true, "optional": true }, - "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 - }, - "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==", + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, "optional": true } @@ -1331,12 +1310,6 @@ "version": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", "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": { "version": "1.30.0", "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" } }, + "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": { "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" @@ -1407,6 +1387,13 @@ "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", "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": { "version": "3.0.6", "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" } }, - "prr": { - "version": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", - "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", - "dev": true, - "optional": true - }, - "punycode": { - "version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "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 }, @@ -1500,6 +1482,60 @@ "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": { "version": "2.3.5", "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" } }, - "source-map": { - "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, - "optional": true + "optional": true, + "requires": { + "hoek": "2.16.3" + } }, "sshpk": { "version": "1.13.1", @@ -1593,13 +1633,6 @@ "tweetnacl": "0.14.5" }, "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": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", @@ -1641,7 +1674,35 @@ "dev": true, "optional": true, "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": { @@ -1686,7 +1747,7 @@ "optional": true, "requires": { "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" }, "dependencies": { @@ -1696,6 +1757,13 @@ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": 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 } } }, diff --git a/ui (gen4)/package.json b/ui (gen4)/package.json index 2d7f120a..b77c0a89 100755 --- a/ui (gen4)/package.json +++ b/ui (gen4)/package.json @@ -26,7 +26,7 @@ "fs-walk": "^0.0.1", "glob": "^4.0.6", "guarantee-events": "^1.0.0", - "ig-actions": "^3.14.0", + "ig-actions": "^3.15.0", "ig-features": "^3.3.2", "ig-object": "^1.0.2", "moment": "^2.20.1", @@ -46,7 +46,7 @@ }, "devDependencies": { "electron-wix-msi": "^1.3.0", - "less": "*" + "less": "^3.0.0" }, "bin": { "ig": "ig.js"