mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-28 18:00:09 +00:00
added .togglePersistent(..) + experimenting with special tags...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
a19391d085
commit
f89a4ce170
@ -98,7 +98,7 @@ module.CLI = core.ImageGridFeatures.Feature({
|
||||
actions: CLIActions,
|
||||
|
||||
handlers: [
|
||||
['start',
|
||||
['ready',
|
||||
function(){
|
||||
var that = this
|
||||
// get the arguments...
|
||||
@ -205,6 +205,8 @@ module.CLI = core.ImageGridFeatures.Feature({
|
||||
.option('repl, --repl', 'start an ImageGrid REPL', function(){
|
||||
var repl = nodeRequire('repl')
|
||||
|
||||
keep_running = true
|
||||
|
||||
// setup the global ns...
|
||||
global.ig =
|
||||
global.ImageGrid =
|
||||
@ -214,17 +216,21 @@ module.CLI = core.ImageGridFeatures.Feature({
|
||||
global.ImageGridFeatures = core.ImageGridFeatures
|
||||
|
||||
//var ig = core.ImageGridFeatures
|
||||
|
||||
repl
|
||||
.start({
|
||||
prompt: 'ig> ',
|
||||
|
||||
repl.start({
|
||||
prompt: 'ig> ',
|
||||
useGlobal: true,
|
||||
|
||||
useGlobal: true,
|
||||
input: process.stdin,
|
||||
output: process.stdout,
|
||||
|
||||
input: process.stdin,
|
||||
output: process.stdout,
|
||||
|
||||
//ignoreUndefined: true,
|
||||
})
|
||||
//ignoreUndefined: true,
|
||||
})
|
||||
.on('exit', function(){
|
||||
ig.stop()
|
||||
})
|
||||
})
|
||||
|
||||
// XXX this needs both a local/linked nwjs installed and an
|
||||
@ -270,9 +276,16 @@ module.CLI = core.ImageGridFeatures.Feature({
|
||||
.parse(argv)
|
||||
|
||||
|
||||
// XXX is this the right way to trigger state change
|
||||
// from within a state action...
|
||||
!keep_running
|
||||
&& this.stop()
|
||||
}]
|
||||
&& this.afterAction(function(){ process.exit() })
|
||||
}],
|
||||
/*
|
||||
['stop',
|
||||
function(){
|
||||
console.log('STOP') }],
|
||||
//*/
|
||||
],
|
||||
})
|
||||
|
||||
|
||||
@ -325,12 +325,12 @@ var LifeCycleActions = actions.Actions({
|
||||
return !!this.__ready },
|
||||
// XXX is this the right name for this???
|
||||
get runtimeState(){
|
||||
return this.isStarted() ?
|
||||
'started'
|
||||
: this.isStarted() ?
|
||||
return this.isStopped() ?
|
||||
'stopped'
|
||||
: this.isReady() ?
|
||||
'ready'
|
||||
: this.isStarted() ?
|
||||
'started'
|
||||
: undefined },
|
||||
|
||||
start: ['- System/',
|
||||
|
||||
@ -36,9 +36,9 @@ var ExampleActions = actions.Actions({
|
||||
// i.e. once defined it can't be overwritten...
|
||||
exampleAction: ['Test/Action',
|
||||
function(){
|
||||
console.log('>>>', [...arguments])
|
||||
console.log('>>>', ...arguments)
|
||||
return function(){
|
||||
console.log('<<<', [...arguments]) }}],
|
||||
console.log('<<<', ...arguments) }}],
|
||||
exampleActionFull: ['- Test/',
|
||||
core.doc`Example full action long documentation string
|
||||
`,
|
||||
@ -62,6 +62,22 @@ var ExampleActions = actions.Actions({
|
||||
exampleAliasDebounced: ['Test/',
|
||||
core.debounce(1000, 'exampleAction: ...')],
|
||||
|
||||
exampleAfterActionCall: ['Test/',
|
||||
function(){
|
||||
// schedule a call after the action is done...
|
||||
this.afterAction('local',
|
||||
function(){ console.log('exampleAfterActionCall: done.') })
|
||||
// schedule a call after the top action call...
|
||||
this.afterAction('top',
|
||||
function(){ console.log('exampleAfterActionCall: final done.') })
|
||||
}],
|
||||
exampleNestedAfterActionCall: ['Test/',
|
||||
function(){
|
||||
this.afterAction(function(){ console.log('exampleNestedAfterActionCall: done.') })
|
||||
|
||||
this.exampleAfterActionCall()
|
||||
}],
|
||||
|
||||
// a normal method...
|
||||
exampleMethod: function(){
|
||||
console.log('example method:', [...arguments])
|
||||
@ -284,7 +300,11 @@ module.Example = core.ImageGridFeatures.Feature({
|
||||
// XXX make this not applicable in production...
|
||||
|
||||
handlers: [
|
||||
['exampleAsyncAction.pre exampleSyncAction.pre',
|
||||
[[
|
||||
'exampleAsyncAction.pre',
|
||||
'exampleSyncAction.pre',
|
||||
'exampleAfterActionCall.pre',
|
||||
],
|
||||
function(){
|
||||
console.log('PRE')
|
||||
return function(){
|
||||
|
||||
@ -10,8 +10,6 @@
|
||||
|
||||
require('v8-compile-cache')
|
||||
// NOTE: this fixes several issues with lib/util conflicting with stuff...
|
||||
// XXX this might also pose some other issues within the repl, needs
|
||||
// testing...
|
||||
require('repl')
|
||||
|
||||
require('./cfg/requirejs')
|
||||
|
||||
@ -200,7 +200,7 @@ var TagsPrototype = {
|
||||
// data...
|
||||
//
|
||||
// Format:
|
||||
// [ <tag>, ... ]
|
||||
// Set([ <tag>, ... ])
|
||||
//
|
||||
// XXX Q: should these be normalized???
|
||||
__persistent_tags: null,
|
||||
@ -221,6 +221,43 @@ var TagsPrototype = {
|
||||
// }
|
||||
__index: null,
|
||||
|
||||
// XXX
|
||||
// XXX need a way to edit the compound tag...
|
||||
__special_tag_handlers__: {
|
||||
'*persistent*': function(action, tag, value){
|
||||
// XXX remove the tag...
|
||||
// XXX add the tag to .__persistent_tags
|
||||
// XXX return the new tag for normal handling...
|
||||
},
|
||||
},
|
||||
handleSpecialTag: function(action, tag, value){
|
||||
var that = this
|
||||
var handlers = this.__special_tag_handlers__ || {}
|
||||
|
||||
// get the matching handler key...
|
||||
var key = Object.keys(handlers)
|
||||
.filter(function(k){
|
||||
return that.match(k, tag) })
|
||||
// XXX should we handle multiple matches???
|
||||
.shift()
|
||||
|
||||
// resolve handler aliases...
|
||||
var match = key
|
||||
do {
|
||||
match = handlers[match]
|
||||
} while(!(match instanceof Function) && match in handlers)
|
||||
|
||||
// no handler...
|
||||
if(!(match instanceof Function)){
|
||||
// XXX
|
||||
return false
|
||||
}
|
||||
|
||||
// XXX remove key from tag...
|
||||
|
||||
return match.call(this, action, tag, value)
|
||||
},
|
||||
|
||||
|
||||
// Utils...
|
||||
//
|
||||
@ -298,6 +335,8 @@ var TagsPrototype = {
|
||||
//
|
||||
//
|
||||
// NOTE: this is not symmetric e.g. a will match a:b but not vice-versa.
|
||||
//
|
||||
// XXX BUG: /aaa matching...
|
||||
match: function(a, b, cmp){
|
||||
var that = this
|
||||
|
||||
@ -433,6 +472,28 @@ var TagsPrototype = {
|
||||
get length(){
|
||||
return this.values().length },
|
||||
|
||||
// Toggle a tag to persistent/non-persistent...
|
||||
//
|
||||
// A persistent is not removed when untagging a value.
|
||||
//
|
||||
// .togglePersistent(tag)
|
||||
// .togglePersistent(tag, tag, ...)
|
||||
// .togglePersistent([tag, tag, ...])
|
||||
// -> states
|
||||
//
|
||||
// .togglePersistent(tag, action)
|
||||
// .togglePersistent(tag, tag, ..., action)
|
||||
// .togglePersistent([tag, tag, ...], action)
|
||||
// -> states
|
||||
//
|
||||
//
|
||||
// action can be:
|
||||
// 'on' - toggle all tags on
|
||||
// 'off' - toggle all off
|
||||
// 'toggle' - toggle all depending on initial state
|
||||
// '?' - return list of states
|
||||
//
|
||||
//
|
||||
// XXX one way to play with this is to add a special tag to set/path
|
||||
// to make it persistent...
|
||||
// Example:
|
||||
@ -444,9 +505,27 @@ var TagsPrototype = {
|
||||
// We would need "virtual" tags for this, i.e. tags that are
|
||||
// not actually added to the index but are used for system
|
||||
// stuff...
|
||||
// XXX need a way to add/remove these...
|
||||
persistent: function(){
|
||||
// XXX
|
||||
togglePersistent: function(...tags){
|
||||
action = ['on', 'off', 'toggle', '?'].includes(tags[tags.length-1]) ?
|
||||
tags.pop()
|
||||
: 'toggle'
|
||||
tags = tags[0] instanceof Array && tags.length == 1 ? tags.pop() : tags
|
||||
|
||||
var persistent = this.__persistent_tags = this.__persistent_tags || new Set()
|
||||
|
||||
return tags
|
||||
.map(function(tag){
|
||||
return action == 'on' ?
|
||||
(persistent.add(tag), 'on')
|
||||
: action == 'off' ?
|
||||
(persistent.delete(tag), 'off')
|
||||
: action == 'toggle' ?
|
||||
(persistent.has(tag) ?
|
||||
(persistent.delete(tag), 'off')
|
||||
: (persistent.add(tag), 'on'))
|
||||
: (persistent.has(tag) ?
|
||||
'on'
|
||||
: 'off') })
|
||||
},
|
||||
|
||||
// XXX can these be faster???
|
||||
@ -517,7 +596,7 @@ var TagsPrototype = {
|
||||
// get all tags...
|
||||
} else {
|
||||
return Object.keys(this.__index || {})
|
||||
.concat((this.__persistent_tags || [])
|
||||
.concat([...(this.__persistent_tags || [])]
|
||||
.map(function(t){
|
||||
return that.normalizeTags(t) }))
|
||||
.unique()
|
||||
@ -1085,8 +1164,8 @@ var TagsPrototype = {
|
||||
&& (res.aliases = Object.assign({}, this.__aliases))
|
||||
|
||||
// persistent tags...
|
||||
this.__persistent_tags && this.__persistent_tags.length > 0
|
||||
&& (res.persistent = this.__persistent_tags.slice())
|
||||
this.__persistent_tags && this.__persistent_tags.size > 0
|
||||
&& (res.persistent = [...this.__persistent_tags])
|
||||
|
||||
// tags...
|
||||
res.tags = {}
|
||||
@ -1106,7 +1185,7 @@ var TagsPrototype = {
|
||||
|
||||
// persistent tags...
|
||||
json.persistent
|
||||
&& (this.__persistent_tags = json.persistent.slice())
|
||||
&& (this.__persistent_tags = new Set(json.persistent))
|
||||
|
||||
// tags...
|
||||
json.tags
|
||||
|
||||
192
ui (gen4)/package-lock.json
generated
192
ui (gen4)/package-lock.json
generated
@ -14,16 +14,16 @@
|
||||
}
|
||||
},
|
||||
"ajv": {
|
||||
"version": "5.5.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
|
||||
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
|
||||
"version": "6.6.1",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz",
|
||||
"integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"co": "^4.6.0",
|
||||
"fast-deep-equal": "^1.0.0",
|
||||
"fast-deep-equal": "^2.0.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.3.0"
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"app-module-path": {
|
||||
@ -156,13 +156,6 @@
|
||||
"integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
|
||||
"dev": true
|
||||
},
|
||||
"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
|
||||
},
|
||||
"color": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/color/-/color-1.0.3.tgz",
|
||||
@ -195,9 +188,9 @@
|
||||
}
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
|
||||
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
|
||||
"integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"delayed-stream": "~1.0.0"
|
||||
@ -311,6 +304,19 @@
|
||||
"klaw": "^2.1.0",
|
||||
"lodash": "^4.17.4",
|
||||
"uuid": "^3.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"fs-extra": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
|
||||
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.2",
|
||||
"jsonfile": "^4.0.0",
|
||||
"universalify": "^0.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"encoding": {
|
||||
@ -339,7 +345,7 @@
|
||||
},
|
||||
"es6-promisify": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
|
||||
"integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -388,9 +394,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
|
||||
"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
|
||||
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
@ -921,21 +927,21 @@
|
||||
"optional": true
|
||||
},
|
||||
"form-data": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
|
||||
"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
|
||||
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "1.0.6",
|
||||
"combined-stream": "^1.0.6",
|
||||
"mime-types": "^2.1.12"
|
||||
}
|
||||
},
|
||||
"fs-extra": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
|
||||
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
|
||||
"integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.2",
|
||||
"jsonfile": "^4.0.0",
|
||||
@ -1098,13 +1104,13 @@
|
||||
"optional": true
|
||||
},
|
||||
"har-validator": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
|
||||
"integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
|
||||
"version": "5.1.3",
|
||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
|
||||
"integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ajv": "^5.3.0",
|
||||
"ajv": "^6.5.5",
|
||||
"har-schema": "^2.0.0"
|
||||
}
|
||||
},
|
||||
@ -1149,9 +1155,9 @@
|
||||
"integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
|
||||
},
|
||||
"ig-actions": {
|
||||
"version": "3.21.1",
|
||||
"resolved": "https://registry.npmjs.org/ig-actions/-/ig-actions-3.21.1.tgz",
|
||||
"integrity": "sha512-Xkb8UefjCA6mZrgtIh41GDMfkWC3+QETwhcqYqEHfwLZQ/+340HbPvkOIq7W42OrwLHwS3pzI3n879L6zZesJA==",
|
||||
"version": "3.22.0",
|
||||
"resolved": "https://registry.npmjs.org/ig-actions/-/ig-actions-3.22.0.tgz",
|
||||
"integrity": "sha512-pyZpA/3tdXrfHUyWKq/tvOGjLDHqsPD/jaO7Jl2qRsfrCgmK6Tof/3POwl+O8j/W0wD3EH25xLitkR+Hvo9q/Q==",
|
||||
"requires": {
|
||||
"ig-object": "^1.0.7"
|
||||
}
|
||||
@ -1268,8 +1274,7 @@
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
|
||||
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"json-schema": {
|
||||
"version": "0.2.3",
|
||||
@ -1279,9 +1284,9 @@
|
||||
"optional": true
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
|
||||
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
@ -1331,9 +1336,9 @@
|
||||
}
|
||||
},
|
||||
"less": {
|
||||
"version": "3.8.1",
|
||||
"resolved": "https://registry.npmjs.org/less/-/less-3.8.1.tgz",
|
||||
"integrity": "sha512-8HFGuWmL3FhQR0aH89escFNBQH/nEiYPP2ltDFdQw2chE28Yx2E3lhAIq9Y2saYwLSwa699s4dBVEfCY8Drf7Q==",
|
||||
"version": "3.9.0",
|
||||
"resolved": "https://registry.npmjs.org/less/-/less-3.9.0.tgz",
|
||||
"integrity": "sha512-31CmtPEZraNUtuUREYjSqRkeETFdyEHSEPAGq4erDlUXtda7pzNmctdljdIagSb589d/qXGWiiP31R5JVf+v0w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"clone": "^2.1.2",
|
||||
@ -1374,18 +1379,18 @@
|
||||
"optional": true
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.35.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz",
|
||||
"integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==",
|
||||
"version": "1.37.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
|
||||
"integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
|
||||
"dev": true
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.19",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz",
|
||||
"integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==",
|
||||
"version": "2.1.21",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
|
||||
"integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"mime-db": "~1.35.0"
|
||||
"mime-db": "~1.37.0"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
@ -1522,9 +1527,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"progress": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz",
|
||||
"integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==",
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
|
||||
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
|
||||
"dev": true
|
||||
},
|
||||
"promise": {
|
||||
@ -1572,32 +1577,47 @@
|
||||
"optional": true
|
||||
},
|
||||
"punycode": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
|
||||
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
|
||||
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"puppeteer": {
|
||||
"version": "1.9.0",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.9.0.tgz",
|
||||
"integrity": "sha512-GH4PmhJf9wBRAPvtJkEJLAvdNNOofZortmBZSj8cGWYni98GUFqsf66blOEfJbo5B8l0KG5HR2d/W2MejnUrzg==",
|
||||
"version": "1.11.0",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.11.0.tgz",
|
||||
"integrity": "sha512-iG4iMOHixc2EpzqRV+pv7o3GgmU2dNYEMkvKwSaQO/vMZURakwSOn/EYJ6OIRFYOque1qorzIBvrytPIQB3YzQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"debug": "^3.1.0",
|
||||
"debug": "^4.1.0",
|
||||
"extract-zip": "^1.6.6",
|
||||
"https-proxy-agent": "^2.2.1",
|
||||
"mime": "^2.0.3",
|
||||
"progress": "^2.0.0",
|
||||
"progress": "^2.0.1",
|
||||
"proxy-from-env": "^1.0.0",
|
||||
"rimraf": "^2.6.1",
|
||||
"ws": "^5.1.1"
|
||||
"ws": "^6.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
|
||||
"integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"mime": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz",
|
||||
"integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==",
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz",
|
||||
"integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==",
|
||||
"dev": true
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
|
||||
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
@ -1636,7 +1656,7 @@
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -1777,9 +1797,9 @@
|
||||
"optional": true
|
||||
},
|
||||
"sshpk": {
|
||||
"version": "1.14.2",
|
||||
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
|
||||
"integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
|
||||
"version": "1.15.2",
|
||||
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
|
||||
"integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
@ -1796,7 +1816,7 @@
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
@ -1832,6 +1852,15 @@
|
||||
"requires": {
|
||||
"psl": "^1.1.24",
|
||||
"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": {
|
||||
@ -1846,8 +1875,7 @@
|
||||
"version": "0.14.5",
|
||||
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
|
||||
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"typedarray": {
|
||||
"version": "0.0.6",
|
||||
@ -1861,15 +1889,25 @@
|
||||
"integrity": "sha1-EQ1T+kw/MmwSEpK76skE0uAzh8o="
|
||||
},
|
||||
"universalify": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz",
|
||||
"integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc="
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
|
||||
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
|
||||
},
|
||||
"unzip-response": {
|
||||
"version": "2.0.1",
|
||||
"resolved": false,
|
||||
"integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c="
|
||||
},
|
||||
"uri-js": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
|
||||
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"punycode": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"url-parse-lax": {
|
||||
"version": "1.0.0",
|
||||
"resolved": false,
|
||||
@ -2045,9 +2083,9 @@
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||
},
|
||||
"ws": {
|
||||
"version": "5.2.2",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
|
||||
"integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
|
||||
"version": "6.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-6.1.2.tgz",
|
||||
"integrity": "sha512-rfUqzvz0WxmSXtJpPMX2EeASXabOrSMk1ruMOV3JBTBjo4ac2lDjGGsbQSyxj8Odhw5fBib8ZKEjDNvgouNKYw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"async-limiter": "~1.0.0"
|
||||
|
||||
@ -22,11 +22,11 @@
|
||||
"async-json": "0.0.2",
|
||||
"commander": "^2.19.0",
|
||||
"exiftool": "^0.0.3",
|
||||
"fs-extra": "*",
|
||||
"fs-extra": "^7.0.1",
|
||||
"fs-walk": "^0.0.1",
|
||||
"glob": "^4.0.6",
|
||||
"guarantee-events": "^1.0.0",
|
||||
"ig-actions": "^3.21.1",
|
||||
"ig-actions": "^3.22.0",
|
||||
"ig-features": "^3.3.4",
|
||||
"ig-object": "^1.0.7",
|
||||
"moment": "^2.22.2",
|
||||
@ -47,8 +47,8 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"electron-wix-msi": "^1.3.0",
|
||||
"less": "^3.8.1",
|
||||
"puppeteer": "^1.9.0"
|
||||
"less": "^3.9.0",
|
||||
"puppeteer": "^1.11.0"
|
||||
},
|
||||
"bin": {
|
||||
"ig": "ig.js"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user