diff --git a/app/css/app.css b/app/css/app.css
index b48a3a4..d3425a7 100644
--- a/app/css/app.css
+++ b/app/css/app.css
@@ -484,6 +484,9 @@ button:focus {
#sequence #projector_second_backward > div {
color: #bf2e39;
}
+#sequence #black input[type=checkbox]:checked {
+ background: white;
+}
#sequence input[type=checkbox] {
-webkit-appearance: none;
-moz-appearance: none;
@@ -500,6 +503,10 @@ button:focus {
box-sizing: border-box;
cursor: pointer;
}
+#sequence input[type=checkbox].disabled {
+ cursor: not-allowed;
+ border-color: #646464;
+}
#sequence .L {
display: inline-block;
width: 35px;
@@ -627,6 +634,11 @@ button:focus {
background: #AB1A25;
border-color: #AB1A25;
}
+.cmd:active.capper,
+.cmd.active.capper {
+ background: white;
+ color: #272b30;
+}
.cmd:active i,
.cmd.active i {
color: #272b30;
@@ -650,6 +662,9 @@ button:focus {
::-webkit-scrollbar-thumb:window-inactive {
background: rgba(0, 0, 0, 0.05);
}
+#settings h4 {
+ margin-bottom: 1px;
+}
#settings > div {
width: 300px;
margin: 0 auto;
@@ -696,6 +711,9 @@ button:focus {
border-color: #DAE035;
color: #DAE035;
}
+#settings input[type=text] {
+ width: 200px;
+}
#settings button {
margin-top: -1px;
float: right;
@@ -1134,19 +1152,23 @@ button:focus {
float: right;
}
.cam2,
-.proj2 {
+.proj2,
+.black {
display: none;
}
.cam2 > *,
-.proj2 > * {
+.proj2 > *,
+.black > * {
visibility: hidden;
}
.cam2.on,
-.proj2.on {
+.proj2.on,
+.black.on {
display: block;
}
.cam2.on > *,
-.proj2.on > * {
+.proj2.on > *,
+.black.on > * {
visibility: visible;
}
#overlay {
diff --git a/app/data/cfg.json b/app/data/cfg.json
index 738a729..ce87033 100644
--- a/app/data/cfg.json
+++ b/app/data/cfg.json
@@ -1,5 +1,5 @@
{
- "version": "1.6.9",
+ "version": "1.7.1",
"ext_port": 1111,
"profiles": {
"mcopy": {
@@ -15,8 +15,8 @@
"momentary": 0
},
"black": {
- "before": 0,
- "after": 0
+ "before": 100,
+ "after": 100
},
"light": false
},
@@ -178,7 +178,13 @@
"cameras": "4",
"camera_projectors_identifier": "5",
"cameras_projector_identifier": "6",
- "cameras_projectors_identifier": "7"
+ "cameras_projectors_identifier": "7",
+ "capper_identifier": "C",
+ "camera_capper_identifier": "8",
+ "camera_capper_projector_identifier": "9",
+ "camera_capper_projectors_identifier": "0",
+ "capper_on": "A",
+ "capper_off": "B"
}
}
}
diff --git a/app/index.html b/app/index.html
index 7a5cf85..150c118 100644
--- a/app/index.html
+++ b/app/index.html
@@ -45,6 +45,8 @@
+
+
@@ -60,6 +62,8 @@
PROJ
PROJ2
+ BLANK
+
LIGHT
@@ -158,6 +162,20 @@
+
+
+
+
+
+
diff --git a/app/js/app.js b/app/js/app.js
index 87c1eac..c014b66 100644
--- a/app/js/app.js
+++ b/app/js/app.js
@@ -2474,8 +2474,9 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
!function(a,b){"object"==typeof exports?module.exports=b():"function"==typeof define&&define.amd?define(b):a.Spinner=b()}(this,function(){"use strict";function a(a,b){var c,d=document.createElement(a||"div");for(c in b)d[c]=b[c];return d}function b(a){for(var b=1,c=arguments.length;c>b;b++)a.appendChild(arguments[b]);return a}function c(a,b,c,d){var e=["opacity",b,~~(100*a),c,d].join("-"),f=.01+c/d*100,g=Math.max(1-(1-a)/b*(100-f),a),h=j.substring(0,j.indexOf("Animation")).toLowerCase(),i=h&&"-"+h+"-"||"";return l[e]||(m.insertRule("@"+i+"keyframes "+e+"{0%{opacity:"+g+"}"+f+"%{opacity:"+a+"}"+(f+.01)+"%{opacity:1}"+(f+b)%100+"%{opacity:"+a+"}100%{opacity:"+g+"}}",m.cssRules.length),l[e]=1),e}function d(a,b){var c,d,e=a.style;for(b=b.charAt(0).toUpperCase()+b.slice(1),d=0;d
',c)}m.addRule(".spin-vml","behavior:url(#default#VML)"),h.prototype.lines=function(a,d){function f(){return e(c("group",{coordsize:k+" "+k,coordorigin:-j+" "+-j}),{width:k,height:k})}function h(a,h,i){b(m,b(e(f(),{rotation:360/d.lines*a+"deg",left:~~h}),b(e(c("roundrect",{arcsize:d.corners}),{width:j,height:d.width,left:d.radius,top:-d.width>>1,filter:i}),c("fill",{color:g(d.color,a),opacity:d.opacity}),c("stroke",{opacity:0}))))}var i,j=d.length+d.width,k=2*j,l=2*-(d.width+d.length)+"px",m=e(f(),{position:"absolute",top:l,left:l});if(d.shadow)for(i=1;i<=d.lines;i++)h(i,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)");for(i=1;i<=d.lines;i++)h(i);return b(a,m)},h.prototype.opacity=function(a,b,c,d){var e=a.firstChild;d=d.shadow&&d.lines||0,e&&b+d>1)+"px"})}for(var i,k=0,l=(f.lines-1)*(1-f.direction)/2;k * {
visibility: hidden;
diff --git a/app/less/cmd.less b/app/less/cmd.less
index c1765eb..2d0c81c 100644
--- a/app/less/cmd.less
+++ b/app/less/cmd.less
@@ -42,6 +42,10 @@
background: @BACKWARD;
border-color: @BACKWARD;
}
+ &.capper{
+ background: white;
+ color: @BG;
+ }
i{
color: @BG;
}
diff --git a/app/less/seq.less b/app/less/seq.less
index e6920ea..d8ad2f2 100644
--- a/app/less/seq.less
+++ b/app/less/seq.less
@@ -126,6 +126,13 @@
color: @BACKWARD + @SECOND;
}
}
+ #black{
+ input[type=checkbox]{
+ &:checked{
+ background: white;
+ }
+ }
+ }
input[type=checkbox]{
-webkit-appearance: none;
-moz-appearance: none;
@@ -141,6 +148,10 @@
display: inline-block;
box-sizing: border-box;
cursor: pointer;
+ &.disabled{
+ cursor: not-allowed;
+ border-color: rgb(100, 100, 100);
+ }
}
.L{
display: inline-block;
diff --git a/app/less/settings.less b/app/less/settings.less
index 88f87d6..8ed0b3b 100644
--- a/app/less/settings.less
+++ b/app/less/settings.less
@@ -1,4 +1,7 @@
#settings{
+ h4{
+ margin-bottom: 1px;
+ }
> div{
width: 300px;
margin: 0 auto;
@@ -6,7 +9,8 @@
> div > div{
width: 360px;
}
- input[type=text], select{
+ input[type=text],
+ select{
.button();
display: inline-block;
padding: 6px 12px;
@@ -17,6 +21,9 @@
color: @SELECTED;
}
}
+ input[type=text]{
+ width: 200px;
+ }
button{
margin-top: -1px;
float: right;
diff --git a/app/lib/alert/index.d.ts b/app/lib/alert/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/alert/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/alert/index.js b/app/lib/alert/index.js
new file mode 100644
index 0000000..ba185a3
--- /dev/null
+++ b/app/lib/alert/index.js
@@ -0,0 +1,58 @@
+'use strict';
+Object.defineProperty(exports, "__esModule", { value: true });
+/* class representing alert functionality */
+class Alert {
+ constructor(ui) {
+ this.id = 'alert';
+ this.cb = null;
+ this.ui = ui;
+ this.init();
+ }
+ /**
+ *
+ **/
+ async init() {
+ const Log = require('log');
+ this.log = await Log({ label: this.id });
+ this.ipc = require('electron').ipcMain;
+ this.listen();
+ }
+ /**
+ *
+ **/
+ listen() {
+ this.ipc.on(this.id, this.listener.bind(this));
+ }
+ /**
+ *
+ **/
+ async listener(event, arg) {
+ if (this.cb !== null) {
+ try {
+ await this.cb(arg.state, arg.id);
+ }
+ catch (err) {
+ this.log.error(err);
+ }
+ }
+ event.returnValue = true;
+ }
+ /**
+ *
+ **/
+ async start(cmd) {
+ const start = +new Date();
+ const msg = (cmd + '').replace('ALERT', '').replace('Alert', '').replace('alert', '').trim();
+ this.ui.send(this.id, { msg });
+ return new Promise(function (resolve, reject) {
+ this.cb = function () {
+ const ms = (+new Date()) - start;
+ return resolve(ms);
+ };
+ }.bind(this));
+ }
+}
+module.exports = function (ui) {
+ return new Alert(ui);
+};
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/app/lib/alert/index.js.map b/app/lib/alert/index.js.map
new file mode 100644
index 0000000..be739ef
--- /dev/null
+++ b/app/lib/alert/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/alert/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,4CAA4C;AAE5C,MAAM,KAAK;IAOV,YAAc,EAAQ;QAJd,OAAE,GAAY,OAAO,CAAA;QACrB,OAAE,GAAc,IAAI,CAAA;QAI3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,IAAI,EAAE,CAAA;IACZ,CAAC;IAED;;QAEI;IACI,KAAK,CAAC,IAAI;QACjB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE,KAAK,EAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QACzC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAA;QACtC,IAAI,CAAC,MAAM,EAAE,CAAA;IACd,CAAC;IAED;;QAEI;IACI,MAAM;QACb,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED;;QAEI;IACI,KAAK,CAAC,QAAQ,CAAE,KAAW,EAAE,GAAS;QAC7C,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;YACrB,IAAI;gBACH,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;aAChC;YAAC,OAAO,GAAG,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aACnB;SACD;QACD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,CAAC;IAED;;QAEI;IACG,KAAK,CAAC,KAAK,CAAE,GAAY;QAC/B,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAY,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACrG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;QAC9B,OAAO,IAAI,OAAO,CAAC,UAAU,OAAkB,EAAE,MAAiB;YACjE,IAAI,CAAC,EAAE,GAAG;gBACT,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;gBACjC,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC,CAAA;QACF,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACf,CAAC;CACD;AAED,MAAM,CAAC,OAAO,GAAG,UAAU,EAAQ;IAClC,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC,CAAA"}
\ No newline at end of file
diff --git a/app/lib/arduino/index.d.ts b/app/lib/arduino/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/arduino/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/arduino/index.js b/app/lib/arduino/index.js
index e693591..52c0c79 100644
--- a/app/lib/arduino/index.js
+++ b/app/lib/arduino/index.js
@@ -2,10 +2,10 @@
Object.defineProperty(exports, "__esModule", { value: true });
//import Log = require('log');
const delay_1 = require("delay");
-const SerialPort = require('serialport');
-const Readline = SerialPort.parsers.Readline;
+const { SerialPort } = require('serialport');
+const { ReadlineParser } = require('@serialport/parser-readline');
const exec = require('child_process').exec;
-const parser = new Readline('');
+const parser = new ReadlineParser({});
const newlineRe = new RegExp('\n', 'g');
const returnRe = new RegExp('\r', 'g');
let eventEmitter;
@@ -100,7 +100,6 @@ class Arduino {
//console.error(err)
return reject(err);
}
- //
});
});
}
@@ -190,7 +189,8 @@ class Arduino {
let connectSuccess;
this.path[serial] = device;
this.alias[serial] = device;
- this.serial[device] = new SerialPort(this.path[serial], {
+ this.serial[device] = new SerialPort({
+ path: this.path[serial],
autoOpen: false,
baudRate: cfg.arduino.baud,
parser: parser
@@ -241,7 +241,11 @@ class Arduino {
|| data === cfg.arduino.cmd.camera_second_forward
|| data === cfg.arduino.cmd.camera_second_backward
|| data === cfg.arduino.cmd.camera_second
- || data === cfg.arduino.cmd.cameras) {
+ || data === cfg.arduino.cmd.cameras
+ || data === cfg.arduino.cmd.capper_identifier
+ || data === cfg.arduino.cmd.camera_capper_identifier
+ || data === cfg.arduino.cmd.camera_capper_projector_identifier
+ || data === cfg.arduino.cmd.camera_capper_projectors_identifier) {
this.confirmExec(null, data);
this.confirmExec = {};
}
@@ -313,11 +317,24 @@ class Arduino {
else if (data === cfg.arduino.cmd.cameras_projectors_identifier) {
type = 'camera,camera_second,projector,projector_second';
}
+ else if (data === cfg.arduino.cmd.capper_identifier) {
+ type = 'capper';
+ }
+ else if (data === cfg.arduino.cmd.camera_capper_identifier) {
+ type = 'camera,capper';
+ }
+ else if (data === cfg.arduino.cmd.camera_capper_projector_identifier) {
+ type = 'camera,capper,projector';
+ }
+ else if (data === cfg.arduino.cmd.camera_capper_projectors_identifier) {
+ type = 'camera,capper,projector,projector_second';
+ }
return resolve(type);
};
await delay_1.delay(cfg.arduino.serialDelay);
try {
writeSuccess = await this.sendAsync(device, cfg.arduino.cmd.mcopy_identifier);
+ this.log.info(writeSuccess);
}
catch (e) {
return reject(e);
@@ -343,7 +360,9 @@ class Arduino {
write: async function (cmd, cb) {
const t = {
c: cfg.arduino.cam.time + cfg.arduino.cam.delay,
- p: cfg.arduino.proj.time + cfg.arduino.proj.delay
+ p: cfg.arduino.proj.time + cfg.arduino.proj.delay,
+ A: 180,
+ B: 180
};
let timeout = t[cmd];
if (typeof timeout === 'undefined')
diff --git a/app/lib/arduino/index.js.map b/app/lib/arduino/index.js.map
index fe419f7..fe8272e 100644
--- a/app/lib/arduino/index.js.map
+++ b/app/lib/arduino/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/arduino/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/arduino/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/app/lib/cam/index.d.ts b/app/lib/cam/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/cam/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/cam/index.js b/app/lib/cam/index.js
index c91f6eb..18074ee 100644
--- a/app/lib/cam/index.js
+++ b/app/lib/cam/index.js
@@ -10,7 +10,8 @@ class Camera {
constructor(arduino, cfg, ui, filmout, second = false) {
this.state = {
pos: 0,
- dir: true
+ dir: true,
+ capepr: false
};
this.arduino = null;
this.intval = null;
@@ -80,6 +81,27 @@ class Camera {
}
return await this.end(cmd, id, ms);
}
+ /**
+ *
+ **/
+ async cap(state, id) {
+ let cmd;
+ let ms;
+ if (state) {
+ cmd = this.cfg.arduino.cmd[`${this.id}_forward`];
+ }
+ else {
+ cmd = this.cfg.arduino.cmd[`${this.id}_backward`];
+ }
+ this.state.capper = state;
+ try {
+ ms = await this.arduino.send(this.id, cmd);
+ }
+ catch (err) {
+ this.log.error(err);
+ }
+ return await this.end(cmd, id, ms);
+ }
/**
*
**/
@@ -202,6 +224,14 @@ class Camera {
else if (typeof arg.val !== 'undefined') {
this.state.pos = arg.val;
}
+ else if (typeof arg.capper !== 'undefined') {
+ try {
+ await this.cap(arg.capper, arg.id);
+ }
+ catch (err) {
+ this.log.error(err);
+ }
+ }
event.returnValue = true;
}
/**
diff --git a/app/lib/cam/index.js.map b/app/lib/cam/index.js.map
index 8afb303..2a2fb57 100644
--- a/app/lib/cam/index.js.map
+++ b/app/lib/cam/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cam/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cam/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/app/lib/capper/index.d.ts b/app/lib/capper/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/capper/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/capper/index.js b/app/lib/capper/index.js
new file mode 100644
index 0000000..6d2b33c
--- /dev/null
+++ b/app/lib/capper/index.js
@@ -0,0 +1,89 @@
+'use strict';
+Object.defineProperty(exports, "__esModule", { value: true });
+/** class representing capper functions **/
+class Capper {
+ /**
+ *
+ **/
+ constructor(arduino, cfg, ui, filmout) {
+ this.state = {
+ capper: false
+ };
+ this.arduino = null;
+ this.id = 'capper';
+ this.arduino = arduino;
+ this.cfg = cfg;
+ this.ui = ui;
+ this.filmout = filmout;
+ this.init();
+ }
+ /**
+ *
+ **/
+ async init() {
+ const Log = require('log');
+ this.log = await Log({ label: this.id });
+ this.ipc = require('electron').ipcMain;
+ this.listen();
+ }
+ /**
+ *
+ **/
+ listen() {
+ this.ipc.on(this.id, this.listener.bind(this));
+ }
+ /**
+ *
+ **/
+ async capper(state, id) {
+ let cmd;
+ let ms;
+ if (state) {
+ cmd = this.cfg.arduino.cmd[`${this.id}_on`];
+ }
+ else {
+ cmd = this.cfg.arduino.cmd[`${this.id}_off`];
+ }
+ this.state.capper = state;
+ try {
+ ms = await this.arduino.send(this.id, cmd);
+ }
+ catch (err) {
+ this.log.error(err);
+ }
+ return await this.end(cmd, id, ms);
+ }
+ /**
+ *
+ **/
+ async listener(event, arg) {
+ if (typeof arg.state !== 'undefined') {
+ try {
+ await this.capper(arg.state, arg.id);
+ }
+ catch (err) {
+ this.log.error(err);
+ }
+ }
+ event.returnValue = true;
+ }
+ /**
+ *
+ **/
+ async end(cmd, id, ms) {
+ let message = '';
+ if (cmd === this.cfg.arduino.cmd.capper_on) {
+ message = 'Capper set to ON';
+ }
+ else if (cmd === this.cfg.arduino.cmd.capper_off) {
+ message = 'Capper set to OFF';
+ }
+ message += ` ${ms}ms`;
+ this.log.info(message);
+ this.ui.send(this.id, { cmd: cmd, id: id, ms: ms });
+ }
+}
+module.exports = function (arduino, cfg, ui, filmout) {
+ return new Capper(arduino, cfg, ui, filmout);
+};
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/app/lib/capper/index.js.map b/app/lib/capper/index.js.map
new file mode 100644
index 0000000..6698de0
--- /dev/null
+++ b/app/lib/capper/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capper/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/app/lib/cmd/index.d.ts b/app/lib/cmd/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/cmd/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/cmd/index.js b/app/lib/cmd/index.js
index b159fc6..db6fa3a 100644
--- a/app/lib/cmd/index.js
+++ b/app/lib/cmd/index.js
@@ -12,17 +12,20 @@ class Commands {
* @param {object} cam Camera 1
* @param {object} light Light source
* @param {object} cam2 (optional) Camera 2
- * @param {object} proj2 {optional} Projector 2
+ * @param {object} proj2 (optional) Projector 2
**/
- constructor(cfg, proj, cam, light, cam2 = null, proj2 = null) {
+ constructor(cfg, proj, cam, light, alert, cam2 = null, proj2 = null, capper = null) {
this.cfg = cfg;
this.proj = proj;
this.cam = cam;
this.light = light;
- if (cam2)
+ this.alertObj = alert;
+ if (cam2 !== null)
this.cam2 = cam2;
- if (proj2)
+ if (proj2 !== null)
this.proj2 = proj2;
+ if (capper !== null)
+ this.capper = capper;
this.ipc = require('electron').ipcMain;
}
/**
@@ -68,13 +71,14 @@ class Commands {
/**
* Move the camera one frame forward
*
- * @param {array} rgb Color to set light for frame
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- async camera_forward(rgb = [255, 255, 255]) {
+ async camera_forward() {
const id = uuid_1.v4();
const off = [0, 0, 0];
+ let rgb = [255, 255, 255];
let ms;
try {
if (!this.cam.state.dir) {
@@ -101,18 +105,25 @@ class Commands {
async black_forward() {
const id = uuid_1.v4();
const off = [0, 0, 0];
- let ms;
+ let ms = 0;
try {
if (!this.cam.state.dir) {
await delay_1.delay(this.cfg.arduino.serialDelay);
await this.cam.set(true);
}
await delay_1.delay(this.cfg.arduino.serialDelay);
+ if (this.capper) {
+ ms += await this.capper.capper(true, id);
+ }
+ await delay_1.delay(this.cfg.arduino.serialDelay);
await this.light.set(off, id); //make sure set to off
await delay_1.delay(this.cfg.arduino.serialDelay);
- ms = await this.cam.move();
+ ms += await this.cam.move();
await delay_1.delay(this.cfg.arduino.serialDelay);
await this.light.set(off, id);
+ if (this.capper) {
+ ms += await this.capper.capper(false, id);
+ }
}
catch (err) {
throw err;
@@ -122,13 +133,14 @@ class Commands {
/**
* Move the camera one frame backward
*
- * @param {array} rgb Color to set light for frame
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- async camera_backward(rgb = [255, 255, 255]) {
+ async camera_backward() {
const id = uuid_1.v4();
const off = [0, 0, 0];
+ let rgb = [255, 255, 255];
let ms;
try {
if (this.cam.state.dir) {
@@ -155,18 +167,24 @@ class Commands {
async black_backward() {
const id = uuid_1.v4();
const off = [0, 0, 0];
- let ms;
+ let ms = 0;
try {
if (this.cam.state.dir) {
await delay_1.delay(this.cfg.arduino.serialDelay);
await this.cam.set(false);
}
+ if (this.capper) {
+ ms += await this.capper.capper(true, id);
+ }
await delay_1.delay(this.cfg.arduino.serialDelay);
await this.light.set(off, id); //make sure set to off
await delay_1.delay(this.cfg.arduino.serialDelay);
- ms = await this.cam.move();
+ ms += await this.cam.move();
await delay_1.delay(this.cfg.arduino.serialDelay);
await this.light.set(off, id);
+ if (this.capper) {
+ ms += await this.capper.capper(false, id);
+ }
}
catch (err) {
throw err;
@@ -176,13 +194,14 @@ class Commands {
/**
* Move the second camera one frame forward
*
- * @param {array} rgb Color to set light for frame
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- async camera_second_forward(rgb = [255, 255, 255]) {
+ async camera_second_forward() {
const id = uuid_1.v4();
const off = [0, 0, 0];
+ let rgb = [255, 255, 255];
let ms;
try {
if (!this.cam2.state.dir) {
@@ -204,13 +223,14 @@ class Commands {
/**
* Move the second camera one frame backward
*
- * @param {array} rgb Color to set light for frame
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- async camera_second_backward(rgb = [255, 255, 255]) {
+ async camera_second_backward() {
const id = uuid_1.v4();
const off = [0, 0, 0];
+ let rgb = [255, 255, 255];
let ms;
try {
if (this.cam2.state.dir) {
@@ -232,13 +252,14 @@ class Commands {
/**
* Move the both cameras one frame forward
*
- * @param {array} rgb Color to set light for frame
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- async cameras_forward(rgb = [255, 255, 255]) {
+ async cameras_forward() {
const id = uuid_1.v4();
const off = [0, 0, 0];
+ let rgb = [255, 255, 255];
let both;
let ms;
try {
@@ -273,13 +294,14 @@ class Commands {
/**
* Move the both cameras one frame backward
*
- * @param {array} rgb Color to set light for frame
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- async cameras_backward(rgb = [255, 255, 255]) {
+ async cameras_backward() {
const id = uuid_1.v4();
const off = [0, 0, 0];
+ let rgb = [255, 255, 255];
let both;
let ms;
try {
@@ -314,13 +336,14 @@ class Commands {
/**
* Move first camera one frame forward and rewind secondary camera one frame backward
*
- * @param {array} rgb Color to set light for frames
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- async camera_forward_camera_second_backward(rgb = [255, 255, 255]) {
+ async camera_forward_camera_second_backward() {
const id = uuid_1.v4();
const off = [0, 0, 0];
+ let rgb = [255, 255, 255];
let both;
let ms;
try {
@@ -355,13 +378,14 @@ class Commands {
/**
* Rewind first camera one frame backward and move secondary camera one frame forward
*
- * @param {array} rgb Color to set light for frame
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- async camera_backward_camera_second_forward(rgb = [255, 255, 255]) {
+ async camera_backward_camera_second_forward() {
const id = uuid_1.v4();
const off = [0, 0, 0];
+ let rgb = [255, 255, 255];
let both;
let ms;
try {
@@ -570,8 +594,23 @@ class Commands {
}
return ms;
}
+ /**
+ * Throws an alert to pause a sequence
+ *
+ * @returns {integer} Length of action in ms
+ **/
+ async alert(cmd) {
+ let ms;
+ try {
+ ms = await this.alertObj.start(cmd.light); //change this meta
+ }
+ catch (err) {
+ throw err;
+ }
+ return ms;
+ }
}
-module.exports = function (cfg, proj, cam, light, cam2, proj2) {
- return new Commands(cfg, proj, cam, light, cam2, proj2);
+module.exports = function (cfg, proj, cam, light, alert, cam2, proj2, capper) {
+ return new Commands(cfg, proj, cam, light, alert, cam2, proj2, capper);
};
//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/app/lib/cmd/index.js.map b/app/lib/cmd/index.js.map
index f91a2d1..b8797fd 100644
--- a/app/lib/cmd/index.js.map
+++ b/app/lib/cmd/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cmd/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cmd/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/app/lib/delay/index.d.ts b/app/lib/delay/index.d.ts
new file mode 100644
index 0000000..e69de29
diff --git a/app/lib/devices/index.d.ts b/app/lib/devices/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/devices/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/devices/index.js b/app/lib/devices/index.js
index 0a64a76..2ace91e 100644
--- a/app/lib/devices/index.js
+++ b/app/lib/devices/index.js
@@ -170,6 +170,22 @@ class Devices {
this.log.info('Connected to fake LIGHT device', 'SERIAL', true, true);
return true;
}
+ /**
+ *
+ **/
+ async fakeCapper() {
+ this.connected.capper = '/dev/fake';
+ try {
+ await this.arduino.fakeConnect('capper');
+ }
+ catch (err) {
+ console.error(err);
+ this.log.error(`Error connecting to fake CAPPER device`, 'SERIAL', true, true);
+ return false;
+ }
+ this.log.info('Connected to fake CAPPER device', 'SERIAL', true, true);
+ return true;
+ }
/**
*
**/
@@ -302,7 +318,7 @@ class Devices {
return false;
}
}
- else if ('camera,projector,projector_second') {
+ else if (type === 'camera,projector,projector_second') {
this.connected.camera = device;
this.connected.projector = device;
this.connected.projector_second = device;
@@ -316,7 +332,7 @@ class Devices {
return false;
}
}
- else if ('camera,camera_second,projector') {
+ else if (type === 'camera,camera_second,projector') {
this.connected.camera = device;
this.connected.camera_second = device;
this.connected.projector = device;
@@ -330,7 +346,7 @@ class Devices {
return false;
}
}
- else if ('camera,camera_second,projector,projector_second') {
+ else if (type === 'camera,camera_second,projector,projector_second') {
this.connected.camera = device;
this.connected.camera_second = device;
this.connected.projector = device;
@@ -346,6 +362,58 @@ class Devices {
return false;
}
}
+ else if (type === 'capper') {
+ this.connected.capper = device;
+ try {
+ connectSuccess = await this.arduino.connect('capper', device, false);
+ }
+ catch (err) {
+ this.log.error('Error connecting capper', err);
+ return false;
+ }
+ }
+ else if (type === 'camera,capper') {
+ this.connected.camera = device;
+ this.connected.capper = device;
+ this.arduino.aliasSerial('capper', device);
+ try {
+ connectSuccess = await this.arduino.connect('camera', device, false);
+ }
+ catch (err) {
+ this.log.error('Error connecting to camera and capper', err);
+ return false;
+ }
+ }
+ else if (type === 'camera,capper,projector') {
+ this.connected.camera = device;
+ this.connected.capper = device;
+ this.connected.projector = device;
+ this.arduino.aliasSerial('capper', device);
+ this.arduino.aliasSerial('projector', device);
+ try {
+ connectSuccess = await this.arduino.connect('camera', device, false);
+ }
+ catch (err) {
+ this.log.error('Error connecting to camera, capper and projector', err);
+ return false;
+ }
+ }
+ else if (type === 'camera,capper,projector,projector_second') {
+ this.connected.camera = device;
+ this.connected.capper = device;
+ this.connected.projector = device;
+ this.connected.projector_second = device;
+ this.arduino.aliasSerial('capper', device);
+ this.arduino.aliasSerial('projector', device);
+ this.arduino.aliasSerial('projector_second', device);
+ try {
+ connectSuccess = await this.arduino.connect('camera', device, false);
+ }
+ catch (err) {
+ this.log.error('Error connecting to camera, capper, projector and projector_second', err);
+ return false;
+ }
+ }
return connectSuccess;
}
/**
@@ -360,12 +428,14 @@ class Devices {
let d;
let cs = {};
let ps = {};
+ let capper = {};
let checklist = [];
this.connected = {
projector: false,
camera: false,
light: false,
- projector_second: false
+ projector_second: false,
+ capper: false
};
for (let device of devices) {
try {
@@ -397,15 +467,18 @@ class Devices {
}
l.arduino = this.connected.light;
if (this.connected.camera_second) {
- cs = { arduino: this.connected.camera_second };
+ cs.arduino = this.connected.camera_second;
}
if (this.connected.projector_second) {
- ps = { arduino: this.connected.projector_second };
+ ps.arduino = this.connected.projector_second;
+ }
+ if (this.connected.capper) {
+ capper.arduino = this.connected.capper;
}
if (this.settings.state.camera && this.settings.state.camera.intval) {
c.intval = this.settings.state.camera.intval;
}
- return this.ready(p, c, l, cs, ps);
+ return this.ready(p, c, l, cs, ps, capper);
}
/**
*
@@ -419,7 +492,7 @@ class Devices {
});
if (match.length === 0) {
deviceEntry = {
- type: type
+ type
};
deviceEntry[which] = device;
this.settings.state.devices.push(deviceEntry);
@@ -430,7 +503,7 @@ class Devices {
/**
*
**/
- ready(projector, camera, light, camera_second, projector_second) {
+ ready(projector, camera, light, camera_second, projector_second, capper) {
let args = {
camera,
projector,
@@ -452,6 +525,11 @@ class Devices {
this.mainWindow.setSize(800, 800);
}
}
+ if (capper && capper.arduino) {
+ args.capper = capper;
+ this.mainWindow.setSize(800, 800);
+ this.settings.update('capper', capper);
+ }
this.settings.update('camera', camera);
this.settings.update('projector', projector);
this.settings.update('light', light);
diff --git a/app/lib/devices/index.js.map b/app/lib/devices/index.js.map
index fd06dab..45eac8b 100644
--- a/app/lib/devices/index.js.map
+++ b/app/lib/devices/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/devices/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/devices/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/app/lib/display/index.d.ts b/app/lib/display/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/display/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/exec/index.d.ts b/app/lib/exec/index.d.ts
new file mode 100644
index 0000000..001b960
--- /dev/null
+++ b/app/lib/exec/index.d.ts
@@ -0,0 +1,13 @@
+declare const execRaw: any;
+/**
+ * Promisified child_process.exec
+ *
+ * @param cmd
+ * @param arg
+ * @param opts See child_process.exec node docs
+ * @param {stream.Writable} opts.stdout If defined, child process stdout will be piped to it.
+ * @param {stream.Writable} opts.stderr If defined, child process stderr will be piped to it.
+ *
+ * @returns {Promise<{ stdout: string, stderr: stderr }>}
+ */
+declare function exec(...args: string[]): Promise;
diff --git a/app/lib/exit/index.d.ts b/app/lib/exit/index.d.ts
new file mode 100644
index 0000000..6a939da
--- /dev/null
+++ b/app/lib/exit/index.d.ts
@@ -0,0 +1,8 @@
+/**
+ * Exit process with either a 0 code or other
+ * specified failure code. Print message to console first.
+ *
+ * @param {string} msg Reason for exit
+ * @param {integer} code process exit code, default 0
+ **/
+declare function exit(msg: string, code?: number): void;
diff --git a/app/lib/ffmpeg/index.d.ts b/app/lib/ffmpeg/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/ffmpeg/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/ffprobe/index.d.ts b/app/lib/ffprobe/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/ffprobe/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/filmout/index.d.ts b/app/lib/filmout/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/filmout/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/frame/index.d.ts b/app/lib/frame/index.d.ts
new file mode 100644
index 0000000..11935c4
--- /dev/null
+++ b/app/lib/frame/index.d.ts
@@ -0,0 +1,15 @@
+interface RGBA {
+ r: number;
+ g: number;
+ b: number;
+ a: number;
+}
+export default class Frame {
+ static info(imagePath: string): Promise<{
+ width: any;
+ height: any;
+ }>;
+ static solidColor(width: number, height: number, color: RGBA): Promise;
+ static blend(inPath: any, color: RGBA, imagePath: string): Promise;
+}
+export {};
diff --git a/app/lib/intval/index.d.ts b/app/lib/intval/index.d.ts
new file mode 100644
index 0000000..c00ab7f
--- /dev/null
+++ b/app/lib/intval/index.d.ts
@@ -0,0 +1,9 @@
+declare class Intval {
+ private _baseUrl;
+ private req;
+ constructor(url: string);
+ move(): Promise;
+ setDir(dir: boolean): Promise;
+ setExposure(exposure: number, cb: Function): Promise;
+ connect(cb: Function): void;
+}
diff --git a/app/lib/light/index.d.ts b/app/lib/light/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/light/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/log/index.d.ts b/app/lib/log/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/log/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/mscript/index.d.ts b/app/lib/mscript/index.d.ts
new file mode 100644
index 0000000..0a89f28
--- /dev/null
+++ b/app/lib/mscript/index.d.ts
@@ -0,0 +1,243 @@
+/** @module lib/mscript */
+interface RGB extends Array {
+ [index: number]: number;
+}
+/** class Mscript */
+export default class Mscript {
+ output: any;
+ lines: string[];
+ cam: number;
+ cam2: number;
+ proj: number;
+ proj2: number;
+ color: string;
+ loops: any[];
+ rec: number;
+ two: string;
+ three: string;
+ four: string;
+ arr: any[];
+ meta: string[];
+ target: number;
+ dist: number;
+ variables: any;
+ /**
+ * @constructor
+ * Create new Mscript interpreter
+ **/
+ constructor();
+ /**
+ * Clear the state of the script
+ */
+ clear(): void;
+ /**
+ * Main function, accepts multi-line string, parses into lines
+ * and interprets the instructions from the text. Returns an array
+ * of steps to be fed into the mcopy sequence.
+ *
+ * @param {string} text Mscript text to interpret
+ * @param {function} callback Function to call when string is interpreted
+ *
+ * @returns {object} if callback is not provided
+ */
+ interpret(text: string, callback?: Function): any;
+ /**
+ * Interprets variables for complex sequence behavior.
+ * TODO: Fully implement, add test coverage
+ *
+ * @param {string} line Line containing a variable assignment
+ *
+ **/
+ variable(line: string): void;
+ /**
+ * Replace variable with value at time of interpretation
+ * TODO: Implement this please
+ *
+ * @param {string} line Line containing variable to be replaced with value
+ *
+ * @returns {string} New string to be interpreted
+ **/
+ variable_replace(line: string): string;
+ /**
+ * Interpret a basic two character command
+ *
+ * @param {string} line Line of script to interpret
+ * @param {string} short The short command to use
+ */
+ basic_cmd(line: string, short: string): void;
+ /**
+ * Start a new loop
+ *
+ * @param {string} line Line to evaluate as either loop or fade
+ * @param {boolean} fade Flag as true if fade
+ */
+ new_loop(line: string, fade?: boolean): void;
+ /**
+ * Close the most recent loop
+ *
+ * @param {string} line Line to interpret
+ */
+ end_loop(line: string): void;
+ /**
+ * Move camera to explicitly-defined frame
+ *
+ * @param {string} line Line to interpret with camera move statement
+ */
+ move_cam(line: string): void;
+ /**
+ * Move secondary camera to explicitly-defined frame
+ *
+ * @param {string} line Line to interpret with camera move statement
+ */
+ move_cam2(line: string): void;
+ /**
+ * Move projector to explicitly-defined frame
+ *
+ * @param {string} line Line containing `move` statement to interpret
+ */
+ move_proj(line: string): void;
+ /**
+ * Move projector to explicitly-defined frame
+ *
+ * @param {string} line Line containing `move` statement to interpret
+ */
+ move_proj2(line: string): void;
+ /**
+ * Set the state of either the cam or projector
+ *
+ * @param line {string} String containing set statement
+ */
+ set_state(line: string): void;
+ /**
+ * Return the last loop
+ *
+ * @returns {object}
+ */
+ last_loop(): any;
+ /**
+ * Return the second-last loop
+ *
+ * @returns {object} Loop array
+ */
+ parent_loop(): any;
+ /**
+ * Extract the loop count integer from a LOOP cmd
+ *
+ * @returns {integer} Loop count in string parsed into integer
+ */
+ loop_count(str: string): number;
+ /**
+ * Execute a fade of frame length, from color to another color
+ *
+ * @param {string} line Line containing a fade initiator
+ */
+ fade(line: string): void;
+ /**
+ * Extract the fade length integer from a FADE cmd
+ *
+ * @param {string} str Line containing the length of fade in frames
+ */
+ fade_count(str: string): number;
+ /**
+ * Extract the start color from a string
+ *
+ * @param {string} str Line containing the start color value in a fade initiator
+ *
+ * @returns {array} Array containing RGB color values
+ */
+ fade_start(str: string): RGB;
+ /**
+ * Extract the end color from a string
+ *
+ * @param {string} str Line containing the end color value in a fade initiator
+ *
+ * @returns {array} Array containing RGB color values
+ */
+ fade_end(str: string): RGB;
+ /**
+ * Determine the state of a fade at a particular frame in the sequence, x
+ *
+ * @param {array} start Color the fade starts at
+ * @param {array} end Color the fade finishes at
+ * @param {integer} len Total length of the fade in frames
+ * @param {integer} x Position of the fade to get color value of
+ *
+ * @returns {array} Array containing RGB color values
+ */
+ fade_rgb(start: RGB, end: RGB, len: number, x: number): string;
+ /**
+ * Parse string into array of RGB color values. 0-255 octet.
+ *
+ * @param {string} str String containing only color values as `#,#,#`
+ **/
+ rgb(str: string): RGB;
+ /**
+ * Cast RGB color values as string
+ *
+ * @param {array} arr Array to join into string
+ *
+ * @returns {string} String of RGB values
+ **/
+ rgb_str(arr: RGB): string;
+ /**
+ * Increase the state of a specific object, such as the camera/projector,
+ * by the value defined in val.
+ *
+ * @param {string} cmd String representing command to interpret and update state
+ */
+ update(cmd: string, val?: number): void;
+ /**
+ * Split string on command, turn into array of commands
+ * as long as count variable. Default 1.
+ *
+ * @param {string} str String to split
+ * @param {string} cmd String representing command to split at
+ *
+ * @returns {array} Array containing commands
+ */
+ str_to_arr(str: string, cmd: string): string[];
+ /**
+ * Split a string on a command to extract data for light array
+ *
+ * @param {string} str String containing light command
+ * @param {string} cmd String representing command
+ *
+ * @returns {array} An RGB array containing the color values
+ */
+ light_to_arr(str: string, cmd: string): RGB;
+ /**
+ * Split a string to extract an rgb color value
+ *
+ * @param {string} Color string assign to color property
+ */
+ light_state(str: string): void;
+ /**
+ * Interpret a pause command
+ *
+ * @param {string} line String containing pause command
+ **/
+ pause(line: string): void;
+ /**
+ * Interpret an alert command
+ *
+ * @param {string} line String containing pause command
+ **/
+ alert(line: string): void;
+ /**
+ * Throw an error with specific message
+ *
+ * @param {string} msg Error message to print
+ */
+ fail(msg: string): void;
+ /**
+ * Determine if array contains matching elements of
+ * another array
+ *
+ * @param {Array} arr Original array to compare
+ * @param {Array} arr2 Array to compare elements from
+ *
+ * @returns {boolean} Whether arr contains elements in arr2
+ **/
+ contains(arr: string[], arr2: string[]): boolean;
+}
+export {};
diff --git a/app/lib/mscript/index.js b/app/lib/mscript/index.js
index daf4dbd..1833918 100644
--- a/app/lib/mscript/index.js
+++ b/app/lib/mscript/index.js
@@ -1,4 +1,5 @@
'use strict';
+Object.defineProperty(exports, "__esModule", { value: true });
const BLACK = '0,0,0';
const WHITE = '255,255,255';
const CMD = [
@@ -7,7 +8,35 @@ const CMD = [
'BF',
'CB',
'PB',
- 'BB'
+ 'BB',
+ 'C2F',
+ 'C2B',
+ 'CCF',
+ 'CCB',
+ 'P2F',
+ 'P2B',
+ 'PPF',
+ 'PPB',
+ 'CFCB',
+ 'CBCF',
+ 'PFPB',
+ 'PBPF'
+];
+const CAMERA_SECONDARY = [
+ 'C2F',
+ 'C2B',
+ 'CCF',
+ 'CCB',
+ 'CFCB',
+ 'CBCF'
+];
+const PROJECTOR_SECONDARY = [
+ 'P2F',
+ 'P2B',
+ 'PPF',
+ 'PPB',
+ 'PFPB',
+ 'PBPF'
];
const ALTS = {
'CF': ['CAMERA FORWARD', 'CAM FORWARD'],
@@ -17,7 +46,19 @@ const ALTS = {
'PB': ['PROJECTOR FORWARD', 'PROJ FORWARD', 'PROJECTOR BACK', 'PROJ BACK'],
'BB': ['BLACK BACKWARD', 'BLACK BACK', 'BLANK BACK'],
'L ': ['LIGHT', 'COLOR', 'LAMP'],
- 'F ': ['FADE']
+ 'F ': ['FADE'],
+ 'C2F': ['CAMERA2 FORWARD', 'CAM2 FORWARD'],
+ 'C2B': ['CAMERA2 BACKWARD', 'CAM2 BACKWARD', 'CAMERA2 BACK', 'CAM2 BACK'],
+ 'CCF': ['CAMERAS FORWARD', 'CAMS FORWARD'],
+ 'CCB': ['CAMERAS BACKWARD', 'CAMS BACKWARD', 'CAMERAS BACK', 'CAMS BACK'],
+ 'P2F': ['PROJECTOR2 FORWARD', 'PROJ2 FORWARD'],
+ 'P2B': ['PROJECTOR2 BACKWARD', 'PROJ2 BACKWARD', 'PROJECTOR2 BACK', 'PROJ2 BACK'],
+ 'PPF': ['PROJECTORS FORWARD', 'PROJS FORWARD'],
+ 'PPB': ['PROJECTORS BACKWARD', 'PROJS BACKWARD', 'PROJECTORS BACK', 'PROJS BACK'],
+ 'CFCB': [],
+ 'CBCF': [],
+ 'PFPB': [],
+ 'PBPF': []
};
const PAUSE = 'PAUSE';
const ALERT = 'ALERT';
@@ -56,11 +97,15 @@ class Mscript {
clear() {
this.lines = [];
this.cam = 0;
+ this.cam2 = 0;
this.proj = 0;
+ this.proj2 = 0;
this.color = '';
this.loops = [];
this.rec = -1;
this.two = '';
+ this.three = '';
+ this.four = '';
this.arr = [];
this.meta = [];
this.target = 0; //move to target using CAM # or PROJ #
@@ -78,7 +123,7 @@ class Mscript {
*
* @returns {object} if callback is not provided
*/
- interpret(text, callback) {
+ interpret(text, callback = null) {
this.clear();
if (typeof text === 'undefined') {
return this.fail('No input');
@@ -93,11 +138,19 @@ class Mscript {
});
for (let line of this.lines) {
this.two = line.substring(0, 2);
- if (CMD.indexOf(this.two) !== -1) {
- this.basic_cmd(line);
+ this.three = line.substring(0, 3);
+ this.four = line.substring(0, 4);
+ if (CMD.indexOf(this.four) !== -1) {
+ this.basic_cmd(line, this.four);
+ }
+ else if (CMD.indexOf(this.three) !== -1) {
+ this.basic_cmd(line, this.three);
+ }
+ else if (CMD.indexOf(this.two) !== -1) {
+ this.basic_cmd(line, this.two);
}
else if (startsWith(line, PAUSE)) {
- this.pause(line);
+ //this.pause(line);
}
else if (startsWith(line, ALERT)) {
this.alert(line);
@@ -117,9 +170,15 @@ class Mscript {
else if (startsWith(line, 'END')) {
this.end_loop(line);
}
- else if (startsWith(line, 'CAM')) { //directly go to that frame (black?)
+ else if (startsWith(line, 'CAM2')) { //directly go to that frame
+ this.move_cam2(line);
+ }
+ else if (startsWith(line, 'CAM')) { //directly go to that frame
this.move_cam(line);
}
+ else if (startsWith(line, 'PROJ2')) { //directly go to that frame
+ this.move_proj2(line);
+ }
else if (startsWith(line, 'PROJ')) { //directly go to that frame
this.move_proj(line);
}
@@ -130,18 +189,19 @@ class Mscript {
//comments
//ignore while parsing
}
- else if (startsWith(line, 'ALERT')) {
- }
- else if (startsWith(line, 'PAUSE')) {
- this.pause(line);
- }
}
this.output.success = true;
this.output.arr = this.arr; //all instructions
this.output.meta = this.meta; //all metadata for instructions
this.output.cam = this.cam;
this.output.proj = this.proj;
- if (typeof callback !== 'undefined') {
+ if (this.contains(this.arr, CAMERA_SECONDARY)) {
+ this.output.cam2 = this.cam2;
+ }
+ if (this.contains(this.arr, PROJECTOR_SECONDARY)) {
+ this.output.proj2 = this.proj2;
+ }
+ if (typeof callback !== 'undefined' && callback != null) {
//should only be invoked by running mscript.tests()
callback(this.output);
}
@@ -203,25 +263,26 @@ class Mscript {
* Interpret a basic two character command
*
* @param {string} line Line of script to interpret
+ * @param {string} short The short command to use
*/
- basic_cmd(line) {
+ basic_cmd(line, short) {
if (this.rec !== -1) {
//hold generated arr in state loop array
this.loops[this.rec].arr
- .push.apply(this.loops[this.rec].arr, this.str_to_arr(line, this.two));
+ .push.apply(this.loops[this.rec].arr, this.str_to_arr(line, short));
this.loops[this.rec].meta
- .push.apply(this.loops[this.rec].meta, this.light_to_arr(line, this.two));
+ .push.apply(this.loops[this.rec].meta, this.light_to_arr(line, short));
}
else {
- this.arr.push.apply(this.arr, this.str_to_arr(line, this.two));
- this.meta.push.apply(this.meta, this.light_to_arr(line, this.two));
+ this.arr.push.apply(this.arr, this.str_to_arr(line, short));
+ this.meta.push.apply(this.meta, this.light_to_arr(line, short));
}
}
/**
* Start a new loop
*
* @param {string} line Line to evaluate as either loop or fade
- * @param {boolean} fade Flag as boolean if true
+ * @param {boolean} fade Flag as true if fade
*/
new_loop(line, fade) {
this.rec++;
@@ -230,6 +291,8 @@ class Mscript {
meta: [],
cam: 0,
proj: 0,
+ cam2: 0,
+ proj2: 0,
cmd: line + ''
};
if (fade) {
@@ -315,6 +378,50 @@ class Mscript {
}
}
}
+ /**
+ * Move secondary camera to explicitly-defined frame
+ *
+ * @param {string} line Line to interpret with camera move statement
+ */
+ move_cam2(line) {
+ this.target = parseInt(line.split('CAM2 ')[1]);
+ if (this.rec !== -1) {
+ if (this.target > this.cam2) {
+ this.dist = this.target - this.cam2;
+ for (let x = 0; x < this.dist; x++) {
+ this.loops[this.rec].arr.push('C2F');
+ this.loops[this.rec].meta.push(BLACK);
+ this.update('C2F');
+ }
+ }
+ else {
+ this.dist = this.cam2 - this.target;
+ for (let x = 0; x < this.dist; x++) {
+ this.loops[this.rec].arr.push('C2B');
+ this.loops[this.rec].meta.push(BLACK);
+ this.update('C2B');
+ }
+ }
+ }
+ else {
+ if (this.target > this.cam2) {
+ this.dist = this.target - this.cam2;
+ for (let x = 0; x < this.dist; x++) {
+ this.arr.push('C2F');
+ this.meta.push(BLACK);
+ this.update('C2F');
+ }
+ }
+ else {
+ this.dist = this.cam2 - this.target;
+ for (let x = 0; x < this.dist; x++) {
+ this.arr.push('C2B');
+ this.meta.push(BLACK);
+ this.update('C2B');
+ }
+ }
+ }
+ }
/**
* Move projector to explicitly-defined frame
*
@@ -359,13 +466,63 @@ class Mscript {
}
}
}
+ /**
+ * Move projector to explicitly-defined frame
+ *
+ * @param {string} line Line containing `move` statement to interpret
+ */
+ move_proj2(line) {
+ this.target = parseInt(line.split('PROJ2 ')[1]);
+ if (this.rec !== -1) {
+ if (this.target > this.proj2) {
+ this.dist = this.target - this.proj2;
+ for (let x = 0; x < this.dist; x++) {
+ this.loops[this.rec].arr.push('P2F');
+ this.loops[this.rec].meta.push('');
+ this.update('P2F');
+ }
+ }
+ else {
+ this.dist = this.proj2 - this.target;
+ for (let x = 0; x < this.dist; x++) {
+ this.loops[this.rec].arr.push('P2B');
+ this.loops[this.rec].meta.push('');
+ this.update('P2B');
+ }
+ }
+ }
+ else {
+ if (this.target > this.proj2) {
+ this.dist = this.target - this.proj2;
+ for (let x = 0; x < this.dist; x++) {
+ this.arr.push('P2F');
+ this.meta.push('');
+ this.update('P2F');
+ }
+ }
+ else {
+ this.dist = this.proj2 - this.target;
+ for (let x = 0; x < this.dist; x++) {
+ this.arr.push('P2B');
+ this.meta.push('');
+ this.update('P2B');
+ }
+ }
+ }
+ }
/**
* Set the state of either the cam or projector
*
* @param line {string} String containing set statement
*/
set_state(line) {
- if (startsWith(line, 'SET CAM')) {
+ if (startsWith(line, 'SET CAM2')) {
+ parseInt(line.split('SET CAM2')[1]);
+ }
+ else if (startsWith(line, 'SET PROJ2')) {
+ this.cam2 = parseInt(line.split('SET PROJ2')[1]);
+ }
+ else if (startsWith(line, 'SET CAM')) {
this.cam = parseInt(line.split('SET CAM')[1]);
}
else if (startsWith(line, 'SET PROJ')) {
@@ -523,7 +680,7 @@ class Mscript {
this.cam -= val;
}
else {
- this.loops[this.rec].cam--;
+ this.loops[this.rec].cam -= val;
}
}
else if (cmd === 'PF') {
@@ -539,7 +696,7 @@ class Mscript {
this.proj -= val;
}
else {
- this.loops[this.rec].proj--;
+ this.loops[this.rec].proj -= val;
}
}
else if (cmd === 'BF') {
@@ -558,6 +715,118 @@ class Mscript {
this.loops[this.rec].cam -= val;
}
}
+ else if (cmd === 'C2F') {
+ if (this.rec === -1) {
+ this.cam2 += val;
+ }
+ else {
+ this.loops[this.rec].cam2 += val;
+ }
+ }
+ else if (cmd === 'C2B') {
+ if (this.rec === -1) {
+ this.cam2 -= val;
+ }
+ else {
+ this.loops[this.rec].cam2 -= val;
+ }
+ }
+ else if (cmd === 'CCF') {
+ if (this.rec === -1) {
+ this.cam += val;
+ this.cam2 += val;
+ }
+ else {
+ this.loops[this.rec].cam2 += val;
+ this.loops[this.rec].cam2 += val;
+ }
+ }
+ else if (cmd === 'CCB') {
+ if (this.rec === -1) {
+ this.cam -= val;
+ this.cam2 -= val;
+ }
+ else {
+ this.loops[this.rec].cam2 -= val;
+ this.loops[this.rec].cam2 -= val;
+ }
+ }
+ else if (cmd === 'P2F') {
+ if (this.rec === -1) {
+ this.proj2 += val;
+ }
+ else {
+ this.loops[this.rec].proj2 += val;
+ }
+ }
+ else if (cmd === 'P2B') {
+ if (this.rec === -1) {
+ this.proj2 -= val;
+ }
+ else {
+ this.loops[this.rec].proj2 -= val;
+ }
+ }
+ else if (cmd === 'PPF') {
+ if (this.rec === -1) {
+ this.proj += val;
+ this.proj2 += val;
+ }
+ else {
+ this.loops[this.rec].proj += val;
+ this.loops[this.rec].proj2 += val;
+ }
+ }
+ else if (cmd === 'PPB') {
+ if (this.rec === -1) {
+ this.proj -= val;
+ this.proj2 -= val;
+ }
+ else {
+ this.loops[this.rec].proj -= val;
+ this.loops[this.rec].proj2 -= val;
+ }
+ }
+ else if (cmd === 'CFCB') {
+ if (this.rec === -1) {
+ this.cam += val;
+ this.cam2 -= val;
+ }
+ else {
+ this.loops[this.rec].cam += val;
+ this.loops[this.rec].cam2 -= val;
+ }
+ }
+ else if (cmd === 'CBCF') {
+ if (this.rec === -1) {
+ this.cam -= val;
+ this.cam2 += val;
+ }
+ else {
+ this.loops[this.rec].cam -= val;
+ this.loops[this.rec].cam2 += val;
+ }
+ }
+ else if (cmd === 'PFPB') {
+ if (this.rec === -1) {
+ this.proj += val;
+ this.proj2 -= val;
+ }
+ else {
+ this.loops[this.rec].proj += val;
+ this.loops[this.rec].proj2 -= val;
+ }
+ }
+ else if (cmd === 'PBPF') {
+ if (this.rec === -1) {
+ this.proj -= val;
+ this.proj2 += val;
+ }
+ else {
+ this.loops[this.rec].proj -= val;
+ this.loops[this.rec].proj2 += val;
+ }
+ }
else if (cmd === 'L ') {
}
}
@@ -654,7 +923,7 @@ class Mscript {
.push(lenStr);
}
else {
- this.arr.push('AL');
+ this.arr.push('PA');
this.meta.push(lenStr);
}
}
@@ -671,11 +940,11 @@ class Mscript {
this.loops[this.rec].arr
.push('AL');
this.loops[this.rec].meta
- .push(msg);
+ .push(line);
}
else {
this.arr.push('AL');
- this.meta.push(msg);
+ this.meta.push(line);
}
}
/**
@@ -686,6 +955,19 @@ class Mscript {
fail(msg) {
throw new Error(msg);
}
+ /**
+ * Determine if array contains matching elements of
+ * another array
+ *
+ * @param {Array} arr Original array to compare
+ * @param {Array} arr2 Array to compare elements from
+ *
+ * @returns {boolean} Whether arr contains elements in arr2
+ **/
+ contains(arr, arr2) {
+ return arr.some(r => arr2.includes(r));
+ }
}
+exports.default = Mscript;
module.exports = Mscript;
//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/app/lib/mscript/index.js.map b/app/lib/mscript/index.js.map
index ea5ec61..1f6946d 100644
--- a/app/lib/mscript/index.js.map
+++ b/app/lib/mscript/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mscript/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mscript/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/app/lib/processing/index.d.ts b/app/lib/processing/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/processing/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/proj/index.d.ts b/app/lib/proj/index.d.ts
new file mode 100644
index 0000000..ae6360f
--- /dev/null
+++ b/app/lib/proj/index.d.ts
@@ -0,0 +1,2 @@
+/** class representing the Projector features **/
+export {};
diff --git a/app/lib/sequencer/index.d.ts b/app/lib/sequencer/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/sequencer/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/sequencer/index.js b/app/lib/sequencer/index.js
index a742f34..443f866 100644
--- a/app/lib/sequencer/index.js
+++ b/app/lib/sequencer/index.js
@@ -230,8 +230,7 @@ class Sequencer {
const cmdOriginal = this.arr[x].cmd;
const cmd = this.CMDS[cmdOriginal];
this.log.info(`CMD: '${cmdOriginal}' -> ${cmd}`);
- //I wrote this when I was very tired and delirious
- return await this.cmd[cmd]();
+ return await this.cmd[cmd](this.arr[x]);
}
}
module.exports = function (cfg, cmd, ui) {
diff --git a/app/lib/sequencer/index.js.map b/app/lib/sequencer/index.js.map
index 08bcbc7..d6935bb 100644
--- a/app/lib/sequencer/index.js.map
+++ b/app/lib/sequencer/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sequencer/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sequencer/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/app/lib/settings/index.d.ts b/app/lib/settings/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/settings/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/settings/index.js b/app/lib/settings/index.js
index 869e3b4..c52b69d 100644
--- a/app/lib/settings/index.js
+++ b/app/lib/settings/index.js
@@ -18,7 +18,8 @@ class Settings {
profile: 'mcopy',
camera: {},
projector: {},
- light: {}
+ light: {},
+ capper: {}
};
this.state = this.freshState();
}
diff --git a/app/lib/settings/index.js.map b/app/lib/settings/index.js.map
index 09bd78c..0903e4c 100644
--- a/app/lib/settings/index.js.map
+++ b/app/lib/settings/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/settings/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/settings/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/app/lib/system/index.d.ts b/app/lib/system/index.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/app/lib/system/index.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/app/lib/ui/alert.js b/app/lib/ui/alert.js
new file mode 100644
index 0000000..35ce560
--- /dev/null
+++ b/app/lib/ui/alert.js
@@ -0,0 +1,27 @@
+'use strict';
+let alertObj;
+class Alert {
+ constructor() {
+ this.id = 'alert';
+ }
+ init() {
+ this.listen();
+ }
+ start(msg) {
+ alert(msg);
+ this.end();
+ }
+ end() {
+ const obj = {};
+ ipcRenderer.sendSync(this.id, obj);
+ }
+ listen() {
+ ipcRenderer.on(this.id, (function (event, arg) {
+ this.start(arg.msg);
+ }).bind(this));
+ }
+ ;
+}
+alertObj = new Alert();
+module.exports = alertObj;
+//# sourceMappingURL=alert.js.map
\ No newline at end of file
diff --git a/app/lib/ui/alert.js.map b/app/lib/ui/alert.js.map
new file mode 100644
index 0000000..91eb38c
--- /dev/null
+++ b/app/lib/ui/alert.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../src/lib/ui/alert.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAOb,IAAI,QAAgB,CAAC;AAErB,MAAM,KAAK;IAGV;QAFA,OAAE,GAAY,OAAO,CAAC;IAGtB,CAAC;IAEM,IAAI;QACV,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAEM,KAAK,CAAE,GAAY;QACzB,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;IAEO,GAAG;QACV,MAAM,GAAG,GAAS,EAAE,CAAC;QAErB,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAEO,MAAM;QACb,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,UAAU,KAAa,EAAE,GAAS;YAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChB,CAAC;IAAA,CAAC;CAEF;AAED,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC;AACvB,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC"}
\ No newline at end of file
diff --git a/app/lib/ui/capper.js b/app/lib/ui/capper.js
new file mode 100644
index 0000000..c759c73
--- /dev/null
+++ b/app/lib/ui/capper.js
@@ -0,0 +1,72 @@
+'use strict';
+let capper;
+class Capper {
+ constructor() {
+ this.enabled = false;
+ this.queue = {};
+ this.lock = false;
+ this.id = 'capper';
+ this.state = false;
+ }
+ init() {
+ this.listen();
+ }
+ enable() {
+ $('.black').addClass('on');
+ $('#cmd_black_forward').parent().removeClass('hide');
+ $('#cmd_black_backward').parent().removeClass('hide');
+ $('#cmd_capper_on').parent().removeClass('hide');
+ $('#cmd_capper_off').parent().removeClass('hide');
+ this.enabled = true;
+ }
+ capper(state, callback) {
+ let obj;
+ if (this.lock) {
+ return false;
+ }
+ obj = {
+ state,
+ id: uuid()
+ };
+ ipcRenderer.sendSync(this.id, obj);
+ if (typeof callback !== 'undefined') {
+ obj.callback = callback;
+ }
+ this.queue[obj.id] = obj;
+ this.lock = true;
+ this.state = state;
+ if (state) {
+ $('#cmd_capper_on').addClass('active');
+ $('#cmd_capper_off').removeClass('active');
+ }
+ else {
+ $('#cmd_capper_off').addClass('active');
+ $('#cmd_capper_on').removeClass('active');
+ }
+ }
+ end(c, id, ms) {
+ if (c === cfg.arduino.cmd.capper_on) {
+ this.state = true;
+ }
+ else if (c === cfg.arduino.cmd.capper_off) {
+ this.state = false;
+ }
+ if (typeof this.queue[id] !== 'undefined') {
+ if (typeof this.queue[id].callback !== 'undefined') {
+ this.queue[id].callback(ms);
+ }
+ delete this.queue[id];
+ this.lock = false;
+ }
+ }
+ listen() {
+ ipcRenderer.on(this.id, function (event, arg) {
+ capper.end(arg.cmd, arg.id, arg.ms);
+ return event.returnValue = true;
+ });
+ }
+ ;
+}
+capper = new Capper();
+module.exports = capper;
+//# sourceMappingURL=capper.js.map
\ No newline at end of file
diff --git a/app/lib/ui/capper.js.map b/app/lib/ui/capper.js.map
new file mode 100644
index 0000000..b246024
--- /dev/null
+++ b/app/lib/ui/capper.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"capper.js","sourceRoot":"","sources":["../../src/lib/ui/capper.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/app/lib/ui/cmd.js b/app/lib/ui/cmd.js
index 7815c61..3e53eee 100644
--- a/app/lib/ui/cmd.js
+++ b/app/lib/ui/cmd.js
@@ -155,24 +155,63 @@ cmd.black_forward = function (callback) {
if (callback) { callback(ms); }
};
$('#cmd_black_forward').addClass('active');
+
if (!cam.dir) {
- cam.set(true, function () {
- setTimeout( function () {
- light.display(off);
- light.set(off, function () {
- setTimeout( function () {
- cam.move(res);
- }, cfg.arduino.serialDelay);
- });
- }, cfg.arduino.serialDelay);
- });
+ if (capper.enabled) {
+ cam.set(true, function () {
+ setTimeout( function () {
+ capper.capper(true, function () {
+ setTimeout( function () {
+ light.display(off);
+ light.set(off, function () {
+ setTimeout( function () {
+ cam.move(function () {
+ setTimeout(function () {
+ capper.capper(false, res);
+ }, cfg.arduino.serialDelay);
+ });
+ }, cfg.arduino.serialDelay);
+ });
+ }, cfg.arduino.serialDelay)
+ })
+ }, cfg.arduino.serialDelay);
+ });
+ } else {
+ cam.set(true, function () {
+ setTimeout( function () {
+ light.display(off);
+ light.set(off, function () {
+ setTimeout( function () {
+ cam.move(res);
+ }, cfg.arduino.serialDelay);
+ });
+ }, cfg.arduino.serialDelay);
+ });
+ }
} else {
- light.display(off);
- light.set(off, function () {
- setTimeout(function () {
- cam.move(res);
- }, cfg.arduino.serialDelay);
- });
+ if (capper.enabled) {
+ capper.capper(true, function () {
+ setTimeout( function () {
+ light.display(off);
+ light.set(off, function () {
+ setTimeout( function () {
+ cam.move(function () {
+ setTimeout(function () {
+ capper.capper(false, res);
+ }, cfg.arduino.serialDelay);
+ });
+ }, cfg.arduino.serialDelay);
+ });
+ }, cfg.arduino.serialDelay);
+ });
+ } else {
+ light.display(off);
+ light.set(off, function () {
+ setTimeout(function () {
+ cam.move(res);
+ }, cfg.arduino.serialDelay);
+ });
+ }
}
};
/**
@@ -226,21 +265,57 @@ cmd.black_backward = function (callback) {
};
$('#cmd_black_backward').addClass('active');
if (cam.dir) {
- cam.set(false, function () {
+ if (capper.enabled) {
+ cam.set(false, function () {
+ setTimeout( function () {
+ capper.capper(true, function () {
+ setTimeout(function () {
+ light.display(off);
+ light.set(off, function () {
+ cam.move(function () {
+ setTimeout(function () {
+ capper.capper(false, res);
+ }, cfg.arduino.serialDelay);
+ });
+ });
+ }, cfg.arduino.serialDelay);
+ });
+ }, cfg.arduino.serialDelay);
+ });
+ } else {
+ cam.set(false, function () {
+ setTimeout(function () {
+ light.display(off);
+ light.set(off, function () {
+ cam.move(res);
+ });
+ }, cfg.arduino.serialDelay);
+ });
+ }
+ } else {
+ if (capper.enabled) {
+ capper.capper(true, function () {
+ setTimeout( function () {
+ light.display(off);
+ light.set(off, function () {
+ setTimeout( function () {
+ cam.move(function () {
+ setTimeout(function () {
+ capper.capper(false, res);
+ }, cfg.arduino.serialDelay);
+ });
+ }, cfg.arduino.serialDelay);
+ });
+ }, cfg.arduino.serialDelay);
+ });
+ } else {
setTimeout(function () {
light.display(off);
light.set(off, function () {
cam.move(res);
});
}, cfg.arduino.serialDelay);
- });
- } else {
- setTimeout(function () {
- light.display(off);
- light.set(off, function () {
- cam.move(res);
- });
- }, cfg.arduino.serialDelay);
+ }
}
};
@@ -534,4 +609,32 @@ cmd.projector_second_to = function (t) {
}
}
+/**
+ * Turn the capper on (block the camera)
+ *
+ * @param {function} callback Function to call after capper is on
+ **/
+cmd.capper_on = function (callback) {
+ 'use strict';
+ var res = function (ms) {
+ gui.updateState();
+ if (callback) { callback(ms); }
+ };
+ capper.capper(true, res);
+};
+
+/**
+ * Turn the capper off (not blocking the camera)
+ *
+ * @param {function} callback Function to call after capper is off
+ **/
+cmd.capper_off = function (callback) {
+ 'use strict';
+ var res = function (ms) {
+ gui.updateState();
+ if (callback) { callback(ms); }
+ };
+ capper.capper(false, res);
+};
+
module.exports = cmd;
\ No newline at end of file
diff --git a/app/lib/ui/devices.js b/app/lib/ui/devices.js
index 8159861..c9fde1d 100644
--- a/app/lib/ui/devices.js
+++ b/app/lib/ui/devices.js
@@ -85,11 +85,6 @@ class Devices {
}
//devices.profile(arg.profile)
}
- seq.set(0, cfg.cmd.camera_forward);
- seq.set(1, cfg.cmd.projector_forward);
- grid.state(0);
- grid.state(1);
- seq.stats();
if (arg.projector_second) {
//add second row of projector pads to grid
proj.second.enable();
@@ -98,6 +93,15 @@ class Devices {
//add second row of camera pads to grid
cam.second.enable();
}
+ if (arg.capper) {
+ //add capper features to grid
+ capper.enable();
+ }
+ seq.set(0, cfg.cmd.camera_forward);
+ seq.set(1, cfg.cmd.projector_forward);
+ grid.state(0);
+ grid.state(1);
+ seq.stats();
return event.returnValue = true;
});
}
diff --git a/app/lib/ui/devices.js.map b/app/lib/ui/devices.js.map
index 9a1a754..818060d 100644
--- a/app/lib/ui/devices.js.map
+++ b/app/lib/ui/devices.js.map
@@ -1 +1 @@
-{"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/lib/ui/devices.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;AAEb,qCAAqC;AAGrC,IAAI,OAAiB,CAAC;AAEtB,MAAM,OAAO;IAEZ;QADQ,OAAE,GAAY,SAAS,CAAC;IAGhC,CAAC;IACD,IAAI;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClB,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM;QACL,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEK,KAAK,CAAE,KAAW,EAAE,GAAS;;YAClC,kBAAkB;YAClB,IAAI,GAAS,CAAC;YACd,IAAI,IAAI,GAAW,EAAE,CAAC;YACtB,IAAI,MAAM,GAAY,eAAe,CAAC;YACtC,IAAI,CAAO,CAAC;YACZ,YAAY;YACZ,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAElB,IAAI;gBACH,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACnB;YAAC,OAAO,GAAG,EAAE;gBACb,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACf;YACD,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;gBAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC1B,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,EAAE;oBACrD,IAAI,MAAM,KAAK,eAAe,EAAE;wBAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAA;qBAC9B;yBAAM;wBACN,MAAM,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;qBAC/B;iBACD;gBACD,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;gBACpB,GAAG,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC1B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC9B;YAED,IAAI,MAAM,KAAK,eAAe,EAAE;gBAC/B,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;aAC9B;iBAAM;gBACN,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAA;aAClD;YAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;gBACtB,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE;oBACnB,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;oBACpB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACX,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACZ,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;iBAC1B;aACD;YAED,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE;gBACvB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAC9B,GAAG,CAAC,IAAI,CAAC,gCAAgC,GAAG,CAAC,OAAO,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChF,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC9B,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;oBACxD,KAAK,CAAC,OAAO,EAAE,CAAC;iBAChB;qBAAM;oBACN,KAAK,CAAC,MAAM,EAAE,CAAC;iBACf;gBACD,8BAA8B;aAC9B;YAED,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACnC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACd,GAAG,CAAC,KAAK,EAAE,CAAC;YAEZ,IAAI,GAAG,CAAC,gBAAgB,EAAE;gBACzB,0CAA0C;gBAC1C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;aACrB;YACD,IAAI,GAAG,CAAC,aAAa,EAAE;gBACtB,uCAAuC;gBACvC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;aACpB;YACD,OAAO,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QACjC,CAAC;KAAA;IAED,QAAQ;QACP,MAAM,IAAI,GAAc,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,IAAI,GAAS,CAAC,CAAC,UAAU,CAAC,CAAA;QAChC,IAAI,GAAG,CAAC;QACR,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;YACrB,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;YACpB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACjB;QACD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAO,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAY,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAY,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAE,OAAgB;QACxB,GAAG,CAAC,IAAI,CAAC,qCAAqC,OAAO,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACjF,MAAM,CAAC,GAAS,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,IAAI,GAAW,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;YACrB,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;SACpB;QACD,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;YACxD,KAAK,CAAC,OAAO,EAAE,CAAC;SAChB;aAAM;YACN,KAAK,CAAC,MAAM,EAAE,CAAC;SACf;QACD,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,MAAM;QACL,MAAM,GAAG,GAAY,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAY,CAAC;QAClD,IAAI,OAAO,GAAa,KAAK,CAAC;QAC9B,IAAI,GAAG,GAAS;YACf,OAAO,EAAE,IAAI;YACb,GAAG;SACH,CAAC;QAEF,IAAK,GAAG,KAAK,EAAE,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;YAC9C,OAAO,GAAG,OAAO,CAAC,iDAAiD,GAAG,GAAG,CAAC,CAAC;SAC3E;aAAM;YACN,KAAK,CAAC,2CAA2C,CAAC,CAAC;SACnD;QAED,IAAI,OAAO,EAAE;YACZ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,GAAG,EAAE,CAAC,CAAC;YACpD,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;SAChC;aAAM;YACN,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SACnC;IACF,CAAC;IAGD,QAAQ,CAAE,GAAS,EAAE,IAAU;QAC9B,IAAI,KAAW,CAAC;QAChB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAC9C,eAAe;YACf,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;YACxB,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;YAC1B,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACpD,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,0BAA0B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;YAC3D,GAAG,CAAC,WAAW,EAAE,CAAA;SACjB;aAAM;YACN,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SACnC;IACF,CAAC;IAED,UAAU;QACT,MAAM,GAAG,GAAY,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,EAAY,CAAC;QACtD,IAAI,OAAO,GAAa,KAAK,CAAC;QAC9B,IAAI,GAAG,GAAS;YACf,GAAG;SACH,CAAC;QAEF,IAAK,GAAG,KAAK,EAAE,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;YAC9C,OAAO,GAAG,OAAO,CAAC,oDAAoD,GAAG,GAAG,CAAC,CAAC;SAC9E;aAAM;YACN,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACtD;QAED,IAAI,OAAO,EAAE;YACZ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,8BAA8B,GAAG,EAAE,CAAC,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;SACpC;aAAM;YACN,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SACvC;IACF,CAAC;IAED,YAAY;QACX,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,UAAU;QACT,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,4DAA4D,CAAC,CAAC;IACjF,CAAC;CACD;AAED,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAExB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC"}
\ No newline at end of file
+{"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/lib/ui/devices.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/app/lib/ui/grid.js b/app/lib/ui/grid.js
index 49dacd2..6e9f24a 100644
--- a/app/lib/ui/grid.js
+++ b/app/lib/ui/grid.js
@@ -6,6 +6,9 @@ let grid;
class Grid {
constructor() {
this.swatchesElem = {};
+ this.projector_cmds = [
+ 'PF', 'PB', 'P2F', 'P2B', 'PPF', 'PPB'
+ ];
}
init() {
this.refresh();
@@ -24,8 +27,8 @@ class Grid {
const step = seq.grid[x];
let className;
let className2;
+ elem.prop('checked', false);
if (typeof step !== 'undefined') {
- elem.prop('checked', false);
if (step.cmd === cfg.cmd.cameras_forward) {
className = cfg.cmd.camera_forward;
className2 = cfg.cmd.camera_second_forward;
@@ -58,6 +61,14 @@ class Grid {
className = cfg.cmd.projector_backward;
className2 = cfg.cmd.projector_second_forward;
}
+ else if (step.cmd === cfg.cmd.black_forward) {
+ className = cfg.cmd.camera_forward;
+ className2 = 'black';
+ }
+ else if (step.cmd === cfg.cmd.black_backward) {
+ className = cfg.cmd.camera_backward;
+ className2 = 'black';
+ }
else {
className = step.cmd;
}
@@ -75,6 +86,12 @@ class Grid {
.removeClass('a')
.prop('title', '');
}
+ if (capper.enabled && this.projector_cmds.indexOf(step.cmd) !== -1) {
+ $(`.black[x=${x}]`).addClass('disabled');
+ }
+ else if (capper.enabled) {
+ $(`.black[x=${x}]`).removeClass('disabled');
+ }
}
else {
lightElem.css('background', 'transparent')
@@ -113,6 +130,7 @@ class Grid {
'camera_second_backward',
'projector_backward',
'projector_second_backward',
+ 'black',
'light_set',
'numbers'
];
@@ -132,6 +150,10 @@ class Grid {
elem = ``;
$(cmd).append($(elem));
}
+ else if (cmds[i] === 'black') {
+ elem = ``;
+ $(cmd).append($(elem));
+ }
else {
elem = ``;
$(cmd).append($(elem).addClass(cfg.cmd[cmds[i]]));
@@ -159,7 +181,24 @@ class Grid {
current = seq.grid[x].cmd + ''; // cast to string, bad hack
}
if (checked) {
- if (cam.second.enabled && current.indexOf('C') !== -1) {
+ if (c.indexOf('black') !== -1) {
+ if (other === '') {
+ c = cfg.cmd.black_forward;
+ }
+ else if (current.indexOf('C') !== -1) {
+ if (other == cfg.cmd.camera_forward) {
+ c = cfg.cmd.black_forward;
+ }
+ else if (other === cfg.cmd.camera_backward) {
+ c = cfg.cmd.black_backward;
+ }
+ }
+ else if (current.indexOf('P') !== -1) {
+ $(elem).prop('checked', false);
+ return;
+ }
+ }
+ else if (cam.second.enabled && current.indexOf('C') !== -1) {
if (c === cfg.cmd.camera_forward) {
if (other === cfg.cmd.camera_second_forward) {
c = cfg.cmd.cameras_forward;
@@ -254,7 +293,27 @@ class Grid {
seq.set(x, c);
}
else {
- if (cam.second.enabled && current.indexOf('C') !== -1) {
+ if (c.indexOf('black') !== -1) {
+ if (current === 'BF' || current === 'BB') {
+ if (other === cfg.cmd.camera_forward) {
+ c = cfg.cmd.camera_forward;
+ }
+ else if (other === cfg.cmd.camera_backward) {
+ c = cfg.cmd.camera_backward;
+ }
+ }
+ else if (current.indexOf('P') !== -1) {
+ $(elem).prop('checked', false);
+ return;
+ }
+ }
+ else if (other === 'black' && current === cfg.cmd.camera_forward) {
+ c = '';
+ }
+ else if (other === 'black' && current === cfg.cmd.camera_backward) {
+ c = '';
+ }
+ else if (cam.second.enabled && current.indexOf('C') !== -1) {
if (current === cfg.cmd.cameras_forward) {
if (other === cfg.cmd.camera_second_forward) {
c = cfg.cmd.camera_second_forward;
diff --git a/app/lib/ui/grid.js.map b/app/lib/ui/grid.js.map
index c2aef30..4ed300f 100644
--- a/app/lib/ui/grid.js.map
+++ b/app/lib/ui/grid.js.map
@@ -1 +1 @@
-{"version":3,"file":"grid.js","sourceRoot":"","sources":["../../src/lib/ui/grid.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"grid.js","sourceRoot":"","sources":["../../src/lib/ui/grid.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/app/lib/ui/mscript.js b/app/lib/ui/mscript.js
index 769c6da..f3f6355 100644
--- a/app/lib/ui/mscript.js
+++ b/app/lib/ui/mscript.js
@@ -1,231 +1,284 @@
-const mse = {};
-
+'use strict';
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+///
+const mscript_1 = __importDefault(require("mscript"));
/******
- Mscript GUI
+ Mscript GUI
*******/
-mse.mscript = {};
-mse.mscript.editor = {};
-mse.mscript.data = {};
-mse.mscript.raw = '';
-mse.mscript.init = function () {
- 'use strict';
- $('#editor').val('CF 1\nPF 1');
- mse.mscript.editor = CodeMirror.fromTextArea(document.getElementById('editor'), {
- lineNumbers: true,
- mode: 'python',
- matchBrackets: true,
- theme: 'monokai'
- });
- mse.mscript.editor.setSize(null, $(window).height() - $('footer').eq(0).height() - 30);
- mse.mscript.editor.on('change', function (e) {
- //
- });
- $(document).on('resize', function (e) {
- mse.mscript.editor.setSize(null, $(window).height() - $('footer').eq(0).height() - 30);
- });
-};
-mse.mscript.open = function () {
- 'use strict';
- mse.mscript.editor.setSize(null, $(window).height() - $('footer').eq(0).height() - 30);
- mse.mscript.editor.refresh();
-};
-mse.mscript.fromSequence = function () {
- //ehhhhh
- 'use strict';
- let str;
- let tmp = [];
- let cont;
- let cmd;
- //str = seq.grid.map(step => { return step.cmd }).join('\n'); //quick hack
- //console.dir(seq.grid);
- for (let step of seq.grid) {
- if (!step || !step.cmd) continue;
- cmd = step.cmd;
- if (tmp.length > 0 && tmp[tmp.length - 1].cmd === cmd) {
- tmp[tmp.length - 1].num++;
- continue;
- }
- tmp.push({ cmd : cmd, num : 1 });
- }
- tmp = tmp.map(line => {
- return `${line.cmd} ${line.num}`
- })
- //console.dir(tmp)
- if (seq.gridLoops > 1) {
- tmp.map(line => {
- return ` ${line}`;
- })
- tmp.reverse();
- tmp.push(`LOOP ${seq.gridLoops}`);
- tmp.reverse();
- tmp.push('END');
- }
-
- str = tmp.join('\n');
-
- nav.change('script');
- cont = confirm(`Are you sure you want to over-write the current sequence?`);
- if (cont) {
- mse.mscript.editor.getDoc().setValue(str);
- }
-};
-mse.mscript.toGUI = function () {
- 'use strict';
- let c;
- let step;
- for (let x = 0; x < mse.mscript.data.arr.length; x++) {
- c = mse.mscript.data.arr[x];
- seq.set(x, c);
- if (c === 'CF' || c === 'CB') {
- if (typeof mse.mscript.data.meta[x] !== 'undefined' && mse.mscript.data.meta[x] !== '') {
- seq.setLight(x, mse.mscript.data.meta[x]);
- } else {
- seq.setLight(x, light.color);
- }
- } else {
- //unset light?
- }
- grid.state(x);
- }
-};
-mse.mscript.toSequence = function () {
- 'use strict';
- const data = mse.mscript.editor.getValue();
- let cont;
- if (data !== mse.mscript.raw) {
- cont = confirm(`Current script has not been compiled. Compile first?`);
- if (cont) {
- mse.mscript.compile()
- }
- }
- mse.console.print(`Sending compiled script to GUI sequencer...`);
- seq.clear();
- mse.mscript.toGUI();
- grid.refresh();
- seq.stats();
- return nav.change('sequencer');
+class MscriptGUI {
+ constructor() {
+ this.editor = {};
+ this.data = {};
+ this.raw = '';
+ }
+ /**
+ * Initializes the mscript GUI. Sets up CodeMirror instance,
+ * binds events and sets height of editor.
+ **/
+ init() {
+ const startingScript = `CF 1
+PF 1`;
+ const editorHeight = $(window).height() - $('footer').eq(0).height() - 30;
+ const editorElem = document.getElementById('editor');
+ const editorConfig = {
+ lineNumbers: true,
+ mode: 'python',
+ matchBrackets: true,
+ theme: 'monokai'
+ };
+ $('#editor').val(startingScript);
+ this.editor = CodeMirror.fromTextArea(editorElem, editorConfig);
+ this.editor.setSize(null, editorHeight);
+ this.editor.on('change', (e) => { });
+ $(document).on('resize', function (e) {
+ this.editor.setSize(null, editorHeight);
+ }.bind(this));
+ }
+ /**
+ * Callback for when open event occurs.
+ **/
+ open() {
+ //recalcuate in case resize has occurred needed
+ const editorHeight = $(window).height() - $('footer').eq(0).height() - 30;
+ this.editor.setSize(null, editorHeight);
+ this.editor.refresh();
+ }
+ /**
+ * Create script from the sequencer's current state.
+ * Previous comment: ehhhh
+ * TODO: Make this smarter.
+ **/
+ fromSequence() {
+ let str;
+ let tmp = [];
+ let cont;
+ let cmd;
+ //str = seq.grid.map(step => { return step.cmd }).join('\n'); //quick hack
+ //console.dir(seq.grid);
+ for (let step of seq.grid) {
+ if (!step || !step.cmd) {
+ continue;
+ }
+ cmd = step.cmd;
+ if (tmp.length > 0 && tmp[tmp.length - 1].cmd === cmd) {
+ tmp[tmp.length - 1].num++;
+ continue;
+ }
+ tmp.push({ cmd, num: 1 });
+ }
+ tmp = tmp.map(line => {
+ return `${line.cmd} ${line.num}`;
+ });
+ if (seq.gridLoops > 1) {
+ tmp.map(line => {
+ return ` ${line}`;
+ });
+ tmp.reverse();
+ tmp.push(`LOOP ${seq.gridLoops}`);
+ tmp.reverse();
+ tmp.push('END');
+ }
+ str = tmp.join('\n');
+ nav.change('script');
+ cont = confirm(`Are you sure you want to over-write the current sequence?`);
+ if (cont) {
+ this.editor.getDoc().setValue(str);
+ }
+ }
+ /**
+ * Take current compiled mscript state and send it to the sequencer
+ * GUI. TODO: Add confirm step if sequence is longer than X steps.
+ * TODO: Make this smarter (detect outer non-fade loop and assign to loop counter)
+ **/
+ toGUI() {
+ let c;
+ let step;
+ for (let x = 0; x < this.data.arr.length; x++) {
+ c = this.data.arr[x];
+ seq.set(x, c);
+ if (c === 'CF' || c === 'CB') {
+ if (typeof this.data.meta[x] !== 'undefined' && this.data.meta[x] !== '') {
+ seq.setLight(x, this.data.meta[x]);
+ }
+ else {
+ seq.setLight(x, light.color);
+ }
+ }
+ else {
+ //unset light?
+ }
+ grid.state(x);
+ }
+ }
+ /**
+ * Handles compilation of mscript and switches to sequencer
+ * GUI after confirmation questions.
+ **/
+ toSequence() {
+ const data = this.editor.getValue();
+ let cont = false;
+ if (data !== this.raw) {
+ cont = confirm(`Current script has not been compiled. Compile first?`);
+ if (cont) {
+ this.compile();
+ }
+ }
+ mse.console.print(`Sending compiled script to GUI sequencer...`);
+ seq.clear();
+ this.toGUI();
+ grid.refresh();
+ seq.stats();
+ return nav.change('sequencer');
+ }
+ /**
+ * Compiles text in editor using the Mscript library.
+ *
+ **/
+ compile() {
+ const data = this.editor.getValue();
+ const mscript = new mscript_1.default();
+ const output = mscript.interpret(data);
+ const len = output.arr.length;
+ const cam2 = typeof output.cam2 !== 'undefined' ? `, CAM2 : ${output.cam2}` : '';
+ const proj2 = typeof output.proj2 !== 'undefined' ? `, PROJ2 : ${output.proj2}` : '';
+ const report = `Sequence contains ${len} step${(len === 1 ? '' : 's')}, CAM: ${output.cam}, PROJ: ${output.proj}${cam2}${proj2}`;
+ this.raw = data;
+ this.data = output;
+ //mse.console.print(JSON.stringify(output, null, '\t') + '\n')
+ mse.console.print(report);
+ }
+ /**
+ * This function re-writes the optional "meta" attribute
+ * of an mcopy command object to "light". TODO: change this.
+ * Do not re-write this object and improve the consumers
+ * of the compiled data.
+ **/
+ prepare() {
+ const arr = [];
+ let obj;
+ for (let i = 0; i < this.data.arr.length; i++) {
+ obj = {
+ cmd: this.data.arr[i]
+ };
+ if (typeof this.data.meta[i] !== 'undefined' && this.data.meta[i] !== '') {
+ obj.light = this.data.meta[i];
+ }
+ else {
+ obj.light = light.color.join(',');
+ }
+ arr.push(obj);
+ }
+ return arr;
+ }
+ /**
+ * Method which compiles script if needs and then runs as a sequence.
+ **/
+ run() {
+ const data = this.editor.getValue();
+ let arr;
+ let cont = false;
+ if (data !== this.raw) {
+ cont = confirm(`Current script has not been compiled. Compile first?`);
+ if (cont) {
+ this.compile();
+ }
+ }
+ arr = this.prepare();
+ mse.console.print(`Started running compiled sequence...`);
+ gui.overlay(true);
+ gui.spinner(true, `Running mscript sequence...`, true, true);
+ return seq.exec(arr, 1);
+ }
}
-mse.mscript.compile = function () {
- 'use strict';
- const data = mse.mscript.editor.getValue();
- const mscript = new Mscript();
- let output = mscript.interpret(data);
- let len = output.arr.length;
-
- mse.mscript.raw = data;
- mse.mscript.data = output;
- //mse.console.print(JSON.stringify(output, null, '\t') + '\n')
- mse.console.print(`Sequence contains ${len} step${(len === 1 ? '' : 's')}, CAM: ${output.cam}, PROJ: ${output.proj}`);
-};
-
-mse.mscript.prepare = function () {
- 'use strict';
- const arr = [];
- let obj;
- for (let i = 0; i < mse.mscript.data.arr.length; i++) {
- obj = {
- cmd : mse.mscript.data.arr[i]
- };
- if (typeof mse.mscript.data.meta[i] !== 'undefined' && mse.mscript.data.meta[i] !== '') {
- obj.light = mse.mscript.data.meta[i];
- } else {
- obj.light = light.color.join(',');
- }
- arr.push(obj);
- }
- return arr;
-};
-
-mse.mscript.run = function () {
- 'use strict';
- const data = mse.mscript.editor.getValue();
- let arr;
- let cont;
- if (data !== mse.mscript.raw) {
- cont = confirm(`Current script has not been compiled. Compile first?`);
- if (cont) {
- mse.mscript.compile();
- }
- }
- arr = mse.mscript.prepare();
- mse.console.print(`Started running compiled sequence...`);
- gui.overlay(true);
- gui.spinner(true, `Running mscript sequence...`, true, true);
- return seq.exec(arr, 1);
-};
-
/*******
- * gui console
+ * Mscript GUI Console
*******/
-mse.console = {};
-mse.console.elem = {};
-mse.console.init = function () {
- 'use script';
- mse.console.elem = $('#console textarea');
- mse.console.elem.on('keyup', function (e) {
- var code = e.keyCode || e.which;
- if (code === 13) {
- mse.console.exec();
- e.preventDefault();
- return false;
- }
- });
+class MscriptConsole {
+ /**
+ * Initializes the console by creating the element
+ * containing the output text and binding to
+ * keyup event.
+ **/
+ init() {
+ this.elem = $('#console textarea');
+ this.elem.on('keyup', function (e) {
+ var code = e.keyCode || e.which;
+ if (code === 13) {
+ this.exec();
+ e.preventDefault();
+ return false;
+ }
+ }.bind(this));
+ }
+ /**
+ * Parse the current state of the console and get the last
+ * line to add to the current state array.
+ **/
+ parse() {
+ const lines = (this.elem.val() + '').split('\n');
+ const line = lines[lines.length - 2].replace('>', '').trim();
+ this.lines.push(line);
+ }
+ /**
+ * Executes the command in the last line of the console.
+ * TODO: implement the remaining commands. Currently only camera
+ * forward and backward will be executed.
+ **/
+ exec() {
+ let command;
+ this.parse();
+ command = this.lines[this.lines.length - 1].replace('>', '').trim();
+ log.info(command);
+ this.newLine();
+ if (mscript.cmd.indexOf(command) !== -1) {
+ if (command === 'CF') {
+ cmd.camera_forward(light.color);
+ }
+ else if (cmd === 'CB') {
+ cmd.camera_backward(light.color);
+ }
+ }
+ if (command === 'compile') {
+ mse.mscript.compile();
+ }
+ else if (command === 'run') {
+ mse.mscript.run();
+ }
+ }
+ /**
+ * Adds a new line to the console after an event
+ * and re-establishes the height of the array. Animates
+ * the console to scroll down to last line.
+ **/
+ newLine() {
+ let current = (this.elem.val() + '');
+ let height;
+ current += '> ';
+ this.elem.val(current);
+ height = this.elem[0].scrollHeight;
+ this.elem.animate({
+ scrollTop: height
+ }, 'normal');
+ }
+ /**
+ * Print string to the console and add new line
+ **/
+ print(str) {
+ let current = (this.elem.val() + '');
+ let height;
+ current += str;
+ current += '\n';
+ mse.console.elem.val(current);
+ mse.console.elem.focus();
+ this.newLine();
+ }
+}
+const mse = {
+ mscript: new MscriptGUI(),
+ console: new MscriptConsole()
};
-mse.console.lines = [];
-mse.console.parse = function () {
- 'use strict';
- const lines = mse.console.elem.val().split('\n');
- const line = lines[lines.length - 2].replace('>', '').trim();
- mse.console.lines.push(line);
-};
-
-mse.console.exec = function () {
- 'use strict';
- let command;
- mse.console.parse();
- command = mse.console.lines[mse.console.lines.length - 1].replace('>', '').trim();
- log.info(command);
- mse.console.newLine();
- if (mscript.cmd.indexOf(command) !== -1) {
- if (command === 'CF') {
- cmd.camera_forward(light.color);
- } else if (cmd === 'CB') {
- cmd.camera_backward(light.color);
- }
- }
-
- if (command === 'compile') {
- mse.mscript.compile();
- } else if (command === 'run') {
- mse.mscript.run();
- }
-};
-
-mse.console.newLine = function () {
- 'use strict';
- let current = mse.console.elem.val();
- let height;
- current += '> ';
- mse.console.elem.val(current);
- height = mse.console.elem[0].scrollHeight;
- mse.console.elem.animate({
- scrollTop : height
- },'normal');
-};
-
-mse.console.print = function (str) {
- 'use strict'
- let current = mse.console.elem.val();
- let height;
- current += str;
- current += '\n> ';
- mse.console.elem.val(current);
- mse.console.elem.focus();
-
- height = mse.console.elem[0].scrollHeight;
- mse.console.elem.animate({
- scrollTop : height
- },'normal');
-};
-
-module.exports = mse;
\ No newline at end of file
+module.exports = mse;
+//# sourceMappingURL=mscript.js.map
\ No newline at end of file
diff --git a/app/lib/ui/mscript.js.map b/app/lib/ui/mscript.js.map
new file mode 100644
index 0000000..d9825c5
--- /dev/null
+++ b/app/lib/ui/mscript.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"mscript.js","sourceRoot":"","sources":["../../src/lib/ui/mscript.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/app/lib/ui/seq.js b/app/lib/ui/seq.js
index 7cfa5ec..adf701e 100644
--- a/app/lib/ui/seq.js
+++ b/app/lib/ui/seq.js
@@ -47,10 +47,19 @@ class Sequence {
log.info('Sequence stopped', 'SERIAL', true);
timeStr = (arg.ms < 2000) ? `${arg.ms}ms` : humanizeDuration(arg.ms);
gui.notify(`SEQUENCE`, `Sequence finished in ${timeStr}`);
+ if (capper.enabled && this.arr.some(this.hasCapper)) {
+ $('#cmd_capper_off').addClass('active');
+ $('#cmd_capper_on').removeClass('active');
+ }
}
}
return event.returnValue = true;
}
+ hasCapper(el) {
+ if (['BF', 'BB'].indexOf(el.cmd) !== -1) {
+ return true;
+ }
+ }
progress(step, loop) {
const elem = $('.progress-bar');
const len = this.arr.length;
diff --git a/app/lib/ui/seq.js.map b/app/lib/ui/seq.js.map
index baae696..e4c4529 100644
--- a/app/lib/ui/seq.js.map
+++ b/app/lib/ui/seq.js.map
@@ -1 +1 @@
-{"version":3,"file":"seq.js","sourceRoot":"","sources":["../../src/lib/ui/seq.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"seq.js","sourceRoot":"","sources":["../../src/lib/ui/seq.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/app/main.js b/app/main.js
index 06188d0..e08be3c 100644
--- a/app/main.js
+++ b/app/main.js
@@ -3,13 +3,15 @@
'use strict'
-process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true';
+//process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true';
const electron = require('electron')
const { Menu, BrowserWindow, app } = electron
const { EventEmitter } = require('events')
const { join } = require('path')
+require('@electron/remote/main').initialize()
+
const ee = new EventEmitter()
const settings = require('settings')
const system = require('system')
@@ -35,6 +37,8 @@ let filmout;
let dev;
let cmd;
let seq;
+let capper;
+let alert;
const cfg = require('./data/cfg.json')
@@ -54,19 +58,23 @@ var createWindow = function () {
skipTaskbar: true,
toolbar: false,
webPreferences : {
- nodeIntegration: true,
- enableRemoteModule: true
+ nodeIntegration : true,
+ enableRemoteModule: true,
+ contextIsolation : false
}
})
- mainWindow.setMenu(null)
- mainWindow.setAutoHideMenuBar(true)
+
mainWindow.loadURL('file://' + __dirname + '/index.html')
if (process.argv.indexOf('-d') !== -1 || process.argv.indexOf('--dev') !== -1) {
mainWindow.webContents.openDevTools()
+ } else {
+ mainWindow.setMenu(null)
+ mainWindow.setAutoHideMenuBar(true)
}
mainWindow.on('closed', () => {
mainWindow = null
})
+ require('@electron/remote/main').enable(mainWindow.webContents)
}
var errorState = function () {
@@ -112,6 +120,7 @@ var init = async function () {
filmout = require('filmout')(display, ffmpeg, ffprobe, mainWindow.webContents, light)
cam = require('cam')(arduino, cfg, mainWindow.webContents, filmout)
proj = require('proj')(arduino, cfg, mainWindow.webContents, filmout)
+ alert = require('alert')(mainWindow.webContents)
if (dev && dev.connected && dev.connected.camera_second) {
cam2 = require('cam')(arduino, cfg, mainWindow.webContents, filmout, true)
@@ -120,9 +129,13 @@ var init = async function () {
if (dev && dev.connected && dev.connected.projector_second) {
proj2 = require('proj')(arduino, cfg, mainWindow.webContents, filmout, true)
}
-
- cmd = require('cmd')(cfg, proj, cam, light, cam2, proj2)
+ if (dev && dev.connected && dev.connected.capper) {
+ capper = require('capper')(arduino, cfg, mainWindow.webContents, filmout, true)
+ }
+
+ cmd = require('cmd')(cfg, proj, cam, light, alert, cam2, proj2, capper)
seq = require('sequencer')(cfg, cmd, mainWindow.webContents)
+
}
app.on('ready', init)
diff --git a/app/package-lock.json b/app/package-lock.json
index 69ed9fd..896fa53 100644
--- a/app/package-lock.json
+++ b/app/package-lock.json
@@ -1,18 +1,21 @@
{
"name": "mcopy-app",
- "version": "1.7.0",
+ "version": "1.7.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "mcopy-app",
- "version": "1.7.0",
+ "version": "1.7.1",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
+ "@electron/remote": "^2.0.8",
+ "alert": "file:lib/alert",
"animated-gif-detector": "^1.2.0",
"arduino": "file:lib/arduino",
"cam": "file:lib/cam",
+ "capper": "file:lib/capper",
"capture": "file:lib/capture",
"cmd": "file:lib/cmd",
"delay": "file:lib/delay",
@@ -21,51 +24,53 @@
"exec": "file:lib/exec",
"exit": "file:lib/exit",
"ffmpeg": "file:lib/ffmpeg",
- "ffmpeg-static": "^4.2.7",
+ "ffmpeg-static": "^5.0.0",
"ffprobe": "file:lib/ffprobe",
"ffprobe-static": "^3.0.0",
"filmout": "file:lib/filmout",
"frame": "file:lib/frame",
- "fs-extra": "^9.1.0",
- "humanize-duration": "^3.25.1",
+ "fs-extra": "^10.1.0",
+ "humanize-duration": "^3.27.2",
"intval": "file:lib/intval",
"jimp": "^0.16.1",
"light": "file:lib/light",
"log": "file:lib/log",
- "moment": "^2.29.1",
+ "moment": "^2.29.3",
"mscript": "file:lib/mscript",
- "node-notifier": "^9.0.0",
+ "node-notifier": "^10.0.1",
"processing": "file:lib/processing",
"proj": "file:lib/proj",
"request": "^2.88.2",
"sequencer": "file:lib/sequencer",
- "serialport": "^9.0.7",
+ "serialport": "^10.4.0",
"server": "file:lib/server",
"settings": "file:lib/settings",
"spawn": "file:lib/spawn",
"system": "file:lib/system",
"uuid": "^8.3.2",
- "winston": "^3.3.3"
+ "winston": "^3.7.2"
},
"devDependencies": {
- "@types/jquery": "^3.5.5",
- "chai": "^4.3.0",
- "electron": "^11.3.0",
+ "@types/codemirror": "^5.60.5",
+ "@types/jquery": "^3.5.14",
+ "chai": "^4.3.6",
+ "electron": "^19.0.1",
"electron-installer-common": "^0.10.3",
- "electron-installer-dmg": "^3.0.0",
- "electron-packager": "^15.4.0",
- "electron-rebuild": "^2.3.5",
- "electron-wix-msi": "^3.0.6",
+ "electron-installer-dmg": "^4.0.0",
+ "electron-packager": "^15.5.1",
+ "electron-rebuild": "^3.2.7",
+ "electron-wix-msi": "^4.0.0",
"gulp": "^4.0.2",
"gulp-concat": "^2.6.1",
- "gulp-less": "^4.0.1",
- "mocha": "^8.3.0",
- "typescript": "^4.1.5"
+ "gulp-less": "^5.0.0",
+ "mocha": "^10.0.0",
+ "typescript": "^4.7.2"
},
"optionalDependencies": {
"electron-installer-debian": "^3.1.0"
}
},
+ "lib/alert": {},
"lib/arduino": {
"version": "1.0.0",
"license": "ISC"
@@ -74,6 +79,7 @@
"version": "1.0.0",
"license": "ISC"
},
+ "lib/capper": {},
"lib/capture": {
"version": "1.0.0",
"license": "ISC"
@@ -176,6 +182,14 @@
"hasInstallScript": true,
"optional": true
},
+ "node_modules/@colors/colors": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
"node_modules/@dabh/diagnostics": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz",
@@ -201,24 +215,23 @@
}
},
"node_modules/@electron/get": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz",
- "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==",
- "dev": true,
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz",
+ "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==",
"dependencies": {
"debug": "^4.1.1",
"env-paths": "^2.2.0",
"fs-extra": "^8.1.0",
"got": "^9.6.0",
"progress": "^2.0.3",
- "sanitize-filename": "^1.6.2",
+ "semver": "^6.2.0",
"sumchecker": "^3.0.1"
},
"engines": {
"node": ">=8.6"
},
"optionalDependencies": {
- "global-agent": "^2.0.2",
+ "global-agent": "^3.0.0",
"global-tunnel-ng": "^2.7.1"
}
},
@@ -226,7 +239,6 @@
"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,
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
@@ -240,20 +252,82 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
"dependencies": {
"graceful-fs": "^4.1.6"
}
},
+ "node_modules/@electron/get/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
"node_modules/@electron/get/node_modules/universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
"engines": {
"node": ">= 4.0.0"
}
},
+ "node_modules/@electron/remote": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.8.tgz",
+ "integrity": "sha512-P10v3+iFCIvEPeYzTWWGwwHmqWnjoh8RYnbtZAb3RlQefy4guagzIwcWtfftABIfm6JJTNQf4WPSKWZOpLmHXw==",
+ "peerDependencies": {
+ "electron": ">= 13.0.0"
+ }
+ },
+ "node_modules/@electron/universal": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.2.1.tgz",
+ "integrity": "sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==",
+ "dev": true,
+ "dependencies": {
+ "@malept/cross-spawn-promise": "^1.1.0",
+ "asar": "^3.1.0",
+ "debug": "^4.3.1",
+ "dir-compare": "^2.4.0",
+ "fs-extra": "^9.0.1",
+ "minimatch": "^3.0.4",
+ "plist": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/@electron/universal/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@electron/universal/node_modules/universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/@gar/promisify": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
+ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
+ "dev": true
+ },
"node_modules/@jimp/bmp": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.1.tgz",
@@ -697,154 +771,245 @@
"node": ">= 10"
}
},
- "node_modules/@serialport/binding-abstract": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/binding-abstract/-/binding-abstract-9.0.7.tgz",
- "integrity": "sha512-g1ncCMIG9rMsxo/28ObYmXZcHThlvtZygsCANmyMUuFS7SwXY4+PhcEnt2+ZcMkEDNRiOklT+ngtIVx5GGpt/A==",
+ "node_modules/@npmcli/fs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
+ "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
+ "dev": true,
"dependencies": {
- "debug": "^4.3.1"
+ "@gar/promisify": "^1.0.1",
+ "semver": "^7.3.5"
+ }
+ },
+ "node_modules/@npmcli/fs/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=10"
+ }
+ },
+ "node_modules/@npmcli/move-file": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
+ "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
+ "dev": true,
+ "dependencies": {
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
},
- "funding": {
- "url": "https://opencollective.com/serialport/donate"
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@npmcli/move-file/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true,
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/@serialport/binding-mock": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-9.0.7.tgz",
- "integrity": "sha512-aR8H+htZwwZZkVb1MdbnNvGWw8eXVRqQ2qPhkbKyx0N/LY5aVIgCgT98Kt1YylLsG7SzNG+Jbhd4wzwEuPVT5Q==",
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-10.2.2.tgz",
+ "integrity": "sha512-HAFzGhk9OuFMpuor7aT5G1ChPgn5qSsklTFOTUX72Rl6p0xwcSVsRtG/xaGp6bxpN7fI9D/S8THLBWbBgS6ldw==",
"dependencies": {
- "@serialport/binding-abstract": "^9.0.7",
- "debug": "^4.3.1"
+ "@serialport/bindings-interface": "^1.2.1",
+ "debug": "^4.3.3"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@serialport/bindings-cpp": {
+ "version": "10.7.0",
+ "resolved": "https://registry.npmjs.org/@serialport/bindings-cpp/-/bindings-cpp-10.7.0.tgz",
+ "integrity": "sha512-Xx1wA2UCG2loS32hxNvWJI4smCzGKhWqE85//fLRzHoGgE1lSLe3Nk7W40/ebrlGFHWRbQZmeaIF4chb2XLliA==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@serialport/bindings-interface": "1.2.1",
+ "@serialport/parser-readline": "^10.2.1",
+ "debug": "^4.3.2",
+ "node-addon-api": "^4.3.0",
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">=12.17.0 <13.0 || >=14.0.0"
},
"funding": {
"url": "https://opencollective.com/serialport/donate"
}
},
- "node_modules/@serialport/bindings": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/bindings/-/bindings-9.0.7.tgz",
- "integrity": "sha512-cNWaxnEbbpLoSJ6GMb0ZeCpaciczm8XRE4jgBqe/BflWZb+wyiTYIocbsySxpS40WT3kJ0sNTFag77uSmQ6ftg==",
- "hasInstallScript": true,
- "dependencies": {
- "@serialport/binding-abstract": "^9.0.7",
- "@serialport/parser-readline": "^9.0.7",
- "bindings": "^1.5.0",
- "debug": "^4.3.1",
- "nan": "^2.14.2",
- "prebuild-install": "^6.0.1"
- },
+ "node_modules/@serialport/bindings-cpp/node_modules/@serialport/bindings-interface": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.1.tgz",
+ "integrity": "sha512-63Dyqz2gtryRDDckFusOYqLYhR3Hq/M4sEdbF9i/VsvDb6T+tNVgoAKUZ+FMrXXKnCSu+hYbk+MTc0XQANszxw==",
"engines": {
- "node": ">=10.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/serialport/donate"
+ "node": "^12.22 || ^14.13 || >=16"
+ }
+ },
+ "node_modules/@serialport/bindings-cpp/node_modules/node-addon-api": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
+ "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ=="
+ },
+ "node_modules/@serialport/bindings-interface": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.2.tgz",
+ "integrity": "sha512-CJaUd5bLvtM9c5dmO9rPBHPXTa9R2UwpkJ0wdh9JCYcbrPWsKz+ErvR0hBLeo7NPeiFdjFO4sonRljiw4d2XiA==",
+ "engines": {
+ "node": "^12.22 || ^14.13 || >=16"
}
},
"node_modules/@serialport/parser-byte-length": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/parser-byte-length/-/parser-byte-length-9.0.7.tgz",
- "integrity": "sha512-evf7oOOSBMBn2AZZbgBFMRIyEzlsyQkhqaPm7IBCPTxMDXRf4tKkFYJHYZB0/6d1W4eI0meH079UqmSsh/uoDA==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-byte-length/-/parser-byte-length-10.3.0.tgz",
+ "integrity": "sha512-pJ/VoFemzKRRNDHLhFfPThwP40QrGaEnm9TtwL7o2GihEPwzBg3T0bN13ew5TpbbUYZdMpUtpm3CGfl6av9rUQ==",
"engines": {
- "node": ">=10.0.0"
+ "node": ">=12.0.0"
},
"funding": {
"url": "https://opencollective.com/serialport/donate"
}
},
"node_modules/@serialport/parser-cctalk": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/parser-cctalk/-/parser-cctalk-9.0.7.tgz",
- "integrity": "sha512-ert5jhMkeiTfr44TkbdySC09J8UwAsf/RxBucVN5Mz5enG509RggnkfFi4mfj3UCG2vZ7qsmM6gtZ62DshY02Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-cctalk/-/parser-cctalk-10.3.0.tgz",
+ "integrity": "sha512-8ujmk8EvVbDPrNF4mM33bWvUYJOZ0wXbY3WCRazHRWvyCdL0VO0DQvW81ZqgoTpiDQZm5r8wQu9rmuemahF6vQ==",
"engines": {
- "node": ">=10.0.0"
+ "node": ">=12.0.0"
},
"funding": {
"url": "https://opencollective.com/serialport/donate"
}
},
"node_modules/@serialport/parser-delimiter": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-9.0.7.tgz",
- "integrity": "sha512-Vb2NPeXPZ/28M4m5x4OAHFd8jRAeddNCgvL+Q+H/hqFPY1w47JcMLchC7pigRW8Cnt1fklmzfwdNQ8Fb+kMkxQ==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-10.3.0.tgz",
+ "integrity": "sha512-9E4Vj6s0UbbcCCTclwegHGPYjJhdm9qLCS0lowXQDEQC5naZnbsELemMHs93nD9jHPcyx1B4oXkMnVZLxX5TYw==",
"engines": {
- "node": ">=10.0.0"
+ "node": ">=12.0.0"
},
"funding": {
"url": "https://opencollective.com/serialport/donate"
}
},
"node_modules/@serialport/parser-inter-byte-timeout": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-9.0.7.tgz",
- "integrity": "sha512-lUZ3cwgUluBvJ1jf+0LQsqoiPYAokDO6+fRCw9HCfnrF/OS60Gm4rxuyo2uQIueqZkJ7NIFP+ibKsULrA47AEA==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-10.3.0.tgz",
+ "integrity": "sha512-wKP0QK85NHgvT6BBB1qBfKBBU4pf8kespNXAZBUYmFT+P4n8r8IZE2mqigCD+AiZcfWNQoAizwOsT/Jx/qeVig==",
"engines": {
- "node": ">=10.0.0"
+ "node": ">=12.0.0"
},
"funding": {
"url": "https://opencollective.com/serialport/donate"
}
},
+ "node_modules/@serialport/parser-packet-length": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-packet-length/-/parser-packet-length-10.3.0.tgz",
+ "integrity": "sha512-bj0cWzt8YSQj/E5fRQVYdi4TsfTlZQrXlXrUwjyTsCONv8IPOHzsz+yY0fw5SEMiJtaLyqvPkCHLsttOd/zFsg==",
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
"node_modules/@serialport/parser-readline": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-9.0.7.tgz",
- "integrity": "sha512-ydoLbgVQQPxWrwbe3Fhh4XnZexbkEQAC6M/qgRTzjnKvTjrD61CJNxLc3vyDaAPI9bJIhTiI7eTX3JB5jJv8Hg==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-10.3.0.tgz",
+ "integrity": "sha512-ki3ATZ3/RAqnqGROBKE7k+OeZ0DZXZ53GTca4q71OU5RazbbNhTOBQLKLXD3v9QZXCMJdg4hGW/2Y0DuMUqMQg==",
"dependencies": {
- "@serialport/parser-delimiter": "^9.0.7"
+ "@serialport/parser-delimiter": "10.3.0"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=12.0.0"
},
"funding": {
"url": "https://opencollective.com/serialport/donate"
}
},
"node_modules/@serialport/parser-ready": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/parser-ready/-/parser-ready-9.0.7.tgz",
- "integrity": "sha512-3qYhI4cNUPAYqVYvdwV57Y+PVRl4dJf1fPBtMoWtwDgwopsAXTR93WCs49WuUq9JCyNW+8Hrfqv8x8eNAD5Dqg==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-ready/-/parser-ready-10.3.0.tgz",
+ "integrity": "sha512-1owywJ4p592dJyVrEJZPIh6pUZ3/y/LN6kGTDH2wxdewRUITo/sGvDy0er5i2+dJD3yuowiAz0dOHSdz8tevJA==",
"engines": {
- "node": ">=10.0.0"
+ "node": ">=12.0.0"
},
"funding": {
"url": "https://opencollective.com/serialport/donate"
}
},
"node_modules/@serialport/parser-regex": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/parser-regex/-/parser-regex-9.0.7.tgz",
- "integrity": "sha512-5XF+FXbhqQ/5bVKM4NaGs1m+E9KjfmeCx/obwsKaUZognQF67jwoTfjJJWNP/21jKfxdl8XoCYjZjASl3XKRAw==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-regex/-/parser-regex-10.3.0.tgz",
+ "integrity": "sha512-tIogTs7CvTH+UUFnsvE7i33MSISyTPTGPWlglWYH2/5coipXY503jlaYS1YGe818wWNcSx6YAjMZRdhTWwM39w==",
"engines": {
- "node": ">=10.0.0"
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/serialport/donate"
+ }
+ },
+ "node_modules/@serialport/parser-slip-encoder": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-slip-encoder/-/parser-slip-encoder-10.3.0.tgz",
+ "integrity": "sha512-JI0ILF5sylWn8f0MuMzHFBix/iMUTa79/Z95KaPZYnVaEdA7h7hh/o21Jmon/26P3RJwL1SNJCjZ81zfan+LtQ==",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/serialport/donate"
+ }
+ },
+ "node_modules/@serialport/parser-spacepacket": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-spacepacket/-/parser-spacepacket-10.3.0.tgz",
+ "integrity": "sha512-PDF73ClEPsClD1FEJZHNuBevDKsJCkqy/XD5+S5eA6+tY5D4HLrVgSWsg+3qqB6+dlpwf2CzHe+uO8D3teuKHA==",
+ "engines": {
+ "node": ">=12.0.0"
},
"funding": {
"url": "https://opencollective.com/serialport/donate"
}
},
"node_modules/@serialport/stream": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/stream/-/stream-9.0.7.tgz",
- "integrity": "sha512-c/h7HPAeFiryD9iTGlaSvPqHFHSZ0NMQHxC4rcmKS2Vu3qJuEtkBdTLABwsMp7iWEiSnI4KC3s7bHapaXP06FQ==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/stream/-/stream-10.3.0.tgz",
+ "integrity": "sha512-7sooi5fHogYNVEJwxVdg872xO6TuMgQd2E9iRmv+o8pk/1dbBnPkmH6Ka3st1mVE+0KnIJqVlgei+ncSsqXIGw==",
"dependencies": {
- "debug": "^4.3.1"
+ "@serialport/bindings-interface": "1.2.1",
+ "debug": "^4.3.2"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=12.0.0"
},
"funding": {
"url": "https://opencollective.com/serialport/donate"
}
},
+ "node_modules/@serialport/stream/node_modules/@serialport/bindings-interface": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.1.tgz",
+ "integrity": "sha512-63Dyqz2gtryRDDckFusOYqLYhR3Hq/M4sEdbF9i/VsvDb6T+tNVgoAKUZ+FMrXXKnCSu+hYbk+MTc0XQANszxw==",
+ "engines": {
+ "node": "^12.22 || ^14.13 || >=16"
+ }
+ },
"node_modules/@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,
"engines": {
"node": ">=6"
}
@@ -853,7 +1018,6 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
"integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
- "dev": true,
"dependencies": {
"defer-to-connect": "^1.0.1"
},
@@ -861,6 +1025,15 @@
"node": ">=6"
}
},
+ "node_modules/@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/@types/cacheable-request": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz",
@@ -873,12 +1046,27 @@
"@types/responselike": "*"
}
},
+ "node_modules/@types/codemirror": {
+ "version": "5.60.5",
+ "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.5.tgz",
+ "integrity": "sha512-TiECZmm8St5YxjFUp64LK0c8WU5bxMDt9YaAek1UqUb9swrSCoJhh92fWu1p3mTEqlHjhB5sY7OFBhWroJXZVg==",
+ "dev": true,
+ "dependencies": {
+ "@types/tern": "*"
+ }
+ },
"node_modules/@types/color-name": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
"devOptional": true
},
+ "node_modules/@types/estree": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz",
+ "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==",
+ "dev": true
+ },
"node_modules/@types/fs-extra": {
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.1.tgz",
@@ -905,9 +1093,9 @@
"dev": true
},
"node_modules/@types/jquery": {
- "version": "3.5.5",
- "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.5.tgz",
- "integrity": "sha512-6RXU9Xzpc6vxNrS6FPPapN1SxSHgQ336WC6Jj/N8q30OiaBZ00l1GBgeP7usjVZPivSkGUfL1z/WW6TX989M+w==",
+ "version": "3.5.14",
+ "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.14.tgz",
+ "integrity": "sha512-X1gtMRMbziVQkErhTQmSe2jFwwENA/Zr+PprCkF63vFq+Yt5PZ4AlKqgmeNlwgn7dhsXEK888eIW2520EpC+xg==",
"dev": true,
"dependencies": {
"@types/sizzle": "*"
@@ -929,10 +1117,9 @@
"optional": true
},
"node_modules/@types/node": {
- "version": "12.12.48",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.48.tgz",
- "integrity": "sha512-m3Nmo/YaDUfYzdCQlxjF5pIy7TNyDTAJhIa//xtHcF0dlgYIBKULKnmloCPtByDxtZXrWV8Pge1AKT6/lRvVWg==",
- "devOptional": true
+ "version": "16.11.38",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.38.tgz",
+ "integrity": "sha512-hjO/0K140An3GWDw2HJfq7gko3wWeznbjXgg+rzPdVzhe198hp4x2i1dgveAOEiFKd8sOilAxzoSJiVv5P/CUg=="
},
"node_modules/@types/responselike": {
"version": "1.0.0",
@@ -949,6 +1136,15 @@
"integrity": "sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg==",
"dev": true
},
+ "node_modules/@types/tern": {
+ "version": "0.23.4",
+ "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.4.tgz",
+ "integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "*"
+ }
+ },
"node_modules/@types/yauzl": {
"version": "2.9.1",
"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz",
@@ -971,32 +1167,10 @@
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"dev": true
},
- "node_modules/accord": {
- "version": "0.29.0",
- "resolved": "https://registry.npmjs.org/accord/-/accord-0.29.0.tgz",
- "integrity": "sha512-3OOR92FTc2p5/EcOzPcXp+Cbo+3C15nV9RXHlOUBCBpHhcB+0frbSNR9ehED/o7sTcyGVtqGJpguToEdlXhD0w==",
- "dev": true,
- "dependencies": {
- "convert-source-map": "^1.5.0",
- "glob": "^7.0.5",
- "indx": "^0.2.3",
- "lodash.clone": "^4.3.2",
- "lodash.defaults": "^4.0.1",
- "lodash.flatten": "^4.2.0",
- "lodash.merge": "^4.4.0",
- "lodash.partialright": "^4.1.4",
- "lodash.pick": "^4.2.1",
- "lodash.uniq": "^4.3.0",
- "resolve": "^1.5.0",
- "semver": "^5.3.0",
- "uglify-js": "^2.8.22",
- "when": "^3.7.8"
- }
- },
"node_modules/agent-base": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.1.tgz",
- "integrity": "sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"dependencies": {
"debug": "4"
},
@@ -1004,6 +1178,33 @@
"node": ">= 6.0.0"
}
},
+ "node_modules/agentkeepalive": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
+ "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.0",
+ "depd": "^1.1.2",
+ "humanize-ms": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
+ "node_modules/aggregate-error": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+ "dev": true,
+ "dependencies": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/ajv": {
"version": "6.12.3",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
@@ -1015,31 +1216,9 @@
"uri-js": "^4.2.2"
}
},
- "node_modules/align-text": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2",
- "longest": "^1.0.1",
- "repeat-string": "^1.5.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/align-text/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
+ "node_modules/alert": {
+ "resolved": "lib/alert",
+ "link": true
},
"node_modules/animated-gif-detector": {
"version": "1.2.0",
@@ -1061,18 +1240,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/ansi-cyan": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
- "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=",
- "dev": true,
- "dependencies": {
- "ansi-wrap": "0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/ansi-gray": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
@@ -1085,22 +1252,10 @@
"node": ">=0.10.0"
}
},
- "node_modules/ansi-red": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
- "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=",
- "dev": true,
- "dependencies": {
- "ansi-wrap": "0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"devOptional": true,
"engines": {
"node": ">=8"
@@ -1144,9 +1299,9 @@
}
},
"node_modules/appdmg": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/appdmg/-/appdmg-0.6.0.tgz",
- "integrity": "sha512-vDz8cMf5c6BfoS72OmmHzzuxG5DFVDM6YCAkscjYh3GASGEBBRCZ10Bn515ZPSPHOpfI9Xu3MlApbd49C58pJg==",
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/appdmg/-/appdmg-0.6.4.tgz",
+ "integrity": "sha512-YTilgNF0DF2DSRzGzzGDxaTMLXlhe3b3HB8RAaoJJ/VJXZbOlzIAcZ7gdPniHUVUuHjGwnS7fUMd4FvO2Rp94A==",
"dev": true,
"optional": true,
"os": [
@@ -1172,17 +1327,10 @@
"node": ">=8.5"
}
},
- "node_modules/appdmg/node_modules/async": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
- "dev": true,
- "optional": true
- },
"node_modules/appdmg/node_modules/image-size": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.4.tgz",
- "integrity": "sha512-GqPgxs+VkOr12aWwjSkyRzf5atzObWpFtiRuDgxCl2I/SDpZOKZFRD3iIAeAN6/usmn8SeLWRt7a8JRYK0Whbw==",
+ "version": "0.7.5",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz",
+ "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==",
"dev": true,
"optional": true,
"bin": {
@@ -1192,16 +1340,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/appdmg/node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "optional": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/append-buffer": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
@@ -1215,9 +1353,10 @@
}
},
"node_modules/aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
+ "dev": true
},
"node_modules/archy": {
"version": "1.0.0",
@@ -1230,14 +1369,24 @@
"link": true
},
"node_modules/are-we-there-yet": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
- "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz",
+ "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==",
+ "dev": true,
"dependencies": {
"delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16"
}
},
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
"node_modules/arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
@@ -1289,13 +1438,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/array-buffer-from-string": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/array-buffer-from-string/-/array-buffer-from-string-0.1.0.tgz",
- "integrity": "sha1-OxQ1H4YUnYTvxhLFrafthRadewc=",
- "dev": true,
- "optional": true
- },
"node_modules/array-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
@@ -1452,9 +1594,11 @@
}
},
"node_modules/async": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz",
- "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw=="
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==",
+ "dev": true,
+ "optional": true
},
"node_modules/async-done": {
"version": "1.3.2",
@@ -1498,6 +1642,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "devOptional": true,
"engines": {
"node": ">= 4.0.0"
}
@@ -1631,11 +1776,14 @@
}
},
"node_modules/base32-encode": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/base32-encode/-/base32-encode-0.1.1.tgz",
- "integrity": "sha512-jjc+6TC8PXrsxJ4CQr9ibioNhhAM1p/RvS9hy3Q+cxPphvXmLnFSkXoen2XXzNBrYjdmzajRtbFDl1x28F5F4A==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/base32-encode/-/base32-encode-1.2.0.tgz",
+ "integrity": "sha512-cHFU8XeRyx0GgmoWi5qHMCVRiqU6J3MHWxVgun7jggCBUpVzm1Ir7M9dYr2whjSNc3tFeXfQ/oZjQu/4u55h9A==",
"dev": true,
- "optional": true
+ "optional": true,
+ "dependencies": {
+ "to-data-view": "^1.1.0"
+ }
},
"node_modules/base64-js": {
"version": "1.5.1",
@@ -1673,37 +1821,17 @@
"node": ">=0.10.0"
}
},
- "node_modules/bindings": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
- "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
- "dependencies": {
- "file-uri-to-path": "1.0.0"
- }
- },
"node_modules/bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "dev": true,
"dependencies": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
- "node_modules/bl/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/bluebird": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
@@ -1716,10 +1844,9 @@
"integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM="
},
"node_modules/boolean": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.1.tgz",
- "integrity": "sha512-HRZPIjPcbwAVQvOTxR4YE3o8Xs98NqbbL1iEZDCz7CL8ql0Lt5iOyJFxfnAB0oFs8Oh02F/lLlg30Mexv46LjA==",
- "dev": true,
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
+ "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
"optional": true
},
"node_modules/bplist-creator": {
@@ -1824,7 +1951,6 @@
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
- "dev": true,
"engines": {
"node": "*"
}
@@ -1858,6 +1984,47 @@
"node": ">=0.10.0"
}
},
+ "node_modules/cacache": {
+ "version": "15.3.0",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
+ "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
+ "dev": true,
+ "dependencies": {
+ "@npmcli/fs": "^1.0.0",
+ "@npmcli/move-file": "^1.0.1",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "glob": "^7.1.4",
+ "infer-owner": "^1.0.4",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.1",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "mkdirp": "^1.0.3",
+ "p-map": "^4.0.0",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^3.0.2",
+ "ssri": "^8.0.1",
+ "tar": "^6.0.2",
+ "unique-filename": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/cacache/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true,
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/cache-base": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
@@ -1891,7 +2058,6 @@
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
"integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
- "dev": true,
"dependencies": {
"clone-response": "^1.0.2",
"get-stream": "^5.1.0",
@@ -1909,7 +2075,6 @@
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
"integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
- "dev": true,
"dependencies": {
"pump": "^3.0.0"
},
@@ -1921,7 +2086,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
"integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -1939,6 +2103,10 @@
"node": ">=6"
}
},
+ "node_modules/capper": {
+ "resolved": "lib/capper",
+ "link": true
+ },
"node_modules/capture": {
"resolved": "lib/capture",
"link": true
@@ -1948,34 +2116,22 @@
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
- "node_modules/center-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
- "dev": true,
- "dependencies": {
- "align-text": "^0.1.3",
- "lazy-cache": "^1.0.3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/chai": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.0.tgz",
- "integrity": "sha512-/BFd2J30EcOwmdOgXvVsmM48l0Br0nmZPlO0uOW4XKh6kpsUumRXBgPV+IlaqFaqr9cYbeoZAM1Npx0i4A+aiA==",
+ "version": "4.3.6",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz",
+ "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==",
"dev": true,
"dependencies": {
"assertion-error": "^1.1.0",
"check-error": "^1.0.2",
"deep-eql": "^3.0.1",
"get-func-name": "^2.0.0",
- "pathval": "^1.1.0",
+ "loupe": "^2.3.1",
+ "pathval": "^1.1.1",
"type-detect": "^4.0.5"
},
"engines": {
- "node": ">=8"
+ "node": ">=4"
}
},
"node_modules/chalk": {
@@ -2088,6 +2244,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/cli-cursor": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
@@ -2145,7 +2310,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
"integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
- "dev": true,
"dependencies": {
"mimic-response": "^1.0.0"
}
@@ -2154,7 +2318,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
"integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
- "dev": true,
"engines": {
"node": ">=4"
}
@@ -2214,6 +2377,7 @@
"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,
"engines": {
"node": ">=0.10.0"
}
@@ -2303,9 +2467,10 @@
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
},
"node_modules/colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
+ "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==",
+ "dev": true,
"engines": {
"node": ">=0.1.90"
}
@@ -2423,7 +2588,6 @@
"version": "1.1.12",
"resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz",
"integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==",
- "dev": true,
"optional": true,
"dependencies": {
"ini": "^1.3.4",
@@ -2433,7 +2597,8 @@
"node_modules/console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
+ "dev": true
},
"node_modules/convert-source-map": {
"version": "1.6.0",
@@ -2463,13 +2628,6 @@
"is-plain-object": "^2.0.1"
}
},
- "node_modules/core-js": {
- "version": "3.6.5",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
- "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==",
- "dev": true,
- "optional": true
- },
"node_modules/core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@@ -2595,9 +2753,9 @@
}
},
"node_modules/debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": {
"ms": "2.1.2"
},
@@ -2633,17 +2791,6 @@
"node": ">=0.10"
}
},
- "node_modules/decompress-response": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
- "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
- "dependencies": {
- "mimic-response": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/deep-eql": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
@@ -2656,14 +2803,6 @@
"node": ">=0.12"
}
},
- "node_modules/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==",
- "engines": {
- "node": ">=4.0.0"
- }
- },
"node_modules/default-compare": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz",
@@ -2715,14 +2854,13 @@
"node_modules/defer-to-connect": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
- "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
- "dev": true
+ "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ=="
},
"node_modules/define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"object-keys": "^1.0.12"
},
@@ -2734,7 +2872,7 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">= 0.4"
}
@@ -2805,7 +2943,17 @@
"node_modules/delegates": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
+ "dev": true
+ },
+ "node_modules/depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
},
"node_modules/detect-file": {
"version": "1.0.0",
@@ -2820,6 +2968,7 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
+ "dev": true,
"bin": {
"detect-libc": "bin/detect-libc.js"
},
@@ -2828,10 +2977,9 @@
}
},
"node_modules/detect-node": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
- "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
- "dev": true,
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
+ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
"optional": true
},
"node_modules/devices": {
@@ -2847,6 +2995,33 @@
"node": ">=0.3.1"
}
},
+ "node_modules/dir-compare": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-2.4.0.tgz",
+ "integrity": "sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==",
+ "dev": true,
+ "dependencies": {
+ "buffer-equal": "1.0.0",
+ "colors": "1.0.3",
+ "commander": "2.9.0",
+ "minimatch": "3.0.4"
+ },
+ "bin": {
+ "dircompare": "src/cli/dircompare.js"
+ }
+ },
+ "node_modules/dir-compare/node_modules/commander": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "integrity": "sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==",
+ "dev": true,
+ "dependencies": {
+ "graceful-readlink": ">= 1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6.x"
+ }
+ },
"node_modules/display": {
"resolved": "lib/display",
"link": true
@@ -2859,7 +3034,7 @@
"node_modules/ds-store": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/ds-store/-/ds-store-0.1.6.tgz",
- "integrity": "sha1-0QJO90btDBPw9/7IXH6FjoxLfKc=",
+ "integrity": "sha512-kY21M6Lz+76OS3bnCzjdsJSF7LBpLYGCVfavW8TgQD2XkcqIZ86W0y9qUDZu6fp7SIZzqosMDW2zi7zVFfv4hw==",
"dev": true,
"optional": true,
"dependencies": {
@@ -2871,8 +3046,7 @@
"node_modules/duplexer3": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
- "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
- "dev": true
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
},
"node_modules/duplexify": {
"version": "3.7.1",
@@ -2936,14 +3110,13 @@
}
},
"node_modules/electron": {
- "version": "11.3.0",
- "resolved": "https://registry.npmjs.org/electron/-/electron-11.3.0.tgz",
- "integrity": "sha512-MhdS0gok3wZBTscLBbYrOhLaQybCSAfkupazbK1dMP5c+84eVMxJE/QGohiWQkzs0tVFIJsAHyN19YKPbelNrQ==",
- "dev": true,
+ "version": "19.0.1",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-19.0.1.tgz",
+ "integrity": "sha512-zuhJVV7nTDFrRZ7uAIylSD0Eoi1xcUV4UzGfpWsREI4W5GsxNGyZQeqQDpg43w8+7oED812oDrGfPh5kb9rcQA==",
"hasInstallScript": true,
"dependencies": {
- "@electron/get": "^1.0.1",
- "@types/node": "^12.0.12",
+ "@electron/get": "^1.14.1",
+ "@types/node": "^16.11.26",
"extract-zip": "^1.0.3"
},
"bin": {
@@ -2979,6 +3152,21 @@
"@types/fs-extra": "^9.0.1"
}
},
+ "node_modules/electron-installer-common/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "devOptional": true,
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/electron-installer-common/node_modules/semver": {
"version": "7.3.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
@@ -2991,6 +3179,15 @@
"node": ">=10"
}
},
+ "node_modules/electron-installer-common/node_modules/universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "devOptional": true,
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
"node_modules/electron-installer-debian": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/electron-installer-debian/-/electron-installer-debian-3.1.0.tgz",
@@ -3017,56 +3214,47 @@
"node": ">= 10.0.0"
}
},
+ "node_modules/electron-installer-debian/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "optional": true,
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/electron-installer-debian/node_modules/universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "optional": true,
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
"node_modules/electron-installer-dmg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/electron-installer-dmg/-/electron-installer-dmg-3.0.0.tgz",
- "integrity": "sha512-a3z9ABUfLJtrLK1ize4j+wJKslodb0kRHgBuUN4GTckiUxtGdo49XCvvAHvQaOqQk3S5VTvuc6PoofnI9mKSCQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/electron-installer-dmg/-/electron-installer-dmg-4.0.0.tgz",
+ "integrity": "sha512-g3W6XnyUa7QGrAF7ViewHdt6bXV2KYU1Pm1CY3pZpp+H6mOjCHHAhf/iZAxtaX1ERCb+SQHz7xSsAHuNH9I8ZQ==",
"dev": true,
"dependencies": {
- "debug": "^4.1.1",
- "fs-extra": "^8.0.1",
+ "debug": "^4.3.2",
"minimist": "^1.1.1"
},
"bin": {
"electron-installer-dmg": "bin/electron-installer-dmg.js"
},
"engines": {
- "node": ">= 8.0.0"
+ "node": ">= 12.13.0"
},
"optionalDependencies": {
- "appdmg": "^0.6.0"
- }
- },
- "node_modules/electron-installer-dmg/node_modules/fs-extra": {
- "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,
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/electron-installer-dmg/node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/electron-installer-dmg/node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
+ "appdmg": "^0.6.4"
}
},
"node_modules/electron-notarize": {
@@ -3082,6 +3270,30 @@
"node": ">= 10.0.0"
}
},
+ "node_modules/electron-notarize/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/electron-notarize/node_modules/universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
"node_modules/electron-osx-sign": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz",
@@ -3119,12 +3331,13 @@
"dev": true
},
"node_modules/electron-packager": {
- "version": "15.4.0",
- "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-15.4.0.tgz",
- "integrity": "sha512-JrrLcBP15KGrPj0cZ/ALKGmaQ4gJkn3mocf0E3bRKdR3kxKWYcDRpCvdhksYDXw/r3I6tMEcZ7XzyApWFXdVpw==",
+ "version": "15.5.1",
+ "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-15.5.1.tgz",
+ "integrity": "sha512-9/fqF64GACZsLYLuFJ8vCqItMXbvsD0NMDLNfFmAv9mSqkqKWSZb5V3VE9CxT6CeXwZ6wN3YowEQuqBNyShEVg==",
"dev": true,
"dependencies": {
"@electron/get": "^1.6.0",
+ "@electron/universal": "^1.2.1",
"asar": "^3.1.0",
"cross-spawn-windows-exe": "^1.2.0",
"debug": "^4.0.1",
@@ -3173,6 +3386,21 @@
"@types/yauzl": "^2.9.1"
}
},
+ "node_modules/electron-packager/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/electron-packager/node_modules/get-stream": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
@@ -3185,18 +3413,6 @@
"node": ">=8"
}
},
- "node_modules/electron-packager/node_modules/rcedit": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-3.0.1.tgz",
- "integrity": "sha512-XM0Jv40/y4hVAqj/MO70o/IWs4uOsaSoo2mLyk3klFDW+SStLnCtzuQu+1OBTIMGlM8CvaK9ftlYCp6DJ+cMsw==",
- "dev": true,
- "dependencies": {
- "cross-spawn-windows-exe": "^1.1.0"
- },
- "engines": {
- "node": ">= 10.0.0"
- }
- },
"node_modules/electron-packager/node_modules/semver": {
"version": "7.3.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
@@ -3209,6 +3425,15 @@
"node": ">=10"
}
},
+ "node_modules/electron-packager/node_modules/universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
"node_modules/electron-packager/node_modules/yargs-parser": {
"version": "20.2.6",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz",
@@ -3219,29 +3444,53 @@
}
},
"node_modules/electron-rebuild": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-2.3.5.tgz",
- "integrity": "sha512-1sQ1DRtQGpglFhc3urD4olMJzt/wxlbnAAsf+WY2xHf5c50ZovivZvCXSpVgTOP9f4TzOMvelWyspyfhxQKHzQ==",
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-3.2.7.tgz",
+ "integrity": "sha512-WvaW1EgRinDQ61khHFZfx30rkPQG5ItaOT0wrI7iJv9A3SbghriQGfZQfHZs25fWLBe6/vkv05LOqg6aDw6Wzw==",
"dev": true,
"dependencies": {
- "@malept/cross-spawn-promise": "^1.1.1",
- "colors": "^1.3.3",
+ "@malept/cross-spawn-promise": "^2.0.0",
+ "chalk": "^4.0.0",
"debug": "^4.1.1",
"detect-libc": "^1.0.3",
- "fs-extra": "^9.0.1",
+ "fs-extra": "^10.0.0",
"got": "^11.7.0",
- "lzma-native": "^6.0.1",
- "node-abi": "^2.19.2",
- "node-gyp": "^7.1.0",
+ "lzma-native": "^8.0.5",
+ "node-abi": "^3.0.0",
+ "node-api-version": "^0.1.4",
+ "node-gyp": "^8.4.0",
"ora": "^5.1.0",
+ "semver": "^7.3.5",
"tar": "^6.0.5",
- "yargs": "^16.0.0"
+ "yargs": "^17.0.1"
},
"bin": {
"electron-rebuild": "lib/src/cli.js"
},
"engines": {
- "node": ">=10.12.0"
+ "node": ">=12.13.0"
+ }
+ },
+ "node_modules/electron-rebuild/node_modules/@malept/cross-spawn-promise": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz",
+ "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/malept"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund"
+ }
+ ],
+ "dependencies": {
+ "cross-spawn": "^7.0.1"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
}
},
"node_modules/electron-rebuild/node_modules/@sindresorhus/is": {
@@ -3415,6 +3664,21 @@
"lowercase-keys": "^2.0.0"
}
},
+ "node_modules/electron-rebuild/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/electron-rebuild/node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -3433,111 +3697,76 @@
}
},
"node_modules/electron-rebuild/node_modules/y18n": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz",
- "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==",
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
"dev": true,
"engines": {
"node": ">=10"
}
},
"node_modules/electron-rebuild/node_modules/yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "version": "17.5.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
+ "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
"dev": true,
"dependencies": {
"cliui": "^7.0.2",
"escalade": "^3.1.1",
"get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
- "string-width": "^4.2.0",
+ "string-width": "^4.2.3",
"y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
+ "yargs-parser": "^21.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=12"
}
},
"node_modules/electron-rebuild/node_modules/yargs-parser": {
- "version": "20.2.6",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz",
- "integrity": "sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA==",
+ "version": "21.0.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
+ "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
"dev": true,
"engines": {
- "node": ">=10"
+ "node": ">=12"
}
},
"node_modules/electron-wix-msi": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/electron-wix-msi/-/electron-wix-msi-3.0.6.tgz",
- "integrity": "sha512-MGvhr9jQkbPWwYibD3+64R6VOUYPtl091dwLgyS2/nOtgnbsdQOeeXLCszsjPaV/N93ee/mdNBeDqHrUdbqdig==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/electron-wix-msi/-/electron-wix-msi-4.0.0.tgz",
+ "integrity": "sha512-LEQr5IQc8w7efIVt5tIQA0efew4slffW6tfDmbfpWDSR74HnfTkkfwBAwj9vMLT4q62cO4NnkVTEuMe7FxWMTw==",
"dev": true,
"dependencies": {
- "debug": "^4.1.1",
- "fs-extra": "^8.1.0",
- "klaw": "^3.0.0",
- "lodash": "^4.17.15",
- "rcedit": "^2.1.0",
+ "debug": "^4.3.4",
+ "fs-extra": "^10.0.1",
+ "klaw": "^4.0.1",
+ "lodash": "^4.17.21",
+ "rcedit": "^3.0.1",
"rcinfo": "^0.1.3",
- "semver": "^6.3.0",
- "uuid": "^3.3.3"
+ "semver": "^7.3.5",
+ "uuid": "^8.3.2"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">=14.0.0"
},
"optionalDependencies": {
"@bitdisaster/exe-icon-extractor": "^1.0.10"
}
},
- "node_modules/electron-wix-msi/node_modules/fs-extra": {
- "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,
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/electron-wix-msi/node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
"node_modules/electron-wix-msi/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
"bin": {
"semver": "bin/semver.js"
- }
- },
- "node_modules/electron-wix-msi/node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
+ },
"engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/electron-wix-msi/node_modules/uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true,
- "bin": {
- "uuid": "bin/uuid"
+ "node": ">=10"
}
},
"node_modules/emoji-regex": {
@@ -3551,16 +3780,32 @@
"resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
"integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="
},
+ "node_modules/encode-utf8": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
+ "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==",
+ "dev": true,
+ "optional": true
+ },
"node_modules/encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
- "dev": true,
"optional": true,
"engines": {
"node": ">= 0.8"
}
},
+ "node_modules/encoding": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "iconv-lite": "^0.6.2"
+ }
+ },
"node_modules/end-of-stream": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
@@ -3577,6 +3822,12 @@
"node": ">=6"
}
},
+ "node_modules/err-code": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
+ "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
+ "dev": true
+ },
"node_modules/errno": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
@@ -3620,7 +3871,6 @@
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
"integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
- "dev": true,
"optional": true
},
"node_modules/es6-iterator": {
@@ -3669,7 +3919,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=10"
}
@@ -3780,14 +4030,6 @@
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
},
- "node_modules/expand-template": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
- "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/expand-tilde": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
@@ -3915,7 +4157,6 @@
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
"integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
- "dev": true,
"dependencies": {
"concat-stream": "^1.6.2",
"debug": "^2.6.9",
@@ -3930,7 +4171,6 @@
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
"dependencies": {
"ms": "2.0.0"
}
@@ -3938,8 +4178,7 @@
"node_modules/extract-zip/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"node_modules/extsprintf": {
"version": "1.3.0",
@@ -3974,33 +4213,27 @@
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
- "node_modules/fast-safe-stringify": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
- "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
- },
"node_modules/fd-slicer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
"integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
- "dev": true,
"dependencies": {
"pend": "~1.2.0"
}
},
"node_modules/fecha": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz",
- "integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg=="
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz",
+ "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="
},
"node_modules/ffmpeg": {
"resolved": "lib/ffmpeg",
"link": true
},
"node_modules/ffmpeg-static": {
- "version": "4.2.7",
- "resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-4.2.7.tgz",
- "integrity": "sha512-SGnOr2d+k0/9toRIv9t5/hN/DMYbm5XMtG0wVwGM1tEyXJAD6dbcWOEvfHq4LOySm9uykKL6LMC4eVPeteUnbQ==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-5.0.0.tgz",
+ "integrity": "sha512-z96jGVa8uCVMnyrTvbDZe0d5zbvIVQnfBN+vKDZoVK+ssYpfUJGEmo2DkuY43CA9Ytlsk+5ZVTFTqzvKw1gSaA==",
"hasInstallScript": true,
"dependencies": {
"@derhuerst/http-basic": "^8.2.0",
@@ -4009,7 +4242,7 @@
"progress": "^2.0.3"
},
"engines": {
- "node": ">=10"
+ "node": ">=16"
}
},
"node_modules/ffprobe": {
@@ -4029,11 +4262,6 @@
"node": ">=6"
}
},
- "node_modules/file-uri-to-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
- },
"node_modules/filename-reserved-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
@@ -4238,7 +4466,7 @@
"node_modules/fmix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz",
- "integrity": "sha1-x7vxJN7ELJ0ZHPuUfQqXeN2YbAw=",
+ "integrity": "sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==",
"dev": true,
"optional": true,
"dependencies": {
@@ -4308,23 +4536,17 @@
"resolved": "lib/frame",
"link": true
},
- "node_modules/fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
- },
"node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
+ "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
"dependencies": {
- "at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=12"
}
},
"node_modules/fs-extra/node_modules/universalify": {
@@ -4401,9 +4623,9 @@
}
},
"node_modules/fs-temp": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/fs-temp/-/fs-temp-1.1.2.tgz",
- "integrity": "sha1-zFLwOLvv5RD2vNCexZK3nQ9pJT8=",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/fs-temp/-/fs-temp-1.2.1.tgz",
+ "integrity": "sha512-okTwLB7/Qsq82G6iN5zZJFsOfZtx2/pqrA7Hk/9fvy+c+eJS9CvgGXT2uNxwnI14BDY9L/jQPkaBgSvlKfSW9w==",
"dev": true,
"optional": true,
"dependencies": {
@@ -4411,9 +4633,9 @@
}
},
"node_modules/fs-xattr": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/fs-xattr/-/fs-xattr-0.3.0.tgz",
- "integrity": "sha512-BixjoRM9etRFyWOtJRcflfu5HqBWLGTYbeHiL196VRUcc/nYgS2px6w4yVaj3XmrN1bk4rZBH82A8u5Z64YcXQ==",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/fs-xattr/-/fs-xattr-0.3.1.tgz",
+ "integrity": "sha512-UVqkrEW0GfDabw4C3HOrFlxKfx0eeigfRne69FxSBdHIP8Qt5Sq6Pu3RM9KmMlkygtC4pPKkj5CiPO5USnj2GA==",
"dev": true,
"hasInstallScript": true,
"optional": true,
@@ -5257,61 +5479,22 @@
"optional": true
},
"node_modules/gauge": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
+ "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
+ "dev": true,
"dependencies": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "node_modules/gauge/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gauge/node_modules/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=",
- "dependencies": {
- "number-is-nan": "^1.0.0"
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.3",
+ "console-control-strings": "^1.1.0",
+ "has-unicode": "^2.0.1",
+ "signal-exit": "^3.0.7",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.5"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gauge/node_modules/string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dependencies": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/gauge/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/generate-function": {
@@ -5327,7 +5510,7 @@
"node_modules/generate-object-property": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
- "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
+ "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==",
"dev": true,
"optional": true,
"dependencies": {
@@ -5538,7 +5721,6 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
"integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
"dependencies": {
"pump": "^3.0.0"
},
@@ -5572,15 +5754,10 @@
"omggif": "^1.0.10"
}
},
- "node_modules/github-from-package": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
- "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4="
- },
"node_modules/glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
"devOptional": true,
"dependencies": {
"fs.realpath": "^1.0.0",
@@ -5697,14 +5874,12 @@
}
},
"node_modules/global-agent": {
- "version": "2.1.12",
- "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz",
- "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==",
- "dev": true,
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz",
+ "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==",
"optional": true,
"dependencies": {
"boolean": "^3.0.1",
- "core-js": "^3.6.5",
"es6-error": "^4.1.1",
"matcher": "^3.0.0",
"roarr": "^2.15.3",
@@ -5716,11 +5891,13 @@
}
},
"node_modules/global-agent/node_modules/semver": {
- "version": "7.3.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
- "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
- "dev": true,
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"optional": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
"bin": {
"semver": "bin/semver.js"
},
@@ -5762,7 +5939,6 @@
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz",
"integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==",
- "dev": true,
"optional": true,
"dependencies": {
"encodeurl": "^1.0.2",
@@ -5775,16 +5951,18 @@
}
},
"node_modules/globalthis": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz",
- "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==",
- "dev": true,
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
+ "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
"optional": true,
"dependencies": {
"define-properties": "^1.1.3"
},
"engines": {
"node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/glogg": {
@@ -5803,7 +5981,6 @@
"version": "9.6.0",
"resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
"integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
- "dev": true,
"dependencies": {
"@sindresorhus/is": "^0.14.0",
"@szmarczak/http-timer": "^1.1.2",
@@ -5825,7 +6002,6 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
"integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
- "dev": true,
"dependencies": {
"mimic-response": "^1.0.0"
},
@@ -5837,7 +6013,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
"integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
- "dev": true,
"engines": {
"node": ">=4"
}
@@ -5847,14 +6022,11 @@
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
"integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ=="
},
- "node_modules/growl": {
- "version": "1.10.5",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
- "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
- "dev": true,
- "engines": {
- "node": ">=4.x"
- }
+ "node_modules/graceful-readlink": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+ "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==",
+ "dev": true
},
"node_modules/growly": {
"version": "1.3.0",
@@ -6101,61 +6273,29 @@
}
},
"node_modules/gulp-less": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/gulp-less/-/gulp-less-4.0.1.tgz",
- "integrity": "sha512-hmM2k0FfQp7Ptm3ZaqO2CkMX3hqpiIOn4OHtuSsCeFym63F7oWlEua5v6u1cIjVUKYsVIs9zPg9vbqTEb/udpA==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/gulp-less/-/gulp-less-5.0.0.tgz",
+ "integrity": "sha512-W2I3TewO/By6UZsM/wJG3pyK5M6J0NYmJAAhwYXQHR+38S0iDtZasmUgFCH3CQj+pQYw/PAIzxvFvwtEXz1HhQ==",
"dev": true,
"dependencies": {
- "accord": "^0.29.0",
- "less": "2.6.x || ^3.7.1",
+ "less": "^3.7.1 || ^4.0.0",
"object-assign": "^4.0.1",
- "plugin-error": "^0.1.2",
- "replace-ext": "^1.0.0",
- "through2": "^2.0.0",
+ "plugin-error": "^1.0.0",
+ "replace-ext": "^2.0.0",
+ "through2": "^4.0.0",
"vinyl-sourcemaps-apply": "^0.2.0"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6"
}
},
- "node_modules/gulp-less/node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "node_modules/gulp-less/node_modules/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==",
+ "node_modules/gulp-less/node_modules/replace-ext": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz",
+ "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==",
"dev": true,
- "dependencies": {
- "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"
- }
- },
- "node_modules/gulp-less/node_modules/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,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/gulp-less/node_modules/through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "dev": true,
- "dependencies": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
+ "engines": {
+ "node": ">= 10"
}
},
"node_modules/gulplog": {
@@ -6211,7 +6351,8 @@
"node_modules/has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
+ "dev": true
},
"node_modules/has-value": {
"version": "1.0.0",
@@ -6282,8 +6423,21 @@
"node_modules/http-cache-semantics": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
- "dev": true
+ "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
+ },
+ "node_modules/http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "dev": true,
+ "dependencies": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
},
"node_modules/http-response-object": {
"version": "3.0.2",
@@ -6338,17 +6492,27 @@
}
},
"node_modules/humanize-duration": {
- "version": "3.25.1",
- "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.25.1.tgz",
- "integrity": "sha512-P+dRo48gpLgc2R9tMRgiDRNULPKCmqFYgguwqOO2C0fjO35TgdURDQDANSR1Nt92iHlbHGMxOTnsB8H8xnMa2Q=="
+ "version": "3.27.2",
+ "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.2.tgz",
+ "integrity": "sha512-A15OmA3FLFRnehvF4ZMocsxTZYvHq4ze7L+AgR1DeHw0xC9vMd4euInY83uqGU9/XXKNnVIEeKc1R8G8nKqtzg=="
},
- "node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "node_modules/humanize-ms": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
+ "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
"dev": true,
"dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
+ "ms": "^2.0.0"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
},
"engines": {
"node": ">=0.10.0"
@@ -6373,15 +6537,6 @@
}
]
},
- "node_modules/ignore-walk": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
- "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
- "dev": true,
- "dependencies": {
- "minimatch": "^3.0.4"
- }
- },
"node_modules/image-q": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz",
@@ -6406,17 +6561,35 @@
"node_modules/imul": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz",
- "integrity": "sha1-nVhnFh6LPelsLDjV3HyxAvNeKsk=",
+ "integrity": "sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==",
"dev": true,
"optional": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/indx": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/indx/-/indx-0.2.3.tgz",
- "integrity": "sha1-Fdz1bunPZcAjTFE8J/vVgOcPvFA=",
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/infer-owner": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
+ "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
"dev": true
},
"node_modules/inflight": {
@@ -6437,7 +6610,8 @@
"node_modules/ini": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "devOptional": true
},
"node_modules/interpret": {
"version": "1.4.0",
@@ -6461,6 +6635,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/ip": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
+ "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==",
+ "dev": true
+ },
"node_modules/is-absolute": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
@@ -6641,24 +6821,30 @@
"node": ">=8"
}
},
+ "node_modules/is-lambda": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
+ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
+ "dev": true
+ },
"node_modules/is-my-ip-valid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz",
- "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz",
+ "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==",
"dev": true,
"optional": true
},
"node_modules/is-my-json-valid": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz",
- "integrity": "sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA==",
+ "version": "2.20.6",
+ "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz",
+ "integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==",
"dev": true,
"optional": true,
"dependencies": {
"generate-function": "^2.0.0",
"generate-object-property": "^1.1.0",
"is-my-ip-valid": "^1.0.0",
- "jsonpointer": "^4.0.0",
+ "jsonpointer": "^5.0.0",
"xtend": "^4.0.0"
}
},
@@ -6719,7 +6905,7 @@
"node_modules/is-property": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
- "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
+ "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==",
"dev": true,
"optional": true
},
@@ -6738,7 +6924,7 @@
"node_modules/is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==",
"dev": true,
"optional": true,
"engines": {
@@ -6762,6 +6948,18 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
@@ -6797,11 +6995,6 @@
"node": ">=8"
}
},
- "node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
"node_modules/isbinaryfile": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
@@ -6850,6 +7043,18 @@
"resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz",
"integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw=="
},
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
"node_modules/jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
@@ -6858,8 +7063,7 @@
"node_modules/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
+ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
},
"node_modules/json-schema": {
"version": "0.2.3",
@@ -6892,9 +7096,9 @@
}
},
"node_modules/jsonpointer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
- "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.0.tgz",
+ "integrity": "sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==",
"dev": true,
"optional": true,
"engines": {
@@ -6934,7 +7138,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
"integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
- "dev": true,
"dependencies": {
"json-buffer": "3.0.0"
}
@@ -6949,12 +7152,12 @@
}
},
"node_modules/klaw": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz",
- "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-4.0.1.tgz",
+ "integrity": "sha512-pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw==",
"dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.9"
+ "engines": {
+ "node": ">=14.14.0"
}
},
"node_modules/kuler": {
@@ -6975,15 +7178,6 @@
"node": ">= 0.10"
}
},
- "node_modules/lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/lazystream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
@@ -7179,101 +7373,62 @@
}
},
"node_modules/lodash": {
- "version": "4.17.19",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
- "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"devOptional": true
},
- "node_modules/lodash.clone": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
- "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=",
- "dev": true
- },
- "node_modules/lodash.defaults": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
- "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=",
- "dev": true
- },
- "node_modules/lodash.flatten": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
- "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=",
- "dev": true
- },
"node_modules/lodash.get": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
"dev": true
},
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
- "node_modules/lodash.partialright": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/lodash.partialright/-/lodash.partialright-4.2.1.tgz",
- "integrity": "sha1-ATDYDoM2MmTUAHTzKbij56ihzEs=",
- "dev": true
- },
- "node_modules/lodash.pick": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
- "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=",
- "dev": true
- },
- "node_modules/lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
- "dev": true
- },
"node_modules/log": {
"resolved": "lib/log",
"link": true
},
"node_modules/log-symbols": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
- "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
"dev": true,
"dependencies": {
- "chalk": "^4.0.0"
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
},
"engines": {
"node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/logform": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz",
- "integrity": "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz",
+ "integrity": "sha512-CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==",
"dependencies": {
- "colors": "^1.2.1",
- "fast-safe-stringify": "^2.0.4",
+ "@colors/colors": "1.5.0",
"fecha": "^4.2.0",
"ms": "^2.1.1",
+ "safe-stable-stringify": "^2.3.1",
"triple-beam": "^1.3.0"
}
},
- "node_modules/longest": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "node_modules/loupe": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz",
+ "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "dependencies": {
+ "get-func-name": "^2.0.0"
}
},
"node_modules/lowercase-keys": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
"integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -7282,7 +7437,6 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
@@ -7291,16 +7445,15 @@
}
},
"node_modules/lzma-native": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/lzma-native/-/lzma-native-6.0.1.tgz",
- "integrity": "sha512-O6oWF0xe1AFvOCjU8uOZBZ/lhjaMNwHfVNaqVMqmoQXlRwBcFWpCAToiZOdXcKVMdo/5s/D0a2QgA5laMErxHQ==",
+ "version": "8.0.6",
+ "resolved": "https://registry.npmjs.org/lzma-native/-/lzma-native-8.0.6.tgz",
+ "integrity": "sha512-09xfg67mkL2Lz20PrrDeNYZxzeW7ADtpYFbwSQh9U8+76RIzx5QsJBMy8qikv3hbUPfpy6hqwxt6FcGK81g9AA==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
- "node-addon-api": "^1.6.0",
- "node-pre-gyp": "^0.11.0",
- "readable-stream": "^2.3.5",
- "rimraf": "^2.7.1"
+ "node-addon-api": "^3.1.0",
+ "node-gyp-build": "^4.2.1",
+ "readable-stream": "^3.6.0"
},
"bin": {
"lzmajs": "bin/lzmajs"
@@ -7309,22 +7462,10 @@
"node": ">=10.0.0"
}
},
- "node_modules/lzma-native/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
"node_modules/macos-alias": {
"version": "0.2.11",
"resolved": "https://registry.npmjs.org/macos-alias/-/macos-alias-0.2.11.tgz",
- "integrity": "sha1-/u6mwTuhGYFKQ/xDxHCzHlnvcYo=",
+ "integrity": "sha512-zIUs3+qpml+w3wiRuADutd7XIO8UABqksot10Utl/tji4UxZzLG4fWDC+yJZoO8/Ehg5RqsvSRE/6TS5AEOeWw==",
"dev": true,
"hasInstallScript": true,
"optional": true,
@@ -7335,6 +7476,33 @@
"nan": "^2.4.0"
}
},
+ "node_modules/make-fetch-happen": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
+ "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
+ "dev": true,
+ "dependencies": {
+ "agentkeepalive": "^4.1.3",
+ "cacache": "^15.2.0",
+ "http-cache-semantics": "^4.1.0",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-lambda": "^1.0.1",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.3",
+ "minipass-collect": "^1.0.2",
+ "minipass-fetch": "^1.3.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "negotiator": "^0.6.2",
+ "promise-retry": "^2.0.1",
+ "socks-proxy-agent": "^6.0.0",
+ "ssri": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
"node_modules/make-iterator": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
@@ -7414,7 +7582,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
"integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
- "dev": true,
"optional": true,
"dependencies": {
"escape-string-regexp": "^4.0.0"
@@ -7486,17 +7653,6 @@
"node": ">=6"
}
},
- "node_modules/mimic-response": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
- "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/min-document": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
@@ -7523,9 +7679,9 @@
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"node_modules/minipass": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
- "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz",
+ "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
@@ -7534,6 +7690,71 @@
"node": ">=8"
}
},
+ "node_modules/minipass-collect": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
+ "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minipass-fetch": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
+ "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.1.0",
+ "minipass-sized": "^1.0.3",
+ "minizlib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "optionalDependencies": {
+ "encoding": "^0.1.12"
+ }
+ },
+ "node_modules/minipass-flush": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
+ "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minipass-pipeline": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
+ "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minipass-sized": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
+ "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/minizlib": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
@@ -7583,49 +7804,41 @@
"mkdirp": "bin/cmd.js"
}
},
- "node_modules/mkdirp-classic": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
- },
"node_modules/mocha": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.3.0.tgz",
- "integrity": "sha512-TQqyC89V1J/Vxx0DhJIXlq9gbbL9XFNdeLQ1+JsnZsVaSOV1z3tWfw0qZmQJGQRIfkvZcs7snQnZnOCKoldq1Q==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz",
+ "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==",
"dev": true,
"dependencies": {
"@ungap/promise-all-settled": "1.1.2",
"ansi-colors": "4.1.1",
"browser-stdout": "1.3.1",
- "chokidar": "3.5.1",
- "debug": "4.3.1",
+ "chokidar": "3.5.3",
+ "debug": "4.3.4",
"diff": "5.0.0",
"escape-string-regexp": "4.0.0",
"find-up": "5.0.0",
- "glob": "7.1.6",
- "growl": "1.10.5",
+ "glob": "7.2.0",
"he": "1.2.0",
- "js-yaml": "4.0.0",
- "log-symbols": "4.0.0",
- "minimatch": "3.0.4",
+ "js-yaml": "4.1.0",
+ "log-symbols": "4.1.0",
+ "minimatch": "5.0.1",
"ms": "2.1.3",
- "nanoid": "3.1.20",
- "serialize-javascript": "5.0.1",
+ "nanoid": "3.3.3",
+ "serialize-javascript": "6.0.0",
"strip-json-comments": "3.1.1",
"supports-color": "8.1.1",
- "which": "2.0.2",
- "wide-align": "1.1.3",
- "workerpool": "6.1.0",
+ "workerpool": "6.2.1",
"yargs": "16.2.0",
"yargs-parser": "20.2.4",
"yargs-unparser": "2.0.0"
},
"bin": {
"_mocha": "bin/_mocha",
- "mocha": "bin/mocha"
+ "mocha": "bin/mocha.js"
},
"engines": {
- "node": ">= 10.12.0"
+ "node": ">= 14.0.0"
},
"funding": {
"type": "opencollective",
@@ -7642,9 +7855,9 @@
}
},
"node_modules/mocha/node_modules/anymatch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
- "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
"dev": true,
"dependencies": {
"normalize-path": "^3.0.0",
@@ -7654,12 +7867,6 @@
"node": ">= 8"
}
},
- "node_modules/mocha/node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
- },
"node_modules/mocha/node_modules/binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -7669,6 +7876,15 @@
"node": ">=8"
}
},
+ "node_modules/mocha/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
"node_modules/mocha/node_modules/braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
@@ -7682,24 +7898,30 @@
}
},
"node_modules/mocha/node_modules/chokidar": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
- "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
"dependencies": {
- "anymatch": "~3.1.1",
+ "anymatch": "~3.1.2",
"braces": "~3.0.2",
- "glob-parent": "~5.1.0",
+ "glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
- "readdirp": "~3.5.0"
+ "readdirp": "~3.6.0"
},
"engines": {
"node": ">= 8.10.0"
},
"optionalDependencies": {
- "fsevents": "~2.3.1"
+ "fsevents": "~2.3.2"
}
},
"node_modules/mocha/node_modules/cliui": {
@@ -7756,9 +7978,9 @@
}
},
"node_modules/mocha/node_modules/glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.1"
@@ -7788,18 +8010,6 @@
"node": ">=0.12.0"
}
},
- "node_modules/mocha/node_modules/js-yaml": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz",
- "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==",
- "dev": true,
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
"node_modules/mocha/node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -7815,6 +8025,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/mocha/node_modules/minimatch": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+ "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/mocha/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -7861,9 +8083,9 @@
}
},
"node_modules/mocha/node_modules/readdirp": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
- "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"dependencies": {
"picomatch": "^2.2.1"
@@ -7884,21 +8106,6 @@
"node": ">=8.0"
}
},
- "node_modules/mocha/node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/mocha/node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -7953,9 +8160,9 @@
}
},
"node_modules/moment": {
- "version": "2.29.1",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
- "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==",
+ "version": "2.29.3",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
+ "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==",
"engines": {
"node": "*"
}
@@ -7970,13 +8177,13 @@
"link": true
},
"node_modules/murmur-32": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/murmur-32/-/murmur-32-0.1.0.tgz",
- "integrity": "sha1-waedT8X6vwQFdJ0K/3fEFAIFWGE=",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/murmur-32/-/murmur-32-0.2.0.tgz",
+ "integrity": "sha512-ZkcWZudylwF+ir3Ld1n7gL6bI2mQAzXvSobPwVtu8aYi2sbXeipeSkdcanRLzIofLcM5F53lGaKm2dk7orBi7Q==",
"dev": true,
"optional": true,
"dependencies": {
- "array-buffer-from-string": "^0.1.0",
+ "encode-utf8": "^1.0.3",
"fmix": "^0.1.0",
"imul": "^1.0.0"
}
@@ -7993,12 +8200,14 @@
"node_modules/nan": {
"version": "2.14.2",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
- "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ=="
+ "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==",
+ "dev": true,
+ "optional": true
},
"node_modules/nanoid": {
- "version": "3.1.20",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz",
- "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+ "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
"dev": true,
"bin": {
"nanoid": "bin/nanoid.cjs"
@@ -8029,35 +8238,13 @@
"node": ">=0.10.0"
}
},
- "node_modules/napi-build-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
- "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg=="
- },
- "node_modules/needle": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz",
- "integrity": "sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==",
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
"dev": true,
- "dependencies": {
- "debug": "^3.2.6",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- },
- "bin": {
- "needle": "bin/needle"
- },
"engines": {
- "node": ">= 4.4.x"
- }
- },
- "node_modules/needle/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
+ "node": ">= 0.6"
}
},
"node_modules/next-tick": {
@@ -8074,34 +8261,77 @@
"optional": true
},
"node_modules/node-abi": {
- "version": "2.19.3",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz",
- "integrity": "sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==",
+ "version": "3.22.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.22.0.tgz",
+ "integrity": "sha512-u4uAs/4Zzmp/jjsD9cyFYDXeISfUWaAVWshPmDZOFOv4Xl4SbzTXm53I04C2uRueYJ+0t5PEtLH/owbn2Npf/w==",
+ "dev": true,
"dependencies": {
- "semver": "^5.4.1"
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/node-abi/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/node-addon-api": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz",
- "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
+ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
"dev": true
},
+ "node_modules/node-api-version": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.1.4.tgz",
+ "integrity": "sha512-KGXihXdUChwJAOHO53bv9/vXcLmdUsZ6jIptbvYvkpKfth+r7jw44JkVxQFA3kX5nQjzjmGu1uAu/xNNLNlI5g==",
+ "dev": true,
+ "dependencies": {
+ "semver": "^7.3.5"
+ }
+ },
+ "node_modules/node-api-version/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/node-gyp": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz",
- "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==",
+ "version": "8.4.1",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
+ "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
"dev": true,
"dependencies": {
"env-paths": "^2.2.0",
"glob": "^7.1.4",
- "graceful-fs": "^4.2.3",
+ "graceful-fs": "^4.2.6",
+ "make-fetch-happen": "^9.1.0",
"nopt": "^5.0.0",
- "npmlog": "^4.1.2",
- "request": "^2.88.2",
+ "npmlog": "^6.0.0",
"rimraf": "^3.0.2",
- "semver": "^7.3.2",
- "tar": "^6.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.2",
"which": "^2.0.2"
},
"bin": {
@@ -8111,10 +8341,20 @@
"node": ">= 10.12.0"
}
},
+ "node_modules/node-gyp-build": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz",
+ "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==",
+ "bin": {
+ "node-gyp-build": "bin.js",
+ "node-gyp-build-optional": "optional.js",
+ "node-gyp-build-test": "build-test.js"
+ }
+ },
"node_modules/node-gyp/node_modules/semver": {
- "version": "7.3.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
- "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -8142,22 +8382,25 @@
}
},
"node_modules/node-notifier": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.0.tgz",
- "integrity": "sha512-SkwNwGnMMlSPrcoeH4CSo9XyWe72acAHEJGDdPdB+CyBVHsIYaTQ4U/1wk3URsyzC75xZLg2vzU2YaALlqDF1Q==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz",
+ "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==",
"dependencies": {
"growly": "^1.3.0",
"is-wsl": "^2.2.0",
- "semver": "^7.3.2",
+ "semver": "^7.3.5",
"shellwords": "^0.1.1",
- "uuid": "^8.3.0",
+ "uuid": "^8.3.2",
"which": "^2.0.2"
}
},
"node_modules/node-notifier/node_modules/semver": {
- "version": "7.3.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
- "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
"bin": {
"semver": "bin/semver.js"
},
@@ -8179,116 +8422,6 @@
"node": ">= 8"
}
},
- "node_modules/node-pre-gyp": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz",
- "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==",
- "deprecated": "Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future",
- "dev": true,
- "dependencies": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.1",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.2.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4"
- },
- "bin": {
- "node-pre-gyp": "bin/node-pre-gyp"
- }
- },
- "node_modules/node-pre-gyp/node_modules/chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
- "node_modules/node-pre-gyp/node_modules/fs-minipass": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
- "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
- "dev": true,
- "dependencies": {
- "minipass": "^2.6.0"
- }
- },
- "node_modules/node-pre-gyp/node_modules/minipass": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
- "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- },
- "node_modules/node-pre-gyp/node_modules/minizlib": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
- "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
- "dev": true,
- "dependencies": {
- "minipass": "^2.9.0"
- }
- },
- "node_modules/node-pre-gyp/node_modules/nopt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
- "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
- "dev": true,
- "dependencies": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- }
- },
- "node_modules/node-pre-gyp/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/node-pre-gyp/node_modules/tar": {
- "version": "4.4.13",
- "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
- "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
- "dev": true,
- "dependencies": {
- "chownr": "^1.1.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.8.6",
- "minizlib": "^1.2.1",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.3"
- },
- "engines": {
- "node": ">=4.5"
- }
- },
- "node_modules/node-pre-gyp/node_modules/yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true
- },
- "node_modules/noop-logger": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
- "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI="
- },
"node_modules/nopt": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
@@ -8332,7 +8465,6 @@
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
"integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -8349,20 +8481,10 @@
"node": ">= 0.10"
}
},
- "node_modules/npm-bundled": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
- "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
- "dev": true,
- "dependencies": {
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
"node_modules/npm-conf": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
"integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
- "dev": true,
"optional": true,
"dependencies": {
"config-chain": "^1.1.11",
@@ -8372,27 +8494,10 @@
"node": ">=4"
}
},
- "node_modules/npm-normalize-package-bin": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
- "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
- "dev": true
- },
- "node_modules/npm-packlist": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz",
- "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
- "dev": true,
- "dependencies": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1",
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
"node_modules/npm-run-path": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==",
"dev": true,
"optional": true,
"dependencies": {
@@ -8403,20 +8508,25 @@
}
},
"node_modules/npmlog": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
+ "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
+ "dev": true,
"dependencies": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
+ "are-we-there-yet": "^3.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^4.0.3",
+ "set-blocking": "^2.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/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,
"engines": {
"node": ">=0.10.0"
}
@@ -8433,6 +8543,7 @@
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -8661,15 +8772,6 @@
"safe-buffer": "~5.1.0"
}
},
- "node_modules/os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/os-locale": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
@@ -8682,30 +8784,10 @@
"node": ">=0.10.0"
}
},
- "node_modules/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,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/osenv": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
- "dev": true,
- "dependencies": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
"node_modules/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,
"engines": {
"node": ">=6"
}
@@ -8744,6 +8826,21 @@
"node": ">=8"
}
},
+ "node_modules/p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "dev": true,
+ "dependencies": {
+ "aggregate-error": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
@@ -8807,7 +8904,7 @@
"node_modules/parse-color/node_modules/color-convert": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz",
- "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=",
+ "integrity": "sha512-RwBeO/B/vZR3dfKL1ye/vx8MHZ40ugzpyfeVG5GsiuGnrlMWe2o8wxBbLCpw9CsxV+wHuzYlCiWnybrIA0ling==",
"dev": true,
"optional": true
},
@@ -8954,9 +9051,9 @@
}
},
"node_modules/pathval": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
- "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
+ "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
"dev": true,
"engines": {
"node": "*"
@@ -8965,8 +9062,7 @@
"node_modules/pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
- "dev": true
+ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
},
"node_modules/performance-now": {
"version": "2.1.0",
@@ -8979,9 +9075,9 @@
"integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA=="
},
"node_modules/picomatch": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
- "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"engines": {
"node": ">=8.6"
@@ -8994,7 +9090,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true,
"optional": true,
"engines": {
"node": ">=4"
@@ -9033,85 +9128,31 @@
}
},
"node_modules/plist": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
- "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==",
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.5.tgz",
+ "integrity": "sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==",
"dev": true,
"dependencies": {
- "base64-js": "^1.2.3",
- "xmlbuilder": "^9.0.7",
- "xmldom": "0.1.x"
+ "base64-js": "^1.5.1",
+ "xmlbuilder": "^9.0.7"
},
"engines": {
"node": ">=6"
}
},
"node_modules/plugin-error": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
- "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
+ "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
"dev": true,
"dependencies": {
- "ansi-cyan": "^0.1.1",
- "ansi-red": "^0.1.1",
- "arr-diff": "^1.0.1",
- "arr-union": "^2.0.1",
- "extend-shallow": "^1.1.2"
+ "ansi-colors": "^1.0.1",
+ "arr-diff": "^4.0.0",
+ "arr-union": "^3.1.0",
+ "extend-shallow": "^3.0.2"
},
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/plugin-error/node_modules/arr-diff": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
- "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=",
- "dev": true,
- "dependencies": {
- "arr-flatten": "^1.0.1",
- "array-slice": "^0.2.3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/plugin-error/node_modules/arr-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
- "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/plugin-error/node_modules/array-slice": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
- "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/plugin-error/node_modules/extend-shallow": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
- "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
- "dev": true,
- "dependencies": {
- "kind-of": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/plugin-error/node_modules/kind-of": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
- "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
+ "node": ">= 0.10"
}
},
"node_modules/pngjs": {
@@ -9131,39 +9172,10 @@
"node": ">=0.10.0"
}
},
- "node_modules/prebuild-install": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.0.1.tgz",
- "integrity": "sha512-7GOJrLuow8yeiyv75rmvZyeMGzl8mdEX5gY69d6a6bHWmiPevwqFw+tQavhK0EYMaSg3/KD24cWqeQv1EWsqDQ==",
- "dependencies": {
- "detect-libc": "^1.0.3",
- "expand-template": "^2.0.3",
- "github-from-package": "0.0.0",
- "minimist": "^1.2.3",
- "mkdirp-classic": "^0.5.3",
- "napi-build-utils": "^1.0.1",
- "node-abi": "^2.7.0",
- "noop-logger": "^0.1.1",
- "npmlog": "^4.0.1",
- "pump": "^3.0.0",
- "rc": "^1.2.7",
- "simple-get": "^3.0.3",
- "tar-fs": "^2.0.0",
- "tunnel-agent": "^0.6.0",
- "which-pm-runs": "^1.0.0"
- },
- "bin": {
- "prebuild-install": "bin.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/prepend-http": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
"integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
- "dev": true,
"engines": {
"node": ">=4"
}
@@ -9206,11 +9218,29 @@
"resolved": "lib/proj",
"link": true
},
+ "node_modules/promise-inflight": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
+ "dev": true
+ },
+ "node_modules/promise-retry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
+ "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
+ "dev": true,
+ "dependencies": {
+ "err-code": "^2.0.2",
+ "retry": "^0.12.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/proto-list": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
"integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
- "dev": true,
"optional": true
},
"node_modules/prr": {
@@ -9284,14 +9314,14 @@
}
},
"node_modules/random-path": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/random-path/-/random-path-0.1.1.tgz",
- "integrity": "sha1-+PTTb3WhNMoV/TnH11BfvxY7Y0w=",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/random-path/-/random-path-0.1.2.tgz",
+ "integrity": "sha512-4jY0yoEaQ5v9StCl5kZbNIQlg1QheIDBrdkDn53EynpPb9FgO6//p3X/tgMnrC45XN6QZCzU1Xz/+pSSsJBpRw==",
"dev": true,
"optional": true,
"dependencies": {
- "base32-encode": "^0.1.0",
- "murmur-32": "^0.1.0"
+ "base32-encode": "^0.1.0 || ^1.0.0",
+ "murmur-32": "^0.1.0 || ^0.2.0"
}
},
"node_modules/randombytes": {
@@ -9303,35 +9333,16 @@
"safe-buffer": "^5.1.0"
}
},
- "node_modules/rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "dependencies": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "bin": {
- "rc": "cli.js"
- }
- },
- "node_modules/rc/node_modules/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=",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/rcedit": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-2.2.0.tgz",
- "integrity": "sha512-dhFtYmQS+V8qQIANyX6zDK+sO50ayDePKApi46ZPK8I6QeyyTDD6LManMa7a3p3c9mLM4zi9QBP41pfhQ9p7Sg==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-3.0.1.tgz",
+ "integrity": "sha512-XM0Jv40/y4hVAqj/MO70o/IWs4uOsaSoo2mLyk3klFDW+SStLnCtzuQu+1OBTIMGlM8CvaK9ftlYCp6DJ+cMsw==",
"dev": true,
+ "dependencies": {
+ "cross-spawn-windows-exe": "^1.1.0"
+ },
"engines": {
- "node": ">= 8.0.0"
+ "node": ">= 10.0.0"
}
},
"node_modules/rcinfo": {
@@ -9393,17 +9404,16 @@
}
},
"node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dependencies": {
- "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"
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
"node_modules/readdirp": {
@@ -9697,7 +9707,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
"integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
- "dev": true,
"dependencies": {
"lowercase-keys": "^1.0.0"
}
@@ -9724,16 +9733,13 @@
"node": ">=0.12"
}
},
- "node_modules/right-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "node_modules/retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
"dev": true,
- "dependencies": {
- "align-text": "^0.1.1"
- },
"engines": {
- "node": ">=0.10.0"
+ "node": ">= 4"
}
},
"node_modules/rimraf": {
@@ -9749,13 +9755,12 @@
}
},
"node_modules/roarr": {
- "version": "2.15.3",
- "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.3.tgz",
- "integrity": "sha512-AEjYvmAhlyxOeB9OqPUzQCo3kuAkNfuDk/HqWbZdFsqDFpapkTjiw+p4svNEoRLvuqNTxqfL+s+gtD4eDgZ+CA==",
- "dev": true,
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
+ "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
"optional": true,
"dependencies": {
- "boolean": "^3.0.0",
+ "boolean": "^3.0.1",
"detect-node": "^2.0.4",
"globalthis": "^1.0.1",
"json-stringify-safe": "^5.0.1",
@@ -9766,13 +9771,6 @@
"node": ">=8.0"
}
},
- "node_modules/roarr/node_modules/sprintf-js": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
- "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
- "dev": true,
- "optional": true
- },
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -9787,20 +9785,19 @@
"ret": "~0.1.10"
}
},
+ "node_modules/safe-stable-stringify": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz",
+ "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
- "node_modules/sanitize-filename": {
- "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,
- "dependencies": {
- "truncate-utf8-bytes": "^1.0.0"
- }
- },
"node_modules/sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
@@ -9810,6 +9807,7 @@
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
"integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
+ "dev": true,
"bin": {
"semver": "bin/semver"
}
@@ -9818,7 +9816,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
"integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
- "dev": true,
"optional": true
},
"node_modules/semver-greatest-satisfied-range": {
@@ -9841,43 +9838,48 @@
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
"integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
- "dev": true,
"optional": true,
"dependencies": {
"type-fest": "^0.13.1"
},
"engines": {
"node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/serialize-javascript": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
- "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+ "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
"dev": true,
"dependencies": {
"randombytes": "^2.1.0"
}
},
"node_modules/serialport": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/serialport/-/serialport-9.0.7.tgz",
- "integrity": "sha512-NeDfVks3JAJ7s8cXDopx1iUUgC/7TaltE7iQGiSewIWMZaK7oStiz3VJzcuKgor7F+U/y6zbAnj4i6eHq0on+g==",
+ "version": "10.4.0",
+ "resolved": "https://registry.npmjs.org/serialport/-/serialport-10.4.0.tgz",
+ "integrity": "sha512-PszPM5SnFMgSXom60PkKS2A9nMlNbHkuoyRBlzdSWw9rmgOn258+V0dYbWMrETJMM+TJV32vqBzjg5MmmUMwMw==",
"dependencies": {
- "@serialport/binding-mock": "^9.0.7",
- "@serialport/bindings": "^9.0.7",
- "@serialport/parser-byte-length": "^9.0.7",
- "@serialport/parser-cctalk": "^9.0.7",
- "@serialport/parser-delimiter": "^9.0.7",
- "@serialport/parser-inter-byte-timeout": "^9.0.7",
- "@serialport/parser-readline": "^9.0.7",
- "@serialport/parser-ready": "^9.0.7",
- "@serialport/parser-regex": "^9.0.7",
- "@serialport/stream": "^9.0.7",
- "debug": "^4.3.1"
+ "@serialport/binding-mock": "10.2.2",
+ "@serialport/bindings-cpp": "10.7.0",
+ "@serialport/parser-byte-length": "10.3.0",
+ "@serialport/parser-cctalk": "10.3.0",
+ "@serialport/parser-delimiter": "10.3.0",
+ "@serialport/parser-inter-byte-timeout": "10.3.0",
+ "@serialport/parser-packet-length": "10.3.0",
+ "@serialport/parser-readline": "10.3.0",
+ "@serialport/parser-ready": "10.3.0",
+ "@serialport/parser-regex": "10.3.0",
+ "@serialport/parser-slip-encoder": "10.3.0",
+ "@serialport/parser-spacepacket": "10.3.0",
+ "@serialport/stream": "10.3.0",
+ "debug": "^4.3.3"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=12.0.0"
},
"funding": {
"url": "https://opencollective.com/serialport/donate"
@@ -9890,7 +9892,8 @@
"node_modules/set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "devOptional": true
},
"node_modules/set-value": {
"version": "2.0.1",
@@ -9952,38 +9955,10 @@
"integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww=="
},
"node_modules/signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
- },
- "node_modules/simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/simple-get": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz",
- "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==",
- "dependencies": {
- "decompress-response": "^4.2.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true
},
"node_modules/simple-swizzle": {
"version": "0.2.2",
@@ -9993,6 +9968,16 @@
"is-arrayish": "^0.3.1"
}
},
+ "node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
"node_modules/snapdragon": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
@@ -10139,6 +10124,34 @@
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
},
+ "node_modules/socks": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz",
+ "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==",
+ "dev": true,
+ "dependencies": {
+ "ip": "^1.1.5",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socks-proxy-agent": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
+ "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "^6.0.2",
+ "debug": "^4.3.3",
+ "socks": "^2.6.2"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
"node_modules/source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -10224,6 +10237,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/sprintf-js": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
+ "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
+ "optional": true
+ },
"node_modules/sshpk": {
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
@@ -10248,6 +10267,18 @@
"node": ">=0.10.0"
}
},
+ "node_modules/ssri": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
+ "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.1.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/stack-trace": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
@@ -10312,26 +10343,26 @@
}
},
"node_modules/string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"devOptional": true,
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
+ "strip-ansi": "^6.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"devOptional": true,
"dependencies": {
- "ansi-regex": "^5.0.0"
+ "ansi-regex": "^5.0.1"
},
"engines": {
"node": ">=8"
@@ -10396,7 +10427,6 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz",
"integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==",
- "dev": true,
"dependencies": {
"debug": "^4.1.0"
},
@@ -10434,9 +10464,9 @@
"link": true
},
"node_modules/tar": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz",
- "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==",
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
"dev": true,
"dependencies": {
"chownr": "^2.0.0",
@@ -10450,50 +10480,6 @@
"node": ">= 10"
}
},
- "node_modules/tar-fs": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
- "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
- "dependencies": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^2.1.4"
- }
- },
- "node_modules/tar-fs/node_modules/chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
- },
- "node_modules/tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
- "dependencies": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tar-stream/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/tar/node_modules/mkdirp": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
@@ -10511,6 +10497,15 @@
"resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
"integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="
},
+ "node_modules/through2": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
+ "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
+ "dev": true,
+ "dependencies": {
+ "readable-stream": "3"
+ }
+ },
"node_modules/through2-filter": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz",
@@ -10636,6 +10631,13 @@
"node": ">=0.10.0"
}
},
+ "node_modules/to-data-view": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/to-data-view/-/to-data-view-1.1.0.tgz",
+ "integrity": "sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==",
+ "dev": true,
+ "optional": true
+ },
"node_modules/to-object-path": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
@@ -10664,7 +10666,6 @@
"version": "1.0.0",
"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,
"engines": {
"node": ">=6"
}
@@ -10787,20 +10788,10 @@
"resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
"integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
},
- "node_modules/truncate-utf8-bytes": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz",
- "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=",
- "dev": true,
- "dependencies": {
- "utf8-byte-length": "^1.0.1"
- }
- },
"node_modules/tunnel": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
- "dev": true,
"optional": true,
"engines": {
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
@@ -10841,10 +10832,12 @@
"version": "0.13.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
"integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
- "dev": true,
"optional": true,
"engines": {
"node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/typedarray": {
@@ -10853,9 +10846,9 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
"node_modules/typescript": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.5.tgz",
- "integrity": "sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA==",
+ "version": "4.7.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz",
+ "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
@@ -10865,64 +10858,6 @@
"node": ">=4.2.0"
}
},
- "node_modules/uglify-js": {
- "version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
- "dev": true,
- "dependencies": {
- "source-map": "~0.5.1",
- "yargs": "~3.10.0"
- },
- "bin": {
- "uglifyjs": "bin/uglifyjs"
- },
- "engines": {
- "node": ">=0.8.0"
- },
- "optionalDependencies": {
- "uglify-to-browserify": "~1.0.0"
- }
- },
- "node_modules/uglify-js/node_modules/camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/uglify-js/node_modules/cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "dev": true,
- "dependencies": {
- "center-align": "^0.1.1",
- "right-align": "^0.1.1",
- "wordwrap": "0.0.2"
- }
- },
- "node_modules/uglify-js/node_modules/yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "dev": true,
- "dependencies": {
- "camelcase": "^1.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
- "window-size": "0.1.0"
- }
- },
- "node_modules/uglify-to-browserify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
- "dev": true,
- "optional": true
- },
"node_modules/unc-path-regex": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
@@ -10976,6 +10911,24 @@
"node": ">=0.10.0"
}
},
+ "node_modules/unique-filename": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
+ "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+ "dev": true,
+ "dependencies": {
+ "unique-slug": "^2.0.0"
+ }
+ },
+ "node_modules/unique-slug": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
+ "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+ "dev": true,
+ "dependencies": {
+ "imurmurhash": "^0.1.4"
+ }
+ },
"node_modules/unique-stream": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz",
@@ -10995,9 +10948,9 @@
}
},
"node_modules/unorm": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.5.0.tgz",
- "integrity": "sha512-sMfSWoiRaXXeDZSXC+YRZ23H4xchQpwxjpw1tmfR+kgbBCaOgln4NI0LXejJIhnBuKINrB3WRn+ZI8IWssirVw==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz",
+ "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==",
"dev": true,
"optional": true,
"engines": {
@@ -11086,7 +11039,6 @@
"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,
"dependencies": {
"prepend-http": "^2.0.0"
},
@@ -11103,12 +11055,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/utf8-byte-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz",
- "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=",
- "dev": true
- },
"node_modules/utif": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz",
@@ -11295,12 +11241,6 @@
"defaults": "^1.0.3"
}
},
- "node_modules/when": {
- "version": "3.7.8",
- "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz",
- "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=",
- "dev": true
- },
"node_modules/which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -11319,97 +11259,52 @@
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"optional": true
},
- "node_modules/which-pm-runs": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
- "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs="
- },
"node_modules/wide-align": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
- "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
- "dependencies": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "node_modules/wide-align/node_modules/ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/wide-align/node_modules/is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/wide-align/node_modules/string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dependencies": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/wide-align/node_modules/strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dependencies": {
- "ansi-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
"dev": true,
- "engines": {
- "node": ">= 0.8.0"
+ "dependencies": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
}
},
"node_modules/winston": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz",
- "integrity": "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==",
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/winston/-/winston-3.7.2.tgz",
+ "integrity": "sha512-QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng==",
"dependencies": {
"@dabh/diagnostics": "^2.0.2",
- "async": "^3.1.0",
+ "async": "^3.2.3",
"is-stream": "^2.0.0",
- "logform": "^2.2.0",
+ "logform": "^2.4.0",
"one-time": "^1.0.0",
"readable-stream": "^3.4.0",
+ "safe-stable-stringify": "^2.3.1",
"stack-trace": "0.0.x",
"triple-beam": "^1.3.0",
- "winston-transport": "^4.4.0"
+ "winston-transport": "^4.5.0"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/winston-transport": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz",
+ "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==",
+ "dependencies": {
+ "logform": "^2.3.2",
+ "readable-stream": "^3.6.0",
+ "triple-beam": "^1.3.0"
},
"engines": {
"node": ">= 6.4.0"
}
},
- "node_modules/winston-transport": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz",
- "integrity": "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==",
- "dependencies": {
- "readable-stream": "^2.3.7",
- "triple-beam": "^1.2.0"
- },
- "engines": {
- "node": ">= 6.4.0"
- }
+ "node_modules/winston/node_modules/async": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
+ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
},
"node_modules/winston/node_modules/is-stream": {
"version": "2.0.0",
@@ -11419,19 +11314,6 @@
"node": ">=8"
}
},
- "node_modules/winston/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
@@ -11441,19 +11323,10 @@
"node": ">=0.10.0"
}
},
- "node_modules/wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/workerpool": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz",
- "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
+ "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==",
"dev": true
},
"node_modules/wrap-ansi": {
@@ -11520,15 +11393,6 @@
"node": ">=4.0"
}
},
- "node_modules/xmldom": {
- "version": "0.1.31",
- "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
- "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==",
- "dev": true,
- "engines": {
- "node": ">=0.1"
- }
- },
"node_modules/xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
@@ -11546,8 +11410,7 @@
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"node_modules/yargs": {
"version": "15.4.1",
@@ -11627,7 +11490,6 @@
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
- "dev": true,
"dependencies": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
@@ -11662,6 +11524,11 @@
"dev": true,
"optional": true
},
+ "@colors/colors": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ=="
+ },
"@dabh/diagnostics": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz",
@@ -11684,19 +11551,18 @@
}
},
"@electron/get": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz",
- "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==",
- "dev": true,
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz",
+ "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==",
"requires": {
"debug": "^4.1.1",
"env-paths": "^2.2.0",
"fs-extra": "^8.1.0",
- "global-agent": "^2.0.2",
+ "global-agent": "^3.0.0",
"global-tunnel-ng": "^2.7.1",
"got": "^9.6.0",
"progress": "^2.0.3",
- "sanitize-filename": "^1.6.2",
+ "semver": "^6.2.0",
"sumchecker": "^3.0.1"
},
"dependencies": {
@@ -11704,7 +11570,6 @@
"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.2.0",
"jsonfile": "^4.0.0",
@@ -11715,19 +11580,69 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
"requires": {
"graceful-fs": "^4.1.6"
}
},
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ },
"universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+ }
+ }
+ },
+ "@electron/remote": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.8.tgz",
+ "integrity": "sha512-P10v3+iFCIvEPeYzTWWGwwHmqWnjoh8RYnbtZAb3RlQefy4guagzIwcWtfftABIfm6JJTNQf4WPSKWZOpLmHXw==",
+ "requires": {}
+ },
+ "@electron/universal": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.2.1.tgz",
+ "integrity": "sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==",
+ "dev": true,
+ "requires": {
+ "@malept/cross-spawn-promise": "^1.1.0",
+ "asar": "^3.1.0",
+ "debug": "^4.3.1",
+ "dir-compare": "^2.4.0",
+ "fs-extra": "^9.0.1",
+ "minimatch": "^3.0.4",
+ "plist": "^3.0.4"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "requires": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
"dev": true
}
}
},
+ "@gar/promisify": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
+ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
+ "dev": true
+ },
"@jimp/bmp": {
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.1.tgz",
@@ -12058,97 +11973,171 @@
"cross-spawn": "^7.0.1"
}
},
- "@serialport/binding-abstract": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/binding-abstract/-/binding-abstract-9.0.7.tgz",
- "integrity": "sha512-g1ncCMIG9rMsxo/28ObYmXZcHThlvtZygsCANmyMUuFS7SwXY4+PhcEnt2+ZcMkEDNRiOklT+ngtIVx5GGpt/A==",
+ "@npmcli/fs": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
+ "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
+ "dev": true,
"requires": {
- "debug": "^4.3.1"
+ "@gar/promisify": "^1.0.1",
+ "semver": "^7.3.5"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
+ "@npmcli/move-file": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
+ "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
+ "dev": true,
+ "requires": {
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
+ }
}
},
"@serialport/binding-mock": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-9.0.7.tgz",
- "integrity": "sha512-aR8H+htZwwZZkVb1MdbnNvGWw8eXVRqQ2qPhkbKyx0N/LY5aVIgCgT98Kt1YylLsG7SzNG+Jbhd4wzwEuPVT5Q==",
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/@serialport/binding-mock/-/binding-mock-10.2.2.tgz",
+ "integrity": "sha512-HAFzGhk9OuFMpuor7aT5G1ChPgn5qSsklTFOTUX72Rl6p0xwcSVsRtG/xaGp6bxpN7fI9D/S8THLBWbBgS6ldw==",
"requires": {
- "@serialport/binding-abstract": "^9.0.7",
- "debug": "^4.3.1"
+ "@serialport/bindings-interface": "^1.2.1",
+ "debug": "^4.3.3"
}
},
- "@serialport/bindings": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/bindings/-/bindings-9.0.7.tgz",
- "integrity": "sha512-cNWaxnEbbpLoSJ6GMb0ZeCpaciczm8XRE4jgBqe/BflWZb+wyiTYIocbsySxpS40WT3kJ0sNTFag77uSmQ6ftg==",
+ "@serialport/bindings-cpp": {
+ "version": "10.7.0",
+ "resolved": "https://registry.npmjs.org/@serialport/bindings-cpp/-/bindings-cpp-10.7.0.tgz",
+ "integrity": "sha512-Xx1wA2UCG2loS32hxNvWJI4smCzGKhWqE85//fLRzHoGgE1lSLe3Nk7W40/ebrlGFHWRbQZmeaIF4chb2XLliA==",
"requires": {
- "@serialport/binding-abstract": "^9.0.7",
- "@serialport/parser-readline": "^9.0.7",
- "bindings": "^1.5.0",
- "debug": "^4.3.1",
- "nan": "^2.14.2",
- "prebuild-install": "^6.0.1"
+ "@serialport/bindings-interface": "1.2.1",
+ "@serialport/parser-readline": "^10.2.1",
+ "debug": "^4.3.2",
+ "node-addon-api": "^4.3.0",
+ "node-gyp-build": "^4.3.0"
+ },
+ "dependencies": {
+ "@serialport/bindings-interface": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.1.tgz",
+ "integrity": "sha512-63Dyqz2gtryRDDckFusOYqLYhR3Hq/M4sEdbF9i/VsvDb6T+tNVgoAKUZ+FMrXXKnCSu+hYbk+MTc0XQANszxw=="
+ },
+ "node-addon-api": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
+ "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ=="
+ }
}
},
+ "@serialport/bindings-interface": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.2.tgz",
+ "integrity": "sha512-CJaUd5bLvtM9c5dmO9rPBHPXTa9R2UwpkJ0wdh9JCYcbrPWsKz+ErvR0hBLeo7NPeiFdjFO4sonRljiw4d2XiA=="
+ },
"@serialport/parser-byte-length": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/parser-byte-length/-/parser-byte-length-9.0.7.tgz",
- "integrity": "sha512-evf7oOOSBMBn2AZZbgBFMRIyEzlsyQkhqaPm7IBCPTxMDXRf4tKkFYJHYZB0/6d1W4eI0meH079UqmSsh/uoDA=="
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-byte-length/-/parser-byte-length-10.3.0.tgz",
+ "integrity": "sha512-pJ/VoFemzKRRNDHLhFfPThwP40QrGaEnm9TtwL7o2GihEPwzBg3T0bN13ew5TpbbUYZdMpUtpm3CGfl6av9rUQ=="
},
"@serialport/parser-cctalk": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/parser-cctalk/-/parser-cctalk-9.0.7.tgz",
- "integrity": "sha512-ert5jhMkeiTfr44TkbdySC09J8UwAsf/RxBucVN5Mz5enG509RggnkfFi4mfj3UCG2vZ7qsmM6gtZ62DshY02Q=="
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-cctalk/-/parser-cctalk-10.3.0.tgz",
+ "integrity": "sha512-8ujmk8EvVbDPrNF4mM33bWvUYJOZ0wXbY3WCRazHRWvyCdL0VO0DQvW81ZqgoTpiDQZm5r8wQu9rmuemahF6vQ=="
},
"@serialport/parser-delimiter": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-9.0.7.tgz",
- "integrity": "sha512-Vb2NPeXPZ/28M4m5x4OAHFd8jRAeddNCgvL+Q+H/hqFPY1w47JcMLchC7pigRW8Cnt1fklmzfwdNQ8Fb+kMkxQ=="
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-delimiter/-/parser-delimiter-10.3.0.tgz",
+ "integrity": "sha512-9E4Vj6s0UbbcCCTclwegHGPYjJhdm9qLCS0lowXQDEQC5naZnbsELemMHs93nD9jHPcyx1B4oXkMnVZLxX5TYw=="
},
"@serialport/parser-inter-byte-timeout": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-9.0.7.tgz",
- "integrity": "sha512-lUZ3cwgUluBvJ1jf+0LQsqoiPYAokDO6+fRCw9HCfnrF/OS60Gm4rxuyo2uQIueqZkJ7NIFP+ibKsULrA47AEA=="
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-10.3.0.tgz",
+ "integrity": "sha512-wKP0QK85NHgvT6BBB1qBfKBBU4pf8kespNXAZBUYmFT+P4n8r8IZE2mqigCD+AiZcfWNQoAizwOsT/Jx/qeVig=="
+ },
+ "@serialport/parser-packet-length": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-packet-length/-/parser-packet-length-10.3.0.tgz",
+ "integrity": "sha512-bj0cWzt8YSQj/E5fRQVYdi4TsfTlZQrXlXrUwjyTsCONv8IPOHzsz+yY0fw5SEMiJtaLyqvPkCHLsttOd/zFsg=="
},
"@serialport/parser-readline": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-9.0.7.tgz",
- "integrity": "sha512-ydoLbgVQQPxWrwbe3Fhh4XnZexbkEQAC6M/qgRTzjnKvTjrD61CJNxLc3vyDaAPI9bJIhTiI7eTX3JB5jJv8Hg==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-readline/-/parser-readline-10.3.0.tgz",
+ "integrity": "sha512-ki3ATZ3/RAqnqGROBKE7k+OeZ0DZXZ53GTca4q71OU5RazbbNhTOBQLKLXD3v9QZXCMJdg4hGW/2Y0DuMUqMQg==",
"requires": {
- "@serialport/parser-delimiter": "^9.0.7"
+ "@serialport/parser-delimiter": "10.3.0"
}
},
"@serialport/parser-ready": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/parser-ready/-/parser-ready-9.0.7.tgz",
- "integrity": "sha512-3qYhI4cNUPAYqVYvdwV57Y+PVRl4dJf1fPBtMoWtwDgwopsAXTR93WCs49WuUq9JCyNW+8Hrfqv8x8eNAD5Dqg=="
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-ready/-/parser-ready-10.3.0.tgz",
+ "integrity": "sha512-1owywJ4p592dJyVrEJZPIh6pUZ3/y/LN6kGTDH2wxdewRUITo/sGvDy0er5i2+dJD3yuowiAz0dOHSdz8tevJA=="
},
"@serialport/parser-regex": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/parser-regex/-/parser-regex-9.0.7.tgz",
- "integrity": "sha512-5XF+FXbhqQ/5bVKM4NaGs1m+E9KjfmeCx/obwsKaUZognQF67jwoTfjJJWNP/21jKfxdl8XoCYjZjASl3XKRAw=="
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-regex/-/parser-regex-10.3.0.tgz",
+ "integrity": "sha512-tIogTs7CvTH+UUFnsvE7i33MSISyTPTGPWlglWYH2/5coipXY503jlaYS1YGe818wWNcSx6YAjMZRdhTWwM39w=="
+ },
+ "@serialport/parser-slip-encoder": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-slip-encoder/-/parser-slip-encoder-10.3.0.tgz",
+ "integrity": "sha512-JI0ILF5sylWn8f0MuMzHFBix/iMUTa79/Z95KaPZYnVaEdA7h7hh/o21Jmon/26P3RJwL1SNJCjZ81zfan+LtQ=="
+ },
+ "@serialport/parser-spacepacket": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/parser-spacepacket/-/parser-spacepacket-10.3.0.tgz",
+ "integrity": "sha512-PDF73ClEPsClD1FEJZHNuBevDKsJCkqy/XD5+S5eA6+tY5D4HLrVgSWsg+3qqB6+dlpwf2CzHe+uO8D3teuKHA=="
},
"@serialport/stream": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@serialport/stream/-/stream-9.0.7.tgz",
- "integrity": "sha512-c/h7HPAeFiryD9iTGlaSvPqHFHSZ0NMQHxC4rcmKS2Vu3qJuEtkBdTLABwsMp7iWEiSnI4KC3s7bHapaXP06FQ==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@serialport/stream/-/stream-10.3.0.tgz",
+ "integrity": "sha512-7sooi5fHogYNVEJwxVdg872xO6TuMgQd2E9iRmv+o8pk/1dbBnPkmH6Ka3st1mVE+0KnIJqVlgei+ncSsqXIGw==",
"requires": {
- "debug": "^4.3.1"
+ "@serialport/bindings-interface": "1.2.1",
+ "debug": "^4.3.2"
+ },
+ "dependencies": {
+ "@serialport/bindings-interface": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@serialport/bindings-interface/-/bindings-interface-1.2.1.tgz",
+ "integrity": "sha512-63Dyqz2gtryRDDckFusOYqLYhR3Hq/M4sEdbF9i/VsvDb6T+tNVgoAKUZ+FMrXXKnCSu+hYbk+MTc0XQANszxw=="
+ }
}
},
"@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
+ "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ=="
},
"@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"
}
},
+ "@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+ "dev": true
+ },
"@types/cacheable-request": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz",
@@ -12161,12 +12150,27 @@
"@types/responselike": "*"
}
},
+ "@types/codemirror": {
+ "version": "5.60.5",
+ "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.5.tgz",
+ "integrity": "sha512-TiECZmm8St5YxjFUp64LK0c8WU5bxMDt9YaAek1UqUb9swrSCoJhh92fWu1p3mTEqlHjhB5sY7OFBhWroJXZVg==",
+ "dev": true,
+ "requires": {
+ "@types/tern": "*"
+ }
+ },
"@types/color-name": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
"devOptional": true
},
+ "@types/estree": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz",
+ "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==",
+ "dev": true
+ },
"@types/fs-extra": {
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.1.tgz",
@@ -12193,9 +12197,9 @@
"dev": true
},
"@types/jquery": {
- "version": "3.5.5",
- "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.5.tgz",
- "integrity": "sha512-6RXU9Xzpc6vxNrS6FPPapN1SxSHgQ336WC6Jj/N8q30OiaBZ00l1GBgeP7usjVZPivSkGUfL1z/WW6TX989M+w==",
+ "version": "3.5.14",
+ "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.14.tgz",
+ "integrity": "sha512-X1gtMRMbziVQkErhTQmSe2jFwwENA/Zr+PprCkF63vFq+Yt5PZ4AlKqgmeNlwgn7dhsXEK888eIW2520EpC+xg==",
"dev": true,
"requires": {
"@types/sizzle": "*"
@@ -12217,10 +12221,9 @@
"optional": true
},
"@types/node": {
- "version": "12.12.48",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.48.tgz",
- "integrity": "sha512-m3Nmo/YaDUfYzdCQlxjF5pIy7TNyDTAJhIa//xtHcF0dlgYIBKULKnmloCPtByDxtZXrWV8Pge1AKT6/lRvVWg==",
- "devOptional": true
+ "version": "16.11.38",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.38.tgz",
+ "integrity": "sha512-hjO/0K140An3GWDw2HJfq7gko3wWeznbjXgg+rzPdVzhe198hp4x2i1dgveAOEiFKd8sOilAxzoSJiVv5P/CUg=="
},
"@types/responselike": {
"version": "1.0.0",
@@ -12237,6 +12240,15 @@
"integrity": "sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg==",
"dev": true
},
+ "@types/tern": {
+ "version": "0.23.4",
+ "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.4.tgz",
+ "integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "*"
+ }
+ },
"@types/yauzl": {
"version": "2.9.1",
"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz",
@@ -12259,36 +12271,35 @@
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"dev": true
},
- "accord": {
- "version": "0.29.0",
- "resolved": "https://registry.npmjs.org/accord/-/accord-0.29.0.tgz",
- "integrity": "sha512-3OOR92FTc2p5/EcOzPcXp+Cbo+3C15nV9RXHlOUBCBpHhcB+0frbSNR9ehED/o7sTcyGVtqGJpguToEdlXhD0w==",
- "dev": true,
- "requires": {
- "convert-source-map": "^1.5.0",
- "glob": "^7.0.5",
- "indx": "^0.2.3",
- "lodash.clone": "^4.3.2",
- "lodash.defaults": "^4.0.1",
- "lodash.flatten": "^4.2.0",
- "lodash.merge": "^4.4.0",
- "lodash.partialright": "^4.1.4",
- "lodash.pick": "^4.2.1",
- "lodash.uniq": "^4.3.0",
- "resolve": "^1.5.0",
- "semver": "^5.3.0",
- "uglify-js": "^2.8.22",
- "when": "^3.7.8"
- }
- },
"agent-base": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.1.tgz",
- "integrity": "sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"requires": {
"debug": "4"
}
},
+ "agentkeepalive": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
+ "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.0",
+ "depd": "^1.1.2",
+ "humanize-ms": "^1.2.1"
+ }
+ },
+ "aggregate-error": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+ "dev": true,
+ "requires": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ }
+ },
"ajv": {
"version": "6.12.3",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
@@ -12300,27 +12311,8 @@
"uri-js": "^4.2.2"
}
},
- "align-text": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2",
- "longest": "^1.0.1",
- "repeat-string": "^1.5.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
+ "alert": {
+ "version": "file:lib/alert"
},
"animated-gif-detector": {
"version": "1.2.0",
@@ -12339,15 +12331,6 @@
"ansi-wrap": "^0.1.0"
}
},
- "ansi-cyan": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz",
- "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=",
- "dev": true,
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
"ansi-gray": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
@@ -12357,19 +12340,10 @@
"ansi-wrap": "0.1.0"
}
},
- "ansi-red": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
- "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=",
- "dev": true,
- "requires": {
- "ansi-wrap": "0.1.0"
- }
- },
"ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"devOptional": true
},
"ansi-styles": {
@@ -12404,9 +12378,9 @@
}
},
"appdmg": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/appdmg/-/appdmg-0.6.0.tgz",
- "integrity": "sha512-vDz8cMf5c6BfoS72OmmHzzuxG5DFVDM6YCAkscjYh3GASGEBBRCZ10Bn515ZPSPHOpfI9Xu3MlApbd49C58pJg==",
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/appdmg/-/appdmg-0.6.4.tgz",
+ "integrity": "sha512-YTilgNF0DF2DSRzGzzGDxaTMLXlhe3b3HB8RAaoJJ/VJXZbOlzIAcZ7gdPniHUVUuHjGwnS7fUMd4FvO2Rp94A==",
"dev": true,
"optional": true,
"requires": {
@@ -12423,24 +12397,10 @@
"repeat-string": "^1.5.4"
},
"dependencies": {
- "async": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
- "dev": true,
- "optional": true
- },
"image-size": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.4.tgz",
- "integrity": "sha512-GqPgxs+VkOr12aWwjSkyRzf5atzObWpFtiRuDgxCl2I/SDpZOKZFRD3iIAeAN6/usmn8SeLWRt7a8JRYK0Whbw==",
- "dev": true,
- "optional": true
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "version": "0.7.5",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz",
+ "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==",
"dev": true,
"optional": true
}
@@ -12456,9 +12416,10 @@
}
},
"aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
+ "dev": true
},
"archy": {
"version": "1.0.0",
@@ -12470,14 +12431,21 @@
"version": "file:lib/arduino"
},
"are-we-there-yet": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
- "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz",
+ "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==",
+ "dev": true,
"requires": {
"delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
+ "readable-stream": "^3.6.0"
}
},
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
"arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
@@ -12514,13 +12482,6 @@
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
"dev": true
},
- "array-buffer-from-string": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/array-buffer-from-string/-/array-buffer-from-string-0.1.0.tgz",
- "integrity": "sha1-OxQ1H4YUnYTvxhLFrafthRadewc=",
- "dev": true,
- "optional": true
- },
"array-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
@@ -12639,9 +12600,11 @@
"dev": true
},
"async": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz",
- "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw=="
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==",
+ "dev": true,
+ "optional": true
},
"async-done": {
"version": "1.3.2",
@@ -12678,7 +12641,8 @@
"at-least-node": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "devOptional": true
},
"atob": {
"version": "2.1.2",
@@ -12781,11 +12745,14 @@
}
},
"base32-encode": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/base32-encode/-/base32-encode-0.1.1.tgz",
- "integrity": "sha512-jjc+6TC8PXrsxJ4CQr9ibioNhhAM1p/RvS9hy3Q+cxPphvXmLnFSkXoen2XXzNBrYjdmzajRtbFDl1x28F5F4A==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/base32-encode/-/base32-encode-1.2.0.tgz",
+ "integrity": "sha512-cHFU8XeRyx0GgmoWi5qHMCVRiqU6J3MHWxVgun7jggCBUpVzm1Ir7M9dYr2whjSNc3tFeXfQ/oZjQu/4u55h9A==",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "to-data-view": "^1.1.0"
+ }
},
"base64-js": {
"version": "1.5.1",
@@ -12806,34 +12773,15 @@
"integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
"dev": true
},
- "bindings": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
- "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
- "requires": {
- "file-uri-to-path": "1.0.0"
- }
- },
"bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "dev": true,
"requires": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
}
},
"bluebird": {
@@ -12848,10 +12796,9 @@
"integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM="
},
"boolean": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.1.tgz",
- "integrity": "sha512-HRZPIjPcbwAVQvOTxR4YE3o8Xs98NqbbL1iEZDCz7CL8ql0Lt5iOyJFxfnAB0oFs8Oh02F/lLlg30Mexv46LjA==",
- "dev": true,
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
+ "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
"optional": true
},
"bplist-creator": {
@@ -12937,8 +12884,7 @@
"buffer-crc32": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
- "dev": true
+ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI="
},
"buffer-equal": {
"version": "1.0.0",
@@ -12963,6 +12909,40 @@
"integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
"dev": true
},
+ "cacache": {
+ "version": "15.3.0",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
+ "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
+ "dev": true,
+ "requires": {
+ "@npmcli/fs": "^1.0.0",
+ "@npmcli/move-file": "^1.0.1",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "glob": "^7.1.4",
+ "infer-owner": "^1.0.4",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.1",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.2",
+ "mkdirp": "^1.0.3",
+ "p-map": "^4.0.0",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^3.0.2",
+ "ssri": "^8.0.1",
+ "tar": "^6.0.2",
+ "unique-filename": "^1.1.1"
+ },
+ "dependencies": {
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true
+ }
+ }
+ },
"cache-base": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
@@ -12990,7 +12970,6 @@
"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": {
"clone-response": "^1.0.2",
"get-stream": "^5.1.0",
@@ -13005,7 +12984,6 @@
"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"
}
@@ -13013,8 +12991,7 @@
"lowercase-keys": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
}
}
},
@@ -13027,6 +13004,9 @@
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"optional": true
},
+ "capper": {
+ "version": "file:lib/capper"
+ },
"capture": {
"version": "file:lib/capture"
},
@@ -13035,27 +13015,18 @@
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
- "center-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
- "dev": true,
- "requires": {
- "align-text": "^0.1.3",
- "lazy-cache": "^1.0.3"
- }
- },
"chai": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.0.tgz",
- "integrity": "sha512-/BFd2J30EcOwmdOgXvVsmM48l0Br0nmZPlO0uOW4XKh6kpsUumRXBgPV+IlaqFaqr9cYbeoZAM1Npx0i4A+aiA==",
+ "version": "4.3.6",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz",
+ "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==",
"dev": true,
"requires": {
"assertion-error": "^1.1.0",
"check-error": "^1.0.2",
"deep-eql": "^3.0.1",
"get-func-name": "^2.0.0",
- "pathval": "^1.1.0",
+ "loupe": "^2.3.1",
+ "pathval": "^1.1.1",
"type-detect": "^4.0.5"
}
},
@@ -13149,6 +13120,12 @@
}
}
},
+ "clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "dev": true
+ },
"cli-cursor": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
@@ -13191,7 +13168,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
"integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
- "dev": true,
"requires": {
"mimic-response": "^1.0.0"
},
@@ -13199,8 +13175,7 @@
"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
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
}
}
},
@@ -13259,7 +13234,8 @@
"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="
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
},
"collection-map": {
"version": "1.0.0",
@@ -13336,9 +13312,10 @@
"dev": true
},
"colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
+ "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==",
+ "dev": true
},
"colorspace": {
"version": "1.1.2",
@@ -13442,7 +13419,6 @@
"version": "1.1.12",
"resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz",
"integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==",
- "dev": true,
"optional": true,
"requires": {
"ini": "^1.3.4",
@@ -13452,7 +13428,8 @@
"console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
+ "dev": true
},
"convert-source-map": {
"version": "1.6.0",
@@ -13479,13 +13456,6 @@
"is-plain-object": "^2.0.1"
}
},
- "core-js": {
- "version": "3.6.5",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
- "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==",
- "dev": true,
- "optional": true
- },
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@@ -13575,9 +13545,9 @@
}
},
"debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"requires": {
"ms": "2.1.2"
},
@@ -13601,14 +13571,6 @@
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
- "decompress-response": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
- "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
- "requires": {
- "mimic-response": "^2.0.0"
- }
- },
"deep-eql": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
@@ -13618,11 +13580,6 @@
"type-detect": "^4.0.0"
}
},
- "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=="
- },
"default-compare": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz",
@@ -13666,14 +13623,13 @@
"defer-to-connect": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
- "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
- "dev": true
+ "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ=="
},
"define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
- "dev": true,
+ "devOptional": true,
"requires": {
"object-keys": "^1.0.12"
},
@@ -13682,7 +13638,7 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true
+ "devOptional": true
}
}
},
@@ -13738,7 +13694,14 @@
"delegates": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
+ "dev": true
+ },
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "dev": true
},
"detect-file": {
"version": "1.0.0",
@@ -13749,13 +13712,13 @@
"detect-libc": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
- "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
+ "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
+ "dev": true
},
"detect-node": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
- "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
- "dev": true,
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
+ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
"optional": true
},
"devices": {
@@ -13767,6 +13730,29 @@
"integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
"dev": true
},
+ "dir-compare": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-2.4.0.tgz",
+ "integrity": "sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==",
+ "dev": true,
+ "requires": {
+ "buffer-equal": "1.0.0",
+ "colors": "1.0.3",
+ "commander": "2.9.0",
+ "minimatch": "3.0.4"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+ "integrity": "sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==",
+ "dev": true,
+ "requires": {
+ "graceful-readlink": ">= 1.0.0"
+ }
+ }
+ }
+ },
"display": {
"version": "file:lib/display"
},
@@ -13778,7 +13764,7 @@
"ds-store": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/ds-store/-/ds-store-0.1.6.tgz",
- "integrity": "sha1-0QJO90btDBPw9/7IXH6FjoxLfKc=",
+ "integrity": "sha512-kY21M6Lz+76OS3bnCzjdsJSF7LBpLYGCVfavW8TgQD2XkcqIZ86W0y9qUDZu6fp7SIZzqosMDW2zi7zVFfv4hw==",
"dev": true,
"optional": true,
"requires": {
@@ -13790,8 +13776,7 @@
"duplexer3": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
- "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
- "dev": true
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
},
"duplexify": {
"version": "3.7.1",
@@ -13857,13 +13842,12 @@
}
},
"electron": {
- "version": "11.3.0",
- "resolved": "https://registry.npmjs.org/electron/-/electron-11.3.0.tgz",
- "integrity": "sha512-MhdS0gok3wZBTscLBbYrOhLaQybCSAfkupazbK1dMP5c+84eVMxJE/QGohiWQkzs0tVFIJsAHyN19YKPbelNrQ==",
- "dev": true,
+ "version": "19.0.1",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-19.0.1.tgz",
+ "integrity": "sha512-zuhJVV7nTDFrRZ7uAIylSD0Eoi1xcUV4UzGfpWsREI4W5GsxNGyZQeqQDpg43w8+7oED812oDrGfPh5kb9rcQA==",
"requires": {
- "@electron/get": "^1.0.1",
- "@types/node": "^12.0.12",
+ "@electron/get": "^1.14.1",
+ "@types/node": "^16.11.26",
"extract-zip": "^1.0.3"
}
},
@@ -13885,11 +13869,29 @@
"tmp-promise": "^3.0.2"
},
"dependencies": {
+ "fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "devOptional": true,
+ "requires": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
"semver": {
"version": "7.3.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
"integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
"devOptional": true
+ },
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "devOptional": true
}
}
},
@@ -13907,48 +13909,39 @@
"lodash": "^4.17.4",
"word-wrap": "^1.2.3",
"yargs": "^15.0.1"
- }
- },
- "electron-installer-dmg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/electron-installer-dmg/-/electron-installer-dmg-3.0.0.tgz",
- "integrity": "sha512-a3z9ABUfLJtrLK1ize4j+wJKslodb0kRHgBuUN4GTckiUxtGdo49XCvvAHvQaOqQk3S5VTvuc6PoofnI9mKSCQ==",
- "dev": true,
- "requires": {
- "appdmg": "^0.6.0",
- "debug": "^4.1.1",
- "fs-extra": "^8.0.1",
- "minimist": "^1.1.1"
},
"dependencies": {
"fs-extra": {
- "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,
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "optional": true,
"requires": {
+ "at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
}
},
"universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "optional": true
}
}
},
+ "electron-installer-dmg": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/electron-installer-dmg/-/electron-installer-dmg-4.0.0.tgz",
+ "integrity": "sha512-g3W6XnyUa7QGrAF7ViewHdt6bXV2KYU1Pm1CY3pZpp+H6mOjCHHAhf/iZAxtaX1ERCb+SQHz7xSsAHuNH9I8ZQ==",
+ "dev": true,
+ "requires": {
+ "appdmg": "^0.6.4",
+ "debug": "^4.3.2",
+ "minimist": "^1.1.1"
+ }
+ },
"electron-notarize": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.2.1.tgz",
@@ -13957,6 +13950,26 @@
"requires": {
"debug": "^4.1.1",
"fs-extra": "^9.0.1"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "requires": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dev": true
+ }
}
},
"electron-osx-sign": {
@@ -13991,12 +14004,13 @@
}
},
"electron-packager": {
- "version": "15.4.0",
- "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-15.4.0.tgz",
- "integrity": "sha512-JrrLcBP15KGrPj0cZ/ALKGmaQ4gJkn3mocf0E3bRKdR3kxKWYcDRpCvdhksYDXw/r3I6tMEcZ7XzyApWFXdVpw==",
+ "version": "15.5.1",
+ "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-15.5.1.tgz",
+ "integrity": "sha512-9/fqF64GACZsLYLuFJ8vCqItMXbvsD0NMDLNfFmAv9mSqkqKWSZb5V3VE9CxT6CeXwZ6wN3YowEQuqBNyShEVg==",
"dev": true,
"requires": {
"@electron/get": "^1.6.0",
+ "@electron/universal": "^1.2.1",
"asar": "^3.1.0",
"cross-spawn-windows-exe": "^1.2.0",
"debug": "^4.0.1",
@@ -14028,6 +14042,18 @@
"yauzl": "^2.10.0"
}
},
+ "fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "requires": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
"get-stream": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
@@ -14037,21 +14063,18 @@
"pump": "^3.0.0"
}
},
- "rcedit": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-3.0.1.tgz",
- "integrity": "sha512-XM0Jv40/y4hVAqj/MO70o/IWs4uOsaSoo2mLyk3klFDW+SStLnCtzuQu+1OBTIMGlM8CvaK9ftlYCp6DJ+cMsw==",
- "dev": true,
- "requires": {
- "cross-spawn-windows-exe": "^1.1.0"
- }
- },
"semver": {
"version": "7.3.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
"integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
"dev": true
},
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dev": true
+ },
"yargs-parser": {
"version": "20.2.6",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz",
@@ -14061,25 +14084,36 @@
}
},
"electron-rebuild": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-2.3.5.tgz",
- "integrity": "sha512-1sQ1DRtQGpglFhc3urD4olMJzt/wxlbnAAsf+WY2xHf5c50ZovivZvCXSpVgTOP9f4TzOMvelWyspyfhxQKHzQ==",
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-3.2.7.tgz",
+ "integrity": "sha512-WvaW1EgRinDQ61khHFZfx30rkPQG5ItaOT0wrI7iJv9A3SbghriQGfZQfHZs25fWLBe6/vkv05LOqg6aDw6Wzw==",
"dev": true,
"requires": {
- "@malept/cross-spawn-promise": "^1.1.1",
- "colors": "^1.3.3",
+ "@malept/cross-spawn-promise": "^2.0.0",
+ "chalk": "^4.0.0",
"debug": "^4.1.1",
"detect-libc": "^1.0.3",
- "fs-extra": "^9.0.1",
+ "fs-extra": "^10.0.0",
"got": "^11.7.0",
- "lzma-native": "^6.0.1",
- "node-abi": "^2.19.2",
- "node-gyp": "^7.1.0",
+ "lzma-native": "^8.0.5",
+ "node-abi": "^3.0.0",
+ "node-api-version": "^0.1.4",
+ "node-gyp": "^8.4.0",
"ora": "^5.1.0",
+ "semver": "^7.3.5",
"tar": "^6.0.5",
- "yargs": "^16.0.0"
+ "yargs": "^17.0.1"
},
"dependencies": {
+ "@malept/cross-spawn-promise": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz",
+ "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.1"
+ }
+ },
"@sindresorhus/is": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.0.tgz",
@@ -14206,6 +14240,15 @@
"lowercase-keys": "^2.0.0"
}
},
+ "semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
"wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -14218,88 +14261,59 @@
}
},
"y18n": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz",
- "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==",
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
"dev": true
},
"yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "version": "17.5.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
+ "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
"dev": true,
"requires": {
"cliui": "^7.0.2",
"escalade": "^3.1.1",
"get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
- "string-width": "^4.2.0",
+ "string-width": "^4.2.3",
"y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
+ "yargs-parser": "^21.0.0"
}
},
"yargs-parser": {
- "version": "20.2.6",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz",
- "integrity": "sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA==",
+ "version": "21.0.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
+ "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
"dev": true
}
}
},
"electron-wix-msi": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/electron-wix-msi/-/electron-wix-msi-3.0.6.tgz",
- "integrity": "sha512-MGvhr9jQkbPWwYibD3+64R6VOUYPtl091dwLgyS2/nOtgnbsdQOeeXLCszsjPaV/N93ee/mdNBeDqHrUdbqdig==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/electron-wix-msi/-/electron-wix-msi-4.0.0.tgz",
+ "integrity": "sha512-LEQr5IQc8w7efIVt5tIQA0efew4slffW6tfDmbfpWDSR74HnfTkkfwBAwj9vMLT4q62cO4NnkVTEuMe7FxWMTw==",
"dev": true,
"requires": {
"@bitdisaster/exe-icon-extractor": "^1.0.10",
- "debug": "^4.1.1",
- "fs-extra": "^8.1.0",
- "klaw": "^3.0.0",
- "lodash": "^4.17.15",
- "rcedit": "^2.1.0",
+ "debug": "^4.3.4",
+ "fs-extra": "^10.0.1",
+ "klaw": "^4.0.1",
+ "lodash": "^4.17.21",
+ "rcedit": "^3.0.1",
"rcinfo": "^0.1.3",
- "semver": "^6.3.0",
- "uuid": "^3.3.3"
+ "semver": "^7.3.5",
+ "uuid": "^8.3.2"
},
"dependencies": {
- "fs-extra": {
- "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.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true
- },
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
}
}
},
@@ -14314,13 +14328,29 @@
"resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
"integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="
},
+ "encode-utf8": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
+ "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==",
+ "dev": true,
+ "optional": true
+ },
"encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
- "dev": true,
"optional": true
},
+ "encoding": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "iconv-lite": "^0.6.2"
+ }
+ },
"end-of-stream": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
@@ -14334,6 +14364,12 @@
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz",
"integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA=="
},
+ "err-code": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
+ "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
+ "dev": true
+ },
"errno": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
@@ -14376,7 +14412,6 @@
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
"integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
- "dev": true,
"optional": true
},
"es6-iterator": {
@@ -14422,7 +14457,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
+ "devOptional": true
},
"exec": {
"version": "file:lib/exec"
@@ -14517,11 +14552,6 @@
}
}
},
- "expand-template": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
- "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="
- },
"expand-tilde": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
@@ -14626,7 +14656,6 @@
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
"integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
- "dev": true,
"requires": {
"concat-stream": "^1.6.2",
"debug": "^2.6.9",
@@ -14638,7 +14667,6 @@
"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"
}
@@ -14646,8 +14674,7 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}
}
},
@@ -14678,32 +14705,26 @@
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
- "fast-safe-stringify": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
- "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
- },
"fd-slicer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
"integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
- "dev": true,
"requires": {
"pend": "~1.2.0"
}
},
"fecha": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz",
- "integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg=="
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz",
+ "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="
},
"ffmpeg": {
"version": "file:lib/ffmpeg"
},
"ffmpeg-static": {
- "version": "4.2.7",
- "resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-4.2.7.tgz",
- "integrity": "sha512-SGnOr2d+k0/9toRIv9t5/hN/DMYbm5XMtG0wVwGM1tEyXJAD6dbcWOEvfHq4LOySm9uykKL6LMC4eVPeteUnbQ==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-5.0.0.tgz",
+ "integrity": "sha512-z96jGVa8uCVMnyrTvbDZe0d5zbvIVQnfBN+vKDZoVK+ssYpfUJGEmo2DkuY43CA9Ytlsk+5ZVTFTqzvKw1gSaA==",
"requires": {
"@derhuerst/http-basic": "^8.2.0",
"env-paths": "^2.2.0",
@@ -14724,11 +14745,6 @@
"resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz",
"integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw=="
},
- "file-uri-to-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
- },
"filename-reserved-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
@@ -14902,7 +14918,7 @@
"fmix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz",
- "integrity": "sha1-x7vxJN7ELJ0ZHPuUfQqXeN2YbAw=",
+ "integrity": "sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==",
"dev": true,
"optional": true,
"requires": {
@@ -14956,17 +14972,11 @@
"frame": {
"version": "file:lib/frame"
},
- "fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
- },
"fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
+ "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
"requires": {
- "at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
@@ -15041,9 +15051,9 @@
}
},
"fs-temp": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/fs-temp/-/fs-temp-1.1.2.tgz",
- "integrity": "sha1-zFLwOLvv5RD2vNCexZK3nQ9pJT8=",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/fs-temp/-/fs-temp-1.2.1.tgz",
+ "integrity": "sha512-okTwLB7/Qsq82G6iN5zZJFsOfZtx2/pqrA7Hk/9fvy+c+eJS9CvgGXT2uNxwnI14BDY9L/jQPkaBgSvlKfSW9w==",
"dev": true,
"optional": true,
"requires": {
@@ -15051,9 +15061,9 @@
}
},
"fs-xattr": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/fs-xattr/-/fs-xattr-0.3.0.tgz",
- "integrity": "sha512-BixjoRM9etRFyWOtJRcflfu5HqBWLGTYbeHiL196VRUcc/nYgS2px6w4yVaj3XmrN1bk4rZBH82A8u5Z64YcXQ==",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/fs-xattr/-/fs-xattr-0.3.1.tgz",
+ "integrity": "sha512-UVqkrEW0GfDabw4C3HOrFlxKfx0eeigfRne69FxSBdHIP8Qt5Sq6Pu3RM9KmMlkygtC4pPKkj5CiPO5USnj2GA==",
"dev": true,
"optional": true
},
@@ -15672,51 +15682,19 @@
"optional": true
},
"gauge": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
+ "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
+ "dev": true,
"requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
- },
- "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=",
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.3",
+ "console-control-strings": "^1.1.0",
+ "has-unicode": "^2.0.1",
+ "signal-exit": "^3.0.7",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.5"
}
},
"generate-function": {
@@ -15732,7 +15710,7 @@
"generate-object-property": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
- "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
+ "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==",
"dev": true,
"optional": true,
"requires": {
@@ -15897,7 +15875,6 @@
"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": {
"pump": "^3.0.0"
}
@@ -15925,15 +15902,10 @@
"omggif": "^1.0.10"
}
},
- "github-from-package": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
- "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4="
- },
"glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
"devOptional": true,
"requires": {
"fs.realpath": "^1.0.0",
@@ -16039,14 +16011,12 @@
}
},
"global-agent": {
- "version": "2.1.12",
- "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz",
- "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==",
- "dev": true,
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz",
+ "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==",
"optional": true,
"requires": {
"boolean": "^3.0.1",
- "core-js": "^3.6.5",
"es6-error": "^4.1.1",
"matcher": "^3.0.0",
"roarr": "^2.15.3",
@@ -16055,11 +16025,13 @@
},
"dependencies": {
"semver": {
- "version": "7.3.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
- "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
- "dev": true,
- "optional": true
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "optional": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
}
}
},
@@ -16091,7 +16063,6 @@
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz",
"integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==",
- "dev": true,
"optional": true,
"requires": {
"encodeurl": "^1.0.2",
@@ -16101,10 +16072,9 @@
}
},
"globalthis": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz",
- "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==",
- "dev": true,
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
+ "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
"optional": true,
"requires": {
"define-properties": "^1.1.3"
@@ -16123,7 +16093,6 @@
"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": {
"@sindresorhus/is": "^0.14.0",
"@szmarczak/http-timer": "^1.1.2",
@@ -16142,7 +16111,6 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
"integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
- "dev": true,
"requires": {
"mimic-response": "^1.0.0"
}
@@ -16150,8 +16118,7 @@
"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
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
}
}
},
@@ -16160,10 +16127,10 @@
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
"integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ=="
},
- "growl": {
- "version": "1.10.5",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
- "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
+ "graceful-readlink": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+ "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==",
"dev": true
},
"growly": {
@@ -16382,59 +16349,24 @@
}
},
"gulp-less": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/gulp-less/-/gulp-less-4.0.1.tgz",
- "integrity": "sha512-hmM2k0FfQp7Ptm3ZaqO2CkMX3hqpiIOn4OHtuSsCeFym63F7oWlEua5v6u1cIjVUKYsVIs9zPg9vbqTEb/udpA==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/gulp-less/-/gulp-less-5.0.0.tgz",
+ "integrity": "sha512-W2I3TewO/By6UZsM/wJG3pyK5M6J0NYmJAAhwYXQHR+38S0iDtZasmUgFCH3CQj+pQYw/PAIzxvFvwtEXz1HhQ==",
"dev": true,
"requires": {
- "accord": "^0.29.0",
- "less": "2.6.x || ^3.7.1",
+ "less": "^3.7.1 || ^4.0.0",
"object-assign": "^4.0.1",
- "plugin-error": "^0.1.2",
- "replace-ext": "^1.0.0",
- "through2": "^2.0.0",
+ "plugin-error": "^1.0.0",
+ "replace-ext": "^2.0.0",
+ "through2": "^4.0.0",
"vinyl-sourcemaps-apply": "^0.2.0"
},
"dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "replace-ext": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz",
+ "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==",
"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"
- }
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "dev": true,
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
- }
}
}
},
@@ -16476,7 +16408,8 @@
"has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
+ "dev": true
},
"has-value": {
"version": "1.0.0",
@@ -16534,8 +16467,18 @@
"http-cache-semantics": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
- "dev": true
+ "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
+ },
+ "http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "dev": true,
+ "requires": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ }
},
"http-response-object": {
"version": "3.0.2",
@@ -16582,17 +16525,27 @@
}
},
"humanize-duration": {
- "version": "3.25.1",
- "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.25.1.tgz",
- "integrity": "sha512-P+dRo48gpLgc2R9tMRgiDRNULPKCmqFYgguwqOO2C0fjO35TgdURDQDANSR1Nt92iHlbHGMxOTnsB8H8xnMa2Q=="
+ "version": "3.27.2",
+ "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.2.tgz",
+ "integrity": "sha512-A15OmA3FLFRnehvF4ZMocsxTZYvHq4ze7L+AgR1DeHw0xC9vMd4euInY83uqGU9/XXKNnVIEeKc1R8G8nKqtzg=="
},
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "humanize-ms": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
+ "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
"dev": true,
"requires": {
- "safer-buffer": ">= 2.1.2 < 3"
+ "ms": "^2.0.0"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
}
},
"ieee754": {
@@ -16600,15 +16553,6 @@
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
},
- "ignore-walk": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
- "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
- "dev": true,
- "requires": {
- "minimatch": "^3.0.4"
- }
- },
"image-q": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz",
@@ -16624,14 +16568,26 @@
"imul": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz",
- "integrity": "sha1-nVhnFh6LPelsLDjV3HyxAvNeKsk=",
+ "integrity": "sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==",
"dev": true,
"optional": true
},
- "indx": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/indx/-/indx-0.2.3.tgz",
- "integrity": "sha1-Fdz1bunPZcAjTFE8J/vVgOcPvFA=",
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "dev": true
+ },
+ "infer-owner": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
+ "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
"dev": true
},
"inflight": {
@@ -16652,7 +16608,8 @@
"ini": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "devOptional": true
},
"interpret": {
"version": "1.4.0",
@@ -16669,6 +16626,12 @@
"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
"dev": true
},
+ "ip": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
+ "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==",
+ "dev": true
+ },
"is-absolute": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
@@ -16810,24 +16773,30 @@
"integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
"dev": true
},
+ "is-lambda": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
+ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
+ "dev": true
+ },
"is-my-ip-valid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz",
- "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz",
+ "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==",
"dev": true,
"optional": true
},
"is-my-json-valid": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz",
- "integrity": "sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA==",
+ "version": "2.20.6",
+ "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz",
+ "integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==",
"dev": true,
"optional": true,
"requires": {
"generate-function": "^2.0.0",
"generate-object-property": "^1.1.0",
"is-my-ip-valid": "^1.0.0",
- "jsonpointer": "^4.0.0",
+ "jsonpointer": "^5.0.0",
"xtend": "^4.0.0"
}
},
@@ -16875,7 +16844,7 @@
"is-property": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
- "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
+ "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==",
"dev": true,
"optional": true
},
@@ -16891,7 +16860,7 @@
"is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==",
"dev": true,
"optional": true
},
@@ -16909,6 +16878,12 @@
"unc-path-regex": "^0.1.2"
}
},
+ "is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "dev": true
+ },
"is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
@@ -16935,11 +16910,6 @@
"is-docker": "^2.0.0"
}
},
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
"isbinaryfile": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
@@ -16982,6 +16952,15 @@
"resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.2.tgz",
"integrity": "sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw=="
},
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
@@ -16990,8 +16969,7 @@
"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
+ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
},
"json-schema": {
"version": "0.2.3",
@@ -17024,9 +17002,9 @@
}
},
"jsonpointer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
- "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.0.tgz",
+ "integrity": "sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==",
"dev": true,
"optional": true
},
@@ -17057,7 +17035,6 @@
"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": {
"json-buffer": "3.0.0"
}
@@ -17069,13 +17046,10 @@
"dev": true
},
"klaw": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz",
- "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.9"
- }
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-4.0.1.tgz",
+ "integrity": "sha512-pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw==",
+ "dev": true
},
"kuler": {
"version": "2.0.0",
@@ -17092,12 +17066,6 @@
"es6-weak-map": "^2.0.1"
}
},
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
- "dev": true
- },
"lazystream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
@@ -17265,137 +17233,109 @@
}
},
"lodash": {
- "version": "4.17.19",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
- "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"devOptional": true
},
- "lodash.clone": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
- "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=",
- "dev": true
- },
- "lodash.defaults": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
- "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=",
- "dev": true
- },
- "lodash.flatten": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
- "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=",
- "dev": true
- },
"lodash.get": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
"dev": true
},
- "lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
- "lodash.partialright": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/lodash.partialright/-/lodash.partialright-4.2.1.tgz",
- "integrity": "sha1-ATDYDoM2MmTUAHTzKbij56ihzEs=",
- "dev": true
- },
- "lodash.pick": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
- "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=",
- "dev": true
- },
- "lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
- "dev": true
- },
"log": {
"version": "file:lib/log"
},
"log-symbols": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
- "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
"dev": true,
"requires": {
- "chalk": "^4.0.0"
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
}
},
"logform": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz",
- "integrity": "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz",
+ "integrity": "sha512-CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==",
"requires": {
- "colors": "^1.2.1",
- "fast-safe-stringify": "^2.0.4",
+ "@colors/colors": "1.5.0",
"fecha": "^4.2.0",
"ms": "^2.1.1",
+ "safe-stable-stringify": "^2.3.1",
"triple-beam": "^1.3.0"
}
},
- "longest": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
- "dev": true
+ "loupe": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz",
+ "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==",
+ "dev": true,
+ "requires": {
+ "get-func-name": "^2.0.0"
+ }
},
"lowercase-keys": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
- "dev": true
+ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
},
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
"lzma-native": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/lzma-native/-/lzma-native-6.0.1.tgz",
- "integrity": "sha512-O6oWF0xe1AFvOCjU8uOZBZ/lhjaMNwHfVNaqVMqmoQXlRwBcFWpCAToiZOdXcKVMdo/5s/D0a2QgA5laMErxHQ==",
+ "version": "8.0.6",
+ "resolved": "https://registry.npmjs.org/lzma-native/-/lzma-native-8.0.6.tgz",
+ "integrity": "sha512-09xfg67mkL2Lz20PrrDeNYZxzeW7ADtpYFbwSQh9U8+76RIzx5QsJBMy8qikv3hbUPfpy6hqwxt6FcGK81g9AA==",
"dev": true,
"requires": {
- "node-addon-api": "^1.6.0",
- "node-pre-gyp": "^0.11.0",
- "readable-stream": "^2.3.5",
- "rimraf": "^2.7.1"
- },
- "dependencies": {
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- }
+ "node-addon-api": "^3.1.0",
+ "node-gyp-build": "^4.2.1",
+ "readable-stream": "^3.6.0"
}
},
"macos-alias": {
"version": "0.2.11",
"resolved": "https://registry.npmjs.org/macos-alias/-/macos-alias-0.2.11.tgz",
- "integrity": "sha1-/u6mwTuhGYFKQ/xDxHCzHlnvcYo=",
+ "integrity": "sha512-zIUs3+qpml+w3wiRuADutd7XIO8UABqksot10Utl/tji4UxZzLG4fWDC+yJZoO8/Ehg5RqsvSRE/6TS5AEOeWw==",
"dev": true,
"optional": true,
"requires": {
"nan": "^2.4.0"
}
},
+ "make-fetch-happen": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
+ "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
+ "dev": true,
+ "requires": {
+ "agentkeepalive": "^4.1.3",
+ "cacache": "^15.2.0",
+ "http-cache-semantics": "^4.1.0",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-lambda": "^1.0.1",
+ "lru-cache": "^6.0.0",
+ "minipass": "^3.1.3",
+ "minipass-collect": "^1.0.2",
+ "minipass-fetch": "^1.3.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "negotiator": "^0.6.2",
+ "promise-retry": "^2.0.1",
+ "socks-proxy-agent": "^6.0.0",
+ "ssri": "^8.0.0"
+ }
+ },
"make-iterator": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
@@ -17459,7 +17399,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
"integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
- "dev": true,
"optional": true,
"requires": {
"escape-string-regexp": "^4.0.0"
@@ -17510,11 +17449,6 @@
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"dev": true
},
- "mimic-response": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
- "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA=="
- },
"min-document": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
@@ -17538,14 +17472,62 @@
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"minipass": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
- "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz",
+ "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
+ "minipass-collect": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
+ "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass-fetch": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
+ "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
+ "dev": true,
+ "requires": {
+ "encoding": "^0.1.12",
+ "minipass": "^3.1.0",
+ "minipass-sized": "^1.0.3",
+ "minizlib": "^2.0.0"
+ }
+ },
+ "minipass-flush": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
+ "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass-pipeline": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
+ "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "minipass-sized": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
+ "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
"minizlib": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
@@ -17585,39 +17567,31 @@
"minimist": "^1.2.5"
}
},
- "mkdirp-classic": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
- },
"mocha": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.3.0.tgz",
- "integrity": "sha512-TQqyC89V1J/Vxx0DhJIXlq9gbbL9XFNdeLQ1+JsnZsVaSOV1z3tWfw0qZmQJGQRIfkvZcs7snQnZnOCKoldq1Q==",
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz",
+ "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==",
"dev": true,
"requires": {
"@ungap/promise-all-settled": "1.1.2",
"ansi-colors": "4.1.1",
"browser-stdout": "1.3.1",
- "chokidar": "3.5.1",
- "debug": "4.3.1",
+ "chokidar": "3.5.3",
+ "debug": "4.3.4",
"diff": "5.0.0",
"escape-string-regexp": "4.0.0",
"find-up": "5.0.0",
- "glob": "7.1.6",
- "growl": "1.10.5",
+ "glob": "7.2.0",
"he": "1.2.0",
- "js-yaml": "4.0.0",
- "log-symbols": "4.0.0",
- "minimatch": "3.0.4",
+ "js-yaml": "4.1.0",
+ "log-symbols": "4.1.0",
+ "minimatch": "5.0.1",
"ms": "2.1.3",
- "nanoid": "3.1.20",
- "serialize-javascript": "5.0.1",
+ "nanoid": "3.3.3",
+ "serialize-javascript": "6.0.0",
"strip-json-comments": "3.1.1",
"supports-color": "8.1.1",
- "which": "2.0.2",
- "wide-align": "1.1.3",
- "workerpool": "6.1.0",
+ "workerpool": "6.2.1",
"yargs": "16.2.0",
"yargs-parser": "20.2.4",
"yargs-unparser": "2.0.0"
@@ -17630,27 +17604,30 @@
"dev": true
},
"anymatch": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
- "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
"dev": true,
"requires": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
}
},
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
- },
"binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true
},
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
"braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
@@ -17661,19 +17638,19 @@
}
},
"chokidar": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
- "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"dev": true,
"requires": {
- "anymatch": "~3.1.1",
+ "anymatch": "~3.1.2",
"braces": "~3.0.2",
- "fsevents": "~2.3.1",
- "glob-parent": "~5.1.0",
+ "fsevents": "~2.3.2",
+ "glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
- "readdirp": "~3.5.0"
+ "readdirp": "~3.6.0"
}
},
"cliui": {
@@ -17714,9 +17691,9 @@
"optional": true
},
"glob-parent": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
@@ -17737,15 +17714,6 @@
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
- "js-yaml": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz",
- "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==",
- "dev": true,
- "requires": {
- "argparse": "^2.0.1"
- }
- },
"locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -17755,6 +17723,15 @@
"p-locate": "^5.0.0"
}
},
+ "minimatch": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
+ "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ },
"ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -17786,9 +17763,9 @@
}
},
"readdirp": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
- "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"requires": {
"picomatch": "^2.2.1"
@@ -17803,15 +17780,6 @@
"is-number": "^7.0.0"
}
},
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
"wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -17853,9 +17821,9 @@
}
},
"moment": {
- "version": "2.29.1",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
- "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
+ "version": "2.29.3",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
+ "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw=="
},
"ms": {
"version": "2.1.1",
@@ -17866,13 +17834,13 @@
"version": "file:lib/mscript"
},
"murmur-32": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/murmur-32/-/murmur-32-0.1.0.tgz",
- "integrity": "sha1-waedT8X6vwQFdJ0K/3fEFAIFWGE=",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/murmur-32/-/murmur-32-0.2.0.tgz",
+ "integrity": "sha512-ZkcWZudylwF+ir3Ld1n7gL6bI2mQAzXvSobPwVtu8aYi2sbXeipeSkdcanRLzIofLcM5F53lGaKm2dk7orBi7Q==",
"dev": true,
"optional": true,
"requires": {
- "array-buffer-from-string": "^0.1.0",
+ "encode-utf8": "^1.0.3",
"fmix": "^0.1.0",
"imul": "^1.0.0"
}
@@ -17886,12 +17854,14 @@
"nan": {
"version": "2.14.2",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
- "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ=="
+ "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==",
+ "dev": true,
+ "optional": true
},
"nanoid": {
- "version": "3.1.20",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz",
- "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==",
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
+ "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
"dev": true
},
"nanomatch": {
@@ -17913,32 +17883,11 @@
"to-regex": "^3.0.1"
}
},
- "napi-build-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
- "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg=="
- },
- "needle": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz",
- "integrity": "sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==",
- "dev": true,
- "requires": {
- "debug": "^3.2.6",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
+ "negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "dev": true
},
"next-tick": {
"version": "1.0.0",
@@ -17954,41 +17903,73 @@
"optional": true
},
"node-abi": {
- "version": "2.19.3",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz",
- "integrity": "sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==",
+ "version": "3.22.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.22.0.tgz",
+ "integrity": "sha512-u4uAs/4Zzmp/jjsD9cyFYDXeISfUWaAVWshPmDZOFOv4Xl4SbzTXm53I04C2uRueYJ+0t5PEtLH/owbn2Npf/w==",
+ "dev": true,
"requires": {
- "semver": "^5.4.1"
+ "semver": "^7.3.5"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
}
},
"node-addon-api": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz",
- "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
+ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
"dev": true
},
+ "node-api-version": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.1.4.tgz",
+ "integrity": "sha512-KGXihXdUChwJAOHO53bv9/vXcLmdUsZ6jIptbvYvkpKfth+r7jw44JkVxQFA3kX5nQjzjmGu1uAu/xNNLNlI5g==",
+ "dev": true,
+ "requires": {
+ "semver": "^7.3.5"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
"node-gyp": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz",
- "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==",
+ "version": "8.4.1",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
+ "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
"dev": true,
"requires": {
"env-paths": "^2.2.0",
"glob": "^7.1.4",
- "graceful-fs": "^4.2.3",
+ "graceful-fs": "^4.2.6",
+ "make-fetch-happen": "^9.1.0",
"nopt": "^5.0.0",
- "npmlog": "^4.1.2",
- "request": "^2.88.2",
+ "npmlog": "^6.0.0",
"rimraf": "^3.0.2",
- "semver": "^7.3.2",
- "tar": "^6.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.2",
"which": "^2.0.2"
},
"dependencies": {
"semver": {
- "version": "7.3.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
- "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
@@ -18005,23 +17986,31 @@
}
}
},
+ "node-gyp-build": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz",
+ "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ=="
+ },
"node-notifier": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.0.tgz",
- "integrity": "sha512-SkwNwGnMMlSPrcoeH4CSo9XyWe72acAHEJGDdPdB+CyBVHsIYaTQ4U/1wk3URsyzC75xZLg2vzU2YaALlqDF1Q==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz",
+ "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==",
"requires": {
"growly": "^1.3.0",
"is-wsl": "^2.2.0",
- "semver": "^7.3.2",
+ "semver": "^7.3.5",
"shellwords": "^0.1.1",
- "uuid": "^8.3.0",
+ "uuid": "^8.3.2",
"which": "^2.0.2"
},
"dependencies": {
"semver": {
- "version": "7.3.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
- "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ=="
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
},
"which": {
"version": "2.0.2",
@@ -18033,105 +18022,6 @@
}
}
},
- "node-pre-gyp": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz",
- "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==",
- "dev": true,
- "requires": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.1",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.2.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4"
- },
- "dependencies": {
- "chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
- "fs-minipass": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
- "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
- "dev": true,
- "requires": {
- "minipass": "^2.6.0"
- }
- },
- "minipass": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
- "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- },
- "minizlib": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
- "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
- "dev": true,
- "requires": {
- "minipass": "^2.9.0"
- }
- },
- "nopt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
- "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
- "dev": true,
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- }
- },
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "tar": {
- "version": "4.4.13",
- "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
- "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
- "dev": true,
- "requires": {
- "chownr": "^1.1.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.8.6",
- "minizlib": "^1.2.1",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.3"
- }
- },
- "yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true
- }
- }
- },
- "noop-logger": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
- "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI="
- },
"nopt": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
@@ -18165,8 +18055,7 @@
"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
+ "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ=="
},
"now-and-later": {
"version": "2.0.1",
@@ -18177,47 +18066,20 @@
"once": "^1.3.2"
}
},
- "npm-bundled": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
- "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
- "dev": true,
- "requires": {
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
"npm-conf": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
"integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
- "dev": true,
"optional": true,
"requires": {
"config-chain": "^1.1.11",
"pify": "^3.0.0"
}
},
- "npm-normalize-package-bin": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
- "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
- "dev": true
- },
- "npm-packlist": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz",
- "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
- "dev": true,
- "requires": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1",
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
"npm-run-path": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==",
"dev": true,
"optional": true,
"requires": {
@@ -18225,20 +18087,22 @@
}
},
"npmlog": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
+ "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
+ "dev": true,
"requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
+ "are-we-there-yet": "^3.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^4.0.3",
+ "set-blocking": "^2.0.0"
}
},
"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="
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
},
"oauth-sign": {
"version": "0.9.0",
@@ -18248,7 +18112,8 @@
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
},
"object-copy": {
"version": "0.1.0",
@@ -18438,12 +18303,6 @@
}
}
},
- "os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
- "dev": true
- },
"os-locale": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
@@ -18453,27 +18312,10 @@
"lcid": "^1.0.0"
}
},
- "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
- },
- "osenv": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
- "dev": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.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
+ "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw=="
},
"p-finally": {
"version": "1.0.0",
@@ -18500,6 +18342,15 @@
"p-limit": "^2.2.0"
}
},
+ "p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "dev": true,
+ "requires": {
+ "aggregate-error": "^3.0.0"
+ }
+ },
"p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
@@ -18557,7 +18408,7 @@
"color-convert": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz",
- "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=",
+ "integrity": "sha512-RwBeO/B/vZR3dfKL1ye/vx8MHZ40ugzpyfeVG5GsiuGnrlMWe2o8wxBbLCpw9CsxV+wHuzYlCiWnybrIA0ling==",
"dev": true,
"optional": true
}
@@ -18672,16 +18523,15 @@
}
},
"pathval": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
- "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
+ "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
"dev": true
},
"pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
- "dev": true
+ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
},
"performance-now": {
"version": "2.1.0",
@@ -18694,16 +18544,15 @@
"integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA=="
},
"picomatch": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
- "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true
},
"pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true,
"optional": true
},
"pinkie": {
@@ -18730,66 +18579,25 @@
}
},
"plist": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
- "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==",
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.5.tgz",
+ "integrity": "sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==",
"dev": true,
"requires": {
- "base64-js": "^1.2.3",
- "xmlbuilder": "^9.0.7",
- "xmldom": "0.1.x"
+ "base64-js": "^1.5.1",
+ "xmlbuilder": "^9.0.7"
}
},
"plugin-error": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
- "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
+ "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
"dev": true,
"requires": {
- "ansi-cyan": "^0.1.1",
- "ansi-red": "^0.1.1",
- "arr-diff": "^1.0.1",
- "arr-union": "^2.0.1",
- "extend-shallow": "^1.1.2"
- },
- "dependencies": {
- "arr-diff": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
- "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=",
- "dev": true,
- "requires": {
- "arr-flatten": "^1.0.1",
- "array-slice": "^0.2.3"
- }
- },
- "arr-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
- "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=",
- "dev": true
- },
- "array-slice": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
- "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
- "dev": true
- },
- "extend-shallow": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
- "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
- "dev": true,
- "requires": {
- "kind-of": "^1.1.0"
- }
- },
- "kind-of": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
- "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=",
- "dev": true
- }
+ "ansi-colors": "^1.0.1",
+ "arr-diff": "^4.0.0",
+ "arr-union": "^3.1.0",
+ "extend-shallow": "^3.0.2"
}
},
"pngjs": {
@@ -18803,33 +18611,10 @@
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
"dev": true
},
- "prebuild-install": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.0.1.tgz",
- "integrity": "sha512-7GOJrLuow8yeiyv75rmvZyeMGzl8mdEX5gY69d6a6bHWmiPevwqFw+tQavhK0EYMaSg3/KD24cWqeQv1EWsqDQ==",
- "requires": {
- "detect-libc": "^1.0.3",
- "expand-template": "^2.0.3",
- "github-from-package": "0.0.0",
- "minimist": "^1.2.3",
- "mkdirp-classic": "^0.5.3",
- "napi-build-utils": "^1.0.1",
- "node-abi": "^2.7.0",
- "noop-logger": "^0.1.1",
- "npmlog": "^4.0.1",
- "pump": "^3.0.0",
- "rc": "^1.2.7",
- "simple-get": "^3.0.3",
- "tar-fs": "^2.0.0",
- "tunnel-agent": "^0.6.0",
- "which-pm-runs": "^1.0.0"
- }
- },
"prepend-http": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
- "dev": true
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
},
"pretty-hrtime": {
"version": "1.0.3",
@@ -18858,11 +18643,26 @@
"proj": {
"version": "file:lib/proj"
},
+ "promise-inflight": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
+ "dev": true
+ },
+ "promise-retry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
+ "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
+ "dev": true,
+ "requires": {
+ "err-code": "^2.0.2",
+ "retry": "^0.12.0"
+ }
+ },
"proto-list": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
"integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
- "dev": true,
"optional": true
},
"prr": {
@@ -18926,14 +18726,14 @@
"dev": true
},
"random-path": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/random-path/-/random-path-0.1.1.tgz",
- "integrity": "sha1-+PTTb3WhNMoV/TnH11BfvxY7Y0w=",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/random-path/-/random-path-0.1.2.tgz",
+ "integrity": "sha512-4jY0yoEaQ5v9StCl5kZbNIQlg1QheIDBrdkDn53EynpPb9FgO6//p3X/tgMnrC45XN6QZCzU1Xz/+pSSsJBpRw==",
"dev": true,
"optional": true,
"requires": {
- "base32-encode": "^0.1.0",
- "murmur-32": "^0.1.0"
+ "base32-encode": "^0.1.0 || ^1.0.0",
+ "murmur-32": "^0.1.0 || ^0.2.0"
}
},
"randombytes": {
@@ -18945,29 +18745,14 @@
"safe-buffer": "^5.1.0"
}
},
- "rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "dependencies": {
- "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="
- }
- }
- },
"rcedit": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-2.2.0.tgz",
- "integrity": "sha512-dhFtYmQS+V8qQIANyX6zDK+sO50ayDePKApi46ZPK8I6QeyyTDD6LManMa7a3p3c9mLM4zi9QBP41pfhQ9p7Sg==",
- "dev": true
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-3.0.1.tgz",
+ "integrity": "sha512-XM0Jv40/y4hVAqj/MO70o/IWs4uOsaSoo2mLyk3klFDW+SStLnCtzuQu+1OBTIMGlM8CvaK9ftlYCp6DJ+cMsw==",
+ "dev": true,
+ "requires": {
+ "cross-spawn-windows-exe": "^1.1.0"
+ }
},
"rcinfo": {
"version": "0.1.3",
@@ -19018,17 +18803,13 @@
}
},
"readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"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"
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
}
},
"readdirp": {
@@ -19286,7 +19067,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
"integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
- "dev": true,
"requires": {
"lowercase-keys": "^1.0.0"
}
@@ -19307,14 +19087,11 @@
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
"dev": true
},
- "right-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
- "dev": true,
- "requires": {
- "align-text": "^0.1.1"
- }
+ "retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
+ "dev": true
},
"rimraf": {
"version": "3.0.2",
@@ -19326,27 +19103,17 @@
}
},
"roarr": {
- "version": "2.15.3",
- "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.3.tgz",
- "integrity": "sha512-AEjYvmAhlyxOeB9OqPUzQCo3kuAkNfuDk/HqWbZdFsqDFpapkTjiw+p4svNEoRLvuqNTxqfL+s+gtD4eDgZ+CA==",
- "dev": true,
+ "version": "2.15.4",
+ "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
+ "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==",
"optional": true,
"requires": {
- "boolean": "^3.0.0",
+ "boolean": "^3.0.1",
"detect-node": "^2.0.4",
"globalthis": "^1.0.1",
"json-stringify-safe": "^5.0.1",
"semver-compare": "^1.0.0",
"sprintf-js": "^1.1.2"
- },
- "dependencies": {
- "sprintf-js": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
- "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
- "dev": true,
- "optional": true
- }
}
},
"safe-buffer": {
@@ -19363,20 +19130,16 @@
"ret": "~0.1.10"
}
},
+ "safe-stable-stringify": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz",
+ "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg=="
+ },
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
- "sanitize-filename": {
- "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"
- }
- },
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
@@ -19385,13 +19148,13 @@
"semver": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
- "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
+ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
+ "dev": true
},
"semver-compare": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
"integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
- "dev": true,
"optional": true
},
"semver-greatest-satisfied-range": {
@@ -19410,37 +19173,39 @@
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
"integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
- "dev": true,
"optional": true,
"requires": {
"type-fest": "^0.13.1"
}
},
"serialize-javascript": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
- "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+ "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
"dev": true,
"requires": {
"randombytes": "^2.1.0"
}
},
"serialport": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/serialport/-/serialport-9.0.7.tgz",
- "integrity": "sha512-NeDfVks3JAJ7s8cXDopx1iUUgC/7TaltE7iQGiSewIWMZaK7oStiz3VJzcuKgor7F+U/y6zbAnj4i6eHq0on+g==",
+ "version": "10.4.0",
+ "resolved": "https://registry.npmjs.org/serialport/-/serialport-10.4.0.tgz",
+ "integrity": "sha512-PszPM5SnFMgSXom60PkKS2A9nMlNbHkuoyRBlzdSWw9rmgOn258+V0dYbWMrETJMM+TJV32vqBzjg5MmmUMwMw==",
"requires": {
- "@serialport/binding-mock": "^9.0.7",
- "@serialport/bindings": "^9.0.7",
- "@serialport/parser-byte-length": "^9.0.7",
- "@serialport/parser-cctalk": "^9.0.7",
- "@serialport/parser-delimiter": "^9.0.7",
- "@serialport/parser-inter-byte-timeout": "^9.0.7",
- "@serialport/parser-readline": "^9.0.7",
- "@serialport/parser-ready": "^9.0.7",
- "@serialport/parser-regex": "^9.0.7",
- "@serialport/stream": "^9.0.7",
- "debug": "^4.3.1"
+ "@serialport/binding-mock": "10.2.2",
+ "@serialport/bindings-cpp": "10.7.0",
+ "@serialport/parser-byte-length": "10.3.0",
+ "@serialport/parser-cctalk": "10.3.0",
+ "@serialport/parser-delimiter": "10.3.0",
+ "@serialport/parser-inter-byte-timeout": "10.3.0",
+ "@serialport/parser-packet-length": "10.3.0",
+ "@serialport/parser-readline": "10.3.0",
+ "@serialport/parser-ready": "10.3.0",
+ "@serialport/parser-regex": "10.3.0",
+ "@serialport/parser-slip-encoder": "10.3.0",
+ "@serialport/parser-spacepacket": "10.3.0",
+ "@serialport/stream": "10.3.0",
+ "debug": "^4.3.3"
}
},
"server": {
@@ -19449,7 +19214,8 @@
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "devOptional": true
},
"set-value": {
"version": "2.0.1",
@@ -19500,24 +19266,10 @@
"integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww=="
},
"signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
- },
- "simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="
- },
- "simple-get": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz",
- "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==",
- "requires": {
- "decompress-response": "^4.2.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true
},
"simple-swizzle": {
"version": "0.2.2",
@@ -19527,6 +19279,12 @@
"is-arrayish": "^0.3.1"
}
},
+ "smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ "dev": true
+ },
"snapdragon": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
@@ -19649,6 +19407,27 @@
}
}
},
+ "socks": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz",
+ "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==",
+ "dev": true,
+ "requires": {
+ "ip": "^1.1.5",
+ "smart-buffer": "^4.2.0"
+ }
+ },
+ "socks-proxy-agent": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
+ "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
+ "dev": true,
+ "requires": {
+ "agent-base": "^6.0.2",
+ "debug": "^4.3.3",
+ "socks": "^2.6.2"
+ }
+ },
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -19724,6 +19503,12 @@
"extend-shallow": "^3.0.0"
}
},
+ "sprintf-js": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
+ "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
+ "optional": true
+ },
"sshpk": {
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
@@ -19740,6 +19525,15 @@
"tweetnacl": "~0.14.0"
}
},
+ "ssri": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
+ "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
+ "dev": true,
+ "requires": {
+ "minipass": "^3.1.1"
+ }
+ },
"stack-trace": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
@@ -19794,23 +19588,23 @@
}
},
"string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"devOptional": true,
"requires": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
+ "strip-ansi": "^6.0.1"
}
},
"strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"devOptional": true,
"requires": {
- "ansi-regex": "^5.0.0"
+ "ansi-regex": "^5.0.1"
}
},
"strip-bom": {
@@ -19856,7 +19650,6 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz",
"integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==",
- "dev": true,
"requires": {
"debug": "^4.1.0"
}
@@ -19884,9 +19677,9 @@
"version": "file:lib/system"
},
"tar": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz",
- "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==",
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
"dev": true,
"requires": {
"chownr": "^2.0.0",
@@ -19905,53 +19698,20 @@
}
}
},
- "tar-fs": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
- "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
- "requires": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^2.1.4"
- },
- "dependencies": {
- "chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
- }
- }
- },
- "tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
- "requires": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
"text-hex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
"integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="
},
+ "through2": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
+ "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
+ "dev": true,
+ "requires": {
+ "readable-stream": "3"
+ }
+ },
"through2-filter": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz",
@@ -20064,6 +19824,13 @@
"is-negated-glob": "^1.0.0"
}
},
+ "to-data-view": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/to-data-view/-/to-data-view-1.1.0.tgz",
+ "integrity": "sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==",
+ "dev": true,
+ "optional": true
+ },
"to-object-path": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
@@ -20087,8 +19854,7 @@
"to-readable-stream": {
"version": "1.0.0",
"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
+ "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q=="
},
"to-regex": {
"version": "3.0.2",
@@ -20194,20 +19960,10 @@
"resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
"integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
},
- "truncate-utf8-bytes": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz",
- "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=",
- "dev": true,
- "requires": {
- "utf8-byte-length": "^1.0.1"
- }
- },
"tunnel": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
- "dev": true,
"optional": true
},
"tunnel-agent": {
@@ -20239,7 +19995,6 @@
"version": "0.13.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
"integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
- "dev": true,
"optional": true
},
"typedarray": {
@@ -20248,60 +20003,11 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
"typescript": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.5.tgz",
- "integrity": "sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA==",
+ "version": "4.7.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz",
+ "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==",
"dev": true
},
- "uglify-js": {
- "version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
- "dev": true,
- "requires": {
- "source-map": "~0.5.1",
- "uglify-to-browserify": "~1.0.0",
- "yargs": "~3.10.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
- "dev": true
- },
- "cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "dev": true,
- "requires": {
- "center-align": "^0.1.1",
- "right-align": "^0.1.1",
- "wordwrap": "0.0.2"
- }
- },
- "yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "dev": true,
- "requires": {
- "camelcase": "^1.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
- "window-size": "0.1.0"
- }
- }
- }
- },
- "uglify-to-browserify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
- "dev": true,
- "optional": true
- },
"unc-path-regex": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
@@ -20343,6 +20049,24 @@
"set-value": "^2.0.1"
}
},
+ "unique-filename": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
+ "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+ "dev": true,
+ "requires": {
+ "unique-slug": "^2.0.0"
+ }
+ },
+ "unique-slug": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
+ "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4"
+ }
+ },
"unique-stream": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz",
@@ -20359,9 +20083,9 @@
"integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug=="
},
"unorm": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.5.0.tgz",
- "integrity": "sha512-sMfSWoiRaXXeDZSXC+YRZ23H4xchQpwxjpw1tmfR+kgbBCaOgln4NI0LXejJIhnBuKINrB3WRn+ZI8IWssirVw==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz",
+ "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==",
"dev": true,
"optional": true
},
@@ -20435,7 +20159,6 @@
"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": {
"prepend-http": "^2.0.0"
}
@@ -20446,12 +20169,6 @@
"integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
"dev": true
},
- "utf8-byte-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz",
- "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=",
- "dev": true
- },
"utif": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz",
@@ -20619,12 +20336,6 @@
"defaults": "^1.0.3"
}
},
- "when": {
- "version": "3.7.8",
- "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz",
- "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=",
- "dev": true
- },
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@@ -20640,94 +20351,52 @@
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"optional": true
},
- "which-pm-runs": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
- "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs="
- },
"wide-align": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
- "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "dev": true,
"requires": {
- "string-width": "^1.0.2 || 2"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
+ "string-width": "^1.0.2 || 2 || 3 || 4"
}
},
- "window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
- "dev": true
- },
"winston": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz",
- "integrity": "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==",
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/winston/-/winston-3.7.2.tgz",
+ "integrity": "sha512-QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng==",
"requires": {
"@dabh/diagnostics": "^2.0.2",
- "async": "^3.1.0",
+ "async": "^3.2.3",
"is-stream": "^2.0.0",
- "logform": "^2.2.0",
+ "logform": "^2.4.0",
"one-time": "^1.0.0",
"readable-stream": "^3.4.0",
+ "safe-stable-stringify": "^2.3.1",
"stack-trace": "0.0.x",
"triple-beam": "^1.3.0",
- "winston-transport": "^4.4.0"
+ "winston-transport": "^4.5.0"
},
"dependencies": {
+ "async": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
+ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
+ },
"is-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
"integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw=="
- },
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
}
}
},
"winston-transport": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz",
- "integrity": "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==",
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz",
+ "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==",
"requires": {
- "readable-stream": "^2.3.7",
- "triple-beam": "^1.2.0"
+ "logform": "^2.3.2",
+ "readable-stream": "^3.6.0",
+ "triple-beam": "^1.3.0"
}
},
"word-wrap": {
@@ -20736,16 +20405,10 @@
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
"optional": true
},
- "wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
- "dev": true
- },
"workerpool": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz",
- "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
+ "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==",
"dev": true
},
"wrap-ansi": {
@@ -20802,12 +20465,6 @@
"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
"dev": true
},
- "xmldom": {
- "version": "0.1.31",
- "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
- "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==",
- "dev": true
- },
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
@@ -20822,8 +20479,7 @@
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"yargs": {
"version": "15.4.1",
@@ -20884,7 +20540,6 @@
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
- "dev": true,
"requires": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
diff --git a/app/package.json b/app/package.json
index 4a4cd12..de12728 100644
--- a/app/package.json
+++ b/app/package.json
@@ -1,6 +1,6 @@
{
"name": "mcopy-app",
- "version": "1.7.0",
+ "version": "1.7.1",
"description": "GUI for the mcopy small gauge film optical printer platform",
"main": "main.js",
"scripts": {
@@ -35,24 +35,28 @@
},
"homepage": "https://github.com/sixteenmillimeter/mcopy#readme",
"devDependencies": {
- "@types/jquery": "^3.5.5",
- "chai": "^4.3.0",
- "electron": "^11.3.0",
+ "@types/codemirror": "^5.60.5",
+ "@types/jquery": "^3.5.14",
+ "chai": "^4.3.6",
+ "electron": "^19.0.1",
"electron-installer-common": "^0.10.3",
- "electron-installer-dmg": "^3.0.0",
- "electron-packager": "^15.4.0",
- "electron-rebuild": "^2.3.5",
- "electron-wix-msi": "^3.0.6",
+ "electron-installer-dmg": "^4.0.0",
+ "electron-packager": "^15.5.1",
+ "electron-rebuild": "^3.2.7",
+ "electron-wix-msi": "^4.0.0",
"gulp": "^4.0.2",
"gulp-concat": "^2.6.1",
- "gulp-less": "^4.0.1",
- "mocha": "^8.3.0",
- "typescript": "^4.1.5"
+ "gulp-less": "^5.0.0",
+ "mocha": "^10.0.0",
+ "typescript": "^4.7.2"
},
"dependencies": {
+ "@electron/remote": "^2.0.8",
+ "alert": "file:lib/alert",
"animated-gif-detector": "^1.2.0",
"arduino": "file:lib/arduino",
"cam": "file:lib/cam",
+ "capper": "file:lib/capper",
"capture": "file:lib/capture",
"cmd": "file:lib/cmd",
"delay": "file:lib/delay",
@@ -61,31 +65,31 @@
"exec": "file:lib/exec",
"exit": "file:lib/exit",
"ffmpeg": "file:lib/ffmpeg",
- "ffmpeg-static": "^4.2.7",
+ "ffmpeg-static": "^5.0.0",
"ffprobe": "file:lib/ffprobe",
"ffprobe-static": "^3.0.0",
"filmout": "file:lib/filmout",
"frame": "file:lib/frame",
- "fs-extra": "^9.1.0",
- "humanize-duration": "^3.25.1",
+ "fs-extra": "^10.1.0",
+ "humanize-duration": "^3.27.2",
"intval": "file:lib/intval",
"jimp": "^0.16.1",
"light": "file:lib/light",
"log": "file:lib/log",
- "moment": "^2.29.1",
+ "moment": "^2.29.3",
"mscript": "file:lib/mscript",
- "node-notifier": "^9.0.0",
+ "node-notifier": "^10.0.1",
"processing": "file:lib/processing",
"proj": "file:lib/proj",
"request": "^2.88.2",
"sequencer": "file:lib/sequencer",
- "serialport": "^9.0.7",
+ "serialport": "^10.4.0",
"server": "file:lib/server",
"settings": "file:lib/settings",
"spawn": "file:lib/spawn",
"system": "file:lib/system",
"uuid": "^8.3.2",
- "winston": "^3.3.3"
+ "winston": "^3.7.2"
},
"optionalDependencies": {
"electron-installer-debian": "^3.1.0"
diff --git a/app/scripts/dev.sh b/app/scripts/dev.sh
index 1da49e1..262fdcc 100644
--- a/app/scripts/dev.sh
+++ b/app/scripts/dev.sh
@@ -1,5 +1,7 @@
#!/bin/bash
+set -e
+
# compile main process code
cd ..
npm run compile
diff --git a/app/src/index.js b/app/src/index.js
index 39db7b3..d4e58af 100644
--- a/app/src/index.js
+++ b/app/src/index.js
@@ -1,7 +1,8 @@
const mcopy = {};
-const { remote, ipcRenderer } = require('electron');
-const dialog = require('electron').remote.dialog;
+const remote = require('@electron/remote');
+const { ipcRenderer } = require('electron');
+const { dialog } = remote;
const notifier = require('node-notifier');
const fs = require('fs');
const uuid = require('uuid').v4;
@@ -21,8 +22,10 @@ const cmd = require('./lib/ui/cmd.js');
const devices = require('./lib/ui/devices.js');
const filmout = require('./lib/ui/filmout.js');
const mse = require('./lib/ui/mscript.js');
+const capper = require('./lib/ui/capper.js');
const Mscript = require('./lib/mscript');
const { delay } = require('./lib/delay');
+const alertObj = require('./lib/ui/alert.js');
let log;
@@ -50,4 +53,6 @@ async function init () {
proj.init();
cam.init();
seq.init();
+ capper.init();
+ alertObj.init();
};
\ No newline at end of file
diff --git a/app/src/lib/ui/alert.ts b/app/src/lib/ui/alert.ts
new file mode 100644
index 0000000..1d559cd
--- /dev/null
+++ b/app/src/lib/ui/alert.ts
@@ -0,0 +1,40 @@
+'use strict';
+
+///
+
+declare var uuid : any;
+declare var ipcRenderer : any;
+
+let alertObj : Alert;
+
+class Alert {
+ id : string = 'alert';
+
+ constructor () {
+ }
+
+ public init () {
+ this.listen();
+ }
+
+ public start (msg : string) {
+ alert(msg);
+ this.end();
+ }
+
+ private end () {
+ const obj : any = {};
+
+ ipcRenderer.sendSync(this.id, obj);
+ }
+
+ private listen () {
+ ipcRenderer.on(this.id, (function (event : Event, arg : any) {
+ this.start(arg.msg);
+ }).bind(this));
+ };
+
+}
+
+alertObj = new Alert();
+module.exports = alertObj;
\ No newline at end of file
diff --git a/app/src/lib/ui/capper.ts b/app/src/lib/ui/capper.ts
new file mode 100644
index 0000000..878d8f4
--- /dev/null
+++ b/app/src/lib/ui/capper.ts
@@ -0,0 +1,96 @@
+'use strict';
+
+///
+
+declare var uuid : any;
+declare var ipcRenderer : any;
+declare var w2ui : any;
+
+let capper : Capper;
+
+interface CapperEvent {
+ id : string;
+ state : boolean;
+ callback? : Function;
+}
+
+class Capper {
+ public enabled = false;
+ queue : any = {};
+ lock : boolean = false;
+ id : string = 'capper';
+ state : boolean = false;
+
+ constructor () {
+
+ }
+
+ init () {
+ this.listen();
+ }
+
+ public enable () {
+ $('.black').addClass('on');
+ $('#cmd_black_forward').parent().removeClass('hide');
+ $('#cmd_black_backward').parent().removeClass('hide');
+ $('#cmd_capper_on').parent().removeClass('hide');
+ $('#cmd_capper_off').parent().removeClass('hide');
+ this.enabled = true;
+ }
+
+ public capper (state : boolean, callback : Function) {
+ let obj : CapperEvent;
+
+ if (this.lock) {
+ return false;
+ }
+
+ obj = {
+ state,
+ id : uuid()
+ };
+
+ ipcRenderer.sendSync(this.id, obj);
+
+ if (typeof callback !== 'undefined') {
+ obj.callback = callback;
+ }
+
+ this.queue[obj.id] = obj;
+ this.lock = true;
+ this.state = state;
+
+ if (state) {
+ $('#cmd_capper_on').addClass('active');
+ $('#cmd_capper_off').removeClass('active');
+ } else {
+ $('#cmd_capper_off').addClass('active');
+ $('#cmd_capper_on').removeClass('active');
+ }
+ }
+
+ public end (c : string, id : string, ms : number) {
+ if (c === cfg.arduino.cmd.capper_on) {
+ this.state = true;
+ } else if (c === cfg.arduino.cmd.capper_off) {
+ this.state = false;
+ }
+ if (typeof this.queue[id] !== 'undefined') {
+ if (typeof this.queue[id].callback !== 'undefined') {
+ this.queue[id].callback(ms);
+ }
+ delete this.queue[id];
+ this.lock = false;
+ }
+ }
+ private listen () {
+ ipcRenderer.on(this.id, function (event : Event, arg : any) {
+ capper.end(arg.cmd, arg.id, arg.ms);
+ return event.returnValue = true;
+ });
+ };
+
+}
+
+capper = new Capper();
+module.exports = capper;
\ No newline at end of file
diff --git a/app/src/lib/ui/devices.ts b/app/src/lib/ui/devices.ts
index fafb3ff..1fa510c 100644
--- a/app/src/lib/ui/devices.ts
+++ b/app/src/lib/ui/devices.ts
@@ -81,12 +81,6 @@ class Devices {
}
//devices.profile(arg.profile)
}
-
- seq.set(0, cfg.cmd.camera_forward);
- seq.set(1, cfg.cmd.projector_forward);
- grid.state(0);
- grid.state(1);
- seq.stats();
if (arg.projector_second) {
//add second row of projector pads to grid
@@ -96,6 +90,17 @@ class Devices {
//add second row of camera pads to grid
cam.second.enable();
}
+ if (arg.capper) {
+ //add capper features to grid
+ capper.enable();
+ }
+
+ seq.set(0, cfg.cmd.camera_forward);
+ seq.set(1, cfg.cmd.projector_forward);
+ grid.state(0);
+ grid.state(1);
+ seq.stats();
+
return event.returnValue = true;
}
diff --git a/app/src/lib/ui/grid.ts b/app/src/lib/ui/grid.ts
index 4299a24..334369a 100644
--- a/app/src/lib/ui/grid.ts
+++ b/app/src/lib/ui/grid.ts
@@ -19,6 +19,9 @@ let grid : Grid;
*******/
class Grid {
private swatchesElem : any = {};
+ private projector_cmds : string[] = [
+ 'PF', 'PB', 'P2F', 'P2B', 'PPF', 'PPB'
+ ];
constructor () {
}
@@ -40,8 +43,9 @@ class Grid {
const step : Step = seq.grid[x];
let className : string;
let className2 : string;
+
+ elem.prop('checked', false);
if (typeof step !== 'undefined') {
- elem.prop('checked', false);
if (step.cmd === cfg.cmd.cameras_forward) {
className = cfg.cmd.camera_forward;
className2 = cfg.cmd.camera_second_forward;
@@ -67,6 +71,12 @@ class Grid {
} else if (step.cmd === cfg.cmd.projector_backward_projector_second_forward) {
className = cfg.cmd.projector_backward;
className2 = cfg.cmd.projector_second_forward;
+ } else if (step.cmd === cfg.cmd.black_forward) {
+ className = cfg.cmd.camera_forward;
+ className2 = 'black';
+ } else if (step.cmd === cfg.cmd.black_backward) {
+ className = cfg.cmd.camera_backward;
+ className2 = 'black';
} else {
className = step.cmd;
}
@@ -80,12 +90,17 @@ class Grid {
lightElem.css('background', `rgb(${step.light})`)
.addClass('a')
.prop('title', `rgb(${seq.light})`);
-
} else {
lightElem.css('background', 'transparent')
.removeClass('a')
.prop('title', '');
}
+ if (capper.enabled && this.projector_cmds.indexOf(step.cmd) !== -1) {
+ $(`.black[x=${x}]`).addClass('disabled');
+ } else if (capper.enabled) {
+ $(`.black[x=${x}]`).removeClass('disabled');
+ }
+
} else {
lightElem.css('background', 'transparent')
.removeClass('a')
@@ -122,7 +137,8 @@ class Grid {
'camera_backward',
'camera_second_backward',
'projector_backward',
- 'projector_second_backward',
+ 'projector_second_backward',
+ 'black',
'light_set',
'numbers'
];
@@ -141,6 +157,9 @@ class Grid {
} else if (cmds[i] === 'light_set') {
elem = ``
$(cmd).append($(elem));
+ } else if (cmds[i] === 'black') {
+ elem = ``;
+ $(cmd).append($(elem));
} else {
elem = ``;
$(cmd).append($(elem).addClass(cfg.cmd[cmds[i]]));
@@ -169,7 +188,20 @@ class Grid {
current = seq.grid[x].cmd + ''; // cast to string, bad hack
}
if (checked) {
- if (cam.second.enabled && current.indexOf('C') !== -1) {
+ if (c.indexOf('black') !== -1) {
+ if (other === '') {
+ c = cfg.cmd.black_forward;
+ } else if (current.indexOf('C') !== -1) {
+ if (other == cfg.cmd.camera_forward) {
+ c = cfg.cmd.black_forward;
+ } else if (other === cfg.cmd.camera_backward) {
+ c = cfg.cmd.black_backward;
+ }
+ } else if (current.indexOf('P') !== -1) {
+ $(elem).prop('checked', false);
+ return;
+ }
+ } else if (cam.second.enabled && current.indexOf('C') !== -1) {
if (c === cfg.cmd.camera_forward) {
if (other === cfg.cmd.camera_second_forward) {
c = cfg.cmd.cameras_forward;
@@ -197,7 +229,6 @@ class Grid {
}
} else if (proj.second.enabled && current.indexOf('P') !== -1) {
if (c === cfg.cmd.projector_forward) {
-
if (current === cfg.cmd.projectors_backward) {
c = cfg.cmd.projector_forward_projector_second_backward;
} else if (current === cfg.cmd.projector_backward_projector_second_forward) {
@@ -208,7 +239,6 @@ class Grid {
c = cfg.cmd.projector_forward_projector_second_backward;
}
} else if (c === cfg.cmd.projector_backward) {
-
if (current === cfg.cmd.projectors_forward) {
c = cfg.cmd.projector_backward_projector_second_forward;
} else if (current === cfg.cmd.projector_forward_projector_second_backward) {
@@ -219,7 +249,6 @@ class Grid {
c = cfg.cmd.projectors_backward;
}
} else if (c === cfg.cmd.projector_second_forward) {
-
if (current === cfg.cmd.projectors_backward) {
c = cfg.cmd.projector_backward_projector_second_forward;
} else if (current === cfg.cmd.projector_forward_projector_second_backward) {
@@ -230,7 +259,6 @@ class Grid {
c = cfg.cmd.projector_backward_projector_second_forward;
}
} else if (c === cfg.cmd.projector_second_backward) {
-
if (current === cfg.cmd.projectors_forward) {
c = cfg.cmd.projector_forward_projector_second_backward;
} else if (current === cfg.cmd.projector_backward_projector_second_forward) {
@@ -244,7 +272,22 @@ class Grid {
}
seq.set(x, c);
} else {
- if (cam.second.enabled && current.indexOf('C') !== -1) {
+ if (c.indexOf('black') !== -1) {
+ if (current === 'BF' || current === 'BB') {
+ if (other === cfg.cmd.camera_forward) {
+ c = cfg.cmd.camera_forward;
+ } else if (other === cfg.cmd.camera_backward) {
+ c = cfg.cmd.camera_backward;
+ }
+ } else if (current.indexOf('P') !== -1) {
+ $(elem).prop('checked', false);
+ return;
+ }
+ } else if (other === 'black' && current === cfg.cmd.camera_forward) {
+ c = '';
+ } else if (other === 'black' && current === cfg.cmd.camera_backward) {
+ c = '';
+ } else if (cam.second.enabled && current.indexOf('C') !== -1) {
if (current === cfg.cmd.cameras_forward) {
if (other === cfg.cmd.camera_second_forward) {
c = cfg.cmd.camera_second_forward;
diff --git a/app/src/lib/ui/mscript.ts b/app/src/lib/ui/mscript.ts
new file mode 100644
index 0000000..14d3a0b
--- /dev/null
+++ b/app/src/lib/ui/mscript.ts
@@ -0,0 +1,321 @@
+'use strict';
+
+///
+
+import Mscript from 'mscript';
+
+declare var nav : any;
+declare var gui : any;
+declare var CodeMirror : any;
+declare var mscript : any;
+declare var cmd : any;
+
+interface MSE {
+ mscript : MscriptGUI,
+ console : MscriptConsole
+}
+
+/******
+ Mscript GUI
+*******/
+
+class MscriptGUI {
+ public editor : any = {};
+ public data : any = {};
+ public raw : string = '';
+
+ constructor () {
+
+ }
+
+ /**
+ * Initializes the mscript GUI. Sets up CodeMirror instance,
+ * binds events and sets height of editor.
+ **/
+ public init () {
+ const startingScript : string = `CF 1
+PF 1`;
+ const editorHeight : number = $(window).height() - $('footer').eq(0).height() - 30;
+ const editorElem : HTMLTextAreaElement = document.getElementById('editor') as HTMLTextAreaElement;
+ const editorConfig : any = {
+ lineNumbers: true,
+ mode: 'python',
+ matchBrackets: true,
+ theme: 'monokai'
+ };
+ $('#editor').val(startingScript);
+ this.editor = CodeMirror.fromTextArea(editorElem, editorConfig);
+ this.editor.setSize(null, editorHeight);
+ this.editor.on('change', (e : Event) => { });
+ $(document).on('resize', function (e : Event) {
+ this.editor.setSize(null, editorHeight);
+ }.bind(this));
+ }
+
+ /**
+ * Callback for when open event occurs.
+ **/
+ public open () {
+ //recalcuate in case resize has occurred needed
+ const editorHeight : number = $(window).height() - $('footer').eq(0).height() - 30;
+ this.editor.setSize(null, editorHeight);
+ this.editor.refresh();
+ }
+
+ /**
+ * Create script from the sequencer's current state.
+ * Previous comment: ehhhh
+ * TODO: Make this smarter.
+ **/
+ fromSequence () {
+ let str : string;
+ let tmp : any[] = [];
+ let cont : boolean;
+ let cmd : string;
+
+ //str = seq.grid.map(step => { return step.cmd }).join('\n'); //quick hack
+ //console.dir(seq.grid);
+
+ for (let step of seq.grid) {
+ if (!step || !step.cmd) {
+ continue;
+ }
+ cmd = step.cmd;
+ if (tmp.length > 0 && tmp[tmp.length - 1].cmd === cmd) {
+ tmp[tmp.length - 1].num++;
+ continue;
+ }
+ tmp.push({ cmd, num : 1 });
+ }
+
+ tmp = tmp.map(line => {
+ return `${line.cmd} ${line.num}`
+ })
+
+ if (seq.gridLoops > 1) {
+ tmp.map(line => {
+ return ` ${line}`;
+ })
+ tmp.reverse();
+ tmp.push(`LOOP ${seq.gridLoops}`);
+ tmp.reverse();
+ tmp.push('END');
+ }
+
+ str = tmp.join('\n');
+
+ nav.change('script');
+ cont = confirm(`Are you sure you want to over-write the current sequence?`);
+ if (cont) {
+ this.editor.getDoc().setValue(str);
+ }
+ }
+
+ /**
+ * Take current compiled mscript state and send it to the sequencer
+ * GUI. TODO: Add confirm step if sequence is longer than X steps.
+ * TODO: Make this smarter (detect outer non-fade loop and assign to loop counter)
+ **/
+ toGUI () {
+ let c : string;
+ let step : string;
+ for (let x : number = 0; x < this.data.arr.length; x++) {
+ c = this.data.arr[x];
+ seq.set(x, c);
+ if (c === 'CF' || c === 'CB') {
+ if (typeof this.data.meta[x] !== 'undefined' && this.data.meta[x] !== '') {
+ seq.setLight(x, this.data.meta[x]);
+ } else {
+ seq.setLight(x, light.color);
+ }
+ } else {
+ //unset light?
+ }
+ grid.state(x);
+ }
+ }
+
+ /**
+ * Handles compilation of mscript and switches to sequencer
+ * GUI after confirmation questions.
+ **/
+ toSequence () {
+ const data : string = this.editor.getValue();
+ let cont : boolean = false;
+ if (data !== this.raw) {
+ cont = confirm(`Current script has not been compiled. Compile first?`);
+ if (cont) {
+ this.compile()
+ }
+ }
+ mse.console.print(`Sending compiled script to GUI sequencer...`);
+ seq.clear();
+ this.toGUI();
+ grid.refresh();
+ seq.stats();
+ return nav.change('sequencer');
+ }
+
+ /**
+ * Compiles text in editor using the Mscript library.
+ *
+ **/
+ compile () {
+ const data : string = this.editor.getValue();
+ const mscript : Mscript = new Mscript();
+ const output : any = mscript.interpret(data);
+ const len : number = output.arr.length;
+ const cam2 : string = typeof output.cam2 !== 'undefined' ? `, CAM2 : ${output.cam2}` : '';
+ const proj2 : string = typeof output.proj2 !== 'undefined' ? `, PROJ2 : ${output.proj2}` : '';
+ const report : string = `Sequence contains ${len} step${(len === 1 ? '' : 's')}, CAM: ${output.cam}, PROJ: ${output.proj}${cam2}${proj2}`;
+
+ this.raw = data;
+ this.data = output;
+ //mse.console.print(JSON.stringify(output, null, '\t') + '\n')
+ mse.console.print(report);
+ }
+
+ /**
+ * This function re-writes the optional "meta" attribute
+ * of an mcopy command object to "light". TODO: change this.
+ * Do not re-write this object and improve the consumers
+ * of the compiled data.
+ **/
+ prepare () {
+ const arr : any[] = [];
+ let obj : any;
+ for (let i : number = 0; i < this.data.arr.length; i++) {
+ obj = {
+ cmd : this.data.arr[i]
+ };
+ if (typeof this.data.meta[i] !== 'undefined' && this.data.meta[i] !== '') {
+ obj.light = this.data.meta[i];
+ } else {
+ obj.light = light.color.join(',');
+ }
+ arr.push(obj);
+ }
+ return arr;
+ }
+
+ /**
+ * Method which compiles script if needs and then runs as a sequence.
+ **/
+ run () {
+ const data : string = this.editor.getValue();
+ let arr : any[];
+ let cont : boolean = false;
+ if (data !== this.raw) {
+ cont = confirm(`Current script has not been compiled. Compile first?`);
+ if (cont) {
+ this.compile();
+ }
+ }
+ arr = this.prepare();
+ mse.console.print(`Started running compiled sequence...`);
+ gui.overlay(true);
+ gui.spinner(true, `Running mscript sequence...`, true, true);
+ return seq.exec(arr, 1);
+ }
+}
+
+
+/*******
+ * Mscript GUI Console
+ *******/
+
+class MscriptConsole {
+ public elem : JQuery;
+ private lines : string[];
+
+
+ /**
+ * Initializes the console by creating the element
+ * containing the output text and binding to
+ * keyup event.
+ **/
+ public init () {
+ this.elem = $('#console textarea');
+ this.elem.on('keyup', function (e : KeyboardEvent) {
+ var code : number = e.keyCode || e.which;
+ if (code === 13) {
+ this.exec();
+ e.preventDefault();
+ return false;
+ }
+ }.bind(this));
+ }
+
+ /**
+ * Parse the current state of the console and get the last
+ * line to add to the current state array.
+ **/
+ parse () {
+ const lines : string[] = (this.elem.val() + '').split('\n');
+ const line : string = lines[lines.length - 2].replace('>', '').trim();
+ this.lines.push(line);
+ }
+
+ /**
+ * Executes the command in the last line of the console.
+ * TODO: implement the remaining commands. Currently only camera
+ * forward and backward will be executed.
+ **/
+ exec () {
+ let command : string;
+ this.parse();
+ command = this.lines[this.lines.length - 1].replace('>', '').trim();
+ log.info(command);
+ this.newLine();
+ if (mscript.cmd.indexOf(command) !== -1) {
+ if (command === 'CF') {
+ cmd.camera_forward(light.color);
+ } else if (cmd === 'CB') {
+ cmd.camera_backward(light.color);
+ }
+ }
+
+ if (command === 'compile') {
+ mse.mscript.compile();
+ } else if (command === 'run') {
+ mse.mscript.run();
+ }
+ }
+
+ /**
+ * Adds a new line to the console after an event
+ * and re-establishes the height of the array. Animates
+ * the console to scroll down to last line.
+ **/
+ newLine () {
+ let current : string = (this.elem.val() + '');
+ let height : number;
+ current += '> ';
+ this.elem.val(current);
+ height = this.elem[0].scrollHeight;
+ this.elem.animate({
+ scrollTop : height
+ }, 'normal');
+ }
+
+ /**
+ * Print string to the console and add new line
+ **/
+ print (str : string) {
+ let current : string = (this.elem.val() + '');
+ let height : number;
+ current += str;
+ current += '\n';
+ mse.console.elem.val(current);
+ mse.console.elem.focus();
+
+ this.newLine();
+ }
+}
+
+const mse : MSE = {
+ mscript : new MscriptGUI(),
+ console : new MscriptConsole()
+};
+
+module.exports = mse;
\ No newline at end of file
diff --git a/app/src/lib/ui/seq.ts b/app/src/lib/ui/seq.ts
index d946779..5e4d91e 100644
--- a/app/src/lib/ui/seq.ts
+++ b/app/src/lib/ui/seq.ts
@@ -71,11 +71,21 @@ class Sequence {
log.info('Sequence stopped', 'SERIAL', true);
timeStr = ( arg.ms < 2000 ) ? `${arg.ms}ms` : humanizeDuration(arg.ms);
gui.notify(`SEQUENCE`, `Sequence finished in ${timeStr}`);
+ if (capper.enabled && this.arr.some(this.hasCapper)) {
+ $('#cmd_capper_off').addClass('active');
+ $('#cmd_capper_on').removeClass('active');
+ }
}
}
return event.returnValue = true;
}
+ private hasCapper (el : any) {
+ if (['BF', 'BB'].indexOf(el.cmd) !== -1) {
+ return true;
+ }
+ }
+
private progress (step : number, loop : number) {
const elem : any = $('.progress-bar');
const len : number = this.arr.length;
diff --git a/app/test/mscript.test.js b/app/test/mscript.test.js
index 012269e..ca3bb92 100644
--- a/app/test/mscript.test.js
+++ b/app/test/mscript.test.js
@@ -258,6 +258,8 @@ CF 10`
})
})
+//secondary
+
/*describe('mscript - Variables', () => {
const script1 =
`@LIGHT=200,200,200
diff --git a/app/tsconfig.json b/app/tsconfig.json
index 427d0dd..0f7945c 100644
--- a/app/tsconfig.json
+++ b/app/tsconfig.json
@@ -11,7 +11,8 @@
"outDir": "./",
"rootDir" : "./src/",
"paths" : {
- "log" : ["./lib/log"]
+ "log" : ["./lib/log"],
+ "mscript" : ["./lib/mscript"]
}
},
"exclude" : [
diff --git a/data/cfg.json b/data/cfg.json
index 404f8da..69aeaa4 100644
--- a/data/cfg.json
+++ b/data/cfg.json
@@ -1,5 +1,5 @@
{
- "version": "1.7.0",
+ "version": "1.7.1",
"ext_port": 1111,
"profiles": {
"mcopy": {
@@ -15,8 +15,8 @@
"momentary": 0
},
"black": {
- "before": 0,
- "after": 0
+ "before": 100,
+ "after": 100
},
"light": false
},
@@ -178,7 +178,15 @@
"cameras": "4",
"camera_projectors_identifier": "5",
"cameras_projector_identifier": "6",
- "cameras_projectors_identifier": "7"
+ "cameras_projectors_identifier": "7",
+ "capper_identifier": "C",
+ "camera_capper_identifier": "8",
+ "camera_capper_projector_identifier": "9",
+ "camera_capper_projectors_identifier": "0",
+ "capper_on": "A",
+ "capper_off": "B",
+ "takeup_forward" : "D",
+ "takeup_backward" : "E"
}
}
}
diff --git a/hardware/mcopy_MONO_JK99_shield.fzz b/hardware/mcopy_MONO_JK99_shield.fzz
new file mode 100644
index 0000000..276e439
Binary files /dev/null and b/hardware/mcopy_MONO_JK99_shield.fzz differ
diff --git a/ino/components/mcopy_capper/mcopy_capper.ino b/ino/components/mcopy_capper/mcopy_capper.ino
new file mode 100644
index 0000000..0cae7b8
--- /dev/null
+++ b/ino/components/mcopy_capper/mcopy_capper.ino
@@ -0,0 +1,156 @@
+#include
+
+boolean debug_state = false;
+
+/*
+----------------------------------------------------
+Servo - Arduino
+ -
+Red - 5V
+Black - GND
+Yellow - PWM Pin (9 in this example)
+
+Using TowerPro SG-5010 - default angle 93
+ TowerPro MG-995 - default angle 93
+as servos for development
+----------------------------------------------------
+*/
+
+/* ------------------------------------------------
+ * pins
+ * ------------------------------------------------*/
+//Arduino Duemilanove +
+//Arduino Uno
+const int PIN_SERVO = 6;
+
+volatile boolean running = false;
+volatile boolean cap_state = false;
+
+volatile int angle = 0;
+const int cap_on_angle = 153; // tune this variable to your servo
+const int cap_off_angle = 93; // -60 degrees apart
+volatile long timer = 0;
+volatile int current_angle = 0;
+
+const char cmd_cap_on = 'A';
+const char cmd_cap_off = 'B';
+
+const char cmd_debug = 'd';
+const char cmd_connect = 'i';
+volatile char cmd_char = 'z';
+const char cmd_mcopy_identifier = 'm';
+const char cmd_capper_identifier = 'C';
+
+const int serialDelay = 5;
+
+Servo servo;
+//SG-5010 speed 0.18s / 60 degree
+//
+//converted to milliseconds/angle
+const float servoSpeed = 400.0 / 60.0;
+
+void setup() {
+ Serial.begin(57600);
+ Serial.flush();
+ Serial.setTimeout(serialDelay);
+
+ Pins_init();
+ Servo_init();
+}
+
+void loop() {
+ if (Serial.available()) {
+ /* read the most recent byte */
+ cmd_char = (char)Serial.read();
+ }
+ if (cmd_char != 'z') {
+ cmd(cmd_char);
+ cmd_char = 'z';
+ }
+ timer = millis();
+
+}
+
+void cmd (char val) {
+ if (val == cmd_debug) {
+ debug();
+ } else if (val == cmd_connect) {
+ connect();
+ } else if (val == cmd_mcopy_identifier) {
+ identify();
+ } else if (val == cmd_cap_on) {
+ Cap_on(false, false);
+ } else if (val == cmd_cap_off) {
+ Cap_off(false, false);
+ }
+}
+
+void debug () {
+ debug_state = true;
+ Serial.println(cmd_debug);
+ log("debugging enabled");
+}
+
+void connect () {
+ Serial.println(cmd_connect);
+ log("connect()");
+}
+
+void identify () {
+ Serial.println(cmd_capper_identifier);
+ log("identify()");
+}
+
+void Pins_init () {
+ //
+}
+
+void Servo_init () {
+ servo.attach(PIN_SERVO);
+ Cap_off(true, true);
+}
+
+void Servo_angle (int newAngle) {
+ servo.write(newAngle);
+ delay(Servo_delay(newAngle, angle) + 50);
+ angle = newAngle;
+}
+
+int Servo_delay (int angleA, int angleB) {
+ int angle = abs(angleA - angleB);
+ return (int) ceil((float) angle * servoSpeed);
+}
+
+void Cap_off (boolean suppress, boolean force) {
+ current_angle = servo.read();
+ if (cap_state || current_angle != cap_off_angle) {
+ Servo_angle(cap_off_angle);
+ cap_state = false;
+ } else {
+ log("Cap already off");
+ }
+ log("Cap_off()");
+ if (!suppress) {
+ Serial.println(cmd_cap_off);
+ }
+}
+
+void Cap_on (boolean suppress, boolean force) {
+ current_angle = servo.read();
+ if (!cap_state || current_angle != cap_on_angle) {
+ Servo_angle(cap_on_angle);
+ cap_state = true;
+ } else {
+ log("Cap already on");
+ }
+ log("Cap_on()");
+ if (!suppress) {
+ Serial.println(cmd_cap_on);
+ }
+}
+
+void log (String msg) {
+ if (debug_state) {
+ Serial.println(msg);
+ }
+}
diff --git a/ino/components/mcopy_projector/mcopy_projector.ino b/ino/components/mcopy_projector/mcopy_projector.ino
index 7983fde..b529650 100644
--- a/ino/components/mcopy_projector/mcopy_projector.ino
+++ b/ino/components/mcopy_projector/mcopy_projector.ino
@@ -1,13 +1,14 @@
boolean debug_state = false;
-const int proj_fwd_pin = 12;
-const int proj_bwd_pin = 11;
-const int proj_pin = 10;
+const int proj_fwd_pin = 9;
+const int proj_bwd_pin = 10;
+const int proj_micro_pin = 4;
const int proj_time = 1200;
const int proj_delay = 42;
boolean proj_dir = true;
boolean proj_running = false;
+volatile int proj_micro_raw;
const char cmd_projector = 'p';
const char cmd_proj_forward = 'g';
@@ -25,6 +26,16 @@ void setup() {
Serial.begin(57600);
Serial.flush();
Serial.setTimeout(serialDelay);
+ pins_init();
+}
+
+void pins_init () {
+ pinMode(proj_fwd_pin, OUTPUT);
+ pinMode(proj_bwd_pin, OUTPUT);
+ pinMode(proj_micro_pin, INPUT_PULLUP);
+
+ analogWrite(proj_fwd_pin, 0);
+ analogWrite(proj_bwd_pin, 0);
}
void loop() {
@@ -36,6 +47,9 @@ void loop() {
cmd(cmd_char);
cmd_char = 'z';
}
+ if (proj_running) {
+ proj_reading();
+ }
}
void cmd (char val) {
@@ -72,11 +86,11 @@ void identify () {
void proj_start () {
if (proj_dir) {
- digitalWrite(proj_fwd_pin, HIGH);
- digitalWrite(proj_bwd_pin, LOW);
+ analogWrite(proj_fwd_pin, 255);
+ analogWrite(proj_bwd_pin, 0);
} else {
- digitalWrite(proj_bwd_pin, HIGH);
- digitalWrite(proj_fwd_pin, LOW);
+ analogWrite(proj_bwd_pin, 255);
+ analogWrite(proj_fwd_pin, 0);
}
proj_running = true;
delay(500); // Let bump pass out of microswitch
@@ -95,8 +109,8 @@ void proj_reading () {
}
void proj_stop () {
- digitalWrite(proj_bwd_pin, LOW);
- digitalWrite(proj_fwd_pin, LOW);
+ analogWrite(proj_bwd_pin, 0);
+ analogWrite(proj_fwd_pin, 0);
proj_running = false;
diff --git a/ino/components/mcopy_servo_debug/mcopy_servo_debug.ino b/ino/components/mcopy_servo_debug/mcopy_servo_debug.ino
new file mode 100644
index 0000000..5ebec80
--- /dev/null
+++ b/ino/components/mcopy_servo_debug/mcopy_servo_debug.ino
@@ -0,0 +1,39 @@
+#include
+
+const int PIN_SERVO = 6;
+Servo servo;
+
+/*
+----------------------------------------------------
+Servo - Arduino
+ -
+Red - 5V
+Black - GND
+Yellow - PWM Pin (9 in this example)
+
+Using TowerPro SG-5010 - default 93
+ TowerPro MG-995 -
+as servos for development
+----------------------------------------------------
+*/
+
+void setup() {
+ Serial.begin(57600);
+ Serial.flush();
+
+ Servo_init();
+}
+
+void loop() {
+ delay(1000);
+ servo.write(153);
+ delay(1000);
+ servo.write(93);
+}
+
+void Servo_init () {
+ servo.attach(PIN_SERVO);
+ int angle = servo.read();
+ Serial.print("Default angle: ");
+ Serial.println(angle);
+}
diff --git a/ino/mcopy_arri_s_DC_firmware/mcopy_arri_s_DC_firmware.ino b/ino/mcopy_arri_s_DC_firmware/mcopy_arri_s_DC_firmware.ino
new file mode 100644
index 0000000..70bd097
--- /dev/null
+++ b/ino/mcopy_arri_s_DC_firmware/mcopy_arri_s_DC_firmware.ino
@@ -0,0 +1,141 @@
+volatile boolean DEBUG = true;
+
+class ArriSMotor {
+ public:
+ int speed = 255;
+ int average = -1;
+ boolean direction = true;
+ boolean running = false;
+ boolean primed = false;
+
+ void Begin () {
+ pinMode(pinPositive, OUTPUT);
+ pinMode(pinNegative, OUTPUT);
+ pinMode(pinMicroswitch, INPUT_PULLUP);
+ }
+
+ void Start (boolean dir) {
+ startTime = millis();
+ rotationTime = startTime;
+ direction = dir;
+ rotations = 0;
+ Run(direction, speed);
+
+ running = true;
+ primed = false;
+ };
+
+ void Run (boolean dir, int speed) {
+ if (dir) {
+ analogWrite(pinPositive, 0);
+ analogWrite(pinNegative, speed);
+ } else {
+ analogWrite(pinPositive, speed);
+ analogWrite(pinNegative, 0);
+ }
+ }
+
+ void CheckMicroswitch () {
+ int value = digitalRead(pinMicroswitch);
+ if (value == 1) {
+ if (running && !primed && millis() - rotationTime > primeTime) {
+ primed = true;
+ }
+ }
+
+ if (value == 0) {
+ if (running && primed && millis() - rotationTime > minTime) {
+ if (rotations < rotationsPer - 1) {
+ rotations++;
+ primed = false;
+ rotationTime = millis();
+ } else {
+ Stop();
+ }
+ }
+ }
+ };
+
+ private:
+ const int pinPositive = 5;
+ const int pinNegative = 6;
+ const int pinMicroswitch = 7;
+
+ const int rotationsPer = 3;
+ volatile int rotations = 0;
+
+ volatile long startTime = 0;
+ volatile long rotationTime = 0;
+ const int primeTime = 100;
+ const int minTime = 200;
+
+ void Stop () {
+ int val = 1;
+ digitalWrite(pinPositive, LOW);
+ digitalWrite(pinNegative, LOW);
+ EvaluateTiming();
+ Run(!direction, 40);
+ long c = millis();
+ while (val == 1) {
+ delay(4);
+ val = digitalRead(pinMicroswitch);
+ }
+ Serial.print("Correction: ");
+ Serial.print(millis() - c);
+ Serial.println("ms");
+ digitalWrite(pinPositive, LOW);
+ digitalWrite(pinNegative, LOW);
+ running = false;
+ primed = false;
+
+ }
+
+ void EvaluateTiming () {
+ long ms = millis() - startTime;
+
+ if (ms < 0) {
+ return;
+ }
+
+ if (average == -1) {
+ average = ms;
+ } else {
+ average = round(( ms + average ) / 2);
+ }
+
+ if (DEBUG) {
+ Serial.print("Frame: ");
+ Serial.print(ms);
+ Serial.println("ms");
+
+ Serial.print("Average: ");
+ Serial.print(average);
+ Serial.println("ms");
+ }
+ }
+};
+
+ArriSMotor motor;
+
+void setup() {
+ Serial.begin(57600);
+ motor.Begin();
+}
+
+boolean d = false;
+int count = 0;
+void loop() {
+ if (!motor.running) {
+ delay(5000);
+ motor.Start(d);
+ count++;
+ if (count > 9) {
+ d = !d;
+ count = 0;
+ }
+ }
+ motor.CheckMicroswitch();
+ if (!motor.primed) {
+ delay(1);
+ }
+}
\ No newline at end of file
diff --git a/ino/mcopy_arri_s_firmware/mcopy_arri_s_firmware.ino b/ino/mcopy_arri_s_firmware/mcopy_arri_s_firmware.ino
new file mode 100644
index 0000000..03a59eb
--- /dev/null
+++ b/ino/mcopy_arri_s_firmware/mcopy_arri_s_firmware.ino
@@ -0,0 +1,117 @@
+#include
+
+volatile boolean debug_state = true;
+volatile boolean cam_dir = true;
+volatile boolean running = true;
+
+const int stepsPerRevolution = 200;
+const int fullRotation = 3 * stepsPerRevolution;
+const int openRotationForward = 300;
+const int openRotationBackward = 300;
+
+//CAMERA COMMANDS
+const char cmd_camera = 'c';
+const char cmd_cam_forward = 'e';
+const char cmd_cam_backward = 'f';
+
+const char cmd_debug = 'd';
+const char cmd_connect = 'i';
+volatile char cmd_char = 'z';
+const char cmd_mcopy_identifier = 'm';
+const char cmd_cam_identifier = 'k';
+
+const int serialDelay = 5;
+
+Adafruit_MotorShield AFMS = Adafruit_MotorShield();
+//Set up for a 200step motor (NEMA 17)
+Adafruit_StepperMotor *stepper = AFMS.getStepper(stepsPerRevolution, 2);
+
+void setupMotor () {
+ //TWBR = ((F_CPU /400000l) - 16) / 2; // Change the i2c clock to 400KHz
+ if (!AFMS.begin()) { // default frequency 1.6KHz
+ log("Could not find Motor Shield. Check wiring.");
+ while (1);
+ }
+
+ log("Motor Shield found.");
+ stepper->setSpeed(600);
+}
+
+void setup() {
+ Serial.begin(57600);
+ setupMotor();
+}
+
+void loop() {
+ if (Serial.available()) {
+ // read the most recent byte
+ cmd_char = (char)Serial.read();
+ }
+ if (cmd_char != 'z') {
+ cmd(cmd_char);
+ cmd_char = 'z';
+ }
+}
+
+void cmd (char val) {
+ if (val == cmd_debug) {
+ debug();
+ } else if (val == cmd_connect) {
+ connect();
+ } else if (val == cmd_mcopy_identifier) {
+ identify();
+ } else if (val == cmd_cam_forward) {
+ setDir(true); //explicit
+ } else if (val == cmd_cam_backward) {
+ setDir(false);
+ } else if (val == cmd_camera) {
+ cam();
+ }
+}
+
+void debug () {
+ debug_state = true;
+ Serial.println(cmd_debug);
+ log("debugging enabled");
+}
+
+void connect () {
+ Serial.println(cmd_connect);
+ log("connect()");
+}
+
+void identify () {
+ Serial.println(cmd_cam_identifier);
+ log("identify()");
+}
+
+void setDir (boolean dir) {
+ cam_dir = dir;
+ if (cam_dir) {
+ Serial.println(cmd_cam_forward);
+ log("setDir = true");
+ } else {
+ Serial.println(cmd_cam_backward);
+ log("setDir -> false");
+ }
+}
+
+void cam () {
+ long startTime = millis();
+ if (cam_dir) {
+ stepper->step(fullRotation, FORWARD, DOUBLE);
+ Serial.println(cmd_cam_forward);
+ log("cam -> forward");
+ } else {
+ stepper->step(fullRotation, BACKWARD, DOUBLE);
+ Serial.println(cmd_cam_backward);
+ log("cam -> backward");
+ }
+ log(String(millis() - startTime));
+}
+
+void log (String msg) {
+ if (debug_state) {
+ Serial.println(msg);
+ }
+}
\ No newline at end of file
diff --git a/ino/mcopy_mono_firmware_camera_bolex_capper/mcopy_mono_firmware_camera_bolex_capper.ino b/ino/mcopy_mono_firmware_camera_bolex_capper/mcopy_mono_firmware_camera_bolex_capper.ino
new file mode 100644
index 0000000..62e83a7
--- /dev/null
+++ b/ino/mcopy_mono_firmware_camera_bolex_capper/mcopy_mono_firmware_camera_bolex_capper.ino
@@ -0,0 +1,260 @@
+/**
+ * This is a specialized version of the mcopy firmware for
+ * controlling the JK104-R/Bolex camera of the optical printer
+ * at MONO NO AWARE. This uses a Sainsmart 8 Solid State Relay
+ * board wired into the directional switches of a JK104-R/Bolex camera
+ * controller box, a secondary projector controller box and it
+ * runs on an Arduino Uno compatible board.
+ *
+ * 7/17/2022
+ *
+ * This firmware has been modified to include an optional capper element.
+ *
+ * Pins
+ * 12 - CH1 - BWD CAM 1
+ * 11 - CH2 - FWD CAM 1 (bridged to CH1)
+ * 10 - CH3 - BWD CAM 1
+ * 09 - CH4 - FWD CAM 1 (bridged to CH3)
+ * 08 - CH5 - BWD CAM 1
+ * - controls the directional relays of the Bolex Camera.
+ * 07 - CH8 - 4 pronged trigger cable
+ * - triggers the camera
+ *
+ * 06 - SIGNAL - Capper servo signal
+ * 05 - GND - Closed circuit to GND in cable to detect capper is attached.
+ */
+
+#include
+
+boolean debug_state = false;
+
+Servo servo;
+
+const int cam_bwd_pin_1 = 12;
+const int cam_fwd_pin_1 = 11;
+const int cam_bwd_pin_2 = 10;
+const int cam_fwd_pin_2 = 9;
+const int cam_bwd_pin_3 = 8;
+const int cam_pin = 7;
+const int capper_pin = 6; //servo
+const int capper_exists_pin = 5;
+
+const int cam_momentary = 60;
+const int cam_time = 600; //secondary projector speed
+const int cam_delay = 42;
+
+volatile boolean cam_dir = true;
+volatile boolean cam_running = false;
+volatile boolean capper_exists = false;
+volatile boolean capper_state = false;
+
+volatile int capper_angle = 0;
+const int capper_on_angle = 153; // tune this variable to your servo
+const int capper_off_angle = 93; // -60 degrees apart
+
+//SG-5010 speed 0.18s / 60 degree
+//
+//converted to milliseconds/angle
+const float servo_speed = 400.0 / 60.0;
+
+const char cmd_camera = 'c';
+const char cmd_cam_forward = 'e';
+const char cmd_cam_backward = 'f';
+
+const char cmd_debug = 'd';
+const char cmd_connect = 'i';
+volatile char cmd_char = 'z';
+const char cmd_mcopy_identifier = 'm';
+const char cmd_cam_identifier = 'k';
+
+const char cmd_camera_capper_identifier = '8';
+const char cmd_capper_on = 'A';
+const char cmd_capper_off = 'B';
+
+const int serialDelay = 5;
+
+void setup() {
+ Serial.begin(57600);
+ Serial.flush();
+ Serial.setTimeout(serialDelay);
+
+ pinMode(cam_fwd_pin_1, OUTPUT);
+ pinMode(cam_bwd_pin_1, OUTPUT);
+
+ pinMode(cam_fwd_pin_2, OUTPUT);
+ pinMode(cam_bwd_pin_2, OUTPUT);
+
+ pinMode(cam_bwd_pin_3, OUTPUT);
+
+ pinMode(cam_pin, OUTPUT);
+
+ pinMode(capper_exists_pin, INPUT_PULLUP);
+
+ digitalWrite(cam_pin, LOW);
+
+ digitalWrite(cam_fwd_pin_1, HIGH);
+ digitalWrite(cam_fwd_pin_2, HIGH);
+
+ digitalWrite(cam_bwd_pin_1, LOW);
+ digitalWrite(cam_bwd_pin_2, LOW);
+ digitalWrite(cam_bwd_pin_3, LOW);
+
+ capper_init();
+}
+
+void loop() {
+ if (Serial.available()) {
+ /* read the most recent byte */
+ cmd_char = (char)Serial.read();
+ }
+ if (cmd_char != 'z') {
+ cmd(cmd_char);
+ cmd_char = 'z';
+ }
+}
+
+void cmd (char val) {
+ if (val == cmd_debug) {
+ debug();
+ } else if (val == cmd_connect) {
+ connect();
+ } else if (val == cmd_mcopy_identifier) {
+ identify();
+ } else if (val == cmd_camera) {
+ camera();
+ } else if (val == cmd_cam_forward) {
+ cam_direction(true);
+ } else if (val == cmd_cam_backward) {
+ cam_direction(false);
+ } else if (capper_exists && val == cmd_capper_on) {
+ capper_on(false, false);
+ } else if (capper_exists && val == cmd_capper_off) {
+ capper_off(false, false);
+ }
+}
+
+void debug () {
+ debug_state = true;
+ Serial.println(cmd_debug);
+ log("debugging enabled");
+}
+
+void connect () {
+ Serial.println(cmd_connect);
+ log("connect()");
+}
+
+void identify () {
+ if (capper_exists) {
+ Serial.println(cmd_camera_capper_identifier);
+ } else {
+ Serial.println(cmd_cam_identifier);
+ }
+ log("identify()");
+}
+
+void camera () {
+ if (!cam_running) {
+ cam_running = true;
+ digitalWrite(cam_pin, HIGH);
+
+ delay(cam_momentary);
+ digitalWrite(cam_pin, LOW);
+
+ delay(cam_time - cam_momentary + cam_delay);
+
+ Serial.println(cmd_camera);
+ log("camera()");
+ cam_running = false;
+
+ }
+}
+
+void cam_direction (boolean state) {
+ cam_dir = state;
+ digitalWrite(cam_fwd_pin_1, LOW);
+ digitalWrite(cam_fwd_pin_2, LOW);
+
+ digitalWrite(cam_bwd_pin_1, LOW);
+ digitalWrite(cam_bwd_pin_2, LOW);
+ digitalWrite(cam_bwd_pin_3, LOW);
+
+ if (state) {
+ digitalWrite(cam_fwd_pin_1, HIGH);
+ digitalWrite(cam_fwd_pin_2, HIGH);
+
+ Serial.println(cmd_cam_forward);
+ log("cam_direction -> true");
+ } else {
+ digitalWrite(cam_bwd_pin_1, HIGH);
+ digitalWrite(cam_bwd_pin_2, HIGH);
+ digitalWrite(cam_bwd_pin_3, HIGH);
+
+ Serial.println(cmd_cam_backward);
+ log("cam_direction -> false");
+ }
+ //delay(50); //delay after direction change to account for slippage of the belt
+}
+
+boolean does_capper_exist () {
+ boolean exists = false;
+ if (digitalRead(capper_exists_pin) == 0) {
+ exists = true;
+ }
+ return exists;
+}
+
+void capper_init () {
+ capper_exists = does_capper_exist();
+ if (capper_exists) {
+ log("Capper exists");
+ servo.attach(capper_pin);
+ capper_off(true, true);
+ }
+}
+
+void set_capper_angle (int newAngle) {
+ int delay_time = get_capper_delay(newAngle, capper_angle) + 50;
+ servo.write(newAngle);
+ delay(delay_time);
+ capper_angle = newAngle;
+}
+
+int get_capper_delay (int angleA, int angleB) {
+ int range = abs(angleA - angleB);
+ return (int) ceil((float) range * servo_speed);
+}
+
+void capper_off (boolean suppress, boolean force) {
+ int current_angle = servo.read();
+ if (capper_state || current_angle != capper_off_angle) {
+ set_capper_angle(capper_off_angle);
+ capper_state = false;
+ } else {
+ log("Capper already off");
+ }
+ log("cap_off()");
+ if (!suppress) {
+ Serial.println(cmd_capper_off);
+ }
+}
+
+void capper_on (boolean suppress, boolean force) {
+ int current_angle = servo.read();
+ if (!capper_state || current_angle != capper_on_angle) {
+ set_capper_angle(capper_on_angle);
+ capper_state = true;
+ } else {
+ log("Capper already on");
+ }
+ log("capper_on()");
+ if (!suppress) {
+ Serial.println(cmd_capper_on);
+ }
+}
+
+void log (String msg) {
+ if (debug_state) {
+ Serial.println(msg);
+ }
+}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 6c8b1e5..cbe2456 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "mcopy",
- "version": "1.7.0",
+ "version": "1.7.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "mcopy",
- "version": "1.7.0",
+ "version": "1.7.1",
"license": "MIT",
"dependencies": {
"arduino": "file:app/lib/arduino",
diff --git a/package.json b/package.json
index e8bb834..778da15 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "mcopy",
- "version": "1.7.0",
+ "version": "1.7.1",
"description": "Small gauge film optical printer platform",
"main": "build.js",
"directories": {
diff --git a/processing/mcopy/cfg.json b/processing/mcopy/cfg.json
index 738a729..ce87033 100644
--- a/processing/mcopy/cfg.json
+++ b/processing/mcopy/cfg.json
@@ -1,5 +1,5 @@
{
- "version": "1.6.9",
+ "version": "1.7.1",
"ext_port": 1111,
"profiles": {
"mcopy": {
@@ -15,8 +15,8 @@
"momentary": 0
},
"black": {
- "before": 0,
- "after": 0
+ "before": 100,
+ "after": 100
},
"light": false
},
@@ -178,7 +178,13 @@
"cameras": "4",
"camera_projectors_identifier": "5",
"cameras_projector_identifier": "6",
- "cameras_projectors_identifier": "7"
+ "cameras_projectors_identifier": "7",
+ "capper_identifier": "C",
+ "camera_capper_identifier": "8",
+ "camera_capper_projector_identifier": "9",
+ "camera_capper_projectors_identifier": "0",
+ "capper_on": "A",
+ "capper_off": "B"
}
}
}
diff --git a/scad/arri_s.scad b/scad/arri_s.scad
new file mode 100644
index 0000000..deb473c
--- /dev/null
+++ b/scad/arri_s.scad
@@ -0,0 +1,488 @@
+// Arri-S Animation Motor
+
+include <./common.scad>;
+include <./takeup.scad>;
+include <./bellows.scad>;
+
+BarrelDiameter = 45;
+BarrelLength = 52;
+
+SeatDiameter = 20;
+SeatLength = 5.8;
+
+CapLength = 19;
+CapDiameter = 40;
+CapThickness = 3;
+
+CapCatchDiameter = 38;
+CapCatchLength = 2;
+CapCatchOffset = 15 + 1;
+
+CapRimDiameter = 46.5;
+CapRimThickness = 3;
+
+NotchDiameter = 2;
+NotchOffset = 3;
+
+DriveLength = 7;
+DriveDiameter1 = 11;
+DriveDiameter2 = 9;
+
+ShaftLength = 2.75;
+ShaftDiameter = 5;
+
+MicroswitchCompression = 8.7 - 6.9; //min
+
+BearingDiameter = 22.5;
+BearingInnerDiameter = 11.5;
+
+capM3OffsetZ = 11.5;
+
+PART = "none";
+
+module motorBarrel () {
+ $fn = 200;
+ cylinder(r = R(BarrelDiameter), h = BarrelLength, center = true);
+}
+
+module motorSeat () {
+ $fn = 120;
+ cylinder(r = R(SeatDiameter), h = SeatLength, center = true);
+}
+
+module motorShaft () {
+ cylinder(r = R(ShaftDiameter), h = ShaftLength, center = true);
+}
+
+module motorDrive () {
+ cylinder(r = R(DriveDiameter1), h = DriveLength, center = true);
+}
+
+module motorOriginal () {
+ motorBarrel();
+ translate([0, 0, (BarrelLength / 2) + (SeatLength / 2)]) motorSeat();
+ //notch
+ $fn = 50;
+ translate([BarrelDiameter / 2, 0, -(BarrelLength / 2) + NotchOffset]) {
+ rotate([0, 90, 0]) {
+ cylinder(r = R(NotchDiameter), h = 1, center = true);
+ translate([0, 0, NotchDiameter / 4]) sphere(r = R(NotchDiameter));
+ }
+ }
+ translate([0, 0, (BarrelLength / 2) + (SeatLength) + (ShaftLength / 2)]) motorShaft();
+ translate([0, 0, (BarrelLength / 2) + (SeatLength) + (ShaftLength) + (DriveLength / 2)]) motorDrive();
+}
+
+module bodyCap () {
+ $fn = 200;
+ difference () {
+ cylinder(r = R(CapDiameter), h = CapLength, center = true);
+ cylinder(r = R(CapDiameter - CapThickness), h = CapLength + 1, center = true);
+ //catch
+ translate([0, 0, (CapLength / 2) - CapCatchOffset]) difference () {
+ cylinder(r = R(CapDiameter + 1), h = CapCatchLength, center = true);
+ cylinder(r = R(CapCatchDiameter), h = CapCatchLength + 1, center = true);
+ }
+ }
+ translate([0, 0, (CapLength / 2) + (CapRimThickness / 2)]) {
+ difference () {
+ cylinder(r = R(CapRimDiameter), h = CapRimThickness, center = true);
+ }
+ }
+}
+
+module bodyCapBellowsAdapter () {
+ $fn = 200;
+ difference () {
+ bodyCap();
+ translate([0, 0, (CapLength / 2) + (CapRimThickness / 2)]) {
+ cube([CapDiameter - CapThickness - 16, CapDiameter - CapThickness - 16, CapRimThickness + 1], center = true);
+ }
+ }
+ translate([0, 0, 16]) {
+ difference() {
+ cylinder(r = 37.9 / 2, h = 7, center = true);
+ cylinder(r = 30 / 2, h = 7 + 1, center = true);
+ }
+ }
+}
+
+/**
+ ** Stepper Motor Design
+ **/
+
+module animationMotorBodyPositive () {
+ difference () {
+ motorBarrel();
+ //hollow out
+ translate([0, 0, 4]) cylinder(r = R(BarrelDiameter) - 5, h = BarrelLength, center = true, $fn = 200);
+ //cut
+ translate([0, 0, 40]) cube([100, 100, BarrelLength], center = true);
+ cylinder(r = R(23), h = BarrelLength + 1, center = true, $fn = 100);
+ //window
+ translate([0, (BarrelDiameter / 2) - 2, -5]) cube([8, 20, 42], center = true);
+ }
+
+ //rim
+ translate([0, 0, -(BarrelLength / 2) - (3 / 2)]) {
+ difference () {
+ cylinder(r = R(BarrelDiameter) + 2, h = 3, center = true, $fn = 200);
+ cylinder(r = R(23), h = 3 + 1, center = true, $fn = 100);
+ }
+ }
+ //motor pad
+ translate([0, 0, -(BarrelLength / 2) - (3) - (4 / 2)]) {
+ difference () {
+ union () {
+ cube([42, 42, 4], center = true);
+ cylinder(r = R(BarrelDiameter) + 2, h = 4, center = true, $fn = 200);
+ }
+ cylinder(r = R(23), h = 4 + 1, center = true, $fn = 100);
+ for (i = [0 : 3]) {
+ rotate([0, 0, (i * 90) + 45]) translate([29.7, 0, 0]) cube([5.5, 5.5, 4 + 1], center = true);
+ }
+ }
+ }
+
+ //notch
+ $fn = 50;
+ rotate([0, 0, 35]) {
+ translate([BarrelDiameter / 2, 0, -(BarrelLength / 2) + NotchOffset]) {
+ rotate([0, 90, 0]) {
+ cylinder(r = R(NotchDiameter), h = 1, center = true);
+ translate([0, 0, NotchDiameter / 4]) sphere(r = R(NotchDiameter));
+ }
+ }
+ }
+}
+
+module boltSlot () {
+ cylinder(r = R(6), h = 46.5, center = true, $fn = 40);
+ cylinder(r = R(3.25), h = 55, center = true, $fn = 40);
+}
+
+module animationMotorBody () {
+ boltZOffset = -6;
+ difference () {
+ animationMotorBodyPositive();
+ //m3 bolts (vertical)
+ translate([31/2, 31/2, boltZOffset]) boltSlot();
+ translate([31/2, -31/2, boltZOffset]) boltSlot();
+ translate([-31/2, 31/2, boltZOffset]) boltSlot();
+ translate([-31/2, -31/2, -6]) boltSlot();
+ //cap m3s
+ rotate([0, 0, -60]) translate([14.5, 0, capM3OffsetZ]) {
+ rotate([0, 90, 0]) {
+ cylinder(r = R(3.25), h = 20, center = true, $fn = 40);
+ translate([0, 0, 6.5]) cylinder(r = R(6), h = 3, center = true, $fn = 40);
+ }
+ }
+ rotate([0, 0, 120]) translate([14.5, 0, capM3OffsetZ]) {
+ rotate([0, 90, 0]) {
+ cylinder(r = R(3.25), h = 20, center = true, $fn = 40);
+ translate([0, 0, 6.5]) cylinder(r = R(6), h = 3, center = true, $fn = 40);
+ }
+ }
+ }
+}
+
+module animationMotorCapPositive () {
+ difference() {
+ cylinder(r = R(BarrelDiameter), h = 10, center = true, $fn = 200);
+ translate([0, 0, -(10 /2) + (7.5/2) - 0.1]) cylinder(r = R(BearingDiameter), h = 7.5, center = true, $fn = 80);
+ cylinder(r = R(13), h = 10 + 1, center = true, $fn = 80);
+ }
+ translate([0, 0, -(10/2)-(5/2)]) difference() {
+ cylinder(r = R(BarrelDiameter) - 5.3, h = 5, center = true, $fn = 200);
+ cylinder(r = R(BarrelDiameter) - 7.5, h = 5 + 1, center = true, $fn = 200);
+ }
+ translate([0, 0, -(10/2)-(5/2)]) difference() {
+ union() {
+ rotate([0, 0, -60]) translate([13, 0, 0]) cube([6, 8, 5], center = true);
+ rotate([0, 0, 120]) translate([13, 0, 0]) cube([6, 8, 5], center = true);
+ }
+ cylinder(r = R(BearingDiameter)+1, h = 5 + 1, center = true, $fn = 200);
+ }
+ translate([0, 0, -(10/2)-(5/2)]) intersection() {
+ cylinder(r = R(BarrelDiameter), h = 5, center = true, $fn = 200);
+ translate([0, (BarrelDiameter / 2) - 2, 0]) cube([8-0.3, 8, 30], center = true);
+ }
+
+}
+
+module animationMotorCap () {
+ difference() {
+ animationMotorCapPositive();
+ rotate([0, 0, -60]) translate([14.5, 0, -(10/2)-(5/2)]) {
+ cube([2.5, 5.7, 6], center = true);
+ rotate([0, 90, 0]) cylinder(r = R(3.25), h = 10, center = true, $fn = 40);
+ }
+ rotate([0, 0, 120]) translate([14.5, 0, -(10/2)-(5/2)]) {
+ cube([2.5, 5.7, 6], center = true);
+ rotate([0, 90, 0]) cylinder(r = R(3.25), h = 10, center = true, $fn = 40);
+ }
+ //m3 set screw
+ rotate([0, 0, 180]) translate([14.5, 0, 0]) {
+ translate([2, 0, -6]) cube([2.5, 5.7, 20], center = true);
+ rotate([0, 90, 0]) {
+ cylinder(r = R(3.25), h = 20, center = true, $fn = 40);
+ translate([0, 0, 6.5]) cylinder(r = R(6), h = 3, center = true, $fn = 40);
+ }
+ }
+ }
+}
+
+module driveCoupling () {
+ D = 15.5;
+ H = 41-3;
+ Divot = 2.75;
+ difference() {
+ union() {
+ cylinder(r = R(D), h = H, center = true, $fn = 80);
+ translate([0, 0, 2]) cylinder(r = R(BearingInnerDiameter), h = H, center = true, $fn = 80);
+ }
+ translate([0, 0, -(H/2)+6.5]) rotate([0, 0, 90]) scale([1.05, 1.05, 1]) NEMA17_motor_shaft();
+ //bottom M3
+ translate([-4.5, 0, -(H/2) + 4.9]) cube([2.5, 5.7, 12], center = true);
+ translate([-10, 0, -(H/2) + 9 - 3]) rotate([90, 0, 90]) cylinder(r = R(3.25), h = 20, center = true, $fn = 40);
+ //top M3
+ translate([-4.5, 0, (H/2)-4.9+2]) cube([2.5, 5.7, 10], center = true);
+ translate([-10, 0, (H/2)-9+5]) rotate([90, 0, 90]) cylinder(r = R(3.25), h = 20, center = true, $fn = 40);
+ translate([0, 0, (H/2)-3]) difference() {
+ cylinder(r = R(7.8), h = 10.2, center = true, $fn = 100);
+ translate([-7.8+2, 0, 0]) cube([7.8, 7.8, 10+1], center = true);
+ }
+ }
+}
+
+/**
+ ** DC Motor Design
+ **/
+
+module animationMotorDCBodyPositive () {
+ rimH = 10 + 3.5;
+ difference () {
+ motorBarrel();
+ //hollow out
+ translate([0, 0, 4]) cylinder(r = R(BarrelDiameter) - 5, h = BarrelLength, center = true, $fn = 200);
+ //cut
+ translate([0, 0, 40]) cube([100, 100, BarrelLength], center = true);
+ cylinder(r = R(23), h = BarrelLength + 1, center = true, $fn = 100);
+ //window
+ translate([0, (BarrelDiameter / 2) - 2, -10+5+30]) cube([8, 8, 40], center = true);
+ }
+
+ //rim
+ translate([0, 0, -(BarrelLength / 2) - (rimH / 2)]) {
+ difference () {
+ cylinder(r = R(BarrelDiameter) + 2, h = rimH, center = true, $fn = 200);
+ cylinder(r = R(23), h = rimH + 1, center = true, $fn = 100);
+ }
+ }
+
+ //geared motor mount
+ translate([0, 0, -34 - 4 - 3 - 3.5]) {
+ intersection () {
+ rotate([0, 0, -90]) minimal_mount();
+ union () {
+ cylinder(r = R(BarrelDiameter) + 2, h = 10, center = true, $fn = 200);
+ translate([0, -30, 0]) cube([33, 60, 10], center = true);
+ }
+ }
+ }
+
+ //notch
+ $fn = 50;
+ rotate([0, 0, 35]) {
+ translate([BarrelDiameter / 2, 0, -(BarrelLength / 2) + NotchOffset]) {
+ rotate([0, 90, 0]) {
+ cylinder(r = R(NotchDiameter), h = 1, center = true);
+ translate([0, 0, NotchDiameter / 4]) sphere(r = R(NotchDiameter));
+ }
+ }
+ }
+}
+
+module boltSlotDC () {
+ cylinder(r = R(6), h = 52, center = true, $fn = 40);
+}
+
+module animationMotorDCBody () {
+ boltZOffset = -15.01;
+ padZ = 5.4;
+ difference () {
+ union () {
+ animationMotorDCBodyPositive();
+ translate([-22, -8.75-1.25, -34 + (4/2)-.5 - 5.04-1.5]) cube([16.1+1, 28.1+1, padZ], center = true);
+ }
+ cylinder(r = R(18), h = 160, center = true, $fn = 100);
+ translate ([0, -8, 0]) {
+ translate([MOTOR_MOUNT_Y/2, MOTOR_MOUNT_X/2, boltZOffset]) boltSlotDC();
+ translate([MOTOR_MOUNT_Y/2, -MOTOR_MOUNT_X/2, boltZOffset]) boltSlotDC();
+ translate([-MOTOR_MOUNT_Y/2, MOTOR_MOUNT_X/2, boltZOffset]) boltSlotDC();
+ translate([-MOTOR_MOUNT_Y/2, -MOTOR_MOUNT_X/2, boltZOffset]) boltSlotDC();
+ }
+ //microswitch
+ translate([-22, -8.75-1.25, -34 + (4/2)-.5 - 2]) {
+ cube([16 + 1.1, 28 + 1.1, 8], center = true);
+ translate([0, 0, 30]) cube([16, 28, 60], center = true);
+ translate([6, 7, 28]) cube([26, 15, 60], center = true);
+ //microswitch lever
+ translate([10, 8-3, 2-1]) cube([16, 15+6, 8], center = true);
+ }
+ //cap m3s
+ rotate([0, 0, -60]) translate([14.5, 0, capM3OffsetZ]) {
+ rotate([0, 90, 0]) {
+ cylinder(r = R(3.25), h = 20, center = true, $fn = 40);
+ translate([0, 0, 6.5]) cylinder(r = R(6), h = 3, center = true, $fn = 40);
+ }
+ }
+ rotate([0, 0, 120]) translate([14.5, 0, capM3OffsetZ]) {
+ rotate([0, 90, 0]) {
+ cylinder(r = R(3.25), h = 20, center = true, $fn = 40);
+ translate([0, 0, 6.5]) cylinder(r = R(6), h = 3, center = true, $fn = 40);
+ }
+ }
+ //microswitch m3s
+ translate([-22, -8.75-1.25, -34 + (4/2)-.5 - 5.04-1.5]) {
+ translate([-(16 / 2) + 3, (28 / 2) - 3, 0]) {
+ cylinder(r = R(3.5), h = padZ + 1, center = true, $fn = 40);
+ translate([0, 0, -5.9]) cylinder(r = R(6), h = padZ + 1, center = true, $fn = 40);
+ }
+ translate([(16 / 2) - 3, -(28 / 2) + 3, 0]) {
+ cylinder(r = R(3.5), h = padZ + 1, center = true, $fn = 40);
+ translate([0, 0, -5.9]) cylinder(r = R(6), h = padZ + 1, center = true, $fn = 40);
+ }
+ }
+ }
+}
+
+module animationMotorDCCapPositive () {
+ difference() {
+ cylinder(r = R(BarrelDiameter), h = 10, center = true, $fn = 200);
+ translate([0, 0, -(10 /2) + (7.5/2) - 0.1]) cylinder(r = R(BearingDiameter), h = 7.5, center = true, $fn = 80);
+ cylinder(r = R(13), h = 10 + 1, center = true, $fn = 80);
+ }
+ translate([0, 0, -(10/2)-(5/2)]) difference() {
+ cylinder(r = R(BarrelDiameter) - 5.3, h = 5, center = true, $fn = 200);
+ cylinder(r = R(BarrelDiameter) - 7.5, h = 5 + 1, center = true, $fn = 200);
+ }
+ translate([0, 0, -(10/2)-(5/2)]) difference() {
+ union() {
+ rotate([0, 0, -60]) translate([13, 0, 0]) cube([6, 8, 5], center = true);
+ rotate([0, 0, 120]) translate([13, 0, 0]) cube([6, 8, 5], center = true);
+ }
+ cylinder(r = R(BearingDiameter)+1, h = 5 + 1, center = true, $fn = 200);
+ }
+ translate([0, 0, -(10/2)-(5/2)]) intersection() {
+ cylinder(r = R(BarrelDiameter), h = 5, center = true, $fn = 200);
+ translate([0, (BarrelDiameter / 2) - 2, 0]) cube([8-0.3, 8, 30], center = true);
+ }
+ translate([0, 0, -(10/2)-(5/2)]) intersection() {
+ cylinder(r = R(BarrelDiameter), h = 5, center = true, $fn = 200);
+ translate([-22, -8.75-1.25, 0]) cube([16-0.3, 28-0.3, 20], center = true);
+ }
+}
+
+module animationMotorDCCap () {
+ difference() {
+ animationMotorDCCapPositive();
+ rotate([0, 0, -60]) translate([14.5, 0, -(10/2)-(5/2)]) {
+ cube([2.5, 5.7, 6], center = true);
+ rotate([0, 90, 0]) cylinder(r = R(3.25), h = 10, center = true, $fn = 40);
+ }
+ rotate([0, 0, 120]) translate([14.5, 0, -(10/2)-(5/2)]) {
+ cube([2.5, 5.7, 6], center = true);
+ rotate([0, 90, 0]) cylinder(r = R(3.25), h = 10, center = true, $fn = 40);
+ }
+ //m3 set screw
+ rotate([0, 0, 180]) translate([14.5, 0, 0]) {
+ translate([2, 0, -6]) cube([2.5, 5.7, 20], center = true);
+ rotate([0, 90, 0]) {
+ cylinder(r = R(3.25), h = 20, center = true, $fn = 40);
+ translate([0, 0, 6.5]) cylinder(r = R(6), h = 3, center = true, $fn = 40);
+ }
+ }
+ }
+}
+
+module driveCouplingDC () {
+ D = 15.5;
+ H = 49;
+ Divot = 2.75;
+ difference() {
+ union() {
+ cylinder(r = R(D), h = H, center = true, $fn = 80);
+ translate([0, 0, 2]) cylinder(r = R(BearingInnerDiameter), h = H, center = true, $fn = 80);
+ }
+ translate([0, 0, -(H/2)+5]) rotate([0, 0, 180]) scale([1.05, 1.05, 1]) motor_shaft();
+ //bottom M3
+ translate([-4.5, 0, -(H/2) + 4.9]) cube([2.5, 5.7, 12], center = true);
+ translate([-10, 0, -(H/2) + 9 - 3]) rotate([90, 0, 90]) cylinder(r = R(3.25), h = 20, center = true, $fn = 40);
+ //top M3
+ translate([-4.5, 0, (H/2)-4.9+2]) cube([2.5, 5.7, 10], center = true);
+ translate([-10, 0, (H/2)-9+5]) rotate([90, 0, 90]) cylinder(r = R(3.25), h = 20, center = true, $fn = 40);
+ translate([0, 0, (H/2)-3]) difference() {
+ cylinder(r = R(7.8), h = 10.2, center = true, $fn = 100);
+ translate([-7.8+2, 0, 0]) cube([7.8, 7.8, 10+1], center = true);
+ }
+ //divot for switch
+ translate([0, -D + Divot, 0]) cylinder(r = R(D), h = H, center = true, $fn = 80);
+ translate([0, -D + (3 * (Divot / 4)), 0]) cube([D, D, H + 1], center = true);
+ difference () {
+ translate([0, -D + 4, 0]) cube([D, D, H], center = true);
+ translate([0, -D + 4, 0]) cube([8, D+1, H + 1], center = true);
+ translate([4.25, -(D / 2) + 4.6, 0]) cylinder(r = R(D/3), h = H + 1, center = true, $fn = 60);
+ translate([-4.25, -(D / 2) + 4.6, 0]) cylinder(r = R(D/3), h = H + 1, center = true, $fn = 60);
+ }
+ }
+
+}
+
+module driveCouplingDCConnector () {
+ H = 17;
+ H2 = 20;
+ H3 = 4;
+ D1 = 9;
+ RIDGES=5;
+ SHAFT_D = 7.8;
+ translate([0, 0, 0]) difference() {
+ cylinder(r = R(SHAFT_D), h = H, center = true, $fn = 100);
+ translate([-SHAFT_D+2, 0, 0]) cube([SHAFT_D, SHAFT_D, H+1], center = true);
+ translate([-2, 0, -5]) rotate([90, 30, 90]) m3_nut();
+ }
+ translate([0, 0, (H/2)+(H2/2)]) cylinder(r = R(D1), h = H2, center = true, $fn = 80);
+ translate([0, 0, (H/2)+(H3/2)]) cylinder(r1 = R(BearingInnerDiameter), r2 = R(D1), h = H3, center = true, $fn = 80);
+ difference() {
+ union(){
+ for (i = [0 : RIDGES-1]) {
+ rotate([0, 0, i*(360/RIDGES)]) translate([0, 0, (H/2)+H2-3]) rotate([90, 0, 0]) cylinder(r = R(DriveDiameter1), h = 1, center = true, $fn = 80);
+ }
+ }
+ translate([0, 0, (H/2)+H2+(20/2)]) cube([20, 20, 20], center = true);
+ }
+}
+
+
+
+PART2 = "bellows_camera_board_adapter";
+
+if (PART2 == "drive_coupling_DC_connector") {
+ driveCouplingDCConnector();
+} else if (PART2 == "drive_coupling_DC") {
+ driveCouplingDC();
+} else if (PART2 == "animation_motor_DC_cap") {
+ rotate([180, 0, 0]) animationMotorDCCap();
+} else if (PART2 == "animation_motor_DC") {
+ animationMotorDCBody();
+} else if (PART2 == "animation_motor") {
+ animationMotorBody();
+} else if (PART2 == "animation_motor_cap") {
+ rotate([180, 0, 0]) animationMotorCap();
+} else if (PART2 == "drive_coupling") {
+ driveCoupling();
+} else if (PART2 == "bellows_camera_board_adapter") {
+ bodyCapBellowsAdapter();
+} else if (PART2 == "bellows_camera_board") {
+ bellows_camera_board();
+}
\ No newline at end of file
diff --git a/scad/arri_s_mount.scad b/scad/arri_s_mount.scad
new file mode 100644
index 0000000..73046eb
--- /dev/null
+++ b/scad/arri_s_mount.scad
@@ -0,0 +1,86 @@
+include <./common.scad>;
+
+Z = 100 - 14.5;
+
+baseX = 134.5;
+baseY = 105.4;
+baseZ = 20;
+
+innerBaseX = 106.22;
+innerBaseY = 75.88;
+
+mountBoltsX = 71;
+mountBoltsY = 90.66;
+
+boltD = 5;
+camBoltD = 10;
+camBoltZ = 12;
+
+module base () {
+
+ difference () {
+ cube([baseX, baseY, baseZ], center =true);
+ cube([innerBaseX, innerBaseY, baseZ + 1], center =true);
+ //bolts
+ bolts(boltD, baseZ + 1);
+ }
+}
+
+module bolts (boltD = 5, boltZ = 12) {
+ $fn = 60;
+ translate([mountBoltsX/2, mountBoltsY/2, 0]) cylinder(r = R(boltD), h = boltZ, center = true);
+ translate([-mountBoltsX/2, mountBoltsY/2, 0]) cylinder(r = R(boltD), h = boltZ, center = true);
+ translate([mountBoltsX/2, -mountBoltsY/2, 0]) cylinder(r = R(boltD), h = boltZ, center = true);
+ translate([-mountBoltsX/2, -mountBoltsY/2, 0]) cylinder(r = R(boltD), h = boltZ, center = true);
+}
+
+module camera_bolt (width = 20) {
+ $fn = 60;
+ translate([width/2, 0, 0]) cylinder(r = R(camBoltD), h = Z + 1);
+ translate([-width/2, 0, 0]) cylinder(r = R(camBoltD), h = Z + 1);
+ cube([width, camBoltD, Z + 1], center = true);
+}
+
+module wing_nuts (nutZ = 0) {
+ translate([mountBoltsX/2, mountBoltsY/2, nutZ]) rotate([0, 0, 5]) cube([3.5, 22, 11], center = true);
+ translate([-mountBoltsX/2, mountBoltsY/2, nutZ]) rotate([0, 0, 5]) cube([3.5, 22, 11], center = true);
+ translate([mountBoltsX/2, -mountBoltsY/2, nutZ]) rotate([0, 0, 5]) cube([3.5, 22, 11], center = true);
+ translate([-mountBoltsX/2, -mountBoltsY/2, nutZ]) rotate([0, 0, 5]) cube([3.5, 22, 11], center = true);
+}
+
+module mount () {
+ difference () {
+ rounded_cube([mountBoltsX + 20, baseY, Z], d = 20, center =true, $fn = 60);
+ //center void
+ translate([0, 0, -camBoltZ]) cube([mountBoltsX - 20, innerBaseY, Z], center =true);
+ //side void
+ translate([0, 0, -camBoltZ]) cube([baseX + 1, innerBaseY - 40, Z], center =true);
+ bolts(boltD + .4, Z + 1);
+ //inset
+ translate([0, 0, (Z / 2) - (Z / 2) + 15]) bolts(20, Z);
+ camera_bolt(35);
+ wing_nuts(-(Z / 2) + 20.5);
+ }
+}
+
+module center_fitting () {
+ SMALL_D = 4.5;
+ SMALL_Z = 9;
+ LARGE_D = 9.4;
+ translate([10.7, 0, 0]) cylinder(r = R(SMALL_D), h = SMALL_Z, center = true, $fn = 40);
+ difference () {
+ //cube
+ translate([(SMALL_D/2) + (LARGE_D / 2), 0, -(SMALL_Z/2)-(camBoltZ/2)]) cube([camBoltD + SMALL_D, camBoltD - 0.3, camBoltZ], center = true);
+ cylinder(r = R(LARGE_D), h = 60, center = true, $fn = 60);
+ translate([10.7 - 1, 0, 0]) difference () {
+ translate([(camBoltD + 1) / 2, 0, 0]) cube([camBoltD + 1, camBoltD + 1, 60], center = true);
+ cylinder(r = R(camBoltD), h = 60, center = true, $fn = 60);
+ }
+ }
+}
+
+//base();
+//translate([0, 0, (baseZ/2) + (Z/2) + 5]) mount();
+//translate([0, 0, (baseZ/2) + Z + 9])
+//center_fitting();
+mount();
\ No newline at end of file
diff --git a/scad/bellows.scad b/scad/bellows.scad
index c3b5d45..d762885 100644
--- a/scad/bellows.scad
+++ b/scad/bellows.scad
@@ -20,19 +20,20 @@ module cmount_male(len = 4) {
module bellows_camera_board () {
H = 6;
+ INNER_D = 39;
difference () {
cube([60, 60, H], center = true);
//center
- cylinder(r = 38 / 2, h = H + 1, center = true, $fn = 360);
+ cylinder(r = INNER_D / 2, h = H + 1, center = true, $fn = 360);
//center bevels
- translate([0, 0, 2.25]) cylinder(r1 = 36 / 2, r2 = 40 / 2, h = 1.5, center = true, $fn = 360);
- translate([0, 0, -2.25]) cylinder(r1 = 40 / 2, r2 = 36 / 2, h = 1.5, center = true, $fn = 360);
+ translate([0, 0, 2.25]) cylinder(r1 = (INNER_D - 2) / 2, r2 = (INNER_D + 2) / 2, h = 1.5, center = true, $fn = 360);
+ translate([0, 0, -2.25]) cylinder(r1 = (INNER_D + 2) / 2, r2 = (INNER_D - 2) / 2, h = 1.5, center = true, $fn = 360);
//corners
for (i = [0 : 3]) {
rotate([0, 0, i * (360 / 4) + 45 ]) translate([43.5, 0, 0]) cube([11, 11, H + 1], center = true);
}
//bolt
- translate([0, 30, 0]) rotate([90, 0, 0]) cylinder(r = 1.6, h = 30, center = true, $fn = 30);
+ translate([0, 30, 0]) rotate([90, 0, 0]) cylinder(r = (4 / 2), h = 30, center = true, $fn = 30);
}
}
@@ -53,5 +54,10 @@ module camera_mount () {
}
}
-bellows_camera_board();
-//translate([0, 0, 9]) color("red") camera_mount();
\ No newline at end of file
+PART = "bellows_camera_board";
+
+if (PART == "bellows_camera_board") {
+ bellows_camera_board();
+} else if (PART == "camera_mount") {
+ camera_mount();
+}
\ No newline at end of file
diff --git a/scad/capper.scad b/scad/capper.scad
new file mode 100644
index 0000000..0c724f2
--- /dev/null
+++ b/scad/capper.scad
@@ -0,0 +1,262 @@
+include ;
+
+// Using a Tower Pro SG-5010 servo
+
+// https://www.thingiverse.com/thing:83806 - Lego mount (has dimensions of servo body)
+// https://www.thingiverse.com/thing:5241574 - Robot arm (just cool)
+
+currentAngle=0;
+
+LensVoidDiameter = 40; //mm
+LensZ = 80;
+LensY = 30;
+
+CapOffsetX = -50;
+CapOffsetY = -11;
+CapLengthX = 50;
+CapWidthZ = 4;
+
+BoltSpacingX = 10;
+BoltSpacingY = 49;
+BoltD = 3.5;
+
+RailSlotsX = 20;
+RailSlotsD = 6;
+
+MountBoltSpacingY=40;
+
+OptoEndstopAdjustZ=2-9;
+
+module OptoEndstop () {
+ $fn=30;
+ Y=5;
+ Z2=3.64-1.75;
+ difference () {
+ union() {
+ cube([11.15, 28.25, 1.75], center=true);
+ translate([0,14,0]) cylinder(r=R(6), h=1.75, center=true);
+ translate([0,-14,0]) cylinder(r=R(6), h=1.75, center=true);
+ }
+ translate([0,14,0]) cylinder(r=R(2.85), h=1.75+1, center=true);
+ translate([0,-14,0]) cylinder(r=R(2.85), h=1.75+1, center=true);
+ }
+ translate([-R(6.1)+1.2, R(28.25)-R(Y+4.15+4.15)-3.65, 0]) {
+ translate([0,R(Y)+R(4.15),-R(1.75)-R(10.15)]) cube([6.1, 4.15, 10.15], center=true);
+ translate([0,-R(Y)-R(4.15),-R(1.75)-R(10.15)]) cube([6.1, 4.15, 10.15], center=true);
+ }
+ translate([3,4, -R(1.75)-R(.75)]) cube([3.6, 15.7, .75], center=true);
+}
+
+module BoltVoid () {
+ cylinder(r=R(BoltD), h=20, center=true);
+ translate([0, 0, 4]) m3_nut(5);
+}
+
+module Mount () {
+ $fn = 200;
+ difference(){
+ union(){
+ //outer cylinder
+ translate([0, 0, 5]) difference(){
+ cylinder(r=R(LensVoidDiameter)+15, h=LensY, center=true);
+ cylinder(r=R(LensVoidDiameter)+5, h=LensY+1, center=true);
+ translate([0, 0, 10.01]) cylinder(r1=R(LensVoidDiameter), r2=R(LensVoidDiameter)+10, h=10, center=true);
+ }
+
+ translate([0,0,-(LensY/4)-(5/4)]) difference(){
+ cylinder(r=R(LensVoidDiameter)+5, h=R(LensY)-R(5)-10, center=true);
+ cylinder(r=R(LensVoidDiameter), h=LensY+1, center=true);
+ }
+
+ difference () {
+ union() {
+ translate([50, 0, -6]) cube([100, LensVoidDiameter + 30, 8], center=true);
+ translate([0, 0, -6]) cylinder(r=R(LensVoidDiameter)+12, h=8, center=true);
+ }
+ cylinder(r=R(LensVoidDiameter), h=LensY+1, center=true);
+ //servo
+ translate([50, 0, -6]) {
+ cube([20, 40.25, 10], center = true);
+ translate([BoltSpacingX/2, BoltSpacingY/2, 0]) BoltVoid();
+ translate([-BoltSpacingX/2, BoltSpacingY/2, 0]) BoltVoid();
+ translate([BoltSpacingX/2, -BoltSpacingY/2, 0]) BoltVoid();
+ translate([-BoltSpacingX/2, -BoltSpacingY/2, 0]) BoltVoid();
+ }
+ translate([50, 0, -6-3.01]) cube([2, 56, 2], center=true);
+ }
+ }
+ translate([0,R(LensVoidDiameter),1+4.5]) cube([LensVoidDiameter*2, LensVoidDiameter, 7], center=true);
+ //
+ translate([80, R(MountBoltSpacingY), 0]) RailSlots();
+ translate([80, -R(MountBoltSpacingY), 0]) RailSlots();
+
+ translate([0, 0, -4]) cylinder(r2=R(LensVoidDiameter)-5, r1=R(LensVoidDiameter)+5, h=LensY/2, center=true);
+ //endstop
+ /*translate([0, -34, 25-2-2-10]) {
+ difference () {
+ cube([14, 20, 50], center=true);
+ translate([0, R(LensVoidDiameter)+10+4.01, 0]) cylinder(r=R(LensVoidDiameter)+5, h=LensY + 29, center=true, $fn=200);
+ }
+ translate([0, 11, -14+9]) cylinder(r=R(22), h=4, center=true);
+ }*/
+ }
+}
+
+module Cap () {
+ $fn = 200;
+ difference(){
+ union(){
+ translate([CapOffsetX,CapOffsetY,0]){
+ cylinder(r=R(LensVoidDiameter) + 4, h=4, center = true);
+ translate([35,(LensVoidDiameter/4)+1,0]) {
+ difference () {
+ cube([CapLengthX,R(LensVoidDiameter),CapWidthZ], center=true);
+ translate([R(CapLengthX)-(R(LensVoidDiameter)/2), 0, 0]) difference() {
+ cube([R(LensVoidDiameter),R(LensVoidDiameter), CapWidthZ+1], center=true);
+ cylinder(r=R(LensVoidDiameter)/2, h=CapWidthZ+1+1, center=true);
+ translate([-R(LensVoidDiameter)/2, 0, 0]) cube([R(LensVoidDiameter),R(LensVoidDiameter), CapWidthZ+1], center=true);
+ }
+ }
+ }
+ }
+ translate([0, 0, -4]) cylinder(r=5,h=4,center=true);
+ }
+ translate([0, 0, -4]) cylinder(r1=R(5.85), r2=R(5.5), h=4.01,center=true, $fn=20);
+ cylinder(r=R(2.5), h=10,center=true);
+ translate([0, 0, 2.5]) cylinder(r=R(6.5), h=5,center=true);
+ }
+
+ //removed, unneeded
+ //translate([CapOffsetX,CapOffsetY - R(LensVoidDiameter) - 4, 1.25]) cylinder(r=R(15), h=1.5, center=true);
+}
+
+module MountFront () {
+ $fn=60;
+ difference () {
+ Mount();
+ translate([0, -50, 50-2]) cube([100, 100, 100], center=true);
+ translate([0, 0, 50-2+7]) cube([100, 100, 100], center=true);
+ translate([0,-30,-2]) cylinder(r=R(4), h=3, center=true);
+ rotate([0,0,40]) translate([0,-30,-2]) cylinder(r=R(4), h=3, center=true);
+ rotate([0,0,-40])translate([0,-30,-2]) cylinder(r=R(4), h=3, center=true);
+ rotate([0,0,80]) translate([0,-30,-2]) cylinder(r=R(4), h=3, center=true);
+ rotate([0,0,-80])translate([0,-30,-2]) cylinder(r=R(4), h=3, center=true);
+ translate([90, 0, -11]) rotate([45,0,0]) cube([70, 4.3, 4.3], center=true);
+ }
+}
+
+module MountBack () {
+ $fn=60;
+ difference () {
+ Mount();
+ translate([0, 0, -50-1.999]) cube([400, 100, 100], center=true);
+ translate([0, 50, -50+2+7]) cube([100, 100, 100], center=true);
+ }
+ //translate([0,-30,-2]) cylinder(r=R(3.9), h=3, center=true);
+ rotate([0,0,40]) translate([0,-30,-2]) cylinder(r=R(3.9), h=3, center=true);
+ rotate([0,0,-40])translate([0,-30,-2]) cylinder(r=R(3.9), h=3, center=true);
+ rotate([0,0,80]) translate([0,-30,-2]) cylinder(r=R(3.9), h=3, center=true);
+ rotate([0,0,-80])translate([0,-30,-2]) cylinder(r=R(3.9), h=3, center=true);
+}
+
+module RailSlots () {
+ translate([R(RailSlotsX), 0, 0]) cylinder(r=R(RailSlotsD), h=40, center=true);
+ translate([-R(RailSlotsX), 0, 0]) cylinder(r=R(RailSlotsD), h=40, center=true);
+ cube([RailSlotsX, RailSlotsD, 40], center=true);
+}
+
+module RailMount () {
+ //
+ X=110;
+ RailD=15;
+ RailSpacingY=80;
+ $fn=60;
+ difference () {
+ translate([X, 0, -14]) difference () {
+ cube([100, LensVoidDiameter + 30.6, 8], center=true);
+ //
+ translate([-40, R(MountBoltSpacingY), 0]) cylinder(r=R(6),h=40,center=true);
+ translate([-40, -R(MountBoltSpacingY), 0]) cylinder(r=R(6),h=40,center=true);
+ }
+
+ }
+ translate([X, 0, -11]) rotate([45,0,0]) cube([100, 4, 4], center=true);
+ translate([X + R(100), 0, -14]) cube([8, LensVoidDiameter + 30.6, 28], center=true);
+ translate([X + R(100) + 5 ,R(RailSpacingY),-14]) difference() {
+ translate([-2.5, -2.5, 0]) cylinder(r=R(RailD + 5), h=28, center=true);
+ cylinder(r=R(RailD), h=28+1, center=true);
+ }
+}
+
+module OptoEndstopMount () {
+
+ translate([-5,9.5,20]) {
+ difference() {
+ translate([0, 0, 1-7.25]) cube([14-0.3-0.3, 14, 32+4], center=true);
+ //lens void
+ translate([0, R(LensVoidDiameter)+5+4, 0]) cylinder(r=R(LensVoidDiameter)+5, h=LensY + 29, center=true, $fn=200);
+ //connector void
+ translate([0,-8.3, -14.5]) cube([9, 8, 5], center=true);
+ //bolts
+ translate([2,-5,-13.25+OptoEndstopAdjustZ]) rotate([90, 0, 0]) cylinder(r=R(2.9),h=20,center=true, $fn=40);
+ translate([2,-5,15+OptoEndstopAdjustZ]) rotate([90, 0, 0]) cylinder(r=R(2.9),h=20,center=true, $fn=40);
+ //main void
+ translate([-0.5,1,-3]) cube([8,20,15],center=true);
+ //pathway void
+ translate([0,6,-2]) cylinder(r=R(22), h=6, center=true);
+ //smd voids
+ translate([5, -6.5, -3]) cube([3.6, 1, 18], center=true);
+ }
+ }
+}
+
+module Debug () {
+ Mount();
+ translate([-CapOffsetX,-CapOffsetY,5.71]) rotate([0,0,currentAngle]) Cap();
+ //color("green") RailMount();
+ //translate([5, -38, -11.8+OptoEndstopAdjustZ]) rotate([0, -90, 0]) opto_endstop();
+ //color("green") translate([5, -38, -11.8]) OptoEndstopMount();
+ //translate([1.5, -38 + 2 -10, -11.8 + 11 + 2 +.75]) rotate([90, 0, 0])OptoEndstop();
+ translate([130, 0, 0]) Base();
+ translate([80, 0, 30]) cube([110 + 50, 10, 10], center = true);
+}
+
+module Base () {
+ $fn = 60;
+ difference () {
+ cube([110, LensVoidDiameter + 30, 8], center=true);
+ translate([-45, R(MountBoltSpacingY), 0]) cylinder(r=R(RailSlotsD) + .25, h=40, center=true);
+ translate([-45, -R(MountBoltSpacingY), 0]) cylinder(r=R(RailSlotsD) + .25, h=40, center=true);
+ }
+ translate([15, 0, -R(50)]) cube([10, LensVoidDiameter + 30, 50], center=true);
+ difference () {
+ translate([50, 0, -R(50)]) cube([10, LensVoidDiameter + 30, 50], center=true);
+ translate([50, 20, -40]) rotate([0, 90, 0]) {
+ cylinder(r=R(RailSlotsD) + .25, h=40, center=true);
+ translate([0, 0, -11]) rotate([0, 0, 30]) hex(13.5, 22);
+ }
+ translate([50, -20, -40]) rotate([0, 90, 0]) {
+ cylinder(r=R(RailSlotsD) + .25, h=40, center=true);
+ translate([0, 0, -11]) rotate([0, 0, 30]) hex(13.5, 22);
+ }
+ }
+}
+
+Render="Base";
+
+if (Render=="Debug") {
+ Debug();
+} else if (Render=="Cap") {
+ Cap();
+} else if (Render=="MountFront") {
+ MountFront();
+} else if (Render=="MountBack") {
+ rotate([180, 0, 0]) MountBack();
+} else if (Render=="RailMount") {
+ RailMount();
+} else if (Render=="OptoEndstopMount") {
+ echo("Deprecated");
+ //rotate([-90,0,0]) OptoEndstopMount();
+} else if (Render=="Base") {
+ Base();
+}
\ No newline at end of file
diff --git a/scad/common.scad b/scad/common.scad
index f0f53a3..02f1ece 100644
--- a/scad/common.scad
+++ b/scad/common.scad
@@ -29,4 +29,110 @@ module trap_cube(height = 19, top_x = 30, top_y = 34, bottom_x = 45, bottom_y =
cube([bottom_x - wall_thickness, bottom_y - wall_thickness, 0.1], center=true);
}
}
+}
+
+echo("common.scad - R()");
+function R (diameter) = diameter / 2.0;
+
+module hex (diag = 10, h = 1) {
+ cylinder(r = diag / 2, h = h, center = true, $fn = 6);
+}
+
+echo("common.scad - m3_nut");
+module m3_nut (H = 5) {
+ cylinder(r=R(6.6), h=H, center=true, $fn=6);
+}
+
+echo("common.scad - m4_nut");
+module m4_nut (H = 5, DIAG = 8.1) {
+ //tolerance
+ hex(diag = DIAG, h = H);
+}
+
+echo("common.scad - m5_nut");
+module m5_nut (H = 5, DIAG = 9.1) {
+ hex(diag = DIAG, h = H);
+}
+
+module opto_endstop(){
+ difference(){
+ union(){
+ // base PCB
+ color("green") cube([33.0,1.6,10.5]);
+ // add the switch module
+ translate([8.4,1.6,10.5/2-6.4/2]) optoswitch();
+ // connector
+ translate([0.2,-7,0]) color("white") cube([5.8,7,10.5]);
+ // led
+ translate([3.5,1.6,10.5/2-1.5/2]) color("red") cube([2,0.7,1.5]);
+ }
+ translate([8.4,0,10.5/2-6.4/2]) {
+ for ( hole = [2.75,24.5-2.75] ){
+ rotate([90,0,0]) translate([hole,6.4/2,-4]) cylinder(r=1.5, h=4.5,$fn=40);
+ }
+ }
+ }
+}
+
+// switch module
+module optoswitch() {
+ difference(){
+ union (){
+ color("gray") cube([24.5,3.5,6.4]);
+ color("gray")translate([6.63,0,0]) cube([4.45,11.3,6.3]);
+ color("gray")translate([13.63,0,0]) cube([4.45,11.3,6.3]);
+ }
+ for ( hole = [2.75,24.5-2.75] ){
+ rotate([90,0,0]) translate([hole,6.4/2,-4]) cylinder(r=1.5, h=4.5,$fn=40);
+ }
+ }
+}
+
+module NEMA17_motor_shaft (L = 22.75) {
+ //shaft
+ difference () {
+ cylinder(r = R(5), h = L, center = true, $fn = 30);
+ translate([0, 4.5, 4.7]) cube([5, 5, L+1], center = true);
+ }
+}
+
+//NEMA17 Stepper
+module NEMA17 ( H = 33 ) { //alt = 47.5
+ difference () {
+ cube([42, 42, H], center = true);
+ for (i = [0 : 3]) {
+ rotate([0, 0, (i * 90) + 45]) translate([29.7, 0, 0]) cube([5.5, 5.5, H + 1], center = true);
+ }
+ translate([31/2, 31/2, (H/2)-1.9]) cylinder(r = R(3), h = 4, center = true, $fn=30);
+ translate([-31/2, 31/2, (H/2)-1.9]) cylinder(r = R(3), h = 4, center = true, $fn=30);
+ translate([31/2, -31/2, (H/2)-1.9]) cylinder(r = R(3), h = 4, center = true, $fn=30);
+ translate([-31/2, -31/2, (H/2)-1.9]) cylinder(r = R(3), h = 4, center = true, $fn=30);
+ }
+ //pad
+ translate([0, 0, (H/2) + (1.9/2)]) {
+ cylinder(r = R(22), h = 1.9, center = true, $fn = 100);
+ }
+ translate([0, 0, (H/2) + (L/2)]) NEMA17_motor_shaft();
+}
+
+//Geartisan Worm Gear Motor - JSX40-370
+module geared_motor () {
+ cube([46, 32, 21], center = true);
+ translate([(46 / 2) + (30 / 2), 0, 1.5]) rotate([0, 90, 0]) cylinder(r = 24 / 2, h = 30, center = true, $fn = 80);
+ translate([-(46 / 2) + 14.5, 0, -18.5]) rotate([0, 0, 90]) motor_shaft();
+ //pad
+ translate([-(46 / 2) + 14.5, 0, -(1 / 2) - 10.5]) cylinder(r = 13 / 2, h = 1, center = true, $fn = 60);
+ //mount pads
+ translate([-0.5, 0, -(1.5 / 2) - 10.5]) motor_mounts();
+}
+
+module microswitch (position = [0, 0, 0], rotation = [0, 0, 0]) {
+ translate(position) {
+ rotate(rotation) {
+ cube([16, 28, 9.5], center = true);
+ translate([10, 8, 0]) rotate([0, 0, -7]) cube([1, 28, 4], center = true);
+ translate([8 + 7, 14 + 8, 0]) cylinder(r = 2.5, h = 4, center = true);
+ translate([0, -19, 0]) cube([6, 11, 9.5], center = true);
+ }
+ }
}
\ No newline at end of file
diff --git a/scad/daylight_spool_mount.scad b/scad/daylight_spool_mount.scad
new file mode 100644
index 0000000..db10c98
--- /dev/null
+++ b/scad/daylight_spool_mount.scad
@@ -0,0 +1,33 @@
+SQUARE_INNER = 7.8;
+time = 0;
+
+module reel_holder (top = true, base = true) {
+ $fn = 60;
+ difference(){
+ translate([0, 0, -1.5]) cube([SQUARE_INNER, SQUARE_INNER, 21.5], center= true);
+ for (i = [0:4]) {
+ rotate([0, 0, (i * 90)]){
+ translate([(SQUARE_INNER / 2) + .4, (SQUARE_INNER / 2) + .4, 18.5 / 2]) rotate([0, -15, 45]) cube([2.5, SQUARE_INNER, SQUARE_INNER], center = true);
+ }
+ }
+ }
+ difference () {
+ union() {
+ translate([0, 0, (18.5 / 2) + (3.5 / 2)]) cylinder(r = SQUARE_INNER / 2, h = 3.5, center = true);
+ translate([0, 0, (18.5 / 2) + (7.5 / 2)]) sphere(SQUARE_INNER / 2);
+ }
+ translate ([0, 0, (18.5 / 2) + 7.5]) cube([10, 10, 2], center = true);
+ }
+ if (base) {
+ difference () {
+ translate([0, 0, -(18.5/ 2) - (3 / 2) - 3]) cylinder(r = 16 /2, h = 3, center = true);
+ //translate([0, 0, -14.3]) cube([4, 4, 2], center = true); //notch
+ difference() {
+ translate([0, 0, -14.3]) cylinder(r = 8 / 2, h = 2, center = true);
+ translate([0, 6, -14.3]) cube([8, 8, 2], center = true);
+ }
+ }
+ }
+}
+
+//rotate([0, 0, time]) reel_holder();
\ No newline at end of file
diff --git a/scad/jk_lens_assembly.scad b/scad/jk_lens_assembly.scad
new file mode 100644
index 0000000..bad1c83
--- /dev/null
+++ b/scad/jk_lens_assembly.scad
@@ -0,0 +1,385 @@
+//
+// JK lens assembly
+//
+include <./common.scad>;
+include <./bellows.scad>;
+include <./knurledFinishLib_v2.scad>;
+
+PART = "";
+
+LinearBearingOuterDiameter = 15;
+LinearBearingHeight = 24;
+LinearBearingBoreDiameter = 8;
+
+ThreadDiameter = 8;
+LinearMotionDiameter = 8;
+
+TNutDiameter1 = 22;
+TNutDiameter2 = 10.2;
+TNutInnerDiameter = 8;
+TNutHeight1 = 3.5;
+TNutHeight2 = 15;
+TNutOffset = 1.5;
+
+RodLength = 150;
+
+ZOffset = 120;
+XOffset = 38;
+XWidth = 50;
+FrontOffset = 0;
+BackOffset = 15;
+
+LinearMotionX = 22;
+LinearMotionY = 20;
+LinearMotionZ = 14;
+
+XPosition = 0;
+ZPosition = 0;
+
+module linearBearing (padD = 0, padH = 0) {
+ difference () {
+ cylinder(r = R(LinearBearingOuterDiameter + padD), h = LinearBearingHeight + padH, center = true, $fn = 100);
+ cylinder(r = R(LinearBearingBoreDiameter), h = LinearBearingHeight + padH + 1, center = true, $fn = 60);
+ }
+}
+
+module threadedRod (H = 40, pad = 0) {
+ color("green") cylinder(r = R(ThreadDiameter + pad), h = H, center = true, $fn = 60);
+}
+
+module linearMotionRod (H = 40, pad = 0) {
+ color("blue") cylinder(r = R(LinearMotionDiameter + pad), h = H, center = true, $fn = 60);
+}
+
+module TNut (padD = 0, padH = 0) {
+ color("red") difference () {
+ union () {
+ translate([0, 0, -(TNutHeight2 / 2) + (TNutHeight1 / 2) + TNutOffset]) cylinder(r = R(TNutDiameter1 + padD), h = TNutHeight1, center = true, $fn = 100);
+ cylinder(r = R(TNutDiameter2), h = TNutHeight2 + padH, center = true, $fn = 80);
+ }
+ cylinder(r = R(TNutInnerDiameter), h = TNutHeight2 + 1, center = true, $fn = 60);
+ }
+}
+
+module m3Bolt (bolt = 20) {
+ cylinder(r = 3.1 / 2, h = bolt, center = true, $fn = 40);
+}
+
+module m4Bolt (bolt = 10) {
+ cylinder(r = R(4.25), h = bolt, center = true, $fn = 40);
+}
+
+module m3BoltNut (bolt = 20, nut = 3.5) {
+ m3Bolt(bolt);
+
+ translate([0, 0, nut]) color("red") {
+ cylinder(r = 8 / 2, h = 2.5, center = true, $fn = 6);
+ translate([-4, 0, 0]) cube([8, 6.9, 2.5], center = true);
+ }
+}
+
+module m4BoltNut (bolt = 10, nut = 3.5) {
+ m4Bolt(bolt);
+
+ translate([0, 0, nut]) color("red") {
+ m4_nut();
+ translate([-10, 0, 0]) cube([20, 6.9, 3.5], center = true);
+ }
+}
+
+module lensAssemblyBellowsBoard () {
+ //bottom
+ difference () {
+ union () {
+ rotate([0, 0, 90]) bellows_camera_board();
+ translate([0, -XOffset, FrontOffset]) rotate([0, 90, 0]) cylinder(r = R(22), h = XWidth, center = true, $fn = 80);
+ }
+ rotate([-90, 0, 0]) {
+ translate([-(XWidth/2) + 2.5, -FrontOffset, -XOffset]) rotate([0, 90, 0]) TNut(0.3, 0.3);
+ //m3s
+ // -centered
+ translate([-(XWidth/2) + 2.5 + 5, -FrontOffset - 8, -XOffset]) rotate([0, -90, 0]) rotate([0, 0, 90]) m3BoltNut();
+ // -top no nut
+ translate([-(XWidth/2) + 2.5 + 5, -FrontOffset, -XOffset + 8]) rotate([0, -90, 0]) m3Bolt();
+ // -bottom no nut
+ translate([-(XWidth/2) + 2.5 + 5, -FrontOffset, -XOffset - 8]) rotate([0, -90, 0]) m3Bolt();
+ translate([(XWidth/2) - 2.5, -FrontOffset, -XOffset]) rotate([0, -90, 0]) TNut(0.3, 0.3);
+ //m3s
+ // -center
+ translate([(XWidth/2) - 2.5 - 5, -FrontOffset - 8, -XOffset]) rotate([0, 90, 0]) rotate([0, 0, 90]) m3BoltNut();
+ // -top no nut
+ translate([(XWidth/2) - 2.5 - 5, -FrontOffset, -XOffset + 8]) rotate([0, 90, 0]) m3Bolt();
+ // -bottom no nut
+ translate([(XWidth/2) - 2.5 - 5, -FrontOffset, -XOffset - 8]) rotate([0, 90, 0]) m3Bolt();
+ }
+ rotate([-90, 0, 0]) translate([0, -FrontOffset, -XOffset]) rotate([0, 90, 0]) threadedRod(RodLength, 0.5);
+ translate([0, -XOffset, -10.5]) cube([100,30, 15], center = true);
+ }
+
+ //top
+ difference () {
+ translate([0, XOffset, FrontOffset]) rotate([0, 90, 0]) cylinder(r = R(25), h = 24, center = true, $fn = 80);
+ rotate([-90, 0, 0]) {
+ translate([0, -FrontOffset, XOffset]) rotate([0, 90, 0]) linearBearing(0.25);
+ }
+ translate([0, XOffset, -10.5]) cube([24 + 1,30, 15], center = true);
+ rotate([-90, 0, 0]) translate([0, -FrontOffset, XOffset]) rotate([0, 90, 0]) linearMotionRod(RodLength);
+ }
+}
+
+module topLinearAttachmentBlock () {
+ cube([LinearMotionX, LinearMotionY + 2, LinearMotionZ], center = true);
+}
+
+module lensAssemblyThreadedZ () {
+ Z = 90;
+ difference () {
+ union () {
+ //main cylinder
+ rounded_cube([22, 22, Z], d = 8, $fn = 30, center = true);
+ //top linear motion rod attachment block
+ translate([0, -BackOffset, (Z/2) - (LinearMotionZ/2)]) topLinearAttachmentBlock();
+ //bottom threaded rod block
+ translate([0, -BackOffset, -XOffset]) rotate([0, 90, 0]) cylinder(r = R(22), h = 22, center = true, $fn = 80);
+ }
+ //------
+ //threaded rod void
+ threadedRod(Z + 20, 0.5);
+ //board nut void
+ translate([0, -10, 0]) rotate([0, 90, 0]) cylinder(r = R(12), h = 30, center = true, $fn = 40);
+ //T nuts
+ //top
+ translate([0, 0, (Z / 2) - 4]) rotate([180, 0, 0]) TNut(0.3, 0.3);
+ //bottom
+ translate([0, 0, -(Z / 2) + 4]) TNut(0.3, 0.3);
+
+ //----
+ //T nut M3 bolts
+ //top
+ translate([0, 0, (Z / 2) - 4]) {
+ translate([-8, 0, 0]) rotate([180, 0, 0]) m3BoltNut();
+ translate([8, 0, 0]) rotate([0, 0, 180]) rotate([180, 0, 0]) m3BoltNut();
+ translate([0, 8, 0]) rotate([0, 0, -90]) rotate([180, 0, 0]) m3BoltNut();
+ }
+ //bottom
+ translate([0, 0, -(Z / 2) + 4]) {
+ translate([-8, 0, 0]) m3BoltNut();
+ translate([8, 0, 0]) rotate([0, 0, 180]) m3BoltNut();
+ translate([0, 8, 0]) rotate([0, 0, -90]) m3BoltNut();
+ }
+
+ //------
+ //top linear motion rod voids
+ //top gap to close
+ translate([0, -(LinearMotionY/2) - 9, (Z/2) - (LinearMotionZ/2)]) cube([LinearMotionX + 1, LinearMotionY, 2], center = true);
+ //rod
+ translate([0, -BackOffset, (Z/2) - (LinearMotionZ/2)]) rotate([0, 90, 0]) cylinder(r = R(LinearMotionDiameter)+.2, h = LinearMotionX + 1, center = true, $fn = 60);
+ //m4 bolt top
+ translate([0, -BackOffset - 8 + 2, (Z/2) - (LinearMotionZ/2)]) m4Bolt(LinearMotionZ + 1);
+ //m4 nut top
+ translate([0, -BackOffset - 8 + 2, (Z/2) - (LinearMotionZ/2) - 6]) m4_nut();
+ //------
+ //bottom threaded rod void
+ translate([0, -BackOffset, -XOffset]) rotate([0, 90, 0]) threadedRod(22 + 1, 0.5);
+ //flatten bottom
+ translate([0, -BackOffset, -(Z / 2) - 11]) cube([23, 22, 22], center = true);
+ }
+}
+
+module lensAssemblyLinearZ () {
+ Z = 90;
+
+ difference () {
+ union () {
+ //main cylinder
+ rounded_cube([22, 22, Z], d = 8, $fn = 30, center = true);
+ //top
+ translate([0, -BackOffset, (Z / 2) - (LinearMotionZ/2)]) topLinearAttachmentBlock();
+ //bottom
+ translate([0, -BackOffset, -XOffset]) rotate([0, 90, 0]) cylinder(r = R(22), h = 22, center = true, $fn = 80);
+ }
+ //x linear motion rod void
+ translate([9, -BackOffset, (Z / 2) - (LinearMotionZ/2)]) rotate([0, 90, 0]) linearMotionRod(50, 0.3);
+ //z linear motion rod
+ linearMotionRod(250, 0.6);
+ //top gap to close
+ translate([0, -(LinearMotionY/2) - 9, (Z/2) - (LinearMotionZ/2)]) cube([LinearMotionX + 1, LinearMotionY, 2], center = true);
+ //m4 bolt top
+ translate([0, -BackOffset - 8 + 2, (Z/2) - (LinearMotionZ/2)]) m4Bolt(LinearMotionZ + 1);
+ //m4 nut top
+ translate([0, -BackOffset - 8 + 2, (Z/2) - (LinearMotionZ/2) - 6]) m4_nut();
+ //flatten bottom
+ translate([0, -BackOffset, -(Z / 2) - 11]) cube([23, 22, 22], center = true);
+ //z linear bearing
+ translate([0, 0, -(Z / 2) + (LinearBearingHeight / 2) - 2 ]) {
+ linearBearing(0.25, 0.3);
+ }
+
+ //z linear bearing
+ translate([0, 0, (Z / 2) - (LinearBearingHeight / 2) + 2]) {
+ linearBearing(0.25, 0.3);
+ }
+ //x threaded rod
+ translate([0, -BackOffset, -XOffset]) rotate([0, 90, 0]) threadedRod(50, 0.5);
+ }
+}
+
+module m5_nut_bolt () {
+ cylinder(r = R(4.95), h = 30, center = true, $fn = 30);
+ translate([0, 0, 20/2]) rotate([0, 0, 30]) m5_nut();
+}
+
+module lensAssemblyBaseZ () {
+ H = 22 + 12 + 12;
+ TOP_X = 74;
+ BOTTOM_X = 88;
+ Z_OFFSET = (12/2)+(22/2);
+ RAILS = 160;
+ RAIL_D = 30; //with clearance
+ BOTTOM_CORNER_ADJUST_X = 4;
+ translate([0, 0, Z_OFFSET]) difference () {
+ translate([0, 6, -(24 / 2)]) cube([150, 45 + 12, H], center = true);
+ translate([ZOffset/2, 0, 5]) linearMotionRod(22 + 1, 0.2);
+ translate([-ZOffset/2, 0, 0]) threadedRod(50, 0.5);
+ translate([ZOffset/2+10, 0, 3]) rotate([0, 90, 0]) m4BoltNut(20, -1);
+ //shelf void
+ translate([0, 12, -17]) cube([160 + 1, 45 + 0.1, 12], center = true);
+ //top corner voids
+ translate([(150 / 2) + (TOP_X / 2), 6 + (45 + 12) - 20, -(24 / 2) + 12]) cube([150, 45 + 12, H], center = true);
+ translate([-(150 / 2) - (TOP_X / 2), 6 + (45 + 12) - 20, -(24 / 2) + 12]) cube([150, 45 + 12, H], center = true);
+ //bottom corner voids
+ translate([(150 / 2) + (BOTTOM_X / 2), 6, -(24 / 2) - 22 - 12]) cube([150, 45 + 12 + 1, H], center = true);
+ translate([-(150 / 2) - (BOTTOM_X / 2), 6, -(24 / 2) - 22 - 12]) cube([150, 45 + 12 + 1, H], center = true);
+ //additional corner off right side
+ translate([-(150 / 2) - (BOTTOM_X / 2) + BOTTOM_CORNER_ADJUST_X, 6, -(24 / 2) - 22 - 12]) cube([150, 45 + 12 + 1, H], center = true);
+
+ //bottom bolts
+ translate([25, 25, -18 - Z_OFFSET]) m5_nut_bolt();
+ translate([-25, 25, -18 - Z_OFFSET]) m5_nut_bolt();
+ translate([25, -5, -18 - Z_OFFSET]) m5_nut_bolt();
+ translate([-25, -5, -18 - Z_OFFSET]) m5_nut_bolt();
+
+ //top bolts
+ translate([25, 25, 17.5 - Z_OFFSET]) {
+ rotate([180, 0, 0]) m5_nut_bolt();
+ translate([0, 0, 10]) rotate([0, 0, 30]) cylinder(r = R(20), h = 20, center = true, $fn = 6);
+ }
+ translate([-25, 25, 17.5 - Z_OFFSET]) {
+ rotate([180, 0, 0]) m5_nut_bolt();
+ translate([0, 0, 10]) rotate([0, 0, 30]) cylinder(r = R(20), h = 20, center = true, $fn = 6);
+ }
+ translate([25, -5, 17.5 - Z_OFFSET]) {
+ rotate([180, 0, 0]) m5_nut_bolt();
+ translate([0, 0, 10]) rotate([0, 0, 30]) cylinder(r = R(20), h = 20, center = true, $fn = 6);
+ }
+ translate([-25, -5, 17.5 - Z_OFFSET]) {
+ rotate([180, 0, 0]) m5_nut_bolt();
+ translate([0, 0, 10]) rotate([0, 0, 30]) cylinder(r = R(20), h = 20, center = true, $fn = 6);
+ }
+
+ //rails void
+ translate([RAILS / 2, 0, -Z_OFFSET -6.5-5.75]) rotate([90, 0, 0]) cylinder(r = R(RAIL_D), h = 100, center = true, $fn = 80);
+ translate([-RAILS / 2, 0, -Z_OFFSET -6.5-5.75]) rotate([90, 0, 0]) cylinder(r = R(RAIL_D), h = 100, center = true, $fn = 80);
+ }
+
+ //debug
+
+ //translate([0, 12, 0]) color("green") cube([160, 45, 12], center = true);
+ //translate([RAILS / 2, 0, -6.5-5.75]) rotate([90, 0, 0]) cylinder(r = R(RAIL_D), h = 100, center = true, $fn = 80);
+ //translate([-RAILS / 2, 0, -6.5-5.75]) rotate([90, 0, 0]) cylinder(r = R(RAIL_D), h = 100, center = true, $fn = 80);
+}
+
+module lensAssemblyTopZ () {
+ difference () {
+ rounded_cube([150, 22, 15], d = 8, $fn = 30, center = true);
+ translate([ZOffset/2, 0, 0]) linearMotionRod(22 + 1, 0.2);
+ translate([-ZOffset/2, 0, 0]) threadedRod(50, 0.5);
+ translate([ZOffset/2+10, 0, 0]) rotate([0, 90, 0]) m4BoltNut(20, -1);
+ }
+}
+
+module lensAssemblyThreadedCollar (H = 8, pad = 0) {
+ difference () {
+ union () {
+ cylinder(r = R(26), h = H, center = true, $fn = 80);
+ }
+ threadedRod(H*2, 0.1 + pad);
+ translate([8.5, 0, 0]) rotate([0, 90, 0]) m3BoltNut(10, -1);
+ }
+}
+
+module lensAssemblyThreadedKnob () {
+ H = 8;
+ D1 = 38.7;
+ difference () {
+ union () {
+ translate([0, 0, -H/2]) knurled_cyl(H, D1, 2, 2, .3, 0, 0);
+ translate([0, 0, H]) lensAssemblyThreadedCollar(H);
+ }
+ translate([0, 0, H]) threadedRod(H*2, 0.1);
+ }
+}
+
+module debug () {
+ translate([0, 0, ZPosition]) {
+ translate([-ZOffset/2, BackOffset, 0]) lensAssemblyThreadedZ();
+ translate([ZOffset/2, BackOffset, 0]) lensAssemblyLinearZ();
+
+ translate([ZOffset/2, BackOffset, (90 / 2) - (LinearBearingHeight / 2) + 2]) color("green") linearBearing();
+ translate([ZOffset/2, BackOffset, -(90 / 2) + (LinearBearingHeight / 2) - 2]) color("green") linearBearing();
+
+ translate([-ZOffset/2, BackOffset, 40]) rotate([180, 0, 0]) TNut();
+ translate([-ZOffset/2, BackOffset, -40]) TNut();
+
+ //X axis
+ translate([0, -FrontOffset, -XOffset]) rotate([0, 90, 0]) threadedRod(RodLength);
+ //translate([-(ZOffset/2) - 24, -FrontOffset, -XOffset]) rotate([0, 90, 0]) lensAssemblyThreadedKnob();
+ translate([-(ZOffset/2) + 16, -FrontOffset, -XOffset]) rotate([0, 90, 0]) lensAssemblyThreadedCollar();
+ translate([0, -FrontOffset, XOffset]) rotate([0, 90, 0]) linearMotionRod(RodLength);
+
+ translate([XPosition, 0, 0]) {
+ rotate([90, 0, 0]) lensAssemblyBellowsBoard();
+ translate([0, 0, 40]) rotate([0, 90, 0]) color("green") linearBearing();
+ translate([-22.5, 0, -XOffset]) rotate([0, 90, 0]) TNut();
+ translate([22.5, 0, -XOffset]) rotate([0, -90, 0]) TNut();
+ }
+ }
+
+ //Z axis
+ translate([-ZOffset/2, BackOffset, 0]) threadedRod(RodLength + 20);
+ //translate([-ZOffset/2, BackOffset, -((RodLength + 20)/2)-8]) lensAssemblyThreadedKnob();
+ translate([-ZOffset/2, BackOffset, -((RodLength + 20)/2)+31]) lensAssemblyThreadedCollar();
+ translate([ZOffset/2, BackOffset, 0]) linearMotionRod(RodLength);
+
+ translate([0, BackOffset, -70]) lensAssemblyBaseZ();
+
+ translate([0, 130, 0]) rotate([90, 0, 0]) bellows_camera_board();
+ translate([0, 130/2, 0]) color("blue") {
+ difference () {
+ cube([70, 130-10, 70], center = true);
+ cube([40, 130 + 1, 40], center = true);
+ }
+ }
+}
+
+PART = "lens_assembly_base_z";
+
+if (PART == "lens_assembly_camera_bellows_board") {
+ bellows_camera_board();
+} else if (PART == "lens_assembly_bellows_board") {
+ lensAssemblyBellowsBoard();
+} else if (PART == "lens_assembly_threaded_z") {
+ lensAssemblyThreadedZ();
+} else if (PART == "lens_assembly_linear_z") {
+ lensAssemblyLinearZ();
+} else if (PART == "lens_assembly_base_z") {
+ lensAssemblyBaseZ();
+} else if (PART == "lens_assembly_top_z") {
+ lensAssemblyTopZ();
+} else if (PART == "lens_assembly_threaded_knob") {
+ lensAssemblyThreadedKnob();
+} else if (PART == "lens_assembly_threaded_collar") {
+ lensAssemblyThreadedCollar(6, 0.2);
+} else {
+ debug();
+}
diff --git a/scad/jk_rails.scad b/scad/jk_rails.scad
new file mode 100644
index 0000000..a20c109
--- /dev/null
+++ b/scad/jk_rails.scad
@@ -0,0 +1,45 @@
+include <./common.scad>;
+
+RAIL_SPACING = 100;
+RAIL_H = 70;
+RAIL_LEN = 400;
+RAIL_D=25.4;
+
+module rail (H = 100) {
+ cylinder(r = R(RAIL_D), h = H, center = true, $fn = 60);
+}
+
+module rails () {
+ translate([RAIL_SPACING/2, 0, RAIL_H]) rotate([90, 0, 0]) rail(RAIL_LEN);
+ translate([-RAIL_SPACING/2, 0, RAIL_H]) rotate([90, 0, 0]) rail(RAIL_LEN);
+}
+
+module end () {
+ L = 50;
+ T = 20;
+ translate ([0, -L / 2, 0]) {
+ difference () {
+ union () {
+ translate([RAIL_SPACING/2, 0, RAIL_H]) rotate([90, 0, 0]) {
+ cylinder(r = R(35), h = L, center = true, $fn = 60);
+ }
+ translate([-RAIL_SPACING/2, 0, RAIL_H]) rotate([90, 0, 0]) {
+ cylinder(r = R(35), h = L, center = true, $fn = 60);
+ }
+ translate([0, 0, RAIL_H + (35 / 2) - (T / 2)]) cube([RAIL_SPACING, L, T], center = true);
+ translate([RAIL_SPACING/2 - (5 / 2), 5, RAIL_H / 2]) cube([40, 40, RAIL_H], center = true);
+ translate([-RAIL_SPACING/2 + (5 / 2), 5, RAIL_H / 2]) cube([40, 40, RAIL_H], center = true);
+ }
+ translate([RAIL_SPACING/2, 0, RAIL_H]) rotate([90, 0, 0]) {
+ rail(L + 1);
+ }
+ translate([-RAIL_SPACING/2, 0, RAIL_H]) rotate([90, 0, 0]) {
+ rail(L + 1);
+ }
+ }
+ }
+}
+
+
+color("blue") rails();
+translate([0, RAIL_LEN / 2, 0]) end();
\ No newline at end of file
diff --git a/scad/mono_logo.png b/scad/mono_logo.png
new file mode 100644
index 0000000..ce5df57
Binary files /dev/null and b/scad/mono_logo.png differ
diff --git a/scad/motor.scad b/scad/motor.scad
index 0caf0d8..f41b078 100644
--- a/scad/motor.scad
+++ b/scad/motor.scad
@@ -522,3 +522,8 @@ module bolex_stand () {
}
}
+PART="rod";
+
+if (PART == "rod") {
+ rod();
+}
diff --git a/scad/takeup.scad b/scad/takeup.scad
new file mode 100755
index 0000000..89d049d
--- /dev/null
+++ b/scad/takeup.scad
@@ -0,0 +1,214 @@
+include ;
+include ;
+
+COUPLING_D = 37;
+
+WASHER_D = 35.7; //1 + 1/3 diameter?
+WASHER_H = 2.4;
+
+MOTOR_SHAFT_D = 6;
+MOTOR_SHAFT_H = 16;
+MOTOR_SHAFT_HOBBLE = 1;
+
+MOTOR_MOUNT_X = 32.5;
+MOTOR_MOUNT_Y = 17.5;
+
+module hex (diag = 10, h = 1) {
+ cylinder(r = diag / 2, h = h, center = true, $fn = 6);
+}
+
+module motor_shaft () {
+ difference () {
+ cylinder(r = R(MOTOR_SHAFT_D), h = MOTOR_SHAFT_H, center = true, $fn = 60);
+ translate([MOTOR_SHAFT_D - MOTOR_SHAFT_HOBBLE, 0, 0]) cube([MOTOR_SHAFT_D, MOTOR_SHAFT_D, MOTOR_SHAFT_H + 1], center = true);
+ }
+}
+
+module motor_mounts () {
+ Z = 1.5;
+ D = 7.5 + 0.3;
+
+ translate([MOTOR_MOUNT_X / 2, MOTOR_MOUNT_Y / 2, 0]) motor_mount_pad(D, Z);
+ translate([-MOTOR_MOUNT_X / 2, MOTOR_MOUNT_Y / 2, 0]) motor_mount_pad(D, Z);
+ translate([MOTOR_MOUNT_X / 2, -MOTOR_MOUNT_Y / 2, 0]) motor_mount_pad(D, Z);
+ translate([-MOTOR_MOUNT_X / 2, -MOTOR_MOUNT_Y / 2, 0]) motor_mount_pad(D, Z);
+}
+
+module motor_mount_pad (D, Z) {
+ difference () {
+ cylinder(r = R(D), h = Z, center = true, $fn = 40);
+ //bolt void
+ cylinder(r = R(2.5), h = Z + 1, center = true, $fn = 40);
+ }
+}
+
+module magnetic_coupling (MAGNETS = 4, MAGNET_D = 8.1, MAGNET_H = 2.5) {
+ H = 3;
+ OFFSET = 12;
+ difference () {
+ union () {
+ cylinder(r = R(COUPLING_D), h = MAGNET_H + H, center = true, $fn = 100);
+ translate([0, 0, -6]) cylinder(r = R(12.5), h = 10, center = true, $fn = 60);
+ translate([0, 0, -5]) cylinder(r = R(20), h = 5, center = true, $fn = 60);
+ }
+ //motor shaft void
+ scale([1.1, 1.1, 2]) motor_shaft();
+ //magnet voids
+ for (i = [0 : MAGNETS - 1]) {
+ rotate([0, 0, i * (360 / MAGNETS)]) {
+ translate([0, OFFSET, H - MAGNET_H + 1.01]) {
+ cylinder(r = R(MAGNET_D), h = MAGNET_H, center = true, $fn = 50);
+ }
+ }
+ }
+ //m3 nut
+ translate([6, 0, -9]) {
+ cube([2.75, 5.75, 10], center = true);
+ translate([0, 0, 5]) rotate([0, 90, 0]) {
+ cylinder(r = R(6.75), h = 2.75, center = true, $fn = 6);
+ translate([0, 0, 4]) cylinder(r = R(3.25), h = 20, center = true, $fn = 30);
+ translate([0, 0, 13.5]) cylinder(r = R(6), h = 20, center = true, $fn = 30);
+ }
+ }
+ }
+}
+
+module slip_coupling (MAGNET_H = 2.5) {
+ H = 16;
+ difference () {
+ translate([0, 0, 2]) cylinder(r = R(45), h = H, center = true, $fn = 100);
+ translate([0, 0, 2 -(H / 2) + (MAGNET_H + 3) / 2]) cylinder(r = R(COUPLING_D + 0.7), h = MAGNET_H + 3.01, center = true, $fn = 160);
+ translate([0, 0, 2 -(H / 2) + (MAGNET_H + 3) + (WASHER_H / 2)]) cylinder(r = R(WASHER_D), h = WASHER_H, center = true, $fn = 160);
+ translate([0, 0, 2 + (H / 2) - (5 / 2)]) cube([25, 10, 5.01], center = true);
+ translate([0, 0, 2 + (H / 2) - (5 / 2)]) cube([10, 25, 5.01], center = true);
+ //corners with voids for M3
+ translate([-8.75, -8.75, 2 + (H / 2) - (5 / 2)]) {
+ translate([0, 0, 1]) cube([(25 - 10) / 2, (25 - 10) / 2, 5.01], center = true);
+ cylinder(r = R(3.25), h = 20, center = true, $fn = 40);
+ translate([0, 0, -4.25]) hex(6, 2.75);
+ }
+ translate([8.75, 8.75, 2 + (H / 2) - (5 / 2)]) {
+ translate([0, 0, 1]) cube([(25 - 10) / 2, (25 - 10) / 2, 5.01], center = true);
+ cylinder(r = R(3.25), h = 20, center = true, $fn = 40);
+ translate([0, 0, -4.25]) hex(6, 2.75);
+ }
+ }
+}
+
+module daylight_spool_insert () {
+ translate([0, 0, 14]) reel_holder(true, false);
+ union () {
+ cube([25 - .4, 10 - .4, 5], center = true);
+ cube([10 - .4, 25 - .4, 5], center = true);
+ translate([-8.75, -8.75, 0]) difference () {
+ translate([.2, .2, 1/2]) cube([(25 - 10) / 2, (25 - 10) / 2, 4], center = true);
+ cylinder(r = R(3.25), h = 20, center = true, $fn = 40);
+ translate([0, 0, 2]) cylinder(r = R(5.75), h = 3.5, center = true, $fn = 40);
+ }
+ translate([8.75, 8.75, 0]) difference () {
+ translate([ -.2, -.2, 1/2]) cube([(25 - 10) / 2, (25 - 10) / 2, 4], center = true);
+ cylinder(r = R(3.25), h = 20, center = true, $fn = 40);
+ translate([0, 0, 2]) cylinder(r = R(5.75), h = 3.5, center = true, $fn = 40);
+ }
+ }
+}
+
+module motor_mount_void (D, Z) {
+ cylinder(r = R(D), h = Z, center = true, $fn = 40);
+ //bolt void
+ translate([0, 0, 5]) cylinder(r = R(3.25), h = Z + 10, center = true, $fn = 40);
+ translate([0, 0, 4.75]) cylinder(r = R(6), h = 3.5, center = true, $fn = 40);
+}
+
+module mount_plate_void () {
+ cylinder(r = R(4.25), h = 20, center = true, $fn = 40);
+ translate([0, 0, 0.5]) cylinder(r = R(8), h = 3, center = true, $fn = 40);
+}
+
+module mount_plate () {
+ Z = 1.5;
+ D = 7.5 + 1.5;
+
+ X = 60;
+ Y = 60;
+
+ MOUNT_X = 42;
+ MOUNT_Y = 42;
+
+ CORNER = 3;
+ X_CORNER = (X / 2) - (CORNER / 2);
+ Y_CORNER = (Y / 2) - (CORNER / 2);
+
+ //center
+ //color("red") cylinder(r = 15 / 2, h = 20, center = true, $fn = 60);
+
+ difference () {
+ translate([0, 0, 3.26 - .5]) cube([X, Y, 7], center = true);
+
+ //motor void (centered)
+ translate([7, 0, 0]) {
+ translate([-(46 / 2) + 15 + 1, 0, 0]) cylinder(r = R(15), h = 20, center = true, $fn = 60);
+ translate([(MOTOR_MOUNT_X / 2)+1, (MOTOR_MOUNT_Y / 2), 0]) motor_mount_void(D, Z);
+ translate([-(MOTOR_MOUNT_X / 2)+1, (MOTOR_MOUNT_Y / 2), 0]) motor_mount_void(D, Z);
+ translate([(MOTOR_MOUNT_X / 2)+1, -(MOTOR_MOUNT_Y / 2), 0]) motor_mount_void(D, Z);
+ translate([-(MOTOR_MOUNT_X / 2)+1, -(MOTOR_MOUNT_Y / 2), 0]) motor_mount_void(D, Z);
+
+ translate([-8 + 12.5 + 1, 0, 0]) cube([7.5, 17, Z], center = true);
+ }
+
+ translate([MOUNT_X / 2, MOUNT_Y / 2, 0]) mount_plate_void();
+ translate([-MOUNT_X / 2, MOUNT_Y / 2, 0]) mount_plate_void();
+ translate([MOUNT_X / 2, -MOUNT_Y / 2, 0]) mount_plate_void();
+ translate([-MOUNT_X / 2,-MOUNT_Y / 2, 0]) mount_plate_void();
+
+
+ translate([X_CORNER, Y_CORNER, 3.26 - .5]) cube([CORNER, CORNER, 8], center = true);
+ translate([-X_CORNER, Y_CORNER, 3.26 - .5]) cube([CORNER, CORNER, 8], center = true);
+ translate([X_CORNER, -Y_CORNER, 3.26 - .5]) cube([CORNER, CORNER, 8], center = true);
+ translate([-X_CORNER, -Y_CORNER, 3.26 - .5]) cube([CORNER, CORNER, 8], center = true);
+ }
+ translate([X_CORNER - (CORNER / 2), Y_CORNER - (CORNER / 2), 3.26 - .5]) cylinder(r = CORNER, h = 7, center = true, $fn = 40);
+ translate([-X_CORNER + (CORNER / 2), Y_CORNER - (CORNER / 2), 3.26 - .5]) cylinder(r = CORNER, h = 7, center = true, $fn = 40);
+ translate([X_CORNER - (CORNER / 2), -Y_CORNER + (CORNER / 2), 3.26 - .5]) cylinder(r = CORNER, h = 7, center = true, $fn = 40);
+ translate([-X_CORNER + (CORNER / 2), -Y_CORNER + (CORNER / 2), 3.26 - .5]) cylinder(r = CORNER, h = 7, center = true, $fn = 40);
+}
+
+//centered, minimal geometry needed to add
+//58x52
+module minimal_mount () {
+ difference () {
+ mount_plate();
+ translate([50 + 29, 0, 0]) cube([100, 100, 100], center = true);
+ translate([-50 - 29, 0, 0]) cube([100, 100, 100], center = true);
+ translate([0, 50 + 26, 0]) cube([100, 100, 100], center = true);
+ translate([0, -50 - 26, 0]) cube([100, 100, 100], center = true);
+ }
+}
+
+module debug_assembled () {
+ translate([(46 / 2) - 14.5, 0, 0]) rotate([180, 0, 0]) geared_motor();
+ color("green") translate([0, 0, 11]) mount_plate();
+ color("blue") translate([0, 0, 23]) rotate([0, 0, -90]) //magnetic_coupling();
+ difference () {
+ translate([0, 0, 26.5]) slip_coupling();
+ translate([-50, 0, 0]) cube([100, 100, 150], center = true);
+ }
+ color("red") translate([0, 0, 34]) daylight_spool_insert();
+}
+
+PART = "mount_plate";
+
+if (PART == "slip_coupling") {
+ slip_coupling();
+} else if (PART == "magnetic_coupling") {
+ magnetic_coupling();
+} else if (PART == "mount_plate") {
+ //42x42 M4 mounting holes
+ mount_plate();
+} else if (PART == "daylight_spool_insert") {
+ daylight_spool_insert();
+} else if (PART == "minimal_mount") {
+ minimal_mount();
+} else if (PART == "debug") {
+ debug_assembled();
+}
diff --git a/src/alert/index.ts b/src/alert/index.ts
new file mode 100644
index 0000000..082ceef
--- /dev/null
+++ b/src/alert/index.ts
@@ -0,0 +1,68 @@
+'use strict';
+
+import { delay } from 'delay'
+
+/* class representing alert functionality */
+
+class Alert {
+ private ipc : any
+ private log : any
+ private id : string = 'alert'
+ private cb : Function = null
+ private ui : any
+
+ constructor ( ui : any) {
+ this.ui = ui
+ this.init()
+ }
+
+ /**
+ *
+ **/
+ private async init () {
+ const Log = require('log')
+ this.log = await Log({ label : this.id })
+ this.ipc = require('electron').ipcMain
+ this.listen()
+ }
+
+ /**
+ *
+ **/
+ private listen () {
+ this.ipc.on(this.id, this.listener.bind(this))
+ }
+
+ /**
+ *
+ **/
+ private async listener (event : any, arg : any) {
+ if (this.cb !== null) {
+ try {
+ await this.cb(arg.state, arg.id)
+ } catch (err) {
+ this.log.error(err)
+ }
+ }
+ event.returnValue = true
+ }
+
+ /**
+ *
+ **/
+ public async start (cmd : string) {
+ const start = +new Date();
+ const msg : string = (cmd + '').replace('ALERT', '').replace('Alert', '').replace('alert', '').trim()
+ this.ui.send(this.id, { msg })
+ return new Promise(function (resolve : Function, reject : Function) {
+ this.cb = function () {
+ const ms = (+new Date()) - start;
+ return resolve(ms);
+ }
+ }.bind(this));
+ }
+}
+
+module.exports = function (ui : any) {
+ return new Alert(ui);
+}
\ No newline at end of file
diff --git a/src/arduino/index.ts b/src/arduino/index.ts
index 2f44800..8721c3c 100644
--- a/src/arduino/index.ts
+++ b/src/arduino/index.ts
@@ -3,11 +3,11 @@
//import Log = require('log');
import { delay } from 'delay';
-const SerialPort = require('serialport')
-const Readline = SerialPort.parsers.Readline
+const { SerialPort } = require('serialport')
+const { ReadlineParser } = require('@serialport/parser-readline')
const exec = require('child_process').exec
-const parser : any = new Readline('')
+const parser : any = new ReadlineParser({ })
const newlineRe : RegExp = new RegExp('\n', 'g')
const returnRe : RegExp = new RegExp('\r', 'g')
@@ -108,7 +108,6 @@ class Arduino {
//console.error(err)
return reject(err)
}
- //
})
})
}
@@ -198,9 +197,10 @@ class Arduino {
async connect (serial : string, device : string, confirm : any) {
return new Promise(async (resolve, reject) => {
let connectSuccess : any
- this.path[serial] = device;
- this.alias[serial] = device;
- this.serial[device] = new SerialPort(this.path[serial], {
+ this.path[serial] = device
+ this.alias[serial] = device
+ this.serial[device] = new SerialPort({
+ path : this.path[serial],
autoOpen : false,
baudRate: cfg.arduino.baud,
parser: parser
@@ -252,7 +252,12 @@ class Arduino {
|| data === cfg.arduino.cmd.camera_second_forward
|| data === cfg.arduino.cmd.camera_second_backward
|| data === cfg.arduino.cmd.camera_second
- || data === cfg.arduino.cmd.cameras) {
+ || data === cfg.arduino.cmd.cameras
+
+ || data === cfg.arduino.cmd.capper_identifier
+ || data === cfg.arduino.cmd.camera_capper_identifier
+ || data === cfg.arduino.cmd.camera_capper_projector_identifier
+ || data === cfg.arduino.cmd.camera_capper_projectors_identifier) {
this.confirmExec(null, data);
this.confirmExec = {};
@@ -314,12 +319,23 @@ class Arduino {
type = 'camera,camera_second,projector'
} else if (data === cfg.arduino.cmd.cameras_projectors_identifier) {
type = 'camera,camera_second,projector,projector_second'
+ } else if (data === cfg.arduino.cmd.capper_identifier) {
+ type = 'capper'
+ } else if (data === cfg.arduino.cmd.camera_capper_identifier) {
+ type = 'camera,capper'
+ } else if (data === cfg.arduino.cmd.camera_capper_projector_identifier) {
+ type = 'camera,capper,projector'
+ } else if (data === cfg.arduino.cmd.camera_capper_projectors_identifier) {
+ type = 'camera,capper,projector,projector_second'
}
return resolve(type)
}
+
await delay(cfg.arduino.serialDelay)
+
try {
writeSuccess = await this.sendAsync(device, cfg.arduino.cmd.mcopy_identifier)
+ this.log.info(writeSuccess)
} catch (e) {
return reject(e)
}
@@ -344,7 +360,9 @@ class Arduino {
write : async function (cmd : string, cb : any) {
const t : any = {
c : cfg.arduino.cam.time + cfg.arduino.cam.delay,
- p : cfg.arduino.proj.time + cfg.arduino.proj.delay
+ p : cfg.arduino.proj.time + cfg.arduino.proj.delay,
+ A : 180,
+ B : 180
}
let timeout : number = t[cmd]
if (typeof timeout === 'undefined') timeout = 10
diff --git a/src/cam/index.ts b/src/cam/index.ts
index 903bc90..5861dfd 100644
--- a/src/cam/index.ts
+++ b/src/cam/index.ts
@@ -9,7 +9,8 @@ import { delay } from 'delay';
class Camera {
private state : any = {
pos : 0,
- dir : true
+ dir : true,
+ capepr: false
};
private arduino : Arduino = null;
private intval : any = null;
@@ -87,6 +88,28 @@ class Camera {
return await this.end(cmd, id, ms);
}
+ /**
+ *
+ **/
+ public async cap (state : boolean, id : string) {
+ let cmd : string;
+ let ms : number;
+
+ if (state) {
+ cmd = this.cfg.arduino.cmd[`${this.id}_forward`];
+ } else {
+ cmd = this.cfg.arduino.cmd[`${this.id}_backward`];
+ }
+ this.state.capper = state;
+
+ try {
+ ms = await this.arduino.send(this.id, cmd);
+ } catch (err) {
+ this.log.error(err);
+ }
+ return await this.end(cmd, id, ms);
+ }
+
/**
*
**/
@@ -189,20 +212,26 @@ class Camera {
private async listener (event : any, arg : any) {
if (typeof arg.dir !== 'undefined') {
try {
- await this.set(arg.dir, arg.id);
+ await this.set(arg.dir, arg.id)
} catch (err) {
- this.log.error(err);
+ this.log.error(err)
}
} else if (typeof arg.frame !== 'undefined') {
try {
- await this.move(arg.frame, arg.id);
+ await this.move(arg.frame, arg.id)
} catch (err) {
- this.log.error(err);
+ this.log.error(err)
}
} else if (typeof arg.val !== 'undefined') {
- this.state.pos = arg.val;
+ this.state.pos = arg.val
+ } else if (typeof arg.capper !== 'undefined') {
+ try {
+ await this.cap(arg.capper, arg.id)
+ } catch (err) {
+ this.log.error(err)
+ }
}
- event.returnValue = true;
+ event.returnValue = true
}
/**
diff --git a/src/capper/index.ts b/src/capper/index.ts
new file mode 100644
index 0000000..1bc4824
--- /dev/null
+++ b/src/capper/index.ts
@@ -0,0 +1,107 @@
+'use strict';
+
+import { Intval } from 'intval';
+import { Processing } from 'processing';
+import { delay } from 'delay';
+
+/** class representing capper functions **/
+
+class Capper {
+ private state : any = {
+ capper : false
+ };
+ private arduino : Arduino = null;
+ private log : any;
+ private cfg : any;
+ private filmout : any;
+ private ui : any;
+ private ipc : any;
+ private id : string = 'capper';
+ /**
+ *
+ **/
+ constructor (arduino : Arduino, cfg : any, ui : any, filmout : any) {
+ this.arduino = arduino;
+ this.cfg = cfg;
+ this.ui = ui;
+ this.filmout = filmout;
+ this.init();
+ }
+
+ /**
+ *
+ **/
+ private async init () {
+ const Log = require('log');
+ this.log = await Log({ label : this.id });
+ this.ipc = require('electron').ipcMain;
+ this.listen();
+ }
+
+ /**
+ *
+ **/
+ private listen () {
+ this.ipc.on(this.id, this.listener.bind(this));
+ }
+
+ /**
+ *
+ **/
+ public async capper (state : boolean, id : string) {
+ let cmd : string;
+ let ms : number;
+
+ if (state) {
+ cmd = this.cfg.arduino.cmd[`${this.id}_on`];
+ } else {
+ cmd = this.cfg.arduino.cmd[`${this.id}_off`];
+ }
+
+ this.state.capper = state;
+
+ try {
+ ms = await this.arduino.send(this.id, cmd);
+ } catch (err) {
+ this.log.error(err);
+ }
+
+ return await this.end(cmd, id, ms);
+ }
+
+ /**
+ *
+ **/
+ private async listener (event : any, arg : any) {
+ if (typeof arg.state !== 'undefined') {
+ try {
+ await this.capper(arg.state, arg.id)
+ } catch (err) {
+ this.log.error(err)
+ }
+ }
+ event.returnValue = true
+ }
+
+ /**
+ *
+ **/
+ private async end (cmd : string, id : string, ms : number) {
+ let message = '';
+
+ if (cmd === this.cfg.arduino.cmd.capper_on) {
+ message = 'Capper set to ON';
+ } else if (cmd === this.cfg.arduino.cmd.capper_off) {
+ message = 'Capper set to OFF';
+ }
+
+ message += ` ${ms}ms`
+
+ this.log.info(message);
+ this.ui.send(this.id, {cmd: cmd, id : id, ms: ms});
+ }
+}
+
+module.exports = function (arduino : Arduino, cfg : any, ui : any, filmout: any) {
+ return new Capper(arduino, cfg, ui, filmout);
+}
\ No newline at end of file
diff --git a/src/cmd/index.ts b/src/cmd/index.ts
index 0006e16..4210f65 100644
--- a/src/cmd/index.ts
+++ b/src/cmd/index.ts
@@ -11,6 +11,10 @@ class Commands {
private cam2 : any;
private proj2 : any;
+ private capper : any;
+
+ private alertObj : any;
+
private cfg : any;
private ipc : any;
@@ -22,19 +26,24 @@ class Commands {
* @param {object} proj Projector 1
* @param {object} cam Camera 1
* @param {object} light Light source
+ * @param {object} alert Alert object
* @param {object} cam2 (optional) Camera 2
- * @param {object} proj2 {optional} Projector 2
+ * @param {object} proj2 (optional) Projector 2
+ * @param {object} capper Capper object
+ *
**/
- constructor (cfg : any, proj : any, cam : any, light : any, cam2 : any = null, proj2 : any = null) {
+ constructor (cfg : any, proj : any, cam : any, light : any, alert : any, cam2 : any = null, proj2 : any = null, capper : any = null) {
this.cfg = cfg;
this.proj = proj;
this.cam = cam;
this.light = light;
+ this.alertObj = alert;
- if (cam2) this.cam2 = cam2;
- if (proj2) this.proj2 = proj2;
-
+ if (cam2 !== null) this.cam2 = cam2;
+ if (proj2 !== null) this.proj2 = proj2;
+ if (capper !== null) this.capper = capper;
+
this.ipc = require('electron').ipcMain;
}
@@ -79,13 +88,14 @@ class Commands {
/**
* Move the camera one frame forward
*
- * @param {array} rgb Color to set light for frame
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- public async camera_forward (rgb : number[] = [255, 255, 255]) {
+ public async camera_forward () {
const id : string = uuid();
const off : number[] = [0, 0, 0];
+ let rgb : number[] = [255, 255, 255];
let ms : number;
try {
if (!this.cam.state.dir) {
@@ -111,18 +121,25 @@ class Commands {
public async black_forward () {
const id : string = uuid();
const off : number[] = [0, 0, 0];
- let ms : number;
+ let ms : number = 0;
try {
if (!this.cam.state.dir) {
await delay(this.cfg.arduino.serialDelay);
await this.cam.set(true);
}
await delay(this.cfg.arduino.serialDelay);
+ if (this.capper) {
+ ms += await this.capper.capper(true, id);
+ }
+ await delay(this.cfg.arduino.serialDelay);
await this.light.set(off, id); //make sure set to off
await delay(this.cfg.arduino.serialDelay);
- ms = await this.cam.move();
+ ms += await this.cam.move();
await delay(this.cfg.arduino.serialDelay);
await this.light.set(off, id);
+ if (this.capper) {
+ ms += await this.capper.capper(false, id);
+ }
} catch (err) {
throw err;
}
@@ -131,13 +148,14 @@ class Commands {
/**
* Move the camera one frame backward
*
- * @param {array} rgb Color to set light for frame
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- public async camera_backward (rgb : number[] = [255, 255, 255]) {
+ public async camera_backward () {
const id : string = uuid();
const off : number[] = [0, 0, 0];
+ let rgb : number[] = [255, 255, 255];
let ms : number;
try {
if (this.cam.state.dir) {
@@ -163,18 +181,24 @@ class Commands {
public async black_backward () {
const id : string = uuid();
const off : number[] = [0, 0, 0];
- let ms : number;
+ let ms : number = 0;
try {
if (this.cam.state.dir) {
await delay(this.cfg.arduino.serialDelay);
await this.cam.set(false);
}
+ if (this.capper) {
+ ms += await this.capper.capper(true, id);
+ }
await delay(this.cfg.arduino.serialDelay);
await this.light.set(off, id); //make sure set to off
await delay(this.cfg.arduino.serialDelay);
- ms = await this.cam.move();
+ ms += await this.cam.move();
await delay(this.cfg.arduino.serialDelay);
await this.light.set(off, id);
+ if (this.capper) {
+ ms += await this.capper.capper(false, id);
+ }
} catch (err) {
throw err;
}
@@ -184,13 +208,14 @@ class Commands {
/**
* Move the second camera one frame forward
*
- * @param {array} rgb Color to set light for frame
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- public async camera_second_forward (rgb : number[] = [255, 255, 255]) {
+ public async camera_second_forward () {
const id : string = uuid();
const off : number[] = [0, 0, 0];
+ let rgb : number[] = [255, 255, 255];
let ms : number;
try {
if (!this.cam2.state.dir) {
@@ -212,13 +237,14 @@ class Commands {
/**
* Move the second camera one frame backward
*
- * @param {array} rgb Color to set light for frame
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- public async camera_second_backward (rgb : number[] = [255, 255, 255]) {
+ public async camera_second_backward () {
const id : string = uuid();
const off : number[] = [0, 0, 0];
+ let rgb : number[] = [255, 255, 255];
let ms : number;
try {
if (this.cam2.state.dir) {
@@ -241,13 +267,14 @@ class Commands {
/**
* Move the both cameras one frame forward
*
- * @param {array} rgb Color to set light for frame
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- public async cameras_forward (rgb : number[] = [255, 255, 255]) {
+ public async cameras_forward () {
const id : string = uuid();
const off : number[] = [0, 0, 0];
+ let rgb : number[] = [255, 255, 255];
let both : number[];
let ms : number;
try {
@@ -282,13 +309,14 @@ class Commands {
/**
* Move the both cameras one frame backward
*
- * @param {array} rgb Color to set light for frame
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- public async cameras_backward (rgb : number[] = [255, 255, 255]) {
+ public async cameras_backward () {
const id : string = uuid();
const off : number[] = [0, 0, 0];
+ let rgb : number[] = [255, 255, 255];
let both : number[];
let ms : number;
try {
@@ -324,13 +352,14 @@ class Commands {
/**
* Move first camera one frame forward and rewind secondary camera one frame backward
*
- * @param {array} rgb Color to set light for frames
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- public async camera_forward_camera_second_backward (rgb : number[] = [255, 255, 255]) {
+ public async camera_forward_camera_second_backward () {
const id : string = uuid();
const off : number[] = [0, 0, 0];
+ let rgb : number[] = [255, 255, 255];
let both : number[];
let ms : number;
try {
@@ -365,13 +394,14 @@ class Commands {
/**
* Rewind first camera one frame backward and move secondary camera one frame forward
*
- * @param {array} rgb Color to set light for frame
+ * @param {object} cmd Full cmd object
*
* @returns {integer} Length of action in ms
**/
- public async camera_backward_camera_second_forward (rgb : number[] = [255, 255, 255]) {
+ public async camera_backward_camera_second_forward () {
const id : string = uuid();
const off : number[] = [0, 0, 0];
+ let rgb : number[] = [255, 255, 255];
let both : number[];
let ms : number;
try {
@@ -573,8 +603,24 @@ class Commands {
}
return ms;
}
+
+ /**
+ * Throws an alert to pause a sequence
+ *
+ * @returns {integer} Length of action in ms
+ **/
+
+ public async alert (cmd : any) {
+ let ms : number;
+ try {
+ ms = await this.alertObj.start(cmd.light); //change this meta
+ } catch (err) {
+ throw err;
+ }
+ return ms;
+ }
}
-module.exports = function (cfg : any, proj : any, cam : any, light : any, cam2 : any, proj2 : any) {
- return new Commands(cfg, proj, cam, light, cam2, proj2);
+module.exports = function (cfg : any, proj : any, cam : any, light : any, alert : any, cam2 : any, proj2 : any, capper : any) {
+ return new Commands(cfg, proj, cam, light, alert, cam2, proj2, capper);
}
\ No newline at end of file
diff --git a/src/devices/index.ts b/src/devices/index.ts
index 1246403..1fc5263 100644
--- a/src/devices/index.ts
+++ b/src/devices/index.ts
@@ -182,6 +182,22 @@ class Devices {
this.log.info('Connected to fake LIGHT device', 'SERIAL', true, true)
return true
}
+
+ /**
+ *
+ **/
+ private async fakeCapper () {
+ this.connected.capper = '/dev/fake'
+ try {
+ await this.arduino.fakeConnect('capper')
+ } catch (err) {
+ console.error(err)
+ this.log.error(`Error connecting to fake CAPPER device`, 'SERIAL', true, true)
+ return false
+ }
+ this.log.info('Connected to fake CAPPER device', 'SERIAL', true, true)
+ return true
+ }
/**
*
**/
@@ -295,7 +311,7 @@ class Devices {
this.log.error('Error connecting to camera, camera_secondary and projector', err)
return false
}
- } else if ('camera,projector,projector_second') {
+ } else if (type === 'camera,projector,projector_second') {
this.connected.camera = device
this.connected.projector = device
this.connected.projector_second = device
@@ -307,7 +323,7 @@ class Devices {
this.log.error('Error connecting to camera, projector and projector_second', err)
return false
}
- } else if ('camera,camera_second,projector') {
+ } else if (type === 'camera,camera_second,projector') {
this.connected.camera = device
this.connected.camera_second = device
this.connected.projector = device
@@ -320,7 +336,7 @@ class Devices {
this.log.error('Error connecting to camera, camera_second and projector', err)
return false
}
- } else if ('camera,camera_second,projector,projector_second') {
+ } else if (type === 'camera,camera_second,projector,projector_second') {
this.connected.camera = device
this.connected.camera_second = device
this.connected.projector = device
@@ -335,6 +351,51 @@ class Devices {
this.log.error('Error connecting to camera, camera_second, projector and projector_second', err)
return false
}
+ } else if (type === 'capper') {
+ this.connected.capper = device
+ try {
+ connectSuccess = await this.arduino.connect('capper', device, false)
+ } catch (err) {
+ this.log.error('Error connecting capper', err)
+ return false
+ }
+ } else if (type === 'camera,capper') {
+ this.connected.camera = device
+ this.connected.capper = device
+ this.arduino.aliasSerial('capper', device)
+ try {
+ connectSuccess = await this.arduino.connect('camera', device, false)
+ } catch (err) {
+ this.log.error('Error connecting to camera and capper', err)
+ return false
+ }
+ } else if (type === 'camera,capper,projector') {
+ this.connected.camera = device
+ this.connected.capper = device
+ this.connected.projector = device
+ this.arduino.aliasSerial('capper', device)
+ this.arduino.aliasSerial('projector', device)
+
+ try {
+ connectSuccess = await this.arduino.connect('camera', device, false)
+ } catch (err) {
+ this.log.error('Error connecting to camera, capper and projector', err)
+ return false
+ }
+ } else if (type === 'camera,capper,projector,projector_second') {
+ this.connected.camera = device
+ this.connected.capper = device
+ this.connected.projector = device
+ this.connected.projector_second = device
+ this.arduino.aliasSerial('capper', device)
+ this.arduino.aliasSerial('projector', device)
+ this.arduino.aliasSerial('projector_second', device)
+ try {
+ connectSuccess = await this.arduino.connect('camera', device, false)
+ } catch (err) {
+ this.log.error('Error connecting to camera, capper, projector and projector_second', err)
+ return false
+ }
}
return connectSuccess
}
@@ -350,13 +411,15 @@ class Devices {
let d : any
let cs : any = {}
let ps : any = {}
+ let capper : any = {}
let checklist : any[] = []
this.connected = {
projector : false,
camera : false,
light : false,
- projector_second : false
+ projector_second : false,
+ capper : false
}
for (let device of devices) {
@@ -393,19 +456,22 @@ class Devices {
l.arduino = this.connected.light
if (this.connected.camera_second) {
- cs = { arduino : this.connected.camera_second }
+ cs.arduino = this.connected.camera_second
}
if (this.connected.projector_second) {
- ps = { arduino : this.connected.projector_second }
+ ps.arduino = this.connected.projector_second
}
+ if (this.connected.capper) {
+ capper.arduino = this.connected.capper
+ }
if (this.settings.state.camera && this.settings.state.camera.intval) {
c.intval = this.settings.state.camera.intval
}
- return this.ready(p, c, l, cs, ps)
+ return this.ready(p, c, l, cs, ps, capper)
}
/**
*
@@ -419,7 +485,7 @@ class Devices {
})
if (match.length === 0) {
deviceEntry = {
- type : type
+ type
}
deviceEntry[which] = device
this.settings.state.devices.push(deviceEntry)
@@ -430,7 +496,7 @@ class Devices {
/**
*
**/
- private ready (projector : any, camera : any, light : any, camera_second : any, projector_second : any) {
+ private ready (projector : any, camera : any, light : any, camera_second : any, projector_second : any, capper : any) {
let args : any = {
camera,
projector,
@@ -454,9 +520,17 @@ class Devices {
}
}
+ if (capper && capper.arduino) {
+ args.capper = capper
+ this.mainWindow.setSize(800, 800)
+ this.settings.update('capper', capper)
+ }
+
this.settings.update('camera', camera)
this.settings.update('projector', projector)
this.settings.update('light', light)
+
+
this.settings.save()
this.ui.send('ready', args)
diff --git a/src/mscript/index.ts b/src/mscript/index.ts
index 618208f..61bfd9c 100644
--- a/src/mscript/index.ts
+++ b/src/mscript/index.ts
@@ -7,17 +7,48 @@ interface RGB extends Array{
[index : number] : number;
}
-const BLACK = '0,0,0';
-const WHITE = '255,255,255';
-const CMD = [
+const BLACK : string = '0,0,0';
+const WHITE : string = '255,255,255';
+const CMD : string[] = [
'CF',
'PF',
'BF',
'CB',
'PB',
- 'BB'
+ 'BB',
+ 'C2F',
+ 'C2B',
+ 'CCF',
+ 'CCB',
+ 'P2F',
+ 'P2B',
+ 'PPF',
+ 'PPB',
+ 'CFCB',
+ 'CBCF',
+ 'PFPB',
+ 'PBPF'
];
-const ALTS = {
+
+const CAMERA_SECONDARY : string[] = [
+ 'C2F',
+ 'C2B',
+ 'CCF',
+ 'CCB',
+ 'CFCB',
+ 'CBCF'
+];
+
+const PROJECTOR_SECONDARY : string[] = [
+ 'P2F',
+ 'P2B',
+ 'PPF',
+ 'PPB',
+ 'PFPB',
+ 'PBPF'
+];
+
+const ALTS : any = {
'CF' : ['CAMERA FORWARD', 'CAM FORWARD'],
'PF' : ['PROJECTOR FORWARD', 'PROJ FORWARD'],
'BF' : ['BLACK FORWARD', 'BLACK', 'BLANK FORWARD', 'BLANK'],
@@ -25,11 +56,24 @@ const ALTS = {
'PB' : ['PROJECTOR FORWARD', 'PROJ FORWARD', 'PROJECTOR BACK', 'PROJ BACK'],
'BB' : ['BLACK BACKWARD', 'BLACK BACK', 'BLANK BACK'],
'L ' : ['LIGHT', 'COLOR', 'LAMP'],
- 'F ' : ['FADE']
+ 'F ' : ['FADE'],
+ 'C2F' : ['CAMERA2 FORWARD', 'CAM2 FORWARD'],
+ 'C2B' : ['CAMERA2 BACKWARD', 'CAM2 BACKWARD', 'CAMERA2 BACK', 'CAM2 BACK'],
+ 'CCF' : ['CAMERAS FORWARD', 'CAMS FORWARD'],
+ 'CCB' : ['CAMERAS BACKWARD', 'CAMS BACKWARD', 'CAMERAS BACK', 'CAMS BACK'],
+ 'P2F' : ['PROJECTOR2 FORWARD', 'PROJ2 FORWARD'],
+ 'P2B' : ['PROJECTOR2 BACKWARD', 'PROJ2 BACKWARD', 'PROJECTOR2 BACK', 'PROJ2 BACK'],
+ 'PPF' : ['PROJECTORS FORWARD', 'PROJS FORWARD'],
+ 'PPB' : ['PROJECTORS BACKWARD', 'PROJS BACKWARD', 'PROJECTORS BACK', 'PROJS BACK'],
+
+ 'CFCB' : [ ],
+ 'CBCF' : [ ],
+ 'PFPB' : [ ],
+ 'PBPF' : [ ]
};
-const PAUSE = 'PAUSE';
-const ALERT = 'ALERT';
+const PAUSE : string = 'PAUSE';
+const ALERT : string = 'ALERT';
/** helper functions */
@@ -42,26 +86,34 @@ const ALERT = 'ALERT';
**/
function startsWith (str : string, target : string, position? : number) : boolean {
const { length } = str;
+
position = position == null ? 0 : position;
+
if (position < 0) {
position = 0;
} else if (position > length) {
position = length;
}
+
target = `${target}`;
+
return str.slice(position, position + target.length) == target;
}
/** class Mscript */
-class Mscript {
+export default class Mscript {
output : any;
- lines : any[];
+ lines : string[];
cam : number;
+ cam2 : number;
proj : number;
+ proj2 : number;
color : string;
loops : any[];
rec : number;
two : string;
+ three : string;
+ four : string;
arr : any[];
meta : string[];
target : number;
@@ -83,12 +135,15 @@ class Mscript {
this.lines = [];
this.cam = 0;
+ this.cam2 = 0;
this.proj = 0;
+ this.proj2 = 0;
this.color = '';
this.loops = [];
this.rec = -1;
-
this.two = '';
+ this.three = '';
+ this.four = '';
this.arr = [];
this.meta = [];
this.target = 0; //move to target using CAM # or PROJ #
@@ -108,7 +163,7 @@ class Mscript {
*
* @returns {object} if callback is not provided
*/
- interpret (text : string, callback : Function) {
+ interpret (text : string, callback : Function = null) {
this.clear()
if (typeof text === 'undefined') {
@@ -127,10 +182,16 @@ class Mscript {
for (let line of this.lines) {
this.two = line.substring(0, 2);
- if (CMD.indexOf(this.two) !== -1) {
- this.basic_cmd(line);
+ this.three = line.substring(0, 3);
+ this.four = line.substring(0, 4);
+ if (CMD.indexOf(this.four) !== -1) {
+ this.basic_cmd(line, this.four);
+ } else if (CMD.indexOf(this.three) !== -1) {
+ this.basic_cmd(line, this.three);
+ } else if (CMD.indexOf(this.two) !== -1) {
+ this.basic_cmd(line, this.two);
} else if (startsWith(line, PAUSE)) {
- this.pause(line);
+ //this.pause(line);
} else if (startsWith(line, ALERT)) {
this.alert(line);
} else if (startsWith(line, '@') || line.indexOf('@') !== -1) {
@@ -143,8 +204,12 @@ class Mscript {
this.new_loop(line, true);
} else if (startsWith(line, 'END')) {
this.end_loop(line);
- } else if (startsWith(line, 'CAM')) { //directly go to that frame (black?)
+ } else if (startsWith(line, 'CAM2')) { //directly go to that frame
+ this.move_cam2(line);
+ } else if (startsWith(line, 'CAM')) { //directly go to that frame
this.move_cam(line);
+ } else if (startsWith(line, 'PROJ2')) { //directly go to that frame
+ this.move_proj2(line);
} else if (startsWith(line, 'PROJ')) { //directly go to that frame
this.move_proj(line);
} else if (startsWith(line, 'SET')) { //set that state
@@ -152,10 +217,6 @@ class Mscript {
} else if (startsWith(line, '#') || startsWith(line, '//')) {
//comments
//ignore while parsing
- } else if (startsWith(line, 'ALERT')) {
-
- } else if (startsWith(line, 'PAUSE')) {
- this.pause(line);
}
}
@@ -164,8 +225,14 @@ class Mscript {
this.output.meta = this.meta; //all metadata for instructions
this.output.cam = this.cam;
this.output.proj = this.proj;
+ if (this.contains(this.arr, CAMERA_SECONDARY)) {
+ this.output.cam2 = this.cam2;
+ }
+ if (this.contains(this.arr, PROJECTOR_SECONDARY)) {
+ this.output.proj2 = this.proj2;
+ }
- if (typeof callback !== 'undefined') {
+ if (typeof callback !== 'undefined' && callback != null) {
//should only be invoked by running mscript.tests()
callback(this.output);
} else {
@@ -231,28 +298,29 @@ class Mscript {
* Interpret a basic two character command
*
* @param {string} line Line of script to interpret
+ * @param {string} short The short command to use
*/
- basic_cmd (line : string) {
+ basic_cmd (line : string, short : string) {
if (this.rec !== -1) {
//hold generated arr in state loop array
this.loops[this.rec].arr
.push.apply(this.loops[this.rec].arr,
this.str_to_arr(line,
- this.two));
+ short));
this.loops[this.rec].meta
.push.apply(this.loops[this.rec].meta,
this.light_to_arr(line,
- this.two));
+ short));
} else {
- this.arr.push.apply(this.arr, this.str_to_arr(line, this.two));
- this.meta.push.apply(this.meta, this.light_to_arr(line, this.two));
+ this.arr.push.apply(this.arr, this.str_to_arr(line, short));
+ this.meta.push.apply(this.meta, this.light_to_arr(line, short));
}
}
/**
* Start a new loop
*
* @param {string} line Line to evaluate as either loop or fade
- * @param {boolean} fade Flag as boolean if true
+ * @param {boolean} fade Flag as true if fade
*/
new_loop (line : string, fade? : boolean) {
this.rec++;
@@ -261,6 +329,8 @@ class Mscript {
meta : [],
cam : 0,
proj : 0,
+ cam2 : 0,
+ proj2 : 0,
cmd : line + ''
};
if (fade) {
@@ -346,6 +416,49 @@ class Mscript {
}
}
}
+
+ /**
+ * Move secondary camera to explicitly-defined frame
+ *
+ * @param {string} line Line to interpret with camera move statement
+ */
+ move_cam2 (line : string) {
+ this.target = parseInt(line.split('CAM2 ')[1]);
+ if (this.rec !== -1) {
+ if (this.target > this.cam2) {
+ this.dist = this.target - this.cam2;
+ for (let x = 0; x < this.dist; x++) {
+ this.loops[this.rec].arr.push('C2F');
+ this.loops[this.rec].meta.push(BLACK);
+ this.update('C2F');
+ }
+ } else {
+ this.dist = this.cam2 - this.target;
+ for (let x = 0; x < this.dist; x++) {
+ this.loops[this.rec].arr.push('C2B');
+ this.loops[this.rec].meta.push(BLACK);
+ this.update('C2B');
+ }
+ }
+ } else {
+ if (this.target > this.cam2) {
+ this.dist = this.target - this.cam2;
+ for (let x = 0; x < this.dist; x++) {
+ this.arr.push('C2F');
+ this.meta.push(BLACK);
+ this.update('C2F');
+ }
+ } else {
+ this.dist = this.cam2 - this.target;
+ for (let x = 0; x < this.dist; x++) {
+ this.arr.push('C2B');
+ this.meta.push(BLACK);
+ this.update('C2B');
+ }
+ }
+ }
+ }
+
/**
* Move projector to explicitly-defined frame
*
@@ -387,13 +500,59 @@ class Mscript {
}
}
}
+
+ /**
+ * Move projector to explicitly-defined frame
+ *
+ * @param {string} line Line containing `move` statement to interpret
+ */
+ move_proj2 (line : string) {
+ this.target = parseInt(line.split('PROJ2 ')[1]);
+ if (this.rec !== -1) {
+ if (this.target > this.proj2) {
+ this.dist = this.target - this.proj2;
+ for (let x = 0; x < this.dist; x++) {
+ this.loops[this.rec].arr.push('P2F');
+ this.loops[this.rec].meta.push('');
+ this.update('P2F');
+ }
+ } else {
+ this.dist = this.proj2 - this.target;
+ for (let x = 0; x < this.dist; x++) {
+ this.loops[this.rec].arr.push('P2B');
+ this.loops[this.rec].meta.push('');
+ this.update('P2B');
+ }
+ }
+ } else {
+ if (this.target > this.proj2) {
+ this.dist = this.target - this.proj2;
+ for (let x = 0; x < this.dist; x++) {
+ this.arr.push('P2F');
+ this.meta.push('');
+ this.update('P2F');
+ }
+ } else {
+ this.dist = this.proj2 - this.target;
+ for (let x = 0; x < this.dist; x++) {
+ this.arr.push('P2B');
+ this.meta.push('');
+ this.update('P2B');
+ }
+ }
+ }
+ }
/**
* Set the state of either the cam or projector
*
* @param line {string} String containing set statement
*/
set_state (line : string) {
- if (startsWith(line, 'SET CAM')) {
+ if (startsWith(line, 'SET CAM2')) {
+ parseInt(line.split('SET CAM2')[1]);
+ } else if (startsWith(line, 'SET PROJ2')) {
+ this.cam2 = parseInt(line.split('SET PROJ2')[1]);
+ } else if (startsWith(line, 'SET CAM')) {
this.cam = parseInt(line.split('SET CAM')[1]);
} else if (startsWith(line, 'SET PROJ')) {
this.proj = parseInt(line.split('SET PROJ')[1]);
@@ -545,7 +704,7 @@ class Mscript {
if (this.rec === -1) {
this.cam -= val;
} else {
- this.loops[this.rec].cam--;
+ this.loops[this.rec].cam -= val;
}
} else if (cmd === 'PF') {
if (this.rec === -1) {
@@ -557,7 +716,7 @@ class Mscript {
if (this.rec === -1) {
this.proj -= val;
} else {
- this.loops[this.rec].proj--;
+ this.loops[this.rec].proj -= val;
}
} else if (cmd === 'BF') {
if (this.rec === -1) {
@@ -570,7 +729,95 @@ class Mscript {
this.cam -= val;
} else {
this.loops[this.rec].cam -= val;
- }
+ }
+ } else if (cmd === 'C2F') {
+ if (this.rec === -1) {
+ this.cam2 += val;
+ } else {
+ this.loops[this.rec].cam2 += val;
+ }
+ } else if (cmd === 'C2B') {
+ if (this.rec === -1) {
+ this.cam2 -= val;
+ } else {
+ this.loops[this.rec].cam2 -= val;
+ }
+ } else if (cmd === 'CCF') {
+ if (this.rec === -1) {
+ this.cam += val;
+ this.cam2 += val;
+ } else {
+ this.loops[this.rec].cam2 += val;
+ this.loops[this.rec].cam2 += val;
+ }
+ } else if (cmd === 'CCB') {
+ if (this.rec === -1) {
+ this.cam -= val;
+ this.cam2 -= val;
+ } else {
+ this.loops[this.rec].cam2 -= val;
+ this.loops[this.rec].cam2 -= val;
+ }
+ } else if (cmd === 'P2F') {
+ if (this.rec === -1) {
+ this.proj2 += val;
+ } else {
+ this.loops[this.rec].proj2 += val;
+ }
+ } else if (cmd === 'P2B') {
+ if (this.rec === -1) {
+ this.proj2 -= val;
+ } else {
+ this.loops[this.rec].proj2 -= val;
+ }
+ } else if (cmd === 'PPF') {
+ if (this.rec === -1) {
+ this.proj += val;
+ this.proj2 += val;
+ } else {
+ this.loops[this.rec].proj += val
+ this.loops[this.rec].proj2 += val;
+ }
+ } else if (cmd === 'PPB') {
+ if (this.rec === -1) {
+ this.proj -= val;
+ this.proj2 -= val;
+ } else {
+ this.loops[this.rec].proj -= val
+ this.loops[this.rec].proj2 -= val;
+ }
+ } else if (cmd === 'CFCB') {
+ if (this.rec === -1) {
+ this.cam += val;
+ this.cam2 -= val;
+ } else {
+ this.loops[this.rec].cam += val;
+ this.loops[this.rec].cam2 -= val;
+ }
+ } else if (cmd === 'CBCF') {
+ if (this.rec === -1) {
+ this.cam -= val;
+ this.cam2 += val;
+ } else {
+ this.loops[this.rec].cam -= val;
+ this.loops[this.rec].cam2 += val;
+ }
+ } else if (cmd === 'PFPB') {
+ if (this.rec === -1) {
+ this.proj += val;
+ this.proj2 -= val;
+ } else {
+ this.loops[this.rec].proj += val;
+ this.loops[this.rec].proj2 -= val;
+ }
+ } else if (cmd === 'PBPF') {
+ if (this.rec === -1) {
+ this.proj -= val;
+ this.proj2 += val;
+ } else {
+ this.loops[this.rec].proj -= val;
+ this.loops[this.rec].proj2 += val;
+ }
} else if (cmd === 'L ') {
}
@@ -667,7 +914,7 @@ class Mscript {
this.loops[this.rec].meta
.push(lenStr);
} else {
- this.arr.push('AL');
+ this.arr.push('PA');
this.meta.push(lenStr);
}
}
@@ -685,10 +932,10 @@ class Mscript {
this.loops[this.rec].arr
.push('AL');
this.loops[this.rec].meta
- .push(msg);
+ .push(line);
} else {
this.arr.push('AL');
- this.meta.push(msg);
+ this.meta.push(line);
}
}
@@ -700,6 +947,19 @@ class Mscript {
fail (msg : string) {
throw new Error(msg);
}
+
+ /**
+ * Determine if array contains matching elements of
+ * another array
+ *
+ * @param {Array} arr Original array to compare
+ * @param {Array} arr2 Array to compare elements from
+ *
+ * @returns {boolean} Whether arr contains elements in arr2
+ **/
+ contains (arr : string[], arr2 : string[]) {
+ return arr.some(r => arr2.includes(r));
+ }
}
module.exports = Mscript;
@@ -710,9 +970,15 @@ module.exports = Mscript;
CAM # - go to camera frame #
PROJ # - go to projector frame #
+CAM2 # - go to camera 2 frame #
+PROJ # - go to projector 2 frame #
+
SET CAM # - sets camera count to #
SET PROJ # - sets projector count to #
+SET CAM2 # - sets camera 2 count to #
+SET PROJ2 # - sets projector 2 count to #
+
LOOP # - begin loop, can nest recursively, # times
END LOOP - (or END) closes loop
@@ -727,8 +993,15 @@ BF - Black forwards
CB - Camera backwards
PB - Projector backwards
BB - Black backwards
+C2F - Camera 2 forwards
+C2B - Camera 2 backwards
+CCF - Both cameras forwards
+CCB - Both cameras backwards
+P2F - Projector 2 forwards
+P2B - Projector 2 backwards
+PPF - Both projectors forwards
+PPB - Both projectors backwards
ALERT {MESSAGE} - Stop the sequence and requiure user interaction to complete
-PAUSE # - Pause the sequence for a # of seconds
*/
\ No newline at end of file
diff --git a/src/sequencer/index.ts b/src/sequencer/index.ts
index 868824c..c5fcf05 100644
--- a/src/sequencer/index.ts
+++ b/src/sequencer/index.ts
@@ -266,8 +266,7 @@ class Sequencer {
const cmdOriginal : string = this.arr[x].cmd;
const cmd : string = this.CMDS[cmdOriginal];
this.log.info(`CMD: '${cmdOriginal}' -> ${cmd}`);
- //I wrote this when I was very tired and delirious
- return await this.cmd[cmd]();
+ return await this.cmd[cmd](this.arr[x]);
}
}
diff --git a/src/settings/index.ts b/src/settings/index.ts
index 4d83d1a..c462654 100644
--- a/src/settings/index.ts
+++ b/src/settings/index.ts
@@ -15,7 +15,8 @@ class Settings {
profile : 'mcopy',
camera : {},
projector : {},
- light : {}
+ light : {},
+ capper : {}
}
public state : any;
/**
diff --git a/stl/arri_s_camera_bellows_board.stl b/stl/arri_s_camera_bellows_board.stl
new file mode 100644
index 0000000..e9c6566
Binary files /dev/null and b/stl/arri_s_camera_bellows_board.stl differ
diff --git a/stl/arri_s_mount.stl b/stl/arri_s_mount.stl
new file mode 100644
index 0000000..a7948d8
Binary files /dev/null and b/stl/arri_s_mount.stl differ
diff --git a/stl/arri_s_mount_center_fitting.stl b/stl/arri_s_mount_center_fitting.stl
new file mode 100644
index 0000000..0bd7729
Binary files /dev/null and b/stl/arri_s_mount_center_fitting.stl differ
diff --git a/stl/camera_bellows_board.stl b/stl/camera_bellows_board.stl
new file mode 100644
index 0000000..6e8e1f9
Binary files /dev/null and b/stl/camera_bellows_board.stl differ
diff --git a/stl/capper_cap.stl b/stl/capper_cap.stl
new file mode 100644
index 0000000..45f0e42
Binary files /dev/null and b/stl/capper_cap.stl differ
diff --git a/stl/capper_mount_back.stl b/stl/capper_mount_back.stl
new file mode 100644
index 0000000..6d608ba
Binary files /dev/null and b/stl/capper_mount_back.stl differ
diff --git a/stl/capper_mount_front.stl b/stl/capper_mount_front.stl
new file mode 100644
index 0000000..89acd77
Binary files /dev/null and b/stl/capper_mount_front.stl differ
diff --git a/stl/capper_opto.stl b/stl/capper_opto.stl
new file mode 100644
index 0000000..9c985f7
Binary files /dev/null and b/stl/capper_opto.stl differ
diff --git a/stl/capper_opto_endstop_mount.stl b/stl/capper_opto_endstop_mount.stl
new file mode 100644
index 0000000..744959b
Binary files /dev/null and b/stl/capper_opto_endstop_mount.stl differ
diff --git a/stl/jk_lens_assembly_bellows_board.stl b/stl/jk_lens_assembly_bellows_board.stl
new file mode 100644
index 0000000..2d77dfd
Binary files /dev/null and b/stl/jk_lens_assembly_bellows_board.stl differ
diff --git a/stl/jk_lens_assembly_camera_bellows_board.stl b/stl/jk_lens_assembly_camera_bellows_board.stl
new file mode 100644
index 0000000..05e2dc6
Binary files /dev/null and b/stl/jk_lens_assembly_camera_bellows_board.stl differ
diff --git a/stl/jk_projector_knob.stl b/stl/jk_projector_knob.stl
index 731bf44..d775c1c 100644
Binary files a/stl/jk_projector_knob.stl and b/stl/jk_projector_knob.stl differ
diff --git a/stl/motor_rod.stl b/stl/motor_rod.stl
new file mode 100644
index 0000000..0bdb2b9
Binary files /dev/null and b/stl/motor_rod.stl differ
diff --git a/tsconfig.json b/tsconfig.json
index b01b6ec..4a1c7ed 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -7,6 +7,7 @@
"moduleResolution": "node",
"sourceMap": true,
"removeComments" : false,
+ "declaration" : true,
"baseUrl" : "lib",
"outDir": "./lib/",
"rootDir" : "./src/",