Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2019-12-30 00:41:35 +03:00
parent 0bd10ddcca
commit 029a74bad3
7 changed files with 56 additions and 493 deletions

View File

@ -829,6 +829,7 @@ actions.Actions({
// NOTE: resetting this option will clear the last direction...
toggleShiftsAffectDirection: ['Interface/Shifts affect direction',
{browseMode: 'toggleBrowseActionKeys'},
core.makeConfigToggler('shifts-affect-direction',
['off', 'on'],
function(action){
@ -1028,6 +1029,18 @@ actions.Actions({
// XXX are these too powerfull??
// ...should the user have these or be forced to ctrl+a -> ctrl+pgdown
mergeRibbon: ['- Edit|Ribbon/',
core.doc`Merge ribbon up/down...
Merge current ribbon up/down...
.mergeRibbon('up')
.mergeRibbon('down')
Merge specific ribbon up/down...
.mergeRibbon('up', ribbon)
.mergeRibbon('down', ribbon)
NOTE: ribbon must be a value compatible with .data.getRibbon(..)
`,
function(direction, ribbon){
return this['shiftImage'+ direction.capitalize()](
this.data.getImages(
@ -1040,6 +1053,7 @@ actions.Actions({
{browseMode: function(){
return this.data.ribbon_order.slice(-1)[0] == this.current_ribbon && 'disabled' }},
'mergeRibbon: "down" ...'],
// XXX should this accept a list of ribbons to flatten???
flattenRibbons: ['Edit|Ribbon/Flatten',
{browseMode: function(){
return this.data.ribbon_order.length <= 1 && 'disabled' }},
@ -1049,9 +1063,9 @@ actions.Actions({
base = base && base in ribbons ?
base
: this.current_ribbon
var images = this.data.getImages('loaded')
// update the data...
this.data.ribbons = {
[base]: images,
}

View File

@ -28,6 +28,7 @@ var PreCacheActions = actions.Actions({
// NOTE: this will not work from chrome when loading from a local fs...
// XXX experimental...
startCacheWorker: ['Interface/',
{browseMode: 'toggleBrowseActionKeys'},
function(){
// a worker is started already...
if(this.cacheWorker != null){
@ -62,6 +63,7 @@ var PreCacheActions = actions.Actions({
this.cacheWorker.url = url
}],
stopCacheWorker: ['Interface/',
{browseMode: 'toggleBrowseActionKeys'},
function(){
if(this.cacheWorker){
this.cacheWorker.terminate()

View File

@ -852,10 +852,12 @@ var StatusLogActions = actions.Actions({
// XXX should this be here or in a separate feature???
statusLog: ['Interface/Show status log',
{browseMode: 'toggleBrowseActionKeys'},
function(){
// XXX use list
}],
clearStatusLog: ['Interface/Clear status log',
{browseMode: 'toggleBrowseActionKeys'},
function(){
delete this.__status_log
}],

View File

@ -878,6 +878,7 @@ var DialogsActions = actions.Actions({
listDialogs: ['Interface|System/Dialog/Dialog list...',
{browseMode: 'toggleBrowseActionKeys'},
makeUIDialog(function(){
var actions = this
@ -904,6 +905,7 @@ var DialogsActions = actions.Actions({
})],
toggleOverlayBlur: ['Interface/Dialog overlay blur',
{browseMode: 'toggleBrowseActionKeys'},
toggler.CSSClassToggler(
function(){ return this.dom },
'overlay-blur-enabled',
@ -2248,6 +2250,7 @@ var BrowseActionsActions = actions.Actions({
// ...
'-40:Interface',
'Interface/90:Theme',
'-50:$Workspace',
'-60:System',
'-70:$Help',
@ -2515,7 +2518,8 @@ var BrowseActionsActions = actions.Actions({
// XXX can this also do a flat mode???
// ...this would help with the (global) search -- switch to
// flat if searching in root mode...
browseActions: ['Interface|System/Dialog/Actions...',
browseActions: ['Interface/Dialog/Actions...',
{browseMode: 'toggleBrowseActionKeys'},
core.doc`Browse actions dialog...
This uses action definition to build and present an action tree.
@ -2910,7 +2914,14 @@ var BrowseActionsActions = actions.Actions({
this.menu(showDoc.bind(this))
}) })],
toggleBrowseAdvanced: ['Interface/-99: Advanced menu items',
core.makeConfigToggler(
'browse-advanced-mode',
['off', 'on'])],
toggleBrowseActionKeys: ['Interface/Show keys in menu',
{browseMode: function(){
return this.config['browse-advanced-mode'] == 'off' && 'hidden' }},
core.makeConfigToggler(
'browse-actions-keys',
['on', 'off'],
@ -2955,6 +2966,7 @@ module.ContextActionMenu = core.ImageGridFeatures.Feature({
actions: actions.Actions({
showContextMenu: ['Interface/Show context menu...',
{browseMode: 'toggleBrowseActionKeys'},
uiDialog(function(){
return this.current ?
this.browseActions('/Image/')
@ -3097,12 +3109,15 @@ var ButtonsActions = actions.Actions({
},
toggleMainButtons: ['Interface/Main buttons',
{browseMode: 'toggleBrowseActionKeys'},
makeButtonControlsToggler('main-buttons')],
toggleSecondaryButtons: ['Interface/Secondary buttons',
{browseMode: 'toggleBrowseActionKeys'},
makeButtonControlsToggler('secondary-buttons')],
toggleAppButtons: ['Interface/App buttons',
{browseMode: 'toggleBrowseActionKeys'},
makeButtonControlsToggler('app-buttons')],
toggleSideButtons: ['Interface/99: Touch buttons',
toggleSideButtons: ['Interface/70: Touch buttons',
(function(){
var left = makeButtonControlsToggler('side-buttons-left')
var right = makeButtonControlsToggler('side-buttons-right')
@ -3115,7 +3130,8 @@ var ButtonsActions = actions.Actions({
})
})()],
toggleButtonHighlightColor: ['Interface/Button highlight color',
toggleButtonHighlightColor: ['Interface/Theme/Button highlight color',
{browseMode: 'toggleBrowseActionKeys'},
core.makeConfigToggler(
'button-highlight-color',
function(){ return this.config['button-highlight-colors'] },

View File

@ -361,6 +361,7 @@ module.ViewerActions = actions.Actions({
.centerImage(target)
.centerRibbon(target) }],
alignRibbons: ['Interface/Align ribbons',
{browseMode: 'toggleBrowseActionKeys'},
function(target, scale, now){
if(target == 'now'){
now = true
@ -391,6 +392,7 @@ module.ViewerActions = actions.Actions({
// XXX skip off-screen ribbons (???)
// XXX should the timeout be configurable???
alignByOrder: ['Interface/Align ribbons by image order',
{browseMode: 'toggleBrowseActionKeys'},
function(target, scale, now){
if(target == 'now'){
now = true
@ -455,6 +457,7 @@ module.ViewerActions = actions.Actions({
}
}],
alignByFirst: ['Interface/Align ribbons except current to first image',
{browseMode: 'toggleBrowseActionKeys'},
function(target){
target = target == 'now' ? null : target
@ -653,6 +656,7 @@ module.ViewerActions = actions.Actions({
// XXX make this play nice with crops...
// ...should this be a crop???
toggleRibbonList: ['Interface|Ribbon/Ribbons as images view',
{browseMode: 'toggleBrowseActionKeys'},
function(){
if(this._full_data == null){
// XXX do a better name here...
@ -693,6 +697,7 @@ module.ViewerActions = actions.Actions({
function(angle){ }],
toggleImageRendering: ['Interface/Image rendering',
{browseMode: 'toggleBrowseActionKeys'},
toggler.CSSClassToggler(
function(){ return this.dom },
['crisp-resize', 'default-resize'],
@ -931,6 +936,7 @@ module.Cursor = core.ImageGridFeatures.Feature({
actions: actions.Actions({
toggleHiddenCursor: ['Interface/Cursor hidden',
{browseMode: 'toggleBrowseActionKeys'},
toggler.CSSClassToggler(
function(){ return this.dom },
'cursor-hidden',
@ -1005,6 +1011,7 @@ module.Cursor = core.ImageGridFeatures.Feature({
// .config['cursor-show-threshold']
//
toggleAutoHideCursor: ['Interface/Cursor auto-hide',
{browseMode: 'toggleBrowseActionKeys'},
toggler.CSSClassToggler(
function(){ return this.dom },
'cursor-autohide',
@ -1120,11 +1127,13 @@ module.Cursor = core.ImageGridFeatures.Feature({
})],
toggleAutoHideCursorTimeout: ['Interface/Hide cursor on timeout',
{browseMode: 'toggleBrowseActionKeys'},
core.makeConfigToggler('cursor-autohide-on-timeout',
['on', 'off'],
function(){
this.toggleAutoHideCursor('!') })],
toggleAutoHideCursorKeyboard: ['Interface/Hide cursor on keyboard',
{browseMode: 'toggleBrowseActionKeys'},
core.makeConfigToggler('cursor-autohide-on-keyboard',
['on', 'off'],
function(){
@ -1215,6 +1224,7 @@ var ControlActions = actions.Actions({
from reaching the viewer.
NOTE: this defines the focus/blur handlers on the window object.`,
{browseMode: 'toggleBrowseActionKeys'},
core.makeConfigToggler('lock-unfocused',
['off', 'on'],
function(state){
@ -1368,6 +1378,7 @@ var ControlActions = actions.Actions({
// XXX depends on .ribbons...
// XXX uses: .focusImage(..)
toggleImageClickHandling: ['Interface/Image click handling',
{browseMode: 'toggleBrowseActionKeys'},
toggler.Toggler(null,
function(_, new_state){
return new_state ?
@ -1620,6 +1631,7 @@ var ControlActions = actions.Actions({
// XXX depends on .ribbons...
// XXX uses: .focusImage(..)
toggleRibbonPanHandling: ['Interface/Ribbon pan handling',
{browseMode: 'toggleBrowseActionKeys'},
toggler.Toggler(null,
function(_, new_state){
return new_state ?
@ -1859,6 +1871,7 @@ var ControlActions = actions.Actions({
// XXX depends on .ribbons...
// XXX uses: .focusImage(..)
toggleMouseWheelHandling: ['Interface/Mouse wheel handling',
{browseMode: 'toggleBrowseActionKeys'},
toggler.Toggler(null,
function(_, new_state){
return new_state ?
@ -1963,6 +1976,7 @@ var ControlActions = actions.Actions({
})],
togglePinchHandling: ['Interface/Pinch zoom handling',
{browseMode: 'toggleBrowseActionKeys'},
function(){
// XXX
}],
@ -1972,6 +1986,7 @@ var ControlActions = actions.Actions({
// ...allow ui features to control this...
// XXX depends on .ribbons...
toggleSwipeHandling: ['Interface/Swipe handling',
//{browseMode: 'toggleBrowseActionKeys'},
toggler.Toggler(null,
function(_, state){
return state ?

View File

@ -215,12 +215,6 @@
"delayed-stream": "~1.0.0"
}
},
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"optional": true
},
"concat-map": {
"version": "0.0.1",
"resolved": false,
@ -472,488 +466,6 @@
}
}
},
"flickrapi": {
"version": "0.3.36",
"resolved": "https://registry.npmjs.org/flickrapi/-/flickrapi-0.3.36.tgz",
"integrity": "sha1-gxLvkbxZ6Q1hcKPSuhmWAEXLyMg=",
"optional": true,
"requires": {
"async": "~0.2.10",
"glob": "~3.2.6",
"open": "0.0.x",
"progress": "1.1.4",
"prompt": "0.2.x",
"request": "2.26.x"
},
"dependencies": {
"asn1": {
"version": "0.1.11",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",
"integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=",
"optional": true
},
"assert-plus": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz",
"integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=",
"optional": true
},
"async": {
"version": "0.2.10",
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E="
},
"aws-sign": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz",
"integrity": "sha1-PYHKabR0seFlGHKLUcJP8Lvtxuk=",
"optional": true
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"optional": true
},
"boom": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz",
"integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=",
"requires": {
"hoek": "0.9.x"
}
},
"brace-expansion": {
"version": "1.1.8",
"resolved": "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"
}
},
"colors": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
"integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
"optional": true
},
"combined-stream": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
"integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=",
"optional": true,
"requires": {
"delayed-stream": "0.0.5"
}
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"optional": true
},
"cookie-jar": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz",
"integrity": "sha1-vJon1OK5fhhs1XyeIGPLmfpozMw=",
"optional": true
},
"cryptiles": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz",
"integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=",
"optional": true,
"requires": {
"boom": "0.4.x"
}
},
"ctype": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz",
"integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=",
"optional": true
},
"cycle": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
"integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=",
"optional": true
},
"delayed-stream": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz",
"integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=",
"optional": true
},
"eyes": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
"integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=",
"optional": true
},
"forever-agent": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz",
"integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=",
"optional": true
},
"form-data": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz",
"integrity": "sha1-kavXiKupcCsaq/qLwBAxoqyeOxI=",
"optional": true,
"requires": {
"async": "~0.9.0",
"combined-stream": "~0.0.4",
"mime": "~1.2.11"
},
"dependencies": {
"async": {
"version": "0.9.2",
"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"optional": true
}
}
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"optional": true
},
"glob": {
"version": "3.2.11",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
"integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
"optional": true,
"requires": {
"inherits": "2",
"minimatch": "0.3"
}
},
"hawk": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz",
"integrity": "sha1-uQuxaYByhUEdp//LjdJZhQLTtS0=",
"optional": true,
"requires": {
"boom": "0.4.x",
"cryptiles": "0.2.x",
"hoek": "0.9.x",
"sntp": "0.2.x"
}
},
"hoek": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz",
"integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU="
},
"http-signature": {
"version": "0.10.1",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",
"integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=",
"optional": true,
"requires": {
"asn1": "0.1.11",
"assert-plus": "^0.1.5",
"ctype": "0.5.3"
}
},
"i": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz",
"integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=",
"optional": true
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"optional": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"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=",
"optional": true
},
"lru-cache": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
"integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
"optional": true
},
"mime": {
"version": "1.2.11",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
"integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA="
},
"minimatch": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
"integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
"optional": true,
"requires": {
"lru-cache": "2",
"sigmund": "~1.0.0"
}
},
"minimist": {
"version": "0.0.8",
"resolved": "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",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"optional": true,
"requires": {
"minimist": "0.0.8"
}
},
"mute-stream": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
"integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
"optional": true
},
"ncp": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
"integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=",
"optional": true
},
"node-uuid": {
"version": "1.4.8",
"resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
"integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=",
"optional": true
},
"oauth-sign": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz",
"integrity": "sha1-y1QPk7srIqfVlBaRoojWDo6pOG4=",
"optional": true
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
}
},
"open": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz",
"integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=",
"optional": true
},
"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=",
"optional": true
},
"pkginfo": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz",
"integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=",
"optional": true
},
"progress": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/progress/-/progress-1.1.4.tgz",
"integrity": "sha1-eJ9XaRuIuCakObxS3JYgJF1gJVs=",
"optional": true
},
"prompt": {
"version": "0.2.14",
"resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz",
"integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=",
"optional": true,
"requires": {
"pkginfo": "0.x.x",
"read": "1.0.x",
"revalidator": "0.1.x",
"utile": "0.2.x",
"winston": "0.8.x"
}
},
"qs": {
"version": "0.6.6",
"resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz",
"integrity": "sha1-bgFQmP9RlouKPIGQAdXyyJvEsQc=",
"optional": true
},
"read": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
"integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=",
"optional": true,
"requires": {
"mute-stream": "~0.0.4"
}
},
"request": {
"version": "2.26.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.26.0.tgz",
"integrity": "sha1-ebAwdcusLiLr5Bqn/KiE6GnBwhI=",
"optional": true,
"requires": {
"aws-sign": "~0.3.0",
"cookie-jar": "~0.3.0",
"forever-agent": "~0.5.0",
"form-data": "~0.1.0",
"hawk": "~1.0.0",
"http-signature": "~0.10.0",
"json-stringify-safe": "~5.0.0",
"mime": "~1.2.9",
"node-uuid": "~1.4.0",
"oauth-sign": "~0.3.0",
"qs": "~0.6.0",
"tunnel-agent": "~0.3.0"
}
},
"revalidator": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz",
"integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=",
"optional": true
},
"rimraf": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
"optional": true,
"requires": {
"glob": "^7.0.5"
},
"dependencies": {
"glob": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
"optional": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
}
}
},
"sigmund": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
"integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
"optional": true
},
"sntp": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz",
"integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=",
"optional": true,
"requires": {
"hoek": "0.9.x"
}
},
"stack-trace": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
"integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
"optional": true
},
"tunnel-agent": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz",
"integrity": "sha1-rWgbaPUyGtKCfEz7G31d8s/pQu4=",
"optional": true
},
"utile": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz",
"integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=",
"optional": true,
"requires": {
"async": "~0.2.9",
"deep-equal": "*",
"i": "0.3.x",
"mkdirp": "0.x.x",
"ncp": "0.4.x",
"rimraf": "2.x.x"
},
"dependencies": {
"deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
"integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==",
"optional": true
}
}
},
"winston": {
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz",
"integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=",
"optional": true,
"requires": {
"async": "0.2.x",
"colors": "0.6.x",
"cycle": "1.0.x",
"eyes": "0.1.x",
"isstream": "0.1.x",
"pkginfo": "0.3.x",
"stack-trace": "0.0.x"
},
"dependencies": {
"pkginfo": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
"integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=",
"optional": true
}
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
}
}
},
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",

View File

@ -52,7 +52,9 @@
"react-dom": "^15.6.2"
},
"devDependencies": {
"less": "^3.10.3"
"less": "^3.10.3",
"asar": "*",
"electron-rebuild": "*"
},
"bin": {
"ig": "ig.js"