aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorneauoire <[email protected]>2019-10-24 21:18:42 -0400
committerneauoire <[email protected]>2019-10-24 21:18:42 -0400
commit22e6fc0a43b1903ca64cfa9bb014f2b0a99593e5 (patch)
tree64593443185f862d0369b20fff5bb12d2c3c08c1
parent75a95e3ddfe3f3ff7d45e3f2cad5a332a108eb0d (diff)
downloadOrca-22e6fc0a43b1903ca64cfa9bb014f2b0a99593e5.tar.gz
Orca-22e6fc0a43b1903ca64cfa9bb014f2b0a99593e5.zip
Improved Midi controls
-rw-r--r--desktop/core/io/cc.js2
-rw-r--r--desktop/core/io/midi.js18
-rw-r--r--desktop/core/io/osc.js1
-rw-r--r--desktop/core/io/udp.js1
-rw-r--r--desktop/core/library.js24
-rw-r--r--desktop/core/library/_keys.js26
-rw-r--r--desktop/core/transpose.js104
-rw-r--r--desktop/main.js4
-rw-r--r--desktop/package-lock.json1396
-rw-r--r--desktop/package.json23
-rw-r--r--desktop/sources/index.html73
-rw-r--r--desktop/sources/scripts/clock.js18
-rw-r--r--desktop/sources/scripts/commander.js56
-rw-r--r--desktop/sources/scripts/cursor.js57
-rw-r--r--desktop/sources/scripts/history.js2
-rw-r--r--desktop/sources/scripts/lib/controller.js18
-rw-r--r--desktop/sources/scripts/lib/theme.js22
-rw-r--r--desktop/sources/scripts/source.js6
-rw-r--r--desktop/sources/scripts/terminal.js142
-rw-r--r--desktop/sources/scripts/timer.js2
20 files changed, 679 insertions, 1316 deletions
diff --git a/desktop/core/io/cc.js b/desktop/core/io/cc.js
index eba7f96..f617ea7 100644
--- a/desktop/core/io/cc.js
+++ b/desktop/core/io/cc.js
@@ -25,7 +25,7 @@ export default function MidiCC (terminal) {
} else if (msg.type === 'pg' && !isNaN(msg.channel)) {
if (!isNaN(msg.bank)) { device.send([0xb0 + msg.channel, 0, msg.bank]) }
if (!isNaN(msg.sub)) { device.send([0xb0 + msg.channel, 32, msg.sub]) }
- if (!isNaN(msg.pgm)) { device.send([0xc0 + msg.channel, msg.pgm ]) }
+ if (!isNaN(msg.pgm)) { device.send([0xc0 + msg.channel, msg.pgm]) }
} else {
console.warn('CC', 'Unknown message', msg)
}
diff --git a/desktop/core/io/midi.js b/desktop/core/io/midi.js
index 41bceba..b02ad5f 100644
--- a/desktop/core/io/midi.js
+++ b/desktop/core/io/midi.js
@@ -83,14 +83,14 @@ export default function Midi (terminal) {
this.update = () => {
terminal.controller.clearCat('default', 'Midi')
+ terminal.controller.add('default', 'Midi', 'Play/Pause Message', () => { this.toggleClock(true); this.update() }, 'shift+space')
terminal.controller.add('default', 'Midi', `MIDI Send Clock ${this.isClock === true ? ' — On' : ' — Off'}`, () => { this.toggleClock(); this.update() }, '')
-
- terminal.controller.add('default', 'Midi', `Refresh Device List`, () => { this.setup(); this.update() })
+ terminal.controller.add('default', 'Midi', 'Refresh Device List', () => { this.setup(); this.update() })
terminal.controller.addSpacer('default', 'Midi', 'spacer1')
// Outputs
if (this.outputs.length < 1) {
- terminal.controller.add('default', 'Midi', `No Midi Outputs`)
+ terminal.controller.add('default', 'Midi', 'No Midi Outputs')
} else {
for (const id in this.outputs) {
terminal.controller.add('default', 'Midi', `${this.outputs[id].name} Output ${this.outputIndex === parseInt(id) ? ' — Active' : ''}`, () => { this.selectOutput(id) }, '')
@@ -101,7 +101,7 @@ export default function Midi (terminal) {
// Inputs
if (this.inputs.length < 1) {
- terminal.controller.add('default', 'Midi', `No Midi Inputs`)
+ terminal.controller.add('default', 'Midi', 'No Midi Inputs')
} else {
for (const id in this.inputs) {
terminal.controller.add('default', 'Midi', `${this.inputs[id].name} Input ${this.inputIndex === parseInt(id) ? ' — Active' : ''}`, () => { this.selectInput(id) }, '')
@@ -123,9 +123,9 @@ export default function Midi (terminal) {
}
this.allNotesOff = function () {
- if (!this.outputDevice()) { return }
- console.log('MIDI', 'All Notes Off')
- for (let chan = 0; chan < 16; chan++) {
+ if (!this.outputDevice()) { return }
+ console.log('MIDI', 'All Notes Off')
+ for (let chan = 0; chan < 16; chan++) {
this.outputDevice().send([0xB0 + chan, 123, 0])
}
}
@@ -204,7 +204,7 @@ export default function Midi (terminal) {
// Tools
this.selectOutput = function (id) {
- if (id === -1) { this.outputIndex = -1; console.log('MIDI', `Select Output Device: None`); this.update(); return }
+ if (id === -1) { this.outputIndex = -1; console.log('MIDI', 'Select Output Device: None'); this.update(); return }
if (!this.outputs[id]) { return }
this.outputIndex = parseInt(id)
@@ -214,7 +214,7 @@ export default function Midi (terminal) {
this.selectInput = function (id) {
if (this.inputDevice()) { this.inputDevice().onmidimessage = null }
- if (id === -1) { this.inputIndex = -1; console.log('MIDI', `Select Input Device: None`); this.update(); return }
+ if (id === -1) { this.inputIndex = -1; console.log('MIDI', 'Select Input Device: None'); this.update(); return }
if (!this.inputs[id]) { return }
this.inputIndex = parseInt(id)
diff --git a/desktop/core/io/osc.js b/desktop/core/io/osc.js
index 1e5e107..4409158 100644
--- a/desktop/core/io/osc.js
+++ b/desktop/core/io/osc.js
@@ -53,6 +53,7 @@ export default function Osc (terminal) {
for (const id in this.options) {
terminal.controller.add('default', 'OSC', `${id.charAt(0).toUpperCase() + id.substr(1)}(${this.options[id]}) ${this.port === this.options[id] ? ' — Active' : ''}`, () => { this.select(this.options[id]) }, '')
}
+ terminal.controller.add('default', 'OSC', 'Choose Custom Port', () => { terminal.commander.start('osc:') }, '')
terminal.controller.commit()
}
diff --git a/desktop/core/io/udp.js b/desktop/core/io/udp.js
index 0a78175..f438ac5 100644
--- a/desktop/core/io/udp.js
+++ b/desktop/core/io/udp.js
@@ -45,6 +45,7 @@ export default function Udp (terminal) {
for (const id in this.options) {
terminal.controller.add('default', 'UDP', `${id.charAt(0).toUpperCase() + id.substr(1)}(${this.options[id]}) ${this.port === this.options[id] ? ' — Active' : ''}`, () => { terminal.io.udp.select(this.options[id]) }, '')
}
+ terminal.controller.add('default', 'UDP', 'Choose Custom Port', () => { terminal.commander.start('udp:') }, '')
terminal.controller.commit()
}
diff --git a/desktop/core/library.js b/desktop/core/library.js
index 264863f..4eb92e0 100644
--- a/desktop/core/library.js
+++ b/desktop/core/library.js
@@ -31,7 +31,6 @@ import _bang from './library/_bang.js'
import _comment from './library/_comment.js'
import _midi from './library/_midi.js'
import _mono from './library/_mono.js'
-import _keys from './library/_keys.js'
import _cc from './library/_cc.js'
import _pb from './library/_pb.js'
import _udp from './library/_udp.js'
@@ -39,16 +38,16 @@ import _osc from './library/_osc.js'
import _self from './library/_self.js'
export default {
- '0': _null,
- '1': _null,
- '2': _null,
- '3': _null,
- '4': _null,
- '5': _null,
- '6': _null,
- '7': _null,
- '8': _null,
- '9': _null,
+ 0: _null,
+ 1: _null,
+ 2: _null,
+ 3: _null,
+ 4: _null,
+ 5: _null,
+ 6: _null,
+ 7: _null,
+ 8: _null,
+ 9: _null,
a,
b,
c,
@@ -79,10 +78,9 @@ export default {
'#': _comment,
':': _midi,
'%': _mono,
- '&': _keys,
'!': _cc,
'?': _pb,
';': _udp,
'=': _osc,
- '$': _self
+ $: _self
}
diff --git a/desktop/core/library/_keys.js b/desktop/core/library/_keys.js
deleted file mode 100644
index 634670c..0000000
--- a/desktop/core/library/_keys.js
+++ /dev/null
@@ -1,26 +0,0 @@
-'use strict'
-
-import Operator from '../operator.js'
-
-export default function OperatorKeys (orca, x, y, passive) {
- Operator.call(this, orca, x, y, '&', true)
-
- this.name = 'keys'
- this.info = 'Receive MIDI note'
-
- this.ports.channel = { x: 1, y: 0, clamp: { min: 0, max: 16 }, default: '0' }
- this.ports.output = { x: 0, y: 1 }
-
- this.operation = function (force = false) {
- const channel = this.listen(this.ports.channel, true)
-
- const id = terminal.io.midi.keys[channel]
-
- if (force === true) {
- terminal.io.mono.run()
- }
- this.draw = false
-
- return id ? terminal.io.midi.convert(id) : '.'
- }
-}
diff --git a/desktop/core/transpose.js b/desktop/core/transpose.js
index 2e0d0ac..448fc38 100644
--- a/desktop/core/transpose.js
+++ b/desktop/core/transpose.js
@@ -1,58 +1,58 @@
'use strict'
export default {
- 'A': 'A0',
- 'a': 'a0',
- 'B': 'B0',
- 'C': 'C0',
- 'c': 'c0',
- 'D': 'D0',
- 'd': 'd0',
- 'E': 'E0',
- 'F': 'F0',
- 'f': 'f0',
- 'G': 'G0',
- 'g': 'g0',
- 'H': 'A0',
- 'h': 'a0',
- 'I': 'B0',
- 'J': 'C1',
- 'j': 'c1',
- 'K': 'D1',
- 'k': 'd1',
- 'L': 'E1',
- 'M': 'F1',
- 'm': 'f1',
- 'N': 'G1',
- 'n': 'g1',
- 'O': 'A1',
- 'o': 'a1',
- 'P': 'B1',
- 'Q': 'C2',
- 'q': 'c2',
- 'R': 'D2',
- 'r': 'd2',
- 'S': 'E2',
- 'T': 'F2',
- 't': 'f2',
- 'U': 'G2',
- 'u': 'g2',
- 'V': 'A2',
- 'v': 'a2',
- 'W': 'B2',
- 'X': 'C3',
- 'x': 'c3',
- 'Y': 'D3',
- 'y': 'd3',
- 'Z': 'E3',
+ A: 'A0',
+ a: 'a0',
+ B: 'B0',
+ C: 'C0',
+ c: 'c0',
+ D: 'D0',
+ d: 'd0',
+ E: 'E0',
+ F: 'F0',
+ f: 'f0',
+ G: 'G0',
+ g: 'g0',
+ H: 'A0',
+ h: 'a0',
+ I: 'B0',
+ J: 'C1',
+ j: 'c1',
+ K: 'D1',
+ k: 'd1',
+ L: 'E1',
+ M: 'F1',
+ m: 'f1',
+ N: 'G1',
+ n: 'g1',
+ O: 'A1',
+ o: 'a1',
+ P: 'B1',
+ Q: 'C2',
+ q: 'c2',
+ R: 'D2',
+ r: 'd2',
+ S: 'E2',
+ T: 'F2',
+ t: 'f2',
+ U: 'G2',
+ u: 'g2',
+ V: 'A2',
+ v: 'a2',
+ W: 'B2',
+ X: 'C3',
+ x: 'c3',
+ Y: 'D3',
+ y: 'd3',
+ Z: 'E3',
// Catch e
- 'e': 'F0',
- 'l': 'F1',
- 's': 'F2',
- 'z': 'F3',
+ e: 'F0',
+ l: 'F1',
+ s: 'F2',
+ z: 'F3',
// Catch b
- 'b': 'C1',
- 'i': 'C1',
- 'p': 'C2',
- 'w': 'C3'
+ b: 'C1',
+ i: 'C1',
+ p: 'C2',
+ w: 'C3'
}
diff --git a/desktop/main.js b/desktop/main.js
index 7740460..b0017b6 100644
--- a/desktop/main.js
+++ b/desktop/main.js
@@ -7,8 +7,8 @@ require('electron').protocol.registerSchemesAsPrivileged([
function protocolHandler (request, respond) {
try {
- let pathname = request.url.replace(/^js:\/*/, '')
- let filename = path.resolve(app.getAppPath(), pathname)
+ const pathname = request.url.replace(/^js:\/*/, '')
+ const filename = path.resolve(app.getAppPath(), pathname)
respond({ mimeType: 'text/javascript', data: require('fs').readFileSync(filename) })
} catch (e) {
console.error(e, request)
diff --git a/desktop/package-lock.json b/desktop/package-lock.json
index 5e7b305..8f58455 100644
--- a/desktop/package-lock.json
+++ b/desktop/package-lock.json
@@ -4,99 +4,62 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
- "@types/node": {
- "version": "10.14.18",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.18.tgz",
- "integrity": "sha512-ryO3Q3++yZC/+b8j8BdKd/dn9JlzlHBPdm80656xwYUdmPkpTGTjkAdt6BByiNupGPE8w0FhBgvYy/fX9hRNGQ==",
- "dev": true
- },
- "ajv": {
- "version": "6.10.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
- "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
+ "@electron/get": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.5.0.tgz",
+ "integrity": "sha512-tafxBz6n08G6SX961F/h8XFtpB/DdwRvJJoDeOH9x78jDSCMQ2G/rRWqSwLFp9oeMFBJf0Pf5Kkw6TKt5w9TWg==",
"dev": true,
"requires": {
- "fast-deep-equal": "^2.0.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
+ "debug": "^4.1.1",
+ "env-paths": "^2.2.0",
+ "fs-extra": "^8.1.0",
+ "got": "^9.6.0",
+ "sanitize-filename": "^1.6.2",
+ "sumchecker": "^3.0.0"
}
},
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "@sindresorhus/is": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
+ "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
"dev": true
},
- "array-find-index": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "@szmarczak/http-timer": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
+ "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
+ "dev": true,
+ "requires": {
+ "defer-to-connect": "^1.0.1"
+ }
+ },
+ "@types/node": {
+ "version": "12.11.7",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.11.7.tgz",
+ "integrity": "sha512-JNbGaHFCLwgHn/iCckiGSOZ1XYHsKFwREtzPwSGCVld1SGhOlmZw2D4ZI94HQCrBHbADzW9m4LER/8olJTRGHA==",
"dev": true
},
"asar": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/asar/-/asar-1.0.0.tgz",
- "integrity": "sha512-MBiDU5cDr9UWuY2F0zq2fZlnyRq1aOPmJGMas22Qa14K1odpRXL3xkMHPN3uw2hAK5mD89Q+/KidOUtpi4V0Cg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/asar/-/asar-2.0.1.tgz",
+ "integrity": "sha512-Vo9yTuUtyFahkVMFaI6uMuX6N7k5DWa6a/8+7ov0/f8Lq9TVR0tUjzSzxQSxT1Y+RJIZgnP7BVb6Uhi+9cjxqA==",
"dev": true,
"requires": {
"chromium-pickle-js": "^0.2.0",
- "commander": "^2.19.0",
+ "commander": "^2.20.0",
"cuint": "^0.2.2",
"glob": "^7.1.3",
"minimatch": "^3.0.4",
"mkdirp": "^0.5.1",
- "pify": "^4.0.1",
"tmp-promise": "^1.0.5"
- },
- "dependencies": {
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- }
}
},
- "asn1": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
- "dev": true,
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
- },
"author-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz",
"integrity": "sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA=",
"dev": true
},
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true
- },
- "aws4": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
- "dev": true
- },
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
@@ -104,29 +67,20 @@
"dev": true
},
"base64-js": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
- "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
+ "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
"dev": true
},
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
- "dev": true,
- "requires": {
- "tweetnacl": "^0.14.3"
- }
- },
"binpack": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/binpack/-/binpack-0.1.0.tgz",
"integrity": "sha1-vT0JdMPyoERuF99PYLVacqIFqX4="
},
"bluebird": {
- "version": "3.5.4",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz",
- "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==",
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz",
+ "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==",
"dev": true
},
"brace-expansion": {
@@ -167,26 +121,42 @@
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
"dev": true
},
- "camelcase": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
- "dev": true
- },
- "camelcase-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
- "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "cacheable-request": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
+ "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
"dev": true,
"requires": {
- "camelcase": "^2.0.0",
- "map-obj": "^1.0.0"
+ "clone-response": "^1.0.2",
+ "get-stream": "^5.1.0",
+ "http-cache-semantics": "^4.0.0",
+ "keyv": "^3.0.0",
+ "lowercase-keys": "^2.0.0",
+ "normalize-url": "^4.1.0",
+ "responselike": "^1.0.2"
+ },
+ "dependencies": {
+ "get-stream": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+ "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "dev": true
+ }
}
},
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true
},
"chromium-pickle-js": {
@@ -195,25 +165,19 @@
"integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=",
"dev": true
},
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "dev": true
- },
- "combined-stream": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
- "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
+ "clone-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
+ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
"dev": true,
"requires": {
- "delayed-stream": "~1.0.0"
+ "mimic-response": "^1.0.0"
}
},
"commander": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
- "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
+ "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==",
"dev": true
},
"compare-version": {
@@ -238,38 +202,6 @@
"inherits": "^2.0.3",
"readable-stream": "^2.2.2",
"typedarray": "^0.0.6"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
}
},
"core-util-is": {
@@ -278,34 +210,36 @@
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true
},
+ "cross-zip": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/cross-zip/-/cross-zip-2.1.6.tgz",
+ "integrity": "sha512-xLIETNkzRcU6jGRzenJyRFxahbtP4628xEKMTI/Ql0Vu8m4h8M7uRLVi7E5OYHuJ6VQPsG4icJumKAFUvfm0+A==",
+ "dev": true,
+ "requires": {
+ "rimraf": "^3.0.0"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz",
+ "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
"cuint": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz",
"integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=",
"dev": true
},
- "currently-unhandled": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
- "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
- "dev": true,
- "requires": {
- "array-find-index": "^1.0.1"
- }
- },
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
"debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
"ms": "^2.1.1"
@@ -317,92 +251,52 @@
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true
},
- "deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true
- },
- "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
- },
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "decompress-response": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
+ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
"dev": true,
"requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
+ "mimic-response": "^1.0.0"
}
},
+ "defer-to-connect": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz",
+ "integrity": "sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==",
+ "dev": true
+ },
+ "duplexer3": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
+ "dev": true
+ },
"electron": {
- "version": "5.0.10",
- "resolved": "https://registry.npmjs.org/electron/-/electron-5.0.10.tgz",
- "integrity": "sha512-OSyxTlJ+7Yf0B+6pTdHdxY9RvI4U+mVKAbn+CkAOWxlCPMg3K+jt5UHKSPRRLnXQhQ0Tulg4vupbC0k27aukVw==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-7.0.0.tgz",
+ "integrity": "sha512-vrF1loRW1p0vQCbduqO0EZpo8ePJOuxUT6tSoUSU3lsbGK3VnlJop+0PpCIPzbe2K4G4Gk7WexH08V9se7mJcA==",
"dev": true,
"requires": {
- "@types/node": "^10.12.18",
- "electron-download": "^4.1.0",
+ "@electron/get": "^1.0.1",
+ "@types/node": "^12.0.12",
"extract-zip": "^1.0.3"
}
},
- "electron-download": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-4.1.1.tgz",
- "integrity": "sha512-FjEWG9Jb/ppK/2zToP+U5dds114fM1ZOJqMAR4aXXL5CvyPE9fiqBK/9YcwC9poIFQTEJk/EM/zyRwziziRZrg==",
- "dev": true,
- "requires": {
- "debug": "^3.0.0",
- "env-paths": "^1.0.0",
- "fs-extra": "^4.0.1",
- "minimist": "^1.2.0",
- "nugget": "^2.0.1",
- "path-exists": "^3.0.0",
- "rc": "^1.2.1",
- "semver": "^5.4.1",
- "sumchecker": "^2.0.2"
- }
- },
"electron-notarize": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-0.0.5.tgz",
- "integrity": "sha512-YzrqZ6RDQ7Wt2RWlxzRoQUuxnTeXrfp7laH7XKcmQqrZ6GaAr50DMPvFMpqDKdrZSHSbcgZgB7ktIQbjvITmCQ==",
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-0.1.1.tgz",
+ "integrity": "sha512-TpKfJcz4LXl5jiGvZTs5fbEx+wUFXV5u8voeG5WCHWfY/cdgdD8lDZIZRqLVOtR3VO+drgJ9aiSHIO9TYn/fKg==",
"dev": true,
"requires": {
- "debug": "^4.1.0",
- "fs-extra": "^7.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- }
+ "debug": "^4.1.1",
+ "fs-extra": "^8.0.1"
}
},
"electron-osx-sign": {
- "version": "0.4.11",
- "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.11.tgz",
- "integrity": "sha512-VVd40nrnVqymvFrY9ZkOYgHJOvexHHYTR3di/SN+mjJ0OWhR1I8BRVj3U+Yamw6hnkZZNKZp52rqL5EFAAPFkQ==",
+ "version": "0.4.14",
+ "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.14.tgz",
+ "integrity": "sha512-72vtrz9I3dOeFDaNvO5thwIjrimDiXMmYEbN0hEBqnvcSSMOWugjim2wiY9ox3dhuBFUhxp3owmuZCoH3Ij08A==",
"dev": true,
"requires": {
"bluebird": "^3.5.0",
@@ -422,6 +316,12 @@
"ms": "2.0.0"
}
},
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ },
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -431,62 +331,43 @@
}
},
"electron-packager": {
- "version": "13.1.1",
- "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-13.1.1.tgz",
- "integrity": "sha512-3Drgcw8OEOP3Psw/PprloAFJSkSUSQgjUq3AmWffJGB3Kj5WXmZl6A3GOUs8aT7bP/8GWg4oYqSiCSnA5PQkdQ==",
+ "version": "14.0.6",
+ "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-14.0.6.tgz",
+ "integrity": "sha512-X+ikV+TnnNkIrK93vOjsjPeykCQBFxBS7LXKMTE1s62rXWirGMdjWL+edVkBOMRkH0ROJyFmWM28Dpj6sfEg+A==",
"dev": true,
"requires": {
- "asar": "^1.0.0",
+ "@electron/get": "^1.3.0",
+ "asar": "^2.0.1",
+ "cross-zip": "^2.1.5",
"debug": "^4.0.1",
- "electron-download": "^4.1.1",
- "electron-notarize": "^0.0.5",
+ "electron-notarize": "^0.1.1",
"electron-osx-sign": "^0.4.11",
- "extract-zip": "^1.0.3",
- "fs-extra": "^7.0.0",
+ "fs-extra": "^8.1.0",
"galactus": "^0.2.1",
"get-package-info": "^1.0.0",
+ "junk": "^3.1.0",
"parse-author": "^2.0.0",
- "pify": "^4.0.0",
"plist": "^3.0.0",
- "rcedit": "^1.0.0",
+ "rcedit": "^2.0.0",
"resolve": "^1.1.6",
"sanitize-filename": "^1.6.0",
- "semver": "^5.3.0",
+ "semver": "^6.0.0",
"yargs-parser": "^13.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- }
+ }
+ },
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
}
},
"env-paths": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz",
- "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz",
+ "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==",
"dev": true
},
"error-ex": {
@@ -498,12 +379,6 @@
"is-arrayish": "^0.2.1"
}
},
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
"extract-zip": {
"version": "1.6.7",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
@@ -533,24 +408,6 @@
}
}
},
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true
- },
- "fast-deep-equal": {
- "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
- },
- "fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
- "dev": true
- },
"fd-slicer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
@@ -561,60 +418,44 @@
}
},
"find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
+ "flora-colossus": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.1.tgz",
+ "integrity": "sha512-d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==",
"dev": true,
"requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
+ "debug": "^4.1.1",
+ "fs-extra": "^7.0.0"
},
"dependencies": {
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
"dev": true,
"requires": {
- "pinkie-promise": "^2.0.0"
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
}
}
}
},
- "flora-colossus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.0.tgz",
- "integrity": "sha1-VHKcNh7ezuAU3UQWeeGjfB13OkU=",
- "dev": true,
- "requires": {
- "debug": "^3.1.0",
- "fs-extra": "^4.0.0"
- }
- },
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true
- },
- "form-data": {
- "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,
- "requires": {
- "asynckit": "^0.4.0",
- "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": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
+ "graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
@@ -634,6 +475,28 @@
"debug": "^3.1.0",
"flora-colossus": "^1.0.0",
"fs-extra": "^4.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "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"
+ }
+ }
}
},
"get-package-info": {
@@ -657,90 +520,27 @@
"ms": "2.0.0"
}
},
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "requires": {
- "locate-path": "^2.0.0"
- }
- },
- "load-json-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
- "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "strip-bom": "^3.0.0"
- }
- },
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
- },
- "path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "dev": true,
- "requires": {
- "pify": "^2.0.0"
- }
- },
- "read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "dev": true,
- "requires": {
- "load-json-file": "^2.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^2.0.0"
- }
- },
- "read-pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
- "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "dev": true,
- "requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^2.0.0"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "dev": true
}
}
},
- "get-stdin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
- "dev": true
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
"dev": true,
"requires": {
- "assert-plus": "^1.0.0"
+ "pump": "^3.0.0"
}
},
"glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+ "version": "7.1.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz",
+ "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
@@ -751,53 +551,42 @@
"path-is-absolute": "^1.0.0"
}
},
- "graceful-fs": {
- "version": "4.1.15",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
- "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
- "dev": true
- },
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true
- },
- "har-validator": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+ "got": {
+ "version": "9.6.0",
+ "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
+ "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
"dev": true,
"requires": {
- "ajv": "^6.5.5",
- "har-schema": "^2.0.0"
+ "@sindresorhus/is": "^0.14.0",
+ "@szmarczak/http-timer": "^1.1.2",
+ "cacheable-request": "^6.0.0",
+ "decompress-response": "^3.3.0",
+ "duplexer3": "^0.1.4",
+ "get-stream": "^4.1.0",
+ "lowercase-keys": "^1.0.1",
+ "mimic-response": "^1.0.1",
+ "p-cancelable": "^1.0.0",
+ "to-readable-stream": "^1.0.0",
+ "url-parse-lax": "^3.0.0"
}
},
- "hosted-git-info": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
- "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
+ "graceful-fs": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
+ "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
"dev": true
},
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
+ "hosted-git-info": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz",
+ "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==",
+ "dev": true
},
- "indent-string": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
- "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
- "dev": true,
- "requires": {
- "repeating": "^2.0.0"
- }
+ "http-cache-semantics": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz",
+ "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==",
+ "dev": true
},
"inflight": {
"version": "1.0.6",
@@ -810,15 +599,9 @@
}
},
"inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
- },
- "ini": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
"is-arrayish": {
@@ -827,40 +610,10 @@
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
"dev": true
},
- "is-finite": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
- "is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
- "dev": true
- },
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"isbinaryfile": {
@@ -872,34 +625,10 @@
"buffer-alloc": "^1.2.0"
}
},
- "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
- },
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true
- },
- "json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
- },
- "json-schema-traverse": {
- "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
- },
- "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=",
+ "json-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
+ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
"dev": true
},
"jsonfile": {
@@ -916,29 +645,31 @@
"resolved": "https://registry.npmjs.org/jspack/-/jspack-0.0.4.tgz",
"integrity": "sha1-Mt01x/3LPjRWwY+7fvntC8YjgXc="
},
- "jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "junk": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
+ "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==",
+ "dev": true
+ },
+ "keyv": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
+ "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
"dev": true,
"requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
+ "json-buffer": "3.0.0"
}
},
"load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"parse-json": "^2.2.0",
"pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
+ "strip-bom": "^3.0.0"
}
},
"locate-path": {
@@ -957,55 +688,18 @@
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
"dev": true
},
- "loud-rejection": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
- "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
- "dev": true,
- "requires": {
- "currently-unhandled": "^0.4.1",
- "signal-exit": "^3.0.0"
- }
- },
- "map-obj": {
+ "lowercase-keys": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
"dev": true
},
- "meow": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
- "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
- "dev": true,
- "requires": {
- "camelcase-keys": "^2.0.0",
- "decamelize": "^1.1.2",
- "loud-rejection": "^1.0.0",
- "map-obj": "^1.0.1",
- "minimist": "^1.1.3",
- "normalize-package-data": "^2.3.4",
- "object-assign": "^4.0.1",
- "read-pkg-up": "^1.0.1",
- "redent": "^1.0.0",
- "trim-newlines": "^1.0.0"
- }
- },
- "mime-db": {
- "version": "1.40.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
- "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
+ "mimic-response": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
"dev": true
},
- "mime-types": {
- "version": "2.1.24",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
- "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
- "dev": true,
- "requires": {
- "mime-db": "1.40.0"
- }
- },
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@@ -1016,9 +710,9 @@
}
},
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true
},
"mkdirp": {
@@ -1028,26 +722,18 @@
"dev": true,
"requires": {
"minimist": "0.0.8"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "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==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
"node-osc": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/node-osc/-/node-osc-4.1.1.tgz",
- "integrity": "sha512-8kZ6Ey8MYhJd4LOKMoHsSkvN2jXODm0Q3tHODLpfWGHkjYRpUAHfbRjlt8G7dv2PHdDUokEnGv2GnDQIgTsYIw==",
+ "integrity": "sha1-S8dGwy/Z0vhMMoOExjtmiKxM+BI=",
"requires": {
"jspack": "0.0.4",
"osc-min": "^1.1.1"
@@ -1063,62 +749,20 @@
"resolve": "^1.10.0",
"semver": "2 || 3 || 4 || 5",
"validate-npm-package-license": "^3.0.1"
- }
- },
- "nugget": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz",
- "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=",
- "dev": true,
- "requires": {
- "debug": "^2.1.3",
- "minimist": "^1.1.0",
- "pretty-bytes": "^1.0.2",
- "progress-stream": "^1.1.0",
- "request": "^2.45.0",
- "single-line-log": "^1.1.2",
- "throttleit": "0.0.2"
},
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
}
}
},
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "dev": true
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
- },
- "object-keys": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
- "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=",
+ "normalize-url": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
+ "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==",
"dev": true
},
"once": {
@@ -1130,12 +774,6 @@
"wrappy": "1"
}
},
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
- "dev": true
- },
"osc-min": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/osc-min/-/osc-min-1.1.1.tgz",
@@ -1144,6 +782,12 @@
"binpack": "~0"
}
},
+ "p-cancelable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
+ "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
+ "dev": true
+ },
"p-limit": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
@@ -1205,14 +849,12 @@
"dev": true
},
"path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
+ "pify": "^2.0.0"
}
},
"pend": {
@@ -1221,33 +863,12 @@
"integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
"dev": true
},
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true
- },
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
- "requires": {
- "pinkie": "^2.0.0"
- }
- },
"plist": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
@@ -1259,155 +880,95 @@
"xmldom": "0.1.x"
}
},
- "pretty-bytes": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
- "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=",
- "dev": true,
- "requires": {
- "get-stdin": "^4.0.1",
- "meow": "^3.1.0"
- }
- },
- "process-nextick-args": {
+ "prepend-http": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
- "progress-stream": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz",
- "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=",
- "dev": true,
- "requires": {
- "speedometer": "~0.1.2",
- "through2": "~0.2.3"
- }
- },
- "psl": {
- "version": "1.1.31",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
- "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==",
- "dev": true
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
"dev": true
},
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
"dev": true
},
- "rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"dev": true,
"requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
}
},
"rcedit": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-1.1.2.tgz",
- "integrity": "sha512-z2ypB4gbINhI6wVe0JJMmdpmOpmNc4g90sE6/6JSuch5kYnjfz9CxvVPqqhShgR6GIkmtW3W2UlfiXhWljA0Fw==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-2.0.0.tgz",
+ "integrity": "sha512-XcFGyEBjhWSsud+R8elwQtGBbVkCf7tAiad+nXo5jc6l2rMf46NfGNwjnmBNneBIZDfq+Npf8lwP371JTONfrw==",
"dev": true
},
"read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
"dev": true,
"requires": {
- "load-json-file": "^1.0.0",
+ "load-json-file": "^2.0.0",
"normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
+ "path-type": "^2.0.0"
}
},
"read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
"dev": true,
"requires": {
- "find-up": "^1.0.0",
- "read-pkg": "^1.0.0"
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
}
},
"readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "redent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
- "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
- "dev": true,
- "requires": {
- "indent-string": "^2.1.0",
- "strip-indent": "^1.0.1"
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
}
},
- "repeating": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "resolve": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
+ "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
"dev": true,
"requires": {
- "is-finite": "^1.0.0"
+ "path-parse": "^1.0.6"
}
},
- "request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+ "responselike": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
+ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
"dev": true,
"requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.0",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
+ "lowercase-keys": "^1.0.0"
}
},
- "resolve": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz",
- "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==",
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
"dev": true,
"requires": {
- "path-parse": "^1.0.6"
+ "glob": "^7.1.3"
}
},
"safe-buffer": {
@@ -1416,42 +977,21 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
"sanitize-filename": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz",
- "integrity": "sha1-YS2hyWRz+gLczaktzVtKsWSmdyo=",
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz",
+ "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==",
"dev": true,
"requires": {
"truncate-utf8-bytes": "^1.0.0"
}
},
"semver": {
- "version": "5.7.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
- "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
},
- "signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
- "dev": true
- },
- "single-line-log": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz",
- "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1"
- }
- },
"spdx-correct": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
@@ -1479,167 +1019,58 @@
}
},
"spdx-license-ids": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz",
- "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==",
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
+ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
"dev": true
},
- "speedometer": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz",
- "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=",
- "dev": true
- },
- "sshpk": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
- "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
- "dev": true,
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "safe-buffer": "~5.1.0"
}
},
"strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true,
- "requires": {
- "is-utf8": "^0.2.0"
- }
- },
- "strip-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
- "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
- "dev": true,
- "requires": {
- "get-stdin": "^4.0.1"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
"dev": true
},
"sumchecker": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz",
- "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=",
- "dev": true,
- "requires": {
- "debug": "^2.2.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "throttleit": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz",
- "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=",
- "dev": true
- },
- "through2": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz",
- "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.0.tgz",
+ "integrity": "sha512-yreseuC/z4iaodVoq07XULEOO9p4jnQazO7mbrnDSvWAU/y2cbyIKs+gWJptfcGu9R+1l27K8Rkj0bfvqnBpgQ==",
"dev": true,
"requires": {
- "readable-stream": "~1.1.9",
- "xtend": "~2.1.1"
+ "debug": "^4.1.0"
}
},
"tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz",
+ "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==",
"dev": true,
"requires": {
- "os-tmpdir": "~1.0.2"
+ "rimraf": "^2.6.3"
}
},
"tmp-promise": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-1.0.5.tgz",
- "integrity": "sha512-hOabTz9Tp49wCozFwuJe5ISrOqkECm6kzw66XTP23DuzNU7QS/KiZq5LC9Y7QSy8f1rPSLy4bKaViP0OwGI1cA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-1.1.0.tgz",
+ "integrity": "sha512-8+Ah9aB1IRXCnIOxXZ0uFozV1nMU5xiu7hhFVUSxZ3bYu+psD4TzagCzVbexUCgNNGJnsmNDQlS4nG3mTyoNkw==",
"dev": true,
"requires": {
"bluebird": "^3.5.0",
- "tmp": "0.0.33"
+ "tmp": "0.1.0"
}
},
- "tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "dev": true,
- "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
- }
- }
- },
- "trim-newlines": {
+ "to-readable-stream": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
- "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
+ "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
"dev": true
},
"truncate-utf8-bytes": {
@@ -1651,21 +1082,6 @@
"utf8-byte-length": "^1.0.1"
}
},
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true
- },
"typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
@@ -1678,13 +1094,13 @@
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
"dev": true
},
- "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==",
+ "url-parse-lax": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
+ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
"dev": true,
"requires": {
- "punycode": "^2.1.0"
+ "prepend-http": "^2.0.0"
}
},
"utf8-byte-length": {
@@ -1699,12 +1115,6 @@
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
},
- "uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
- "dev": true
- },
"validate-npm-package-license": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
@@ -1715,17 +1125,6 @@
"spdx-expression-parse": "^3.0.0"
}
},
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -1744,31 +1143,14 @@
"integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=",
"dev": true
},
- "xtend": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
- "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
- "dev": true,
- "requires": {
- "object-keys": "~0.4.0"
- }
- },
"yargs-parser": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz",
- "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==",
+ "version": "13.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
+ "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
"dev": true,
"requires": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- }
}
},
"yauzl": {
diff --git a/desktop/package.json b/desktop/package.json
index 87286b5..505ea47 100644
--- a/desktop/package.json
+++ b/desktop/package.json
@@ -15,14 +15,29 @@
"push_osx": "~/Applications/butler push ~/Documents/Orca-darwin-x64/ hundredrabbits/orca:osx-64",
"push_linux": "~/Applications/butler push ~/Documents/Orca-linux-x64/ hundredrabbits/orca:linux-64",
"push_win": "~/Applications/butler push ~/Documents/Orca-win32-x64/ hundredrabbits/orca:windows-64",
- "push_status": "~/Applications/butler status hundredrabbits/orca",
- "push": "npm run build ; npm run push_osx ; npm run push_linux ; npm run push_win ; npm run clean ; npm run push_status"
+ "status": "~/Applications/butler status hundredrabbits/orca",
+ "push": "npm run build ; npm run push_osx ; npm run push_linux ; npm run push_win ; npm run clean ; npm run status"
},
"devDependencies": {
- "electron": "^5.0.10",
- "electron-packager": "^13.1.1"
+ "electron": "^7.0.0",
+ "electron-packager": "^14.0.6"
},
"dependencies": {
"node-osc": "^4.1.1"
+ },
+ "standard": {
+ "globals": [
+ "terminal",
+ "localStorage",
+ "DOMParser",
+ "onMessage",
+ "postMessage",
+ "FileReader",
+ "performance",
+ "Worker"
+ ],
+ "ignore": [
+ "/node_modules/*"
+ ]
}
}
diff --git a/desktop/sources/index.html b/desktop/sources/index.html
index 88f820e..2f4d665 100644
--- a/desktop/sources/index.html
+++ b/desktop/sources/index.html
@@ -1,87 +1,24 @@
-<html>
+<!DOCTYPE html>
+<html lang='en'>
<head>
+ <meta charset='utf-8'>
<link rel="stylesheet" type="text/css" href="links/style.css"/>
<title>Orca</title>
</head>
<body>
<script type="module">
'use strict'
-
- console.clear()
+ console.clear()
+
import Terminal from "js:./sources/scripts/terminal.js";
- const app = require('electron').remote.app
const terminal = new Terminal()
window.terminal = terminal // global availability for e.g. udp
terminal.install(document.body)
- terminal.controller.add("default","*","About",() => { require('electron').shell.openExternal('https://github.com/hundredrabbits/Orca') },"CmdOrCtrl+,")
- terminal.controller.add("default","*","Fullscreen",() => { app.toggleFullscreen() },"CmdOrCtrl+Enter")
- terminal.controller.add("default","*","Hide",() => { app.toggleVisible() },"CmdOrCtrl+H")
- terminal.controller.add("default","*","Toggle Menubar",() => { app.toggleMenubar() },"Alt+H")
- terminal.controller.add("default","*","Inspect",() => { app.inspect() },"CmdOrCtrl+.")
- terminal.controller.add("default","*","Reset",() => { terminal.reset() },"CmdOrCtrl+Backspace")
- terminal.controller.add("default","*","Quit",() => { terminal.io.silence(); terminal.source.quit() },"CmdOrCtrl+Q")
-
- terminal.controller.add("default","File","New",() => { terminal.source.new() },"CmdOrCtrl+N")
- terminal.controller.add("default","File","Save",() => { terminal.source.save() },"CmdOrCtrl+S")
- terminal.controller.add("default","File","Save As",() => { terminal.source.saveAs() },"CmdOrCtrl+Shift+S")
- terminal.controller.add("default","File","Open",() => { terminal.source.open() },"CmdOrCtrl+O")
- terminal.controller.add("default","File","Resume",() => { terminal.source.resume() })
- terminal.controller.add("default","File","Revert",() => { terminal.source.revert() },"CmdOrCtrl+W")
-
- terminal.controller.add("default","Edit","Toggle Insert Mode",() => { terminal.cursor.toggleMode(1) },"CmdOrCtrl+I")
- terminal.controller.add("default","Edit","Block Comment",() => { terminal.cursor.comment() },"CmdOrCtrl+/")
- terminal.controller.add("default","Edit","Find",() => { terminal.commander.start('find:') },"CmdOrCtrl+P")
- terminal.controller.add("default","Edit","Inject",() => { terminal.commander.start('inject:') },"CmdOrCtrl+J")
- terminal.controller.add("default","Edit","Trigger Operator",() => { terminal.cursor.trigger() },"CmdOrCtrl+B")
- terminal.controller.addSpacer('default', 'Edit', 'selection')
- terminal.controller.add("default","Edit","Select All",() => { terminal.cursor.selectAll() },"CmdOrCtrl+A")
- terminal.controller.add("default","Edit","Erase Selection",() => { terminal.cursor.erase() },"Backspace")
- terminal.controller.add("default","Edit","Copy Selection",() => { terminal.cursor.copy() },"CmdOrCtrl+C")
- terminal.controller.add("default","Edit","Cut Selection",() => { terminal.cursor.cut() },"CmdOrCtrl+X")
- terminal.controller.add("default","Edit","Paste Selection",() => { terminal.cursor.paste(false) },"CmdOrCtrl+V")
- terminal.controller.add("default","Edit","Paste Over",() => { terminal.cursor.paste(true) },"CmdOrCtrl+Shift+V")
- terminal.controller.add("default","Edit","Undo",() => { terminal.history.undo() },"CmdOrCtrl+Z")
- terminal.controller.add("default","Edit","Redo",() => { terminal.history.redo() },"CmdOrCtrl+Shift+Z")
-
- terminal.controller.add("default","Clock","Play/Pause",() => { terminal.clock.togglePlay() },"Space")
- terminal.controller.add("default","Clock","Frame By Frame",() => { terminal.clock.touch() },"CmdOrCtrl+F")
- terminal.controller.add("default","Clock","Reset Frame",() => { terminal.clock.resetFrame() },"CmdOrCtrl+R")
- terminal.controller.add("default","Clock","Incr. Speed",() => { terminal.clock.modSpeed(1) },">")
- terminal.controller.add("default","Clock","Decr. Speed",() => { terminal.clock.modSpeed(-1) },"<")
- terminal.controller.add("default","Clock","Incr. Speed(10x)",() => { terminal.clock.modSpeed(10,true) },"CmdOrCtrl+>")
- terminal.controller.add("default","Clock","Decr. Speed(10x)",() => { terminal.clock.modSpeed(-10,true) },"CmdOrCtrl+<")
-
- terminal.controller.add("default","View","Zoom In",() => { terminal.modZoom(0.0625) },"CmdOrCtrl+=")
- terminal.controller.add("default","View","Zoom Out",() => { terminal.modZoom(-0.0625) },"CmdOrCtrl+-")
- terminal.controller.add("default","View","Zoom Reset",() => { terminal.modZoom(1,true) },"CmdOrCtrl+0")
- terminal.controller.add("default","View","Toggle Retina",() => { terminal.toggleRetina() },"`")
- terminal.controller.add("default","View","Toggle Hardmode",() => { terminal.toggleHardmode() },"Tab")
- terminal.controller.add("default","View","Toggle Guide",() => { terminal.toggleGuide() },"CmdOrCtrl+G")
- terminal.controller.addSpacer('default', 'View', 'commander')
- terminal.controller.add("default","View","Toggle Commander",() => { terminal.commander.start() },"CmdOrCtrl+K")
- terminal.controller.add("default","View","Run Commander",() => { terminal.commander.run() },"Enter")
- terminal.controller.addSpacer('default', 'View', 'sizes')
- terminal.controller.add("default","View","Incr. Col",() => { terminal.modGrid(1,0) },"]")
- terminal.controller.add("default","View","Decr. Col",() => { terminal.modGrid(-1,0) },"[")
- terminal.controller.add("default","View","Incr. Row",() => { terminal.modGrid(0,1) },"}")
- terminal.controller.add("default","View","Decr. Row",() => { terminal.modGrid(0,-1) },"{")
-
- terminal.controller.add("default","Midi","Default")
- terminal.controller.add("default","UDP","Default")
- terminal.controller.add("default","OSC","Default")
-
- terminal.controller.add("default","Theme","Open Theme",() => { terminal.theme.open() },"CmdOrCtrl+Shift+O")
- terminal.controller.add("default","Theme","Reset Theme",() => { terminal.theme.reset() },"CmdOrCtrl+Shift+Backspace")
- terminal.controller.addSpacer('default', 'Theme', 'Download')
- terminal.controller.add("default","Theme","Download Themes..",() => { require('electron').shell.openExternal('https://github.com/hundredrabbits/Themes') })
-
- terminal.controller.commit()
-
window.addEventListener('load', () => {
terminal.start();
})
diff --git a/desktop/sources/scripts/clock.js b/desktop/sources/scripts/clock.js
index 37f4a45..9baecd8 100644
--- a/desktop/sources/scripts/clock.js
+++ b/desktop/sources/scripts/clock.js
@@ -1,8 +1,6 @@
'use strict'
export default function Clock (terminal) {
- const path = require('path')
-
this.isPaused = true
this.timer = null
this.isPuppet = false
@@ -25,7 +23,7 @@ export default function Clock (terminal) {
}
this.setSpeed = function (value, target = null, setTimer = false) {
- console.info('set')
+ console.info('Clock', 'set', value)
if (value) { this.speed.value = clamp(value, 60, 300) }
if (target) { this.speed.target = clamp(target, 60, 300) }
if (setTimer === true) { this.setTimer(this.speed.value) }
@@ -42,29 +40,29 @@ export default function Clock (terminal) {
// Controls
- this.togglePlay = function () {
+ this.togglePlay = function (msg = false) {
if (this.isPaused === true) {
- this.play()
+ this.play(msg)
} else {
- this.stop()
+ this.stop(msg)
}
}
- this.play = function () {
+ this.play = function (msg = false) {
console.log('Clock', 'Play')
if (this.isPaused === false) { console.warn('Clock', 'Already playing'); return }
if (this.isPuppet === true) { console.warn('Clock', 'External Midi control'); return }
this.isPaused = false
- terminal.io.midi.sendClockStart()
+ if (msg === true) { terminal.io.midi.sendClockStart() }
this.setSpeed(this.speed.target, this.speed.target, true)
}
- this.stop = function () {
+ this.stop = function (msg = false) {
console.log('Clock', 'Stop')
if (this.isPaused === true) { console.warn('Clock', 'Already stopped'); return }
if (this.isPuppet === true) { console.warn('Clock', 'External Midi control'); return }
this.isPaused = true
- terminal.io.midi.sendClockStop()
+ if (msg === true) { terminal.io.midi.sendClockStop() }
terminal.io.midi.allNotesOff()
this.clearTimer()
terminal.io.midi.silence()
diff --git a/desktop/sources/scripts/commander.js b/desktop/sources/scripts/commander.js
index 8f7f367..4fd4372 100644
--- a/desktop/sources/scripts/commander.js
+++ b/desktop/sources/scripts/commander.js
@@ -9,43 +9,43 @@ export default function Commander (terminal) {
// Library
this.passives = {
- 'find': (p) => { terminal.cursor.find(p.str) },
- 'select': (p) => { terminal.cursor.select(p.x, p.y, p.w, p.h) },
- 'inject': (p) => { terminal.cursor.select(p._x, p._y); terminal.source.inject(p._str, false) },
- 'write': (p) => { terminal.cursor.select(p._x, p._y, p._str.length) }
+ find: (p) => { terminal.cursor.find(p.str) },
+ select: (p) => { terminal.cursor.select(p.x, p.y, p.w, p.h) },
+ inject: (p) => { terminal.cursor.select(p._x, p._y); terminal.source.inject(p._str, false) },
+ write: (p) => { terminal.cursor.select(p._x, p._y, p._str.length) }
}
this.actives = {
// Ports
- 'osc': (p) => { terminal.io.osc.select(p.int) },
- 'udp': (p) => { terminal.io.udp.select(p.int) },
- 'ip': (p) => { terminal.io.setIp(p.str) },
- 'cc': (p) => { terminal.io.cc.setOffset(p.int) },
- 'pg': (p) => { terminal.io.cc.stack.push({ channel: clamp(p.ints[0], 0, 15), bank: p.ints[1], sub: p.ints[2], pgm: clamp(p.ints[3], 0, 127), type: 'pg' }); terminal.io.cc.run() },
+ osc: (p) => { terminal.io.osc.select(p.int) },
+ udp: (p) => { terminal.io.udp.select(p.int) },
+ ip: (p) => { terminal.io.setIp(p.str) },
+ cc: (p) => { terminal.io.cc.setOffset(p.int) },
+ pg: (p) => { terminal.io.cc.stack.push({ channel: clamp(p.ints[0], 0, 15), bank: p.ints[1], sub: p.ints[2], pgm: clamp(p.ints[3], 0, 127), type: 'pg' }); terminal.io.cc.run() },
// Cursor
- 'copy': (p) => { terminal.cursor.copy() },
- 'paste': (p) => { terminal.cursor.paste(true) },
- 'erase': (p) => { terminal.cursor.erase() },
+ copy: (p) => { terminal.cursor.copy() },
+ paste: (p) => { terminal.cursor.paste(true) },
+ erase: (p) => { terminal.cursor.erase() },
// Controls
- 'play': (p) => { terminal.clock.play() },
- 'stop': (p) => { terminal.clock.stop() },
- 'run': (p) => { terminal.run() },
+ play: (p) => { terminal.clock.play() },
+ stop: (p) => { terminal.clock.stop() },
+ run: (p) => { terminal.run() },
// Speed
- 'apm': (p) => { terminal.clock.setSpeed(null, p.int) },
- 'bpm': (p) => { terminal.clock.setSpeed(p.int, p.int, true) },
- 'time': (p) => { terminal.clock.setFrame(p.int) },
- 'rewind': (p) => { terminal.clock.setFrame(terminal.orca.f - p.int) },
- 'skip': (p) => { terminal.clock.setFrame(terminal.orca.f + p.int) },
+ apm: (p) => { terminal.clock.setSpeed(null, p.int) },
+ bpm: (p) => { terminal.clock.setSpeed(p.int, p.int, true) },
+ time: (p) => { terminal.clock.setFrame(p.int) },
+ rewind: (p) => { terminal.clock.setFrame(terminal.orca.f - p.int) },
+ skip: (p) => { terminal.clock.setFrame(terminal.orca.f + p.int) },
// Effects
- 'rot': (p) => { terminal.cursor.rotate(p.int) },
+ rot: (p) => { terminal.cursor.rotate(p.int) },
// Themeing
- 'color': (p) => { terminal.theme.set('b_med', p.parts[0]); terminal.theme.set('b_inv', p.parts[1]); terminal.theme.set('b_high', p.parts[2]) },
- 'graphic': (p) => { terminal.theme.setImage(terminal.source.locate(p.parts[0] + '.' + (p.parts[1] ? p.parts[1] : 'jpg'))) },
+ color: (p) => { terminal.theme.set('b_med', p.parts[0]); terminal.theme.set('b_inv', p.parts[1]); terminal.theme.set('b_high', p.parts[2]) },
+ graphic: (p) => { terminal.theme.setImage(terminal.source.locate(p.parts[0] + '.' + (p.parts[1] ? p.parts[1] : 'jpg'))) },
// Edit
- 'find': (p) => { terminal.cursor.find(p.str) },
- 'select': (p) => { terminal.cursor.select(p.x, p.y, p.w, p.h) },
- 'inject': (p) => { terminal.cursor.select(p._x, p._y); terminal.source.inject(p._str, true) },
- 'write': (p) => { terminal.cursor.select(p._x, p._y, p._str.length); terminal.cursor.writeBlock([p._str.split('')]) }
+ find: (p) => { terminal.cursor.find(p.str) },
+ select: (p) => { terminal.cursor.select(p.x, p.y, p.w, p.h) },
+ inject: (p) => { terminal.cursor.select(p._x, p._y); terminal.source.inject(p._str, true) },
+ write: (p) => { terminal.cursor.select(p._x, p._y, p._str.length); terminal.cursor.writeBlock([p._str.split('')]) }
}
// Make shorthands
@@ -155,7 +155,7 @@ export default function Commander (terminal) {
if (event.metaKey) { return }
if (event.ctrlKey) { return }
- if (event.key === ' ' && terminal.cursor.mode === 0) { terminal.clock.togglePlay(); event.preventDefault(); return }
+ if (event.key === ' ' && terminal.cursor.mode === 0) { terminal.clock.togglePlay(event.shiftKey); event.preventDefault(); return }
if (event.key === ' ' && terminal.cursor.mode === 1) { terminal.cursor.move(1, 0); event.preventDefault(); return }
if (event.key === 'Escape') { terminal.toggleGuide(false); terminal.commander.stop(); terminal.clear(); terminal.isPaused = false; terminal.cursor.reset(); return }
diff --git a/desktop/sources/scripts/cursor.js b/desktop/sources/scripts/cursor.js
index c418910..ca3659e 100644
--- a/desktop/sources/scripts/cursor.js
+++ b/desktop/sources/scripts/cursor.js
@@ -8,10 +8,10 @@ export default function Cursor (terminal) {
this.w = 0
this.h = 0
- this.minX = 0;
- this.maxX = 0;
- this.minY = 0;
- this.maxY = 0;
+ this.minX = 0
+ this.maxX = 0
+ this.minY = 0
+ this.maxY = 0
this.mode = 0
@@ -20,7 +20,7 @@ export default function Cursor (terminal) {
this.x = clamp(this.x + parseInt(x), 0, terminal.orca.w - 1)
this.y = clamp(this.y - parseInt(y), 0, terminal.orca.h - 1)
- this.calculateBounds();
+ this.calculateBounds()
terminal.update()
}
@@ -29,7 +29,7 @@ export default function Cursor (terminal) {
this.x = clamp(parseInt(x), 0, terminal.orca.w - 1)
this.y = clamp(parseInt(y), 0, terminal.orca.h - 1)
- this.calculateBounds();
+ this.calculateBounds()
terminal.update()
}
@@ -38,7 +38,7 @@ export default function Cursor (terminal) {
this.w = clamp(this.w + parseInt(x), -this.x, terminal.orca.w - this.x)
this.h = clamp(this.h - parseInt(y), -this.y, terminal.orca.h - this.y)
- this.calculateBounds();
+ this.calculateBounds()
terminal.update()
}
@@ -47,7 +47,7 @@ export default function Cursor (terminal) {
this.w = clamp(parseInt(w), -this.x, terminal.orca.w - 1)
this.h = clamp(parseInt(h), -this.y, terminal.orca.h - 1)
- this.calculateBounds();
+ this.calculateBounds()
terminal.update()
}
@@ -56,7 +56,7 @@ export default function Cursor (terminal) {
this.w = clamp(parseInt(w), -this.x, terminal.orca.w - this.x)
this.h = clamp(parseInt(h), -this.y, terminal.orca.h - this.y)
- this.calculateBounds();
+ this.calculateBounds()
terminal.update()
}
@@ -75,7 +75,7 @@ export default function Cursor (terminal) {
this.h = terminal.orca.h
this.mode = 0
- this.calculateBounds();
+ this.calculateBounds()
terminal.update()
}
@@ -83,7 +83,7 @@ export default function Cursor (terminal) {
this.moveTo(x, y)
this.scaleTo(w, h)
- this.calculateBounds();
+ this.calculateBounds()
terminal.update()
}
@@ -128,15 +128,15 @@ export default function Cursor (terminal) {
terminal.history.record(terminal.orca.s)
}
- this.erase = function() {
+ this.erase = function () {
for (let y = this.minY; y <= this.maxY; y++) {
for (let x = this.minX; x <= this.maxX; x++) {
- terminal.orca.write(x, y, ".");
+ terminal.orca.write(x, y, '.')
}
}
- terminal.history.record(terminal.orca.s);
- };
+ terminal.history.record(terminal.orca.s)
+ }
this.rotate = function (rate = 1) {
if (isNaN(rate)) { return }
@@ -152,14 +152,12 @@ export default function Cursor (terminal) {
terminal.cursor.writeBlock(cols)
}
- this.find = function (str) {
+ this.find = (str) => {
const i = terminal.orca.s.indexOf(str)
if (i < 0) { return }
const pos = terminal.orca.posAt(i)
- this.w = str.length
- this.h = 1
- this.x = pos.x
- this.y = pos.y
+ this.select(pos.x, pos.y, str.length - 1, 0)
+ terminal.update()
}
this.trigger = function () {
@@ -223,24 +221,23 @@ export default function Cursor (terminal) {
terminal.history.record(terminal.orca.s)
}
- this.toRect = function() {
+ this.toRect = function () {
return {
x: this.minX,
y: this.minY,
w: this.maxX - this.minX + 1,
h: this.maxY - this.minY + 1
- };
- };
-
- this.calculateBounds = function() {
- this.minX = this.x < this.x + this.w ? this.x : this.x + this.w;
- this.minY = this.y < this.y + this.h ? this.y : this.y + this.h;
- this.maxX = this.x > this.x + this.w ? this.x : this.x + this.w;
- this.maxY = this.y > this.y + this.h ? this.y : this.y + this.h;
+ }
+ }
+ this.calculateBounds = function () {
+ this.minX = this.x < this.x + this.w ? this.x : this.x + this.w
+ this.minY = this.y < this.y + this.h ? this.y : this.y + this.h
+ this.maxX = this.x > this.x + this.w ? this.x : this.x + this.w
+ this.maxY = this.y > this.y + this.h ? this.y : this.y + this.h
}
- this.selected = function(x, y) {
+ this.selected = function (x, y) {
return (
x >= this.minX &&
x <= this.maxX &&
diff --git a/desktop/sources/scripts/history.js b/desktop/sources/scripts/history.js
index be77e28..1d77a58 100644
--- a/desktop/sources/scripts/history.js
+++ b/desktop/sources/scripts/history.js
@@ -7,7 +7,7 @@ export default function History () {
this.key = null
this.bind = function (host, key) {
- console.log(`History is recording..`)
+ console.log('History is recording..')
this.host = host
this.key = key
this.reset()
diff --git a/desktop/sources/scripts/lib/controller.js b/desktop/sources/scripts/lib/controller.js
index 4f667b9..6b81027 100644
--- a/desktop/sources/scripts/lib/controller.js
+++ b/desktop/sources/scripts/lib/controller.js
@@ -1,12 +1,8 @@
'use strict'
export default function Controller () {
- const fs = require('fs')
- const { dialog, app } = require('electron').remote
-
this.menu = { default: {} }
this.mode = 'default'
-
this.app = require('electron').remote.app
this.start = function () {
@@ -15,11 +11,13 @@ export default function Controller () {
this.add = function (mode, cat, label, fn, accelerator) {
if (!this.menu[mode]) { this.menu[mode] = {} }
if (!this.menu[mode][cat]) { this.menu[mode][cat] = {} }
- this.menu[mode][cat][label] = { fn: function (_menuItem, browserWindow) {
- browserWindow.webContents.focus()
- fn.apply(this, arguments)
- },
- accelerator: accelerator }
+ this.menu[mode][cat][label] = {
+ fn: function (_menuItem, browserWindow) {
+ browserWindow.webContents.focus()
+ fn.apply(this, arguments)
+ },
+ accelerator: accelerator
+ }
}
this.addRole = function (mode, cat, label) {
@@ -70,7 +68,7 @@ export default function Controller () {
this.accelerator = function (key, menu) {
const acc = { basic: null, ctrl: null }
- for (cat in menu) {
+ for (const cat in menu) {
const options = menu[cat]
for (const id in options.submenu) {
const option = options.submenu[id]; if (option.role) { continue }
diff --git a/desktop/sources/scripts/lib/theme.js b/desktop/sources/scripts/lib/theme.js
index 7e52e44..43b6790 100644
--- a/desktop/sources/scripts/lib/theme.js
+++ b/desktop/sources/scripts/lib/theme.js
@@ -31,7 +31,7 @@ export default function Theme (_default) {
this.load = function (data) {
const theme = parse(data)
if (!validate(theme)) { console.warn('Theme', 'Not a theme', theme); return }
- console.log('Theme', `Loaded theme!`)
+ console.log('Theme', 'Loaded theme!')
this.el.innerHTML = `:root { --background: ${theme.background}; --f_high: ${theme.f_high}; --f_med: ${theme.f_med}; --f_low: ${theme.f_low}; --f_inv: ${theme.f_inv}; --b_high: ${theme.b_high}; --b_med: ${theme.b_med}; --b_low: ${theme.b_low}; --b_inv: ${theme.b_inv}; }`
localStorage.setItem('theme', JSON.stringify(theme))
this.active = theme
@@ -83,7 +83,7 @@ export default function Theme (_default) {
this.open = function () {
const fs = require('fs')
const { dialog, app } = require('electron').remote
- let paths = dialog.showOpenDialog(app.win, { properties: ['openFile'], filters: [{ name: 'Themes', extensions: ['svg'] }] })
+ const paths = dialog.showOpenDialog(app.win, { properties: ['openFile'], filters: [{ name: 'Themes', extensions: ['svg'] }] })
if (!paths) { console.log('Nothing to load'); return }
fs.readFile(paths[0], 'utf8', function (err, data) {
if (err) throw err
@@ -114,15 +114,15 @@ export default function Theme (_default) {
const svg = new DOMParser().parseFromString(text, 'text/xml')
try {
return {
- 'background': svg.getElementById('background').getAttribute('fill'),
- 'f_high': svg.getElementById('f_high').getAttribute('fill'),
- 'f_med': svg.getElementById('f_med').getAttribute('fill'),
- 'f_low': svg.getElementById('f_low').getAttribute('fill'),
- 'f_inv': svg.getElementById('f_inv').getAttribute('fill'),
- 'b_high': svg.getElementById('b_high').getAttribute('fill'),
- 'b_med': svg.getElementById('b_med').getAttribute('fill'),
- 'b_low': svg.getElementById('b_low').getAttribute('fill'),
- 'b_inv': svg.getElementById('b_inv').getAttribute('fill')
+ background: svg.getElementById('background').getAttribute('fill'),
+ f_high: svg.getElementById('f_high').getAttribute('fill'),
+ f_med: svg.getElementById('f_med').getAttribute('fill'),
+ f_low: svg.getElementById('f_low').getAttribute('fill'),
+ f_inv: svg.getElementById('f_inv').getAttribute('fill'),
+ b_high: svg.getElementById('b_high').getAttribute('fill'),
+ b_med: svg.getElementById('b_med').getAttribute('fill'),
+ b_low: svg.getElementById('b_low').getAttribute('fill'),
+ b_inv: svg.getElementById('b_inv').getAttribute('fill')
}
} catch (err) {
console.warn('Theme', 'Incomplete SVG Theme', err)
diff --git a/desktop/sources/scripts/source.js b/desktop/sources/scripts/source.js
index 672d6e8..1836afa 100644
--- a/desktop/sources/scripts/source.js
+++ b/desktop/sources/scripts/source.js
@@ -26,7 +26,7 @@ export default function Source (terminal) {
this.open = function () {
console.log('Source', 'Open a file..')
- let paths = dialog.showOpenDialog(app.win, { properties: ['openFile'], filters: [{ name: 'Orca Machines', extensions: ['orca'] }] })
+ const paths = dialog.showOpenDialog(app.win, { properties: ['openFile'], filters: [{ name: 'Orca Machines', extensions: ['orca'] }] })
if (!paths) { console.log('Nothing to load'); return }
this.read(paths[0])
}
@@ -125,7 +125,7 @@ export default function Source (terminal) {
}
this.verify = function () {
- let response = dialog.showMessageBox(app.win, {
+ const response = dialog.showMessageBox(app.win, {
type: 'question',
buttons: ['Cancel', 'Discard', 'Save'],
title: 'Confirm',
@@ -144,7 +144,7 @@ export default function Source (terminal) {
if (!this.path) {
console.log('Source', 'File is unsaved..')
if (terminal.orca.length() > 2) {
- console.log('Source', `File is not empty.`)
+ console.log('Source', 'File is not empty.')
return true
}
} else {
diff --git a/desktop/sources/scripts/terminal.js b/desktop/sources/scripts/terminal.js
index e5a18b6..d570f97 100644
--- a/desktop/sources/scripts/terminal.js
+++ b/desktop/sources/scripts/terminal.js
@@ -40,12 +40,76 @@ export default function Terminal () {
this.hardmode = true
this.guide = false
- this.install = function (host) {
+ this.install = (host) => {
host.appendChild(this.el)
this.theme.install(host)
- }
- this.start = function () {
+ this.controller.add('default', '*', 'About', () => { require('electron').shell.openExternal('https://github.com/hundredrabbits/Orca') }, 'CmdOrCtrl+,')
+ this.controller.add('default', '*', 'Fullscreen', () => { require('electron').remote.app.toggleFullscreen() }, 'CmdOrCtrl+Enter')
+ this.controller.add('default', '*', 'Hide', () => { require('electron').remote.app.toggleVisible() }, 'CmdOrCtrl+H')
+ this.controller.add('default', '*', 'Toggle Menubar', () => { require('electron').remote.app.toggleMenubar() }, 'Alt+H')
+ this.controller.add('default', '*', 'Inspect', () => { require('electron').remote.app.inspect() }, 'CmdOrCtrl+.')
+ this.controller.add('default', '*', 'Reset', () => { this.reset() }, 'CmdOrCtrl+Backspace')
+ this.controller.add('default', '*', 'Quit', () => { this.io.silence(); this.source.quit() }, 'CmdOrCtrl+Q')
+
+ this.controller.add('default', 'File', 'New', () => { this.source.new() }, 'CmdOrCtrl+N')
+ this.controller.add('default', 'File', 'Save', () => { this.source.save() }, 'CmdOrCtrl+S')
+ this.controller.add('default', 'File', 'Save As', () => { this.source.saveAs() }, 'CmdOrCtrl+Shift+S')
+ this.controller.add('default', 'File', 'Open', () => { this.source.open() }, 'CmdOrCtrl+O')
+ this.controller.add('default', 'File', 'Resume', () => { this.source.resume() })
+ this.controller.add('default', 'File', 'Revert', () => { this.source.revert() }, 'CmdOrCtrl+W')
+
+ this.controller.add('default', 'Edit', 'Toggle Insert Mode', () => { this.cursor.toggleMode(1) }, 'CmdOrCtrl+I')
+ this.controller.add('default', 'Edit', 'Block Comment', () => { this.cursor.comment() }, 'CmdOrCtrl+/')
+ this.controller.add('default', 'Edit', 'Find', () => { this.commander.start('find:') }, 'CmdOrCtrl+P')
+ this.controller.add('default', 'Edit', 'Inject', () => { this.commander.start('inject:') }, 'CmdOrCtrl+J')
+ this.controller.add('default', 'Edit', 'Trigger Operator', () => { this.cursor.trigger() }, 'CmdOrCtrl+B')
+ this.controller.addSpacer('default', 'Edit', 'selection')
+ this.controller.add('default', 'Edit', 'Select All', () => { this.cursor.selectAll() }, 'CmdOrCtrl+A')
+ this.controller.add('default', 'Edit', 'Erase Selection', () => { this.cursor.erase() }, 'Backspace')
+ this.controller.add('default', 'Edit', 'Copy Selection', () => { this.cursor.copy() }, 'CmdOrCtrl+C')
+ this.controller.add('default', 'Edit', 'Cut Selection', () => { this.cursor.cut() }, 'CmdOrCtrl+X')
+ this.controller.add('default', 'Edit', 'Paste Selection', () => { this.cursor.paste(false) }, 'CmdOrCtrl+V')
+ this.controller.add('default', 'Edit', 'Paste Over', () => { this.cursor.paste(true) }, 'CmdOrCtrl+Shift+V')
+ this.controller.add('default', 'Edit', 'Undo', () => { this.history.undo() }, 'CmdOrCtrl+Z')
+ this.controller.add('default', 'Edit', 'Redo', () => { this.history.redo() }, 'CmdOrCtrl+Shift+Z')
+
+ this.controller.add('default', 'Clock', 'Play/Pause', () => { this.clock.togglePlay(false) }, 'Space')
+ this.controller.add('default', 'Clock', 'Frame By Frame', () => { this.clock.touch() }, 'CmdOrCtrl+F')
+ this.controller.add('default', 'Clock', 'Reset Frame', () => { this.clock.resetFrame() }, 'CmdOrCtrl+R')
+ this.controller.add('default', 'Clock', 'Incr. Speed', () => { this.clock.modSpeed(1) }, '>')
+ this.controller.add('default', 'Clock', 'Decr. Speed', () => { this.clock.modSpeed(-1) }, '<')
+ this.controller.add('default', 'Clock', 'Incr. Speed(10x)', () => { this.clock.modSpeed(10, true) }, 'CmdOrCtrl+>')
+ this.controller.add('default', 'Clock', 'Decr. Speed(10x)', () => { this.clock.modSpeed(-10, true) }, 'CmdOrCtrl+<')
+
+ this.controller.add('default', 'View', 'Zoom In', () => { this.modZoom(0.0625) }, 'CmdOrCtrl+=')
+ this.controller.add('default', 'View', 'Zoom Out', () => { this.modZoom(-0.0625) }, 'CmdOrCtrl+-')
+ this.controller.add('default', 'View', 'Zoom Reset', () => { this.modZoom(1, true) }, 'CmdOrCtrl+0')
+ this.controller.add('default', 'View', 'Toggle Retina', () => { this.toggleRetina() }, '`')
+ this.controller.add('default', 'View', 'Toggle Hardmode', () => { this.toggleHardmode() }, 'Tab')
+ this.controller.add('default', 'View', 'Toggle Guide', () => { this.toggleGuide() }, 'CmdOrCtrl+G')
+ this.controller.addSpacer('default', 'View', 'commander')
+ this.controller.add('default', 'View', 'Toggle Commander', () => { this.commander.start() }, 'CmdOrCtrl+K')
+ this.controller.add('default', 'View', 'Run Commander', () => { this.commander.run() }, 'Enter')
+ this.controller.addSpacer('default', 'View', 'sizes')
+ this.controller.add('default', 'View', 'Incr. Col', () => { this.modGrid(1, 0) }, ']')
+ this.controller.add('default', 'View', 'Decr. Col', () => { this.modGrid(-1, 0) }, '[')
+ this.controller.add('default', 'View', 'Incr. Row', () => { this.modGrid(0, 1) }, '}')
+ this.controller.add('default', 'View', 'Decr. Row', () => { this.modGrid(0, -1) }, '{')
+
+ this.controller.add('default', 'Midi', 'Default')
+ this.controller.add('default', 'UDP', 'Default')
+ this.controller.add('default', 'OSC', 'Default')
+
+ this.controller.add('default', 'Theme', 'Open Theme', () => { this.theme.open() }, 'CmdOrCtrl+Shift+O')
+ this.controller.add('default', 'Theme', 'Reset Theme', () => { this.theme.reset() }, 'CmdOrCtrl+Shift+Backspace')
+ this.controller.addSpacer('default', 'Theme', 'Download')
+ this.controller.add('default', 'Theme', 'Download Themes..', () => { require('electron').shell.openExternal('https://github.com/hundredrabbits/Themes') })
+
+ this.controller.commit()
+ }
+
+ this.start = () => {
this.theme.start()
this.io.start()
this.source.start()
@@ -58,7 +122,7 @@ export default function Terminal () {
this.toggleGuide(this.reqGuide() === true)
}
- this.run = function () {
+ this.run = () => {
this.io.clear()
this.clock.run()
this.source.run()
@@ -67,7 +131,7 @@ export default function Terminal () {
this.update()
}
- this.update = function () {
+ this.update = () => {
if (document.hidden === true) { return }
this.clear()
this.ports = this.findPorts()
@@ -76,29 +140,29 @@ export default function Terminal () {
this.drawGuide()
}
- this.reset = function () {
+ this.reset = () => {
this.theme.reset()
}
- this.setGrid = function (w, h) {
+ this.setGrid = (w, h) => {
this.grid.w = w
this.grid.h = h
this.update()
}
- this.toggleRetina = function () {
+ this.toggleRetina = () => {
this.scale = this.scale === 1 ? window.devicePixelRatio : 1
console.log('Terminal', `Pixel resolution: ${this.scale}`)
this.resize(true)
}
- this.toggleHardmode = function () {
+ this.toggleHardmode = () => {
this.hardmode = this.hardmode !== true
console.log('Terminal', `Hardmode: ${this.hardmode}`)
this.update()
}
- this.toggleGuide = function (force = null) {
+ this.toggleGuide = (force = null) => {
const display = force !== null ? force : this.guide !== true
if (display === this.guide) { return }
console.log('Terminal', `Toggle Guide: ${display}`)
@@ -106,20 +170,20 @@ export default function Terminal () {
this.update()
}
- this.reqGuide = function () {
+ this.reqGuide = () => {
const session = this.source.recall('session')
console.log('Terminal', 'Session #' + session)
if (!session || parseInt(session) < 20) { return true }
return false
}
- this.modGrid = function (x = 0, y = 0) {
+ this.modGrid = (x = 0, y = 0) => {
const w = clamp(this.grid.w + x, 4, 16)
const h = clamp(this.grid.h + y, 4, 16)
this.setGrid(w, h)
}
- this.modZoom = function (mod = 0, reset = false) {
+ this.modZoom = (mod = 0, reset = false) => {
this.tile = {
w: reset ? 10 : this.tile.w * (mod + 1),
h: reset ? 15 : this.tile.h * (mod + 1)
@@ -131,35 +195,35 @@ export default function Terminal () {
//
- this.isCursor = function (x, y) {
+ this.isCursor = (x, y) => {
return x === this.cursor.x && y === this.cursor.y
}
- this.isMarker = function (x, y) {
+ this.isMarker = (x, y) => {
return x % this.grid.w === 0 && y % this.grid.h === 0
}
- this.isNear = function (x, y) {
+ this.isNear = (x, y) => {
return x > (parseInt(this.cursor.x / this.grid.w) * this.grid.w) - 1 && x <= ((1 + parseInt(this.cursor.x / this.grid.w)) * this.grid.w) && y > (parseInt(this.cursor.y / this.grid.h) * this.grid.h) - 1 && y <= ((1 + parseInt(this.cursor.y / this.grid.h)) * this.grid.h)
}
- this.isAligned = function (x, y) {
+ this.isAligned = (x, y) => {
return x === this.cursor.x || y === this.cursor.y
}
- this.isEdge = function (x, y) {
+ this.isEdge = (x, y) => {
return x === 0 || y === 0 || x === this.orca.w - 1 || y === this.orca.h - 1
}
- this.isLocals = function (x, y) {
+ this.isLocals = (x, y) => {
return this.isNear(x, y) === true && (x % (this.grid.w / 4) === 0 && y % (this.grid.h / 4) === 0) === true
}
- this.portAt = function (x, y) {
+ this.portAt = (x, y) => {
return this.ports[this.orca.indexAt(x, y)]
}
- this.findPorts = function () {
+ this.findPorts = () => {
const a = new Array((this.orca.w * this.orca.h) - 1)
for (const id in this.orca.runtime) {
const operator = this.orca.runtime[id]
@@ -176,7 +240,7 @@ export default function Terminal () {
// Interface
- this.makeGlyph = function (x, y) {
+ this.makeGlyph = (x, y) => {
const g = this.orca.glyphAt(x, y)
if (g !== '.') { return g }
if (this.isCursor(x, y)) { return this.isPaused ? '~' : '@' }
@@ -184,7 +248,7 @@ export default function Terminal () {
return g
}
- this.makeStyle = function (x, y, glyph, selection) {
+ this.makeStyle = (x, y, glyph, selection) => {
const isLocked = this.orca.lockAt(x, y)
const port = this.ports[this.orca.indexAt(x, y)]
if (this.cursor.selected(x, y)) { return 4 }
@@ -196,7 +260,7 @@ export default function Terminal () {
return 9
}
- this.makeTheme = function (type) {
+ this.makeTheme = (type) => {
// Operator
if (type === 0) { return { bg: this.theme.active.b_med, fg: this.theme.active.f_low } }
// Haste
@@ -223,11 +287,11 @@ export default function Terminal () {
// Canvas
- this.clear = function () {
+ this.clear = () => {
this.context.clearRect(0, 0, this.el.width, this.el.height)
}
- this.drawProgram = function () {
+ this.drawProgram = () => {
const selection = this.cursor.read()
for (let y = 0; y < this.orca.h; y++) {
for (let x = 0; x < this.orca.w; x++) {
@@ -238,11 +302,9 @@ export default function Terminal () {
}
}
- this.drawInterface = function () {
+ this.drawInterface = () => {
const col = this.grid.w
const variables = Object.keys(this.orca.variables).join('')
- const col1 = this.orca.h
- const col2 = this.orca.h + 1
if (this.commander.isActive === true) {
this.write(`${this.commander.query}${this.orca.f % 2 === 0 ? '_' : ''}`, col * 0, this.orca.h + 1, this.grid.w * 4)
@@ -255,8 +317,8 @@ export default function Terminal () {
this.write(`${this.orca.w}x${this.orca.h}`, col * 0, this.orca.h, this.grid.w)
this.write(`${this.grid.w}/${this.grid.h}${this.tile.w !== 10 ? ' ' + (this.tile.w / 10).toFixed(1) : ''}`, col * 1, this.orca.h, this.grid.w)
- this.write(`${this.source}`, col * 2, this.orca.h, this.grid.w, this.source.queue.length > terminal.orca.f ? 3 : 2)
- this.write(`${this.clock}`, col * 3, this.orca.h, this.grid.w, this.clock.isPuppet === true > -1 ? 3 : 2)
+ this.write(`${this.source}`, col * 2, this.orca.h, this.grid.w, this.source.queue.length > this.orca.f ? 3 : 2)
+ this.write(`${this.clock}`, col * 3, this.orca.h, this.grid.w, this.clock.isPuppet === true ? 3 : 2)
if (this.orca.f < 15) {
this.write(`${this.io.midi}`, col * 4, this.orca.h, this.grid.w * 2)
@@ -267,7 +329,7 @@ export default function Terminal () {
}
}
- this.drawGuide = function () {
+ this.drawGuide = () => {
if (this.guide !== true) { return }
const operators = Object.keys(this.library).filter((val) => { return isNaN(val) })
for (const id in operators) {
@@ -282,7 +344,7 @@ export default function Terminal () {
}
}
- this.drawSprite = function (x, y, g, type) {
+ this.drawSprite = (x, y, g, type) => {
const theme = this.makeTheme(type)
if (theme.bg) {
const bgrect = { x: x * this.tile.w * this.scale, y: (y) * this.tile.h * this.scale, w: this.tile.w * this.scale, h: this.tile.h * this.scale }
@@ -296,7 +358,7 @@ export default function Terminal () {
}
}
- this.write = function (text, offsetX, offsetY, limit = 50, type = 2) {
+ this.write = (text, offsetX, offsetY, limit = 50, type = 2) => {
let x = 0
while (x < text.length && x < limit - 1) {
this.drawSprite(offsetX + x, offsetY, text.substr(x, 1), type)
@@ -306,7 +368,7 @@ export default function Terminal () {
// Resize tools
- this.fit = function () {
+ this.fit = () => {
const size = { w: (this.orca.w * this.tile.w) + 60, h: (this.orca.h * this.tile.h) + 60 + (2 * this.tile.h) }
const win = require('electron').remote.getCurrentWindow()
const winSize = win.getSize()
@@ -317,7 +379,7 @@ export default function Terminal () {
this.resize()
}
- this.resize = function (force = false) {
+ this.resize = (force = false) => {
const size = { w: window.innerWidth - 60, h: window.innerHeight - (60 + this.tile.h * 2) }
const tiles = { w: Math.ceil(size.w / this.tile.w), h: Math.ceil(size.h / this.tile.h) }
@@ -347,7 +409,7 @@ export default function Terminal () {
this.update()
}
- this.crop = function (w, h) {
+ this.crop = (w, h) => {
let block = `${this.orca}`
if (h > this.orca.h) {
@@ -368,7 +430,7 @@ export default function Terminal () {
// Docs
- this.docs = function () {
+ this.docs = () => {
let html = ''
const operators = Object.keys(library).filter((val) => { return isNaN(val) })
for (const id in operators) {
@@ -395,11 +457,11 @@ export default function Terminal () {
if (!path || path.indexOf('.orca') < 0) { console.log('Orca', 'Not a orca file'); return }
- terminal.source.read(path)
+ this.source.read(path)
})
window.onresize = (event) => {
- terminal.resize()
+ this.resize()
}
// Helpers
diff --git a/desktop/sources/scripts/timer.js b/desktop/sources/scripts/timer.js
index 6455bbd..823094f 100644
--- a/desktop/sources/scripts/timer.js
+++ b/desktop/sources/scripts/timer.js
@@ -1,6 +1,6 @@
'use strict'
-onmessage = function (event) {
+onmessage = (event) => {
console.log('Timer', 'New Interval ' + event.data + 'ms')
setInterval(() => { postMessage(true) }, event.data)
}