From d6b419ea13ebe7e7adccdee345535cec2b09325e Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 00:57:34 +0100 Subject: [PATCH 01/46] Create rellotge.js --- apps/rellotge/rellotge.js | 135 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 apps/rellotge/rellotge.js diff --git a/apps/rellotge/rellotge.js b/apps/rellotge/rellotge.js new file mode 100644 index 000000000..eb5352440 --- /dev/null +++ b/apps/rellotge/rellotge.js @@ -0,0 +1,135 @@ +// drawWidgets() is added by bootloader.js when loading a clock app, but when you upload via the IDE it just +// resets the watch and skips out running bootloader.js completely. So add the relevant code from the bootloader. +var WIDGETPOS = { + tl: 32, + tr: g.getWidth() - 32, + bl: 32, + br: g.getWidth() - 32 +}; +var WIDGETS = {}; + +function drawWidgets() { + for (var w of WIDGETS) w.draw(); +} + +require("Storage").list().filter(a => a[0] == '=').forEach( + widget => eval(require("Storage").read(widget))); +setTimeout(drawWidgets, 100); + +// Example application code +// Taken from https://github.com/espruino/BangleApps/blob/master/apps/sclock/clock-simple.js +(function() { + + const timeFontSize = 15; + const dateFontSize = 10; + const gmtFontSize = 10; + const font = "Vector"; + + const xyCenter = g.getWidth() / 2; + const yposTime = 50; + const yposDate = 130; + const yposYear = 175; + const yposGMT = 220; + const leshores = ["Les dotze","La una","Les dues","les tres","Les quatre","Les cinc","Les sis","Les set","Les vuit","Les nou","Les deu","Les onze","Les dotze","La una","Les dues","Les tres","Les quatre","Les cinc","Les sis","Les set","Les vuit","Les nou","Les deu","Les onze","Les dotze"]; + const leshores2 = ["de dotze","d\'una del mati","de dues del mati","de tres del mati","de quatre del mati","de cinc del mati","de sis del mati","de set del mati","de vuit del mati","de nou del mati","de deu del mati","d'onze del mati","de dotze del mati","d'una de la tarda","de dues de la tarda","de tres de la tarda","de quatre de la tarda","de cinc de la tarda","de sis de la tarda","de set de la tarda","de vuit de la tarda","de nou del vespre","de deu del vespre","d'onze del vespre","de dotze"]; + + function drawSimpleClock() { + g.clear(); + // get date + var d = new Date(); + var da = d.toString().split(" "); + var m = d.getMinutes(); + + // drawSting centered + g.setFontAlign(0, 0); + + // draw time + var time = da[4].substr(0, 5); + var hora = time.split(":"); + if (m >= 0 && m < 2) { + t = leshores[d.getHours()] + "\r\nen punt"; + } else if (m >= 2 && m < 5) { + t = leshores[d.getHours()] + "\r\ntocades"; + } else if (m >= 5 && m < 7) { + t = leshores[d.getHours()] + "\r\nben tocades"; + } else if (m >= 7 && m < 10) { + t = "Mig quart\r\n" + leshores2[d.getHours()]; + } else if (m >= 10 && m < 12) { + t = "Mig quart tocat\r\n" + leshores2[d.getHours()]; + } else if (m >= 12 && m < 15) { + t = "Mig quart\r\nben tocat\r\n" + leshores2[d.getHours()]; + } else if (m >= 15 && m < 17) { + t = "Un quart\r\n" + leshores2[d.getHours()]; + } else if (m >= 17 && m < 20) { + t = "Un quart tocat\r\n" + leshores2[d.getHours()]; + } else if (m >= 20 && m < 22) { + t = "Un quart\r\nben tocat\r\n" + leshores2[d.getHours()]; + } else if (m >= 22 && m < 25) { + t = "Un quart i mig\r\n" + leshores2[d.getHours()]; + } else if (m >= 25 && m < 27) { + t = "Un quart i mig\r\ntocat\r\n" + leshores2[d.getHours()]; + } else if (m >= 27 && m < 30) { + t = "Un quart i mig\r\nben tocat\r\n" + leshores2[d.getHours()]; + } else if (m >= 30 && m < 32) { + t = "Dos quarts\r\n" + leshores2[d.getHours()]; + } else if (m >= 32 && m < 35) { + t = "Dos quarts tocats\r\n" + leshores2[d.getHours()]; + } else if (m >= 35 && m < 37) { + t = "Dos quarts\r\nben tocats\r\n" + leshores2[d.getHours()]; + } else if (m >= 37 && m < 40) { + t = "Dos quarts i mig\r\n" + leshores2[d.getHours()]; + } else if (m >= 40 && m < 42) { + t = "Dos quarts i mig\r\ntocats\r\n" + leshores2[d.getHours()]; + } else if (m >= 42 && m < 45) { + t = "Dos quarts i mig\r\nben tocats\r\n" + leshores2[d.getHours()]; + } else if (m >= 45 && m < 47) { + t = "Tres quarts\r\n" + leshores2[d.getHours()]; + } else if (m >= 47 && m < 50) { + t = "Tres quarts tocats\r\n" + leshores2[d.getHours()]; + } else if (m >= 50 && m < 52) { + t = "Tres quarts\r\nben tocats\r\n" + leshores2[d.getHours()]; + } else if (m >= 52 && m < 55) { + t = "Tres quarts i mig\r\n" + leshores2[d.getHours()]; + } else if (m >= 55 && m < 57) { + t = "Tres quarts i mig\r\ntocats\r\n" + leshores2[d.getHours()]; + } else if (m >= 57) { + t = "Tres quarts i mig\r\nben tocats\r\n" + leshores2[d.getHours()]; + } + g.setFont(font, timeFontSize); + g.drawString(t, xyCenter, yposTime, true); + + // draw Day, name of month, Date + var date = [da[0], da[1], da[2]].join(" "); + g.setFont(font, dateFontSize); + + g.drawString(date, xyCenter, yposDate, true); + + // draw year + g.setFont(font, dateFontSize); + g.drawString(d.getFullYear(), xyCenter, yposYear, true); + + // draw gmt + var gmt = da[5]; + g.setFont(font, gmtFontSize); + g.drawString(gmt, xyCenter, yposGMT, true); + + } + + // handle switch display on by pressing BTN1 + Bangle.on('lcdPower', function(on) { + if (on) { + drawWidgets(); + drawSimpleClock(); + } + }); + + // clean app screen + //g.clear(); + + // refesh every 15 sec + setInterval(drawSimpleClock, 15E3); + + // draw now + drawSimpleClock(); + +})(); From 65782808a240ec412e2f60006ea012c6365f4676 Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 01:00:29 +0100 Subject: [PATCH 02/46] Create metadata.json --- apps/rellotge/metadata.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 apps/rellotge/metadata.json diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json new file mode 100644 index 000000000..d30224d62 --- /dev/null +++ b/apps/rellotge/metadata.json @@ -0,0 +1,10 @@ +{ "id": "rellotge", + "name": "Rellotge català", + "shortName":"Rellotge", + "version":"0.1", + "description": "Rellotge català per a Bangle JS 2", + "tags": "", + "storage": [ + {"name":"rellotge.rellotge.js","url":"rellotge.js"} + ] +} From da4b97ea76cfc45b52d59bc1a5ac6f4aac7240b7 Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 01:04:06 +0100 Subject: [PATCH 03/46] Update metadata.json --- apps/rellotge/metadata.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json index d30224d62..d9cee8ba5 100644 --- a/apps/rellotge/metadata.json +++ b/apps/rellotge/metadata.json @@ -1,10 +1,12 @@ { "id": "rellotge", - "name": "Rellotge català", + "name": "Rellotge Català", "shortName":"Rellotge", + "icon": "app.png", "version":"0.1", - "description": "Rellotge català per a Bangle JS 2", + "description": "This is a description of my awesome timer app", "tags": "", "storage": [ - {"name":"rellotge.rellotge.js","url":"rellotge.js"} + {"name":"rellotge.app.js","url":"rellotge.js"}, + {"name":"timer.img","url":"app-icon.js","evaluate":true} ] } From 9e6896312eb8928ee833c2e3116a8c1b58672f06 Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 01:08:18 +0100 Subject: [PATCH 04/46] Update metadata.json --- apps/rellotge/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json index d9cee8ba5..0529aeaee 100644 --- a/apps/rellotge/metadata.json +++ b/apps/rellotge/metadata.json @@ -6,7 +6,7 @@ "description": "This is a description of my awesome timer app", "tags": "", "storage": [ - {"name":"rellotge.app.js","url":"rellotge.js"}, + {"name":"rellotge.js","url":"rellotge.js"}, {"name":"timer.img","url":"app-icon.js","evaluate":true} ] } From cc5e44c26ecf326fd0e4ade647368736d1b602cb Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 01:09:36 +0100 Subject: [PATCH 05/46] Update metadata.json --- apps/rellotge/metadata.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json index 0529aeaee..ee1f56078 100644 --- a/apps/rellotge/metadata.json +++ b/apps/rellotge/metadata.json @@ -1,12 +1,10 @@ { "id": "rellotge", "name": "Rellotge Català", "shortName":"Rellotge", - "icon": "app.png", "version":"0.1", "description": "This is a description of my awesome timer app", "tags": "", "storage": [ - {"name":"rellotge.js","url":"rellotge.js"}, - {"name":"timer.img","url":"app-icon.js","evaluate":true} + {"name":"rellotge.js","url":"rellotge.js"} ] } From 242e15a2b40252a3359f8ee58b7871e9916a5196 Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 01:11:42 +0100 Subject: [PATCH 06/46] Update metadata.json --- apps/rellotge/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json index ee1f56078..2efc1e3e4 100644 --- a/apps/rellotge/metadata.json +++ b/apps/rellotge/metadata.json @@ -1,5 +1,5 @@ { "id": "rellotge", - "name": "Rellotge Català", + "name": "Rellotge", "shortName":"Rellotge", "version":"0.1", "description": "This is a description of my awesome timer app", From f992e4ba05bcbaaba4252d48470a73c9a3607c1d Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 01:14:13 +0100 Subject: [PATCH 07/46] Update metadata.json --- apps/rellotge/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json index 2efc1e3e4..b7ddd9d06 100644 --- a/apps/rellotge/metadata.json +++ b/apps/rellotge/metadata.json @@ -3,6 +3,7 @@ "shortName":"Rellotge", "version":"0.1", "description": "This is a description of my awesome timer app", + "supports" : ["BANGLEJS2"], "tags": "", "storage": [ {"name":"rellotge.js","url":"rellotge.js"} From 9c952f0e70e16ace1d3fdd79421c5a8e61683492 Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 01:33:10 +0100 Subject: [PATCH 08/46] Update metadata.json --- apps/rellotge/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json index b7ddd9d06..d59b02c86 100644 --- a/apps/rellotge/metadata.json +++ b/apps/rellotge/metadata.json @@ -6,6 +6,6 @@ "supports" : ["BANGLEJS2"], "tags": "", "storage": [ - {"name":"rellotge.js","url":"rellotge.js"} + {"name":"rellotge.js","url":"https://enricpineda.github.io/BangleApps/apps/rellotge/rellotge.js"} ] } From 45ad884e128b4acca8277ead8d0ede68e1ff22ab Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 11:05:14 +0100 Subject: [PATCH 09/46] Create icona.js --- apps/rellotge/icona.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 apps/rellotge/icona.js diff --git a/apps/rellotge/icona.js b/apps/rellotge/icona.js new file mode 100644 index 000000000..cb128500e --- /dev/null +++ b/apps/rellotge/icona.js @@ -0,0 +1 @@ +E.toArrayBuffer(atob("MDCDAkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkhJJJJJJJJJJJJJJJJJJJJJEkiJJJJJJJJJJJJJJJJJJJJJEkiRJJJJJJJJJJJJJJJJJJJJEkiSJJJJJJJJJJJJJJJJJJJJEkiSRtttttttttttttttttttkkiSSNttttttttttttttttttkkiSSRttttttttttttttttttkkiSSSJJJJJJJJJJJJJJJJJJEkiSSSRJJJJJJJJJJJJJJJJJEkiSSSSJJJJJJJJJJJJJJJJJEkiSSWSTJJJJJJJJJJJJJJJJEkiSSeSSdtttttttttttttttkkiST+SSTtttttttttttttttkkiX///ySZttttttttttttttkkiSf/2SSTJJJJJJJJJJJJJJEkiSf/ySSTJJJJJJJJJJJJJJEkiSfz2SSZJJJJJJJJJJJJJJEkiSWSWSTtttttttttttttttkkiSSSSSdtttttttttttttttkkiSSSSTttttttttttttttttkkiSSSSZJJJJJJJJJJJJJJJJEkiSSSTJJJJJJJJJJJJJJJJJEkiSSSZJJJJJJJJJJJJJJJJJEkiSSTJJJJJJJJJJJJJJJJJJEkiSSNttttttttttttttttttkkiSRtttttttttttttttttttkkiSJtttttttttttttttttttkkiRJJJJJJJJJJJJJJJJJJJJEkiJJJJJJJJJJJJJJJJJJJJJEkhJJJJJJJJJJJJJJJJJJJJJEkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkg==")); From dd645b11e3a33cfd8b392af4c140dab70d0a364c Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 11:07:53 +0100 Subject: [PATCH 10/46] Update metadata.json --- apps/rellotge/metadata.json | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json index d59b02c86..47bd5a433 100644 --- a/apps/rellotge/metadata.json +++ b/apps/rellotge/metadata.json @@ -1,11 +1,13 @@ { "id": "rellotge", - "name": "Rellotge", + "name": "Rellotge en catala", "shortName":"Rellotge", - "version":"0.1", - "description": "This is a description of my awesome timer app", - "supports" : ["BANGLEJS2"], + "version":"0.01", + "description": "A catalan clock with traditional naming of hous", + "icon": "icona.js", "tags": "", - "storage": [ - {"name":"rellotge.js","url":"https://enricpineda.github.io/BangleApps/apps/rellotge/rellotge.js"} + "supports" : ["BANGLEJS2"], + "storage": [ + {"name":"rellotge.js","url":"rellotge.js"}, + {"name":"rellotge.img","url":"icona.js","evaluate":true} ] } From 5ec79957970007bf306af2c599f33e9d0ca2e90a Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 11:11:03 +0100 Subject: [PATCH 11/46] Update icona.js --- apps/rellotge/icona.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rellotge/icona.js b/apps/rellotge/icona.js index cb128500e..91a5b1460 100644 --- a/apps/rellotge/icona.js +++ b/apps/rellotge/icona.js @@ -1 +1 @@ -E.toArrayBuffer(atob("MDCDAkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkhJJJJJJJJJJJJJJJJJJJJJEkiJJJJJJJJJJJJJJJJJJJJJEkiRJJJJJJJJJJJJJJJJJJJJEkiSJJJJJJJJJJJJJJJJJJJJEkiSRtttttttttttttttttttkkiSSNttttttttttttttttttkkiSSRttttttttttttttttttkkiSSSJJJJJJJJJJJJJJJJJJEkiSSSRJJJJJJJJJJJJJJJJJEkiSSSSJJJJJJJJJJJJJJJJJEkiSSWSTJJJJJJJJJJJJJJJJEkiSSeSSdtttttttttttttttkkiST+SSTtttttttttttttttkkiX///ySZttttttttttttttkkiSf/2SSTJJJJJJJJJJJJJJEkiSf/ySSTJJJJJJJJJJJJJJEkiSfz2SSZJJJJJJJJJJJJJJEkiSWSWSTtttttttttttttttkkiSSSSSdtttttttttttttttkkiSSSSTttttttttttttttttkkiSSSSZJJJJJJJJJJJJJJJJEkiSSSTJJJJJJJJJJJJJJJJJEkiSSSZJJJJJJJJJJJJJJJJJEkiSSTJJJJJJJJJJJJJJJJJJEkiSSNttttttttttttttttttkkiSRtttttttttttttttttttkkiSJtttttttttttttttttttkkiRJJJJJJJJJJJJJJJJJJJJEkiJJJJJJJJJJJJJJJJJJJJJEkhJJJJJJJJJJJJJJJJJJJJJEkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkg==")); +require("heatshrink").decompress(atob("mEwwcCpMkyQC/AX4CepASPiVIxIRQyIRQyQRRo3btu2ARRZBAIIRQpMbCKEiI54GBCKKSMCIdkyYRP8mSuxZNp4RBpwRMy////ypObEZl//o4BmRHMv/8CKE9AwJrNrMlLJwYDPpwRBybpPkmZa6HJCJ8mfaCMKCItIKxRZFowRQkwRPyJELI4mJCKAOMCIYQPAX4C/ASIA=")) From 078bd91029f0e2b753c7a69282a95d1477b4974d Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 11:23:26 +0100 Subject: [PATCH 12/46] Canvi en Metadata --- apps/rellotge/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json index 47bd5a433..e30299e7b 100644 --- a/apps/rellotge/metadata.json +++ b/apps/rellotge/metadata.json @@ -7,7 +7,7 @@ "tags": "", "supports" : ["BANGLEJS2"], "storage": [ - {"name":"rellotge.js","url":"rellotge.js"}, + {"name":"rellotge.app.js","url":"rellotge.js"}, {"name":"rellotge.img","url":"icona.js","evaluate":true} ] } From fca72c59405e56e6cacc49966751df85e5edc9df Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 11:28:41 +0100 Subject: [PATCH 13/46] Update metadata.json --- apps/rellotge/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json index e30299e7b..e65b02af4 100644 --- a/apps/rellotge/metadata.json +++ b/apps/rellotge/metadata.json @@ -4,6 +4,7 @@ "version":"0.01", "description": "A catalan clock with traditional naming of hous", "icon": "icona.js", + "type": "clock", "tags": "", "supports" : ["BANGLEJS2"], "storage": [ From eb21622500f17424b9123fabdb4414703bd6090d Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 13:53:08 +0100 Subject: [PATCH 14/46] Create README.md --- apps/rellotge/README.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 apps/rellotge/README.md diff --git a/apps/rellotge/README.md b/apps/rellotge/README.md new file mode 100644 index 000000000..2cc015f9a --- /dev/null +++ b/apps/rellotge/README.md @@ -0,0 +1,5 @@ +# Rellotge, una aplicació per llegir l'hora en català + +Ara ja pots llegir l'hora en català com un professional amb aquesta aplicació. Domina els quarts, els mitjos quarts, tocats i ben tocats en cada moment del dia! + +Tiu ĉi apo permesas vin indiki kioma horo estas laŭ la kataluna tradicia sistemo. From a884cfadbcd4340252813e1ba6f76baca6d303e7 Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 13:55:26 +0100 Subject: [PATCH 15/46] Afegim Readme a les metadades --- apps/rellotge/metadata.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json index e65b02af4..94577cd9b 100644 --- a/apps/rellotge/metadata.json +++ b/apps/rellotge/metadata.json @@ -4,6 +4,7 @@ "version":"0.01", "description": "A catalan clock with traditional naming of hous", "icon": "icona.js", + "readme": "README.md", "type": "clock", "tags": "", "supports" : ["BANGLEJS2"], From a464150a3dd25a160f84102173328c41b279e504 Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 13:57:52 +0100 Subject: [PATCH 16/46] Esmenat error en les hores no en punt, canviat a 60 segons el refrescament --- apps/rellotge/rellotge.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/rellotge/rellotge.js b/apps/rellotge/rellotge.js index eb5352440..5923c48e2 100644 --- a/apps/rellotge/rellotge.js +++ b/apps/rellotge/rellotge.js @@ -31,7 +31,7 @@ setTimeout(drawWidgets, 100); const yposYear = 175; const yposGMT = 220; const leshores = ["Les dotze","La una","Les dues","les tres","Les quatre","Les cinc","Les sis","Les set","Les vuit","Les nou","Les deu","Les onze","Les dotze","La una","Les dues","Les tres","Les quatre","Les cinc","Les sis","Les set","Les vuit","Les nou","Les deu","Les onze","Les dotze"]; - const leshores2 = ["de dotze","d\'una del mati","de dues del mati","de tres del mati","de quatre del mati","de cinc del mati","de sis del mati","de set del mati","de vuit del mati","de nou del mati","de deu del mati","d'onze del mati","de dotze del mati","d'una de la tarda","de dues de la tarda","de tres de la tarda","de quatre de la tarda","de cinc de la tarda","de sis de la tarda","de set de la tarda","de vuit de la tarda","de nou del vespre","de deu del vespre","d'onze del vespre","de dotze"]; + const leshores2 = ["d\'una del mati","de dues del mati","de tres del mati","de quatre del mati","de cinc del mati","de sis del mati","de set del mati","de vuit del mati","de nou del mati","de deu del mati","d'onze del mati","de dotze del mati","d'una de la tarda","de dues de la tarda","de tres de la tarda","de quatre de la tarda","de cinc de la tarda","de sis de la tarda","de set de la tarda","de vuit de la tarda","de nou del vespre","de deu del vespre","d'onze del vespre","de dotze"]; function drawSimpleClock() { g.clear(); @@ -126,8 +126,8 @@ setTimeout(drawWidgets, 100); // clean app screen //g.clear(); - // refesh every 15 sec - setInterval(drawSimpleClock, 15E3); + // refesh every 60 sec + setInterval(drawSimpleClock, 60E3); // draw now drawSimpleClock(); From e0a2c9d55f21474bbc6254f98c4b79e160a4896d Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 13:58:35 +0100 Subject: [PATCH 17/46] =?UTF-8?q?Canviat=20el=20n=C3=BAmero=20de=20versi?= =?UTF-8?q?=C3=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/rellotge/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json index 94577cd9b..8a827b15f 100644 --- a/apps/rellotge/metadata.json +++ b/apps/rellotge/metadata.json @@ -1,7 +1,7 @@ { "id": "rellotge", "name": "Rellotge en catala", "shortName":"Rellotge", - "version":"0.01", + "version":"0.2", "description": "A catalan clock with traditional naming of hous", "icon": "icona.js", "readme": "README.md", From 828222dea373e4347eb3b9dbdcbd2339a960c7af Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 14:00:12 +0100 Subject: [PATCH 18/46] Creem el ChangeLog del projecte --- apps/rellotge/ChangeLog | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 apps/rellotge/ChangeLog diff --git a/apps/rellotge/ChangeLog b/apps/rellotge/ChangeLog new file mode 100644 index 000000000..3e99363f6 --- /dev/null +++ b/apps/rellotge/ChangeLog @@ -0,0 +1,2 @@ +0.1: Llançament inicial +0.2: Esmenat problema amb les hores passada l'hora en punt (apareixia l'hora anterior) From 4827d43ea35ae1df8dc10faee6a467e2c0429253 Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 15:10:45 +0100 Subject: [PATCH 19/46] =?UTF-8?q?Canvi=20total=20de=20visualitzaci=C3=B3?= =?UTF-8?q?=20de=20dades?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Canvi de la tipografia - Alienat a l'esquerra - Lletra més gran i clara --- apps/rellotge/rellotge.js | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/apps/rellotge/rellotge.js b/apps/rellotge/rellotge.js index 5923c48e2..c677bf824 100644 --- a/apps/rellotge/rellotge.js +++ b/apps/rellotge/rellotge.js @@ -20,18 +20,18 @@ setTimeout(drawWidgets, 100); // Taken from https://github.com/espruino/BangleApps/blob/master/apps/sclock/clock-simple.js (function() { - const timeFontSize = 15; - const dateFontSize = 10; + const timeFontSize = 1; + const dateFontSize = 2; const gmtFontSize = 10; - const font = "Vector"; + const font = "12x20"; - const xyCenter = g.getWidth() / 2; - const yposTime = 50; + const xyCenter = g.getWidth() /9; + const yposTime = 55; const yposDate = 130; const yposYear = 175; const yposGMT = 220; const leshores = ["Les dotze","La una","Les dues","les tres","Les quatre","Les cinc","Les sis","Les set","Les vuit","Les nou","Les deu","Les onze","Les dotze","La una","Les dues","Les tres","Les quatre","Les cinc","Les sis","Les set","Les vuit","Les nou","Les deu","Les onze","Les dotze"]; - const leshores2 = ["d\'una del mati","de dues del mati","de tres del mati","de quatre del mati","de cinc del mati","de sis del mati","de set del mati","de vuit del mati","de nou del mati","de deu del mati","d'onze del mati","de dotze del mati","d'una de la tarda","de dues de la tarda","de tres de la tarda","de quatre de la tarda","de cinc de la tarda","de sis de la tarda","de set de la tarda","de vuit de la tarda","de nou del vespre","de deu del vespre","d'onze del vespre","de dotze"]; + const leshores2 = ["d\'una\r\nel mati","de dues\r\ndel mati","de tres\r\ndel mati","de quatre\r\ndel mati","de cinc\r\ndel mati","de sis\r\ndel mati","de set\r\ndel mati","de vuit\r\ndel mati","de nou\r\ndel mati","de deu\r\ndel mati","d'onze\r\ndel mati","de dotze\r\ndel mati","d'una\r\nde la tarda","de dues\r\nde la tarda","de tres\r\nde la tarda","de quatre\r\nde la tarda","de cinc\r\nde la tarda","de sis\r\nde la tarda","de set\r\nde la tarda","de vuit\r\nde la tarda","de nou\r\ndel vespre","de deu\r\ndel vespre","d'onze\r\ndel vespre","de dotze"]; function drawSimpleClock() { g.clear(); @@ -41,7 +41,7 @@ setTimeout(drawWidgets, 100); var m = d.getMinutes(); // drawSting centered - g.setFontAlign(0, 0); + g.setFontAlign(-1, 0); // draw time var time = da[4].substr(0, 5); @@ -55,13 +55,13 @@ setTimeout(drawWidgets, 100); } else if (m >= 7 && m < 10) { t = "Mig quart\r\n" + leshores2[d.getHours()]; } else if (m >= 10 && m < 12) { - t = "Mig quart tocat\r\n" + leshores2[d.getHours()]; + t = "Mig quart\r\ntocat\r\n" + leshores2[d.getHours()]; } else if (m >= 12 && m < 15) { t = "Mig quart\r\nben tocat\r\n" + leshores2[d.getHours()]; } else if (m >= 15 && m < 17) { t = "Un quart\r\n" + leshores2[d.getHours()]; } else if (m >= 17 && m < 20) { - t = "Un quart tocat\r\n" + leshores2[d.getHours()]; + t = "Un quart\r\ntocat\r\n" + leshores2[d.getHours()]; } else if (m >= 20 && m < 22) { t = "Un quart\r\nben tocat\r\n" + leshores2[d.getHours()]; } else if (m >= 22 && m < 25) { @@ -73,7 +73,7 @@ setTimeout(drawWidgets, 100); } else if (m >= 30 && m < 32) { t = "Dos quarts\r\n" + leshores2[d.getHours()]; } else if (m >= 32 && m < 35) { - t = "Dos quarts tocats\r\n" + leshores2[d.getHours()]; + t = "Dos quarts\r\ntocats\r\n" + leshores2[d.getHours()]; } else if (m >= 35 && m < 37) { t = "Dos quarts\r\nben tocats\r\n" + leshores2[d.getHours()]; } else if (m >= 37 && m < 40) { @@ -85,7 +85,7 @@ setTimeout(drawWidgets, 100); } else if (m >= 45 && m < 47) { t = "Tres quarts\r\n" + leshores2[d.getHours()]; } else if (m >= 47 && m < 50) { - t = "Tres quarts tocats\r\n" + leshores2[d.getHours()]; + t = "Tres quarts\r\ntocats\r\n" + leshores2[d.getHours()]; } else if (m >= 50 && m < 52) { t = "Tres quarts\r\nben tocats\r\n" + leshores2[d.getHours()]; } else if (m >= 52 && m < 55) { @@ -101,17 +101,12 @@ setTimeout(drawWidgets, 100); // draw Day, name of month, Date var date = [da[0], da[1], da[2]].join(" "); g.setFont(font, dateFontSize); + + var mu = ""; + if (m < 10) {mu = "0"+m;} else {mu = m;} - g.drawString(date, xyCenter, yposDate, true); + g.drawString(d.getHours()+":"+mu, xyCenter, yposDate, true); - // draw year - g.setFont(font, dateFontSize); - g.drawString(d.getFullYear(), xyCenter, yposYear, true); - - // draw gmt - var gmt = da[5]; - g.setFont(font, gmtFontSize); - g.drawString(gmt, xyCenter, yposGMT, true); } From 8dc99174e3bc82fd3a5d40d8ec00482abe317232 Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 15:11:41 +0100 Subject: [PATCH 20/46] =?UTF-8?q?Canvi=20de=20versi=C3=B3:=20v0.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/rellotge/ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/rellotge/ChangeLog b/apps/rellotge/ChangeLog index 3e99363f6..c43254edb 100644 --- a/apps/rellotge/ChangeLog +++ b/apps/rellotge/ChangeLog @@ -1,2 +1,3 @@ 0.1: Llançament inicial 0.2: Esmenat problema amb les hores passada l'hora en punt (apareixia l'hora anterior) +0.3: Redisseny de l'aplicatiu, text alineat a l'esquerra, font canviada, treiem dades innecessàries From 58a3004b918e196a8745f055fa784b48dc22f943 Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 15:12:12 +0100 Subject: [PATCH 21/46] =?UTF-8?q?Canvi=20de=20versi=C3=B3:=20v0.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/rellotge/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json index 8a827b15f..2ee086a30 100644 --- a/apps/rellotge/metadata.json +++ b/apps/rellotge/metadata.json @@ -1,7 +1,7 @@ { "id": "rellotge", "name": "Rellotge en catala", "shortName":"Rellotge", - "version":"0.2", + "version":"0.3", "description": "A catalan clock with traditional naming of hous", "icon": "icona.js", "readme": "README.md", From c4dcec89972f99006453838cb4c95d4ec535594e Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 15:24:38 +0100 Subject: [PATCH 22/46] =?UTF-8?q?Reparem=20el=20bot=C3=B3=20que=20no=20va?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/rellotge/rellotge.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rellotge/rellotge.js b/apps/rellotge/rellotge.js index c677bf824..04f735a64 100644 --- a/apps/rellotge/rellotge.js +++ b/apps/rellotge/rellotge.js @@ -114,7 +114,7 @@ setTimeout(drawWidgets, 100); Bangle.on('lcdPower', function(on) { if (on) { drawWidgets(); - drawSimpleClock(); + //drawSimpleClock(); } }); From d1ab9e2ebf949ee29b78a4e00904417af7c1845b Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Wed, 31 Jan 2024 15:40:45 +0100 Subject: [PATCH 23/46] Update rellotge.js --- apps/rellotge/rellotge.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/rellotge/rellotge.js b/apps/rellotge/rellotge.js index 04f735a64..694fd641e 100644 --- a/apps/rellotge/rellotge.js +++ b/apps/rellotge/rellotge.js @@ -113,7 +113,8 @@ setTimeout(drawWidgets, 100); // handle switch display on by pressing BTN1 Bangle.on('lcdPower', function(on) { if (on) { - drawWidgets(); + Bangle.loadWidgets(); + Bangle.drawWidgets(); //drawSimpleClock(); } }); From e9bfe66e89e80b0db7110ca2236b8a9359fd5d19 Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Fri, 2 Feb 2024 12:30:50 +0100 Subject: [PATCH 24/46] Afegits suggeriments rebuts de l'usuari @bobrippling --- apps/rellotge/rellotge.js | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/apps/rellotge/rellotge.js b/apps/rellotge/rellotge.js index 694fd641e..3e713792d 100644 --- a/apps/rellotge/rellotge.js +++ b/apps/rellotge/rellotge.js @@ -1,21 +1,3 @@ -// drawWidgets() is added by bootloader.js when loading a clock app, but when you upload via the IDE it just -// resets the watch and skips out running bootloader.js completely. So add the relevant code from the bootloader. -var WIDGETPOS = { - tl: 32, - tr: g.getWidth() - 32, - bl: 32, - br: g.getWidth() - 32 -}; -var WIDGETS = {}; - -function drawWidgets() { - for (var w of WIDGETS) w.draw(); -} - -require("Storage").list().filter(a => a[0] == '=').forEach( - widget => eval(require("Storage").read(widget))); -setTimeout(drawWidgets, 100); - // Example application code // Taken from https://github.com/espruino/BangleApps/blob/master/apps/sclock/clock-simple.js (function() { @@ -34,7 +16,7 @@ setTimeout(drawWidgets, 100); const leshores2 = ["d\'una\r\nel mati","de dues\r\ndel mati","de tres\r\ndel mati","de quatre\r\ndel mati","de cinc\r\ndel mati","de sis\r\ndel mati","de set\r\ndel mati","de vuit\r\ndel mati","de nou\r\ndel mati","de deu\r\ndel mati","d'onze\r\ndel mati","de dotze\r\ndel mati","d'una\r\nde la tarda","de dues\r\nde la tarda","de tres\r\nde la tarda","de quatre\r\nde la tarda","de cinc\r\nde la tarda","de sis\r\nde la tarda","de set\r\nde la tarda","de vuit\r\nde la tarda","de nou\r\ndel vespre","de deu\r\ndel vespre","d'onze\r\ndel vespre","de dotze"]; function drawSimpleClock() { - g.clear(); + g.clearRect(Bangle.appRect); // get date var d = new Date(); var da = d.toString().split(" "); @@ -111,16 +93,18 @@ setTimeout(drawWidgets, 100); } // handle switch display on by pressing BTN1 - Bangle.on('lcdPower', function(on) { + function onLcd(on) { if (on) { Bangle.loadWidgets(); Bangle.drawWidgets(); //drawSimpleClock(); + Bangle.removeListener('lcdPower', onLcd); } - }); + } + Bangle.on('lcdPower', onLcd); // clean app screen - //g.clear(); + g.clear(); // refesh every 60 sec setInterval(drawSimpleClock, 60E3); From 632caf7295ade25bf6ee6ce2c5151a566dc3a3e8 Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Fri, 2 Feb 2024 12:31:37 +0100 Subject: [PATCH 25/46] Update ChangeLog --- apps/rellotge/ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/rellotge/ChangeLog b/apps/rellotge/ChangeLog index c43254edb..2834e9748 100644 --- a/apps/rellotge/ChangeLog +++ b/apps/rellotge/ChangeLog @@ -1,3 +1,4 @@ 0.1: Llançament inicial 0.2: Esmenat problema amb les hores passada l'hora en punt (apareixia l'hora anterior) 0.3: Redisseny de l'aplicatiu, text alineat a l'esquerra, font canviada, treiem dades innecessàries +0.4: Afegits suggeriments de l'usuari @bobrippling al codi From a92425fc56b8dc329d56086747e4f6f9e43f9009 Mon Sep 17 00:00:00 2001 From: Enric Pineda Date: Fri, 2 Feb 2024 12:32:06 +0100 Subject: [PATCH 26/46] =?UTF-8?q?Canvi=20de=20versi=C3=B3:=20v0.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/rellotge/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json index 2ee086a30..d7b44844d 100644 --- a/apps/rellotge/metadata.json +++ b/apps/rellotge/metadata.json @@ -1,7 +1,7 @@ { "id": "rellotge", "name": "Rellotge en catala", "shortName":"Rellotge", - "version":"0.3", + "version":"0.4", "description": "A catalan clock with traditional naming of hous", "icon": "icona.js", "readme": "README.md", From b7a7c59ff8111e0af8ffe0a553d457159fc9b78f Mon Sep 17 00:00:00 2001 From: Anton Date: Mon, 26 Feb 2024 20:19:58 +0100 Subject: [PATCH 27/46] Warn about unused variables --- apps/.eslintrc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/.eslintrc.json b/apps/.eslintrc.json index d5a4bf2a3..bda2025f6 100644 --- a/apps/.eslintrc.json +++ b/apps/.eslintrc.json @@ -154,7 +154,7 @@ "no-useless-catch": "warn", // TODO: "no-undef": "warn", "no-undef": "off", - "no-unused-vars": "off", + "no-unused-vars": ["warn", { "args": "none" } ], "no-useless-escape": "off", "no-control-regex" : "off" } From 825a8b82908d217ec95aba70edc9d7da12d83dcb Mon Sep 17 00:00:00 2001 From: Anton Date: Thu, 29 Feb 2024 14:43:29 +0100 Subject: [PATCH 28/46] Update Eslint --- package-lock.json | 2355 +++++++++++++++++++++++++++++++++------------ package.json | 4 +- 2 files changed, 1716 insertions(+), 643 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9f4f9246a..839a96182 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,59 +12,158 @@ "acorn": "^7.2.0" }, "devDependencies": { - "eslint": "^8.14.0", + "eslint": "^8.57.0", "eslint-config-airbnb-base": "^15.0.0", - "eslint-plugin-import": "^2.26.0", + "eslint-plugin-import": "^2.29.1", "http-server": "^14.1.1", "npm-watch": "^0.11.0" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.2", - "globals": "^13.15.0", + "espree": "^9.6.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" }, "engines": { "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", "dev": true }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -150,16 +249,32 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-includes": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", - "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5", - "get-intrinsic": "^1.1.1", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "is-string": "^1.0.7" }, "engines": { @@ -169,15 +284,53 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", - "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", + "node_modules/array.prototype.filter": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.3.tgz", + "integrity": "sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz", + "integrity": "sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -187,6 +340,46 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/async": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", @@ -196,6 +389,21 @@ "lodash": "^4.17.14" } }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -252,13 +460,19 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -404,12 +618,30 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "node_modules/define-properties": { + "node_modules/define-data-property": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, @@ -433,34 +665,52 @@ } }, "node_modules/es-abstract": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", - "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "version": "1.22.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz", + "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.2", + "hasown": "^2.0.1", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.4.3", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.0", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.5", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -469,13 +719,54 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-shim-unscopables": { + "node_modules/es-array-method-boxes-properly": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dev": true, "dependencies": { - "has": "^1.0.3" + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { @@ -508,46 +799,49 @@ } }, "node_modules/eslint": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz", - "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" @@ -579,13 +873,14 @@ } }, "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, "dependencies": { "debug": "^3.2.7", - "resolve": "^1.20.0" + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, "node_modules/eslint-import-resolver-node/node_modules/debug": { @@ -598,16 +893,20 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", - "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", "dev": true, "dependencies": { - "debug": "^3.2.7", - "find-up": "^2.1.0" + "debug": "^3.2.7" }, "engines": { "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, "node_modules/eslint-module-utils/node_modules/debug": { @@ -620,24 +919,28 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" }, "engines": { "node": ">=4" @@ -647,12 +950,12 @@ } }, "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { @@ -667,16 +970,10 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -684,62 +981,44 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/espree": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", - "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "dependencies": { - "acorn": "^8.7.1", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/espree/node_modules/acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -749,9 +1028,9 @@ } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -814,6 +1093,15 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -839,15 +1127,19 @@ } }, "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { - "locate-path": "^2.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/flat-cache": { @@ -889,6 +1181,15 @@ } } }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -910,21 +1211,24 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -933,12 +1237,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, "node_modules/functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", @@ -949,27 +1247,33 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -1011,9 +1315,9 @@ } }, "node_modules/globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -1025,18 +1329,39 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/has": { + "node_modules/globalthis": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, "dependencies": { - "function-bind": "^1.1.1" + "define-properties": "^1.1.3" }, "engines": { - "node": ">= 0.4.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -1056,12 +1381,24 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.1" + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1080,12 +1417,12 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -1094,6 +1431,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -1169,9 +1518,9 @@ } }, "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { "node": ">= 4" @@ -1225,19 +1574,35 @@ "dev": true }, "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", + "es-errors": "^1.3.0", + "hasown": "^2.0.0", "side-channel": "^1.0.4" }, "engines": { "node": ">= 0.4" } }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -1279,9 +1644,9 @@ } }, "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, "engines": { "node": ">= 0.4" @@ -1291,12 +1656,12 @@ } }, "node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1339,9 +1704,9 @@ } }, "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, "engines": { "node": ">= 0.4" @@ -1374,6 +1739,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -1391,12 +1765,15 @@ } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1432,6 +1809,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -1444,6 +1836,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -1500,16 +1898,18 @@ } }, "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { @@ -1625,9 +2025,9 @@ } }, "node_modules/nodemon/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "bin": { "semver": "bin/semver" @@ -1683,9 +2083,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1701,14 +2101,14 @@ } }, "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, "engines": { @@ -1732,15 +2132,45 @@ "node": ">= 0.4" } }, - "node_modules/object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.2.tgz", + "integrity": "sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==", + "dev": true, + "dependencies": { + "array.prototype.filter": "^1.0.3", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.0.0" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -1768,53 +2198,50 @@ } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "p-try": "^1.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "p-limit": "^1.1.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=4" - } - }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", - "dev": true, - "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/parent-module": { @@ -1830,12 +2257,12 @@ } }, "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "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, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/path-is-absolute": { @@ -1897,6 +2324,15 @@ "ms": "^2.1.1" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -1913,9 +2349,9 @@ "dev": true }, "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "engines": { "node": ">=6" @@ -1936,6 +2372,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "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/readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -1963,14 +2419,15 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -1979,18 +2436,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -1998,12 +2443,12 @@ "dev": true }, "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "dependencies": { - "is-core-module": "^2.8.1", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -2023,6 +2468,16 @@ "node": ">=4" } }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -2038,6 +2493,47 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", + "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -2058,6 +2554,23 @@ } ] }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -2071,14 +2584,46 @@ "dev": true }, "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": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" } }, + "node_modules/set-function-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -2115,9 +2660,9 @@ } }, "node_modules/simple-update-notifier": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz", - "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", + "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", "dev": true, "dependencies": { "semver": "~7.0.0" @@ -2144,29 +2689,46 @@ "safe-buffer": "~5.2.0" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2269,13 +2831,13 @@ } }, "node_modules/tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, "dependencies": { "@types/json5": "^0.0.29", - "json5": "^1.0.1", + "json5": "^1.0.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" } @@ -2304,6 +2866,79 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz", + "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -2358,12 +2993,6 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, "node_modules/whatwg-encoding": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", @@ -2407,13 +3036,23 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/word-wrap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", + "node_modules/which-typed-array": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", + "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.6", + "call-bind": "^1.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/wrappy": { @@ -2421,19 +3060,52 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true + }, "@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.2", - "globals": "^13.15.0", + "espree": "^9.6.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -2441,29 +3113,73 @@ "strip-json-comments": "^3.1.1" } }, + "@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true + }, "@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" } }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true }, + "@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -2525,31 +3241,95 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + } + }, "array-includes": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", - "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5", - "get-intrinsic": "^1.1.1", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "is-string": "^1.0.7" } }, - "array.prototype.flat": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", - "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", + "array.prototype.filter": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.3.tgz", + "integrity": "sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "array.prototype.findlastindex": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz", + "integrity": "sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" } }, + "array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + } + }, "async": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", @@ -2559,6 +3339,15 @@ "lodash": "^4.17.14" } }, + "available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "requires": { + "possible-typed-array-names": "^1.0.0" + } + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2608,13 +3397,16 @@ } }, "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" } }, "callsites": { @@ -2719,12 +3511,24 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "define-properties": { + "define-data-property": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" } @@ -2739,43 +3543,93 @@ } }, "es-abstract": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", - "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "version": "1.22.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz", + "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==", "dev": true, "requires": { - "call-bind": "^1.0.2", + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.2", + "hasown": "^2.0.1", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.4.3", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.0", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.5", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.14" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, + "es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" } }, "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, "requires": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "es-to-primitive": { @@ -2796,46 +3650,49 @@ "dev": true }, "eslint": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz", - "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" } }, "eslint-config-airbnb-base": { @@ -2851,13 +3708,14 @@ } }, "eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, "requires": { "debug": "^3.2.7", - "resolve": "^1.20.0" + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" }, "dependencies": { "debug": { @@ -2872,13 +3730,12 @@ } }, "eslint-module-utils": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", - "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", "dev": true, "requires": { - "debug": "^3.2.7", - "find-up": "^2.1.0" + "debug": "^3.2.7" }, "dependencies": { "debug": { @@ -2893,33 +3750,37 @@ } }, "eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, "requires": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" }, "dependencies": { "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "doctrine": { @@ -2930,71 +3791,48 @@ "requires": { "esutils": "^2.0.2" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true } } }, "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "requires": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true }, "espree": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", - "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "requires": { - "acorn": "^8.7.1", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.1" }, "dependencies": { "acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true } } }, "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -3045,6 +3883,15 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -3064,12 +3911,13 @@ } }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" } }, "flat-cache": { @@ -3094,6 +3942,15 @@ "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "dev": true }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -3108,29 +3965,23 @@ "optional": true }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true }, "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" } }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, "functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", @@ -3138,24 +3989,27 @@ "dev": true }, "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" } }, "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" } }, "glob": { @@ -3182,23 +4036,38 @@ } }, "globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "requires": { "type-fest": "^0.20.2" } }, - "has": { + "globalthis": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, "requires": { - "function-bind": "^1.1.1" + "define-properties": "^1.1.3" } }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, "has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -3212,14 +4081,20 @@ "dev": true }, "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, "requires": { - "get-intrinsic": "^1.1.1" + "es-define-property": "^1.0.0" } }, + "has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true + }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -3227,12 +4102,21 @@ "dev": true }, "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "requires": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" + } + }, + "hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "dev": true, + "requires": { + "function-bind": "^1.1.2" } }, "he": { @@ -3292,9 +4176,9 @@ } }, "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true }, "ignore-by-default": { @@ -3336,16 +4220,26 @@ "dev": true }, "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", + "es-errors": "^1.3.0", + "hasown": "^2.0.0", "side-channel": "^1.0.4" } }, + "is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + } + }, "is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -3375,18 +4269,18 @@ } }, "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true }, "is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, "requires": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "is-date-object": { @@ -3414,9 +4308,9 @@ } }, "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true }, "is-number": { @@ -3434,6 +4328,12 @@ "has-tostringtag": "^1.0.0" } }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, "is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -3445,12 +4345,12 @@ } }, "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, "requires": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" } }, "is-string": { @@ -3471,6 +4371,15 @@ "has-symbols": "^1.0.2" } }, + "is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "requires": { + "which-typed-array": "^1.1.14" + } + }, "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -3480,6 +4389,12 @@ "call-bind": "^1.0.2" } }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -3527,13 +4442,12 @@ } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^5.0.0" } }, "lodash": { @@ -3624,9 +4538,9 @@ "dev": true }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true }, "supports-color": { @@ -3666,9 +4580,9 @@ } }, "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "dev": true }, "object-keys": { @@ -3678,14 +4592,14 @@ "dev": true }, "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" } }, @@ -3700,15 +4614,39 @@ "es-abstract": "^1.19.1" } }, - "object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.groupby": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.2.tgz", + "integrity": "sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==", + "dev": true, + "requires": { + "array.prototype.filter": "^1.0.3", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.0.0" + } + }, + "object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "once": { @@ -3727,43 +4665,37 @@ "dev": true }, "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { - "p-try": "^1.0.0" + "yocto-queue": "^0.1.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "^3.0.2" } }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", - "dev": true - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -3774,9 +4706,9 @@ } }, "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "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 }, "path-is-absolute": { @@ -3825,6 +4757,12 @@ } } }, + "possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -3838,9 +4776,9 @@ "dev": true }, "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true }, "qs": { @@ -3852,6 +4790,12 @@ "side-channel": "^1.0.4" } }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -3873,22 +4817,17 @@ } }, "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dev": true, "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" } }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -3896,12 +4835,12 @@ "dev": true }, "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "requires": { - "is-core-module": "^2.8.1", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -3912,6 +4851,12 @@ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -3921,12 +4866,44 @@ "glob": "^7.1.3" } }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-array-concat": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", + "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } + }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, + "safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + } + }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -3940,11 +4917,37 @@ "dev": true }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true }, + "set-function-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "dev": true, + "requires": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + } + }, + "set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + } + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -3972,9 +4975,9 @@ } }, "simple-update-notifier": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz", - "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", + "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", "dev": true, "requires": { "semver": "~7.0.0" @@ -3997,26 +5000,37 @@ "safe-buffer": "~5.2.0" } }, - "string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" } }, "strip-ansi": { @@ -4089,13 +5103,13 @@ } }, "tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, "requires": { "@types/json5": "^0.0.29", - "json5": "^1.0.1", + "json5": "^1.0.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" } @@ -4115,6 +5129,58 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, + "typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-length": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz", + "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==", + "dev": true, + "requires": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + } + }, "unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -4163,12 +5229,6 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, "whatwg-encoding": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", @@ -4200,17 +5260,30 @@ "is-symbol": "^1.0.3" } }, - "word-wrap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", - "dev": true + "which-typed-array": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", + "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.6", + "call-bind": "^1.0.5", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.1" + } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index f59c03d8c..36734e920 100644 --- a/package.json +++ b/package.json @@ -6,9 +6,9 @@ "license": "MIT", "repository": "https://github.com/espruino/BangleApps", "devDependencies": { - "eslint": "^8.14.0", + "eslint": "^8.57.0", "eslint-config-airbnb-base": "^15.0.0", - "eslint-plugin-import": "^2.26.0", + "eslint-plugin-import": "^2.29.1", "http-server": "^14.1.1", "npm-watch": "^0.11.0" }, From 04057c401813752b5f5e991e89690dd0e0244ac2 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 3 Mar 2024 22:38:04 +0000 Subject: [PATCH 29/46] widlockunlock: stop event propagation on tap --- apps/widlockunlock/widget.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/widlockunlock/widget.js b/apps/widlockunlock/widget.js index cfbbc87a3..b5af798dd 100644 --- a/apps/widlockunlock/widget.js +++ b/apps/widlockunlock/widget.js @@ -11,6 +11,8 @@ Bangle.on('touch', (_btn, xy) => { if(w.x - oversize <= x && x < w.x + 14 + oversize && w.y - oversize <= y && y < w.y + 24 + oversize) { + E.stopEventPropagation && E.stopEventPropagation(); + Bangle.setLocked(true); const backlightTimeout = Bangle.getOptions().backlightTimeout; // ms From fa11b76da26b28fe2b0759ceb4d60f103ccbd991 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sun, 3 Mar 2024 22:40:31 +0000 Subject: [PATCH 30/46] widlockunlock: disable tap-to-lock if back button is present --- apps/widlockunlock/ChangeLog | 1 + apps/widlockunlock/metadata.json | 2 +- apps/widlockunlock/widget.js | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/widlockunlock/ChangeLog b/apps/widlockunlock/ChangeLog index b5efcaa86..40a842cc7 100644 --- a/apps/widlockunlock/ChangeLog +++ b/apps/widlockunlock/ChangeLog @@ -1,2 +1,3 @@ 0.01: First commit 0.02: Add tap-to-lock functionality +0.03: Disable tap-to-lock if back button is present diff --git a/apps/widlockunlock/metadata.json b/apps/widlockunlock/metadata.json index cc4fa76cd..f98f29d63 100644 --- a/apps/widlockunlock/metadata.json +++ b/apps/widlockunlock/metadata.json @@ -1,7 +1,7 @@ { "id": "widlockunlock", "name": "Lock/Unlock Widget", - "version": "0.02", + "version": "0.03", "description": "On devices with always-on display (Bangle.js 2) this displays lock icon whenever the display is locked, or an unlock icon otherwise. Tap to lock the lcd", "icon": "widget.png", "type": "widget", diff --git a/apps/widlockunlock/widget.js b/apps/widlockunlock/widget.js index b5af798dd..4b78b440c 100644 --- a/apps/widlockunlock/widget.js +++ b/apps/widlockunlock/widget.js @@ -1,6 +1,8 @@ Bangle.on("lock", () => Bangle.drawWidgets()); Bangle.on('touch', (_btn, xy) => { + if (WIDGETS["back"]) return; + const oversize = 5; const w = WIDGETS.lockunlock; From 29cfd177787695357e8f6fd9f32a6e5c46739b25 Mon Sep 17 00:00:00 2001 From: Anton Date: Mon, 4 Mar 2024 21:34:17 +0100 Subject: [PATCH 31/46] Create lint exemptions --- apps/{.eslintrc.json => .eslintrc.js} | 15 +- apps/lint_exemptions.js | 578 ++++++++++++++++++++++++++ bin/exempt-lint.mjs | 66 +++ bin/sync-lint-exemptions.mjs | 46 ++ package.json | 4 +- 5 files changed, 705 insertions(+), 4 deletions(-) rename apps/{.eslintrc.json => .eslintrc.js} (93%) create mode 100644 apps/lint_exemptions.js create mode 100755 bin/exempt-lint.mjs create mode 100755 bin/sync-lint-exemptions.mjs diff --git a/apps/.eslintrc.json b/apps/.eslintrc.js similarity index 93% rename from apps/.eslintrc.json rename to apps/.eslintrc.js index bda2025f6..31aa7bfe2 100644 --- a/apps/.eslintrc.json +++ b/apps/.eslintrc.js @@ -1,9 +1,14 @@ -{ +const lintExemptions = require("./lint_exemptions.js"); + +module.exports = { "env": { // TODO: "espruino": false // TODO: "banglejs": false }, "extends": "eslint:recommended", + "plugins": [ + + ], "globals": { // Methods and Fields at https://banglejs.com/reference "Array": "readonly", @@ -157,5 +162,11 @@ "no-unused-vars": ["warn", { "args": "none" } ], "no-useless-escape": "off", "no-control-regex" : "off" - } + }, + overrides: [ + ...Object.entries(lintExemptions).map(([filePath, {rules}]) => ({ + files: [filePath], + rules: Object.fromEntries(rules.map(rule => [rule, "off"])), + })), + ], } diff --git a/apps/lint_exemptions.js b/apps/lint_exemptions.js new file mode 100644 index 000000000..24531d576 --- /dev/null +++ b/apps/lint_exemptions.js @@ -0,0 +1,578 @@ +module.exports = { + "xxlmessage/app.js": { + "hash": "14a9ea1fbcf0e1053df1a77d7ee7acd543f1ed63e26ecf220468c3813f93de4f", + "rules": [ + "no-unused-vars" + ] + }, + "waternet/app.js": { + "hash": "a03fbfc731811f8cc9ea8c96781ff7fe46532c5f9e628b317892069e43b97012", + "rules": [ + "no-unused-vars" + ] + }, + "tabata/tabata.js": { + "hash": "bba68fd35b57afe00adb054d598d8bde74cf2c9cb1d1d7ae27c17e13899383ee", + "rules": [ + "no-unused-vars" + ] + }, + "speedalt2/GPS Adv Sports II.js": { + "hash": "1b0dff5c4ebe0c8042dec9456f809ebaada379357188b8a18dc17a144ee8c071", + "rules": [ + "no-unused-vars" + ] + }, + "timerclk/alarm.alert.js": { + "hash": "2d422f738c044dcf0d6a43712c672dccc0ad4f2d0a877ee11f0a96ec3d939714", + "rules": [ + "no-unused-vars" + ] + }, + "spacew/prep/split.js": { + "hash": "06f25475a3765417e42dc7638ee500b546d3ce75ac28b39b8b836c0aee2ea2cb", + "rules": [ + "no-unused-vars" + ] + }, + "spacew/bench.js": { + "hash": "428a741d8dfba625cb1d2958dab3b6c7b0ca05f582b00e06ec9f7f495658beb6", + "rules": [ + "no-unused-vars" + ] + }, + "spacew/app.js": { + "hash": "6467f44962655f10a649226a2ea180a3662308146d2f19d15903a16ae081d282", + "rules": [ + "no-unused-vars" + ] + }, + "smclock/app.js": { + "hash": "8f338b03c24738793d62b7a2c4d0c2b41ab0538394adc6f3d977776b68ee3287", + "rules": [ + "no-unused-vars" + ] + }, + "sleepphasealarm/app.js": { + "hash": "d234fea5d711ae5a149879e53b28bc9002860c6b6a75285e1fc04093fe400a88", + "rules": [ + "no-unused-vars" + ] + }, + "sleeplog/settings.js": { + "hash": "bd5e3e1382321df6682ef1cb718b0e15ab355422bef77278eb086f213f643021", + "rules": [ + "no-unused-vars" + ] + }, + "showimg/app.js": { + "hash": "98975f1cdec81d982d1ee8ca23e38f6851c12c2ccf57c4503c449d20f747e9cf", + "rules": [ + "no-unused-vars" + ] + }, + "sensible/sensible.js": { + "hash": "4b8b4417c352d7a86f39653c812356c36e56770e44051d645c522f986e98abfe", + "rules": [ + "no-unused-vars" + ] + }, + "rpnsci/app.js": { + "hash": "e5bf536babe9b30e7f40b03826d7052aec98f806a7ab3b80b10438e9bf2cc61b", + "rules": [ + "no-unused-vars" + ] + }, + "recorder/app.js": { + "hash": "64c838b63a756a712555ae54d0bae89f0373ce317c289f7b19a583d3f91d473b", + "rules": [ + "no-unused-vars" + ] + }, + "podadrem/app.js": { + "hash": "8d02fced6187142b7943c63ddefd874700d0a8731d49121de06d211959db58c4", + "rules": [ + "no-unused-vars" + ] + }, + "openstmap/imagefilter.js": { + "hash": "8a71e9a0ecfa94150379c41a5a915cfdac39f8b2e485e5cc1ce4629e85293acd", + "rules": [ + "no-unused-vars" + ] + }, + "mtnclock/app.js": { + "hash": "c48e3ed1a605e6a131e5947718e26cc9481c6eeab36c5670bb74f0c58cb96cd8", + "rules": [ + "no-unused-vars" + ] + }, + "mmonday/manic-monday.js": { + "hash": "2eff38d4d1cde2b9f17800a554da58300a6250de3e014995a6958a11bcb5b76a", + "rules": [ + "no-unused-vars" + ] + }, + "mixdiganclock/mixdiganclock.app.js": { + "hash": "97beda5daa3b6e60f27dcad1230dd49a9c3b3e81cf55d644496c797fbef1256f", + "rules": [ + "no-unused-vars" + ] + }, + "locale/locales.js": { + "hash": "c89110fccb76824508aab0ed8374eb06843a9173262fd3a93cf3a67b098ee5a3", + "rules": [ + "no-unused-vars" + ] + }, + "legoremote/app.js": { + "hash": "af12068cd1b84369aa8416a82e9335298f6a4b69b56aa7bc70b9eb0d91e6d78e", + "rules": [ + "no-unused-vars" + ] + }, + "lightswitch/settings.js": { + "hash": "340a664f7f82fbffcb108bfceded78dbbe162717d4e4dda0f08452ca79fa3881", + "rules": [ + "no-unused-vars" + ] + }, + "kbtouch/lib.js": { + "hash": "725b41b792a0f9879257e61cc5c2ba30df777c21137bd2d2e324ab83be7b8012", + "rules": [ + "no-unused-vars" + ] + }, + "jbm8b_IT/app.js": { + "hash": "52df7b9bcac876176d66cbb65f7015cb0b5933ba585a6e3f6b93766bbe19fb11", + "rules": [ + "no-unused-vars" + ] + }, + "jbm8b/app.js": { + "hash": "7ec45c7d21590f8fa9167f4953fa6da40190d0f287f436dac7a2c4b62d82d429", + "rules": [ + "no-unused-vars" + ] + }, + "wristlight/app.js": { + "hash": "422b63acf557ac81beb0f0d08d85a8988a004752e74b50a08e23c97293351d0b", + "rules": [ + "no-unused-vars" + ] + }, + "widhrm/widget.js": { + "hash": "9c5fd63130c579a015f5600862ec1a5032387a41e058950c739c9875bc81c6bf", + "rules": [ + "no-unused-vars" + ] + }, + "waypoints/waypoints.app.js": { + "hash": "ff02639eb8f81784c942093d57d254295e2c78918adb4bcffdf0d0284ebfac55", + "rules": [ + "no-unused-vars" + ] + }, + "timerclk/timer.js": { + "hash": "f44702e61ad833b53fb28d222ff0fbd77d0307c6eb69c5ecebb8626a1cb20ed4", + "rules": [ + "no-unused-vars" + ] + }, + "timerclk/stopwatch.js": { + "hash": "92838c03923e162c0e9ab4f37ca0220a1fee61ed16cba1d38c79d7bdd0e18765", + "rules": [ + "no-unused-vars" + ] + }, + "timerclk/alarm.js": { + "hash": "6f521742cc6a6d6f215e499084a596ffc3494d1e1f950b204368c051a18773de", + "rules": [ + "no-unused-vars" + ] + }, + "speedalt2/app.js": { + "hash": "8cf396b8c2b3a449635274d537ac12dda88a829fd32336e6c2c0cd85e7f56b2d", + "rules": [ + "no-unused-vars" + ] + }, + "skyspy/skyspy.app.js": { + "hash": "49a727a4c052e8c6322a502750ca036b0d58896f476b1cffebe9c53e426c8bcc", + "rules": [ + "no-unused-vars" + ] + }, + "sixths/sixths.app.js": { + "hash": "b4572a529b31a5edcbd6ca5843b91c54abcbf75b2a28e90bd33751f7d6a3ebcd", + "rules": [ + "no-unused-vars" + ] + }, + "scribble/app.js": { + "hash": "6d13abd27bab8009a6bdabe1df2df394bc14aac20c68f67e8f8b085fa6b427cd", + "rules": [ + "no-unused-vars" + ] + }, + "promenu/boot.js": { + "hash": "8b0ed99c61c877348365d9ec50f904744f4694c5e2c0a93200e998955034ed0f", + "rules": [ + "no-unused-vars" + ] + }, + "promenu/bootb2.js": { + "hash": "558ab22819c2bc83ebf97c960c4fa494fccccbc894f1582f28972dbf8f563170", + "rules": [ + "no-unused-vars" + ] + }, + "poweroff/settings.js": { + "hash": "c197afe72c612a4b3825a3a12a628d0f4ed83823da3f28885bbf473037a02506", + "rules": [ + "no-unused-vars" + ] + }, + "oxofocus/app.js": { + "hash": "cd29309373974ef038725e26d8a2ff2634a437c89cdffc3b12defd65a948db75", + "rules": [ + "no-unused-vars" + ] + }, + "orloj/app.js": { + "hash": "9240830a097ba545fdbdb06305817234e30238bf2fbb8fbb47af83897cd588a9", + "rules": [ + "no-unused-vars" + ] + }, + "nixie/m_vatch.js": { + "hash": "36a7fa956f99d5815cd6bac570d2b86833d1d37474d7eef0bb21892bdf6723a8", + "rules": [ + "no-unused-vars" + ] + }, + "moonphase/app.js": { + "hash": "0e78c9ec9e7ab04f22f1838fcf033691024c8734de23f8d8dd51d6f11c30a2f2", + "rules": [ + "no-unused-vars" + ] + }, + "lcars/lcars.app.js": { + "hash": "a305f73ee4e77b6534746ea79e699f700fd3db305f2b0289ef081d8869e1faf1", + "rules": [ + "no-unused-vars" + ] + }, + "widagps/widget.js": { + "hash": "a58cdc481962575ef0aa0bfaedcc1f9de3ce966218c5b16168d8ed8b4b9672b8", + "rules": [ + "no-unused-vars" + ] + }, + "sleeplog/lib.js": { + "hash": "5210446eb507f62897782735e7d56a2e84ea5f9dba557ef67a977f53065f3461", + "rules": [ + "no-unused-vars" + ] + }, + "sleeplog/app.js": { + "hash": "336da552e4b04677447cf76a253b40bc259a597ea11d455121933f93afe99794", + "rules": [ + "no-unused-vars" + ] + }, + "recorder/widget.js": { + "hash": "b48698bab90fc4f38f880b6663eda108b8d31ce929ba1d32d815aa4ec8c74bca", + "rules": [ + "no-unused-vars" + ] + }, + "qmsched/app.js": { + "hash": "4b7dbabed6c252021531d6b0449c16a3adc2e405f2ddda33ca0a65f5fa42c663", + "rules": [ + "no-unused-vars" + ] + }, + "runplus/app.js": { + "hash": "fabec449552d17ceb5d510aa058e420757f3caba11999efbe6ebf2ac1a81eb32", + "rules": [ + "no-unused-vars" + ] + }, + "powermanager/boot.js": { + "hash": "662d9d29a80a4f2c2855097b4073a099604f4f6d444c13a33304346c788cc5cb", + "rules": [ + "no-unused-vars" + ] + }, + "ohmcalc/app.js": { + "hash": "ac1ac172c9c4f9c4faf9bc2ce8ad7dd51ecd9a5c38f28a107d39f0c86a836899", + "rules": [ + "no-unused-vars" + ] + }, + "nightwatch/nightwatch.app.js": { + "hash": "9366528bc5bb229cd08e68000a4deebaa27036a18ac5215dce7c38ffa9d69b31", + "rules": [ + "no-unused-vars" + ] + }, + "messagelist/app.js": { + "hash": "a76b5cc3ddcdbd60a9979972f274a717a901ea65e108545b13d415740a71b4e0", + "rules": [ + "no-unused-vars" + ] + }, + "imageclock/app.js": { + "hash": "198ad2d18b41ba30e3ee2545372c84ba443cec7d6f9ce4e9ca494defc9476a8e", + "rules": [ + "no-unused-vars" + ] + }, + "hworldclock/app.js": { + "hash": "e4c34cc76e242541156006952a2cf05427feb0fbe70ae55a1afb9bd0e1d5fae1", + "rules": [ + "no-unused-vars" + ] + }, + "homework/app.js": { + "hash": "f367470e50c9105ee1f48c3193c605293338c35bd1ae1488467404270a20747c", + "rules": [ + "no-unused-vars" + ] + }, + "hidmsicswipe/hidmsicswipe.js": { + "hash": "8c8c2058315c6debaec71b65b1409ebf5725233c72dbcc2ac921bec0d238fd4f", + "rules": [ + "no-unused-vars" + ] + }, + "hidcam/app.js": { + "hash": "29a9e8add8daa19ec5c12bf6b372fe4e59c2b07be30e305e9d75dac55995dffd", + "rules": [ + "no-unused-vars" + ] + }, + "gpstrek/app.js": { + "hash": "9c941a29790dd642579478bf4b19a2afd5473a782d07fafd2c8113b2d7392bec", + "rules": [ + "no-unused-vars" + ] + }, + "gpstouch/gpstouch.app.js": { + "hash": "3492b202c866d6d619298456a48dd8501c4b34f5cce84698e92c62acaf3b8ce4", + "rules": [ + "no-unused-vars" + ] + }, + "gpspoilog/app.js": { + "hash": "38c72e56a4929102f5748ed5e5415a63a31bfd3bf6d853527a10d71a268bc294", + "rules": [ + "no-unused-vars" + ] + }, + "gpsrec/app.js": { + "hash": "4d842608edea63975c7da9db6be2746af8849ea2dcc9135fc7d77e5806701f60", + "rules": [ + "no-unused-vars" + ] + }, + "golfview/maptools.js": { + "hash": "2c3bdb849dce1710863693f2370f7fb32070a7c3bec915d8d2ef8106fda937d8", + "rules": [ + "no-unused-vars" + ] + }, + "golfview/golfview.js": { + "hash": "76d8a7743122a63bd82c8e95c234229261829b465a4bc998cdc9e45860ec7fc4", + "rules": [ + "no-unused-vars" + ] + }, + "golfscore/app.js": { + "hash": "2df86a3f159b72229011f6276ef023c764837b39552b852f1caa431450a06f3a", + "rules": [ + "no-unused-vars" + ] + }, + "geissclk/clock.js": { + "hash": "2e547f904f17995668e351a9031bc4701ddaff71cba4f88ca28d51a4dd4f6154", + "rules": [ + "no-unused-vars" + ] + }, + "gbmusic/app.js": { + "hash": "c36e9ccf6813264000732cf8aae5b16bb63afafb3bdc81f6f98d670c008b3416", + "rules": [ + "no-unused-vars" + ] + }, + "gbdebug/app.js": { + "hash": "5372409dd09a1b165b009afc7dc9af24d4be223ffc6507a3f6e1cbb694a3eeec", + "rules": [ + "no-unused-vars" + ] + }, + "gallery/app.js": { + "hash": "81b119cc61c9d1ae76071f7ef05580f4f93ac60bf97fbdfe418463817e045402", + "rules": [ + "no-unused-vars" + ] + }, + "football/app.js": { + "hash": "a24c293073557c259cffbf4f1340b6c9111832b7230b3e36072f32335ce4047b", + "rules": [ + "no-unused-vars" + ] + }, + "fd6fdetect/app.js": { + "hash": "5fb67c4e3699ed30815b6e316ce669f1b8479aa312bf4d8348e30cdf0a29409f", + "rules": [ + "no-unused-vars" + ] + }, + "dotmatrixclock/app.js": { + "hash": "ad51c66072f5dd799826e1b3b69c6febb6ab93c93b2eb2245b4035c36b496063", + "rules": [ + "no-unused-vars" + ] + }, + "dragboard/lib.js": { + "hash": "e3cbf03054134e9b8e570f02ea5cf0d3e784c8f47d68c85eaa2c5b005291b668", + "rules": [ + "no-unused-vars" + ] + }, + "doztime/app-bangle2.js": { + "hash": "81592fe1bc6537f80d7dbe7b2e8145924d2400f98ea780c68dd5bd9694376c8a", + "rules": [ + "no-unused-vars" + ] + }, + "doztime/app-bangle1.js": { + "hash": "ba263e0ff80cb0ab1df9fe19e62a4972bb8646ea709af8bc41206e9a6395d539", + "rules": [ + "no-unused-vars" + ] + }, + "devstopwatch/app.js": { + "hash": "bb75693cc6ed2ffef0d227a40b53079e06d1ebcc7c2d9eed671b5401a8e06433", + "rules": [ + "no-unused-vars" + ] + }, + "coretemp/settings.js": { + "hash": "b5aa84ecab587b444028b4491b2c2e8f3b2303aa33745265ab629c6ff5141cfb", + "rules": [ + "no-unused-vars" + ] + }, + "coretemp/boot.js": { + "hash": "02ee3a04d7dc485367394a91e570affd712ab919bbb155bdafc00e534d3bcd4a", + "rules": [ + "no-unused-vars" + ] + }, + "configurable_clock/app.js": { + "hash": "09d1d02b63abc4ecea5e00a7372de7150ccfe67c2502ff5d298ec7b8e29c353b", + "rules": [ + "no-unused-vars" + ] + }, + "chronowid/widget.js": { + "hash": "1056a77f508708a6667e7ae3d201add1d747a1ea4eeab2b3b8afce24a97f1e65", + "rules": [ + "no-unused-vars" + ] + }, + "cliclockJS2Enhanced/app.js": { + "hash": "056b4eeddbabbcf0f94db83d188e55dc0008bccb3913af76e31236e74a780aa1", + "rules": [ + "no-unused-vars" + ] + }, + "chrono/chrono.js": { + "hash": "62a4fe13d32528af5107e8008197510115134d749851f8ecfe062c7190b4fc5e", + "rules": [ + "no-unused-vars" + ] + }, + "chess/engine.js": { + "hash": "5ab335ed76f39b69e5b3436325229d8b3bd2c20a5da6d32bcb7c194f79c9f89c", + "rules": [ + "no-unused-vars" + ] + }, + "carcrazy/app.js": { + "hash": "82b9b291ad6e2efcb689e5bb7f48a5ba1a3b59f740a5ab4634006f3d413cee7e", + "rules": [ + "no-unused-vars" + ] + }, + "animclk/create_images.js": { + "hash": "05a222b265effe46b2c7a9cc0822c6c4cd86335d5d3a0cecce5fdd15d5e09b9f", + "rules": [ + "no-unused-vars" + ] + }, + "calculator/app.js": { + "hash": "fcb7c7b6c4ec5ce0f425d2a690baab8da235a12e685fe2680cbd4cf2cfdef0b0", + "rules": [ + "no-unused-vars" + ] + }, + "bthrm/bthrm.js": { + "hash": "0ad6b3150200efa959096d239a136865fc0ee1df0c50ebaae76693c07df7a02e", + "rules": [ + "no-unused-vars" + ] + }, + "bowserWF/app.js": { + "hash": "ec1e9fabf53e16dc91b19d305616ae0dfd879c32c3b1116da97928ebb8d2eb56", + "rules": [ + "no-unused-vars" + ] + }, + "blackjack/blackjack.app.js": { + "hash": "392382463c90b11b31818e974c3198ed4ec4ed681c9668b4a39865ab055d68ad", + "rules": [ + "no-unused-vars" + ] + }, + "blackjack/appb2.js": { + "hash": "d2e866a297811dfec4cba834c996e1e085421820673a038a9a9e9d438e4fabf9", + "rules": [ + "no-unused-vars" + ] + }, + "astral/app.js": { + "hash": "a210269f0d57eb496a3b75cfc4550676f9d7e85a697c77e18f41bf02549179e3", + "rules": [ + "no-unused-vars" + ] + }, + "ballmaze/app.js": { + "hash": "cd493a329063e879f44ead211cbecb4ca25da2d5c40b65ba05d6e9b2b91ff8a5", + "rules": [ + "no-unused-vars" + ] + }, + "astrocalc/astrocalc-app.js": { + "hash": "00e29864b2bfeec7f11bd8509181b26f7916c25dd4a777abfe1fbd555822983d", + "rules": [ + "no-unused-vars" + ] + }, + "a_dndtoggle/a_dndtoggle.app.js": { + "hash": "8ba115261df8ddb14bf7d16a300a114a1e59ace4da478657968390b62ba53cbb", + "rules": [ + "no-unused-vars" + ] + }, + "HRV/app.js": { + "hash": "265b4b0272c43126670b5026079711354cee0a211096bcd2c18139b7a3ee774a", + "rules": [ + "no-unused-vars" + ] + } +}; diff --git a/bin/exempt-lint.mjs b/bin/exempt-lint.mjs new file mode 100755 index 000000000..f2ca64fc8 --- /dev/null +++ b/bin/exempt-lint.mjs @@ -0,0 +1,66 @@ +#!/usr/bin/env node + +/** + * @file + * You can use this script to exempt an app file from a specific eslint rule. + * + * This should only be used to exempt existing apps when a new lint rule is added. + * You are not allowed to exempt your new app from existing lint rules. + * + * Run it like this: + * node bin/exempt-lint.mjs LINTRULE FILEPATH + * + * Example command: + * node bin/exempt-lint.mjs no-unused-vars ./apps/_example_app/app.js + */ + +import fs from "node:fs/promises"; + +const lintRule = process.argv[2]; +if(!lintRule){ + throw new Error("First argument needs to be a lint rule, something like 'no-unused-vars'"); +} + +const filePathInput = process.argv[3]; +const filePathMatch = filePathInput?.match(/^(?:.*?\/apps\/|apps\/|\/)?(?.*\.js)$/ui); +const filePath = filePathMatch?.groups?.path; +if(!filePath){ + throw new Error("Second argument needs to be a file path that looks something like './apps/_example_app/app.js'"); +} + + +const exemptionsFilePath = "../apps/lint_exemptions.js"; + +const exemptions = (await import(exemptionsFilePath)).default; + +const fileContents = await fs.readFile("apps/" + filePath, "utf8"); + + +const exemption = exemptions[filePath] || {}; +exemption.hash = await hashContents(fileContents); +const rules = new Set(exemption.rules || []); +rules.add(lintRule); +exemption.rules = [...rules]; +exemptions[filePath] = exemption; + + + +const output = `module.exports = ${JSON.stringify(exemptions, undefined, 2)};\n`; +await fs.writeFile("bin/" + exemptionsFilePath, output); + +console.log(`✔️ '${filePath}' is now exempt from the rule '${lintRule}'`); + + + +/** + * https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest#converting_a_digest_to_a_hex_string + */ +async function hashContents(message) { + const msgUint8 = new TextEncoder().encode(message); // encode as (utf-8) Uint8Array + const hashBuffer = await crypto.subtle.digest("SHA-256", msgUint8); // hash the message + const hashArray = Array.from(new Uint8Array(hashBuffer)); // convert buffer to byte array + const hashHex = hashArray + .map((b) => b.toString(16).padStart(2, "0")) + .join(""); // convert bytes to hex string + return hashHex; +} diff --git a/bin/sync-lint-exemptions.mjs b/bin/sync-lint-exemptions.mjs new file mode 100755 index 000000000..ee024ac84 --- /dev/null +++ b/bin/sync-lint-exemptions.mjs @@ -0,0 +1,46 @@ +#!/usr/bin/env node + +/** + * @file + * Run this to ensure that the lint exemptions are all valid. + * If any of the exempt app files have been changed, this script will remove the exemption for that file. + * + * Run it like this: + * node bin/sync-lint-exemptions.mjs + */ + +import fs from "node:fs/promises"; + +const exemptionsFilePath = "../apps/lint_exemptions.js"; + +const exemptions = (await import(exemptionsFilePath)).default; + +for(const filePath of Object.keys(exemptions)){ + const fileContents = await fs.readFile("apps/" + filePath, "utf8"); + const currentHash = await hashContents(fileContents); + if(exemptions[filePath].hash !== currentHash){ + delete exemptions[filePath]; + console.log(`! Removed lint exemptions for '${filePath}' because it has been edited`); + } +} + + +const output = `module.exports = ${JSON.stringify(exemptions, undefined, 2)};\n`; +await fs.writeFile("bin/" + exemptionsFilePath, output); + +console.log(`✔️ Synchronized all lint exemptions\n`); + + + +/** + * https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest#converting_a_digest_to_a_hex_string + */ +async function hashContents(message) { + const msgUint8 = new TextEncoder().encode(message); // encode as (utf-8) Uint8Array + const hashBuffer = await crypto.subtle.digest("SHA-256", msgUint8); // hash the message + const hashArray = Array.from(new Uint8Array(hashBuffer)); // convert buffer to byte array + const hashHex = hashArray + .map((b) => b.toString(16).padStart(2, "0")) + .join(""); // convert bytes to hex string + return hashHex; +} diff --git a/package.json b/package.json index 36734e920..3689750a6 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,8 @@ "npm-watch": "^0.11.0" }, "scripts": { - "lint-apps": "eslint ./apps --ext .js", - "test": "node bin/sanitycheck.js && eslint ./apps --ext .js && eslint ./modules --ext .js", + "lint-apps": "node bin/sync-lint-exemptions.mjs && eslint ./apps --ext .js", + "test": "node bin/sanitycheck.js && npm run lint-apps && eslint ./modules --ext .js", "update-local-apps": "./bin/create_apps_json.sh apps.local.json", "local": "npm-watch & npx http-server -a localhost -c-1", "start": "npx http-server -c-1" From 2e4cb8eb11cfae70c02974c9d7395b25993a1a71 Mon Sep 17 00:00:00 2001 From: Anton Date: Mon, 4 Mar 2024 21:34:50 +0100 Subject: [PATCH 32/46] Fix no-unused-vars in existing apps --- apps/2047pp/2047pp.app.js | 8 ++-- apps/2ofthemclk/app.js | 2 +- apps/7x7dotsclock/7x7dotsclock.app.js | 4 +- apps/93dub/app.js | 4 +- apps/BLEcontroller/app-ex2.js | 2 +- apps/UI4swatch/app.js | 6 +-- apps/Uke/app.js | 2 - apps/a_clock_timer/app.js | 2 +- apps/a_speech_timer/app.js | 1 - apps/about/app-bangle2.js | 4 +- apps/accelrec/app.js | 2 +- apps/acmaze/app.js | 8 ++-- apps/activepedom/app.js | 2 +- apps/activepedom/widget.js | 4 +- apps/agenda/agenda.js | 6 +-- apps/alpinenav/app.js | 2 +- apps/angles/app.js | 2 - apps/animclk/app.js | 1 - apps/approxclock/app.js | 2 +- apps/arrow/app.js | 4 +- apps/astrocalc/astrocalc-app.js | 3 +- apps/ballmaze/app.js | 1 + apps/banglebridge/widget.js | 12 +++--- apps/banglexercise/app.js | 8 ++-- apps/barcode/barcode.app.js | 8 ++-- apps/batchart/app.js | 2 +- apps/batchart/widget.js | 6 +-- apps/battleship/battleship.js | 2 +- apps/beebclock/beebclock.js | 12 +++--- apps/berlinc/berlin-clock.js | 1 - apps/binaryclk/app.js | 2 +- apps/binwatch/app.js | 19 ++++----- apps/boot/bootupdate.js | 2 +- apps/bradbury/app.js | 2 +- apps/breath/app.js | 8 ++-- apps/bthrv/app.js | 6 +-- apps/calclock/calclock.js | 2 +- apps/calendar/calendar.js | 2 - apps/calendar/settings.js | 2 +- apps/carcrazy/app.js | 12 +++--- apps/cards/app.js | 6 +-- apps/chimer/widget.js | 4 +- apps/chrono/chrono.js | 2 +- apps/circlesclock/app.js | 7 ++-- apps/circlesclock/settings.js | 2 +- apps/cliclockJS2Enhanced/app.js | 2 +- apps/clicompleteclk/app.js | 6 +-- apps/cliock/app.js | 2 +- apps/clkinfosunrise/clkinfo.js | 2 +- apps/color_catalog/app.js | 6 +-- apps/colorful_clock/app.js | 1 - apps/configurable_clock/app.js | 1 - apps/contacts/contacts.app.js | 5 +-- apps/contourclock/app.js | 5 +-- apps/coretemp/coretemp.js | 2 +- apps/cycling/blecsc-emu.js | 2 +- apps/daisy/app.js | 6 +-- apps/dane_tcr/app.js | 5 --- apps/devstopwatch/app.js | 8 ++-- apps/diceroll/app.js | 2 +- apps/distortclk/app.js | 2 +- apps/dotclock/clock-dot.js | 1 - apps/doztime/app-bangle1.js | 6 +-- apps/doztime/app-bangle2.js | 6 +-- apps/drinkcounter/app.js | 4 +- apps/dtlaunch/app-b2.js | 4 +- apps/dwm-clock/app.js | 4 +- apps/edisonsball/app.js | 4 +- apps/encourageclk/app.js | 3 +- apps/f9lander/app.js | 2 +- apps/fclock/fclock.app.js | 2 +- apps/flightdash/flightdash.app.js | 4 +- apps/followtherecipe/app.js | 5 +-- apps/gallifr/app.js | 2 +- apps/game1024/app.js | 1 - apps/gipy/app.js | 4 +- apps/glbasic/GLBasic-Watchface-Bangle.JS2.js | 4 +- apps/glbasic/glbasic.app.js | 5 +-- apps/gpsrec/app.js | 2 - apps/gpstrek/app.js | 6 +-- apps/guitar/app.js | 2 - apps/guitarsongs/app.js | 6 +-- apps/happyclk/happyclk.app.js | 2 +- apps/hcclock/hcclock.app.js | 2 +- apps/health/lib.js | 8 ++-- apps/helloworld/helloworld.app.js | 2 +- apps/henkinen/app.js | 2 +- apps/homework/app.js | 5 +-- apps/horsey/horse-race.js | 6 +-- apps/hrm/heartrate.js | 8 ++-- apps/hrrawexp/app.js | 5 +-- apps/hworldclock/app.js | 2 +- apps/icons/gen/generate.js | 2 +- apps/impwclock/clock-impword.js | 2 +- apps/inspire/app.js | 4 +- apps/invader/app.js | 10 ++--- apps/isoclock/isoclock.js | 4 +- apps/kanagsec/app.js | 4 +- apps/kanawatch/app.js | 7 ++-- apps/kbmulti/lib.js | 2 +- apps/kitchen/annex.js | 2 +- apps/kitchen/digi.kit.js | 9 ++-- apps/lazyclock/lazyclock-app.js | 2 +- apps/lcdclock/app.js | 2 +- apps/lcdclockplus/app.js | 2 +- apps/legoremote/app.js | 2 +- apps/lifeclk/app.min.js | 1 - apps/lightswitch/settings.js | 2 +- apps/limelight/limelight.app.js | 1 - apps/lunaclock/app.js | 2 +- apps/magnav/magnav_b1.js | 6 +-- apps/magnav/magnav_b2.js | 12 +++--- apps/mandelbrotclock/mandelbrotclock.js | 2 +- apps/megadenti/app.js | 1 - apps/messageicons/icons/generate.js | 1 - apps/messagelist/settings.js | 2 +- apps/messages_light/messages_light.app.js | 4 +- apps/minimal_clock/app.js | 1 - apps/moonphase/app.js | 4 +- apps/mtgwatchface/app.js | 2 +- apps/multiclock/dk.face.js | 4 +- apps/nato/nato.js | 2 +- apps/nixie/app.js | 10 ++--- apps/novaclock/app.js | 3 +- apps/numerals/numerals.settings.js | 2 +- apps/openwind/app.js | 8 ++-- apps/orloj/app.js | 2 - apps/pastel/pastel.app.js | 8 ++-- apps/patriotclk/app.js | 2 +- apps/pebblepp/app.js | 2 +- apps/pizzatimer/app.js | 20 ++++----- apps/planetarium/planetarium.app.js | 4 +- apps/pokeclk/app.js | 3 -- apps/polymath/app.js | 3 +- apps/pong/app.js | 4 +- apps/pooqroman/app.js | 2 +- apps/pooqroman/resourcer.js | 3 +- apps/pooqround/app.js | 12 +++--- apps/pooqround/resourcer.js | 3 +- apps/powermanager/widget.js | 4 +- apps/poweroff/app.js | 1 - .../presentation_timer.app.js | 1 - apps/presentor/app.js | 2 +- apps/recorder/app.js | 6 +-- apps/red7game/red7.js | 6 +-- apps/rolex/app.js | 1 - apps/rpnsci/app.js | 2 +- apps/run/app.js | 2 +- apps/runplus/karvonen.js | 2 - apps/ruuviwatch/ruuviwatch.app.js | 4 +- apps/scribble/app.js | 22 +++++----- apps/sevenmin/app.js | 4 +- apps/simple_clock/app.js | 1 - apps/sixths/sixths.app.js | 2 +- apps/skyspy/skyspy.app.js | 14 +++---- apps/sleeplogalarm/settings.js | 6 +-- apps/slomoclock/app.js | 2 +- apps/sokoban/app.js | 1 - apps/solarclock/solar_date_utils.js | 4 +- apps/spaceclock/app.js | 2 +- apps/speedalt/app.js | 2 +- apps/speedalt2/app.js | 2 +- apps/speedo/speedo.js | 2 +- apps/stacker/app.js | 1 - apps/stardateclock/app.js | 2 +- apps/stopwatch/stopwatch.app.js | 2 +- apps/stressless/app.js | 6 +-- apps/sunrise/app.js | 1 - apps/supf/app.js | 4 +- apps/swscroll/boot.js | 5 +-- apps/synthwave/app.js | 1 - apps/tabanchi/app.js | 42 ++++++++++--------- apps/tabata/tabata.js | 2 +- apps/tapkb/lib.js | 1 - apps/terminal/app.js | 2 +- apps/testuserinput/app.js | 2 +- apps/tetris/tetris.app.js | 2 +- apps/themesetter/app.js | 2 +- apps/thering/app.js | 4 +- apps/tictactoe/app.js | 1 - apps/timeandlife/app.js | 3 -- apps/timerclk/alarm.js | 6 +-- apps/timerclk/timer.js | 6 +-- apps/tinyVario/app.js | 8 ++-- apps/toucher/app.js | 2 +- apps/vernierrespirate/app.js | 2 +- apps/viewstl/viewstl.app.js | 1 - apps/viewstl/viewstl.min.js | 1 - apps/walkersclock/app.js | 4 +- apps/warpdrive/app.js | 2 - apps/waternet/app.js | 13 ++++-- apps/waypointer/app.js | 8 ++-- apps/waypoints/waypoints.app.js | 9 +--- apps/widbgjs/widget.js | 2 + apps/widhwbttm/widhwbttm.wid.js | 4 +- apps/worldclock/app.js | 1 - apps/wrkmem/app.js | 4 +- 197 files changed, 373 insertions(+), 447 deletions(-) diff --git a/apps/2047pp/2047pp.app.js b/apps/2047pp/2047pp.app.js index ac7fe6391..7c1ed4dba 100644 --- a/apps/2047pp/2047pp.app.js +++ b/apps/2047pp/2047pp.app.js @@ -122,13 +122,13 @@ } } - function swipeHandler() { + /*function swipeHandler() { - } + }*/ - function buttonHandler() { + /*function buttonHandler() { - } + }*/ var twok = new TwoK(); twok.addDigit(); twok.addDigit(); diff --git a/apps/2ofthemclk/app.js b/apps/2ofthemclk/app.js index 78415fba7..693789fb7 100644 --- a/apps/2ofthemclk/app.js +++ b/apps/2ofthemclk/app.js @@ -80,7 +80,7 @@ function refreshBattery() { } // Only update displayed battery level every minute as it fluctuates a lot -var batteryInterval = setInterval(refreshBattery, 60000); +setInterval(refreshBattery, 60000); Bangle.setUI("clock"); Bangle.setLocked(false); diff --git a/apps/7x7dotsclock/7x7dotsclock.app.js b/apps/7x7dotsclock/7x7dotsclock.app.js index aa6672a4f..0ff96d5c9 100644 --- a/apps/7x7dotsclock/7x7dotsclock.app.js +++ b/apps/7x7dotsclock/7x7dotsclock.app.js @@ -282,7 +282,7 @@ function drawWidgeds() { //print(BluetoothDevice.connected); var x1Bt = 160; var y1Bt = 0; - var x2Bt = x1Bt + 30; + //var x2Bt = x1Bt + 30; var y2Bt = y2Bt; if (NRF.getSecurityStatus().connected) @@ -391,4 +391,4 @@ Bangle.on('lock', function(on) { SetFull(Bangle.isLocked()); -var secondInterval = setInterval(draw, 1000); +/*var secondInterval =*/ setInterval(draw, 1000); diff --git a/apps/93dub/app.js b/apps/93dub/app.js index f970eec5d..c9f670993 100644 --- a/apps/93dub/app.js +++ b/apps/93dub/app.js @@ -8,7 +8,7 @@ var imgBg = require("heatshrink").decompress(atob("2GwgJC/AH4A/AH4A/AH4A/AH4A/AC // reg number first char 48 28 by 41 var fontNum = atob("AAAAAAAAAAAAAA//8D//g//8P/+I//8//44//w//j4//A/+P4/8A/4/4AAAAD/4AAAAP/wAAAAf/gAAAA//AAAAB/+AAAAD/8AAAAH/4AAAAP/wAAAAf/gAAAA//AAAAB/+AAAAD/8AAAAH/wAAAAH/H/gH/H8f/gf/Hx//h//HH//n//Ef/+H//B//4H//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wB/4AP/4H/4A//4f/4D//5//4P//h//4//+B//4AAAAAAAAAAAAAAAAAf/+AAAB//4gAAD//jgAAD/+PgABj/4/gAHj/j/gAfgAP/gA/AA//AB+AB/+AD8AD/8AH4AH/4APwAP/wAfgAf/gA/AA//AB+AB/+AD8AD/8AH4AH/4APwAP/wAfgAf/AA/AAf8f88AAfx/8wAAfH/8AAAcf/8AAAR//4AAAH//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAA4AAAAAD4AAYAAP4AD8AA/4AH4AD/4APwAP/wAfgAf/gA/AA//AB+AB/+AD8AD/8AH4AH/4APwAP/wAfgAf/gA/AA//AB+AB/+AD8AD/8AH4AH/wAHgAH/H/GH/H8f/gf/Hx//h//HH//n//Ef/+H//B//4H//AAAAAAAAAAAAAAP//AAAAP//AAAAP//AAAAP/8AAAAP/2AAAAP/eAAAAAB+AAAAAD8AAAAAH4AAAAAPwAAAAAfgAAAAA/AAAAAB+AAAAAD8AAAAAH4AAAAAPwAAAAAfgAAAAA/AAAAAB+AAAAAD8AAAB/7x/4AH/7H/4Af/4f/4B//5//4H//h//4f/+B//4AAAAAAAAAAAAAD//wAAAD//wAAAj//gAADj/+AAAPj/5gAA/j/ngAD/gAfgAP/gA/AA//AB+AB/+AD8AD/8AH4AH/4APwAP/wAfgAf/gA/AA//AB+AB/+AD8AD/8AH4AH/4APwAP/wAfgAf/AA/AAf8AA8f8fwAAx/8fAAAH/8cAAAf/8QAAA//8AAAA//8AAAAAAAAAAAAAA//8D//g//8P/+I//8//44//0//j4//Y/+P4/94/4/4AH4AD/4APwAP/wAfgAf/gA/AA//AB+AB/+AD8AD/8AH4AH/4APwAP/wAfgAf/gA/AA//AB+AB/+AD8AD/8AH4AH/wAPwAH/AAPH/H8AAMf/HwAAB//HAAAH//EAAAH//AAAAH//AAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAGAAAAAAOAAAAAAeAAAAAA+AAAAAB+AAAAAD8AAAAAH4AAAAAPwAAAAAfgAAAAA/AAAAAB+AAAAAD8AAAAAH4AAAAAPwAAAAAfgAAAAA/AAAAAB8AAAAADx/4B/4HH/4H/4Mf/4f/4R//5//4H//h//4f/+B//4AAAAAAAAAAAAAD//wP/+D//w//4j//z//jj//T/+Pj/9j/4/j/3j/j/gAfgAP/gA/AA//AB+AB/+AD8AD/8AH4AH/4APwAP/wAfgAf/gA/AA//AB+AB/+AD8AD/8AH4AH/4APwAP/wAfgAf/AA/AAf8f+8f8fx/+x/8fH/+H/8cf/+f/8R//4f/8H//gf/8AAAAAAAAAAAAAA//8AAAA//8AAAI//8AAA4//0AAD4//YAAP4/94AA/4AH4AD/4APwAP/wAfgAf/gA/AA//AB+AB/+AD8AD/8AH4AH/4APwAP/wAfgAf/gA/AA//AB+AB/+AD8AD/8AH4AH/wAPwAH/H/vH/H8f/sf/Hx//h//HH//n//Ef/+H//B//4H//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); // tiny font for percentage first char 48 6 by 8 -var fontTiny = atob("AH6BgYF+ACFB/wEBAGGDhYlxAEKBkZFuAAx0hP8EAPqRkZGOAH6RkZFOAICHmKDAAG6RkZFuAHKJiYl+AAAAAAAAAAAAAAAA"); +//var fontTiny = atob("AH6BgYF+ACFB/wEBAGGDhYlxAEKBkZFuAAx0hP8EAPqRkZGOAH6RkZFOAICHmKDAAG6RkZFuAHKJiYl+AAAAAAAAAAAAAAAA"); // date font first char 48 12 by 15 var fontDate = atob("AAAAAfv149wAeADwAeADwAeADvHr9+AAAAAAAAAAAAAAAAAAAAAAAAAPHn9/AAAAAAP0A9wweGDwweGDwweGDvAL8AAAAAAAAAAAgwOGDwweGDwweGDvHp98AAAAA/gB6AAwAGAAwAGAAwAGAPHj9/AAAAAfgF6BwweGDwweGDwweGDgHoB+AAAAAfv169wweGDwweGDwweGDgHoB+AAAAAAAAAAgAGAAwAGAAwAGAAvHh9/AAAAAfv169wweGDwweGDwweGDvHr9+AAAAAfgF6BwweGDwweGDwweGDvHr9+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); @@ -25,7 +25,7 @@ var imgSun = E.toArrayBuffer(atob("Ig8BwHf7D7Ac/MHD/z8wMP/PzMQ/8/M/D/z8z8QPf7f6A // define icons var imgSep = E.toArrayBuffer(atob("BhsBAAAAAA///////////////AAAAAAA")); -var imgPercent = E.toArrayBuffer(atob("BwcBuq7ffbqugA==")); +//var imgPercent = E.toArrayBuffer(atob("BwcBuq7ffbqugA==")); var img24hr = E.toArrayBuffer(atob("EwgBj7vO53na73tcDtu9uDev7vA93g==")); var imgPM = E.toArrayBuffer(atob("EwgB+HOfdnPu1X3ar4dV9+q+/bfftg==")); diff --git a/apps/BLEcontroller/app-ex2.js b/apps/BLEcontroller/app-ex2.js index 27e629d5d..8076fc357 100644 --- a/apps/BLEcontroller/app-ex2.js +++ b/apps/BLEcontroller/app-ex2.js @@ -25,7 +25,7 @@ declare global variables for the toggle button statuses; if you add an additional toggle button you should declare it and initiase it here */ -var status_spk = {value: true}; +//var status_spk = {value: true}; var status_face = {value: true}; var status_iris_light = {value: false}; var status_iris = {value: false}; diff --git a/apps/UI4swatch/app.js b/apps/UI4swatch/app.js index 8cf3891b4..af1f5e3e8 100644 --- a/apps/UI4swatch/app.js +++ b/apps/UI4swatch/app.js @@ -5,7 +5,7 @@ identify device and dimensions max printable position max_x-1 i.e 239 */ - var colbackg='#111111';//black + //var colbackg='#111111';//black var colorange='#e56e06'; //RGB format rrggbb var v_color_lines=0xFFFF; //White hex format var v_color_b_area='#111111'; @@ -13,13 +13,13 @@ max printable position max_x-1 i.e 239 var v_font1size=10; //out of quotes var v_font2size=12; var v_font_banner_size=30; - var v_clicks=0; + //var v_clicks=0; //pend identify widget area dinamically var v_model=process.env.BOARD; console.log("device="+v_model); var x_max_screen=g.getWidth();//240; - var y_max_screen=g.getHeight(); //240; + //var y_max_screen=g.getHeight(); //240; var y_wg_bottom=g.getHeight()-25; var y_wg_top=25; if (v_model=='BANGLEJS') { diff --git a/apps/Uke/app.js b/apps/Uke/app.js index 095477f3f..975ca8aaa 100644 --- a/apps/Uke/app.js +++ b/apps/Uke/app.js @@ -176,8 +176,6 @@ const b7 = [ -var index = 0; -var chords = []; var menu = { "" : { "title" : "Uke Chords" }, "C" : function() { draw(cc); }, diff --git a/apps/a_clock_timer/app.js b/apps/a_clock_timer/app.js index b01cec59b..6cb56c67f 100644 --- a/apps/a_clock_timer/app.js +++ b/apps/a_clock_timer/app.js @@ -2,7 +2,7 @@ function getImg() { return require("heatshrink").decompress(atob("2FRgP/ABnxBRP5BJH+gEfBZHghnAv4JFmA+Bj0PBIn3//4h3An4oDAQJWEEIf8AwMEuFOCofAh/QjAWEg4VEwEAnw2DDoKEHEYPwAoUBmgrDhgUHS4XgAwUD/gVC/g+FAAZgEwEf4YqC/EQFQ4NDFgV/4Z3C/EcCo1974VCLAV/V4d7Co9/Co0PCoX+vk4Ko/HCosCRYX5nwTFkEAr/nCokICoL+B/aCGCoMHCoq3EdoraGCosPz4HBcILEJCocBwEHOwQrIgQrHgoHCFYMEgwVJYoMBsEnCofAnkMNQJXH4D4EbQMPkF/xwrEj+/HIkAoAVDj8QueHCoorDCoUDLwd96J0BKwgrHh4VDv+9CosDx6QCCo4HB//8VwvvXgQVDJIYSBCo/sBwaZBgF/NoYVHgH8V4qYDAwUYlAVFEYbFDDgwAGConogf9Zg8DCpP4cIh0Dg0BGAgVE+gVIgUA+AVI+wVE/xAEh5HDEgn+CpEAbgJCCHQoVBn4VJ/ED4ANDAAQVJ4EPPQPAt4VF4BeDColgj/8h/gFYwJBCpF//k//ANDCAYVIcgP+CpH/54VHCAIVB/4VIwYECCocIAwIVBx4VG9+AMITbCYAYJB34VG/UAj4VI7/9Cgw9CJYXAmBtDMAQsIfYhvCCofyvywGB4QFFgYGC/d+agYVLSgf8+ArG/APBD4QVBgh0CAwNwv/fCo4PCCo94s7VDCohnDAoI7Enlv8BZECoRCDAggAB3/3/gzDMAIVFY4IVE4IPBOoZ9DCpXwCoMvCqKxB//3bYywD4BtFAAPfDooVFFYIVGw4VFB4KZFngNE/uPCovgFYgEBuK+Fg4zFCoIrFCovwgQVF+AVFgPxEYzFEbgQVD4EDCoozBYogVCgYVE8bpGCo4HDCoPzBgoVIL4fAg4MGgAIHCofgCszND8BOHK4x2BCofwXgv4h6vGCps/Co6uDAA/7RgIjDDwTaDABPA//9FaAtDCop0FC5YVDLwoAH8//94GD/wVNCYKNECpwPBQggVPNggVBNp4VFFZwAGCquHCqnzCB4")); } -var IMAGEWIDTH = 176; +//var IMAGEWIDTH = 176; var IMAGEHEIGHT = 81; Graphics.prototype.setFontMichroma36 = function() { diff --git a/apps/a_speech_timer/app.js b/apps/a_speech_timer/app.js index cbed2ac00..6bb5a3edf 100644 --- a/apps/a_speech_timer/app.js +++ b/apps/a_speech_timer/app.js @@ -124,7 +124,6 @@ Bangle.on('swipe',(swiperight, swipedown)=>{ } }); -var drawTimeout; var showInstructions = true; function draw() { diff --git a/apps/about/app-bangle2.js b/apps/about/app-bangle2.js index ccffd183f..a7aa0d466 100644 --- a/apps/about/app-bangle2.js +++ b/apps/about/app-bangle2.js @@ -20,11 +20,11 @@ function getVersion(name,file) { return v?(name+" "+(v?"v"+v:"Unknown")):"NO "+name; } -var versions = [ +/*var versions = [ getVersion("Bootloader","boot.info"), getVersion("Launcher","launch.info"), getVersion("Settings","setting.info") -]; +];*/ var logo = E.toArrayBuffer(atob("PBwBAAAAAAAB/gAAAAAAAB/gAAAAAAAB/gAAAAAAAB/gAAAAAAAB/gAAAAAAAB/gAAAAAAAD/w+AAAAQAHA4hAAAAQAMAMhAAAAQAYBmhAAAAQAYBGiAAAAQAQCD/H74+R4wGDhoKJCSEwEDgoKJCT8wFDgoKJCSAwHDhoKJCSEQHj/H6I+R4YHmAAAACAAYEGAAABCAAMEMAAAA8AAHA4AAAAAAAD/wAAAAAAAB/gAAAAAAAB/gAAAAAAAB/gAAAAAAAB/gAAAAAAAB/gAAAAAAAB/g")); var imageTop = 24; diff --git a/apps/accelrec/app.js b/apps/accelrec/app.js index 4312258b8..cf434fd7b 100644 --- a/apps/accelrec/app.js +++ b/apps/accelrec/app.js @@ -1,4 +1,4 @@ -var acc; +//var acc; var HZ = 100; var SAMPLES = 5*HZ; // 5 seconds var SCALE = 5000; diff --git a/apps/acmaze/app.js b/apps/acmaze/app.js index 16a1ce561..fba317aea 100644 --- a/apps/acmaze/app.js +++ b/apps/acmaze/app.js @@ -54,7 +54,7 @@ function Maze(n) { // Abort if BTN1 pressed [grace period for menu] // (for some reason setWatch() fails inside constructor) if (ngroupsstepsCounted}; })(); diff --git a/apps/agenda/agenda.js b/apps/agenda/agenda.js index 814525a2e..4f3a91537 100644 --- a/apps/agenda/agenda.js +++ b/apps/agenda/agenda.js @@ -15,14 +15,14 @@ Bangle.loadWidgets(); Bangle.drawWidgets(); -var FILE = "android.calendar.json"; +//var FILE = "android.calendar.json"; var Locale = require("locale"); -var fontSmall = "6x8"; +//var fontSmall = "6x8"; var fontMedium = g.getFonts().includes("6x15")?"6x15":"6x8:2"; var fontBig = g.getFonts().includes("12x20")?"12x20":"6x8:2"; -var fontLarge = g.getFonts().includes("6x15")?"6x15:2":"6x8:4"; +//var fontLarge = g.getFonts().includes("6x15")?"6x15:2":"6x8:4"; //FIXME maybe write the end from GB already? Not durationInSeconds here (or do while receiving?) var CALENDAR = require("Storage").readJSON("android.calendar.json",true)||[]; diff --git a/apps/alpinenav/app.js b/apps/alpinenav/app.js index 7cffc39c3..7188e25bf 100644 --- a/apps/alpinenav/app.js +++ b/apps/alpinenav/app.js @@ -145,7 +145,7 @@ Bangle.setCompassPower(1); Bangle.setGPSPower(1); g.clear(); process_GPS(); -var poll_GPS = setInterval(process_GPS, 9000); +/*var poll_GPS =*/ setInterval(process_GPS, 9000); setWatch(function () { if (!button_lock) { diff --git a/apps/angles/app.js b/apps/angles/app.js index a07c29199..d124d7ce7 100644 --- a/apps/angles/app.js +++ b/apps/angles/app.js @@ -4,8 +4,6 @@ var avrAngle = undefined; var history = []; var R = Bangle.appRect; -var W = g.getWidth(); -var H = g.getHeight(); var relativeTo = undefined; function draw(v) { diff --git a/apps/animclk/app.js b/apps/animclk/app.js index bdc399fbe..1158fd0d5 100644 --- a/apps/animclk/app.js +++ b/apps/animclk/app.js @@ -16,7 +16,6 @@ var is12Hour = (require("Storage").readJSON("setting.json",1)||{})["12hour"]; var IX = 80, IY = 10, IBPP = 1; var IW = 174, IH = 45, OY = 24; var inf = {align:0}; -var bgoptions; require("Font7x11Numeric7Seg").add(Graphics); var cg = Graphics.createArrayBuffer(IW,IH,IBPP,{msb:true}); diff --git a/apps/approxclock/app.js b/apps/approxclock/app.js index 4f0bb570a..c4dff67d3 100644 --- a/apps/approxclock/app.js +++ b/apps/approxclock/app.js @@ -93,7 +93,7 @@ const drawTimeExact = () => { var dateTime = Date(); var hours = dateTime.getHours(); var minutes = dateTime.getMinutes().toString().padStart(2,0); - var day = dateTime.getDay(); + //var day = dateTime.getDay(); var date = dateTime.getDate(); var month = dateTime.getMonth(); var year = dateTime.getFullYear(); diff --git a/apps/arrow/app.js b/apps/arrow/app.js index f1f85e880..c4cf3d32c 100644 --- a/apps/arrow/app.js +++ b/apps/arrow/app.js @@ -20,9 +20,11 @@ function flip2(x,y) { buf2.clear(); } +/* function radians(d) { return (d*Math.PI) / 180; } +*/ // takes 32ms function drawCompass(hd) { @@ -60,7 +62,7 @@ function newHeading(m,h){ // takes approx 7ms function tiltfixread(O,S){ - var start = Date.now(); + //var start = Date.now(); var m = Bangle.getCompass(); var g = Bangle.getAccel(); m.dx =(m.x-O.x)*S.x; m.dy=(m.y-O.y)*S.y; m.dz=(m.z-O.z)*S.z; diff --git a/apps/astrocalc/astrocalc-app.js b/apps/astrocalc/astrocalc-app.js index 5589a5703..293cd9386 100644 --- a/apps/astrocalc/astrocalc-app.js +++ b/apps/astrocalc/astrocalc-app.js @@ -10,7 +10,6 @@ */ const SunCalc = require("suncalc"); // from modules folder -const storage = require("Storage"); function drawMoon(phase, x, y) { const moonImgFiles = [ @@ -52,7 +51,7 @@ function drawTitle(key) { const x = 0; const x2 = g.getWidth() - 1; const y = fontHeight + 26; - const y2 = g.getHeight() - 1; + //const y2 = g.getHeight() - 1; const title = titlizeKey(key); g.setFont("6x8", 2); diff --git a/apps/ballmaze/app.js b/apps/ballmaze/app.js index 2d55887f0..d54cf4372 100644 --- a/apps/ballmaze/app.js +++ b/apps/ballmaze/app.js @@ -25,6 +25,7 @@ 10: "Medium", 16: "Small", 20: "Tiny", 40: "Trivial", }; // even size 1 actually works, but larger mazes take forever to generate + // TODO: should `sizes`, `minSize` and `defaultSize` have been declared outside the if block? if (!BANGLEJS2) { const sizes = [1, 2, 4, 5, 8, 10, 16, 20, 40].reverse(), minSize = 4, defaultSize = 10; } else { diff --git a/apps/banglebridge/widget.js b/apps/banglebridge/widget.js index 48078de30..692822b39 100644 --- a/apps/banglebridge/widget.js +++ b/apps/banglebridge/widget.js @@ -11,13 +11,13 @@ g.setFont("Vector", 100); //variabangle.Sensorss - let acclS, bttS, compssS, gpsS, hrmS, stepS; //Strings + //let acclS, bttS, compssS, gpsS, hrmS, stepS; //Strings let accelN, compssN, gpsN, hrmN, stepN; //Num - let prueba = 1; + //let prueba = 1; let data = [0, 0, 0, 0, 0, 0]; //Constants for redabangle.Sensors code let storage = require('Storage'); - let deCom = require('heatshrink'); + //let deCom = require('heatshrink'); @@ -129,10 +129,10 @@ finalS = s; } var z = d.getMilliseconds(); - var zFinal = new String(z); - zFinal = zFinal.replace('.', ''); + //var zFinal = new String(z); + //zFinal = zFinal.replace('.', ''); var completeTime = year + "-" + finalMonth + "-" + finalDay + "T" + finalh + ":" + finalM + ":" + finalS + "." + z + "Z"; - var time = h + ":" + ("0" + m).substr(-2); + //var time = h + ":" + ("0" + m).substr(-2); gpsN.time = completeTime; data[5] = gpsN; }, 2 * 1000); diff --git a/apps/banglexercise/app.js b/apps/banglexercise/app.js index 9659ee81f..c29671258 100644 --- a/apps/banglexercise/app.js +++ b/apps/banglexercise/app.js @@ -11,7 +11,7 @@ let historySlopeY = []; let historySlopeZ = []; let lastZeroPassCameFromPositive; -let lastZeroPassTime = 0; +//let lastZeroPassTime = 0; let lastExerciseCompletionTime = 0; let lastExerciseHalfCompletionTime = 0; @@ -198,7 +198,7 @@ function isValidExercise(slope, t) { } lastZeroPassCameFromPositive = true; - lastZeroPassTime = t; + //lastZeroPassTime = t; } if (p2 > 0 && p1 < 0) { if (lastZeroPassCameFromPositive == true) { @@ -256,7 +256,7 @@ function isValidExercise(slope, t) { } lastZeroPassCameFromPositive = false; - lastZeroPassTime = t; + //lastZeroPassTime = t; } } } @@ -272,7 +272,7 @@ function reset() { historySlopeZ = []; lastZeroPassCameFromPositive = undefined; - lastZeroPassTime = 0; + //lastZeroPassTime = 0; lastExerciseHalfCompletionTime = 0; lastExerciseCompletionTime = 0; exerciseCounter = 0; diff --git a/apps/barcode/barcode.app.js b/apps/barcode/barcode.app.js index 0d9df78d5..3242164ae 100644 --- a/apps/barcode/barcode.app.js +++ b/apps/barcode/barcode.app.js @@ -8,8 +8,8 @@ let digitBarHeight = 100; let textBarWidth = 56; let textBarHeight = 20; -let textWidth = 14; -let textHeight = 20; +//let textWidth = 14; +//let textHeight = 20; /* Offsets */ var startOffsetX = 17; @@ -39,7 +39,7 @@ let rightBarsStartY = upperTextBarRightOffsetY + textBarHeight; /* Utilities */ let stepCount = require("Storage").readJSON("stepCount",1); if(stepCount === undefined) stepCount = 0; -let intCaster = num => Number(num); +//let intCaster = num => Number(num); var drawTimeout; @@ -50,7 +50,7 @@ function renderWatch(l) { var d = new Date(); var h = d.getHours(), m = d.getMinutes(); - var time = h + ":" + ("0"+m).substr(-2); + //var time = h + ":" + ("0"+m).substr(-2); //var month = ("0" + (d.getMonth()+1)).slice(-2); var dayOfMonth = ('0' + d.getDate()).slice(-2); var dayOfWeek = d.getDay() || 7; diff --git a/apps/batchart/app.js b/apps/batchart/app.js index 8d700d0a1..c25617365 100644 --- a/apps/batchart/app.js +++ b/apps/batchart/app.js @@ -146,7 +146,7 @@ function renderData(dataArray) { const belowMinIndicatorValue = minTemperature - 1; const aboveMaxIndicatorValue = maxTemparature + 1; - var allConsumers = switchableConsumers.none | switchableConsumers.lcd | switchableConsumers.compass | switchableConsumers.bluetooth | switchableConsumers.gps | switchableConsumers.hrm; + //var allConsumers = switchableConsumers.none | switchableConsumers.lcd | switchableConsumers.compass | switchableConsumers.bluetooth | switchableConsumers.gps | switchableConsumers.hrm; for (let i = 0; i < dataArray.length; i++) { const element = dataArray[i]; diff --git a/apps/batchart/widget.js b/apps/batchart/widget.js index b1234f377..40198065b 100644 --- a/apps/batchart/widget.js +++ b/apps/batchart/widget.js @@ -11,10 +11,10 @@ hrm: 16 }; - var batChartFile; // file for battery percentage recording + //var batChartFile; // file for battery percentage recording const recordingInterval10Min = 60 * 10 * 1000; - const recordingInterval1Min = 60 * 1000; //For testing - const recordingInterval10S = 10 * 1000; //For testing + //const recordingInterval1Min = 60 * 1000; //For testing + //const recordingInterval10S = 10 * 1000; //For testing var compassEventReceived = false; var gpsEventReceived = false; diff --git a/apps/battleship/battleship.js b/apps/battleship/battleship.js index 3661ef494..237eca3d2 100644 --- a/apps/battleship/battleship.js +++ b/apps/battleship/battleship.js @@ -1,6 +1,6 @@ const FIELD_WIDTH = [11, 11, 15]; // for each phase const FIELD_HEIGHT = FIELD_WIDTH; -const FIELD_LINE_WIDTH = 2; +//const FIELD_LINE_WIDTH = 2; const FIELD_MARGIN = 2; const FIELD_COUNT_X = 10; const FIELD_COUNT_Y = FIELD_COUNT_X; diff --git a/apps/beebclock/beebclock.js b/apps/beebclock/beebclock.js index c85f68c55..d220096d2 100644 --- a/apps/beebclock/beebclock.js +++ b/apps/beebclock/beebclock.js @@ -108,10 +108,10 @@ for (let h=1; h<=12; h++) { // so we buffer once and minute, and draw the second hand dynamically // (with a bit of flicker) const drawFace = (G) => { - const fw = R1 * 2; - const fh = R1 * 2; - const fw2 = R1; - const fh2 = R1; + //const fw = R1 * 2; + //const fh = R1 * 2; + //const fw2 = R1; + //const fh2 = R1; let hs = []; // Wipe the image and start with white @@ -182,7 +182,7 @@ const drawAll = (force) => { if (!faceImg) force = true; let face_changed = force; - let date_changed = false; + //let date_changed = false; tmp = hours; hours = now.getHours(); @@ -214,7 +214,7 @@ const drawAll = (force) => { tmp = date; date = now.getDate(); if (tmp !== date) { - date_changed = true; + //date_changed = true; face_changed = true; // Should have changed anyway with hour/minute rollover } } diff --git a/apps/berlinc/berlin-clock.js b/apps/berlinc/berlin-clock.js index 9391d2cc1..94fbe5be1 100644 --- a/apps/berlinc/berlin-clock.js +++ b/apps/berlinc/berlin-clock.js @@ -9,7 +9,6 @@ let fullscreen = !!settings.fullscreen; let show_date = false; let show_time = false; -let yy = 0; let rowlights = []; let time_digit = []; diff --git a/apps/binaryclk/app.js b/apps/binaryclk/app.js index 94c906104..291b5eecd 100644 --- a/apps/binaryclk/app.js +++ b/apps/binaryclk/app.js @@ -40,7 +40,7 @@ function draw() { g.clear(); draw(); -var secondInterval = setInterval(draw, 60000); +/*var secondInterval =*/ setInterval(draw, 60000); Bangle.setUI("clock"); if (!settings.fullscreen) { Bangle.loadWidgets(); diff --git a/apps/binwatch/app.js b/apps/binwatch/app.js index 153bebb32..8e21a06a0 100644 --- a/apps/binwatch/app.js +++ b/apps/binwatch/app.js @@ -63,8 +63,8 @@ const V2_BAT_SIZE_Y = 2; const V2_SCREEN_SIZE_X = 176; const V2_SCREEN_SIZE_Y = 176; const V2_BACKGROUND_IMAGE = "binwatch.bg176.img"; -const V2_BG_COLOR = 0; -const V2_FG_COLOR = 1; +//const V2_BG_COLOR = 0; +//const V2_FG_COLOR = 1; /* Bangle 1: 240 x 240 */ @@ -91,15 +91,15 @@ const V1_BAT_SIZE_Y = 5; const V1_SCREEN_SIZE_X = 240; const V1_SCREEN_SIZE_Y = 240; const V1_BACKGROUND_IMAGE = "binwatch.bg240.img"; -const V1_BG_COLOR = 1; -const V1_FG_COLOR = 0; +//const V1_BG_COLOR = 1; +//const V1_FG_COLOR = 0; /* runtime settings */ var x_step = 0; var y_step = 0; -var time_y_offset = 0; +//var time_y_offset = 0; var hx = 0, hy = 0; var mx = 0, my = 0; var sx = 0, sy = 0; @@ -110,10 +110,9 @@ var bat_pos_x, bat_pos_y, bat_size_x, bat_size_y; var backgroundImage = ""; var screen_size_x = 0; var screen_size_y = 0; -var bg_color = 0; -var fg_color = 1; +//var bg_color = 0; +//var fg_color = 1; -/* global variables */ var showDateTime = 2; /* show noting, time or date */ var cg; @@ -271,7 +270,7 @@ function setRuntimeValues(resolution) { x_step = V1_X_STEP; y_step = V1_Y_STEP; - time_y_offset = V1_TIME_Y_OFFSET; + //time_y_offset = V1_TIME_Y_OFFSET; hx = V1_HX; hy = V1_HY; mx = V1_MX; @@ -298,7 +297,7 @@ function setRuntimeValues(resolution) { x_step = V2_X_STEP; y_step = V2_Y_STEP; - time_y_offset = V2_TIME_Y_OFFSET; + //time_y_offset = V2_TIME_Y_OFFSET; hx = V2_HX; hy = V2_HY; diff --git a/apps/boot/bootupdate.js b/apps/boot/bootupdate.js index 1b11a3f16..315b60723 100644 --- a/apps/boot/bootupdate.js +++ b/apps/boot/bootupdate.js @@ -4,7 +4,7 @@ of the time. */ { // execute in our own scope so we don't have to free variables... E.showMessage(/*LANG*/"Updating boot0..."); let s = require('Storage').readJSON('setting.json',1)||{}; -const BANGLEJS2 = process.env.HWVERSION==2; // Is Bangle.js 2 +//const BANGLEJS2 = process.env.HWVERSION==2; // Is Bangle.js 2 const FWVERSION = parseFloat(process.env.VERSION.replace("v","").replace(/\.(\d\d)$/,".0$1")); const DEBUG = s.bootDebug; // we can set this to enable debugging output in boot0 let boot = "", bootPost = ""; diff --git a/apps/bradbury/app.js b/apps/bradbury/app.js index 147242689..ae018f87f 100644 --- a/apps/bradbury/app.js +++ b/apps/bradbury/app.js @@ -2,7 +2,7 @@ require("Font7x11Numeric7Seg").add(Graphics); require("Font5x9Numeric7Seg").add(Graphics); require("Font8x12").add(Graphics); require("FontDylex7x13").add(Graphics); -const X = 98, Y = 46; +//const X = 98, Y = 46; var wizible = 0; function getImg() { diff --git a/apps/breath/app.js b/apps/breath/app.js index 380308739..309189c9a 100644 --- a/apps/breath/app.js +++ b/apps/breath/app.js @@ -4,7 +4,7 @@ var max_radius = 70; var direction = 1; var display_HR = "--"; var first_signal = true; -var interval; +//var interval; var timeout; var settings; var status = 0; @@ -63,7 +63,7 @@ function circle() { g.drawString("<<", 220, 40); status = 7; timeout = setTimeout(function () { - interval = restart_interval(); + /*interval =*/ restart_interval(); }, settings.exhale_pause * 1000); } direction = 0; @@ -77,7 +77,7 @@ function circle() { g.drawString("<<", 220, 40); status = 7; timeout = setTimeout(function () { - interval = restart_interval(); + /*interval =*/ restart_interval(); }, settings.inhale_pause * 1000); } direction = 1; @@ -100,7 +100,7 @@ function restart_interval() { if(direction == 1 && settings.ex_in_ratio == "5:6"){ calc -= calc*0.2; } - interval = setInterval(circle, calc); + /*interval =*/ setInterval(circle, calc); } function update_menu() { diff --git a/apps/bthrv/app.js b/apps/bthrv/app.js index fbd0e2d05..8378ba025 100644 --- a/apps/bthrv/app.js +++ b/apps/bthrv/app.js @@ -1,4 +1,4 @@ -var btm = g.getHeight()-1; +//var btm = g.getHeight()-1; var ui = false; function clear(y){ @@ -10,7 +10,7 @@ var startingTime; var currentSlot = 0; var hrvSlots = [10,20,30,60,120,300]; var hrvValues = {}; -var rrRmsProgress; +//var rrRmsProgress; var rrNumberOfValues = 0; var rrSquared = 0; @@ -120,7 +120,7 @@ function resetHrv(){ } -var settings = require('Storage').readJSON("bthrm.json", true) || {}; +//var settings = require('Storage').readJSON("bthrm.json", true) || {}; g.clear(); Bangle.loadWidgets(); diff --git a/apps/calclock/calclock.js b/apps/calclock/calclock.js index 5266bf2f4..32cce5fdb 100644 --- a/apps/calclock/calclock.js +++ b/apps/calclock/calclock.js @@ -143,7 +143,7 @@ function redraw() { g.clear(); fullRedraw(); buzzForEvents(); -var minuteInterval = setInterval(redraw, 60 * 1000); +/*var minuteInterval =*/ setInterval(redraw, 60 * 1000); Bangle.setUI("clock"); Bangle.loadWidgets(); diff --git a/apps/calendar/calendar.js b/apps/calendar/calendar.js index 5d7cae240..e140ff576 100644 --- a/apps/calendar/calendar.js +++ b/apps/calendar/calendar.js @@ -33,7 +33,6 @@ const timeutils = require("time_utils"); let startOnSun = ((require("Storage").readJSON("setting.json", true) || {}).firstDayOfWeek || 0) === 0; let events; const dowLbls = function() { - const locale = require('locale').name; const days = startOnSun ? [0, 1, 2, 3, 4, 5, 6] : [1, 2, 3, 4, 5, 6, 0]; const d = new Date(); return days.map(i => { @@ -123,7 +122,6 @@ const calcDays = (month, monthMaxDayMap, dowNorm) => { const days = []; let nextMonthDay = 1; let thisMonthDay = 51; - const month2 = month; let prevMonthDay = monthMaxDayMap[month > 0 ? month - 1 : 11] - dowNorm + 1; for (let i = 0; i < maxDay; i++) { diff --git a/apps/calendar/settings.js b/apps/calendar/settings.js index 50beed8c0..051826646 100644 --- a/apps/calendar/settings.js +++ b/apps/calendar/settings.js @@ -27,7 +27,7 @@ const editdate = (i) => { const holiday = holidays[i]; const date = new Date(holiday.date); - const dateStr = require("locale").date(date, 1); + //const dateStr = require("locale").date(date, 1); const menu = { "": { "title" : holiday.name}, "< Back": () => { diff --git a/apps/carcrazy/app.js b/apps/carcrazy/app.js index 0fb765871..18e703282 100644 --- a/apps/carcrazy/app.js +++ b/apps/carcrazy/app.js @@ -168,17 +168,17 @@ var playerCarRightX; var playerCarFrontY; var playerCarFrontY; -var playerCarBackY; +//var playerCarBackY; var playerCarLeftX; var playerCarRightX; var enemyCarFrontY; -var enemyCarBackY; +//var enemyCarBackY; var enemyCarLeftX; var enemyCarRightX; var enemyCarFrontY2; -var enemyCarBackY2; +//var enemyCarBackY2; var enemyCarLeftX2; var enemyCarRightX2; @@ -239,17 +239,17 @@ function draw(){ } playerCarFrontY = playerCarCenterY-carHeight/2; - playerCarBackY = playerCarCenterY+carHeight/2; + //playerCarBackY = playerCarCenterY+carHeight/2; playerCarLeftX = playerCarCenterX-carWidth/2; playerCarRightX = playerCarCenterX+carWidth/2; enemyCarFrontY = enemyPositonCenterY+carHeight/2; - enemyCarBackY = enemyPositonCenterY-carHeight/2; + //enemyCarBackY = enemyPositonCenterY-carHeight/2; enemyCarLeftX = enemyPositonCenterX-carWidth/2; enemyCarRightX = enemyPositonCenterX+carWidth/2; enemyCarFrontY2 = enemyPositonCenterY2+carHeight/2; - enemyCarBackY2 = enemyPositonCenterY2-carHeight/2; + //enemyCarBackY2 = enemyPositonCenterY2-carHeight/2; enemyCarLeftX2 = enemyPositonCenterX2-carWidth/2; enemyCarRightX2 = enemyPositonCenterX2+carWidth/2; diff --git a/apps/cards/app.js b/apps/cards/app.js index 33b4c9e15..1f426957c 100644 --- a/apps/cards/app.js +++ b/apps/cards/app.js @@ -21,10 +21,10 @@ const BLACK=0 const Locale = require("locale"); const widget_utils = require('widget_utils'); -var fontSmall = "6x8"; +//var fontSmall = "6x8"; var fontMedium = g.getFonts().includes("6x15")?"6x15":"6x8:2"; var fontBig = g.getFonts().includes("12x20")?"12x20":"6x8:2"; -var fontLarge = g.getFonts().includes("6x15")?"6x15:2":"6x8:4"; +//var fontLarge = g.getFonts().includes("6x15")?"6x15:2":"6x8:4"; var CARDS = require("Storage").readJSON("android.cards.json",true)||[]; var settings = require("Storage").readJSON("cards.settings.json",true)||{}; @@ -136,8 +136,6 @@ function showCard(card) { //var lines = []; if (card.name) lines = g.wrapString(card.name, g.getWidth()-10); var titleCnt = lines.length; - var start = getDate(card.expiration); - var includeDay = true; lines = lines.concat("", /*LANG*/"View code"); var valueLine = lines.length - 1; if (card.expiration) diff --git a/apps/chimer/widget.js b/apps/chimer/widget.js index 3b7de9d7a..d27ecd78f 100644 --- a/apps/chimer/widget.js +++ b/apps/chimer/widget.js @@ -53,9 +53,7 @@ function check() { const now = new Date(), h = now.getHours(), - m = now.getMinutes(), - s = now.getSeconds(), - ms = now.getMilliseconds(); + m = now.getMinutes(); if (settings.sleep && ( h > settings.end || (h >= settings.end && m !== 0) || diff --git a/apps/chrono/chrono.js b/apps/chrono/chrono.js index cd50b8a22..5b9e6eda9 100644 --- a/apps/chrono/chrono.js +++ b/apps/chrono/chrono.js @@ -69,5 +69,5 @@ Bangle.on('touch', function (button) { started = !started; }); -var interval = setInterval(countDown, 1000); +setInterval(countDown, 1000); drawInterface(); \ No newline at end of file diff --git a/apps/circlesclock/app.js b/apps/circlesclock/app.js index 6f76ff013..9be308bb3 100644 --- a/apps/circlesclock/app.js +++ b/apps/circlesclock/app.js @@ -11,7 +11,6 @@ Graphics.prototype.setFontRobotoRegular21 = function(scale) { }; { -let clock_info = require("clock_info"); let locale = require("locale"); let storage = require("Storage"); @@ -26,7 +25,7 @@ const showWidgets = settings.showWidgets || false; const circleCount = settings.circleCount || 3; const showBigWeather = settings.showBigWeather || false; -let now = Math.round(new Date().getTime() / 1000); +//let now = Math.round(new Date().getTime() / 1000); // layout values: let colorFg = g.theme.dark ? '#fff' : '#000'; @@ -87,7 +86,7 @@ let draw = function() { g.setFontAlign(-1, -1); g.drawString(locale.time(new Date(), 1), 2, h1 + 6); } - now = Math.round(new Date().getTime() / 1000); + //now = Math.round(new Date().getTime() / 1000); // date & dow g.setFontRobotoRegular21(); @@ -171,6 +170,7 @@ let getCircleIconColor = function(index, color, percent) { } } +/* let drawEmpty = function(img, w, color) { drawGauge(w, h3, 0, color); drawInnerCircleAndTriangle(w); @@ -179,6 +179,7 @@ let drawEmpty = function(img, w, color) { g.setColor(getGradientColor(color, 0)) .drawImage(img, w - iconOffset, h3 + radiusOuter - iconOffset, {scale: 16/24}); } +*/ let drawCircle = function(index, item, data, clkmenu) { var w = circlePosX[index-1]; diff --git a/apps/circlesclock/settings.js b/apps/circlesclock/settings.js index ae090c1d7..714b48f2e 100644 --- a/apps/circlesclock/settings.js +++ b/apps/circlesclock/settings.js @@ -81,7 +81,7 @@ }; for(var circleId=1; circleId<=4; ++circleId) { const circleName = "circle" + circleId; - const colorKey = circleName + "color"; + //const colorKey = circleName + "color"; const colorizeIconKey = circleName + "colorizeIcon"; menu[/*LANG*/'circle ' + circleId] = { value: settings[colorizeIconKey] || false, diff --git a/apps/cliclockJS2Enhanced/app.js b/apps/cliclockJS2Enhanced/app.js index b6172b497..b99ed2542 100644 --- a/apps/cliclockJS2Enhanced/app.js +++ b/apps/cliclockJS2Enhanced/app.js @@ -148,7 +148,7 @@ g.clear(); Bangle.on('lcdPower',function(on) { if (on) drawAll(); }); -var click = setInterval(updateTime, 1000); +/*var click =*/ setInterval(updateTime, 1000); // Show launcher when button pressed Bangle.setUI("clockupdown", btn=>{ drawAll(); // why do we redraw here?? diff --git a/apps/clicompleteclk/app.js b/apps/clicompleteclk/app.js index a39b37e58..7472907e1 100644 --- a/apps/clicompleteclk/app.js +++ b/apps/clicompleteclk/app.js @@ -17,8 +17,8 @@ const textColorRed = g.theme.dark ? "#FF0000" : "#FF0000"; let hrtValue; let hrtValueIsOld = false; -let localTempValue; -let weatherTempString; +//let localTempValue; +//let weatherTempString; let lastHeartRateRowIndex; let lastStepsRowIndex; let i = 2; @@ -114,7 +114,7 @@ function drawWeather() { const currentWeather = weatherJson.weather; const weatherTempValue = locale.temp(currentWeather.temp-273.15); - weatherTempString = weatherTempValue; + //weatherTempString = weatherTempValue; writeLineTopic("WTHR", i); writeLine(currentWeather.txt,i); i++; diff --git a/apps/cliock/app.js b/apps/cliock/app.js index d9271bf15..c1b3a3106 100644 --- a/apps/cliock/app.js +++ b/apps/cliock/app.js @@ -186,7 +186,7 @@ g.clear(); Bangle.on('lcdPower',function(on) { if (on) drawAll(); }); -var click = setInterval(updateTime, 1000); +/*var click =*/ setInterval(updateTime, 1000); // Show launcher when button pressed Bangle.setUI("clockupdown", btn=>{ if (btn<0) changeInfoMode(); diff --git a/apps/clkinfosunrise/clkinfo.js b/apps/clkinfosunrise/clkinfo.js index 22c507f34..f8ea7f4c7 100644 --- a/apps/clkinfosunrise/clkinfo.js +++ b/apps/clkinfosunrise/clkinfo.js @@ -49,7 +49,7 @@ let day = true; let d = date.getTime(); let dayLength = sunset.getTime()-sunrise.getTime(); - let timeUntil, timeTotal; + let timeTotal; if (d < sunrise.getTime()) { day = false; // early morning timePast = sunrise.getTime()-d; diff --git a/apps/color_catalog/app.js b/apps/color_catalog/app.js index 58951d1c6..d5014bcaa 100644 --- a/apps/color_catalog/app.js +++ b/apps/color_catalog/app.js @@ -11,7 +11,7 @@ var v_model=process.env.BOARD; console.log("device="+v_model); var x_max_screen=g.getWidth();//240; - var y_max_screen=g.getHeight(); //240; + //var y_max_screen=g.getHeight(); //240; var y_wg_bottom=g.getHeight()-25; var y_wg_top=25; if (v_model=='BANGLEJS') { @@ -20,7 +20,7 @@ var v_model=process.env.BOARD; var y_btn2=124; //harcoded for bangle.js cuz it is not the half of } else x_max_usable_area=240; - var contador=1; + //var contador=1; var cont_items=0; var cont_row=0; var v_boxes_row=4; @@ -31,7 +31,7 @@ var v_model=process.env.BOARD; var v_font1size=11; var v_fontsize=13; var v_color_b_area='#111111';//black - var v_color_b_area2=0x5AEB;//Dark + //var v_color_b_area2=0x5AEB;//Dark var v_color_text='#FB0E01'; var v_color_statictxt='#e56e06'; //orange RGB format rrggbb //RGB565 requires only 16 (5+6+5) bits/2 bytes diff --git a/apps/colorful_clock/app.js b/apps/colorful_clock/app.js index ba6272e9b..b58892311 100644 --- a/apps/colorful_clock/app.js +++ b/apps/colorful_clock/app.js @@ -120,7 +120,6 @@ let twoPi = 2*Math.PI; let Pi = Math.PI; - let halfPi = Math.PI/2; let sin = Math.sin, cos = Math.cos; diff --git a/apps/configurable_clock/app.js b/apps/configurable_clock/app.js index 5c3bf3333..4192954ae 100644 --- a/apps/configurable_clock/app.js +++ b/apps/configurable_clock/app.js @@ -748,7 +748,6 @@ let twoPi = 2*Math.PI, deg2rad = Math.PI/180; let Pi = Math.PI; - let halfPi = Math.PI/2; let sin = Math.sin, cos = Math.cos; diff --git a/apps/contacts/contacts.app.js b/apps/contacts/contacts.app.js index 85eef625b..a16bd1917 100644 --- a/apps/contacts/contacts.app.js +++ b/apps/contacts/contacts.app.js @@ -2,8 +2,8 @@ var Layout = require("Layout"); -const W = g.getWidth(); -const H = g.getHeight(); +//const W = g.getWidth(); +//const H = g.getHeight(); var wp = require('Storage').readJSON("contacts.json", true) || []; // Use this with corrupted contacts @@ -131,7 +131,6 @@ function removeCard() { } function askPosition(callback) { - let full = ""; showNumpad("dddDDDddd", "", function() { callback(key, ""); }); diff --git a/apps/contourclock/app.js b/apps/contourclock/app.js index 1a510f014..55d29a3dd 100644 --- a/apps/contourclock/app.js +++ b/apps/contourclock/app.js @@ -2,8 +2,8 @@ let drawTimeout; let extrasTimeout; let onLock; - let onTap; - let onTwist; + //let onTap; + //let onTwist; let settings = require('Storage').readJSON("contourclock.json", true) || {}; if (settings.fontIndex == undefined) { settings.fontIndex = 0; @@ -60,7 +60,6 @@ drawTimeout = undefined; draw(); }, 60000 - (Date.now() % 60000)); - let date = new Date(); g.reset(); if (extrasShown) drawExtras(); else hideExtras(); diff --git a/apps/coretemp/coretemp.js b/apps/coretemp/coretemp.js index 7cbbe3577..0337891e1 100644 --- a/apps/coretemp/coretemp.js +++ b/apps/coretemp/coretemp.js @@ -1,6 +1,6 @@ // Simply listen for core events and show data -var btm = g.getHeight() - 1; +//var btm = g.getHeight() - 1; var px = g.getWidth() / 2; // Dark or light logo diff --git a/apps/cycling/blecsc-emu.js b/apps/cycling/blecsc-emu.js index ca5058545..1a313e08a 100644 --- a/apps/cycling/blecsc-emu.js +++ b/apps/cycling/blecsc-emu.js @@ -1,5 +1,5 @@ // UUID of the Bluetooth CSC Service -const SERVICE_UUID = "1816"; +//const SERVICE_UUID = "1816"; // UUID of the CSC measurement characteristic const MEASUREMENT_UUID = "2a5b"; diff --git a/apps/daisy/app.js b/apps/daisy/app.js index 3b3975105..cba3e762d 100644 --- a/apps/daisy/app.js +++ b/apps/daisy/app.js @@ -1,6 +1,4 @@ var SunCalc = require("suncalc"); // from modules folder -const storage = require('Storage'); -const locale = require("locale"); const widget_utils = require('widget_utils'); const SETTINGS_FILE = "daisy.json"; const LOCATION_FILE = "mylocation.json"; @@ -196,9 +194,9 @@ function draw() { function drawClock() { var date = new Date(); - var timeStr = require("locale").time(date,1); + //var timeStr = require("locale").time(date,1); var da = date.toString().split(" "); - var time = da[4].substr(0,5); + //var time = da[4].substr(0,5); var hh = da[4].substr(0,2); var mm = da[4].substr(3,2); var steps = getSteps(); diff --git a/apps/dane_tcr/app.js b/apps/dane_tcr/app.js index ce75c55cb..ce8c98025 100644 --- a/apps/dane_tcr/app.js +++ b/apps/dane_tcr/app.js @@ -1,11 +1,6 @@ var d = require("dane_arwes"); var Arwes = d.default(); -const yOffset = 23; -const width = g.getWidth(); -const height = g.getHeight(); -const xyCenter = width / 2 + 4; - const Storage = require("Storage"); const filename = 'dane_tcr.json'; let settings = Storage.readJSON(filename,1) || { diff --git a/apps/devstopwatch/app.js b/apps/devstopwatch/app.js index d2a4b1117..30424d19d 100644 --- a/apps/devstopwatch/app.js +++ b/apps/devstopwatch/app.js @@ -12,7 +12,7 @@ const FONT = '6x8'; const CHRONO = '/* C H R O N O */'; -var reset = false; +//var reset = false; var currentLap = ''; var chronoInterval; @@ -43,7 +43,7 @@ Bangle.setUI("clockupdown", btn=>{ function resetChrono() { state.laps = [EMPTY_H, EMPTY_H, EMPTY_LAP, EMPTY_LAP, EMPTY_LAP, EMPTY_LAP, EMPTY_LAP]; state.started = false; - reset = true; + //reset = true; state.currentLapIndex = 1; currentLap = ''; @@ -61,7 +61,7 @@ function chronometer() { state.whenStarted = rightNow; state.whenStartedTotal = rightNow; state.started = true; - reset = false; + //reset = false; } currentLap = calculateLap(state.whenStarted); @@ -123,7 +123,7 @@ function printChrono() { g.setColor(g.theme.fg); let suffix = ' '; if (state.currentLapIndex === i) { - let suffix = '*'; + let suffix = '*'; //TODO: Should `let` be removed here? if (process.env.HWVERSION==2) g.setColor("#0ee"); else g.setColor("#f70"); } diff --git a/apps/diceroll/app.js b/apps/diceroll/app.js index d514ce92f..61a3d9917 100644 --- a/apps/diceroll/app.js +++ b/apps/diceroll/app.js @@ -105,4 +105,4 @@ function main() { Bangle.setLCDPower(1); } -var interval = setInterval(main, 300); \ No newline at end of file +setInterval(main, 300); \ No newline at end of file diff --git a/apps/distortclk/app.js b/apps/distortclk/app.js index a9fdd1ef2..715899fbb 100644 --- a/apps/distortclk/app.js +++ b/apps/distortclk/app.js @@ -26,7 +26,7 @@ function time() { var d = new Date(); var day = d.getDate(); var time = require("locale").time(d,1); - var date = require("locale").date(d); + //var date = require("locale").date(d); var mo = require("date_utils").month(d.getMonth()+1,0); g.setFontAlign(0,0); diff --git a/apps/dotclock/clock-dot.js b/apps/dotclock/clock-dot.js index 66255d1b4..0127cd488 100644 --- a/apps/dotclock/clock-dot.js +++ b/apps/dotclock/clock-dot.js @@ -1,6 +1,5 @@ const big = g.getWidth()>200; const locale = require('locale'); -const p = Math.PI / 2; const pRad = Math.PI / 180; let timer = null; let currentDate = new Date(); diff --git a/apps/doztime/app-bangle1.js b/apps/doztime/app-bangle1.js index 38c5acbac..d085faeea 100644 --- a/apps/doztime/app-bangle1.js +++ b/apps/doztime/app-bangle1.js @@ -164,7 +164,7 @@ function drawTime() x = 10368*dt.getHours()+172.8*dt.getMinutes()+2.88*dt.getSeconds()+0.00288*dt.getMilliseconds(); let msg = "00000"+Math.floor(x).toString(12); - let time = msg.substr(-5,3)+"."+msg.substr(-2); + let time = msg.substr(-5,3)+"."+msg.substr(-2); //TODO: should `time` and `wait` have been defined outside the if block? let wait = 347*(1-(x%1)); timeDef = time6; } else { @@ -210,8 +210,8 @@ Bangle.loadWidgets(); Bangle.drawWidgets(); // Functions for weather mode - TODO -function drawWeather() {} -function modeWeather() {} +//function drawWeather() {} +//function modeWeather() {} // Start time on twist Bangle.on('twist', function() { diff --git a/apps/doztime/app-bangle2.js b/apps/doztime/app-bangle2.js index 8a315118f..603ac8904 100644 --- a/apps/doztime/app-bangle2.js +++ b/apps/doztime/app-bangle2.js @@ -125,7 +125,7 @@ function formatDate(res,dateFormat){ } function writeDozTime(text,def){ - let pts = def.pts; + //let pts = def.pts; let x=def.pt0[0]; let y=def.pt0[1]; g_t.clear(); @@ -141,7 +141,7 @@ function writeDozTime(text,def){ function writeDozDate(text,def,colour){ dateColour = colour; - let pts = def.pts; + //let pts = def.pts; let x=def.pt0[0]; let y=def.pt0[1]; g_d.clear(); @@ -174,7 +174,7 @@ function drawTime() x = 10368*dt.getHours()+172.8*dt.getMinutes()+2.88*dt.getSeconds()+0.00288*dt.getMilliseconds(); let msg = "00000"+Math.floor(x).toString(12); - let time = msg.substr(-5,3)+"."+msg.substr(-2); + let time = msg.substr(-5,3)+"."+msg.substr(-2); //TODO: should `time` and `wait` have been defined outside the if block? let wait = 347*(1-(x%1)); timeDef = time6; } else { diff --git a/apps/drinkcounter/app.js b/apps/drinkcounter/app.js index 323d9fb41..b231930d7 100644 --- a/apps/drinkcounter/app.js +++ b/apps/drinkcounter/app.js @@ -22,7 +22,7 @@ const maxDrinks = 2; // 3 drinks var firstDrinkTime = null; var firstDrinkTimeTime = null; -var confBeerSize; +//var confBeerSize; var confSex; var confWeight; var confWeightUnit; @@ -97,7 +97,7 @@ function loadMySettings() { function def (value, def) {return value !== undefined ? value : def;} var settings = require('Storage').readJSON(SETTINGSFILE, true) || {}; - confBeerSize = def(settings.beerSize, "0.3L"); + //confBeerSize = def(settings.beerSize, "0.3L"); confSex = def(settings.sex, "male"); confWeight = def(settings.weight, 80); confWeightUnit = def(settings.weightUnit, "Kilo"); diff --git a/apps/dtlaunch/app-b2.js b/apps/dtlaunch/app-b2.js index a3ddd2538..2108910fc 100644 --- a/apps/dtlaunch/app-b2.js +++ b/apps/dtlaunch/app-b2.js @@ -42,7 +42,7 @@ let Npages = Math.ceil(Napps/4); let maxPage = Npages-1; let selected = -1; - let oldselected = -1; + //let oldselected = -1; let page = 0; const XOFF = 24; const YOFF = 30; @@ -104,7 +104,7 @@ let swipeListenerDt = function(dirLeftRight, dirUpDown){ updateTimeoutToClock(); selected = -1; - oldselected=-1; + //oldselected=-1; if(settings.swipeExit && dirLeftRight==1) Bangle.showClock(); if (dirUpDown==-1||dirLeftRight==-1){ ++page; if (page>maxPage) page=0; diff --git a/apps/dwm-clock/app.js b/apps/dwm-clock/app.js index 773777ca5..6d9bd3767 100644 --- a/apps/dwm-clock/app.js +++ b/apps/dwm-clock/app.js @@ -143,7 +143,7 @@ function renderScreen() { } function renderAndQueue() { - timeoutID = setTimeout(renderAndQueue, 60000 - (Date.now() % 60000)); + /*timeoutID =*/ setTimeout(renderAndQueue, 60000 - (Date.now() % 60000)); renderScreen(); } @@ -162,7 +162,7 @@ var now = new Date(); var defLonOffset = getLongitudeOffset().lon; var lonOffset = defLonOffset; -var timeoutID; +//var timeoutID; var timeoutIDTouch; Bangle.on('drag', function(touch) { diff --git a/apps/edisonsball/app.js b/apps/edisonsball/app.js index 2aa317829..6e58ffcc1 100644 --- a/apps/edisonsball/app.js +++ b/apps/edisonsball/app.js @@ -104,10 +104,10 @@ function getStandardDeviation (array) { } function checkHR() { - var bpm = currentBPM, isCurrent = true; + var bpm = currentBPM; //isCurrent = true; if (bpm===undefined) { bpm = lastBPM; - isCurrent = false; + //isCurrent = false; } if (bpm===undefined || bpm < lower_limit_BPM || bpm > upper_limit_BPM) bpm = "--"; diff --git a/apps/encourageclk/app.js b/apps/encourageclk/app.js index a78a788ba..1f19cc314 100644 --- a/apps/encourageclk/app.js +++ b/apps/encourageclk/app.js @@ -3,7 +3,6 @@ require("FontHaxorNarrow7x17").add(Graphics); require("FontDylex7x13").add(Graphics); -const storage = require('Storage'); const locale = require("locale"); const dateutil = require("date_utils"); const currentFont=g.getFont(); @@ -52,7 +51,7 @@ function queueDraw() { function draw() { var time = locale.time(d, 1); - var date = locale.date(d); + //var date = locale.date(d); var mo = dateutil.month(d.getMonth() + 1, 1); g.drawImage(bgimg,0,offset); //bg diff --git a/apps/f9lander/app.js b/apps/f9lander/app.js index 2f17a5bd5..d195a7c67 100644 --- a/apps/f9lander/app.js +++ b/apps/f9lander/app.js @@ -45,7 +45,7 @@ var booster = { x : g.getWidth()/4 + Math.random()*g.getWidth()/2, var exploded = false; var nExplosions = 0; -var landed = false; +//var landed = false; var lightning = 0; var settings = require("Storage").readJSON('f9settings.json', 1) || {}; diff --git a/apps/fclock/fclock.app.js b/apps/fclock/fclock.app.js index 838a5578d..b010d0536 100644 --- a/apps/fclock/fclock.app.js +++ b/apps/fclock/fclock.app.js @@ -2,7 +2,7 @@ var minutes; var seconds; var hours; var date; -var first = true; +//var first = true; var locale = require('locale'); var _12hour = (require("Storage").readJSON("setting.json", 1) || {})["12hour"] || false; diff --git a/apps/flightdash/flightdash.app.js b/apps/flightdash/flightdash.app.js index f612836c6..ac0146210 100644 --- a/apps/flightdash/flightdash.app.js +++ b/apps/flightdash/flightdash.app.js @@ -13,7 +13,7 @@ const COLOUR_LIGHT_BLUE = 0x841f; // same as: g.setColor(0.5, 0.5, 1) const APP_NAME = 'flightdash'; const horizontalCenter = g.getWidth() / 2; -const verticalCenter = g.getHeight() / 2; +//const verticalCenter = g.getHeight() / 2; const dataFontHeight = 22; const secondaryFontHeight = 18; @@ -23,7 +23,7 @@ const labelFontHeight = 12; //globals var settings = {}; -var updateInterval; +//var updateInterval; var speed = '-'; var speedPrev = -1; var track = '-'; var trackPrev = -1; diff --git a/apps/followtherecipe/app.js b/apps/followtherecipe/app.js index 8238a6c07..056632e27 100644 --- a/apps/followtherecipe/app.js +++ b/apps/followtherecipe/app.js @@ -1,10 +1,7 @@ -const storage = require("Storage"); const settings = require("Storage").readJSON("followtherecipe.json"); -const locale = require('locale'); -var ENV = process.env; +//const locale = require('locale'); var W = g.getWidth(), H = g.getHeight(); var screen = 0; -var Layout = require("Layout"); let maxLenghtHorizontal = 16; let maxLenghtvertical = 6; diff --git a/apps/gallifr/app.js b/apps/gallifr/app.js index 8468eee48..e2356d038 100644 --- a/apps/gallifr/app.js +++ b/apps/gallifr/app.js @@ -3,7 +3,7 @@ // Written May 2020 by Richard Hopkins // based on a skeleton app by Gordon Williams // -const locale = require('locale'); +//const locale = require('locale'); let timer = null; let currentDate = new Date(); const cirRad = 2*Math.PI; diff --git a/apps/game1024/app.js b/apps/game1024/app.js index a82db4352..b440c375c 100644 --- a/apps/game1024/app.js +++ b/apps/game1024/app.js @@ -410,7 +410,6 @@ function addToScore (val) { if (val == 10) mover.gameWon = true; } function createGrid () { - let cn =0; for (let r = 0; r < rows; r++) { for (let c = 0; c < cols; c++) { let x0 = borderWidth + c*(borderWidth + sqWidth) - (rows/2)*(2*borderWidth + sqWidth) + middle.x + Math.floor(sqWidth/3); diff --git a/apps/gipy/app.js b/apps/gipy/app.js index 83ce0757a..4bd1adbeb 100644 --- a/apps/gipy/app.js +++ b/apps/gipy/app.js @@ -18,7 +18,7 @@ let Y_OFFSET = 20; // some constants for screen types let MAP = 0; -let HEIGHTS_ZOOMED_IN = 1; +//let HEIGHTS_ZOOMED_IN = 1; let HEIGHTS_FULL = 2; let s = require("Storage"); @@ -1362,7 +1362,7 @@ class Point { } } -let fake_gps_point = 0; +//let fake_gps_point = 0; function drawMenu() { const menu = { diff --git a/apps/glbasic/GLBasic-Watchface-Bangle.JS2.js b/apps/glbasic/GLBasic-Watchface-Bangle.JS2.js index d51d02a10..57f3269db 100644 --- a/apps/glbasic/GLBasic-Watchface-Bangle.JS2.js +++ b/apps/glbasic/GLBasic-Watchface-Bangle.JS2.js @@ -13,7 +13,7 @@ g.setFontCustom(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/nA/+cD/5wP/nAAAAAAAAPwAA/gA require("Font7x11Numeric7Seg").add(Graphics); -var temperature = 13; +//var temperature = 13; //the following 2 sections are used from waveclk to schedule minutely updates // timeout used to update every minute @@ -57,7 +57,7 @@ function draw(){ drawBackground(); var date = new Date(); var h = date.getHours(), m = date.getMinutes(); - var d = date.getDate(), w = date.getDay(); + var w = date.getDay(); g.setBgColor(0,0,0); g.setColor(1,1,1); diff --git a/apps/glbasic/glbasic.app.js b/apps/glbasic/glbasic.app.js index 4f6c9ffb3..1599abfeb 100644 --- a/apps/glbasic/glbasic.app.js +++ b/apps/glbasic/glbasic.app.js @@ -93,7 +93,7 @@ function drawCal() { const nrgb = ["#000", "#FFF", "#F00", "#0F0", "#00F", "#FF0"]; //fg, r ,g , b const suClr = 5; // sunday color fg const tdyMrkClr = 3; // today bk - const tdyNumClr = 0; // today fg + //const tdyNumClr = 0; // today fg g.setFont("Vector", DAY_NAME_FONT_SIZE + 3); @@ -193,8 +193,7 @@ function draw() { var date = new Date(); var h = date.getHours(), m = date.getMinutes(); - var d = date.getDate(), - w = date.getDay(); // d=1..31; w=0..6 + var d = date.getDate()/*,w = date.getDay()*/; // d=1..31; w=0..6 g.setBgColor(0, 0, 0); g.setColor(1, 1, 1); diff --git a/apps/gpsrec/app.js b/apps/gpsrec/app.js index acd5433b2..b856bb194 100644 --- a/apps/gpsrec/app.js +++ b/apps/gpsrec/app.js @@ -190,7 +190,6 @@ function plotTrack(info) { E.showMessage("Drawing...","GPS Track "+info.fn); g.flip(); // on buffered screens, draw a not saying we're busy g.clear(1); - var s = require("Storage"); var cx = g.getWidth()/2; var cy = 24 + (g.getHeight()-24)/2; g.setColor(1,0.5,0.5); @@ -267,7 +266,6 @@ function plotGraph(info, style) { var infc = new Uint16Array(80); var title; var lt = 0; // last time - var tn = 0; // count for each time period var strt, dur = info.duration; var f = require("Storage").open(filename,"r"); if (f===undefined) return; diff --git a/apps/gpstrek/app.js b/apps/gpstrek/app.js index eb21498c0..ae91fe0a3 100644 --- a/apps/gpstrek/app.js +++ b/apps/gpstrek/app.js @@ -137,7 +137,7 @@ const loc = require("locale"); let matchFontSize = function(graphics, text, height, width){ graphics.setFontVector(height); - let metrics; + //let metrics; let size = 1; while (graphics.stringMetrics(text).width > 0.90 * width){ size -= 0.05; @@ -671,8 +671,8 @@ let getCompassSlice = function(){ } }; let lastDrawnValue = 0; - const buffers = 4; - let buf = []; + //const buffers = 4; + //let buf = []; return { refresh: function(){ return Math.abs(lastDrawnValue - compassDataSource.getCourse()) > SETTINGS.minCourseChange; diff --git a/apps/guitar/app.js b/apps/guitar/app.js index 6c172f920..6a339b057 100644 --- a/apps/guitar/app.js +++ b/apps/guitar/app.js @@ -249,8 +249,6 @@ var a9 = [ -var index = 0; -var chords = []; var menu = { "" : { "title" : "Guitar Chords" diff --git a/apps/guitarsongs/app.js b/apps/guitarsongs/app.js index a12fa842b..2536e1c46 100644 --- a/apps/guitarsongs/app.js +++ b/apps/guitarsongs/app.js @@ -203,8 +203,8 @@ function drawApp(lyricsLines, chordsDraw, scrollY, chordScrollX) { let currentScrollY = 0; let chordScrollX = 0; -let currentChordScroll = 0; -let lyricsHeight = 0; +//let currentChordScroll = 0; +//let lyricsHeight = 0; function main(song) { const lyrics = song.lyrics; @@ -214,7 +214,7 @@ function main(song) { const R = Bangle.appRect; g.clear(); drawApp(lyricsLines, chordsDraw, currentScrollY, chordScrollX); - lyricsHeight = g.stringMetrics(lyrics).height; + /*lyricsHeight =*/ g.stringMetrics(lyrics).height; Bangle.on('drag', (event) => { currentScrollY = Math.min(0, currentScrollY + event.dy); chordScrollX = Math.max(Math.min(0, chordScrollX + event.dx), -(song.chords.length*chordWidth - R.x2)); diff --git a/apps/happyclk/happyclk.app.js b/apps/happyclk/happyclk.app.js index 8e22b6e1e..866742f3e 100644 --- a/apps/happyclk/happyclk.app.js +++ b/apps/happyclk/happyclk.app.js @@ -77,7 +77,7 @@ var colors = color_map[settings.color]; /************************************************ * Globals */ -var W = g.getWidth(),R=W/2; +var W = g.getWidth(); var H = g.getHeight(); var drawTimeout; diff --git a/apps/hcclock/hcclock.app.js b/apps/hcclock/hcclock.app.js index f12a4733e..8cf7b35b5 100644 --- a/apps/hcclock/hcclock.app.js +++ b/apps/hcclock/hcclock.app.js @@ -70,7 +70,7 @@ const numbers = const months = [ "JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" ]; const interval = 1000; // in ms -const top = 32; +//const top = 32; let ampm = (require("Storage").readJSON("setting.json",1)||{})["12hour"]; diff --git a/apps/health/lib.js b/apps/health/lib.js index 8f3cc800e..cf2d19963 100644 --- a/apps/health/lib.js +++ b/apps/health/lib.js @@ -1,9 +1,9 @@ const DB_RECORD_LEN = 4; const DB_RECORDS_PER_HR = 6; const DB_RECORDS_PER_DAY = DB_RECORDS_PER_HR*24 + 1/*summary*/; -const DB_RECORDS_PER_MONTH = DB_RECORDS_PER_DAY*31; +//const DB_RECORDS_PER_MONTH = DB_RECORDS_PER_DAY*31; const DB_HEADER_LEN = 8; -const DB_FILE_LEN = DB_HEADER_LEN + DB_RECORDS_PER_MONTH*DB_RECORD_LEN; +//const DB_FILE_LEN = DB_HEADER_LEN + DB_RECORDS_PER_MONTH*DB_RECORD_LEN; function getRecordFN(d) { return "health-"+d.getFullYear()+"-"+(d.getMonth()+1)+".raw"; @@ -70,7 +70,7 @@ exports.readAllRecordsSince = function(d, cb) { // Read daily summaries from the given month exports.readDailySummaries = function(d, cb) { - var rec = getRecordIdx(d); + /*var rec =*/ getRecordIdx(d); var fn = getRecordFN(d); var f = require("Storage").read(fn); if (f===undefined) return; @@ -91,7 +91,7 @@ exports.readDailySummaries = function(d, cb) { // Read all records from the given day exports.readDay = function(d, cb) { - var rec = getRecordIdx(d); + /*var rec =*/ getRecordIdx(d); var fn = getRecordFN(d); var f = require("Storage").read(fn); if (f===undefined) return; diff --git a/apps/helloworld/helloworld.app.js b/apps/helloworld/helloworld.app.js index 1b6684f3f..a59f29c78 100644 --- a/apps/helloworld/helloworld.app.js +++ b/apps/helloworld/helloworld.app.js @@ -11,7 +11,7 @@ var a_colors= Array(0xFFFF,0xFD20,0x03E0,0xFFE0,0x7800,0x001F,0x07E0,0x780F,0x07FF,0x7BE0,0x03EF,0xF81F); var x_max_screen=g.getWidth(); - var y_max_screen=g.getHeight(); + //var y_max_screen=g.getHeight(); var y_wg_bottom=g.getHeight()-25; var y_wg_top=25; diff --git a/apps/henkinen/app.js b/apps/henkinen/app.js index d7c7bd5ed..15a164431 100644 --- a/apps/henkinen/app.js +++ b/apps/henkinen/app.js @@ -53,7 +53,7 @@ function queueDraw() { // main function function draw() { // make date object - var date = new Date(); + //var date = new Date(); // update current time time += wait - (Date.now() % wait); diff --git a/apps/homework/app.js b/apps/homework/app.js index a6ad331f0..8440f0dee 100644 --- a/apps/homework/app.js +++ b/apps/homework/app.js @@ -1,4 +1,3 @@ -var Layout = require("Layout"); var homework = require("Storage").readJSON("homework.txt", "r"); var mainCheckHomeworkMenu; @@ -18,12 +17,12 @@ function newHomeworkMenu() { var splitsubjects = rawsubjects.split(","); var lastItem = splitsubjects[splitsubjects.length - 1]; var thiscurrentsubject; - var command; + //var command; lastItem = lastItem.slice(0, -1); splitsubjects[splitsubjects.length - 1] = lastItem; for (let i = 0; i < splitsubjects.length; i++) { // loop through array and add to menu thiscurrentsubject = splitsubjects[i]; - command = addNewHomework(thiscurrentsubject); + /*command =*/ addNewHomework(thiscurrentsubject); nhwmn[splitsubjects[i]] = addNewHomework.bind(null, thiscurrentsubject); } nhwmn["Back"] = function() {E.showMenu(mainMenu);}; diff --git a/apps/horsey/horse-race.js b/apps/horsey/horse-race.js index bd09e3802..fb4189d1f 100644 --- a/apps/horsey/horse-race.js +++ b/apps/horsey/horse-race.js @@ -32,10 +32,10 @@ function drawPlayers() { g.setFont("6x8"); g.setFontAlign(0,0); var max = mycounter; - var playerCount=0; + //var playerCount=0; for (var player of players) { max = Math.max(player.cnt, mycounter); - playerCount++; + //playerCount++; } var offset = 0; if (max > 200) @@ -50,7 +50,7 @@ function drawPlayers() { g.drawString("You",p-16,y+20); g.drawImage(img, p,y); - var spacing = (120-20)/(playerCount+1); + //var spacing = (120-20)/(playerCount+1); for (var player of players) { y+=45; var p = player.cnt-offset; diff --git a/apps/hrm/heartrate.js b/apps/hrm/heartrate.js index 2e5a720e5..4ff21b0d1 100644 --- a/apps/hrm/heartrate.js +++ b/apps/hrm/heartrate.js @@ -57,7 +57,7 @@ function updateScale(){ var rawMax = 0; var scale = 2000; -var MID = (g.getHeight()+80)/2; +//var MID = (g.getHeight()+80)/2; /* On newer (2v10) firmwares we can subscribe to get HRM events as they happen */ Bangle.on('HRM-raw', function(v) { @@ -105,9 +105,9 @@ g.drawString(/*LANG*/"Please wait...",g.getWidth()/2,g.getHeight()/2 - 16); countDown(); -var wasHigh = 0, wasLow = 0; -var lastHigh = getTime(); -var hrmList = []; +//var wasHigh = 0, wasLow = 0; +//var lastHigh = getTime(); +//var hrmList = []; var hrmInfo; function readHRM() { diff --git a/apps/hrrawexp/app.js b/apps/hrrawexp/app.js index d205994df..7de743cf8 100644 --- a/apps/hrrawexp/app.js +++ b/apps/hrrawexp/app.js @@ -5,7 +5,6 @@ var value; var filt; var fileClosed = 0; -var Storage = require("Storage"); var file; var screenSize = g.getHeight(); @@ -122,8 +121,8 @@ function countDown() { g.drawString(fmtMSS(counter), g.getWidth() / 2, g.getHeight() / 2); } -var HRVal = 0; -var HRConfidence = 0; +//var HRVal = 0; +//var HRConfidence = 0; update_timer(); diff --git a/apps/hworldclock/app.js b/apps/hworldclock/app.js index 615b58e0a..d97b98319 100644 --- a/apps/hworldclock/app.js +++ b/apps/hworldclock/app.js @@ -261,7 +261,7 @@ let draw = function() { if (offsets.length === 1 && !singleOffsetSmall) { let date = [require("locale").dow(new Date(), 1), require("locale").date(new Date(), 1)]; // For a single secondary timezone, draw it bigger and drop time zone to second line - const xOffset = 30; + //const xOffset = 30; g.setFont(font, secondaryTimeFontSize).drawString(`${hours}:${minutes}`, xyCenter, yposTime2, true); g.setFont(font, secondaryTimeZoneFontSize).drawString(offset[OFFSET_TIME_ZONE], xyCenter, yposTime2 + 30, true); diff --git a/apps/icons/gen/generate.js b/apps/icons/gen/generate.js index 387826903..edf49e212 100755 --- a/apps/icons/gen/generate.js +++ b/apps/icons/gen/generate.js @@ -16,7 +16,7 @@ const imgOptions = { var PNG = require('png-js'); var IMAGE_BYTES = 76; -var iconTests = []; +//var iconTests = []; var promises = []; diff --git a/apps/impwclock/clock-impword.js b/apps/impwclock/clock-impword.js index 6536adaf8..6538fee34 100644 --- a/apps/impwclock/clock-impword.js +++ b/apps/impwclock/clock-impword.js @@ -57,7 +57,7 @@ function drawWordClock() { var h = t.getHours(); var m = t.getMinutes(); var time = ("0" + h).substr(-2) + ":" + ("0" + m).substr(-2); - var day = t.getDay(); + //var day = t.getDay(); var hidx; diff --git a/apps/inspire/app.js b/apps/inspire/app.js index 818a6af76..b426a5ed3 100644 --- a/apps/inspire/app.js +++ b/apps/inspire/app.js @@ -5,13 +5,13 @@ var h = g.getHeight(); var w2 = w/2; var h2 = h/ 2; var fs = 24; -var tx = (w/3)-10; +//var tx = (w/3)-10; var ty = (h)-fs; var radius = (w/2)-6; var breathing = false; var count = 0; var mode = 0; -var sin = 0; +//var sin = 0; var dragged = 0; var lastTime = Date.now(); diff --git a/apps/invader/app.js b/apps/invader/app.js index 89e7462f6..d8c7707a4 100644 --- a/apps/invader/app.js +++ b/apps/invader/app.js @@ -28,8 +28,8 @@ var inv_fire_pause = 30; var inv_fired = false; // invader fired state // - explode variables var been_hit = false; // invader hit state -var bx = -32; // blast x -var by = -32; // blast y +//var bx = -32; // blast x +//var by = -32; // blast y var blast_delay = 15; // invader blast delay - pause after explosion var boom_play = false; @@ -49,7 +49,7 @@ var explosion_play = false; var score = 0; // starting score var lives = 3; // starting lives var game_state = 0; // game state - 0 = game not started, 1 = game running, 3 = game over -var ang = 0.1; +//var ang = 0.1; var start_been_pressed = false; // stops double press on restart var fire_been_pressed = false; // stops auto fire @@ -186,8 +186,8 @@ function invader_hit() { blast_delay = 15; boom_play = false; been_hit = false; - bx = -32; // move boom off screen (following invader) - by = -32; + //bx = -32; // move boom off screen (following invader) + //by = -32; // generate a random rounded number between 10 and 142; inv_x = Math.floor(Math.random() * 142) + 10; inv_y = 20; // move invader back up after being hit diff --git a/apps/isoclock/isoclock.js b/apps/isoclock/isoclock.js index 7526660b9..3893c4af2 100644 --- a/apps/isoclock/isoclock.js +++ b/apps/isoclock/isoclock.js @@ -14,7 +14,7 @@ function draw() { var month = date.getMonth()+1; var dateNum = date.getDate(); var year = date.getFullYear(); - var half = "AM"; + //var half = "AM"; var time = ("0" + h).substr(-2) + ":" + ("0" + m).substr(-2); //convert day into string @@ -54,7 +54,7 @@ function draw() { if (h > 12) { - half = "PM"; + //half = "PM"; h = h - 12; } //reset graphics diff --git a/apps/kanagsec/app.js b/apps/kanagsec/app.js index ed44bb057..6de6b2e1f 100644 --- a/apps/kanagsec/app.js +++ b/apps/kanagsec/app.js @@ -40,8 +40,8 @@ function getTemperature() { const storage = require('Storage'); require("Font8x16").add(Graphics); -var IMAGEWIDTH = 176; -var IMAGEHEIGHT = 176; +//var IMAGEWIDTH = 176; +//var IMAGEHEIGHT = 176; var energySave = false; var batteryLvl = E.getBattery() + "%"; var temperature = getTemperature(); diff --git a/apps/kanawatch/app.js b/apps/kanawatch/app.js index a81852b1b..142dbef06 100644 --- a/apps/kanawatch/app.js +++ b/apps/kanawatch/app.js @@ -1,6 +1,6 @@ -const stripe_width = 32; -const stripe_pos = 40; -const stripe2_pos = 110; +//const stripe_width = 32; +//const stripe_pos = 40; +//const stripe2_pos = 110; const h = g.getHeight(); const w = g.getWidth(); const decompress = require("heatshrink").decompress; @@ -143,7 +143,6 @@ const keys = [ "WA","WO","YO","YU","N", ]; let kana = katakana.KA; -let scroll = 0; // const keys = Object.keys(katakana).sort(); // console.log(keys); let hiramode = false; diff --git a/apps/kbmulti/lib.js b/apps/kbmulti/lib.js index f979e4473..2f0a1a9ae 100644 --- a/apps/kbmulti/lib.js +++ b/apps/kbmulti/lib.js @@ -44,7 +44,7 @@ exports.input = function(options) { function displayText(hideMarker) { layout.clear(layout.text); - let charsBeforeCursor = textIndex; + //let charsBeforeCursor = textIndex; let charsAfterCursor = Math.min(text.length - textIndex, (textWidth)/2); diff --git a/apps/kitchen/annex.js b/apps/kitchen/annex.js index d789f5d0c..78de3fc91 100644 --- a/apps/kitchen/annex.js +++ b/apps/kitchen/annex.js @@ -25,5 +25,5 @@ BUF.prototype.flip_red = function(x,y) { this.buf.clear(); } -let bufObj = new BUF(); +/*let bufObj =*/ new BUF(); diff --git a/apps/kitchen/digi.kit.js b/apps/kitchen/digi.kit.js index c3b12baac..cd69e6927 100644 --- a/apps/kitchen/digi.kit.js +++ b/apps/kitchen/digi.kit.js @@ -1,7 +1,6 @@ (() => { function getFace(){ var intervalRefSec; - var buf; var days; var prevInfo; var prevDate; @@ -37,8 +36,8 @@ } function showMem(msg) { - var val = process.memory(); - var str = msg + " " + Math.round(val.usage*100/val.total) + "%"; + //var val = process.memory(); + //var str = msg + " " + Math.round(val.usage*100/val.total) + "%"; //console.log(str); } @@ -59,8 +58,8 @@ if (btn === 2) Bangle.showLauncher(); } - function getGPSfix() { return undefined; } - function setGPSfix(f) {} + //function getGPSfix() { return undefined; } + //function setGPSfix(f) {} function draw() { var d = new Date(); diff --git a/apps/lazyclock/lazyclock-app.js b/apps/lazyclock/lazyclock-app.js index 604448ce6..83de2210c 100644 --- a/apps/lazyclock/lazyclock-app.js +++ b/apps/lazyclock/lazyclock-app.js @@ -209,7 +209,7 @@ function refreshTime(force) { function startClock() { - const secondsToRefresh = refreshTime(); + /*const secondsToRefresh =*/ refreshTime(); } function addEvents() { diff --git a/apps/lcdclock/app.js b/apps/lcdclock/app.js index b4eb25b0b..77e1afdf0 100644 --- a/apps/lcdclock/app.js +++ b/apps/lcdclock/app.js @@ -31,7 +31,7 @@ let draw = function() { }; let clockInfoDraw = (itm, info, options) => { - let texty = options.y+41; + //let texty = options.y+41; g.reset().setFont("7Seg").setColor(g.theme.bg).setBgColor(g.theme.fg); if (options.focus) g.setBgColor("#FF0"); g.clearRect({x:options.x,y:options.y,w:options.w,h:options.h,r:8}); diff --git a/apps/lcdclockplus/app.js b/apps/lcdclockplus/app.js index c809be6bd..4bf48b585 100644 --- a/apps/lcdclockplus/app.js +++ b/apps/lcdclockplus/app.js @@ -43,7 +43,7 @@ let draw = function() { }; let clockInfoDraw = (itm, info, options) => { - let texty = options.y+41; + //let texty = options.y+41; g.reset().setFont("7Seg").setColor(g.theme.bg).setBgColor(g.theme.fg); if (options.focus) g.setBgColor("#FF0"); g.clearRect({x:options.x,y:options.y,w:options.w,h:options.h,r:8}); diff --git a/apps/legoremote/app.js b/apps/legoremote/app.js index 40935cabf..48ba9b3ab 100644 --- a/apps/legoremote/app.js +++ b/apps/legoremote/app.js @@ -137,7 +137,7 @@ const CONTROLS = { E.showMenu({ "" : {title:"LEGO Remote", back:()=>load()}, "Linear" : () => startLegoLinear(), - "Normal" : () => startLego(CONTROLS.normal), + "Normal" : () => startLego(CONTROLS.normal), // TODO: Should `startLego` have been called `startLegoButtons` ? "Tank" : () => startLego(CONTROLS.tank), "Marged" : () => startLego(CONTROLS.merged), }); diff --git a/apps/lifeclk/app.min.js b/apps/lifeclk/app.min.js index 51a8ff93c..1f8704676 100644 --- a/apps/lifeclk/app.min.js +++ b/apps/lifeclk/app.min.js @@ -200,7 +200,6 @@ function howlong(){ } let lastDate=null; -let lastGen=-1; function improveLetter(textPreBuf, char, x,y){ switch(char){ diff --git a/apps/lightswitch/settings.js b/apps/lightswitch/settings.js index e83e51562..09ce9265f 100644 --- a/apps/lightswitch/settings.js +++ b/apps/lightswitch/settings.js @@ -147,7 +147,7 @@ // show main menu function showMain() { - var mainMenu = E.showMenu({ + E.showMenu({ "": { title: "Light Switch" }, diff --git a/apps/limelight/limelight.app.js b/apps/limelight/limelight.app.js index dbc784e23..33a00e9ea 100644 --- a/apps/limelight/limelight.app.js +++ b/apps/limelight/limelight.app.js @@ -114,7 +114,6 @@ let HandOffset = outerBoltRadius + 4; let twoPi = 2*Math.PI, deg2rad = Math.PI/180; let Pi = Math.PI; -let halfPi = Math.PI/2; let sin = Math.sin, cos = Math.cos; diff --git a/apps/lunaclock/app.js b/apps/lunaclock/app.js index e73467bc1..63c3a3377 100644 --- a/apps/lunaclock/app.js +++ b/apps/lunaclock/app.js @@ -5,7 +5,7 @@ var MYIMG = { //var IMAGEWIDTH = 176; //var IMAGEHEIGHT = 109; -var IMAGEWIDTH = 176; +//var IMAGEWIDTH = 176; var IMAGEHEIGHT = 176; Graphics.prototype.setFontcustom = function() { diff --git a/apps/magnav/magnav_b1.js b/apps/magnav/magnav_b1.js index 0ec49014f..746747401 100644 --- a/apps/magnav/magnav_b1.js +++ b/apps/magnav/magnav_b1.js @@ -59,7 +59,7 @@ function newHeading(m,h){ return hd; } -var candraw = false; +//var candraw = false; var CALIBDATA = require("Storage").readJSON("magnav.json",1)||null; const tiltfixread = require("magnav").tiltfixread; @@ -123,12 +123,12 @@ function startdraw(){ g.fillPoly([120,Yoff+60,110,Yoff+80,130,Yoff+80]); g.setColor(1,1,1); Bangle.drawWidgets(); - candraw = true; + //candraw = true; intervalRef = setInterval(reading,200); } function stopdraw() { - candraw=false; + //candraw=false; if(intervalRef) {clearInterval(intervalRef);} } diff --git a/apps/magnav/magnav_b2.js b/apps/magnav/magnav_b2.js index 319860159..e141336cb 100644 --- a/apps/magnav/magnav_b2.js +++ b/apps/magnav/magnav_b2.js @@ -51,7 +51,7 @@ function newHeading(m,h){ return hd; } -var candraw = false; +//var candraw = false; var CALIBDATA = require("Storage").readJSON("magnav.json",1)||null; const tiltfixread = require("magnav").tiltfixread; @@ -77,13 +77,13 @@ function reading() { g.flip(); } -var calibrating=false; +//var calibrating=false; function docalibrate(first){ - calibrating=true; + //calibrating=true; const title = "Calibrate"; const msg = "takes 20 seconds"; function restart() { - calibrating=false; + //calibrating=false; setButtons(); startdraw(); } @@ -118,12 +118,12 @@ var intervalRef; function startdraw(){ g.clear(1); Bangle.drawWidgets(); - candraw = true; + //candraw = true; intervalRef = setInterval(reading,200); } function stopdraw() { - candraw=false; + //candraw=false; if(intervalRef) {clearInterval(intervalRef);} } diff --git a/apps/mandelbrotclock/mandelbrotclock.js b/apps/mandelbrotclock/mandelbrotclock.js index 94636056e..ffb0d395c 100644 --- a/apps/mandelbrotclock/mandelbrotclock.js +++ b/apps/mandelbrotclock/mandelbrotclock.js @@ -31,4 +31,4 @@ g.clear(); // draw immediately at first draw(); -var secondInterval = setInterval(draw, 1000); +setInterval(draw, 1000); diff --git a/apps/megadenti/app.js b/apps/megadenti/app.js index 72d517935..f13ccedb8 100644 --- a/apps/megadenti/app.js +++ b/apps/megadenti/app.js @@ -1,4 +1,3 @@ -var i = 0; var counter = 10; var counterInterval; diff --git a/apps/messageicons/icons/generate.js b/apps/messageicons/icons/generate.js index b77cfc26e..990c4e618 100755 --- a/apps/messageicons/icons/generate.js +++ b/apps/messageicons/icons/generate.js @@ -16,7 +16,6 @@ const imgOptions = { var PNG = require('png-js'); var IMAGE_BYTES = 76; -var iconTests = []; var iconImages = []; // array of converted icons var iconIndices = {}; // maps filename -> index in iconImages diff --git a/apps/messagelist/settings.js b/apps/messagelist/settings.js index cd2767336..1dc80ade1 100644 --- a/apps/messagelist/settings.js +++ b/apps/messagelist/settings.js @@ -109,7 +109,7 @@ } function showUtilsMenu() { - let m = E.showMenu({ + E.showMenu({ "": {"title": /*LANG*/"Utilities"}, "< Back": () => showMainMenu(), /*LANG*/"Delete all": () => { diff --git a/apps/messages_light/messages_light.app.js b/apps/messages_light/messages_light.app.js index fc50cc100..735c85e0c 100644 --- a/apps/messages_light/messages_light.app.js +++ b/apps/messages_light/messages_light.app.js @@ -41,7 +41,7 @@ let EventQueue=[]; //in posizione 0, c'è quello attualmente visualizzato let callInProgress=false; -let justOpened=true; +//let justOpened=true; @@ -506,7 +506,7 @@ let main = function(){ LOG("file event not found! -> ?? open debug text"); setTimeout(_=>{ GB({"t":"notify","id":15754117198411,"src":"Hangouts","title":"A Name","body":"Debug notification \nmessage contents demo demo demo demo"}) },0); } - justOpened=false; + //justOpened=false; }; diff --git a/apps/minimal_clock/app.js b/apps/minimal_clock/app.js index 47eca3c66..41649a286 100644 --- a/apps/minimal_clock/app.js +++ b/apps/minimal_clock/app.js @@ -120,7 +120,6 @@ let twoPi = 2*Math.PI, deg2rad = Math.PI/180; let Pi = Math.PI; - let halfPi = Math.PI/2; let sin = Math.sin, cos = Math.cos; diff --git a/apps/moonphase/app.js b/apps/moonphase/app.js index 321e6ab3f..ff792b250 100644 --- a/apps/moonphase/app.js +++ b/apps/moonphase/app.js @@ -13,7 +13,7 @@ var PI = Math.PI, tan = Math.tan, asin = Math.asin, atan = Math.atan2, - acos = Math.acos, + //acos = Math.acos, rad = PI / 180, dayMs = 1000 * 60 * 60 * 24, J1970 = 2440588, @@ -228,7 +228,7 @@ function getMPhaseSim (offset) { if(dd<10){dd='0'+dd;} var mm = String(date.getMonth() + 1); if(mm<10){mm='0'+mm;} - var yyyy = date.getFullYear(); + //var yyyy = date.getFullYear(); var phase = SunCalc.getMoonIllumination(date); return phase.name; } diff --git a/apps/mtgwatchface/app.js b/apps/mtgwatchface/app.js index 044845fcc..870ea5eef 100644 --- a/apps/mtgwatchface/app.js +++ b/apps/mtgwatchface/app.js @@ -182,6 +182,6 @@ NRF.on('connect', draw); NRF.on('disconnect', draw); Bangle.on("charging", draw); -var redrawTimerId = setInterval(function(){ +setInterval(function(){ draw(); }, 60000); diff --git a/apps/multiclock/dk.face.js b/apps/multiclock/dk.face.js index 3a512f8e5..bd815da96 100644 --- a/apps/multiclock/dk.face.js +++ b/apps/multiclock/dk.face.js @@ -11,9 +11,9 @@ var now=Date(); d=now.toString().split(' '); var min=d[4].substr(3,2); - var sec=d[4].substr(-2); + //var sec=d[4].substr(-2); var tm=d[4].substring(0,5); - var hr=d[4].substr(0,2); + //var hr=d[4].substr(0,2); lastmin=min; g.reset(); g.clearRect(0,24,W-1,H-1); diff --git a/apps/nato/nato.js b/apps/nato/nato.js index e9bbd9bba..52cccf6fd 100644 --- a/apps/nato/nato.js +++ b/apps/nato/nato.js @@ -4,7 +4,7 @@ const FONT_NAME = 'Vector12'; const FONT_SIZE = 80; const SCREEN_PIXELS = 240; -const UNIT = 100; +//const UNIT = 100; const NATO_MAP = { A: 'ALFA', B: 'BRAVO', diff --git a/apps/nixie/app.js b/apps/nixie/app.js index a62590f75..2b948b120 100644 --- a/apps/nixie/app.js +++ b/apps/nixie/app.js @@ -5,7 +5,6 @@ const isB2 = g.getWidth() < 200; // global coordinate system const wX = g.getWidth(); const wY = g.getHeight(); -const midX = wX/2, midY = wY/2; // relative positioning: send 0 <= coord < 1 function relX(x) { return Math.floor(x*wX); } function relY(y) { return Math.floor(y*wY); } @@ -13,7 +12,7 @@ function relY(y) { return Math.floor(y*wY); } // colors const col_bg = 0; const col_nm =isB2 ? 1 :"#206040"; -const col_sep = isB2 ? 6 :"#202020"; +//const col_sep = isB2 ? 6 :"#202020"; const col_off = isB2 ? 1 : "#202020"; const col_shad1 = isB2 ? 4 :"#FF0000"; const col_shad2 = isB2 ? 6 :"#FF6000"; @@ -27,16 +26,15 @@ var imgTube = { width : 64, height : 128, bpp : 2, buffer : require("heatshrink").decompress(atob("AE9AB7sQD54AOiFQB5tVsgPN0uoBxkByEFB5kGyIPNhVVB5tpLwKAMoJuOgNQggMJgtVDhsVqtEZ5cVrWlEBcFtWq1WlJxUaBwOq1IgJgIdCqoABEBEC1WVBwTkGKgUGFYIOCgIRDC4kaFoVUOQQKCQ4IgCB4YKDCYIgCq2QgEqHwJLIEoOkgFqB4KaIEoNkB4Z7JHQVqquqD5EVDYQPCVRIPE1IPKgsAtJTCAA8GyEBD4TrKqAPOgNRB5sRB5wfPgAPOiA/RP4IPaiD6BB5oCBB5kAdQIPNH5wPCvIPMBgIPMR4QPcL4QPNgIPQvS/MqtAB59+B9cVB91VL91BF91RF79RB4OVD5wPsH59BB51FB5sQB/0AD7xvPV4elD5wPLqIPOgJPeX/6//X8YPMH5wPPL74PfN55PQB6TfPB5afDB51/D57P/Z/7P/B97vOB5kAB58VoAA=")) }; -var imgTubeBW = { +/*var imgTubeBW = { width : 46, height : 92, bpp : 1, buffer : require("heatshrink").decompress(atob("AD0EAomAAgcCBQkQEykwAgcP/gFD/wKECok4AgcB4A7DgwQEjAFEsYWExg2DhkgAoVAE4kA8AEDgZqEhw+JgA+DCwIKEhhrJCyJELFqBbQIiByLIk6gWZyC3WOSItWOVq3nCywA=")) -}; +};*/ require("Font8x12").add(Graphics); g.setFont("8x12", 1); -let interval = null; -let alarming = false; +//let alarming = false; let nightMode = false; // our scale factor diff --git a/apps/novaclock/app.js b/apps/novaclock/app.js index 52bee0dbd..c44e4c723 100644 --- a/apps/novaclock/app.js +++ b/apps/novaclock/app.js @@ -247,7 +247,6 @@ g.setFont("6x8", 4); g.setColor("#FFF"); var open = false; var timemode = true; -var clockmode; var novaYPos = -7; Bangle.setUI("clock"); g.clear(); @@ -263,7 +262,7 @@ g.drawImage(star(), 120, -5, {scale:0.8}); -var secondInterval = setInterval(function() { +setInterval(function() { timedraw(); g.drawImage(novaTopRedraw(), -10, novaYPos, { scale: 2.2 diff --git a/apps/numerals/numerals.settings.js b/apps/numerals/numerals.settings.js index b4d5d4286..a8d427fee 100644 --- a/apps/numerals/numerals.settings.js +++ b/apps/numerals/numerals.settings.js @@ -14,7 +14,7 @@ if (!numeralsSettings) resetSettings(); let dm = ["fill","frame","framefill","thickframe","thickfill"]; let col = process.env.HWVERSION==1?["rnd","r/g","y/w","o/c","b/y"]:["rnd","r/g","g/b","r/c","m/g"]; - let btn = [[24,"BTN1"],[22,"BTN2"],[23,"BTN3"],[11,"BTN4"],[16,"BTN5"]]; + //let btn = [[24,"BTN1"],[22,"BTN2"],[23,"BTN3"],[11,"BTN4"],[16,"BTN5"]]; var menu={ "" : { "title":"Numerals"}, "Colors": { diff --git a/apps/openwind/app.js b/apps/openwind/app.js index db67804f3..8e9beffb0 100644 --- a/apps/openwind/app.js +++ b/apps/openwind/app.js @@ -1,13 +1,11 @@ OW_CHAR_UUID = '0000cc91-0000-1000-8000-00805f9b34fb'; require("Font7x11Numeric7Seg").add(Graphics); -var gatt = {}; +//var gatt = {}; var cx = g.getWidth()/2; var cy = 24+(g.getHeight()-24)/2; var w = (g.getWidth()-24)/2; -var y1 = 24; -var y2 = g.getHeight()-1; var gps_course = { spd: 0 }; -var course_marker_len = g.getWidth()/4; +//var course_marker_len = g.getWidth()/4; var settings = require("Storage").readJSON('openwindsettings.json', 1) || {}; @@ -81,7 +79,7 @@ function parseDevice(d) { console.log("Found device"); device.gatt.connect().then(function(ga) { console.log("Connected"); - gatt = ga; + //gatt = ga; return ga.getPrimaryService("cc90"); }).then(function(s) { return s.getCharacteristic("cc91"); diff --git a/apps/orloj/app.js b/apps/orloj/app.js index 8dd1cd571..166cbdb29 100644 --- a/apps/orloj/app.js +++ b/apps/orloj/app.js @@ -12,7 +12,6 @@ const lon = 14.45; const h = g.getHeight(); const w = g.getWidth(); const sm = 15; -let settings, location, mode = 0; var altitude, temperature; var img_north = Graphics.createImage(` @@ -136,7 +135,6 @@ function fracHour(d) { let twoPi = 2*Math.PI; let Pi = Math.PI; - let halfPi = Math.PI/2; let sin = Math.sin, cos = Math.cos; diff --git a/apps/pastel/pastel.app.js b/apps/pastel/pastel.app.js index bc41588d8..5acf488ed 100644 --- a/apps/pastel/pastel.app.js +++ b/apps/pastel/pastel.app.js @@ -20,7 +20,7 @@ let IDLE_MINUTES = 26; // create 1 bit, max contrast, brightness set to 85 var cloudIcon = require("heatshrink").decompress(atob("kEggIfcj+AAYM/8ADBuFwAYPAmADCCAMBwEf8ADBhFwg4aBnEPAYMYjAVBhgDDDoQDHCYc4jwDB+EP///FYIDBMTgA==")); var sunIcon = require("heatshrink").decompress(atob("kEggILIgOAAZkDAYPAgeBwPAgIFBBgPhw4TBp/yAYMcnADBnEcAYMwhgDBsEGgE/AYP8AYYLDCYgbDEYYrD8fHIwI7CIYZLDL54AHA==")); -var sunPartIcon = require("heatshrink").decompress(atob("kEggIHEmADJjEwsEAjkw8EAh0B4EAg35wEAgP+CYMDwv8AYMDBAP2g8HgH+g0DBYMMgPwAYX8gOMEwMG3kAg8OvgSBjg2BgcYGQIcBAY5CBg0Av//HAM///4MYgNBEIMOCoUMDoUAnBwGkEA")); +//var sunPartIcon = require("heatshrink").decompress(atob("kEggIHEmADJjEwsEAjkw8EAh0B4EAg35wEAgP+CYMDwv8AYMDBAP2g8HgH+g0DBYMMgPwAYX8gOMEwMG3kAg8OvgSBjg2BgcYGQIcBAY5CBg0Av//HAM///4MYgNBEIMOCoUMDoUAnBwGkEA")); var snowIcon = require("heatshrink").decompress(atob("kEggITQj/AAYM98ADBsEwAYPAjADCj+AgOAj/gAYMIuEHwEAjEPAYQVChk4AYQhCAYcYBYQTDnEPgEB+EH///IAQACE4IAB8EICIPghwDB4EeBYNAjgDBg8EAYQYCg4bCgZuFA==")); var rainIcon = require("heatshrink").decompress(atob("kEggIPMh+AAYM/8ADBuFwAYPgmADB4EbAYOAj/ggOAhnwg4aBnAeCjEcCIMMjADCDoQDHjAPCnAXCuEP///8EDAYJECAAXBwkAgPDhwDBwUMgEEhkggEOjFgFgMQLYQAOA==")); var errIcon = require("heatshrink").decompress(atob("kEggILIgOAAYsD4ADBg/gAYMGsADBhkwAYsYjADCjgDBmEMAYNxxwDBsOGAYPBwYDEgOBwOAgYDB4EDHYPAgwDBsADDhgDBFIcwjAHBjE4AYMcmADBhhNCKIcG/4AGOw4A==")); @@ -180,12 +180,12 @@ function draw() { function drawClock() { var d = new Date(); var da = d.toString().split(" "); - var time = da[4].substr(0,5); + //var time = da[4].substr(0,5); var hh = da[4].substr(0,2); var mm = da[4].substr(3,2); - var day = da[0]; - var month_day = da[1] + " " + da[2]; + //var day = da[0]; + //var month_day = da[1] + " " + da[2]; // fix hh for 12hr clock var h2 = "0" + parseInt(hh) % 12 || 12; diff --git a/apps/patriotclk/app.js b/apps/patriotclk/app.js index e618b0106..d7468ad9d 100644 --- a/apps/patriotclk/app.js +++ b/apps/patriotclk/app.js @@ -29,7 +29,7 @@ Graphics.prototype.setFontAudiowide = function() { // work out locale-friendly date/time var date = new Date(); var timeStr = require("locale").time(date,1); - var dateStr = require("locale").date(date); + //var dateStr = require("locale").date(date); // draw time g.setFontAlign(0,0).setFont("Audiowide"); // draw a shadow by shifting left/right/up/down diff --git a/apps/pebblepp/app.js b/apps/pebblepp/app.js index 330d79618..0330b9832 100644 --- a/apps/pebblepp/app.js +++ b/apps/pebblepp/app.js @@ -26,7 +26,7 @@ let drawTimeout; const h = g.getHeight(); const w = g.getWidth(); -const ha = 2*h/5 - 4; +//const ha = 2*h/5 - 4; const h2 = 3*h/5 - 10; const h3 = 7*h/8; diff --git a/apps/pizzatimer/app.js b/apps/pizzatimer/app.js index 54928c121..44e2a1058 100644 --- a/apps/pizzatimer/app.js +++ b/apps/pizzatimer/app.js @@ -1,15 +1,15 @@ /* UI GLOBALS */ -const HOUR_SCENE = 0; -const MIN_SCENE = 1; -const SEC_SCENE = 2; +//const HOUR_SCENE = 0; +//const MIN_SCENE = 1; +//const SEC_SCENE = 2; const COUNTDOWN_SCENE = 3; var currentScene = 0; -var btn1Watch; -var btn2Watch; -var btn3Watch; +//var btn1Watch; +//var btn2Watch; +//var btn3Watch; var drawInterval; @@ -203,14 +203,14 @@ function decrementMenuTime() { function setupMenuWatches() { clearWatch(); - btn1Watch = setWatch(incrementMenuTime, BTN1, {repeat: true}); - btn2Watch = setWatch(next, BTN2, {repeat: true}); - btn3Watch = setWatch(decrementMenuTime, BTN3, {repeat: true}); + /*btn1Watch =*/ setWatch(incrementMenuTime, BTN1, {repeat: true}); + /*btn2Watch =*/ setWatch(next, BTN2, {repeat: true}); + /*btn3Watch =*/ setWatch(decrementMenuTime, BTN3, {repeat: true}); } function setupCountdownWatches() { clearWatch(); - btn2Watch = setWatch(main, BTN2, {repeat: true}); + /*btn2Watch =*/ setWatch(main, BTN2, {repeat: true}); } /* scenes */ diff --git a/apps/planetarium/planetarium.app.js b/apps/planetarium/planetarium.app.js index 4763efb82..686be5b62 100644 --- a/apps/planetarium/planetarium.app.js +++ b/apps/planetarium/planetarium.app.js @@ -174,7 +174,7 @@ const size = 240; //Bangle size screen Bangle.setGPSPower(1); -var gps = { fix : 0}; +//var gps = { fix : 0}; var prevSats = 0; g.clear(); @@ -185,7 +185,7 @@ g.setFontAlign(0,0); Bangle.on('GPS',function(gp) { date = new Date(); - gps = gp; + //gps = gp; if (gp.fix) { lat = gp.lat; lon = gp.lon; diff --git a/apps/pokeclk/app.js b/apps/pokeclk/app.js index 7e495f7d2..2f694ea16 100644 --- a/apps/pokeclk/app.js +++ b/apps/pokeclk/app.js @@ -1,9 +1,7 @@ Modules.addCached("Font4x5",function(){exports.add=function(a){a.prototype.setFont4x5=function(){this.setFontCustom(atob("AAAAdBgGAfV8CfyBIiQKrcAMAA6IARcAFXVARxAAwABCEAAIAAGTAPx+BHwAvXoK1+DhPg7W4P1uCEPg/X4O1+ACgACoAIqIBSlAIqIIVQC9VAfR4P1UB0VA/FwP1qD9KAdGYPk+AHwAEHwPk2D4Qg+j4PweB0XA/RAHTeD9FgTWQIfgD4fg8HwPi+DZNgwfAJ1yD8QAwQYI/ABEEACEIIIAB9Hg/VQHRUD8XA/WoP0oB0Zg+T4AfAAQfA+TYPhCD6Pg/B4HRcD9EAdN4P0WBNZAh+APh+DwfA+L4Nk2DB8AnXICfiAGwAj8gIYQAA=="),32,4,5)}}}); -const offset = 25; const width = g.getWidth(); const height = g.getHeight(); -const font = "Vector:12"; var drawTimeout; @@ -41,7 +39,6 @@ function time() { var d = new Date(); var day = d.getDate(); var time = require("locale").time(d,1); - var date = require("locale").date(d); var mo = require("date_utils").month(d.getMonth()+1,1); require("Font4x5").add(Graphics); // time diff --git a/apps/polymath/app.js b/apps/polymath/app.js index 592365d48..e7ab0fafd 100644 --- a/apps/polymath/app.js +++ b/apps/polymath/app.js @@ -53,10 +53,9 @@ g.setColor(g.theme.fg); // draw battery g.drawLine(0,2,E.getBattery()*1.75,2); // draw line for 24 h clock var x = g.getWidth() / 2; - var y = g.getHeight() / 2; + //var y = g.getHeight() / 2; var ix; var shade; - var w ; var date = new Date(); for ( ix = 0; ix < 176; ix=ix+4){ shade = 2*Math.PI * ((date.getHours()-6)/24); diff --git a/apps/pong/app.js b/apps/pong/app.js index 012cd8f81..b01440d7b 100644 --- a/apps/pong/app.js +++ b/apps/pong/app.js @@ -366,7 +366,7 @@ var ai; var ball = new Ball(); var state = 0; var prevScores = [0, 0]; -var playerBle = null; +//var playerBle = null; var startOption = 0; g.clear(); @@ -404,7 +404,7 @@ setWatch(o => { g.fillRect(0, 0, 240, 240); ball.show(true); scores = [0, 0]; - playerBle = null; + //playerBle = null; ball = new Ball(); state = 1; startThatGame(); diff --git a/apps/pooqroman/app.js b/apps/pooqroman/app.js index 7bd749ac4..ec5ddf669 100644 --- a/apps/pooqroman/app.js +++ b/apps/pooqroman/app.js @@ -781,4 +781,4 @@ class Clock { ////////////////////////////////////////////////////////////////////////////// /* Main */ -const clock = new Clock(new Roman(g, events)).start(); +new Clock(new Roman(g, events)).start(); diff --git a/apps/pooqroman/resourcer.js b/apps/pooqroman/resourcer.js index 8b95dc834..3b9fed40c 100644 --- a/apps/pooqroman/resourcer.js +++ b/apps/pooqroman/resourcer.js @@ -25,7 +25,6 @@ ////////////////////////////////////////////////////////////////////////////// /* ==ASSETS== */ -const heatshrink = require('heatshrink'); const enc = x => { const d = btoa(require("heatshrink").compress(x)); @@ -90,7 +89,7 @@ const prepFont = (name, data) => { const xoffs = Uint8Array(lines.length); const ypos = Uint16Array(lines.length); ypos.fill(0xffff); - const w0 = lengths[min]; + //const w0 = lengths[min]; let widths = ''; for (c = min, o = 0; c <= max; c++) { for (i = 0, j = offsets[c]; i < lengths[c]; i++) { diff --git a/apps/pooqround/app.js b/apps/pooqround/app.js index 06e208e61..e16da666c 100644 --- a/apps/pooqround/app.js +++ b/apps/pooqround/app.js @@ -261,7 +261,7 @@ const lockSI = dec('hMNwMAjkfjHMt/8g1zgOc4FnmEf/AA=='); const batteryI = dec('hERwMAjH/ABw'); const chargeI = dec('g8NwMAgkYsHDh0fw8MmFhwUA'); const HRMI = dec('iERwMAjk4l10t/29/3AIfn+ek6VTlPX9d3/U3/Ef/EP+EH8ED4EBwAA='); -const compassI = dec('hMJwMAhEEg8Dwfh2Pc43BwA='); +//const compassI = dec('hMJwMAhEEg8Dwfh2Pc43BwA='); const y100I = dec('h8RwMAvk5/n6nOwm9w9lnzH+mO4sc4405xk7jE2mEssEd4EbgE+gE4A='); const y100sI = dec('hcKwMAsOWvHZ+c2s1s4uYmcD4EwA'); @@ -367,7 +367,7 @@ class Round { } render(d, rate) { - const g = this.g, b = this.b, bI = this.bI, c = this.c, cI = this.cI, + const g = this.g, b = this.b, bI = this.bI, e = d < this.enhance, state = this.state, options = this.options, cal = options.calendric, res = options.resolution, @@ -378,8 +378,8 @@ class Round { dd = (e || cal > 1) && d.getDate(), dm = (e || cal > 3) && d.getMonth(), dy = (e || cal > 4) && d.getFullYear(); - const xc = this.xc, yc = this.yc, r = this.r, - dlr = xc * 3/4, dlw = 8, dlhw = 4; + const r = this.r; + // Restore saveunders for fast-moving, overdrawing indicators. if (state.sd) g.drawImage.apply(g, state.sd); @@ -409,7 +409,7 @@ class Round { let x = 172, y = 5; x = doLocked(g, x, y, true); x = doPower(g, x, y, true); - x = doHRM(g, x, y, true); + /*x =*/ doHRM(g, x, y, true); if (dy === +dy) { g.setColor(g.theme.fg).drawImage(y100sI, 145, 23); g.setFontCustom.apply(g, y10sF).drawString((dy - u) / 10 % 10, 157, 23); @@ -629,4 +629,4 @@ class Clock { ////////////////////////////////////////////////////////////////////////////// /* Main */ -const clock = new Clock(new Round(g)).start(); +new Clock(new Round(g)).start(); diff --git a/apps/pooqround/resourcer.js b/apps/pooqround/resourcer.js index 6b969a102..91b6aa6db 100644 --- a/apps/pooqround/resourcer.js +++ b/apps/pooqround/resourcer.js @@ -25,7 +25,6 @@ ////////////////////////////////////////////////////////////////////////////// /* ==ASSETS== */ -const heatshrink = require('heatshrink'); const enc = x => { const d = btoa(require("heatshrink").compress(x)); @@ -90,7 +89,7 @@ const prepFont = (name, data) => { const xoffs = Uint8Array(lines.length); const ypos = Uint16Array(lines.length); ypos.fill(0xffff); - const w0 = lengths[min]; + //const w0 = lengths[min]; let widths = ''; for (c = min, o = 0; c <= max; c++) { for (i = 0, j = offsets[c]; i < lengths[c]; i++) { diff --git a/apps/powermanager/widget.js b/apps/powermanager/widget.js index 3147c40ac..da8ed552b 100644 --- a/apps/powermanager/widget.js +++ b/apps/powermanager/widget.js @@ -78,14 +78,12 @@ currently-running apps */ if (s2Timeout) clearTimeout(s2Timeout); if (sTimeout) clearTimeout(sTimeout); - let t,systickNow; + let systickNow; sTimeout = setTimeout(()=>{ systickNow = peek32(0xE000E018); - t = Date.now(); }, nextRefresh - SYSTICKWAIT - 100); s2Timeout = setTimeout(() => { - let tLater = Date.now(); let systickLater = peek32(0xE000E018); systickDiff = systickLater - systickNow; if (systickDiff < 0) systickDiff += SYSTICKMAX; diff --git a/apps/poweroff/app.js b/apps/poweroff/app.js index 6e14b1a44..81e6f52eb 100644 --- a/apps/poweroff/app.js +++ b/apps/poweroff/app.js @@ -1,7 +1,6 @@ { // must be inside our own scope here so that when we are unloaded everything disappears g.clear(); -let confirmed = false; // Helper function default setting let def = function(value, def) { return value !== undefined ? value : def; diff --git a/apps/presentation_timer/presentation_timer.app.js b/apps/presentation_timer/presentation_timer.app.js index 33f96a218..bbf1def99 100644 --- a/apps/presentation_timer/presentation_timer.app.js +++ b/apps/presentation_timer/presentation_timer.app.js @@ -148,7 +148,6 @@ function drawTime() { } function draw() { - let last = tCurrent; if (running) tCurrent = Date.now(); g.setColor(g.theme.fg); if (redrawButtons) drawButtons(); diff --git a/apps/presentor/app.js b/apps/presentor/app.js index a501b3376..a14c85e04 100644 --- a/apps/presentor/app.js +++ b/apps/presentor/app.js @@ -88,7 +88,7 @@ let trackPadMode = false; let focusMode = false; // Timeout IDs. -let timeoutId = -1; +//let timeoutId = -1; let timeoutHolding = -1; let timeoutDraw = -1; let timeoutSendMouse = -1; diff --git a/apps/recorder/app.js b/apps/recorder/app.js index c02a800d0..7b71e9f3d 100644 --- a/apps/recorder/app.js +++ b/apps/recorder/app.js @@ -31,7 +31,6 @@ function updateSettings() { } function getTrackNumber(filename) { - var trackNum = 0; var matches = filename.match(/^recorder\.log(.*)\.csv$/); if (matches) return matches[1]; return 0; @@ -244,7 +243,6 @@ function plotTrack(info) { "ram" E.showMessage(/*LANG*/"Drawing...",/*LANG*/"Track "+info.fn); g.flip(); // on buffered screens, draw a not saying we're busy g.clear(1); - var s = require("Storage"); var G = g; var W = g.getWidth(); var H = g.getHeight(); @@ -326,7 +324,7 @@ function plotGraph(info, style) { "ram" var infc = new Uint16Array(80); var title; var lt = 0; // last time - var tn = 0; // count for each time period + //var tn = 0; // count for each time period var strt, dur = info.duration; var f = require("Storage").open(filename,"r"); if (f===undefined) return; @@ -416,7 +414,7 @@ function plotGraph(info, style) { "ram" } // draw g.clear(1).setFont("6x8",1); - var r = require("graph").drawLine(g, infn, { + require("graph").drawLine(g, infn, { x:4,y:24, width: g.getWidth()-24, height: g.getHeight()-(24+8), diff --git a/apps/red7game/red7.js b/apps/red7game/red7.js index 697d36f97..9ddb50b4b 100644 --- a/apps/red7game/red7.js +++ b/apps/red7game/red7.js @@ -556,7 +556,7 @@ function shuffleDeck(deckArray) { } var deck = []; -var screen = 1; +//var screen = 1; var startedGame = false; var playerHand = new Hand(); var playerPalette = new Hand(); @@ -621,10 +621,10 @@ function drawScreen1() { Bangle.on('swipe', function(direction){ if(direction === -1) { drawScreen2(); - screen = 2; + //screen = 2; } else if(direction === 1) { drawScreen1(); - screen = 1; + //screen = 1; } }); g.setBgColor(0,0,0); diff --git a/apps/rolex/app.js b/apps/rolex/app.js index fe9e534d6..adb38f451 100644 --- a/apps/rolex/app.js +++ b/apps/rolex/app.js @@ -96,7 +96,6 @@ function drawHands() { let twoPi = 2*Math.PI; let Pi = Math.PI; - let halfPi = Math.PI/2; let hourAngle = (hour+(min/60))/12 * twoPi - Pi; let minAngle = (min/60) * twoPi - Pi; diff --git a/apps/rpnsci/app.js b/apps/rpnsci/app.js index 5c98770c4..b38848563 100644 --- a/apps/rpnsci/app.js +++ b/apps/rpnsci/app.js @@ -303,7 +303,7 @@ let y = 0; let z = 0; let t = 0; let memJSON = storage.readJSON(MEMORY_FILE); -if (memJSON) { +if (memJSON) { // TODO: `memory` should probably be declared outside the if blocks? let memory = memJSON; } else { let memory = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; diff --git a/apps/run/app.js b/apps/run/app.js index 0e2d78288..98b879e29 100644 --- a/apps/run/app.js +++ b/apps/run/app.js @@ -89,7 +89,7 @@ function onStartStop() { } } - promise = promise.then(() => { + promise.then(() => { if (running) { if (shouldResume) exs.resume() diff --git a/apps/runplus/karvonen.js b/apps/runplus/karvonen.js index de81494bb..42c4734a8 100644 --- a/apps/runplus/karvonen.js +++ b/apps/runplus/karvonen.js @@ -54,7 +54,6 @@ //Test input to verify the zones work. The following value for "hr" has to be deleted and replaced with the Heart Rate Monitor input. let hr = exsHrmStats.getValue(); - let hr1 = hr; // These letiables display next and previous HR zone. //get the hrzones right. The calculation of the Heart rate zones here is based on the Karvonen method //60-70% of HRR+minHR = zone2. //70-80% of HRR+minHR = zone3. //80-90% of HRR+minHR = zone4. //90-99% of HRR+minHR = zone5. //=>99% of HRR+minHR = serious risk of heart attack @@ -157,7 +156,6 @@ function getZoneAlert() { const HRzonemax = require("graphics_utils"); - let centreX1,centreY1,maxRadius1 = 1; let minRadius = 0.40 * R.h; let startAngle1 = HRzonemax.degreesToRadians(-90); let endAngle1 = HRzonemax.degreesToRadians(270); diff --git a/apps/ruuviwatch/ruuviwatch.app.js b/apps/ruuviwatch/ruuviwatch.app.js index 249303382..90d83d0c7 100644 --- a/apps/ruuviwatch/ruuviwatch.app.js +++ b/apps/ruuviwatch/ruuviwatch.app.js @@ -486,6 +486,6 @@ g.drawImage( g.setFont(FONT_M); g.drawString("Ruuvi Watch", CENTER, HUMID_PRESSURE_Y); -var ageInterval = setInterval(redrawAge, 1000); -var scanInterval = setInterval(scan, SCAN_FREQ); +setInterval(redrawAge, 1000); +setInterval(scan, SCAN_FREQ); scan(); diff --git a/apps/scribble/app.js b/apps/scribble/app.js index 319a02d2c..12b35d0c6 100644 --- a/apps/scribble/app.js +++ b/apps/scribble/app.js @@ -1,12 +1,12 @@ const black = "#000000"; const white = "#ffffff"; -const gray1 = "#444444"; +//const gray1 = "#444444"; const gray2 = "#888888"; -const gray3 = "#bbbbbb"; +//const gray3 = "#bbbbbb"; const red = "#FF0000"; -const green = "#00FF00"; -const blue = "#0000FF"; +//const green = "#00FF00"; +//const blue = "#0000FF"; const transp = -1; const abc = "abcdefghijklmnopqrstuvwxyz1234567890"; @@ -23,7 +23,7 @@ const editable_buf = "Scribble"; const left = 3; const _screen_mid = g.getWidth() / 2; -const right = 176 - 4; +//const right = 176 - 4; const box_size = { w: _screen_mid - 6, @@ -31,7 +31,7 @@ const box_size = { }; const spacing = 4; -const border = 4; +//const border = 4; const top_start = 25; const pos_y = [ @@ -63,12 +63,12 @@ g.theme = { const maxX = g.getWidth(); const maxY = g.getHeight(); -const fontSize = g.getWidth() > 200 ? 2 : 1; +//const fontSize = g.getWidth() > 200 ? 2 : 1; const rowN = 7; const colN = 7; const headerH = maxY / 7; -const rowH = (maxY - headerH) / rowN; -const colW = maxX / colN; +//const rowH = (maxY - headerH) / rowN; +//const colW = maxX / colN; function getRndInteger(min, max) { return Math.floor(Math.random() * (max - min)) + min; @@ -105,10 +105,10 @@ class Window { } - let i = 0; + //let i = 0; this.layers.forEach((lyr) => { // console.log(`Rendering Layer ${i} ${lyr.label}`) - i++; + //i++; lyr.render(); }); } diff --git a/apps/sevenmin/app.js b/apps/sevenmin/app.js index be2d4ae11..10dd07243 100644 --- a/apps/sevenmin/app.js +++ b/apps/sevenmin/app.js @@ -67,7 +67,7 @@ Once you've completed all 12 exercises, take a break for 1–2 minutes and repea // buzzes before start setTimeout(()=>{let j = 0; let buzzes = setInterval(()=>{Bangle.buzz(200*scaling); j++; if (j==5) clearInterval(buzzes);}, 1*1000*scaling);}, 4*1000*scaling); // timeout till first excercise - let timeout = setTimeout(()=>{draw(instructions[i]);i++;}, 10*1000*scaling); + setTimeout(()=>{draw(instructions[i]);i++;}, 10*1000*scaling); // buzzes before first rest setTimeout(()=>{let j = 0; let buzzes = setInterval(()=>{Bangle.buzz(200*scaling); j++; if (j==5) clearInterval(buzzes);}, 1*1000*scaling);}, 34*1000*scaling); // interval containing rest and excercises 10+30=40 @@ -88,9 +88,11 @@ Once you've completed all 12 exercises, take a break for 1–2 minutes and repea } }; + /* let swipeHandler = function() { }; + */ let uiMode = { mode : 'custom', diff --git a/apps/simple_clock/app.js b/apps/simple_clock/app.js index 8ac51ed40..2432bca9e 100644 --- a/apps/simple_clock/app.js +++ b/apps/simple_clock/app.js @@ -118,7 +118,6 @@ let twoPi = 2*Math.PI; let Pi = Math.PI; - let halfPi = Math.PI/2; let sin = Math.sin, cos = Math.cos; diff --git a/apps/sixths/sixths.app.js b/apps/sixths/sixths.app.js index 2749a02c0..098600072 100644 --- a/apps/sixths/sixths.app.js +++ b/apps/sixths/sixths.app.js @@ -519,7 +519,7 @@ function draw() { every(now); - let km = 0.001 * 0.719 * Bangle.getHealthStatus("day").steps; + //let km = 0.001 * 0.719 * Bangle.getHealthStatus("day").steps; g.setFontAlign(-1, 1); g.setFont('Vector', 26); diff --git a/apps/skyspy/skyspy.app.js b/apps/skyspy/skyspy.app.js index 9346b6a23..ff6e29712 100644 --- a/apps/skyspy/skyspy.app.js +++ b/apps/skyspy/skyspy.app.js @@ -64,8 +64,8 @@ function calcAlt(alt, cur_altitude) { return ddalt; } function updateGps() { - let have = false, lat = "lat", lon = "lon", alt = "alt", - speed = "speed", hdop = "hdop", balt = "balt"; + let /*have = false,*/ lat = "lat", lon = "lon", alt = "alt", + speed = "speed", hdop = "hdop"; // balt = "balt"; if (cancel_gps) return; @@ -87,7 +87,7 @@ function updateGps() { alt = "" + fix.alt.toFixed(1); speed = "" + fix.speed.toFixed(1); hdop = "" + fix.hdop.toFixed(1); - have = true; + //have = true; } let ddalt = calcAlt(alt, cur_altitude); @@ -154,9 +154,9 @@ function drawSat(s) { if (s.snr == "") g.setColor(1, 0.25, 0.25); else { - let snr = 1*s.snr; + //let snr = 1*s.snr; g.setColor(0, 0, 0); - sats_receiving ++; + //sats_receiving ++; } g.drawString(s.id, x, y); @@ -165,7 +165,7 @@ function drawSat(s) { // Should correspond to view from below. // https://in-the-sky.org//satmap_radar.php?year=2023&month=10&day=24&skin=1 function drawSats(sats) { - sats_receiving = 0; + //sats_receiving = 0; g.reset().setFont("Vector", 20) .setColor(1,1,1) .fillRect(0, 30, 176, 176); @@ -184,7 +184,7 @@ function drawSats(sats) { var sats = []; var snum = 0; -var sats_receiving = 0; +//var sats_receiving = 0; function parseRaw(msg, lost) { if (lost) diff --git a/apps/sleeplogalarm/settings.js b/apps/sleeplogalarm/settings.js index d797ae6bc..053bd2e96 100644 --- a/apps/sleeplogalarm/settings.js +++ b/apps/sleeplogalarm/settings.js @@ -64,7 +64,7 @@ }) } }; - let menu = E.showMenu(filterMenu); + E.showMenu(filterMenu); } // show widget menu @@ -105,7 +105,7 @@ } } }; - let menu = E.showMenu(widgetMenu); + E.showMenu(widgetMenu); } // show main menu @@ -184,7 +184,7 @@ } } }; - let menu = E.showMenu(mainMenu); + E.showMenu(mainMenu); } // draw main menu diff --git a/apps/slomoclock/app.js b/apps/slomoclock/app.js index e3933af1b..6ffc08bdb 100644 --- a/apps/slomoclock/app.js +++ b/apps/slomoclock/app.js @@ -5,7 +5,7 @@ Mike Bennett mike[at]kereru.com 0.03 : Use Layout library */ -var v='0.10'; +//var v='0.10'; // Colours const col = []; diff --git a/apps/sokoban/app.js b/apps/sokoban/app.js index 3915556e3..e06f673b9 100644 --- a/apps/sokoban/app.js +++ b/apps/sokoban/app.js @@ -1,7 +1,6 @@ // basic shapes const SPACE = 0; const WALL = 1; -const PLAYER = 2; const BOX = 3; const HOLE = 4; const FILLED = 5; diff --git a/apps/solarclock/solar_date_utils.js b/apps/solarclock/solar_date_utils.js index 3075e14a7..738d4e7f6 100644 --- a/apps/solarclock/solar_date_utils.js +++ b/apps/solarclock/solar_date_utils.js @@ -59,9 +59,9 @@ const DateUtils = { //console.log("sun_eq_of_ctr=" + sun_eq_of_ctr); var sun_true_long_degrees = geom_mean_long_sun_degrees + sun_eq_of_ctr; //console.log("sun_true_long_degrees=" + sun_true_long_degrees); - var sun_true_anom_degrees = geom_mean_anomaly_sun_degrees + sun_eq_of_ctr; + //var sun_true_anom_degrees = geom_mean_anomaly_sun_degrees + sun_eq_of_ctr; //console.log("sun_true_anom_degrees=" + sun_true_anom_degrees); - var sun_rad_vector_AUs = (1.000001018*(1-eccent_earth_orbit*eccent_earth_orbit))/(1+eccent_earth_orbit*Math.cos(Math2.to_radians(sun_true_anom_degrees))) + //var sun_rad_vector_AUs = (1.000001018*(1-eccent_earth_orbit*eccent_earth_orbit))/(1+eccent_earth_orbit*Math.cos(Math2.to_radians(sun_true_anom_degrees))) //console.log("sun_rad_vector_AUs=" + sun_rad_vector_AUs); var sun_app_long_degress = sun_true_long_degrees-0.00569-0.00478*Math.sin(Math2.to_radians(125.04-1934.136*julian_century)); //console.log("sun_app_long_degress=" + sun_app_long_degress); diff --git a/apps/spaceclock/app.js b/apps/spaceclock/app.js index a3892e952..84870781a 100644 --- a/apps/spaceclock/app.js +++ b/apps/spaceclock/app.js @@ -19,7 +19,7 @@ var nasa = require("heatshrink").decompress(atob("jEUwcCpMkyQBBqQFCAQOJAgQIEAgcl var runner = require("heatshrink").decompress(atob("kEgwINKhwDCj4DKB4UH+ADBh/4mAOB/wDBjn/BgM5//gAYPxAYMz+HAgEDAwIfBAYYKBEYIDGjoPCnlwGQU4GQPwAYMP8ADBAAIDXAAo")); -var calendar = require("heatshrink").decompress(atob("j0ZwMAv////7BQU4AYVgAQMBwADBgwKCjgDCDAIABBw0Yg0xx1gjHGnOAocIowODwkwwlnBwWcscY8wODAYQOB4EBBwIsBmOMBwlwAQMDLIX4A==")); +//var calendar = require("heatshrink").decompress(atob("j0ZwMAv////7BQU4AYVgAQMBwADBgwKCjgDCDAIABBw0Yg0xx1gjHGnOAocIowODwkwwlnBwWcscY8wODAYQOB4EBBwIsBmOMBwlwAQMDLIX4A==")); var heartImageData = require("heatshrink").decompress(atob("//z/4CD4EPAQgOBAQXggEfAQXwgEDAQX4EIN4AQN8AQMMAQMPGAkDwAGEsAFEjAFEgwFEgIYkjgFEh4SEgZmBDwf8RAoSEv5zBAAU//wFDj6MCFQX/QYUAg6iBGAYFBGQUBAoIyDAoIyDv4FBGQU/AoIyCGALICGAQABGQIwCGQQwCGQQwCGQYFDGQIwCGQQwCGQQwDAAPPAogiD")); diff --git a/apps/speedalt/app.js b/apps/speedalt/app.js index 4587252c2..313226acf 100644 --- a/apps/speedalt/app.js +++ b/apps/speedalt/app.js @@ -201,7 +201,7 @@ max.n = 0; // counter. Only start comparing for max after a certain number of var emulator = (process.env.BOARD=="EMSCRIPTEN" || process.env.BOARD=="EMSCRIPTEN2")?1:0; // 1 = running in emulator. Supplies test values; var wp = {}; // Waypoint to use for distance from cur position. -var SATinView = 0; +//var SATinView = 0; function nxtWp(inc){ cfg.wp+=inc; diff --git a/apps/speedalt2/app.js b/apps/speedalt2/app.js index 839ac63eb..3e58e1001 100644 --- a/apps/speedalt2/app.js +++ b/apps/speedalt2/app.js @@ -376,7 +376,7 @@ if ( emulator ) { fix.smoothed = 0; } - var m; + //var m; var sp = '---'; var al = sp; diff --git a/apps/speedo/speedo.js b/apps/speedo/speedo.js index 1d87859a8..ad0e381ea 100644 --- a/apps/speedo/speedo.js +++ b/apps/speedo/speedo.js @@ -44,7 +44,7 @@ function onGPS(fix) { if (fix.fix && isFinite(fix.speed)) { var speed = require("locale").speed(fix.speed); var m = speed.match(/([0-9,\.]+)(.*)/); // regex splits numbers from units - var txt = (fix.speed<20) ? fix.speed.toFixed(1) : Math.round(fix.speed); + //var txt = (fix.speed<20) ? fix.speed.toFixed(1) : Math.round(fix.speed); layout.speed.label = m[1]; layout.units.label = m[2]; } diff --git a/apps/stacker/app.js b/apps/stacker/app.js index a486e06cc..631ff96d5 100644 --- a/apps/stacker/app.js +++ b/apps/stacker/app.js @@ -7,7 +7,6 @@ const GAMEBOARD_WIDTH = g.getWidth() - 16 - BLOCK_SIZE; const START_Y = g.getHeight() - BLOCK_SIZE - 1; const START_LENGTH = 4; var length; -var updateTimeout; var rows = []; var gameState = ""; //win, lose, play diff --git a/apps/stardateclock/app.js b/apps/stardateclock/app.js index adf2c14c7..9642c4779 100644 --- a/apps/stardateclock/app.js +++ b/apps/stardateclock/app.js @@ -31,7 +31,7 @@ if (g.getWidth() < 200) { // Bangle.js 2 baseUnit3 = 7; } -const widgetsHeight = 24; +//const widgetsHeight = 24; const sbarWid = baseUnit3 * 5; const hbarHt = baseUnit1; const outRad = baseUnit1 * 5; diff --git a/apps/stopwatch/stopwatch.app.js b/apps/stopwatch/stopwatch.app.js index 0d3ec364e..64e508070 100644 --- a/apps/stopwatch/stopwatch.app.js +++ b/apps/stopwatch/stopwatch.app.js @@ -85,7 +85,7 @@ const drawTime = function() { }; const draw = function() { - let last = tCurrent; + //let last = tCurrent; if (running) tCurrent = Date.now(); g.setColor(g.theme.fg); if (redrawButtons) drawButtons(); diff --git a/apps/stressless/app.js b/apps/stressless/app.js index b27c79a0d..8b643f94b 100644 --- a/apps/stressless/app.js +++ b/apps/stressless/app.js @@ -16,11 +16,10 @@ var csv = [ ]; logfile.write(csv.join(",")+"\n"); -var debugging = true; var samples = 0; // how many samples have we connected? var collectData = false; // are we currently collecting data? -var BPM_array = []; +//var BPM_array = []; var raw_HR_array = new Float32Array(1536); var alternate_array = new Float32Array(3072); var pulse_array = []; @@ -136,7 +135,6 @@ function find_peaks() { "ram" var previous_slope = 0; var slope; var gap_size = 0; - var temp_array = []; for (let i = 0; i < alternate_array.length; i++) { if (previous == null) @@ -235,7 +233,7 @@ function btn3Pressed() { } function turn_on() { - BPM_array = []; + //BPM_array = []; pulse_array = []; samples = 0; if (accel) clearInterval(accel); diff --git a/apps/sunrise/app.js b/apps/sunrise/app.js index 4d1f444a4..6b82d3c65 100644 --- a/apps/sunrise/app.js +++ b/apps/sunrise/app.js @@ -2,7 +2,6 @@ // sunrise/sunset script by Matt Kane from https://github.com/Triggertrap/sun-js const LOCATION_FILE = 'mylocation.json'; -let location; Bangle.setUI('clock'); Bangle.loadWidgets(); diff --git a/apps/supf/app.js b/apps/supf/app.js index d7a30aed9..197a6ca2f 100644 --- a/apps/supf/app.js +++ b/apps/supf/app.js @@ -3,8 +3,8 @@ require("Font7x11Numeric7Seg").add(Graphics); function draw() { var d = new Date(); var size = Math.floor(g.getWidth()/(7*6)); - var x = (g.getWidth()/2) - size*6, - y = (g.getHeight()/2) - size*7 - 0; + //var x = (g.getWidth()/2) - size*6; + var y = (g.getHeight()/2) - size*7 - 0; // y variable for ':' var y_dop = 70 - 0; g.reset().clearRect(0,y,g.getWidth(),y+size*28); diff --git a/apps/swscroll/boot.js b/apps/swscroll/boot.js index 1c5a84140..a2dc5277d 100644 --- a/apps/swscroll/boot.js +++ b/apps/swscroll/boot.js @@ -81,10 +81,9 @@ Bangle.setUI({ } }); -var menuShowing = false; var R = Bangle.appRect; -var Y = R.y; -var n = Math.ceil(R.h/options.h); +//var Y = R.y; +//var n = Math.ceil(R.h/options.h); var menuScrollMin = 0|options.scrollMin; var menuScrollMax = options.h*options.c - R.h; if (menuScrollMax 6) tool = 0; } +/* function prevItem () { tool--; if (tool < 0) tool = 7; } +*/ function activateItem () { if (mode != '') { @@ -1108,8 +1112,8 @@ function animateHappy () { angryState = 0; mode = 'happy'; transition = true; - const width = w / scale; - const cx = w; + //const width = w / scale; + //const cx = w; var iv = setInterval(function () { angryState++; if (angryState > 3) { @@ -1132,8 +1136,8 @@ function animateAngry () { angryState = 0; mode = 'angry'; transition = true; - const width = w / scale; - const cx = w; + //const width = w / scale; + //const cx = w; var iv = setInterval(function () { angryState++; if (angryState > 3) { @@ -1164,8 +1168,8 @@ function animateFood () { } frame = 0; transition = true; - const width = w / scale; - const cx = w; + //const width = w / scale; + //const cx = w; var iv = setInterval(function () { angryState++; if (angryState > 3) { @@ -1195,7 +1199,7 @@ function animateShower () { clearInterval(iv); mode = ''; transition = false; - animated = true; + //animated = true; sx += width; if (sx < 0) sx = 0; if (tama.cacas > 0) { @@ -1216,7 +1220,7 @@ function animateToGame () { transition = true; let cx = 0; sx = -w; - animated = false; + //animated = false; var iv = setInterval(function () { sx += scale * 2; updateAnimation(); @@ -1225,7 +1229,7 @@ function animateToGame () { if (cx > w) { clearInterval(iv); sx = 0; - animated = true; + //animated = true; transition = false; drawScene(); } @@ -1241,10 +1245,10 @@ function animateToClock () { } mode = 'clock'; transition = true; - const width = w / scale; + //const width = w / scale; let cx = w; sx = 0; - animated = false; + //animated = false; var iv = setInterval(function () { sx -= scale * 4; drawScene(); @@ -1254,7 +1258,7 @@ function animateToClock () { clearInterval(iv); mode = 'clock'; transition = false; - animated = true; + //animated = true; drawScene(); } }, 100); @@ -1269,8 +1273,8 @@ function animateFromClock () { } transition = true; let cx = 0; - const width = w / scale; - animated = false; + //const width = w / scale; + //animated = false; var iv = setInterval(function () { sx += scale * 4; drawScene(); @@ -1279,7 +1283,7 @@ function animateFromClock () { clearInterval(iv); mode = ''; sx = 0; - animated = true; + //animated = true; transition = false; drawScene(); } @@ -1513,9 +1517,9 @@ function pooMaker() { const b = 0 | ((cacaLevel + tama.hungry) / tama.tummy); cacaLevel += tama.hungry; if (a != b) { - if (tama.cacas == 0) { + /*if (tama.cacas == 0) { cacaBirth = new Date(); - } + }*/ tama.hungry--; tama.cacas++; } diff --git a/apps/tabata/tabata.js b/apps/tabata/tabata.js index f6addc35b..ad57e837c 100644 --- a/apps/tabata/tabata.js +++ b/apps/tabata/tabata.js @@ -71,7 +71,7 @@ function startTabata() { clearTimeout(timer); clearWatch(clearBtn1); clearWatch(clearBtn2); - clearWatch(clearBtn2); + clearWatch(clearBtn2); // TODO: Should it be Btn3 here? showMainMenu(); } diff --git a/apps/tapkb/lib.js b/apps/tapkb/lib.js index 5ff524165..e6dbfcd04 100644 --- a/apps/tapkb/lib.js +++ b/apps/tapkb/lib.js @@ -119,7 +119,6 @@ g.clear(); renderKeys(); var drag; -var e; return new Promise((resolve,reject) => { diff --git a/apps/terminal/app.js b/apps/terminal/app.js index 79a50c73f..25e166c04 100644 --- a/apps/terminal/app.js +++ b/apps/terminal/app.js @@ -147,7 +147,7 @@ function startTerminal(dataOutCallback) { term.fgCol = g.theme.fg; term.bgCol = g.theme.bg; draw(); - var flashInterval = setInterval(() => { + setInterval(() => { flashToggle = !flashToggle; draw(); }, 1000); diff --git a/apps/testuserinput/app.js b/apps/testuserinput/app.js index 4f5f26408..a0e2c1c40 100644 --- a/apps/testuserinput/app.js +++ b/apps/testuserinput/app.js @@ -8,7 +8,7 @@ var v_str_version='v0.06'; //testing purpose var x_max_screen=g.getWidth();//240; - var y_max_screen=g.getHeight(); //240; + //var y_max_screen=g.getHeight(); //240; var y_wg_bottom=g.getHeight()-25; var y_wg_top=25; if (v_model=='BANGLEJS') { diff --git a/apps/tetris/tetris.app.js b/apps/tetris/tetris.app.js index 91dd20ab8..e406e7815 100644 --- a/apps/tetris/tetris.app.js +++ b/apps/tetris/tetris.app.js @@ -413,7 +413,7 @@ function startGame() { calculateSpeed(); state = 1; drawGame(); - var gi = setInterval(gameStep, 20); + setInterval(gameStep, 20); } function drawGame() { diff --git a/apps/themesetter/app.js b/apps/themesetter/app.js index aa3c608cf..453e9635f 100644 --- a/apps/themesetter/app.js +++ b/apps/themesetter/app.js @@ -1,7 +1,7 @@ let Layout = require('Layout'); let ScreenWidth = g.getWidth(), halfWidth = ScreenWidth/2; - let ScreenHeight = g.getHeight(); + //let ScreenHeight = g.getHeight(); let normalizedColorSet = { black:g.toColor(0,0,0), white: g.toColor(1,1,1), diff --git a/apps/thering/app.js b/apps/thering/app.js index 8767941b2..1ba6649de 100644 --- a/apps/thering/app.js +++ b/apps/thering/app.js @@ -150,9 +150,9 @@ function getGaugeImage(p) { function draw() { var date = new Date(); - var timeStr = require("locale").time(date,1); + //var timeStr = require("locale").time(date,1); var da = date.toString().split(" "); - var time = da[4].substr(0,5); + //var time = da[4].substr(0,5); var hh = da[4].substr(0,2); var mm = da[4].substr(3,2); var steps = getSteps(); diff --git a/apps/tictactoe/app.js b/apps/tictactoe/app.js index 3f2da4945..725f47910 100644 --- a/apps/tictactoe/app.js +++ b/apps/tictactoe/app.js @@ -21,7 +21,6 @@ var val = 0; var player; var active = false; var select = false; -var next = 0; var winval =0; var ex = require("heatshrink").decompress(atob("mEwwI63jACEngCEvwCEv4CB/wCBn+AgP8AoMf4ED/AFBh/gg/wAoIDBA4IFBB4ITBAoIbBD4I8C/wrCGAQuCGAQuCGAQuCGAQuCAo4RFDoopFGohBFJopZFMopxFPoqJFSoqhFVooA0A")); var oh = require("heatshrink").decompress(atob("mEwwIdah/wAof//4ECgYFB4AFBg4FB8AFBj/wh/4AoM/wEB/gFBvwCB/wCBBAU/AQIUCj8AgIzCh+AgYmCg/AgYyCAYIHBAoXgg+AAoMBApkPLgZKBAtBBRLIprDMoJxFPoqJFSoyhCAQStFXIrFFaIrdFdIwAVA")); diff --git a/apps/timeandlife/app.js b/apps/timeandlife/app.js index 4fe758815..f4a99fd46 100644 --- a/apps/timeandlife/app.js +++ b/apps/timeandlife/app.js @@ -1,6 +1,4 @@ // Globals -const X = 176, - Y = 176; // screen resolution of bangle 2 const STEP_TIMEOUT = 1000; const PAUSE_TIME = 3000; @@ -151,7 +149,6 @@ const step = () => { if (new Date() - lastPaused < PAUSE_TIME) { return; } - let startTime = new Date(); const dataAddr = E.getAddressOf(data, true); const nextDataAddr = E.getAddressOf(nextData, true); updateStateC.run(dataAddr, nextDataAddr); diff --git a/apps/timerclk/alarm.js b/apps/timerclk/alarm.js index 4acaa6cf0..764e8ce1b 100644 --- a/apps/timerclk/alarm.js +++ b/apps/timerclk/alarm.js @@ -18,7 +18,7 @@ var editIndex = 0; var drawInterval; var drawIntervalTimeout; var buttons; -var dragBorderHrsMins=0, dragBorderMinsSecs=0; +//var dragBorderHrsMins=0, dragBorderMinsSecs=0; function update() { if (drawInterval) clearInterval(drawInterval); @@ -103,8 +103,8 @@ function draw() { else if (editIndex == 1) x = start + g.stringMetrics(timeStr[0]+":"+timeStr[1]+":"+timeStr[2]).width - markerPosChange; else x = 0; if (x) g.drawString("__", x, y); - dragBorderHrsMins = start+g.stringMetrics(timeStr[0]).width+g.stringMetrics(":").width/2; - dragBorderMinsSecs = start+g.stringMetrics(timeStr[0]+":"+timeStr[1]).width+g.stringMetrics(":").width/2; + //dragBorderHrsMins = start+g.stringMetrics(timeStr[0]).width+g.stringMetrics(":").width/2; + //dragBorderMinsSecs = start+g.stringMetrics(timeStr[0]+":"+timeStr[1]).width+g.stringMetrics(":").width/2; } if (all.length == 0) { diff --git a/apps/timerclk/timer.js b/apps/timerclk/timer.js index 25052e6ae..5ca2fba3e 100644 --- a/apps/timerclk/timer.js +++ b/apps/timerclk/timer.js @@ -18,7 +18,7 @@ var editIndex = 0; var drawInterval; var drawIntervalTimeout; var buttons; -var dragBorderHrsMins=0, dragBorderMinsSecs=0; +//var dragBorderHrsMins=0, dragBorderMinsSecs=0; function update() { if (drawInterval) clearInterval(drawInterval); @@ -128,8 +128,8 @@ function draw() { else if (editIndex == 1) x = start + g.stringMetrics(timeStr[0]+":"+timeStr[1]+":"+timeStr[2]).width - markerPosChange; else x = 0; if (x) g.drawString("__", x, y); - dragBorderHrsMins = start+g.stringMetrics(timeStr[0]).width+g.stringMetrics(":").width/2; - dragBorderMinsSecs = start+g.stringMetrics(timeStr[0]+":"+timeStr[1]).width+g.stringMetrics(":").width/2; + //dragBorderHrsMins = start+g.stringMetrics(timeStr[0]).width+g.stringMetrics(":").width/2; + //dragBorderMinsSecs = start+g.stringMetrics(timeStr[0]+":"+timeStr[1]).width+g.stringMetrics(":").width/2; } if (all.length == 0) { diff --git a/apps/tinyVario/app.js b/apps/tinyVario/app.js index b9a87c821..63fc6e94e 100644 --- a/apps/tinyVario/app.js +++ b/apps/tinyVario/app.js @@ -10,7 +10,7 @@ getFL = () => (44330 * (1.0 - Math.pow(pressure/1013.25, 0.1903))).toFixed(0); getTimeString = () => (settings.localTime) ? (require("locale").time(Date(),1)):(Date().toUTCString().slice(Date().toUTCString().length-12,Date().toUTCString().length-7)); var fg=g.getColor(); -var bg=g.getBgColor(); +//var bg=g.getBgColor(); var red="#F00",green="#0F0"; const unitsRoc=[ @@ -40,11 +40,13 @@ const unitsAlt=[ {name:"m", factor:1, precision:0, layoutCode:{type:"txt", font:"12%", halign:0, filly:0, label:"m"}}, {name:"ft", factor:3.280839895013123, precision:0, layoutCode:{type:"txt", font:"12%", halign:0, filly:0, label:"ft"}} ]; +/* const unitROC={type:"v", halign:1, c: [ {type:"txt", font:"12%", halign:0, filly:0, label:"m"}, {type:"", height:1,width:"20", bgCol:fg}, {type:"txt", font:"12%", halign:0, filly:0, label:"s"} ]}; +*/ const ground=0, flying=1, landed=2, maybeFlying=3, maybeLanded=4; @@ -65,7 +67,7 @@ var altH = []; var altRaw=-9999, altFast=0, altSlow=0; var fastGain=0.5, slowGain=0.3; var roc=0,rocAvg=0, gs; -var lastPressure = Date.now(); +//var lastPressure = Date.now(); var pressure = 1000; var state=ground; var takeoffTime=0, landingTime=0, flyingTime; @@ -224,7 +226,7 @@ function initPFD() { } function initAltMenu() { - var oldQnh=qnh; + //var oldQnh=qnh; function updateAltMenu() { altMenu.clear(); altMenu.alt.label= diff --git a/apps/toucher/app.js b/apps/toucher/app.js index 19310592e..b45725aab 100644 --- a/apps/toucher/app.js +++ b/apps/toucher/app.js @@ -85,7 +85,7 @@ function render(){ const visibleApps = APPS.filter(app => app.x >= STATE.offset-HALF && app.x <= STATE.offset+WIDTH-HALF ); let cycle = 0; - let lastCycle = visibleApps.length; + //let lastCycle = visibleApps.length; visibleApps.forEach(app => { cycle++; diff --git a/apps/vernierrespirate/app.js b/apps/vernierrespirate/app.js index 945b72b77..b2afdb0df 100644 --- a/apps/vernierrespirate/app.js +++ b/apps/vernierrespirate/app.js @@ -154,7 +154,7 @@ function connect() { offs += 4; } } else { - var cmd = dv.getUint8(4); // cmd + /*var cmd =*/ dv.getUint8(4); // cmd //print("CMD",dv.buffer); } } diff --git a/apps/viewstl/viewstl.app.js b/apps/viewstl/viewstl.app.js index 34d018705..440745603 100644 --- a/apps/viewstl/viewstl.app.js +++ b/apps/viewstl/viewstl.app.js @@ -222,7 +222,6 @@ function readSTL(fn) { edges = new Uint8Array(Math.max(faces.length/3,24)) p_edges = E.getAddressOf(edges, true); var fp=0, p=0; - var nf = 0; g.setColor(0.9, 0.9, 0.9); g.drawRect(20, 140, 220, 160); g.setColor(0.6, 0.6, 0.9); diff --git a/apps/viewstl/viewstl.min.js b/apps/viewstl/viewstl.min.js index 82975bbf9..1994c2f59 100644 --- a/apps/viewstl/viewstl.min.js +++ b/apps/viewstl/viewstl.min.js @@ -84,7 +84,6 @@ function readSTL(fn) { edges = new Uint8Array(Math.max(faces.length/3,24)) p_edges = E.getAddressOf(edges, true); var fp=0, p=0; - var nf = 0; g.setColor(0.9, 0.9, 0.9); g.drawRect(20, 140, 220, 160); g.setColor(0.6, 0.6, 0.9); diff --git a/apps/walkersclock/app.js b/apps/walkersclock/app.js index 8a5e826c4..5b83bf583 100644 --- a/apps/walkersclock/app.js +++ b/apps/walkersclock/app.js @@ -49,7 +49,6 @@ let infoMode = INFO_NONE; let functionMode = FN_MODE_OFF; let gpsDisplay = GDISP_OS; let prevInfoStr = "clear"; -let prevActivityStr = "clear"; let prevSteps = "clear"; let clearActivityArea = true; @@ -194,7 +193,6 @@ function drawAll(){ } function drawInfo() { - let val; let str = ""; let col = 0x07E0; // green @@ -565,7 +563,7 @@ Bangle.on('lcdPower',function(on) { } }); -var click = setInterval(onTick, 5000); +setInterval(onTick, 5000); setWatch(() => { changeInfoMode(); drawAll(); }, BTN1, {repeat: true}); setWatch(() => { changeFunctionMode(); drawAll(); }, BTN3, {repeat: true}); diff --git a/apps/warpdrive/app.js b/apps/warpdrive/app.js index 855b86c78..3f52fba58 100644 --- a/apps/warpdrive/app.js +++ b/apps/warpdrive/app.js @@ -496,7 +496,6 @@ let lcdBuffer = 0, let locked = false; let charging = false; let stopped = true; -let interval = 30; let timeout; function setupInterval(force) { @@ -596,7 +595,6 @@ function init() { sintable[i] = Math.sin((i * Math.PI * 0.5) / sintable.length) * ((1 << 8) - 1); // setup nodes - let o = 0; for (let i = 0; i < nodeCount; ++i) { nodes[i] = { rx: 0, diff --git a/apps/waternet/app.js b/apps/waternet/app.js index bc4b26828..cf2335009 100644 --- a/apps/waternet/app.js +++ b/apps/waternet/app.js @@ -94,7 +94,6 @@ const LEFTMENU = 118; const EMPTY = 61; let startPos; -let menuPos; let maxLevel; let selectedLevel; let boardX; @@ -133,7 +132,7 @@ let levelLocks = new Uint8Array(GMCOUNT * DIFFCOUNT); let options = new Uint8Array(OPCOUNT); //sound -let soundon = 1; +let soundon = 1; // TODO: Should this be 'soundOn' ? //game let paused; @@ -533,14 +532,18 @@ function set_bkg_data(tiles) { currentTiles = tiles; } +/* function get_bkg_data() { return currentTiles; } +*/ +/* function set_bkg_tiles(x, y, map) { "RAM"; g.drawImage(map, SCREENOFFSETX + x, screenOffsetY + y); } +*/ function setBlockTilesAsBackground() { set_bkg_data(BLOCKTILES); @@ -1056,8 +1059,8 @@ function generateLevel() "RAM"; if(USECCODE) { - var cellstack = new Uint8Array(MAXBOARDSIZE + 1); - var neighbours = new Uint8Array(4); + //var cellstack = new Uint8Array(MAXBOARDSIZE + 1); + //var neighbours = new Uint8Array(4); var addrLevel = E.getAddressOf(level,true); c.generateLevel(addrLevel, boardWidth, boardHeight); } @@ -1621,6 +1624,7 @@ function levelSelect() { // -------------------------------------------------------------------------------------------------- // printing functions // -------------------------------------------------------------------------------------------------- +/* function setCharAt(str, index, chr) { "RAM"; if (index > str.length - 1) return str; @@ -1676,6 +1680,7 @@ function printNumber(ax, ay, aNumber, maxDigits, noScreenOffset) { set_bkg_tile_xy(ax + (maxDigits - ret.digits) + c, ay, ret.string.charCodeAt(buffSize - ret.digits + c) + 32, noScreenOffset); } } +*/ //print a message on the title screen on ax,ay, the tileset from titlescreen contains an alphabet function printMessage(ax, ay, amsg, noScreenOffset) { diff --git a/apps/waypointer/app.js b/apps/waypointer/app.js index 40e4cf974..b71cf3270 100644 --- a/apps/waypointer/app.js +++ b/apps/waypointer/app.js @@ -112,8 +112,8 @@ function read_compass() { /***** END Compass ***********/ -var speed = 0; -var satellites = 0; +//var speed = 0; +//var satellites = 0; var wp; var dist=0; @@ -190,9 +190,9 @@ var savedfix; function onGPS(fix) { savedfix = fix; - if (fix!==undefined){ + /*if (fix!==undefined){ satellites = fix.satellites; - } + }*/ if (candraw) { if (fix!==undefined && fix.fix==1){ diff --git a/apps/waypoints/waypoints.app.js b/apps/waypoints/waypoints.app.js index fec1af993..0c63e9183 100644 --- a/apps/waypoints/waypoints.app.js +++ b/apps/waypoints/waypoints.app.js @@ -3,9 +3,6 @@ var Layout = require("Layout"); const BANGLEJS2 = process.env.HWVERSION == 2; // check for bangle 2 -const W = g.getWidth(); -const H = g.getHeight(); - var wp = require('Storage').readJSON("waypoints.json", true) || []; // Use this with corrupted waypoints //var wp = []; @@ -50,7 +47,7 @@ function mainMenu() { } function updateGps() { - let have = false, lat = "lat", lon = "lon", alt = "alt", speed = "speed"; + let lat = "lat", lon = "lon", alt = "alt", speed = "speed"; if (cancel_gps) return; @@ -63,7 +60,6 @@ function updateGps() { lon = "" + lon(fix.lon); alt = "alt " + fix.alt.toFixed(0) + "m"; speed = "speed " + fix.speed.toFixed(1) + "kt"; - have = true; } g.reset().setFont("Vector", 20) @@ -266,7 +262,7 @@ function ask01(t, cb) { } function askCoordinate(t1, t2, callback) { - let sign = 1; + //let sign = 1; ask01(t1, function(sign) { switch (mode) { case 0: s = "DDD.dddd"; break; @@ -297,7 +293,6 @@ function askCoordinate(t1, t2, callback) { } function askPosition(callback) { - let full = ""; askCoordinate("NS", "0", function(lat) { askCoordinate("EW", "", function(lon) { callback(lat, lon); diff --git a/apps/widbgjs/widget.js b/apps/widbgjs/widget.js index 4b81c4885..12af79c8e 100644 --- a/apps/widbgjs/widget.js +++ b/apps/widbgjs/widget.js @@ -65,11 +65,13 @@ break; } // turn the arrow thanks to (https://forum.espruino.com/conversations/344607/) + /* const p180 = Math.PI / 180; // a is defined above var r = 21; var x = r * Math.sin(a * p180); var y = r * Math.cos(a * p180); + */ return a * p180; } diff --git a/apps/widhwbttm/widhwbttm.wid.js b/apps/widhwbttm/widhwbttm.wid.js index 551e2005b..e2a55c6c4 100644 --- a/apps/widhwbttm/widhwbttm.wid.js +++ b/apps/widhwbttm/widhwbttm.wid.js @@ -1,5 +1,5 @@ (function() { - let intervalRef = null; + //let intervalRef = null; var v_count; // show stats var v_str_hw=new String(); //if (process.env.BOARD=='BANGLEJS'||process.env.BOARD=='EMSCRIPTEN') var v_bfont_size=2; @@ -55,5 +55,5 @@ } //end draw WIDGETS["wdhwbttm"]={area:"bl",width:100,draw:draw}; -if (Bangle.isLCDOn) intervalRef = setInterval(()=>WIDGETS["wdhwbttm"].draw(), 10*1000); +if (Bangle.isLCDOn) /*intervalRef =*/ setInterval(()=>WIDGETS["wdhwbttm"].draw(), 10*1000); })() diff --git a/apps/worldclock/app.js b/apps/worldclock/app.js index 2627e056c..91b4be4f6 100644 --- a/apps/worldclock/app.js +++ b/apps/worldclock/app.js @@ -123,7 +123,6 @@ function draw() { if (offsets.length === 1) { // For a single secondary timezone, draw it bigger and drop time zone to second line - const xOffset = 30; g.setFont(font, secondaryTimeFontSize); g.drawString(`${hours}:${minutes}`, xyCenter, yposTime2, true); g.setFont(font, secondaryTimeZoneFontSize); diff --git a/apps/wrkmem/app.js b/apps/wrkmem/app.js index 3f283ca8a..3e085a5ed 100644 --- a/apps/wrkmem/app.js +++ b/apps/wrkmem/app.js @@ -14,7 +14,7 @@ const savedData = { Object.assign(savedData, require("Storage") .readJSON(localTaskFile, true) || {}); -let currentMenu; +//let currentMenu; const allTasks = savedData.tasks; const SWIPE = { @@ -365,7 +365,7 @@ function setMenu(menu) { save(); g.reset(); g.clearRect(Bangle.appRect); - currentMenu = menu; + //currentMenu = menu; menu.render(); menu.setUI(); Bangle.drawWidgets(); From 2a10df7f45cc3bde521f434dfac006bdb1aadaef Mon Sep 17 00:00:00 2001 From: Anton Date: Mon, 4 Mar 2024 22:32:06 +0100 Subject: [PATCH 33/46] Bump app versions --- apps/2047pp/ChangeLog | 3 ++- apps/2047pp/metadata.json | 2 +- apps/2ofthemclk/ChangeLog | 3 ++- apps/2ofthemclk/metadata.json | 2 +- apps/7x7dotsclock/ChangeLog | 3 ++- apps/7x7dotsclock/metadata.json | 2 +- apps/93dub/ChangeLog | 1 + apps/93dub/metadata.json | 2 +- apps/BLEcontroller/ChangeLog | 1 + apps/BLEcontroller/metadata.json | 2 +- apps/UI4swatch/ChangeLog | 1 + apps/UI4swatch/metadata.json | 2 +- apps/Uke/ChangeLog | 1 + apps/Uke/metadata.json | 2 +- apps/a_clock_timer/ChangeLog | 3 ++- apps/a_clock_timer/metadata.json | 2 +- apps/a_speech_timer/ChangeLog | 1 + apps/a_speech_timer/metadata.json | 2 +- apps/about/ChangeLog | 1 + apps/about/metadata.json | 2 +- apps/accelrec/ChangeLog | 3 ++- apps/accelrec/metadata.json | 2 +- apps/acmaze/ChangeLog | 1 + apps/acmaze/metadata.json | 2 +- apps/activepedom/ChangeLog | 1 + apps/activepedom/metadata.json | 2 +- apps/agenda/ChangeLog | 1 + apps/agenda/metadata.json | 2 +- apps/alpinenav/ChangeLog | 1 + apps/alpinenav/metadata.json | 2 +- apps/angles/ChangeLog | 3 ++- apps/angles/metadata.json | 2 +- apps/animclk/ChangeLog | 1 + apps/animclk/metadata.json | 2 +- apps/approxclock/ChangeLog | 3 ++- apps/approxclock/metadata.json | 2 +- apps/arrow/ChangeLog | 1 + apps/arrow/metadata.json | 2 +- apps/astrocalc/ChangeLog | 1 + apps/astrocalc/metadata.json | 2 +- apps/ballmaze/ChangeLog | 3 ++- apps/ballmaze/metadata.json | 2 +- apps/banglebridge/ChangeLog | 2 ++ apps/banglebridge/metadata.json | 2 +- apps/banglexercise/ChangeLog | 1 + apps/banglexercise/metadata.json | 2 +- apps/barcode/ChangeLog | 1 + apps/barcode/metadata.json | 2 +- apps/batchart/ChangeLog | 1 + apps/batchart/metadata.json | 2 +- apps/battleship/ChangeLog | 1 + apps/battleship/metadata.json | 2 +- apps/beebclock/ChangeLog | 1 + apps/beebclock/metadata.json | 2 +- apps/berlinc/ChangeLog | 3 ++- apps/berlinc/metadata.json | 2 +- apps/binaryclk/ChangeLog | 1 + apps/binaryclk/metadata.json | 2 +- apps/binwatch/ChangeLog | 1 + apps/binwatch/metadata.json | 2 +- apps/boot/ChangeLog | 1 + apps/boot/metadata.json | 2 +- apps/bradbury/ChangeLog | 2 ++ apps/bradbury/metadata.json | 2 +- apps/breath/ChangeLog | 2 ++ apps/breath/metadata.json | 2 +- apps/bthrv/ChangeLog | 1 + apps/bthrv/metadata.json | 2 +- apps/calclock/ChangeLog | 1 + apps/calclock/metadata.json | 2 +- apps/calendar/ChangeLog | 1 + apps/calendar/metadata.json | 2 +- apps/carcrazy/ChangeLog | 1 + apps/carcrazy/metadata.json | 2 +- apps/cards/ChangeLog | 1 + apps/cards/metadata.json | 2 +- apps/chimer/ChangeLog | 1 + apps/chimer/metadata.json | 2 +- apps/chrono/ChangeLog | 1 + apps/chrono/metadata.json | 2 +- apps/circlesclock/ChangeLog | 1 + apps/circlesclock/metadata.json | 2 +- apps/cliclockJS2Enhanced/ChangeLog | 1 + apps/cliclockJS2Enhanced/metadata.json | 2 +- apps/clicompleteclk/ChangeLog | 1 + apps/clicompleteclk/metadata.json | 2 +- apps/cliock/ChangeLog | 1 + apps/cliock/metadata.json | 2 +- apps/clkinfosunrise/ChangeLog | 1 + apps/clkinfosunrise/metadata.json | 2 +- apps/color_catalog/ChangeLog | 1 + apps/color_catalog/metadata.json | 2 +- apps/colorful_clock/ChangeLog | 1 + apps/colorful_clock/metadata.json | 2 +- apps/configurable_clock/ChangeLog | 1 + apps/configurable_clock/metadata.json | 2 +- apps/contacts/ChangeLog | 1 + apps/contacts/metadata.json | 2 +- apps/contourclock/ChangeLog | 1 + apps/contourclock/metadata.json | 2 +- apps/coretemp/ChangeLog | 1 + apps/coretemp/metadata.json | 2 +- apps/cycling/ChangeLog | 1 + apps/cycling/metadata.json | 2 +- apps/daisy/ChangeLog | 1 + apps/daisy/metadata.json | 2 +- apps/dane_tcr/ChangeLog | 1 + apps/dane_tcr/metadata.json | 2 +- apps/devstopwatch/ChangeLog | 3 ++- apps/devstopwatch/metadata.json | 2 +- apps/diceroll/ChangeLog | 3 ++- apps/diceroll/metadata.json | 2 +- apps/distortclk/ChangeLog | 1 + apps/distortclk/metadata.json | 2 +- apps/dotclock/ChangeLog | 1 + apps/dotclock/metadata.json | 2 +- apps/doztime/ChangeLog | 1 + apps/doztime/metadata.json | 2 +- apps/drinkcounter/ChangeLog | 3 ++- apps/drinkcounter/metadata.json | 2 +- apps/dtlaunch/ChangeLog | 1 + apps/dtlaunch/metadata.json | 2 +- apps/dwm-clock/ChangeLog | 1 + apps/dwm-clock/metadata.json | 2 +- apps/edisonsball/ChangeLog | 1 + apps/edisonsball/metadata.json | 2 +- apps/encourageclk/ChangeLog | 1 + apps/encourageclk/metadata.json | 2 +- apps/f9lander/ChangeLog | 1 + apps/f9lander/metadata.json | 2 +- apps/fclock/ChangeLog | 1 + apps/fclock/metadata.json | 2 +- apps/flightdash/ChangeLog | 1 + apps/flightdash/metadata.json | 2 +- apps/followtherecipe/ChangeLog | 3 ++- apps/followtherecipe/metadata.json | 2 +- apps/gallifr/ChangeLog | 1 + apps/gallifr/metadata.json | 2 +- apps/game1024/ChangeLog | 1 + apps/game1024/metadata.json | 2 +- apps/gipy/ChangeLog | 1 + apps/gipy/metadata.json | 2 +- apps/glbasic/ChangeLog | 1 + apps/glbasic/metadata.json | 2 +- apps/gpsrec/ChangeLog | 1 + apps/gpsrec/metadata.json | 2 +- apps/gpstrek/ChangeLog | 3 ++- apps/gpstrek/metadata.json | 2 +- apps/guitar/ChangeLog | 3 ++- apps/guitar/metadata.json | 2 +- apps/guitarsongs/ChangeLog | 1 + apps/guitarsongs/metadata.json | 2 +- apps/happyclk/ChangeLog | 3 ++- apps/happyclk/metadata.json | 2 +- apps/hcclock/ChangeLog | 3 ++- apps/hcclock/metadata.json | 2 +- apps/health/ChangeLog | 1 + apps/health/metadata.json | 2 +- apps/helloworld/ChangeLog | 1 + apps/helloworld/metadata.json | 2 +- apps/henkinen/ChangeLog | 1 + apps/henkinen/metadata.json | 2 +- apps/homework/ChangeLog | 1 + apps/homework/metadata.json | 2 +- apps/horsey/ChangeLog | 2 ++ apps/horsey/metadata.json | 2 +- apps/hrm/ChangeLog | 1 + apps/hrm/metadata.json | 2 +- apps/hrrawexp/ChangeLog | 1 + apps/hrrawexp/metadata.json | 2 +- apps/hworldclock/ChangeLog | 3 ++- apps/hworldclock/metadata.json | 2 +- apps/icons/ChangeLog | 1 + apps/icons/metadata.json | 2 +- apps/impwclock/ChangeLog | 1 + apps/impwclock/metadata.json | 2 +- apps/inspire/ChangeLog | 1 + apps/inspire/metadata.json | 2 +- apps/invader/ChangeLog | 1 + apps/invader/metadata.json | 2 +- apps/isoclock/ChangeLog | 1 + apps/isoclock/metadata.json | 2 +- apps/kanagsec/ChangeLog | 1 + apps/kanagsec/metadata.json | 2 +- apps/kanawatch/ChangeLog | 1 + apps/kanawatch/metadata.json | 2 +- apps/kbmulti/ChangeLog | 1 + apps/kbmulti/metadata.json | 2 +- apps/kitchen/ChangeLog | 1 + apps/kitchen/metadata.json | 2 +- apps/lazyclock/ChangeLog | 1 + apps/lazyclock/metadata.json | 2 +- apps/lcdclock/ChangeLog | 3 ++- apps/lcdclock/metadata.json | 2 +- apps/lcdclockplus/ChangeLog | 3 ++- apps/lcdclockplus/metadata.json | 2 +- apps/legoremote/ChangeLog | 1 + apps/legoremote/metadata.json | 2 +- apps/lifeclk/ChangeLog | 1 + apps/lifeclk/metadata.json | 2 +- apps/lightswitch/ChangeLog | 1 + apps/lightswitch/metadata.json | 2 +- apps/limelight/ChangeLog | 2 +- apps/limelight/metadata.json | 2 +- apps/lunaclock/ChangeLog | 3 ++- apps/lunaclock/metadata.json | 2 +- apps/magnav/ChangeLog | 1 + apps/magnav/metadata.json | 2 +- apps/mandelbrotclock/ChangeLog | 3 ++- apps/mandelbrotclock/metadata.json | 2 +- apps/megadenti/ChangeLog | 1 + apps/megadenti/metadata.json | 2 +- apps/messageicons/ChangeLog | 1 + apps/messageicons/metadata.json | 2 +- apps/messagelist/ChangeLog | 2 +- apps/messagelist/metadata.json | 2 +- apps/messages_light/ChangeLog | 3 ++- apps/messages_light/metadata.json | 2 +- apps/minimal_clock/ChangeLog | 1 + apps/minimal_clock/metadata.json | 2 +- apps/moonphase/ChangeLog | 3 ++- apps/moonphase/metadata.json | 2 +- apps/mtgwatchface/ChangeLog | 1 + apps/mtgwatchface/metadata.json | 2 +- apps/multiclock/ChangeLog | 2 +- apps/multiclock/metadata.json | 2 +- apps/nato/ChangeLog | 1 + apps/nato/metadata.json | 2 +- apps/nixie/ChangeLog | 1 + apps/nixie/metadata.json | 2 +- apps/novaclock/ChangeLog | 1 + apps/novaclock/metadata.json | 2 +- apps/numerals/ChangeLog | 1 + apps/numerals/metadata.json | 2 +- apps/openwind/ChangeLog | 1 + apps/openwind/metadata.json | 2 +- apps/orloj/ChangeLog | 1 + apps/orloj/metadata.json | 2 +- apps/pastel/ChangeLog | 1 + apps/pastel/metadata.json | 2 +- apps/patriotclk/ChangeLog | 3 ++- apps/patriotclk/metadata.json | 2 +- apps/pebblepp/ChangeLog | 3 ++- apps/pebblepp/metadata.json | 2 +- apps/pizzatimer/ChangeLog | 3 ++- apps/pizzatimer/metadata.json | 2 +- apps/planetarium/ChangeLog | 1 + apps/planetarium/metadata.json | 2 +- apps/pokeclk/ChangeLog | 1 + apps/pokeclk/metadata.json | 2 +- apps/polymath/ChangeLog | 2 ++ apps/polymath/metadata.json | 2 +- apps/pong/ChangeLog | 1 + apps/pong/metadata.json | 2 +- apps/pooqroman/ChangeLog | 1 + apps/pooqroman/metadata.json | 2 +- apps/pooqround/ChangeLog | 1 + apps/pooqround/metadata.json | 2 +- apps/powermanager/ChangeLog | 1 + apps/powermanager/metadata.json | 2 +- apps/poweroff/ChangeLog | 1 + apps/poweroff/metadata.json | 2 +- apps/presentation_timer/ChangeLog | 1 + apps/presentation_timer/metadata.json | 2 +- apps/presentor/ChangeLog | 3 ++- apps/presentor/metadata.json | 2 +- apps/recorder/ChangeLog | 3 ++- apps/recorder/metadata.json | 2 +- apps/red7game/ChangeLog | 1 + apps/red7game/metadata.json | 2 +- apps/rolex/ChangeLog | 1 + apps/rolex/metadata.json | 2 +- apps/rpnsci/ChangeLog | 3 ++- apps/rpnsci/metadata.json | 2 +- apps/run/ChangeLog | 3 ++- apps/run/metadata.json | 2 +- apps/runplus/ChangeLog | 3 ++- apps/runplus/metadata.json | 2 +- apps/ruuviwatch/ChangeLog | 3 ++- apps/ruuviwatch/metadata.json | 2 +- apps/scribble/ChangeLog | 1 + apps/scribble/metadata.json | 2 +- apps/sevenmin/ChangeLog | 1 + apps/sevenmin/metadata.json | 2 +- apps/simple_clock/ChangeLog | 1 + apps/simple_clock/metadata.json | 2 +- apps/sixths/ChangeLog | 1 + apps/sixths/metadata.json | 2 +- apps/skyspy/ChangeLog | 1 + apps/skyspy/metadata.json | 2 +- apps/sleeplogalarm/ChangeLog | 1 + apps/sleeplogalarm/metadata.json | 2 +- apps/slomoclock/ChangeLog | 1 + apps/slomoclock/metadata.json | 2 +- apps/sokoban/ChangeLog | 1 + apps/sokoban/metadata.json | 2 +- apps/solarclock/ChangeLog | 1 + apps/solarclock/metadata.json | 2 +- apps/spaceclock/ChangeLog | 1 + apps/spaceclock/metadata.json | 2 +- apps/speedalt/ChangeLog | 1 + apps/speedalt/metadata.json | 2 +- apps/speedalt2/ChangeLog | 1 + apps/speedalt2/metadata.json | 2 +- apps/speedo/ChangeLog | 1 + apps/speedo/metadata.json | 2 +- apps/stacker/ChangeLog | 3 ++- apps/stacker/metadata.json | 2 +- apps/stardateclock/ChangeLog | 1 + apps/stardateclock/metadata.json | 2 +- apps/stopwatch/ChangeLog | 1 + apps/stopwatch/metadata.json | 2 +- apps/stressless/ChangeLog | 1 + apps/stressless/metadata.json | 2 +- apps/sunrise/ChangeLog | 1 + apps/sunrise/metadata.json | 2 +- apps/supf/ChangeLog | 1 + apps/supf/metadata.json | 2 +- apps/swscroll/ChangeLog | 1 + apps/swscroll/metadata.json | 2 +- apps/synthwave/ChangeLog | 2 ++ apps/synthwave/metadata.json | 2 +- apps/tabanchi/ChangeLog | 1 + apps/tabanchi/metadata.json | 2 +- apps/tabata/ChangeLog | 1 + apps/tabata/metadata.json | 2 +- apps/tapkb/ChangeLog | 3 ++- apps/tapkb/metadata.json | 2 +- apps/terminal/ChangeLog | 1 + apps/terminal/metadata.json | 2 +- apps/testuserinput/ChangeLog | 1 + apps/testuserinput/metadata.json | 2 +- apps/tetris/ChangeLog | 1 + apps/tetris/metadata.json | 2 +- apps/themesetter/ChangeLog | 1 + apps/themesetter/metadata.json | 2 +- apps/thering/ChangeLog | 1 + apps/thering/metadata.json | 2 +- apps/tictactoe/ChangeLog | 1 + apps/tictactoe/metadata.json | 2 +- apps/timeandlife/ChangeLog | 1 + apps/timeandlife/metadata.json | 2 +- apps/timerclk/ChangeLog | 1 + apps/timerclk/metadata.json | 2 +- apps/tinyVario/ChangeLog | 1 + apps/tinyVario/metadata.json | 2 +- apps/toucher/ChangeLog | 1 + apps/toucher/metadata.json | 2 +- apps/vernierrespirate/ChangeLog | 1 + apps/vernierrespirate/metadata.json | 2 +- apps/viewstl/ChangeLog | 1 + apps/viewstl/metadata.json | 2 +- apps/walkersclock/ChangeLog | 1 + apps/walkersclock/metadata.json | 2 +- apps/warpdrive/ChangeLog | 2 ++ apps/warpdrive/metadata.json | 2 +- apps/waternet/ChangeLog | 3 ++- apps/waternet/metadata.json | 2 +- apps/waypointer/ChangeLog | 1 + apps/waypointer/metadata.json | 2 +- apps/waypoints/ChangeLog | 1 + apps/waypoints/metadata.json | 2 +- apps/widbgjs/ChangeLog | 1 + apps/widbgjs/metadata.json | 2 +- apps/widhwbttm/ChangeLog | 1 + apps/widhwbttm/metadata.json | 2 +- apps/worldclock/ChangeLog | 1 + apps/worldclock/metadata.json | 2 +- apps/wrkmem/ChangeLog | 3 ++- apps/wrkmem/metadata.json | 2 +- 370 files changed, 414 insertions(+), 225 deletions(-) create mode 100644 apps/banglebridge/ChangeLog create mode 100644 apps/bradbury/ChangeLog create mode 100644 apps/breath/ChangeLog create mode 100644 apps/horsey/ChangeLog create mode 100644 apps/polymath/ChangeLog create mode 100644 apps/synthwave/ChangeLog create mode 100644 apps/warpdrive/ChangeLog diff --git a/apps/2047pp/ChangeLog b/apps/2047pp/ChangeLog index 9436289ae..2c55af1e5 100644 --- a/apps/2047pp/ChangeLog +++ b/apps/2047pp/ChangeLog @@ -1,3 +1,4 @@ 0.01: New app! 0.02: Better support for watch themes -0.03: Workaround minifier bug \ No newline at end of file +0.03: Workaround minifier bug +0.04: Minor code improvements diff --git a/apps/2047pp/metadata.json b/apps/2047pp/metadata.json index ac4dc70bd..ebc043e6c 100644 --- a/apps/2047pp/metadata.json +++ b/apps/2047pp/metadata.json @@ -2,7 +2,7 @@ "name": "2047pp", "shortName":"2047pp", "icon": "app.png", - "version":"0.03", + "version": "0.04", "description": "Bangle version of a tile shifting game", "supports" : ["BANGLEJS","BANGLEJS2"], "allow_emulator": true, diff --git a/apps/2ofthemclk/ChangeLog b/apps/2ofthemclk/ChangeLog index 2286a7f70..7727f3cc4 100644 --- a/apps/2ofthemclk/ChangeLog +++ b/apps/2ofthemclk/ChangeLog @@ -1 +1,2 @@ -0.01: New App! \ No newline at end of file +0.01: New App! +0.02: Minor code improvements diff --git a/apps/2ofthemclk/metadata.json b/apps/2ofthemclk/metadata.json index fa02b3e2f..bdaa6e150 100644 --- a/apps/2ofthemclk/metadata.json +++ b/apps/2ofthemclk/metadata.json @@ -1,7 +1,7 @@ { "id": "2ofthemclk", "name": "two of them clock", - "version": "0.01", + "version": "0.02", "description": "You can now wear teh memez on your wrist.", "readme": "README.md", "icon": "app.png", diff --git a/apps/7x7dotsclock/ChangeLog b/apps/7x7dotsclock/ChangeLog index 5e8e48b0b..cdc4ffcc5 100644 --- a/apps/7x7dotsclock/ChangeLog +++ b/apps/7x7dotsclock/ChangeLog @@ -1,3 +1,4 @@ 0.01: Initial version for upload 0.02: Better theme support, configurable colors, small improvements -0.03: Use `messages` library to check for new messages \ No newline at end of file +0.03: Use `messages` library to check for new messages +0.04: Minor code improvements diff --git a/apps/7x7dotsclock/metadata.json b/apps/7x7dotsclock/metadata.json index ba1996544..c4edc1ae8 100644 --- a/apps/7x7dotsclock/metadata.json +++ b/apps/7x7dotsclock/metadata.json @@ -1,7 +1,7 @@ { "id": "7x7dotsclock", "name": "7x7 Dots Clock", "shortName":"7x7 Dots Clock", - "version":"0.03", + "version": "0.04", "description": "A clock with a big 7x7 dots Font", "icon": "dotsfontclock.png", "tags": "clock", diff --git a/apps/93dub/ChangeLog b/apps/93dub/ChangeLog index 1c18ca59b..712a52a37 100644 --- a/apps/93dub/ChangeLog +++ b/apps/93dub/ChangeLog @@ -4,3 +4,4 @@ 0.04: Set 00:00 to 12:00 for 12 hour time 0.05: Display time, even on Thursday 0.06: Fix light theme issue, where widgets would end up on a light strip +0.07: Minor code improvements diff --git a/apps/93dub/metadata.json b/apps/93dub/metadata.json index 524780792..4b0b7bd21 100644 --- a/apps/93dub/metadata.json +++ b/apps/93dub/metadata.json @@ -3,7 +3,7 @@ "shortName":"93 Dub", "icon": "93dub.png", "screenshots": [{"url":"screenshot.png"}], - "version":"0.06", + "version": "0.07", "description": "Fan recreation of orviwan's 91 Dub app for the Pebble smartwatch. Uses assets from his 91-Dub-v2.0 repo", "tags": "clock", "type": "clock", diff --git a/apps/BLEcontroller/ChangeLog b/apps/BLEcontroller/ChangeLog index 5560f00bc..7727f3cc4 100644 --- a/apps/BLEcontroller/ChangeLog +++ b/apps/BLEcontroller/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Minor code improvements diff --git a/apps/BLEcontroller/metadata.json b/apps/BLEcontroller/metadata.json index bb28b2360..de3a58ba1 100644 --- a/apps/BLEcontroller/metadata.json +++ b/apps/BLEcontroller/metadata.json @@ -2,7 +2,7 @@ "id": "BLEcontroller", "name": "BLE Customisable Controller with Joystick", "shortName": "BLE Controller", - "version": "0.01", + "version": "0.02", "description": "A configurable controller for BLE devices and robots, with a basic four direction joystick. Designed to be easy to customise so you can add your own menus.", "icon": "BLEcontroller.png", "tags": "tool,bluetooth", diff --git a/apps/UI4swatch/ChangeLog b/apps/UI4swatch/ChangeLog index d81132fb6..e6883d3d6 100644 --- a/apps/UI4swatch/ChangeLog +++ b/apps/UI4swatch/ChangeLog @@ -1 +1,2 @@ 0.01: 1st ver, defining a common UI/UX +0.02: Minor code improvements diff --git a/apps/UI4swatch/metadata.json b/apps/UI4swatch/metadata.json index 379d173c3..bcb0e6c51 100644 --- a/apps/UI4swatch/metadata.json +++ b/apps/UI4swatch/metadata.json @@ -2,7 +2,7 @@ "id": "UI4swatch", "name": "UI 4 swatch", "shortName": "UI 4 swatch", - "version": "0.01", + "version": "0.02", "description": "A UI/UX for espruino smartwatches, displays dinamically calc. x,y coordinates.", "icon": "app.png", "tags": "Color,input,buttons,touch,UI", diff --git a/apps/Uke/ChangeLog b/apps/Uke/ChangeLog index ef5ffa3fe..56fcafa19 100644 --- a/apps/Uke/ChangeLog +++ b/apps/Uke/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App! 0.02: Increased Legibility, GUI rework 0.03: 13 new chords +0.04: Minor code improvements diff --git a/apps/Uke/metadata.json b/apps/Uke/metadata.json index ef31e3663..5a3f17639 100644 --- a/apps/Uke/metadata.json +++ b/apps/Uke/metadata.json @@ -1,7 +1,7 @@ { "id": "Uke", "name": "Uke Chords", "shortName":"Uke", - "version":"0.03", + "version": "0.04", "description": "Wrist mounted ukulele chords", "icon": "app.png", "tags": "uke, chords", diff --git a/apps/a_clock_timer/ChangeLog b/apps/a_clock_timer/ChangeLog index cfb53c432..0e717fee7 100644 --- a/apps/a_clock_timer/ChangeLog +++ b/apps/a_clock_timer/ChangeLog @@ -1,4 +1,5 @@ 0.01: Beta version for Bangle 2 (2021/11/28) 0.02: Shows night time on the map (2022/12/28) 0.03: Add 1 minute timer with upper taps (2023/01/05) -1.00: Page to set up custom time zones (2023/01/06) \ No newline at end of file +1.00: Page to set up custom time zones (2023/01/06) +1.01: Minor code improvements diff --git a/apps/a_clock_timer/metadata.json b/apps/a_clock_timer/metadata.json index 6507857f1..1d3661501 100644 --- a/apps/a_clock_timer/metadata.json +++ b/apps/a_clock_timer/metadata.json @@ -1,7 +1,7 @@ { "id": "a_clock_timer", "name": "A Clock with Timer", - "version": "1.00", + "version": "1.01", "description": "A Clock with Timer, Map and Time Zones", "icon": "app.png", "screenshots": [{"url":"screenshot.png"},{"url":"screenshot-1.png"}], diff --git a/apps/a_speech_timer/ChangeLog b/apps/a_speech_timer/ChangeLog index 73e8a67da..d9b45a518 100644 --- a/apps/a_speech_timer/ChangeLog +++ b/apps/a_speech_timer/ChangeLog @@ -1,3 +1,4 @@ 1.00: Release (2021/12/01) 1.01: Grey font when timer is frozen (2021/12/04) 1.02: Force light theme, since the app is not designed for dark theme (2022/12/28) +1.03: Minor code improvements diff --git a/apps/a_speech_timer/metadata.json b/apps/a_speech_timer/metadata.json index fd8813991..91262896c 100644 --- a/apps/a_speech_timer/metadata.json +++ b/apps/a_speech_timer/metadata.json @@ -2,7 +2,7 @@ "id":"a_speech_timer", "name":"Speech Timer", "icon": "app.png", -"version":"1.02", +"version": "1.03", "description": "A timer designed to help keeping your speeches and presentations to time.", "tags": "tool,timer", "readme":"README.md", diff --git a/apps/about/ChangeLog b/apps/about/ChangeLog index e236e4b34..57e918ad2 100644 --- a/apps/about/ChangeLog +++ b/apps/about/ChangeLog @@ -12,3 +12,4 @@ 0.12: Actual pixels as of 29th Nov 2021 0.13: Bangle.js 2: Use setUI to add software back button 0.14: Add automatic translation of more strings +0.15: Minor code improvements diff --git a/apps/about/metadata.json b/apps/about/metadata.json index 52cd37b7d..3d9730b81 100644 --- a/apps/about/metadata.json +++ b/apps/about/metadata.json @@ -1,7 +1,7 @@ { "id": "about", "name": "About", - "version": "0.14", + "version": "0.15", "description": "Bangle.js About page - showing software version, stats, and a collaborative mural from the Bangle.js KickStarter backers", "icon": "app.png", "tags": "tool,system", diff --git a/apps/accelrec/ChangeLog b/apps/accelrec/ChangeLog index 6dd2c8a59..2254ad9ea 100644 --- a/apps/accelrec/ChangeLog +++ b/apps/accelrec/ChangeLog @@ -2,4 +2,5 @@ 0.02: Increase record time to 5 second Calculate the time moving in graph display Trigger on 1.04g now, and record 10 samples before trigger -0.03: Bangle.js 2 compatibility \ No newline at end of file +0.03: Bangle.js 2 compatibility +0.04: Minor code improvements diff --git a/apps/accelrec/metadata.json b/apps/accelrec/metadata.json index fa6030f6d..b8831c31b 100644 --- a/apps/accelrec/metadata.json +++ b/apps/accelrec/metadata.json @@ -2,7 +2,7 @@ "id": "accelrec", "name": "Acceleration Recorder", "shortName": "Accel Rec", - "version": "0.03", + "version": "0.04", "description": "This app puts the Bangle's accelerometer into 100Hz mode and reads 2 seconds worth of data after movement starts. The data can then be exported back to the PC.", "icon": "app.png", "tags": "", diff --git a/apps/acmaze/ChangeLog b/apps/acmaze/ChangeLog index b8c1ec0b5..085de3be3 100644 --- a/apps/acmaze/ChangeLog +++ b/apps/acmaze/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App! 0.02: Faster maze generation 0.03: Avoid clearing bottom widgets +0.04: Minor code improvements diff --git a/apps/acmaze/metadata.json b/apps/acmaze/metadata.json index 48635ad2f..974e882f1 100644 --- a/apps/acmaze/metadata.json +++ b/apps/acmaze/metadata.json @@ -1,7 +1,7 @@ { "id": "acmaze", "name": "AccelaMaze", "shortName":"AccelaMaze", - "version":"0.03", + "version": "0.04", "description": "Tilt the watch to roll a ball through a maze.", "icon": "app.png", "tags": "game", diff --git a/apps/activepedom/ChangeLog b/apps/activepedom/ChangeLog index 66a1e8df9..58d9bfc5f 100644 --- a/apps/activepedom/ChangeLog +++ b/apps/activepedom/ChangeLog @@ -7,3 +7,4 @@ 0.07: Added settings to be able to hide line1 and line2 so there is no visible widget 0.08: Fixed zero steps issue caused by 0.07 0.09: Prettied up user interface, decluttered graphs +0.10: Minor code improvements diff --git a/apps/activepedom/metadata.json b/apps/activepedom/metadata.json index fa1044d85..114e95b16 100644 --- a/apps/activepedom/metadata.json +++ b/apps/activepedom/metadata.json @@ -2,7 +2,7 @@ "id": "activepedom", "name": "Active Pedometer", "shortName": "Active Pedometer", - "version": "0.09", + "version": "0.10", "description": "(NOT RECOMMENDED) Pedometer that filters out arm movement and displays a step goal progress. Steps are saved to a daily file and can be viewed as graph. The `Health` app now provides step logging and graphs.", "icon": "app.png", "tags": "outdoors,widget", diff --git a/apps/agenda/ChangeLog b/apps/agenda/ChangeLog index 836810638..d1b95a702 100644 --- a/apps/agenda/ChangeLog +++ b/apps/agenda/ChangeLog @@ -14,3 +14,4 @@ 0.12: Added color field and updating clkinfo periodically (running events) 0.13: Show day of the week in date 0.14: Fixed "Today" and "Yesterday" wrongly displayed for allDay events on some time zones +0.15: Minor code improvements diff --git a/apps/agenda/metadata.json b/apps/agenda/metadata.json index 2d5864145..65993609e 100644 --- a/apps/agenda/metadata.json +++ b/apps/agenda/metadata.json @@ -1,7 +1,7 @@ { "id": "agenda", "name": "Agenda", - "version": "0.14", + "version": "0.15", "description": "Simple agenda", "icon": "agenda.png", "screenshots": [{"url":"screenshot_agenda_overview.png"}, {"url":"screenshot_agenda_event1.png"}, {"url":"screenshot_agenda_event2.png"}], diff --git a/apps/alpinenav/ChangeLog b/apps/alpinenav/ChangeLog index b3d1e0874..9e08d0e35 100644 --- a/apps/alpinenav/ChangeLog +++ b/apps/alpinenav/ChangeLog @@ -1,2 +1,3 @@ 0.01: New App! 0.02: Added adjustment for Bangle.js magnetometer heading fix +0.03: Minor code improvements diff --git a/apps/alpinenav/metadata.json b/apps/alpinenav/metadata.json index c5a0e0611..f85b80e09 100644 --- a/apps/alpinenav/metadata.json +++ b/apps/alpinenav/metadata.json @@ -1,7 +1,7 @@ { "id": "alpinenav", "name": "Alpine Nav", - "version": "0.02", + "version": "0.03", "description": "App that performs GPS monitoring to track and display position relative to a given origin in realtime", "icon": "app-icon.png", "tags": "outdoors,gps", diff --git a/apps/angles/ChangeLog b/apps/angles/ChangeLog index 2286a7f70..7727f3cc4 100644 --- a/apps/angles/ChangeLog +++ b/apps/angles/ChangeLog @@ -1 +1,2 @@ -0.01: New App! \ No newline at end of file +0.01: New App! +0.02: Minor code improvements diff --git a/apps/angles/metadata.json b/apps/angles/metadata.json index f8a90a305..3ddee427a 100644 --- a/apps/angles/metadata.json +++ b/apps/angles/metadata.json @@ -2,7 +2,7 @@ "id": "angles", "name": "Angles (Spirit Level)", "shortName": "Angles", - "version": "0.01", + "version": "0.02", "description": "Shows Angle or Relative angle in degrees (Digital Protractor/Inclinometer). Place Bangle sideways against a surface with the button facing away for best readings.", "icon": "icon.png", "screenshots": [{"url":"screenshot.png"}], diff --git a/apps/animclk/ChangeLog b/apps/animclk/ChangeLog index 76d15bdb1..00192d63b 100644 --- a/apps/animclk/ChangeLog +++ b/apps/animclk/ChangeLog @@ -3,3 +3,4 @@ 0.03: Update to use setUI 0.04: Tell clock widgets to hide. Move loadWidgets() so it only runs on startup and not on every draw. +0.05: Minor code improvements diff --git a/apps/animclk/metadata.json b/apps/animclk/metadata.json index 0b426a37d..157090315 100644 --- a/apps/animclk/metadata.json +++ b/apps/animclk/metadata.json @@ -2,7 +2,7 @@ "id": "animclk", "name": "Animated Clock", "shortName": "Anim Clock", - "version": "0.04", + "version": "0.05", "description": "An animated clock face using Mark Ferrari's amazing 8 bit game art and palette cycling: http://www.markferrari.com/art/8bit-game-art", "icon": "app.png", "type": "clock", diff --git a/apps/approxclock/ChangeLog b/apps/approxclock/ChangeLog index 9ba3e983a..b6a863560 100644 --- a/apps/approxclock/ChangeLog +++ b/apps/approxclock/ChangeLog @@ -1,4 +1,5 @@ 0.1: Initial release 0.2: Added more descriptive approximations 0.2f: Bug fixes: Incorrect hour drawn after 50 mins, incorrect quarter minute drawn after 50 mins -0.3: Added touch interaction to display exact time and date. \ No newline at end of file +0.3: Added touch interaction to display exact time and date. +0.04: Minor code improvements diff --git a/apps/approxclock/metadata.json b/apps/approxclock/metadata.json index 80e476e5b..c5861523b 100644 --- a/apps/approxclock/metadata.json +++ b/apps/approxclock/metadata.json @@ -1,7 +1,7 @@ { "id": "approxclock", "name": "Approximate Clock", "shortName" : "Approx Clock", - "version": "0.3", + "version": "0.04", "icon": "app.png", "description": "A really basic spelled out time display for people looking for the vague time at a glance.", "readme": "readme.md", diff --git a/apps/arrow/ChangeLog b/apps/arrow/ChangeLog index edd5ccb3d..4d3a6f1a8 100644 --- a/apps/arrow/ChangeLog +++ b/apps/arrow/ChangeLog @@ -4,3 +4,4 @@ 0.04: removed LED1.write() as it was keeping LCD on 0.05: Turn compass off when screen off Calibrate at start if no info +0.06: Minor code improvements diff --git a/apps/arrow/metadata.json b/apps/arrow/metadata.json index bf462e33b..58b6f84c1 100644 --- a/apps/arrow/metadata.json +++ b/apps/arrow/metadata.json @@ -1,7 +1,7 @@ { "id": "arrow", "name": "Arrow Compass", - "version": "0.05", + "version": "0.06", "description": "Moving arrow compass that points North, shows heading, with tilt correction. Based on jeffmer's Navigation Compass", "icon": "arrow.png", "type": "app", diff --git a/apps/astrocalc/ChangeLog b/apps/astrocalc/ChangeLog index 156cf17bf..2831b2721 100644 --- a/apps/astrocalc/ChangeLog +++ b/apps/astrocalc/ChangeLog @@ -4,3 +4,4 @@ 0.04: Compatibility with Bangle.js 2, get location from My Location 0.05: Enable widgets 0.06: Fix azimuth (bug #2651), only show degrees +0.07: Minor code improvements diff --git a/apps/astrocalc/metadata.json b/apps/astrocalc/metadata.json index 09dc53170..4b9d1c8a0 100644 --- a/apps/astrocalc/metadata.json +++ b/apps/astrocalc/metadata.json @@ -1,7 +1,7 @@ { "id": "astrocalc", "name": "Astrocalc", - "version": "0.06", + "version": "0.07", "description": "Calculates interesting information on the sun like sunset and sunrise and moon cycles for the current day based on your location from MyLocation app", "icon": "astrocalc.png", "tags": "app,sun,moon,cycles,tool,outdoors", diff --git a/apps/ballmaze/ChangeLog b/apps/ballmaze/ChangeLog index de6240f46..fedae2fc5 100644 --- a/apps/ballmaze/ChangeLog +++ b/apps/ballmaze/ChangeLog @@ -1,2 +1,3 @@ 0.01: New App! -0.02: Set LCD timeout for Espruino 2v10 compatibility \ No newline at end of file +0.02: Set LCD timeout for Espruino 2v10 compatibility +0.03: Minor code improvements diff --git a/apps/ballmaze/metadata.json b/apps/ballmaze/metadata.json index 3223789d4..fc011623a 100644 --- a/apps/ballmaze/metadata.json +++ b/apps/ballmaze/metadata.json @@ -1,7 +1,7 @@ { "id": "ballmaze", "name": "Ball Maze", - "version": "0.02", + "version": "0.03", "description": "Navigate a ball through a maze by tilting your watch.", "icon": "icon.png", "type": "app", diff --git a/apps/banglebridge/ChangeLog b/apps/banglebridge/ChangeLog new file mode 100644 index 000000000..62542be60 --- /dev/null +++ b/apps/banglebridge/ChangeLog @@ -0,0 +1,2 @@ +0.01: New app! +0.02: Minor code improvements diff --git a/apps/banglebridge/metadata.json b/apps/banglebridge/metadata.json index 8a9eaa6e4..86e1face0 100644 --- a/apps/banglebridge/metadata.json +++ b/apps/banglebridge/metadata.json @@ -2,7 +2,7 @@ "id": "banglebridge", "name": "BangleBridge", "shortName": "BangleBridge", - "version": "0.01", + "version": "0.02", "description": "Widget that allows Bangle Js to record pair and end data using Bluetooth Low Energy in combination with the BangleBridge Android App", "icon": "widget.png", "type": "widget", diff --git a/apps/banglexercise/ChangeLog b/apps/banglexercise/ChangeLog index 6cf589541..362c24378 100644 --- a/apps/banglexercise/ChangeLog +++ b/apps/banglexercise/ChangeLog @@ -3,3 +3,4 @@ Add more feedback to the user about the exercises Clean up code 0.03: Add software back button on main menu +0.04: Minor code improvements diff --git a/apps/banglexercise/metadata.json b/apps/banglexercise/metadata.json index f4ce1894b..2638eb195 100644 --- a/apps/banglexercise/metadata.json +++ b/apps/banglexercise/metadata.json @@ -1,7 +1,7 @@ { "id": "banglexercise", "name": "BanglExercise", "shortName":"BanglExercise", - "version":"0.03", + "version": "0.04", "description": "Can automatically track exercises while wearing the Bangle.js watch.", "icon": "app.png", "screenshots": [{"url":"screenshot.png"}], diff --git a/apps/barcode/ChangeLog b/apps/barcode/ChangeLog index 7ab5d8587..4974b7029 100644 --- a/apps/barcode/ChangeLog +++ b/apps/barcode/ChangeLog @@ -8,3 +8,4 @@ 0.08: Step count stored in memory to survive reloads. Now shows step count daily and since last reboot. 0.09: NOW it really should reset daily (instead of every other day...) 0.10: Tell clock widgets to hide. +0.11: Minor code improvements diff --git a/apps/barcode/metadata.json b/apps/barcode/metadata.json index 3f6bf06e6..007be2778 100644 --- a/apps/barcode/metadata.json +++ b/apps/barcode/metadata.json @@ -2,7 +2,7 @@ "name": "Barcode clock", "shortName":"Barcode clock", "icon": "barcode.icon.png", - "version":"0.10", + "version": "0.11", "description": "EAN-8 compatible barcode clock.", "tags": "barcode,ean,ean-8,watchface,clock,clockface", "type": "clock", diff --git a/apps/batchart/ChangeLog b/apps/batchart/ChangeLog index 394622c78..af80ff046 100644 --- a/apps/batchart/ChangeLog +++ b/apps/batchart/ChangeLog @@ -10,3 +10,4 @@ 0.10: Remove widget icon and improve listener and setInterval handling for widget (might help with https://github.com/espruino/BangleApps/issues/381) 0.11: Initial port to the BangleJS2 0.12: Remove debug log +0.13: Minor code improvements diff --git a/apps/batchart/metadata.json b/apps/batchart/metadata.json index be01ca767..dda43fac4 100644 --- a/apps/batchart/metadata.json +++ b/apps/batchart/metadata.json @@ -2,7 +2,7 @@ "id": "batchart", "name": "Battery Chart", "shortName": "Battery Chart", - "version": "0.12", + "version": "0.13", "description": "A widget and an app for recording and visualizing battery percentage over time.", "icon": "app.png", "tags": "app,widget,battery,time,record,chart,tool", diff --git a/apps/battleship/ChangeLog b/apps/battleship/ChangeLog index 5560f00bc..7727f3cc4 100644 --- a/apps/battleship/ChangeLog +++ b/apps/battleship/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Minor code improvements diff --git a/apps/battleship/metadata.json b/apps/battleship/metadata.json index 12e92c1d7..46399c68f 100644 --- a/apps/battleship/metadata.json +++ b/apps/battleship/metadata.json @@ -1,7 +1,7 @@ { "id": "battleship", "name": "Battleship", - "version": "0.01", + "version": "0.02", "description": "The classic game of battleship", "icon": "battleship-icon.png", "tags": "game", diff --git a/apps/beebclock/ChangeLog b/apps/beebclock/ChangeLog index 84ec7c1d7..4646b4010 100644 --- a/apps/beebclock/ChangeLog +++ b/apps/beebclock/ChangeLog @@ -4,3 +4,4 @@ 0.04: Update to use Bangle.setUI instead of setWatch 0.05: Avoid 'loadWidgets' at LCD on, which will cause memory leak Avoid clearTimeout() usage, as it may break other widgets +0.06: Minor code improvements diff --git a/apps/beebclock/metadata.json b/apps/beebclock/metadata.json index 31316a80c..5790cf564 100644 --- a/apps/beebclock/metadata.json +++ b/apps/beebclock/metadata.json @@ -1,7 +1,7 @@ { "id": "beebclock", "name": "Beeb Clock", - "version": "0.05", + "version": "0.06", "description": "Clock face that may be coincidentally familiar to BBC viewers", "icon": "beebclock.png", "type": "clock", diff --git a/apps/berlinc/ChangeLog b/apps/berlinc/ChangeLog index 1a0a9c9cf..6820ab11d 100644 --- a/apps/berlinc/ChangeLog +++ b/apps/berlinc/ChangeLog @@ -5,4 +5,5 @@ Now show widgets Make compatible with themes, and Bangle.js 2 0.06: Enable fastloading -0.07: Adds fullscreen mode setting \ No newline at end of file +0.07: Adds fullscreen mode setting +0.08: Minor code improvements diff --git a/apps/berlinc/metadata.json b/apps/berlinc/metadata.json index 85567868b..983602d90 100644 --- a/apps/berlinc/metadata.json +++ b/apps/berlinc/metadata.json @@ -1,7 +1,7 @@ { "id": "berlinc", "name": "Berlin Clock", - "version": "0.07", + "version": "0.08", "description": "Berlin Clock (see https://en.wikipedia.org/wiki/Mengenlehreuhr)", "icon": "berlin-clock.png", "type": "clock", diff --git a/apps/binaryclk/ChangeLog b/apps/binaryclk/ChangeLog index 7b6810faa..840be4824 100644 --- a/apps/binaryclk/ChangeLog +++ b/apps/binaryclk/ChangeLog @@ -1,3 +1,4 @@ 0.01: Added app 0.02: Removed unneeded squares 0.03: Added settings with fullscreen option +0.04: Minor code improvements diff --git a/apps/binaryclk/metadata.json b/apps/binaryclk/metadata.json index b4ddc6544..46b1fc957 100644 --- a/apps/binaryclk/metadata.json +++ b/apps/binaryclk/metadata.json @@ -1,7 +1,7 @@ { "id": "binaryclk", "name": "Bin Clock", - "version": "0.03", + "version": "0.04", "description": "Clock face to show binary time in 24 hr format", "icon": "app-icon.png", "screenshots": [{"url":"screenshot.png"}], diff --git a/apps/binwatch/ChangeLog b/apps/binwatch/ChangeLog index e355155b3..a7913c299 100644 --- a/apps/binwatch/ChangeLog +++ b/apps/binwatch/ChangeLog @@ -4,3 +4,4 @@ 0.04: corrected format of background image (raw binary) 0.05: move setUI() up before draw() as to not have a false positive 'sanity check' when building on github. +0.06: Minor code improvements diff --git a/apps/binwatch/metadata.json b/apps/binwatch/metadata.json index 0b4dbc697..85881d46b 100644 --- a/apps/binwatch/metadata.json +++ b/apps/binwatch/metadata.json @@ -3,7 +3,7 @@ "shortName":"BinWatch", "icon": "app.png", "screenshots": [{"url":"screenshot.png"}], - "version":"0.05", + "version": "0.06", "supports": ["BANGLEJS2"], "readme": "README.md", "allow_emulator":true, diff --git a/apps/boot/ChangeLog b/apps/boot/ChangeLog index 6349d9213..95a9ff2c6 100644 --- a/apps/boot/ChangeLog +++ b/apps/boot/ChangeLog @@ -68,3 +68,4 @@ 0.57: Handle the whitelist being disabled 0.58: "Make Connectable" temporarily bypasses the whitelist 0.59: Whitelist: Try to resolve peer addresses using NRF.resolveAddress() - for 2v19 or 2v18 cutting edge builds +0.60: Minor code improvements diff --git a/apps/boot/metadata.json b/apps/boot/metadata.json index 45f531776..07e999797 100644 --- a/apps/boot/metadata.json +++ b/apps/boot/metadata.json @@ -1,7 +1,7 @@ { "id": "boot", "name": "Bootloader", - "version": "0.59", + "version": "0.60", "description": "This is needed by Bangle.js to automatically load the clock, menu, widgets and settings", "icon": "bootloader.png", "type": "bootloader", diff --git a/apps/bradbury/ChangeLog b/apps/bradbury/ChangeLog new file mode 100644 index 000000000..62542be60 --- /dev/null +++ b/apps/bradbury/ChangeLog @@ -0,0 +1,2 @@ +0.01: New app! +0.02: Minor code improvements diff --git a/apps/bradbury/metadata.json b/apps/bradbury/metadata.json index 456daa381..6b4fb2171 100644 --- a/apps/bradbury/metadata.json +++ b/apps/bradbury/metadata.json @@ -3,7 +3,7 @@ "shortName":"Bradbury", "icon": "app.png", "screenshots": [{"url":"screenshot.png"}], - "version":"0.01", + "version": "0.02", "description": "A watch face based on the classic Seiko model worn by one of my favorite authors. I didn't follow the original lcd layout exactly, opting for larger font for more easily readable time, and adding date, battery level, and step count; read from the device. Tapping the screen toggles visibility of widgets.", "type": "clock", "supports":["BANGLEJS2"], diff --git a/apps/breath/ChangeLog b/apps/breath/ChangeLog new file mode 100644 index 000000000..62542be60 --- /dev/null +++ b/apps/breath/ChangeLog @@ -0,0 +1,2 @@ +0.01: New app! +0.02: Minor code improvements diff --git a/apps/breath/metadata.json b/apps/breath/metadata.json index 070a9a79a..993ffc51d 100644 --- a/apps/breath/metadata.json +++ b/apps/breath/metadata.json @@ -2,7 +2,7 @@ "id": "breath", "name": "Breathing App", "shortName": "Breathing App", - "version": "0.01", + "version": "0.02", "description": "app to aid relaxation and train breath syncronicity using haptics and visualisation, also displays HR", "icon": "app-icon.png", "tags": "tools,health", diff --git a/apps/bthrv/ChangeLog b/apps/bthrv/ChangeLog index eefadac78..ef9d84bdb 100644 --- a/apps/bthrv/ChangeLog +++ b/apps/bthrv/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App! 0.02: Write available data on reset or kill 0.03: Buzz short on every finished measurement and longer if all are done +0.04: Minor code improvements diff --git a/apps/bthrv/metadata.json b/apps/bthrv/metadata.json index 7c57be682..9fff1589c 100644 --- a/apps/bthrv/metadata.json +++ b/apps/bthrv/metadata.json @@ -2,7 +2,7 @@ "id": "bthrv", "name": "Bluetooth Heart Rate variance calculator", "shortName": "BT HRV", - "version": "0.03", + "version": "0.04", "description": "Calculates HRV from a a BT HRM with interval data", "icon": "app.png", "type": "app", diff --git a/apps/calclock/ChangeLog b/apps/calclock/ChangeLog index ee9daa17e..effa87c4b 100644 --- a/apps/calclock/ChangeLog +++ b/apps/calclock/ChangeLog @@ -6,3 +6,4 @@ 0.06: Improved multi-line locations & titles 0.07: Buzz 30, 15 and 1 minute before an event 0.08: No buzz during quiet hours & tweaked 30-minute buzz +0.09: Minor code improvements diff --git a/apps/calclock/metadata.json b/apps/calclock/metadata.json index 4334a4476..c339e8ce0 100644 --- a/apps/calclock/metadata.json +++ b/apps/calclock/metadata.json @@ -2,7 +2,7 @@ "id": "calclock", "name": "Calendar Clock", "shortName": "CalClock", - "version": "0.08", + "version": "0.09", "description": "Show the current and upcoming events synchronized from Gadgetbridge", "icon": "calclock.png", "type": "clock", diff --git a/apps/calendar/ChangeLog b/apps/calendar/ChangeLog index bd8e6117b..9a4f81491 100644 --- a/apps/calendar/ChangeLog +++ b/apps/calendar/ChangeLog @@ -18,3 +18,4 @@ 0.16: Add menu to fast open settings to edit holidays Display Widgets in menus 0.17: Load holidays before events so the latter is not overpainted +0.18: Minor code improvements diff --git a/apps/calendar/metadata.json b/apps/calendar/metadata.json index 895f8f7aa..468bceabb 100644 --- a/apps/calendar/metadata.json +++ b/apps/calendar/metadata.json @@ -1,7 +1,7 @@ { "id": "calendar", "name": "Calendar", - "version": "0.17", + "version": "0.18", "description": "Monthly calendar, displays holidays uploaded from the web interface and scheduled events.", "icon": "calendar.png", "screenshots": [{"url":"screenshot_calendar.png"}], diff --git a/apps/carcrazy/ChangeLog b/apps/carcrazy/ChangeLog index f697617b4..dffd7e209 100644 --- a/apps/carcrazy/ChangeLog +++ b/apps/carcrazy/ChangeLog @@ -1,3 +1,4 @@ 0.01: Car Crazy is now avialable for testing in beta! 0.02: 10 Levels are now added making the game harder as it goes along. Some of the levels include multiple cars and faster cars. More levels coming soon. 0.03: Settings are now added so that you can reset your high score. +0.04: Minor code improvements diff --git a/apps/carcrazy/metadata.json b/apps/carcrazy/metadata.json index 3898de962..4a1b359c8 100644 --- a/apps/carcrazy/metadata.json +++ b/apps/carcrazy/metadata.json @@ -2,7 +2,7 @@ "id": "carcrazy", "name": "Car Crazy", "shortName": "Car Crazy", - "version": "0.03", + "version": "0.04", "description": "A simple car game where you try to avoid the other cars by tilting your wrist left and right. Hold down button 2 to start.", "icon": "carcrash.png", "tags": "game", diff --git a/apps/cards/ChangeLog b/apps/cards/ChangeLog index 24c1bf8ff..484ef9917 100644 --- a/apps/cards/ChangeLog +++ b/apps/cards/ChangeLog @@ -1,2 +1,3 @@ 0.01: Simple app to display loyalty cards 0.02: Hiding widgets while showing the code +0.03: Minor code improvements diff --git a/apps/cards/metadata.json b/apps/cards/metadata.json index 810741d5f..74bfaa2b3 100644 --- a/apps/cards/metadata.json +++ b/apps/cards/metadata.json @@ -1,7 +1,7 @@ { "id": "cards", "name": "Cards", - "version": "0.02", + "version": "0.03", "description": "Display loyalty cards", "icon": "app.png", "screenshots": [{"url":"screenshot_cards_overview.png"}, {"url":"screenshot_cards_card1.png"}, {"url":"screenshot_cards_card2.png"}, {"url":"screenshot_cards_barcode.png"}, {"url":"screenshot_cards_qrcode.png"}], diff --git a/apps/chimer/ChangeLog b/apps/chimer/ChangeLog index 6c6f5312e..7af6c18ea 100644 --- a/apps/chimer/ChangeLog +++ b/apps/chimer/ChangeLog @@ -2,3 +2,4 @@ 0.02: Fixed some sleep bugs. Added a sleep mode toggle 0.03: Reduce busy-loop and code 0.04: Separate buzz-time and sleep-time +0.05: Minor code improvements diff --git a/apps/chimer/metadata.json b/apps/chimer/metadata.json index cfa0da00f..9d2d0a698 100644 --- a/apps/chimer/metadata.json +++ b/apps/chimer/metadata.json @@ -1,7 +1,7 @@ { "id": "chimer", "name": "Chimer", - "version": "0.04", + "version": "0.05", "description": "A fork of Hour Chime that adds extra features such as: \n - Buzz or beep on every 60, 30 or 15 minutes. \n - Repeat Chime up to 3 times \n - Set hours to disable chime", "icon": "widget.png", "type": "widget", diff --git a/apps/chrono/ChangeLog b/apps/chrono/ChangeLog index 5560f00bc..7727f3cc4 100644 --- a/apps/chrono/ChangeLog +++ b/apps/chrono/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Minor code improvements diff --git a/apps/chrono/metadata.json b/apps/chrono/metadata.json index 59fc1dbeb..aa8a68b20 100644 --- a/apps/chrono/metadata.json +++ b/apps/chrono/metadata.json @@ -2,7 +2,7 @@ "id": "chrono", "name": "Chrono", "shortName": "Chrono", - "version": "0.01", + "version": "0.02", "description": "Single click BTN1 to add 5 minutes. Single click BTN2 to add 30 seconds. Single click BTN3 to add 5 seconds. Tap to pause or play to timer. Double click BTN1 to reset. When timer finishes the watch vibrates.", "icon": "chrono.png", "tags": "tool", diff --git a/apps/circlesclock/ChangeLog b/apps/circlesclock/ChangeLog index 9838ae409..4e10bfe49 100644 --- a/apps/circlesclock/ChangeLog +++ b/apps/circlesclock/ChangeLog @@ -42,3 +42,4 @@ 0.23: Setting circles colours per clkinfo and not position 0.24: Using suggested color from clock_info if set as default and available 0.25: Use clock_info module as an app +0.26: Minor code improvements diff --git a/apps/circlesclock/metadata.json b/apps/circlesclock/metadata.json index f96a7872c..713b237ac 100644 --- a/apps/circlesclock/metadata.json +++ b/apps/circlesclock/metadata.json @@ -1,7 +1,7 @@ { "id": "circlesclock", "name": "Circles clock", "shortName":"Circles clock", - "version":"0.25", + "version": "0.26", "description": "A clock with three or four circles for different data at the bottom in a probably familiar style", "icon": "app.png", "screenshots": [{"url":"screenshot-dark.png"}, {"url":"screenshot-light.png"}, {"url":"screenshot-dark-4.png"}, {"url":"screenshot-light-4.png"}], diff --git a/apps/cliclockJS2Enhanced/ChangeLog b/apps/cliclockJS2Enhanced/ChangeLog index f4d146d5f..7e0b4fd69 100644 --- a/apps/cliclockJS2Enhanced/ChangeLog +++ b/apps/cliclockJS2Enhanced/ChangeLog @@ -1,3 +1,4 @@ 0.01: Submitted to App Loader 0.02: Removed unneded code, added HID controlls thanks to t0m1o1 for his code :p 0.03: Load widgets after Bangle.setUI to ensure widgets know if they're on a clock or not (fix #970) +0.04: Minor code improvements diff --git a/apps/cliclockJS2Enhanced/metadata.json b/apps/cliclockJS2Enhanced/metadata.json index f428650a7..dcbf5da63 100644 --- a/apps/cliclockJS2Enhanced/metadata.json +++ b/apps/cliclockJS2Enhanced/metadata.json @@ -2,7 +2,7 @@ "id": "cliclockJS2Enhanced", "name": "Commandline-Clock JS2 Enhanced", "shortName": "CLI-Clock JS2", - "version": "0.03", + "version": "0.04", "description": "Simple CLI-Styled Clock with enhancements. Modes that are hard to use and unneded are removed (BPM, battery info, memory ect) credit to hughbarney for the original code and design. Also added HID media controlls, just swipe on the clock face to controll the media! Gadgetbride support coming soon(hopefully) Thanks to t0m1o1 for media controls!", "icon": "app.png", "screenshots": [{"url":"screengrab.png"}], diff --git a/apps/clicompleteclk/ChangeLog b/apps/clicompleteclk/ChangeLog index 50c84593e..436549f8a 100644 --- a/apps/clicompleteclk/ChangeLog +++ b/apps/clicompleteclk/ChangeLog @@ -1,3 +1,4 @@ 0.01: New clock! 0.02: Load steps from Health Tracking app (if installed) 0.03: ... +0.04: Minor code improvements diff --git a/apps/clicompleteclk/metadata.json b/apps/clicompleteclk/metadata.json index 8753c3c37..4d4f7e5ef 100644 --- a/apps/clicompleteclk/metadata.json +++ b/apps/clicompleteclk/metadata.json @@ -2,7 +2,7 @@ "id": "clicompleteclk", "name": "CLI complete clock", "shortName":"CLI cmplt clock", - "version":"0.03", + "version": "0.04", "description": "Command line styled clock with lots of information", "icon": "app.png", "allow_emulator": true, diff --git a/apps/cliock/ChangeLog b/apps/cliock/ChangeLog index 68249b622..83bd2eb39 100644 --- a/apps/cliock/ChangeLog +++ b/apps/cliock/ChangeLog @@ -8,3 +8,4 @@ 0.14: Fix BTN1 (fix #853) Add light/dark theme support 0.15: Load widgets after Bangle.setUI to ensure widgets know if they're on a clock or not (fix #970) +0.16: Minor code improvements diff --git a/apps/cliock/metadata.json b/apps/cliock/metadata.json index 2df48892e..ff50e3869 100644 --- a/apps/cliock/metadata.json +++ b/apps/cliock/metadata.json @@ -2,7 +2,7 @@ "id": "cliock", "name": "Commandline-Clock", "shortName": "CLI-Clock", - "version": "0.15", + "version": "0.16", "description": "Simple CLI-Styled Clock", "icon": "app.png", "screenshots": [{"url":"screenshot_cli.png"}], diff --git a/apps/clkinfosunrise/ChangeLog b/apps/clkinfosunrise/ChangeLog index 86e7a7fa8..686d2ffb3 100644 --- a/apps/clkinfosunrise/ChangeLog +++ b/apps/clkinfosunrise/ChangeLog @@ -2,3 +2,4 @@ 0.02: Use 'modules/suncalc.js' to avoid it being copied 8 times for different apps Add a 'time' clockinfo that also displays a percentage of day left 0.03: Change 3rd mode to show the time to next sunrise/sunset time (not actual time) +0.04: Minor code improvements diff --git a/apps/clkinfosunrise/metadata.json b/apps/clkinfosunrise/metadata.json index 7bcbb289b..dfba179b1 100644 --- a/apps/clkinfosunrise/metadata.json +++ b/apps/clkinfosunrise/metadata.json @@ -1,6 +1,6 @@ { "id": "clkinfosunrise", "name": "Sunrise Clockinfo", - "version":"0.03", + "version": "0.04", "description": "For clocks that display 'clockinfo' (messages that can be cycled through using the clock_info module) this displays sunrise and sunset based on the location from the 'My Location' app", "icon": "app.png", "type": "clkinfo", diff --git a/apps/color_catalog/ChangeLog b/apps/color_catalog/ChangeLog index b79d0c85b..1ae723feb 100644 --- a/apps/color_catalog/ChangeLog +++ b/apps/color_catalog/ChangeLog @@ -1 +1,2 @@ 0.01: 1st ver,RGB565 and RGB888 colors in a common UI/UX +0.02: Minor code improvements diff --git a/apps/color_catalog/metadata.json b/apps/color_catalog/metadata.json index 3146a146f..0669e6b0b 100644 --- a/apps/color_catalog/metadata.json +++ b/apps/color_catalog/metadata.json @@ -2,7 +2,7 @@ "id": "color_catalog", "name": "Colors Catalog", "shortName": "Colors Catalog", - "version": "0.01", + "version": "0.02", "description": "Displays RGB565 and RGB888 colors, its name and code in screen.", "icon": "app.png", "tags": "Color,input,buttons,touch,UI", diff --git a/apps/colorful_clock/ChangeLog b/apps/colorful_clock/ChangeLog index 54ee389e3..e38a7c5a5 100644 --- a/apps/colorful_clock/ChangeLog +++ b/apps/colorful_clock/ChangeLog @@ -1,3 +1,4 @@ ... 0.03: First update with ChangeLog Added 0.04: Tell clock widgets to hide. +0.05: Minor code improvements diff --git a/apps/colorful_clock/metadata.json b/apps/colorful_clock/metadata.json index 237acf81c..9e77e12c5 100644 --- a/apps/colorful_clock/metadata.json +++ b/apps/colorful_clock/metadata.json @@ -1,7 +1,7 @@ { "id": "colorful_clock", "name": "Colorful Analog Clock", "shortName":"Colorful Clock", - "version":"0.04", + "version": "0.05", "description": "a colorful analog clock", "icon": "app-icon.png", "type": "clock", diff --git a/apps/configurable_clock/ChangeLog b/apps/configurable_clock/ChangeLog index 9d55c1a91..59708756a 100644 --- a/apps/configurable_clock/ChangeLog +++ b/apps/configurable_clock/ChangeLog @@ -1,3 +1,4 @@ ... 0.02: First update with ChangeLog Added 0.03: Tell clock widgets to hide. +0.04: Minor code improvements diff --git a/apps/configurable_clock/metadata.json b/apps/configurable_clock/metadata.json index 687a5b212..246a5dc21 100644 --- a/apps/configurable_clock/metadata.json +++ b/apps/configurable_clock/metadata.json @@ -1,7 +1,7 @@ { "id": "configurable_clock", "name": "Configurable Analog Clock", "shortName":"Configurable Clock", - "version":"0.03", + "version": "0.04", "description": "an analog clock with several kinds of faces, hands and colors to choose from", "icon": "app-icon.png", "type": "clock", diff --git a/apps/contacts/ChangeLog b/apps/contacts/ChangeLog index 5560f00bc..7727f3cc4 100644 --- a/apps/contacts/ChangeLog +++ b/apps/contacts/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Minor code improvements diff --git a/apps/contacts/metadata.json b/apps/contacts/metadata.json index 1228fd0bf..cbd3bf019 100644 --- a/apps/contacts/metadata.json +++ b/apps/contacts/metadata.json @@ -1,6 +1,6 @@ { "id": "contacts", "name": "Contacts", - "version":"0.01", + "version": "0.02", "description": "Provides means of storing user contacts, viewing/editing them on device and from the App loader", "icon": "app.png", "tags": "tool", diff --git a/apps/contourclock/ChangeLog b/apps/contourclock/ChangeLog index 2fa26b89a..6078b4ff3 100644 --- a/apps/contourclock/ChangeLog +++ b/apps/contourclock/ChangeLog @@ -11,3 +11,4 @@ 0.29: Fixed a bug that would leave old font files in storage. 0.30: Added options to show widgets and date on twist and tap. New fonts. 0.31: Bugfix, no more freeze. +0.32: Minor code improvements diff --git a/apps/contourclock/metadata.json b/apps/contourclock/metadata.json index 5c97ce933..61c0f5643 100644 --- a/apps/contourclock/metadata.json +++ b/apps/contourclock/metadata.json @@ -1,7 +1,7 @@ { "id": "contourclock", "name": "Contour Clock", "shortName" : "Contour Clock", - "version":"0.31", + "version": "0.32", "icon": "app.png", "readme": "README.md", "description": "A Minimalist clockface with large Digits.", diff --git a/apps/coretemp/ChangeLog b/apps/coretemp/ChangeLog index 7386bbc35..30c775a49 100644 --- a/apps/coretemp/ChangeLog +++ b/apps/coretemp/ChangeLog @@ -2,3 +2,4 @@ 0.02: Cleanup interface and add settings, widget, add skin temp reporting. 0.03: Move code for recording to this app 0.04: Use default Bangle formatter for booleans +0.05: Minor code improvements diff --git a/apps/coretemp/metadata.json b/apps/coretemp/metadata.json index 87cb42722..2b7de0bf0 100644 --- a/apps/coretemp/metadata.json +++ b/apps/coretemp/metadata.json @@ -1,7 +1,7 @@ { "id": "coretemp", "name": "CoreTemp", - "version": "0.04", + "version": "0.05", "description": "Display CoreTemp device sensor data", "icon": "coretemp.png", "type": "app", diff --git a/apps/cycling/ChangeLog b/apps/cycling/ChangeLog index ec66c5568..b7e50d38d 100644 --- a/apps/cycling/ChangeLog +++ b/apps/cycling/ChangeLog @@ -1 +1,2 @@ 0.01: Initial version +0.02: Minor code improvements diff --git a/apps/cycling/metadata.json b/apps/cycling/metadata.json index caf93eda3..95c0ca068 100644 --- a/apps/cycling/metadata.json +++ b/apps/cycling/metadata.json @@ -2,7 +2,7 @@ "id": "cycling", "name": "Bangle Cycling", "shortName": "Cycling", - "version": "0.01", + "version": "0.02", "description": "Display live values from a BLE CSC sensor", "icon": "icons8-cycling-48.png", "tags": "outdoors,exercise,ble,bluetooth", diff --git a/apps/daisy/ChangeLog b/apps/daisy/ChangeLog index 751164c07..e9568acfc 100644 --- a/apps/daisy/ChangeLog +++ b/apps/daisy/ChangeLog @@ -8,3 +8,4 @@ 0.08: fix idle timer always getting set to true 0.09: Use 'modules/suncalc.js' to avoid it being copied 8 times for different apps 0.10: Use widget_utils. +0.11: Minor code improvements diff --git a/apps/daisy/metadata.json b/apps/daisy/metadata.json index 471f8e56f..a292ef777 100644 --- a/apps/daisy/metadata.json +++ b/apps/daisy/metadata.json @@ -1,6 +1,6 @@ { "id": "daisy", "name": "Daisy", - "version":"0.10", + "version": "0.11", "dependencies": {"mylocation":"app"}, "description": "A beautiful digital clock with large ring guage, idle timer and a cyclic information line that includes, day, date, steps, battery, sunrise and sunset times", "icon": "app.png", diff --git a/apps/dane_tcr/ChangeLog b/apps/dane_tcr/ChangeLog index 69424b1f4..05ef79052 100644 --- a/apps/dane_tcr/ChangeLog +++ b/apps/dane_tcr/ChangeLog @@ -6,3 +6,4 @@ 0.06: remove app image as it is unused 0.07: Bump version number for change to apps.json causing 404 on upload 0.08: Use default Bangle formatter for booleans +0.09: Minor code improvements diff --git a/apps/dane_tcr/metadata.json b/apps/dane_tcr/metadata.json index 5527c846d..c6a649f0e 100644 --- a/apps/dane_tcr/metadata.json +++ b/apps/dane_tcr/metadata.json @@ -2,7 +2,7 @@ "id": "dane_tcr", "name": "DANE Touch Launcher", "shortName": "DANE Toucher", - "version": "0.08", + "version": "0.09", "description": "Touch enable left to right launcher in the style of the DANE Watchface", "icon": "app.png", "type": "launch", diff --git a/apps/devstopwatch/ChangeLog b/apps/devstopwatch/ChangeLog index 7e90e061e..c1a645cf8 100644 --- a/apps/devstopwatch/ChangeLog +++ b/apps/devstopwatch/ChangeLog @@ -5,4 +5,5 @@ realigned quick n dirty screen positions help adjusted to fit bangle1 & bangle2 screen-size with widgets fixed bangle2 colors for chrono and last lap highlight - added screen for bangle2 and a small README \ No newline at end of file + added screen for bangle2 and a small README +0.05: Minor code improvements diff --git a/apps/devstopwatch/metadata.json b/apps/devstopwatch/metadata.json index c4b6c7a67..f7d3e4f06 100644 --- a/apps/devstopwatch/metadata.json +++ b/apps/devstopwatch/metadata.json @@ -2,7 +2,7 @@ "id": "devstopwatch", "name": "Dev Stopwatch", "shortName": "Dev Stopwatch", - "version": "0.04", + "version": "0.05", "description": "Stopwatch with 5 laps supported (cyclically replaced)", "icon": "app.png", "tags": "stopwatch,chrono,timer,chronometer", diff --git a/apps/diceroll/ChangeLog b/apps/diceroll/ChangeLog index 89dff4011..284e78368 100644 --- a/apps/diceroll/ChangeLog +++ b/apps/diceroll/ChangeLog @@ -1 +1,2 @@ -0.01: App created \ No newline at end of file +0.01: App created +0.02: Minor code improvements diff --git a/apps/diceroll/metadata.json b/apps/diceroll/metadata.json index 81a2f8bfd..256ad8a80 100644 --- a/apps/diceroll/metadata.json +++ b/apps/diceroll/metadata.json @@ -2,7 +2,7 @@ "name": "Dice-n-Roll", "shortName":"Dice-n-Roll", "icon": "app.png", - "version":"0.01", + "version": "0.02", "description": "A dice app with a few different dice.", "screenshots": [{"url":"diceroll_screenshot.png"}], "tags": "game", diff --git a/apps/distortclk/ChangeLog b/apps/distortclk/ChangeLog index 4c7291526..11be002af 100644 --- a/apps/distortclk/ChangeLog +++ b/apps/distortclk/ChangeLog @@ -1,2 +1,3 @@ 0.01: New face! 0.02: Improved clock +0.03: Minor code improvements diff --git a/apps/distortclk/metadata.json b/apps/distortclk/metadata.json index 125dac590..cd1bf9d4d 100644 --- a/apps/distortclk/metadata.json +++ b/apps/distortclk/metadata.json @@ -2,7 +2,7 @@ "id": "distortclk", "name": "Distort Clock", "shortName":"Distort Clock", - "version": "0.02", + "version": "0.03", "description": "A clockface", "icon": "app.png", "type": "clock", diff --git a/apps/dotclock/ChangeLog b/apps/dotclock/ChangeLog index 563db87e7..cb2e8bd49 100644 --- a/apps/dotclock/ChangeLog +++ b/apps/dotclock/ChangeLog @@ -1,3 +1,4 @@ 0.01: Based on the Analog Clock app, minimal dot 0.02: Remove hardcoded hour buzz (you can install widchime if you miss it) 0.03: Use setUI, adjust for themes and different size screens +0.04: Minor code improvements diff --git a/apps/dotclock/metadata.json b/apps/dotclock/metadata.json index 396e63917..e8d7415fd 100644 --- a/apps/dotclock/metadata.json +++ b/apps/dotclock/metadata.json @@ -1,7 +1,7 @@ { "id": "dotclock", "name": "Dot Clock", - "version": "0.03", + "version": "0.04", "description": "A Minimal Dot Analog Clock", "icon": "clock-dot.png", "type": "clock", diff --git a/apps/doztime/ChangeLog b/apps/doztime/ChangeLog index 77d82eff9..7b645df00 100644 --- a/apps/doztime/ChangeLog +++ b/apps/doztime/ChangeLog @@ -5,3 +5,4 @@ 0.05: extraneous comments and code removed display improved now supports Adjust Clock widget, if installed +0.06: Minor code improvements diff --git a/apps/doztime/metadata.json b/apps/doztime/metadata.json index a05bf1470..83be15724 100644 --- a/apps/doztime/metadata.json +++ b/apps/doztime/metadata.json @@ -2,7 +2,7 @@ "id": "doztime", "name": "Dozenal Digital Time", "shortName": "Dozenal Digital", - "version": "0.05", + "version": "0.06", "description": "A dozenal Holocene calendar and dozenal diurnal digital clock", "icon": "app.png", "type": "clock", diff --git a/apps/drinkcounter/ChangeLog b/apps/drinkcounter/ChangeLog index d8d174c4c..0541d11de 100644 --- a/apps/drinkcounter/ChangeLog +++ b/apps/drinkcounter/ChangeLog @@ -1,4 +1,5 @@ 0.10: Initial release - still work in progress 0.15: Added settings and calculations 0.20: Added status saving -0.25: Adopted for Bangle.js 1 - kind of \ No newline at end of file +0.25: Adopted for Bangle.js 1 - kind of +0.26: Minor code improvements diff --git a/apps/drinkcounter/metadata.json b/apps/drinkcounter/metadata.json index 2b8d7fe71..315a5845b 100644 --- a/apps/drinkcounter/metadata.json +++ b/apps/drinkcounter/metadata.json @@ -2,7 +2,7 @@ "id": "drinkcounter", "name": "Drink Counter", "shortName": "Drink Counter", - "version": "0.25", + "version": "0.26", "description": "Counts drinks you had for science. Calculates blood alcohol content (BAC)", "allow_emulator":true, "icon": "drinkcounter.png", diff --git a/apps/dtlaunch/ChangeLog b/apps/dtlaunch/ChangeLog index 6c096f45b..5cac5770e 100644 --- a/apps/dtlaunch/ChangeLog +++ b/apps/dtlaunch/ChangeLog @@ -29,3 +29,4 @@ immediately follows the correct theme. when moving pages. Add caching for faster startups. 0.23: Bangle 1: Fix issue with missing icons, added touch screen interactions 0.24: Add buzz-on-interaction setting +0.25: Minor code improvements diff --git a/apps/dtlaunch/metadata.json b/apps/dtlaunch/metadata.json index 5e25b61fb..bac0ed369 100644 --- a/apps/dtlaunch/metadata.json +++ b/apps/dtlaunch/metadata.json @@ -1,7 +1,7 @@ { "id": "dtlaunch", "name": "Desktop Launcher", - "version": "0.24", + "version": "0.25", "description": "Desktop style App Launcher with six (four for Bangle 2) apps per page - fast access if you have lots of apps installed.", "screenshots": [{"url":"shot1.png"},{"url":"shot2.png"},{"url":"shot3.png"}], "icon": "icon.png", diff --git a/apps/dwm-clock/ChangeLog b/apps/dwm-clock/ChangeLog index 5560f00bc..7727f3cc4 100644 --- a/apps/dwm-clock/ChangeLog +++ b/apps/dwm-clock/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Minor code improvements diff --git a/apps/dwm-clock/metadata.json b/apps/dwm-clock/metadata.json index 677c78f17..2a03c396c 100644 --- a/apps/dwm-clock/metadata.json +++ b/apps/dwm-clock/metadata.json @@ -2,7 +2,7 @@ "id": "dwm-clock", "name": "Daylight World Map Clock", "shortName": "DWM Clock", - "version": "0.01", + "version": "0.02", "description": "A clock with a daylight world map", "readme":"README.md", "icon": "app.png", diff --git a/apps/edisonsball/ChangeLog b/apps/edisonsball/ChangeLog index b71b8bb0d..71bcbf97f 100644 --- a/apps/edisonsball/ChangeLog +++ b/apps/edisonsball/ChangeLog @@ -1,2 +1,3 @@ 0.01: Initial version 0.02: Added BangleJS Two +0.03: Minor code improvements diff --git a/apps/edisonsball/metadata.json b/apps/edisonsball/metadata.json index dfeb4451e..9fcfe38bf 100644 --- a/apps/edisonsball/metadata.json +++ b/apps/edisonsball/metadata.json @@ -2,7 +2,7 @@ "id": "edisonsball", "name": "Edison's Ball", "shortName": "Edison's Ball", - "version": "0.02", + "version": "0.03", "description": "Hypnagogia/Micro-Sleep alarm for experimental use in exploring sleep transition and combating drowsiness", "icon": "app-icon.png", "tags": "sleep,hyponagogia,quick,nap", diff --git a/apps/encourageclk/ChangeLog b/apps/encourageclk/ChangeLog index 83c07f784..9cb404008 100644 --- a/apps/encourageclk/ChangeLog +++ b/apps/encourageclk/ChangeLog @@ -1,3 +1,4 @@ 0.01: New face :) 0.02: code improvements 0.03: code improvments to queuedraw and draw +0.04: Minor code improvements diff --git a/apps/encourageclk/metadata.json b/apps/encourageclk/metadata.json index 4e5d630cf..f3816c9de 100644 --- a/apps/encourageclk/metadata.json +++ b/apps/encourageclk/metadata.json @@ -2,7 +2,7 @@ "id": "encourageclk", "name": "Encouragement & Positivity Clock", "shortName":"Encouragement Clock", - "version": "0.03", + "version": "0.04", "description": "Tap on the watch for a note of encouragement", "icon": "app.png", "type": "clock", diff --git a/apps/f9lander/ChangeLog b/apps/f9lander/ChangeLog index b5a33bd2e..8aed5d989 100644 --- a/apps/f9lander/ChangeLog +++ b/apps/f9lander/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App! 0.02: Add lightning 0.03: Convert Yes/No On/Off in settings to checkboxes +0.04: Minor code improvements diff --git a/apps/f9lander/metadata.json b/apps/f9lander/metadata.json index 5a3887c9e..868b70f71 100644 --- a/apps/f9lander/metadata.json +++ b/apps/f9lander/metadata.json @@ -1,7 +1,7 @@ { "id": "f9lander", "name": "Falcon9 Lander", "shortName":"F9lander", - "version":"0.03", + "version": "0.04", "description": "Land a rocket booster", "icon": "f9lander.png", "screenshots" : [ { "url":"f9lander_screenshot1.png" }, { "url":"f9lander_screenshot2.png" }, { "url":"f9lander_screenshot3.png" }], diff --git a/apps/fclock/ChangeLog b/apps/fclock/ChangeLog index 7e7307c59..f70cedaba 100644 --- a/apps/fclock/ChangeLog +++ b/apps/fclock/ChangeLog @@ -1,3 +1,4 @@ 0.01: First published version of app 0.02: Move to Bangle.setUI to launcher support 0.03: Tell clock widgets to hide. +0.04: Minor code improvements diff --git a/apps/fclock/metadata.json b/apps/fclock/metadata.json index dffb197a2..0cb48f9ff 100644 --- a/apps/fclock/metadata.json +++ b/apps/fclock/metadata.json @@ -2,7 +2,7 @@ "id": "fclock", "name": "fclock", "shortName": "F Clock", - "version": "0.03", + "version": "0.04", "description": "Simple design of a digital clock", "icon": "app.png", "type": "clock", diff --git a/apps/flightdash/ChangeLog b/apps/flightdash/ChangeLog index 971e5b97e..b0e36941a 100644 --- a/apps/flightdash/ChangeLog +++ b/apps/flightdash/ChangeLog @@ -1 +1,2 @@ 1.00: initial release +1.01: Minor code improvements diff --git a/apps/flightdash/metadata.json b/apps/flightdash/metadata.json index 0bc23a192..23d7323cc 100644 --- a/apps/flightdash/metadata.json +++ b/apps/flightdash/metadata.json @@ -2,7 +2,7 @@ "id": "flightdash", "name": "Flight Dashboard", "shortName":"Flight-Dash", - "version":"1.00", + "version": "1.01", "description": "Basic flight and navigation instruments", "icon": "flightdash.png", "screenshots": [{ "url": "screenshot.png" }], diff --git a/apps/followtherecipe/ChangeLog b/apps/followtherecipe/ChangeLog index 9ba6a29bd..68ca62642 100644 --- a/apps/followtherecipe/ChangeLog +++ b/apps/followtherecipe/ChangeLog @@ -1 +1,2 @@ -0.01: New App \ No newline at end of file +0.01: New App +0.02: Minor code improvements diff --git a/apps/followtherecipe/metadata.json b/apps/followtherecipe/metadata.json index 8ffeac2d2..0c1de0817 100644 --- a/apps/followtherecipe/metadata.json +++ b/apps/followtherecipe/metadata.json @@ -3,7 +3,7 @@ "name": "Follow The Recipe", "shortName":"FTR", "icon": "icon.png", - "version": "0.01", + "version": "0.02", "description": "Follow The Recipe (FTR) is a bangle.js app to follow a recipe step by step", "type": "app", "tags": "tool, tools, cook", diff --git a/apps/gallifr/ChangeLog b/apps/gallifr/ChangeLog index 32c1057b0..766a2002a 100644 --- a/apps/gallifr/ChangeLog +++ b/apps/gallifr/ChangeLog @@ -1,3 +1,4 @@ 0.01: First released version 0.02: Changed setWatch to Bangle.setUI 0.03: Tell clock widgets to hide. +0.04: Minor code improvements diff --git a/apps/gallifr/metadata.json b/apps/gallifr/metadata.json index 96fe243ed..c891744f2 100644 --- a/apps/gallifr/metadata.json +++ b/apps/gallifr/metadata.json @@ -2,7 +2,7 @@ "id": "gallifr", "name": "Time Traveller's Chronometer", "shortName": "Time Travel Clock", - "version": "0.03", + "version": "0.04", "description": "A clock for time travellers. The light pie segment shows the minutes, the black circle, the hour. The dial itself reads 'time' just in case you forget.", "icon": "gallifr.png", "screenshots": [{"url":"screenshot_time.png"}], diff --git a/apps/game1024/ChangeLog b/apps/game1024/ChangeLog index df36b6456..d28664314 100644 --- a/apps/game1024/ChangeLog +++ b/apps/game1024/ChangeLog @@ -9,3 +9,4 @@ 0.09: Added settings menu, removed symbol selection button (*), added highscore reset 0.10: fixed clockmode in settings 0.11: Use default Bangle formatter for booleans +0.12: Minor code improvements diff --git a/apps/game1024/metadata.json b/apps/game1024/metadata.json index 45d6e3f61..0206933b3 100644 --- a/apps/game1024/metadata.json +++ b/apps/game1024/metadata.json @@ -1,7 +1,7 @@ { "id": "game1024", "name": "1024 Game", "shortName" : "1024 Game", - "version": "0.11", + "version": "0.12", "icon": "game1024.png", "screenshots": [ {"url":"screenshot.png" } ], "readme":"README.md", diff --git a/apps/gipy/ChangeLog b/apps/gipy/ChangeLog index a80cd42ea..992c69a93 100644 --- a/apps/gipy/ChangeLog +++ b/apps/gipy/ChangeLog @@ -135,3 +135,4 @@ * Fix for files converted from maps2gpx : path was not reduced in size correctly * Experimental ski mode : have a ski slopes map * Fix for path projection display when lost and zoomed out +0.25: Minor code improvements diff --git a/apps/gipy/metadata.json b/apps/gipy/metadata.json index 5b416bced..5993e3ee6 100644 --- a/apps/gipy/metadata.json +++ b/apps/gipy/metadata.json @@ -2,7 +2,7 @@ "id": "gipy", "name": "Gipy", "shortName": "Gipy", - "version": "0.24", + "version": "0.25", "description": "Follow gpx files using the gps. Don't get lost in your bike trips and hikes.", "allow_emulator":false, "icon": "gipy.png", diff --git a/apps/glbasic/ChangeLog b/apps/glbasic/ChangeLog index 1f3a1b643..890b7682f 100644 --- a/apps/glbasic/ChangeLog +++ b/apps/glbasic/ChangeLog @@ -1,3 +1,4 @@ 0.20: New App! 0.21: Tell clock widgets to hide. 0.22: Changed font so 5 and 6 are not similar +0.23: Minor code improvements diff --git a/apps/glbasic/metadata.json b/apps/glbasic/metadata.json index 2636deefa..3bd8b0f81 100644 --- a/apps/glbasic/metadata.json +++ b/apps/glbasic/metadata.json @@ -2,7 +2,7 @@ "id": "glbasic", "name": "GLBasic Clock", "shortName": "GLBasic", - "version": "0.22", + "version": "0.23", "description": "A clock with large numbers", "dependencies": {"widpedom":"app"}, "icon": "icon48.png", diff --git a/apps/gpsrec/ChangeLog b/apps/gpsrec/ChangeLog index 5867140fb..0b58c75f9 100644 --- a/apps/gpsrec/ChangeLog +++ b/apps/gpsrec/ChangeLog @@ -31,3 +31,4 @@ 0.27: Map drawing with light theme (fix #1023) 0.28: Show distance more accurately in conjunction with new locale app (fix #1523) 0.29: Use default Bangle formatter for booleans +0.30: Minor code improvements diff --git a/apps/gpsrec/metadata.json b/apps/gpsrec/metadata.json index 192b05edf..74b08a7d5 100644 --- a/apps/gpsrec/metadata.json +++ b/apps/gpsrec/metadata.json @@ -1,7 +1,7 @@ { "id": "gpsrec", "name": "GPS Recorder", - "version": "0.29", + "version": "0.30", "description": "(NOT RECOMMENDED) - please use the more flexible 'Recorder' app instead. Application that allows you to record a GPS track. Can run in background", "icon": "app.png", "tags": "tool,outdoors,gps,widget", diff --git a/apps/gpstrek/ChangeLog b/apps/gpstrek/ChangeLog index 921000e82..ff6cc3d0d 100644 --- a/apps/gpstrek/ChangeLog +++ b/apps/gpstrek/ChangeLog @@ -18,4 +18,5 @@ Automatically search for new waypoint if moving away from current target 0.11: Adds configuration Draws direction arrows on route - Turn of compass when GPS fix is available \ No newline at end of file + Turn of compass when GPS fix is available +0.12: Minor code improvements diff --git a/apps/gpstrek/metadata.json b/apps/gpstrek/metadata.json index 791360001..585927677 100644 --- a/apps/gpstrek/metadata.json +++ b/apps/gpstrek/metadata.json @@ -1,7 +1,7 @@ { "id": "gpstrek", "name": "GPS Trekking", - "version": "0.11", + "version": "0.12", "description": "Helper for tracking the status/progress during hiking. Do NOT depend on this for navigation!", "icon": "icon.png", "screenshots": [{"url":"screenInit.png"},{"url":"screenMenu.png"},{"url":"screenMap.png"},{"url":"screenLost.png"},{"url":"screenOverview.png"},{"url":"screenOverviewScroll.png"},{"url":"screenSlices.png"},{"url":"screenSlices2.png"},{"url":"screenSlices3.png"}], diff --git a/apps/guitar/ChangeLog b/apps/guitar/ChangeLog index 22c67383d..4f7120ebd 100644 --- a/apps/guitar/ChangeLog +++ b/apps/guitar/ChangeLog @@ -1,2 +1,3 @@ 0.01: New App! -0.02: More Chords, formatting, fret offset support. \ No newline at end of file +0.02: More Chords, formatting, fret offset support. +0.03: Minor code improvements diff --git a/apps/guitar/metadata.json b/apps/guitar/metadata.json index 6ab3ffc51..0dc6893d6 100644 --- a/apps/guitar/metadata.json +++ b/apps/guitar/metadata.json @@ -1,7 +1,7 @@ { "id": "guitar", "name": "Guitar Chords", "shortName":"Guitar", - "version":"0.02", + "version": "0.03", "description": "Wrist mounted guitar chords", "icon": "app.png", "tags": "guitar, chords", diff --git a/apps/guitarsongs/ChangeLog b/apps/guitarsongs/ChangeLog index dda3f0fd1..9e91c9a5e 100644 --- a/apps/guitarsongs/ChangeLog +++ b/apps/guitarsongs/ChangeLog @@ -1,2 +1,3 @@ 0.01: First Release 0.02: WIP +0.03: Minor code improvements diff --git a/apps/guitarsongs/metadata.json b/apps/guitarsongs/metadata.json index cec4be2fd..cdbd1be20 100644 --- a/apps/guitarsongs/metadata.json +++ b/apps/guitarsongs/metadata.json @@ -1,7 +1,7 @@ { "id": "guitarsongs", "name": "Guitar Songs", "shortName":"Guitar Songs", - "version":"0.02", + "version": "0.03", "description": "Songs lyrics and guitar chords", "icon": "app.png", "screenshots": [{"url": "screenshot.png"}], diff --git a/apps/happyclk/ChangeLog b/apps/happyclk/ChangeLog index e87114779..08a4eab8b 100644 --- a/apps/happyclk/ChangeLog +++ b/apps/happyclk/ChangeLog @@ -1,2 +1,3 @@ 0.01: New app! -0.02: Added settings to show/hide widgets and settings for different styles. \ No newline at end of file +0.02: Added settings to show/hide widgets and settings for different styles. +0.03: Minor code improvements diff --git a/apps/happyclk/metadata.json b/apps/happyclk/metadata.json index da7bdcd16..1a93f63c3 100644 --- a/apps/happyclk/metadata.json +++ b/apps/happyclk/metadata.json @@ -3,7 +3,7 @@ "name": "Happy Clock", "shortName":"Happy Clock", "icon": "happyclk.png", - "version":"0.02", + "version": "0.03", "readme": "README.md", "supports": ["BANGLEJS2"], "description": "A happy clock :)", diff --git a/apps/hcclock/ChangeLog b/apps/hcclock/ChangeLog index e2eb18be3..f6cf66374 100644 --- a/apps/hcclock/ChangeLog +++ b/apps/hcclock/ChangeLog @@ -2,4 +2,5 @@ 0.02: Saved settings when switching color scheme 0.03: Added Button 3 opening messages (if app is installed) 0.04: Use `messages` library to check for new messages -0.05: Use `messages` library to open message GUI \ No newline at end of file +0.05: Use `messages` library to open message GUI +0.06: Minor code improvements diff --git a/apps/hcclock/metadata.json b/apps/hcclock/metadata.json index 407114e25..e8396adb0 100644 --- a/apps/hcclock/metadata.json +++ b/apps/hcclock/metadata.json @@ -1,7 +1,7 @@ { "id": "hcclock", "name": "Hi-Contrast Clock", - "version": "0.05", + "version": "0.06", "description": "Hi-Contrast Clock : A simple yet very bold clock that aims to be readable in high luninosity environments. Uses big 10x5 pixel digits. Use BTN 1 to switch background and foreground colors.", "icon": "hcclock-icon.png", "type": "clock", diff --git a/apps/health/ChangeLog b/apps/health/ChangeLog index 99d8edf72..82b57dd44 100644 --- a/apps/health/ChangeLog +++ b/apps/health/ChangeLog @@ -30,3 +30,4 @@ 0.27: Fix typo in daily summary graph code causing graph not to load Fix daily summaries for 31st of the month 0.28: Calculate distance from steps if myprofile is installed and stride length is set +0.29: Minor code improvements diff --git a/apps/health/metadata.json b/apps/health/metadata.json index 4afe4b9d8..1d91a1e56 100644 --- a/apps/health/metadata.json +++ b/apps/health/metadata.json @@ -2,7 +2,7 @@ "id": "health", "name": "Health Tracking", "shortName": "Health", - "version": "0.28", + "version": "0.29", "description": "Logs health data and provides an app to view it", "icon": "app.png", "tags": "tool,system,health", diff --git a/apps/helloworld/ChangeLog b/apps/helloworld/ChangeLog index 6ffdb7f46..969aed43d 100644 --- a/apps/helloworld/ChangeLog +++ b/apps/helloworld/ChangeLog @@ -1,3 +1,4 @@ 0.01: 1st version ! 0.02: Supports bottom widgets and UI based in UI4swatch! 0.03: Added compatibility with BJS2, improvements +0.04: Minor code improvements diff --git a/apps/helloworld/metadata.json b/apps/helloworld/metadata.json index b9dec6b52..3ec5c2a83 100644 --- a/apps/helloworld/metadata.json +++ b/apps/helloworld/metadata.json @@ -2,7 +2,7 @@ "id": "helloworld", "name": "hello, world!", "shortName": "hello world", - "version": "0.03", + "version": "0.04", "description": "A cross cultural hello world!/hola mundo! app with colors and languages", "icon": "app.png", "tags": "input,interface,buttons,touch", diff --git a/apps/henkinen/ChangeLog b/apps/henkinen/ChangeLog index 5560f00bc..7727f3cc4 100644 --- a/apps/henkinen/ChangeLog +++ b/apps/henkinen/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Minor code improvements diff --git a/apps/henkinen/metadata.json b/apps/henkinen/metadata.json index 1f1bb77fc..65efb4445 100644 --- a/apps/henkinen/metadata.json +++ b/apps/henkinen/metadata.json @@ -1,7 +1,7 @@ { "id": "henkinen", "name": "Henkinen - Tiny Breathing Helper", "shortName":"Henkinen", - "version":"0.01", + "version": "0.02", "description": "A tiny app helping you to breath and relax.", "icon": "app.png", "screenshots": [{"url":"screenshot1.png"}], diff --git a/apps/homework/ChangeLog b/apps/homework/ChangeLog index b9a5425d1..a20d255e4 100644 --- a/apps/homework/ChangeLog +++ b/apps/homework/ChangeLog @@ -1,2 +1,3 @@ ... 0.10: First update with ChangeLog Added +0.11: Minor code improvements diff --git a/apps/homework/metadata.json b/apps/homework/metadata.json index d2af99fd4..f440691ef 100644 --- a/apps/homework/metadata.json +++ b/apps/homework/metadata.json @@ -2,7 +2,7 @@ { "id": "homework", "name": "Homework", "shortName":"Homework", - "version":"0.10", + "version": "0.11", "description": "A simple app to manage homework", "icon": "app.png", "tags": "tool", diff --git a/apps/horsey/ChangeLog b/apps/horsey/ChangeLog new file mode 100644 index 000000000..62542be60 --- /dev/null +++ b/apps/horsey/ChangeLog @@ -0,0 +1,2 @@ +0.01: New app! +0.02: Minor code improvements diff --git a/apps/horsey/metadata.json b/apps/horsey/metadata.json index 256d1f373..d14ade6f3 100644 --- a/apps/horsey/metadata.json +++ b/apps/horsey/metadata.json @@ -1,7 +1,7 @@ { "id": "horsey", "name": "Horse Race!", - "version": "0.01", + "version": "0.02", "description": "Get several friends to start the game, then compete to see who can press BTN1 the most!", "icon": "horse-race.png", "tags": "game", diff --git a/apps/hrm/ChangeLog b/apps/hrm/ChangeLog index b55ba8930..1f7528170 100644 --- a/apps/hrm/ChangeLog +++ b/apps/hrm/ChangeLog @@ -9,3 +9,4 @@ 0.09: Grey out BPM until confidence is over 50% 0.10: Autoscale raw graph to maximum value seen 0.11: Automatic translation of strings. +0.12: Minor code improvements diff --git a/apps/hrm/metadata.json b/apps/hrm/metadata.json index f254b5d23..0c76e6277 100644 --- a/apps/hrm/metadata.json +++ b/apps/hrm/metadata.json @@ -1,7 +1,7 @@ { "id": "hrm", "name": "Heart Rate Monitor", - "version": "0.11", + "version": "0.12", "description": "Measure your heart rate and see live sensor data", "icon": "heartrate.png", "tags": "health", diff --git a/apps/hrrawexp/ChangeLog b/apps/hrrawexp/ChangeLog index bd8df3991..afd00f99a 100644 --- a/apps/hrrawexp/ChangeLog +++ b/apps/hrrawexp/ChangeLog @@ -2,3 +2,4 @@ 0.02: Fixes 0.03: updated to work with new API and additional features added such as longer recording time and additional filtered data 0.04: added support for bangle.js 2 +0.05: Minor code improvements diff --git a/apps/hrrawexp/metadata.json b/apps/hrrawexp/metadata.json index 557b9fd89..485c65ca9 100644 --- a/apps/hrrawexp/metadata.json +++ b/apps/hrrawexp/metadata.json @@ -2,7 +2,7 @@ "id": "hrrawexp", "name": "HRM Data Exporter", "shortName": "HRM Data Exporter", - "version": "0.04", + "version": "0.05", "description": "export raw hrm signal data to a csv file", "icon": "app-icon.png", "tags": "", diff --git a/apps/hworldclock/ChangeLog b/apps/hworldclock/ChangeLog index bd761a1b1..5197c6405 100644 --- a/apps/hworldclock/ChangeLog +++ b/apps/hworldclock/ChangeLog @@ -18,4 +18,5 @@ Remove calls to Bangle.loadWidgets as they are not needed and create warnings 0.32: Added setting to show single timezone small, like where multiple ones are configured 0.33: Tidy up and fix clearInterval(undefined) errors -0.34: Fix 'fast load' so clock doesn't always redraw when screen unlocked/locked \ No newline at end of file +0.34: Fix 'fast load' so clock doesn't always redraw when screen unlocked/locked +0.35: Minor code improvements diff --git a/apps/hworldclock/metadata.json b/apps/hworldclock/metadata.json index b4efff806..918c11872 100644 --- a/apps/hworldclock/metadata.json +++ b/apps/hworldclock/metadata.json @@ -2,7 +2,7 @@ "id": "hworldclock", "name": "Hanks World Clock", "shortName": "Hanks World Clock", - "version": "0.34", + "version": "0.35", "description": "Current time zone plus up to three others", "allow_emulator":true, "icon": "app.png", diff --git a/apps/icons/ChangeLog b/apps/icons/ChangeLog index 73fce0974..d65ad868c 100644 --- a/apps/icons/ChangeLog +++ b/apps/icons/ChangeLog @@ -1 +1,2 @@ 0.01: New library +0.02: Minor code improvements diff --git a/apps/icons/metadata.json b/apps/icons/metadata.json index 77b24d98c..196f1ed69 100644 --- a/apps/icons/metadata.json +++ b/apps/icons/metadata.json @@ -1,7 +1,7 @@ { "id": "icons", "name": "Icons", - "version": "0.01", + "version": "0.02", "description": "Library containing useful icons for apps", "icon": "app.png", "type": "module", diff --git a/apps/impwclock/ChangeLog b/apps/impwclock/ChangeLog index 0af7c99d6..f0b8ef1be 100644 --- a/apps/impwclock/ChangeLog +++ b/apps/impwclock/ChangeLog @@ -4,3 +4,4 @@ 0.04: Tweaks for compatibility with BangleJS2 0.05: Time-word now readable on Bangle.js 2 0.06: Tell clock widgets to hide. +0.07: Minor code improvements diff --git a/apps/impwclock/metadata.json b/apps/impwclock/metadata.json index 1b92ea3ae..ae13a741e 100644 --- a/apps/impwclock/metadata.json +++ b/apps/impwclock/metadata.json @@ -1,7 +1,7 @@ { "id": "impwclock", "name": "Imprecise Word Clock", - "version": "0.06", + "version": "0.07", "description": "Imprecise word clock for vacations, weekends, and those who never need accurate time.", "icon": "clock-impword.png", "type": "clock", diff --git a/apps/inspire/ChangeLog b/apps/inspire/ChangeLog index e8e154f2f..34cc82914 100644 --- a/apps/inspire/ChangeLog +++ b/apps/inspire/ChangeLog @@ -1,2 +1,3 @@ 0.01: First public version 0.02: Disable screen lock when breathing +0.03: Minor code improvements diff --git a/apps/inspire/metadata.json b/apps/inspire/metadata.json index 3ffbc40e7..55fdcf418 100644 --- a/apps/inspire/metadata.json +++ b/apps/inspire/metadata.json @@ -2,7 +2,7 @@ "id": "inspire", "name": "Inspire Breathing", "shortName": "Inspire", - "version": "0.02", + "version": "0.03", "description": "exercise breathing every now and then", "icon": "app-icon.png", "tags": "tools,health", diff --git a/apps/invader/ChangeLog b/apps/invader/ChangeLog index 6c5a33e59..87773b1ca 100644 --- a/apps/invader/ChangeLog +++ b/apps/invader/ChangeLog @@ -1,2 +1,3 @@ 0.01: New App! 0.11: Changes... +0.12: Minor code improvements diff --git a/apps/invader/metadata.json b/apps/invader/metadata.json index bb74f5122..9262ffb40 100644 --- a/apps/invader/metadata.json +++ b/apps/invader/metadata.json @@ -1,7 +1,7 @@ { "id": "invader", "name": "Invader", "shortName":"Invader", - "version":"0.11", + "version": "0.12", "description": "A Space Invader game-like demo - work in progress", "icon": "app.png", "screenshots" : [ { "url":"screenshot_0.png" }, { "url":"screenshot_1.png" }, { "url":"screenshot_2.png" } ], diff --git a/apps/isoclock/ChangeLog b/apps/isoclock/ChangeLog index 7b57ecfa9..739e3061a 100644 --- a/apps/isoclock/ChangeLog +++ b/apps/isoclock/ChangeLog @@ -1,3 +1,4 @@ 0.01: Created app based on digiclock with some small tweaks. 0.02: Swap to Bangle.setUI for launcher/buttons 0.03: Tell clock widgets to hide. +0.04: Minor code improvements diff --git a/apps/isoclock/metadata.json b/apps/isoclock/metadata.json index 488afcb41..66ebe2f91 100644 --- a/apps/isoclock/metadata.json +++ b/apps/isoclock/metadata.json @@ -2,7 +2,7 @@ "id": "isoclock", "name": "ISO Compliant Clock Face", "shortName": "ISO Clock", - "version": "0.03", + "version": "0.04", "description": "Tweaked fork of digiclock for ISO date and time", "icon": "isoclock.png", "type": "clock", diff --git a/apps/kanagsec/ChangeLog b/apps/kanagsec/ChangeLog index ed36aeeda..50f590c97 100644 --- a/apps/kanagsec/ChangeLog +++ b/apps/kanagsec/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App! 0.02: Fixes temperature not loading at start. 0.03: reduces energy consumption, fixes bug where app thinks that screen is still unlocked after receiving a message +0.04: Minor code improvements diff --git a/apps/kanagsec/metadata.json b/apps/kanagsec/metadata.json index 516b63eef..c00ec9d7a 100644 --- a/apps/kanagsec/metadata.json +++ b/apps/kanagsec/metadata.json @@ -2,7 +2,7 @@ "id": "kanagsec", "name": "Kanagawa clock", "shortName":"kanagawa", - "version":"0.03", + "version": "0.04", "description": "A clock that displays the great wave of kanagawa (image from wikipedia) with seconds in active mode.", "icon": "app.png", "tags": "clock, kanagawa, wave", diff --git a/apps/kanawatch/ChangeLog b/apps/kanawatch/ChangeLog index a50406917..b61964b4d 100644 --- a/apps/kanawatch/ChangeLog +++ b/apps/kanawatch/ChangeLog @@ -9,3 +9,4 @@ 0.09: Optimize loading and rendering times, introduce transition animations 0.10: Swipe up/down for Hiragana/Katakana, right/left for next/prev letter 0.11: Sort by 'AIUEO' instead of 'AEIOU', draw Widgets every minute :? +0.12: Minor code improvements diff --git a/apps/kanawatch/metadata.json b/apps/kanawatch/metadata.json index f3aaeae92..80d63c982 100644 --- a/apps/kanawatch/metadata.json +++ b/apps/kanawatch/metadata.json @@ -2,7 +2,7 @@ "id": "kanawatch", "name": "Kanawatch", "shortName": "Kanawatch", - "version": "0.11", + "version": "0.12", "type": "clock", "description": "Learn Hiragana and Katakana", "icon": "app.png", diff --git a/apps/kbmulti/ChangeLog b/apps/kbmulti/ChangeLog index 28344678a..f60933fb8 100644 --- a/apps/kbmulti/ChangeLog +++ b/apps/kbmulti/ChangeLog @@ -7,3 +7,4 @@ 0.07: Add compatability with `backswipe` app by using `Bangle.prependListener()` and `E.stopEventPropagation`- requires fw 2v19 or cutting edge versions of 2v18. Falls back on `Bangle.on()` for backwards compatability. +0.08: Minor code improvements diff --git a/apps/kbmulti/metadata.json b/apps/kbmulti/metadata.json index 210646a01..b8fa74a45 100644 --- a/apps/kbmulti/metadata.json +++ b/apps/kbmulti/metadata.json @@ -1,6 +1,6 @@ { "id": "kbmulti", "name": "Multitap keyboard", - "version":"0.07", + "version": "0.08", "description": "A library for text input via multitap/T9 style keypad", "icon": "app.png", "type":"textinput", diff --git a/apps/kitchen/ChangeLog b/apps/kitchen/ChangeLog index 4e8c49c50..a2423092c 100644 --- a/apps/kitchen/ChangeLog +++ b/apps/kitchen/ChangeLog @@ -12,3 +12,4 @@ 0.12: Added stepo2 as a replacement for stepo and digi 0.13: Added long press BTN2 toggle gpsrec status in GPS clock 0.14: Move waypoints.json (and editor) to 'waypoints' app +0.15: Minor code improvements diff --git a/apps/kitchen/metadata.json b/apps/kitchen/metadata.json index b084fa157..88a5705ea 100644 --- a/apps/kitchen/metadata.json +++ b/apps/kitchen/metadata.json @@ -1,7 +1,7 @@ { "id": "kitchen", "name": "Kitchen Combo", - "version": "0.14", + "version": "0.15", "description": "Combination of the Stepo, Walkersclock, Arrow and Waypointer apps into a multiclock format. 'Everything but the kitchen sink'", "icon": "kitchen.png", "type": "clock", diff --git a/apps/lazyclock/ChangeLog b/apps/lazyclock/ChangeLog index a3f125786..5a578042d 100644 --- a/apps/lazyclock/ChangeLog +++ b/apps/lazyclock/ChangeLog @@ -1,3 +1,4 @@ 0.01: Launch app 0.02: Fix bug with the elusive one o'clock monster; Only change template when going over boundaries; Re-jig wording options 0.03: Use Bangle.setUI for launcher/buttons +0.04: Minor code improvements diff --git a/apps/lazyclock/metadata.json b/apps/lazyclock/metadata.json index c08485fc7..c87344141 100644 --- a/apps/lazyclock/metadata.json +++ b/apps/lazyclock/metadata.json @@ -1,7 +1,7 @@ { "id": "lazyclock", "name": "Lazy Clock", - "version": "0.03", + "version": "0.04", "description": "Tells the time, roughly", "icon": "lazyclock.png", "type": "clock", diff --git a/apps/lcdclock/ChangeLog b/apps/lcdclock/ChangeLog index e81ee5bc4..df68cb17e 100644 --- a/apps/lcdclock/ChangeLog +++ b/apps/lcdclock/ChangeLog @@ -2,4 +2,5 @@ 0.02: Use clock_info module as an app 0.03: clock_info now uses app name to maintain settings specifically for this clock face 0.04: clock_info is loaded before widgets to match other clocks -0.05: fix alignment of clock items caused by 0.04 (fix #2970) \ No newline at end of file +0.05: fix alignment of clock items caused by 0.04 (fix #2970) +0.06: Minor code improvements diff --git a/apps/lcdclock/metadata.json b/apps/lcdclock/metadata.json index 83107cf40..d1ab47d8a 100644 --- a/apps/lcdclock/metadata.json +++ b/apps/lcdclock/metadata.json @@ -1,6 +1,6 @@ { "id": "lcdclock", "name": "LCD Clock", - "version":"0.05", + "version": "0.06", "description": "A Casio-style clock, with ClockInfo areas at the top and bottom. Tap them and swipe up/down to toggle between different information", "icon": "app.png", "screenshots": [{"url":"screenshot.png"}], diff --git a/apps/lcdclockplus/ChangeLog b/apps/lcdclockplus/ChangeLog index 2286a7f70..7727f3cc4 100644 --- a/apps/lcdclockplus/ChangeLog +++ b/apps/lcdclockplus/ChangeLog @@ -1 +1,2 @@ -0.01: New App! \ No newline at end of file +0.01: New App! +0.02: Minor code improvements diff --git a/apps/lcdclockplus/metadata.json b/apps/lcdclockplus/metadata.json index a89efe376..a25d5e6d5 100644 --- a/apps/lcdclockplus/metadata.json +++ b/apps/lcdclockplus/metadata.json @@ -1,6 +1,6 @@ { "id": "lcdclockplus", "name": "LCD Clock Plus", - "version":"0.01", + "version": "0.02", "description": "A Casio-style clock, with four ClockInfo areas at the top and bottom. Tap them and swipe up/down and left/right to toggle between different information.", "icon": "app.png", "screenshots": [{"url":"screenshot.png"},{"url":"screenshot2.png"}], diff --git a/apps/legoremote/ChangeLog b/apps/legoremote/ChangeLog index b86638553..7abdea587 100644 --- a/apps/legoremote/ChangeLog +++ b/apps/legoremote/ChangeLog @@ -1,2 +1,3 @@ 0.01: New App! 0.02: Add more control styles +0.03: Minor code improvements diff --git a/apps/legoremote/metadata.json b/apps/legoremote/metadata.json index 8fe4c4b44..0d45bc696 100644 --- a/apps/legoremote/metadata.json +++ b/apps/legoremote/metadata.json @@ -1,7 +1,7 @@ { "id": "legoremote", "name": "LEGO Remote control", "shortName":"LEGO Remote", - "version":"0.02", + "version": "0.03", "description": "Use your Bangle.js to control LEGO models. See the README for compatibility", "icon": "app.png", "tags": "toy,lego,bluetooth", diff --git a/apps/lifeclk/ChangeLog b/apps/lifeclk/ChangeLog index cdde84463..df5cef47d 100644 --- a/apps/lifeclk/ChangeLog +++ b/apps/lifeclk/ChangeLog @@ -4,3 +4,4 @@ 0.04: Fixed a bug, doesn't run while display's on now 2021-01-18 0.05: Fixed a bug, doesn't count the time it was asleep when calculating the update time 2021-01-19 0.06: Use Bangle.set UI, change to unminified upload to ensure this works ok on Bangle.js +0.07: Minor code improvements diff --git a/apps/lifeclk/metadata.json b/apps/lifeclk/metadata.json index 6b62860ae..4fa2a893c 100644 --- a/apps/lifeclk/metadata.json +++ b/apps/lifeclk/metadata.json @@ -2,7 +2,7 @@ "id": "lifeclk", "name": "Game of Life Clock", "shortName": "Conway's Clock", - "version": "0.06", + "version": "0.07", "description": "Modification and clockification of Conway's Game of Life", "icon": "app.png", "type": "clock", diff --git a/apps/lightswitch/ChangeLog b/apps/lightswitch/ChangeLog index a14d85e21..8c4ddb60c 100644 --- a/apps/lightswitch/ChangeLog +++ b/apps/lightswitch/ChangeLog @@ -7,3 +7,4 @@ 0.07: Handle the swipe event that is generated when draging to change light intensity, so it doesn't trigger some other swipe handler. 0.08: Ensure boot code doesn't allocate and leave a gloval variable named 'settings' 0.09: Handle lightswitch logic running before its widget has loaded +0.10: Minor code improvements diff --git a/apps/lightswitch/metadata.json b/apps/lightswitch/metadata.json index 8eef08952..c0472131d 100644 --- a/apps/lightswitch/metadata.json +++ b/apps/lightswitch/metadata.json @@ -2,7 +2,7 @@ "id": "lightswitch", "name": "Light Switch Widget", "shortName": "Light Switch", - "version": "0.09", + "version": "0.10", "description": "A fast way to switch LCD backlight on/off, change the brightness and show the lock status. All in one widget.", "icon": "images/app.png", "screenshots": [ diff --git a/apps/limelight/ChangeLog b/apps/limelight/ChangeLog index de8caf9c4..8434039e2 100644 --- a/apps/limelight/ChangeLog +++ b/apps/limelight/ChangeLog @@ -1,4 +1,4 @@ 0.01: first release 0.02: Tell clock widgets to hide. 0.03: Use widget_utils. - +0.04: Minor code improvements diff --git a/apps/limelight/metadata.json b/apps/limelight/metadata.json index 5c6bcfd76..dc96d0f71 100644 --- a/apps/limelight/metadata.json +++ b/apps/limelight/metadata.json @@ -1,7 +1,7 @@ { "id": "limelight", "name": "Limelight", - "version": "0.03", + "version": "0.04", "description": "Simple analogue clock (with configurable fonts) based on the work of @Andreas_Rozek (Simple_Clock)", "icon": "limelight.png", "readme":"README.md", diff --git a/apps/lunaclock/ChangeLog b/apps/lunaclock/ChangeLog index 2286a7f70..7727f3cc4 100644 --- a/apps/lunaclock/ChangeLog +++ b/apps/lunaclock/ChangeLog @@ -1 +1,2 @@ -0.01: New App! \ No newline at end of file +0.01: New App! +0.02: Minor code improvements diff --git a/apps/lunaclock/metadata.json b/apps/lunaclock/metadata.json index 4e797d8e7..501fe19be 100644 --- a/apps/lunaclock/metadata.json +++ b/apps/lunaclock/metadata.json @@ -1,7 +1,7 @@ { "id": "lunaclock", "name": "Luna Clock", - "version": "0.01", + "version": "0.02", "description": "Simple clock face inspired by the moon.", "icon": "app.png", "screenshots": [{"url":"screenshot.png"}], diff --git a/apps/magnav/ChangeLog b/apps/magnav/ChangeLog index 14a6eb2a2..d2cf3b7af 100644 --- a/apps/magnav/ChangeLog +++ b/apps/magnav/ChangeLog @@ -4,3 +4,4 @@ 0.04: Fix Font size 0.05: Initial portable version 0.06: Outsource tilt compensation to library +0.07: Minor code improvements diff --git a/apps/magnav/metadata.json b/apps/magnav/metadata.json index bd40a08fd..6bdb9d0b6 100644 --- a/apps/magnav/metadata.json +++ b/apps/magnav/metadata.json @@ -1,7 +1,7 @@ { "id": "magnav", "name": "Navigation Compass", - "version": "0.06", + "version": "0.07", "description": "Compass with linear display as for GPSNAV. Has Tilt compensation and remembers calibration.", "screenshots": [{"url":"screenshot-b2.png"},{"url":"screenshot-light-b2.png"}], "icon": "magnav.png", diff --git a/apps/mandelbrotclock/ChangeLog b/apps/mandelbrotclock/ChangeLog index d7bda0d78..d4092e4b7 100644 --- a/apps/mandelbrotclock/ChangeLog +++ b/apps/mandelbrotclock/ChangeLog @@ -1,2 +1,3 @@ 0.01: Initial Release - \ No newline at end of file + +0.02: Minor code improvements diff --git a/apps/mandelbrotclock/metadata.json b/apps/mandelbrotclock/metadata.json index 852855184..74eeff57a 100644 --- a/apps/mandelbrotclock/metadata.json +++ b/apps/mandelbrotclock/metadata.json @@ -1,7 +1,7 @@ { "id": "mandelbrotclock", "name": "Mandelbrot Clock", - "version": "0.01", + "version": "0.02", "description": "A mandelbrot set themed clock cool", "icon": "mandelbrotclock.png", "screenshots": [{ "url": "screenshot_mandelbrotclock.png" }], diff --git a/apps/megadenti/ChangeLog b/apps/megadenti/ChangeLog index 7f28ed46d..541dc923e 100644 --- a/apps/megadenti/ChangeLog +++ b/apps/megadenti/ChangeLog @@ -1 +1,2 @@ 0.01: Create New App ! +0.02: Minor code improvements diff --git a/apps/megadenti/metadata.json b/apps/megadenti/metadata.json index a44cf067c..38e612576 100644 --- a/apps/megadenti/metadata.json +++ b/apps/megadenti/metadata.json @@ -2,7 +2,7 @@ "name": "Denti", "shortName":"My Denti", "icon": "brush-teeth.png", - "version":"0.01", + "version": "0.02", "description": "This app allows you wash your teeth in an efficent way. A coloured timer guides you while your smile becomes bright!", "tags": "game", "supports": ["BANGLEJS"], diff --git a/apps/messageicons/ChangeLog b/apps/messageicons/ChangeLog index f420615cb..ebe8e8e9b 100644 --- a/apps/messageicons/ChangeLog +++ b/apps/messageicons/ChangeLog @@ -4,3 +4,4 @@ Store all icons in a separate binary file (much faster lookup) 0.04: Add message icon for 'clock' 0.05: Add message icon for 'jira' +0.06: Minor code improvements diff --git a/apps/messageicons/metadata.json b/apps/messageicons/metadata.json index 13f218508..827d08a55 100644 --- a/apps/messageicons/metadata.json +++ b/apps/messageicons/metadata.json @@ -1,7 +1,7 @@ { "id": "messageicons", "name": "Message Icons", - "version": "0.05", + "version": "0.06", "description": "Library containing a list of icons and colors for apps", "icon": "app.png", "type": "module", diff --git a/apps/messagelist/ChangeLog b/apps/messagelist/ChangeLog index 899e29cb6..25269b1dd 100644 --- a/apps/messagelist/ChangeLog +++ b/apps/messagelist/ChangeLog @@ -2,4 +2,4 @@ 0.02: Fix music updates while app is already open 0.03: Fix invalid use of Bangle.setUI 0.04: Fix app crashing when new message arrives - +0.05: Minor code improvements diff --git a/apps/messagelist/metadata.json b/apps/messagelist/metadata.json index 2f1abe11d..84b0a6489 100644 --- a/apps/messagelist/metadata.json +++ b/apps/messagelist/metadata.json @@ -1,7 +1,7 @@ { "id": "messagelist", "name": "Message List", - "version": "0.04", + "version": "0.05", "description": "Display notifications from iOS and Gadgetbridge/Android as a list", "icon": "app.png", "type": "app", diff --git a/apps/messages_light/ChangeLog b/apps/messages_light/ChangeLog index 37b9c4c5e..43766ccfd 100644 --- a/apps/messages_light/ChangeLog +++ b/apps/messages_light/ChangeLog @@ -8,4 +8,5 @@ 1.4: new management of events implemented; removed code no longer used (from now the music will be managed by the Messagesgui app) 1.5: Fix graphic bug; View via popup while there are other open apps 1.6: fix for #2689; ( white screen ) -1.7: Fix removal notification from the list of current notifications \ No newline at end of file +1.7: Fix removal notification from the list of current notifications +1.08: Minor code improvements diff --git a/apps/messages_light/metadata.json b/apps/messages_light/metadata.json index 8c454b33d..cd3f92493 100644 --- a/apps/messages_light/metadata.json +++ b/apps/messages_light/metadata.json @@ -1,7 +1,7 @@ { "id": "messages_light", "name": "Messages Light", - "version": "1.7", + "version": "1.08", "description": "A light implementation of messages App (display notifications from iOS and Gadgetbridge/Android)", "icon": "app.png", "type": "app", diff --git a/apps/minimal_clock/ChangeLog b/apps/minimal_clock/ChangeLog index 54ee389e3..e38a7c5a5 100644 --- a/apps/minimal_clock/ChangeLog +++ b/apps/minimal_clock/ChangeLog @@ -1,3 +1,4 @@ ... 0.03: First update with ChangeLog Added 0.04: Tell clock widgets to hide. +0.05: Minor code improvements diff --git a/apps/minimal_clock/metadata.json b/apps/minimal_clock/metadata.json index 3089780ce..9f0a398c8 100644 --- a/apps/minimal_clock/metadata.json +++ b/apps/minimal_clock/metadata.json @@ -1,7 +1,7 @@ { "id": "minimal_clock", "name": "Minimal Analog Clock", "shortName":"Minimal Clock", - "version":"0.04", + "version": "0.05", "description": "a minimal analog clock - just with some hands and no clock face", "icon": "app-icon.png", "type": "clock", diff --git a/apps/moonphase/ChangeLog b/apps/moonphase/ChangeLog index baa668c3c..c9f09e0f5 100644 --- a/apps/moonphase/ChangeLog +++ b/apps/moonphase/ChangeLog @@ -1,2 +1,3 @@ 0.01: New App! -0.02: Added GPS to obtain coordinates, added buttons \ No newline at end of file +0.02: Added GPS to obtain coordinates, added buttons +0.03: Minor code improvements diff --git a/apps/moonphase/metadata.json b/apps/moonphase/metadata.json index 548518338..0fc963f5b 100644 --- a/apps/moonphase/metadata.json +++ b/apps/moonphase/metadata.json @@ -1,7 +1,7 @@ { "id": "moonphase", "name": "Moonphase", - "version": "0.02", + "version": "0.03", "description": "Shows current moon phase. Now with GPS function.", "icon": "app.png", "tags": "", diff --git a/apps/mtgwatchface/ChangeLog b/apps/mtgwatchface/ChangeLog index 32a3cd454..f0310586c 100644 --- a/apps/mtgwatchface/ChangeLog +++ b/apps/mtgwatchface/ChangeLog @@ -1,2 +1,3 @@ 0.01: New App! 0.02: Support Dark Theme. +0.03: Minor code improvements diff --git a/apps/mtgwatchface/metadata.json b/apps/mtgwatchface/metadata.json index ac5fe9287..6b7e75d6c 100644 --- a/apps/mtgwatchface/metadata.json +++ b/apps/mtgwatchface/metadata.json @@ -2,7 +2,7 @@ "id": "mtgwatchface", "name": "MTG Watchface", "shortName": "Magic the Gathering Watch Face", - "version": "0.02", + "version": "0.03", "description": "Magic the Gathering themed watch face. Embrace the inner wizzard. Dispay any of the different types of mana on your watch. Which color are you devoted to today? ", "icon": "icon.png", "screenshots": [ diff --git a/apps/multiclock/ChangeLog b/apps/multiclock/ChangeLog index 50b9049ac..5a481b1d4 100644 --- a/apps/multiclock/ChangeLog +++ b/apps/multiclock/ChangeLog @@ -8,4 +8,4 @@ 0.08: fix minute tick bug 0.09: use setUI clockupdown for controls + fix small display bug in nifty face 0.10: stop widget field from flashing when moving to the dk clock face. - +0.11: Minor code improvements diff --git a/apps/multiclock/metadata.json b/apps/multiclock/metadata.json index cdc84d78f..8ebbef900 100644 --- a/apps/multiclock/metadata.json +++ b/apps/multiclock/metadata.json @@ -1,7 +1,7 @@ { "id": "multiclock", "name": "Multi Clock", - "version": "0.10", + "version": "0.11", "description": "Clock with multiple faces. Switch between faces with BTN1 & BTN3 (Bangle 2 touch top-right, bottom right). For best display set theme Background 2 to cyan or some other bright colour in settings.", "screenshots": [{"url":"screen-ana.png"},{"url":"screen-big.png"},{"url":"screen-td.png"},{"url":"screen-nifty.png"},{"url":"screen-word.png"},{"url":"screen-sec.png"}], "icon": "multiclock.png", diff --git a/apps/nato/ChangeLog b/apps/nato/ChangeLog index 5560f00bc..7727f3cc4 100644 --- a/apps/nato/ChangeLog +++ b/apps/nato/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Minor code improvements diff --git a/apps/nato/metadata.json b/apps/nato/metadata.json index 49366e6e7..5dd5b9c9b 100644 --- a/apps/nato/metadata.json +++ b/apps/nato/metadata.json @@ -2,7 +2,7 @@ "id": "nato", "name": "NATO Alphabet", "shortName": "NATOAlphabet", - "version": "0.01", + "version": "0.02", "description": "Learn the NATO Phonetic alphabet plus some numbers.", "icon": "nato.png", "type": "app", diff --git a/apps/nixie/ChangeLog b/apps/nixie/ChangeLog index 5560f00bc..7727f3cc4 100644 --- a/apps/nixie/ChangeLog +++ b/apps/nixie/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Minor code improvements diff --git a/apps/nixie/metadata.json b/apps/nixie/metadata.json index 50f02712b..df8c4653e 100644 --- a/apps/nixie/metadata.json +++ b/apps/nixie/metadata.json @@ -2,7 +2,7 @@ "id": "nixie", "name": "Nixie Clock", "shortName": "Nixie", - "version": "0.01", + "version": "0.02", "description": "A nixie tube clock for both Bangle 1 and 2.", "icon": "nixie.png", "type": "clock", diff --git a/apps/novaclock/ChangeLog b/apps/novaclock/ChangeLog index 8b05ff9ec..35d9f1ea1 100644 --- a/apps/novaclock/ChangeLog +++ b/apps/novaclock/ChangeLog @@ -1,3 +1,4 @@ ... 0.10: First update with ChangeLog Added 0.11: Tell clock widgets to hide. +0.12: Minor code improvements diff --git a/apps/novaclock/metadata.json b/apps/novaclock/metadata.json index 69b7627f8..40e41443c 100644 --- a/apps/novaclock/metadata.json +++ b/apps/novaclock/metadata.json @@ -3,7 +3,7 @@ "shortName":"Nova Clock", "icon": "app.png", "type": "clock", - "version":"0.11", + "version": "0.12", "description": "A clock inspired by the Kirby series", "tags": "clock", "supports": ["BANGLEJS2"], diff --git a/apps/numerals/ChangeLog b/apps/numerals/ChangeLog index d6703a96b..f8e76dd62 100644 --- a/apps/numerals/ChangeLog +++ b/apps/numerals/ChangeLog @@ -9,3 +9,4 @@ 0.09: Tweak for faster rendering 0.10: Enhance for use with Bangle2, insert new draw mode 'thickfill' 0.11: Convert Yes/No On/Off in settings to checkboxes +0.12: Minor code improvements diff --git a/apps/numerals/metadata.json b/apps/numerals/metadata.json index 6a1adc810..bcfb623e2 100644 --- a/apps/numerals/metadata.json +++ b/apps/numerals/metadata.json @@ -2,7 +2,7 @@ "id": "numerals", "name": "Numerals Clock", "shortName": "Numerals Clock", - "version": "0.11", + "version": "0.12", "description": "A simple big numerals clock", "icon": "numerals.png", "type": "clock", diff --git a/apps/openwind/ChangeLog b/apps/openwind/ChangeLog index 50dbb9f64..2ae849d58 100644 --- a/apps/openwind/ChangeLog +++ b/apps/openwind/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App! 0.02: Fix true wind computation, add swipe gesture to pause GPS 0.03: Use default Bangle formatter for booleans +0.04: Minor code improvements diff --git a/apps/openwind/metadata.json b/apps/openwind/metadata.json index 5e0a60972..24120f7ae 100644 --- a/apps/openwind/metadata.json +++ b/apps/openwind/metadata.json @@ -1,7 +1,7 @@ { "id": "openwind", "name": "OpenWind", "shortName":"OpenWind", - "version":"0.03", + "version": "0.04", "description": "OpenWind", "icon": "openwind.png", "readme": "README.md", diff --git a/apps/orloj/ChangeLog b/apps/orloj/ChangeLog index 263d4078d..79da4daf2 100644 --- a/apps/orloj/ChangeLog +++ b/apps/orloj/ChangeLog @@ -1 +1,2 @@ 0.01: attempt to import +0.02: Minor code improvements diff --git a/apps/orloj/metadata.json b/apps/orloj/metadata.json index a59d2e6dd..7c0b320d0 100644 --- a/apps/orloj/metadata.json +++ b/apps/orloj/metadata.json @@ -1,6 +1,6 @@ { "id": "orloj", "name": "Orloj", - "version":"0.01", + "version": "0.02", "description": "Astronomical clock", "icon": "app.png", "readme": "README.md", diff --git a/apps/pastel/ChangeLog b/apps/pastel/ChangeLog index 02cef7774..90956c18a 100644 --- a/apps/pastel/ChangeLog +++ b/apps/pastel/ChangeLog @@ -20,3 +20,4 @@ 0.17: Use default Bangle formatter for booleans 0.18: fix idle option always getting defaulted to true 0.19: Use 'modules/suncalc.js' to avoid it being copied 8 times for different apps +0.20: Minor code improvements diff --git a/apps/pastel/metadata.json b/apps/pastel/metadata.json index cf4bbbe9b..532aa8ccc 100644 --- a/apps/pastel/metadata.json +++ b/apps/pastel/metadata.json @@ -2,7 +2,7 @@ "id": "pastel", "name": "Pastel Clock", "shortName": "Pastel", - "version": "0.19", + "version": "0.20", "description": "A Configurable clock with custom fonts, background and weather display. Has a cyclic information line that includes, day, date, battery, sunrise and sunset times", "icon": "pastel.png", "dependencies": {"mylocation":"app","weather":"app"}, diff --git a/apps/patriotclk/ChangeLog b/apps/patriotclk/ChangeLog index c9f08fcc2..a4ac74482 100644 --- a/apps/patriotclk/ChangeLog +++ b/apps/patriotclk/ChangeLog @@ -1,2 +1,3 @@ 0.01: New App! -0.02: Show the date inside the widget bar \ No newline at end of file +0.02: Show the date inside the widget bar +0.03: Minor code improvements diff --git a/apps/patriotclk/metadata.json b/apps/patriotclk/metadata.json index 689f1422d..af8553c83 100644 --- a/apps/patriotclk/metadata.json +++ b/apps/patriotclk/metadata.json @@ -1,7 +1,7 @@ { "id": "patriotclk", "name": "Patriotic Clock", "shortName":"Patriot", - "version":"0.02", + "version": "0.03", "description": "Show your Patriotism with your Country's flag as a clock face (configurable). Swipe down to show widgets and date.", "icon": "app.png", "screenshots": [{"url":"screenshot.png"}], diff --git a/apps/pebblepp/ChangeLog b/apps/pebblepp/ChangeLog index 83be498bd..a250646d5 100644 --- a/apps/pebblepp/ChangeLog +++ b/apps/pebblepp/ChangeLog @@ -2,4 +2,5 @@ 0.02: clock_info now uses app name to maintain settings specifically for this clock face ensure clockinfo text is usppercase (font doesn't render lowercase) 0.03: Use smaller font if clock_info test doesn't fit in area -0.04: Ensure we only scale down clockinfo text if it really won't fit \ No newline at end of file +0.04: Ensure we only scale down clockinfo text if it really won't fit +0.05: Minor code improvements diff --git a/apps/pebblepp/metadata.json b/apps/pebblepp/metadata.json index e2be44ea0..d6598b709 100644 --- a/apps/pebblepp/metadata.json +++ b/apps/pebblepp/metadata.json @@ -2,7 +2,7 @@ "id": "pebblepp", "name": "Pebble++ Clock", "shortName": "Pebble++", - "version": "0.04", + "version": "0.05", "description": "A pebble style clock (based on the 'Pebble Clock' app) but with two configurable ClockInfo items at the top", "icon": "app.png", "screenshots": [{"url":"screenshot.png"}], diff --git a/apps/pizzatimer/ChangeLog b/apps/pizzatimer/ChangeLog index 3c3e41a33..3d27619b5 100644 --- a/apps/pizzatimer/ChangeLog +++ b/apps/pizzatimer/ChangeLog @@ -1 +1,2 @@ -0.01: You can now time cooking a Pizza! \ No newline at end of file +0.01: You can now time cooking a Pizza! +0.02: Minor code improvements diff --git a/apps/pizzatimer/metadata.json b/apps/pizzatimer/metadata.json index e960ecacc..29c9cc510 100644 --- a/apps/pizzatimer/metadata.json +++ b/apps/pizzatimer/metadata.json @@ -2,7 +2,7 @@ "id": "pizzatimer", "name": "Pizza Timer", "shortName": "Pizza Timer", - "version": "0.01", + "version": "0.02", "description": "A timer app for when you cook Pizza. Some say it can also time other things", "icon": "pizza.png", "tags": "timer,tool,pizza", diff --git a/apps/planetarium/ChangeLog b/apps/planetarium/ChangeLog index 9ef1f5c5b..9f2d5c936 100644 --- a/apps/planetarium/ChangeLog +++ b/apps/planetarium/ChangeLog @@ -3,3 +3,4 @@ 0.03: Added more stars and constellations. Now it shows 20 constellations. 0.04: Use default Bangle formatter for booleans 0.05: Added more constellations (scorpio and aguila) +0.06: Minor code improvements diff --git a/apps/planetarium/metadata.json b/apps/planetarium/metadata.json index a0327b842..e21f16f86 100644 --- a/apps/planetarium/metadata.json +++ b/apps/planetarium/metadata.json @@ -2,7 +2,7 @@ "id": "planetarium", "name": "Planetarium", "shortName": "Planetarium", - "version": "0.05", + "version": "0.06", "description": "Planetarium showing up to 500 stars using the watch location and time", "icon": "planetarium.png", "tags": "", diff --git a/apps/pokeclk/ChangeLog b/apps/pokeclk/ChangeLog index 5838e596d..ec81a546a 100644 --- a/apps/pokeclk/ChangeLog +++ b/apps/pokeclk/ChangeLog @@ -1,3 +1,4 @@ 0.01: New face :) 0.02: Color image compressed 0.03: Improved clock +0.04: Minor code improvements diff --git a/apps/pokeclk/metadata.json b/apps/pokeclk/metadata.json index c022868ec..dfefb1017 100644 --- a/apps/pokeclk/metadata.json +++ b/apps/pokeclk/metadata.json @@ -2,7 +2,7 @@ "id": "pokeclk", "name": "Poketch Clock", "shortName":"Poketch Clock", - "version": "0.03", + "version": "0.04", "description": "A clock based on the Poketch electronic device found in Sinnoh", "icon": "app.png", "type": "clock", diff --git a/apps/polymath/ChangeLog b/apps/polymath/ChangeLog new file mode 100644 index 000000000..62542be60 --- /dev/null +++ b/apps/polymath/ChangeLog @@ -0,0 +1,2 @@ +0.01: New app! +0.02: Minor code improvements diff --git a/apps/polymath/metadata.json b/apps/polymath/metadata.json index 7d13f8537..6c4ed4ec0 100644 --- a/apps/polymath/metadata.json +++ b/apps/polymath/metadata.json @@ -2,7 +2,7 @@ "name": "A Polymaths Clock", "shortName":"Polymath", "icon": "app.png", - "version":"0.01", + "version": "0.02", "description": "This is a graphical clock based on Anton Clock with date, day and moon phase. Beta", "screenshots" : [ { "url":"screenshot.png" }, { "url":"polymathclock.jpg" } ], "type":"clock", diff --git a/apps/pong/ChangeLog b/apps/pong/ChangeLog index 198d7bbde..04e697617 100644 --- a/apps/pong/ChangeLog +++ b/apps/pong/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App! 0.02: 2 players local + improve ai 0.03: Keep display on during gameplay +0.04: Minor code improvements diff --git a/apps/pong/metadata.json b/apps/pong/metadata.json index 192af8ee6..171ca1185 100644 --- a/apps/pong/metadata.json +++ b/apps/pong/metadata.json @@ -2,7 +2,7 @@ "id": "pong", "name": "Pong", "shortName": "Pong", - "version": "0.03", + "version": "0.04", "description": "A clone of the Atari game Pong", "icon": "pong.png", "type": "app", diff --git a/apps/pooqroman/ChangeLog b/apps/pooqroman/ChangeLog index b21b34b58..10bd00555 100644 --- a/apps/pooqroman/ChangeLog +++ b/apps/pooqroman/ChangeLog @@ -2,3 +2,4 @@ 0.02: Make internal menu time out + small fixes. 0.03: Autolight feature. 0.04: Added adjustment for Bangle.js magnetometer heading fix +0.05: Minor code improvements diff --git a/apps/pooqroman/metadata.json b/apps/pooqroman/metadata.json index 0294e22a0..76523daef 100644 --- a/apps/pooqroman/metadata.json +++ b/apps/pooqroman/metadata.json @@ -1,7 +1,7 @@ { "id": "pooqroman", "name": "pooq Roman watch face", "shortName":"pooq Roman", - "version":"0.04", + "version": "0.05", "description": "A classic watch face with a certain dynamicity. Most amusing in 24h mode. Slide up to show more hands, down for less(!). By design does not support standard widgets, sorry!", "icon": "app.png", "type": "clock", diff --git a/apps/pooqround/ChangeLog b/apps/pooqround/ChangeLog index bc35b69df..27c33795e 100644 --- a/apps/pooqround/ChangeLog +++ b/apps/pooqround/ChangeLog @@ -1,3 +1,4 @@ 0.00: Initial check-in. 0.01: Add tap-to-decorate feature. Bugfixes. 0.02: Add autorotate while charging. Remove autolight. Tweak fonts. Add some haptic feedback on touchscreen operations. +0.03: Minor code improvements diff --git a/apps/pooqround/metadata.json b/apps/pooqround/metadata.json index 27f98a7b6..2dd3baeef 100644 --- a/apps/pooqround/metadata.json +++ b/apps/pooqround/metadata.json @@ -1,7 +1,7 @@ { "id": "pooqround", "name": "pooq Round watch face", "shortName":"pooq Round", - "version":"0.02", + "version": "0.03", "description": "A 24 hour analogue watchface with high legibility and a novel style.", "icon": "app.png", "type": "clock", diff --git a/apps/powermanager/ChangeLog b/apps/powermanager/ChangeLog index 87bbc80c7..6fc9eb0c4 100644 --- a/apps/powermanager/ChangeLog +++ b/apps/powermanager/ChangeLog @@ -12,3 +12,4 @@ 0.09: Accidental version bump 0.10: Use charging state on boot for auto calibration Log additional timestamp for trace log +0.11: Minor code improvements diff --git a/apps/powermanager/metadata.json b/apps/powermanager/metadata.json index 55c7a662e..1c5900c7e 100644 --- a/apps/powermanager/metadata.json +++ b/apps/powermanager/metadata.json @@ -2,7 +2,7 @@ "id": "powermanager", "name": "Power Manager", "shortName": "Power Manager", - "version": "0.10", + "version": "0.11", "description": "Allow configuration of warnings and thresholds for battery charging and display.", "icon": "app.png", "type": "bootloader", diff --git a/apps/poweroff/ChangeLog b/apps/poweroff/ChangeLog index 38e6128f6..a62a1bc43 100644 --- a/apps/poweroff/ChangeLog +++ b/apps/poweroff/ChangeLog @@ -1,3 +1,4 @@ 0.01: New app! 0.02: Add prompt before shutdown 0.03: Add settings to configure prompt +0.04: Minor code improvements diff --git a/apps/poweroff/metadata.json b/apps/poweroff/metadata.json index 254127935..9c558bc5b 100644 --- a/apps/poweroff/metadata.json +++ b/apps/poweroff/metadata.json @@ -1,7 +1,7 @@ { "id": "poweroff", "name": "Poweroff", "shortName":"Poweroff", -"version":"0.03", +"version": "0.04", "description": "Simple app to power off your Bangle.js", "icon": "app.png", "tags": "tool, poweroff, shutdown", diff --git a/apps/presentation_timer/ChangeLog b/apps/presentation_timer/ChangeLog index 8acd0ce07..3f9f86018 100644 --- a/apps/presentation_timer/ChangeLog +++ b/apps/presentation_timer/ChangeLog @@ -1,3 +1,4 @@ 0.01: first release 0.02: added interface for configuration from app loader 0.03: merged save state and interpolating non-defined numeric slides +0.04: Minor code improvements diff --git a/apps/presentation_timer/metadata.json b/apps/presentation_timer/metadata.json index 98f6ab89b..1c6627d04 100644 --- a/apps/presentation_timer/metadata.json +++ b/apps/presentation_timer/metadata.json @@ -1,7 +1,7 @@ { "id": "presentation_timer", "name": "Presentation Timer", - "version": "0.03", + "version": "0.04", "description": "A touch based presentation timer for Bangle JS 2", "icon": "presentation_timer.png", "screenshots": [{"url":"screenshot1.png"},{"url":"screenshot2.png"},{"url":"screenshot3.png"},{"url":"screenshot4.png"}], diff --git a/apps/presentor/ChangeLog b/apps/presentor/ChangeLog index a42c6594d..92ad08dac 100644 --- a/apps/presentor/ChangeLog +++ b/apps/presentor/ChangeLog @@ -11,4 +11,5 @@ 0.11: Fix mouse move getting stuck. 0.12: Added support for mouse dragging action (click then drag). 0.13: Removed mouse dragging (too buggy/unuseful). -0.14: Bugfix and add pointer mode. Also added default screen when no parts are there. \ No newline at end of file +0.14: Bugfix and add pointer mode. Also added default screen when no parts are there. +0.15: Minor code improvements diff --git a/apps/presentor/metadata.json b/apps/presentor/metadata.json index e44684fda..0edc07f2b 100644 --- a/apps/presentor/metadata.json +++ b/apps/presentor/metadata.json @@ -1,7 +1,7 @@ { "id": "presentor", "name": "Presentor", - "version": "0.14", + "version": "0.15", "description": "Use your Bangle to present!", "icon": "app.png", "type": "app", diff --git a/apps/recorder/ChangeLog b/apps/recorder/ChangeLog index 0e20a13fc..4757a0373 100644 --- a/apps/recorder/ChangeLog +++ b/apps/recorder/ChangeLog @@ -45,4 +45,5 @@ 0.36: When recording with 1 second periods, log time with one decimal. 0.37: 1 second periods + gps log => log when gps event is received, not with setInterval. -0.38: Tweaks to speed up track rendering \ No newline at end of file +0.38: Tweaks to speed up track rendering +0.39: Minor code improvements diff --git a/apps/recorder/metadata.json b/apps/recorder/metadata.json index a231a98e9..d8852b46d 100644 --- a/apps/recorder/metadata.json +++ b/apps/recorder/metadata.json @@ -2,7 +2,7 @@ "id": "recorder", "name": "Recorder", "shortName": "Recorder", - "version": "0.38", + "version": "0.39", "description": "Record GPS position, heart rate and more in the background, then download to your PC.", "icon": "app.png", "tags": "tool,outdoors,gps,widget,clkinfo", diff --git a/apps/red7game/ChangeLog b/apps/red7game/ChangeLog index ffe131874..b236123ea 100644 --- a/apps/red7game/ChangeLog +++ b/apps/red7game/ChangeLog @@ -4,3 +4,4 @@ 0.04: Update cards to draw rounded on newer firmware. Make sure in-game menu can't be pulled up during end of game. 0.05: add confirmation prompt to new game to prevent fat fingering new game during existing one. 0.06: fix AI logic typo and add prompt to show what AI played each turn. +0.07: Minor code improvements diff --git a/apps/red7game/metadata.json b/apps/red7game/metadata.json index eeb1cfcb8..143b1746b 100644 --- a/apps/red7game/metadata.json +++ b/apps/red7game/metadata.json @@ -2,7 +2,7 @@ "name": "Red 7 Card Game", "shortName" : "Red 7", "icon": "icon.png", - "version":"0.06", + "version": "0.07", "description": "An implementation of the card game Red 7 for your watch. Play against the AI and be the last player still in the game to win!", "tags": "game", "supports":["BANGLEJS2"], diff --git a/apps/rolex/ChangeLog b/apps/rolex/ChangeLog index 447b084f6..8e7d73e06 100644 --- a/apps/rolex/ChangeLog +++ b/apps/rolex/ChangeLog @@ -3,3 +3,4 @@ 0.03: Made images 2 bit and fixed theme honoring 0.04: Fixed date font alignment and changed date font to match a real Rolex 0.05: Tell clock widget to hide. +0.06: Minor code improvements diff --git a/apps/rolex/metadata.json b/apps/rolex/metadata.json index e8627246c..e5a06f55b 100644 --- a/apps/rolex/metadata.json +++ b/apps/rolex/metadata.json @@ -3,7 +3,7 @@ "shortName":"rolex", "icon": "rolex.png", "screenshots": [{"url":"screenshot1.png"}], - "version":"0.05", + "version": "0.06", "description": "A rolex like watch face", "tags": "clock", "type": "clock", diff --git a/apps/rpnsci/ChangeLog b/apps/rpnsci/ChangeLog index 35ba8b130..0ca422dbe 100644 --- a/apps/rpnsci/ChangeLog +++ b/apps/rpnsci/ChangeLog @@ -1,3 +1,4 @@ 0.01: New app! 0.02: Bug fixes -0.03: Submitted to the app loader \ No newline at end of file +0.03: Submitted to the app loader +0.04: Minor code improvements diff --git a/apps/rpnsci/metadata.json b/apps/rpnsci/metadata.json index 0c52aa8a7..6352d6258 100644 --- a/apps/rpnsci/metadata.json +++ b/apps/rpnsci/metadata.json @@ -3,7 +3,7 @@ "name": "RPN Scientific Calculator", "shortName": "Calculator", "icon": "icon.png", - "version": "0.03", + "version": "0.04", "description": "RPN scientific calculator with memory function.", "tags": "", "supports": [ diff --git a/apps/run/ChangeLog b/apps/run/ChangeLog index 22ab6c22f..ba46d9d06 100644 --- a/apps/run/ChangeLog +++ b/apps/run/ChangeLog @@ -15,4 +15,5 @@ 0.14: Fix Bangle.js 1 issue where after the 'overwrite track' menu, the start/stop button stopped working 0.15: Keep run state between runs (allowing you to exit and restart the app) 0.16: Added ability to resume a run that was stopped previously (fix #1907) -0.17: Ensure screen redraws after "Resume run?" menu (#3044) \ No newline at end of file +0.17: Ensure screen redraws after "Resume run?" menu (#3044) +0.18: Minor code improvements diff --git a/apps/run/metadata.json b/apps/run/metadata.json index 07fb9b85e..3b1c42e0c 100644 --- a/apps/run/metadata.json +++ b/apps/run/metadata.json @@ -1,6 +1,6 @@ { "id": "run", "name": "Run", - "version":"0.17", + "version": "0.18", "description": "Displays distance, time, steps, cadence, pace and more for runners.", "icon": "app.png", "tags": "run,running,fitness,outdoors,gps", diff --git a/apps/runplus/ChangeLog b/apps/runplus/ChangeLog index 96800175a..093c0cf9a 100644 --- a/apps/runplus/ChangeLog +++ b/apps/runplus/ChangeLog @@ -22,4 +22,5 @@ Write to correct settings file, fixing settings not working. 0.20: Tweak HRM min/max defaults. Extend min/max intervals in settings. Fix another typo. 0.21: Rebase on "Run" app ver. 0.16. -0.22: Ensure screen redraws after "Resume run?" menu (#3044) \ No newline at end of file +0.22: Ensure screen redraws after "Resume run?" menu (#3044) +0.23: Minor code improvements diff --git a/apps/runplus/metadata.json b/apps/runplus/metadata.json index 16c6101ca..109cfbf99 100644 --- a/apps/runplus/metadata.json +++ b/apps/runplus/metadata.json @@ -1,7 +1,7 @@ { "id": "runplus", "name": "Run+", - "version": "0.22", + "version": "0.23", "description": "Displays distance, time, steps, cadence, pace and more for runners. Based on the Run app, but extended with additional screen for heart rate interval training.", "icon": "app.png", "tags": "run,running,fitness,outdoors,gps,karvonen,karvonnen", diff --git a/apps/ruuviwatch/ChangeLog b/apps/ruuviwatch/ChangeLog index 7a1d5db21..7eaf8c202 100644 --- a/apps/ruuviwatch/ChangeLog +++ b/apps/ruuviwatch/ChangeLog @@ -1,4 +1,5 @@ 0.01: Hello Ruuvi Watch! 0.02: Clear gfx on startup. 0.03: Improve design and code, reduce flicker. -0.04: Ability to rename tags. Sauna, Fridge & Freezer alert. Support °F based on locale. \ No newline at end of file +0.04: Ability to rename tags. Sauna, Fridge & Freezer alert. Support °F based on locale. +0.05: Minor code improvements diff --git a/apps/ruuviwatch/metadata.json b/apps/ruuviwatch/metadata.json index eab9f64bf..c88e6d9e6 100644 --- a/apps/ruuviwatch/metadata.json +++ b/apps/ruuviwatch/metadata.json @@ -2,7 +2,7 @@ "name": "Ruuvi Watch", "shortName":"Ruuvi Watch", "icon": "ruuviwatch.png", - "version":"0.04", + "version": "0.05", "description": "Keep an eye on RuuviTag devices (https://ruuvi.com). For RuuviTags using the v5 format.", "readme":"README.md", "tags": "bluetooth", diff --git a/apps/scribble/ChangeLog b/apps/scribble/ChangeLog index af7f83942..65816ab23 100644 --- a/apps/scribble/ChangeLog +++ b/apps/scribble/ChangeLog @@ -1 +1,2 @@ 0.01: Initial release +0.02: Minor code improvements diff --git a/apps/scribble/metadata.json b/apps/scribble/metadata.json index eaec185ee..2c31be931 100644 --- a/apps/scribble/metadata.json +++ b/apps/scribble/metadata.json @@ -1,7 +1,7 @@ { "id": "scribble", "name": "Scribble", "shortName":"Scribble", - "version":"0.01", + "version": "0.02", "type": "app", "description": "A keyboard on your wrist! Swipe right for space, left for delete.", "icon": "app.png", diff --git a/apps/sevenmin/ChangeLog b/apps/sevenmin/ChangeLog index 1a3bc1757..62542be60 100644 --- a/apps/sevenmin/ChangeLog +++ b/apps/sevenmin/ChangeLog @@ -1 +1,2 @@ 0.01: New app! +0.02: Minor code improvements diff --git a/apps/sevenmin/metadata.json b/apps/sevenmin/metadata.json index f39b23bce..5103a5f97 100644 --- a/apps/sevenmin/metadata.json +++ b/apps/sevenmin/metadata.json @@ -1,7 +1,7 @@ { "id": "sevenmin", "name": "Seven minute workout", "shortName": "7 min wo", - "version": "0.01", + "version": "0.02", "description": "A basic implementation of the famous consice workout", "icon": "icon.png", "type":"app", diff --git a/apps/simple_clock/ChangeLog b/apps/simple_clock/ChangeLog index 9d55c1a91..59708756a 100644 --- a/apps/simple_clock/ChangeLog +++ b/apps/simple_clock/ChangeLog @@ -1,3 +1,4 @@ ... 0.02: First update with ChangeLog Added 0.03: Tell clock widgets to hide. +0.04: Minor code improvements diff --git a/apps/simple_clock/metadata.json b/apps/simple_clock/metadata.json index 512bcd674..ea15fdf0b 100644 --- a/apps/simple_clock/metadata.json +++ b/apps/simple_clock/metadata.json @@ -1,7 +1,7 @@ { "id": "simple_clock", "name": "Simple Analog Clock", "shortName":"Simple Clock", - "version":"0.03", + "version": "0.04", "description": "a simple, yet stylish, analog clock", "icon": "app-icon.png", "type": "clock", diff --git a/apps/sixths/ChangeLog b/apps/sixths/ChangeLog index 454f6d101..c70e1531a 100644 --- a/apps/sixths/ChangeLog +++ b/apps/sixths/ChangeLog @@ -1,2 +1,3 @@ 0.01: attempt to import 0.02: better GPS support, adding altitude and temperature support +0.03: Minor code improvements diff --git a/apps/sixths/metadata.json b/apps/sixths/metadata.json index d79e72ced..ee80be84d 100644 --- a/apps/sixths/metadata.json +++ b/apps/sixths/metadata.json @@ -1,6 +1,6 @@ { "id": "sixths", "name": "Sixth sense", - "version":"0.02", + "version": "0.03", "description": "Clock for outdoor use with GPS support", "icon": "app.png", "readme": "README.md", diff --git a/apps/skyspy/ChangeLog b/apps/skyspy/ChangeLog index 263d4078d..79da4daf2 100644 --- a/apps/skyspy/ChangeLog +++ b/apps/skyspy/ChangeLog @@ -1 +1,2 @@ 0.01: attempt to import +0.02: Minor code improvements diff --git a/apps/skyspy/metadata.json b/apps/skyspy/metadata.json index 7294c2637..07bc9280a 100644 --- a/apps/skyspy/metadata.json +++ b/apps/skyspy/metadata.json @@ -1,6 +1,6 @@ { "id": "skyspy", "name": "Sky Spy", - "version":"0.01", + "version": "0.02", "description": "Application for debugging GPS problems", "icon": "app.png", "readme": "README.md", diff --git a/apps/sleeplogalarm/ChangeLog b/apps/sleeplogalarm/ChangeLog index 286221777..e2e97f8c4 100644 --- a/apps/sleeplogalarm/ChangeLog +++ b/apps/sleeplogalarm/ChangeLog @@ -3,3 +3,4 @@ 0.03: Correct how to ignore last triggered alarm 0.04: Make "disable alarm" possible on next day; correct alarm filtering; improve settings 0.05: Correct hide function + replace all `var` with `let`. +0.06: Minor code improvements diff --git a/apps/sleeplogalarm/metadata.json b/apps/sleeplogalarm/metadata.json index fd68ce376..694704ec8 100644 --- a/apps/sleeplogalarm/metadata.json +++ b/apps/sleeplogalarm/metadata.json @@ -2,7 +2,7 @@ "id":"sleeplogalarm", "name":"Sleep Log Alarm", "shortName": "SleepLogAlarm", - "version": "0.05", + "version": "0.06", "description": "Enhance your morning and let your alarms wake you up when you are in light sleep.", "icon": "app.png", "type": "widget", diff --git a/apps/slomoclock/ChangeLog b/apps/slomoclock/ChangeLog index cfab5da55..28fd26391 100644 --- a/apps/slomoclock/ChangeLog +++ b/apps/slomoclock/ChangeLog @@ -1,2 +1,3 @@ 0.01: Created app 0.10: Different colour schemes selectable in SloMo Clock settings. +0.11: Minor code improvements diff --git a/apps/slomoclock/metadata.json b/apps/slomoclock/metadata.json index 5afcbf87c..a59d82c3b 100644 --- a/apps/slomoclock/metadata.json +++ b/apps/slomoclock/metadata.json @@ -2,7 +2,7 @@ "id": "slomoclock", "name": "SloMo Clock", "shortName": "SloMo Clock", - "version": "0.10", + "version": "0.11", "description": "Simple 24h clock face with large digits, hour above minute. Uses Layout library.", "icon": "watch.png", "type": "clock", diff --git a/apps/sokoban/ChangeLog b/apps/sokoban/ChangeLog index f931ec63e..79bf505a1 100644 --- a/apps/sokoban/ChangeLog +++ b/apps/sokoban/ChangeLog @@ -3,3 +3,4 @@ * Fix for last level offsets parsing * Fix for title display +0.03: Minor code improvements diff --git a/apps/sokoban/metadata.json b/apps/sokoban/metadata.json index 752c17e75..275c57c30 100644 --- a/apps/sokoban/metadata.json +++ b/apps/sokoban/metadata.json @@ -2,7 +2,7 @@ "id": "sokoban", "name": "Sokoban", "shortName": "Sokoban", - "version": "0.02", + "version": "0.03", "description": "Classic Sokoban game (microban levels).", "allow_emulator":false, "icon": "sokoban.png", diff --git a/apps/solarclock/ChangeLog b/apps/solarclock/ChangeLog index 983875aab..f3fb24821 100644 --- a/apps/solarclock/ChangeLog +++ b/apps/solarclock/ChangeLog @@ -1,2 +1,3 @@ 0.01: Initial Release 0.02: Bug fixes +0.03: Minor code improvements diff --git a/apps/solarclock/metadata.json b/apps/solarclock/metadata.json index 428b4c486..15a475df3 100644 --- a/apps/solarclock/metadata.json +++ b/apps/solarclock/metadata.json @@ -1,7 +1,7 @@ { "id": "solarclock", "name": "Solar Clock", - "version": "0.02", + "version": "0.03", "description": "Using your current or chosen location the solar watch face shows the Sun's sky position, time and date. Also allows you to wind backwards and forwards in time to see the sun's position", "icon": "solar_clock.png", "type": "clock", diff --git a/apps/spaceclock/ChangeLog b/apps/spaceclock/ChangeLog index 5560f00bc..7727f3cc4 100644 --- a/apps/spaceclock/ChangeLog +++ b/apps/spaceclock/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Minor code improvements diff --git a/apps/spaceclock/metadata.json b/apps/spaceclock/metadata.json index 404135679..1e8bc266f 100644 --- a/apps/spaceclock/metadata.json +++ b/apps/spaceclock/metadata.json @@ -1,7 +1,7 @@ { "id": "spaceclock", "name": "Space Clock (Casio Style)", "shortName":"Space Clock", - "version":"0.01", + "version": "0.02", "description": "Watch face in the style of Casio Prototype Space Resist", "icon": "app-icon.png", "type": "clock", diff --git a/apps/speedalt/ChangeLog b/apps/speedalt/ChangeLog index 224d2711d..73f13286b 100644 --- a/apps/speedalt/ChangeLog +++ b/apps/speedalt/ChangeLog @@ -11,3 +11,4 @@ 0.11: Now also runs on Bangle.js 2 with basic functionality 0.12: Full functionality on Bangle.js 2: Bangle.js 1 buttons mapped to touch areas. 0.13: Use default Bangle formatter for booleans +0.14: Minor code improvements diff --git a/apps/speedalt/metadata.json b/apps/speedalt/metadata.json index 255a0e550..90573e977 100644 --- a/apps/speedalt/metadata.json +++ b/apps/speedalt/metadata.json @@ -2,7 +2,7 @@ "id": "speedalt", "name": "GPS Adventure Sports", "shortName": "GPS Adv Sport", - "version": "0.13", + "version": "0.14", "description": "GPS speed, altitude and distance to waypoint display. Designed for easy viewing and use during outdoor activities such as para-gliding, hang-gliding, sailing, cycling etc.", "icon": "app.png", "type": "app", diff --git a/apps/speedalt2/ChangeLog b/apps/speedalt2/ChangeLog index ec76c6a16..060f6c738 100644 --- a/apps/speedalt2/ChangeLog +++ b/apps/speedalt2/ChangeLog @@ -16,3 +16,4 @@ 0.16: Add configuration item Wpt File Suffix. A one character suffix to append to the waypoints.json file. A number of other apps also use this file name. Using the file name suffix allows the speedalt2 waypoints to be retained if one of these other apps is installed for a different use. 0.17: Use default Bangle formatter for booleans 0.18: Move waypoints.json to 'waypoints' app (with editor) +0.19: Minor code improvements diff --git a/apps/speedalt2/metadata.json b/apps/speedalt2/metadata.json index 1b0ba06bb..ad0c28101 100644 --- a/apps/speedalt2/metadata.json +++ b/apps/speedalt2/metadata.json @@ -2,7 +2,7 @@ "id": "speedalt2", "name": "GPS Adventure Sports II", "shortName":"GPS Adv Sport II", - "version":"0.18", + "version": "0.19", "description": "GPS speed, altitude and distance to waypoint display. Designed for easy viewing and use during outdoor activities such as para-gliding, hang-gliding, sailing, cycling etc.", "icon": "app.png", "type": "app", diff --git a/apps/speedo/ChangeLog b/apps/speedo/ChangeLog index 91df52211..70988d5a4 100644 --- a/apps/speedo/ChangeLog +++ b/apps/speedo/ChangeLog @@ -4,3 +4,4 @@ Use 'locale' to get internationalised speed 0.04: Start GPS after loading app, just in case widgets affect it (#449) 0.05: Use Layout lib for Bangle.js 2 compatibility +0.06: Minor code improvements diff --git a/apps/speedo/metadata.json b/apps/speedo/metadata.json index f081e73da..f5055ae24 100644 --- a/apps/speedo/metadata.json +++ b/apps/speedo/metadata.json @@ -1,7 +1,7 @@ { "id": "speedo", "name": "Speedo", - "version": "0.05", + "version": "0.06", "description": "Show the current speed according to the GPS", "icon": "speedo.png", "tags": "tool,outdoors,gps", diff --git a/apps/stacker/ChangeLog b/apps/stacker/ChangeLog index b0d975391..4fdfefa99 100644 --- a/apps/stacker/ChangeLog +++ b/apps/stacker/ChangeLog @@ -1,2 +1,3 @@ 0.01: New App! -0.02: Optimizations \ No newline at end of file +0.02: Optimizations +0.03: Minor code improvements diff --git a/apps/stacker/metadata.json b/apps/stacker/metadata.json index 3516625a1..1c7ff8df7 100644 --- a/apps/stacker/metadata.json +++ b/apps/stacker/metadata.json @@ -1,7 +1,7 @@ { "id": "stacker", "name": "Stacker", "shortName":"Stacker", - "version":"0.02", + "version": "0.03", "description": "Game of Stacking", "icon": "app.png", "tags": "game", diff --git a/apps/stardateclock/ChangeLog b/apps/stardateclock/ChangeLog index bb6430b65..6997c9a2e 100644 --- a/apps/stardateclock/ChangeLog +++ b/apps/stardateclock/ChangeLog @@ -1,3 +1,4 @@ 0.01: Initial release on the app repository for Bangle.js 1 and 2 0.02: Fixed let/const usage while using firmware version >=2v14 0.03: Tell clock widgets to hide. +0.04: Minor code improvements diff --git a/apps/stardateclock/metadata.json b/apps/stardateclock/metadata.json index d27b14512..61938d9ad 100644 --- a/apps/stardateclock/metadata.json +++ b/apps/stardateclock/metadata.json @@ -3,7 +3,7 @@ "name":"Stardate Clock", "shortName":"Stardate Clock", "description": "A clock displaying a stardate along with a 'standard' digital/analog clock in LCARS design", - "version":"0.03", + "version": "0.04", "icon": "app.png", "type":"clock", "tags": "clock", diff --git a/apps/stopwatch/ChangeLog b/apps/stopwatch/ChangeLog index cb016df1a..bdbe987da 100644 --- a/apps/stopwatch/ChangeLog +++ b/apps/stopwatch/ChangeLog @@ -3,3 +3,4 @@ 0.03: Do not register as watch, manually start clock on button 0.04: Keep running in background by saving state 0.05: Fast Loading support +0.06: Minor code improvements diff --git a/apps/stopwatch/metadata.json b/apps/stopwatch/metadata.json index 27cdacb71..961e6c95e 100644 --- a/apps/stopwatch/metadata.json +++ b/apps/stopwatch/metadata.json @@ -1,7 +1,7 @@ { "id": "stopwatch", "name": "Stopwatch Touch", - "version": "0.05", + "version": "0.06", "description": "A touch based stop watch for Bangle JS 2", "icon": "stopwatch.png", "screenshots": [{"url":"screenshot1.png"},{"url":"screenshot2.png"},{"url":"screenshot3.png"}], diff --git a/apps/stressless/ChangeLog b/apps/stressless/ChangeLog index 55ebb3e4b..68ca62642 100644 --- a/apps/stressless/ChangeLog +++ b/apps/stressless/ChangeLog @@ -1 +1,2 @@ 0.01: New App +0.02: Minor code improvements diff --git a/apps/stressless/metadata.json b/apps/stressless/metadata.json index 8c27620d3..fba8f6253 100644 --- a/apps/stressless/metadata.json +++ b/apps/stressless/metadata.json @@ -2,7 +2,7 @@ "name": "Stressless", "shortName":"Stressless", "icon": "stressless.png", - "version":"0.01", + "version": "0.02", "description": "This is a heart activity tracker for PIIS stressless project", "tags": "health", "supports": ["BANGLEJS"], diff --git a/apps/sunrise/ChangeLog b/apps/sunrise/ChangeLog index 58e3c9232..146665907 100644 --- a/apps/sunrise/ChangeLog +++ b/apps/sunrise/ChangeLog @@ -4,3 +4,4 @@ 0.04: Always show the widgets, swifter animations and lighter sea line 0.05: Fixed hours increasing too early, added missing 23 o'clock, simplified code 0.06: Draw the screen exactly on the minute boundary +0.07: Minor code improvements diff --git a/apps/sunrise/metadata.json b/apps/sunrise/metadata.json index 0490a8543..495ff3089 100644 --- a/apps/sunrise/metadata.json +++ b/apps/sunrise/metadata.json @@ -2,7 +2,7 @@ "id": "sunrise", "name": "Sunrise", "shortName": "Sunrise", - "version": "0.06", + "version": "0.07", "type": "clock", "description": "Show sunrise and sunset times", "icon": "app.png", diff --git a/apps/supf/ChangeLog b/apps/supf/ChangeLog index 55ebb3e4b..68ca62642 100644 --- a/apps/supf/ChangeLog +++ b/apps/supf/ChangeLog @@ -1 +1,2 @@ 0.01: New App +0.02: Minor code improvements diff --git a/apps/supf/metadata.json b/apps/supf/metadata.json index 324e37b84..a5c94ed24 100644 --- a/apps/supf/metadata.json +++ b/apps/supf/metadata.json @@ -2,7 +2,7 @@ "id": "supf", "name": "Simple Clock with Date", "shortName": "supf Clock", - "version": "0.01", + "version": "0.02", "description": "Simple Clock with seconds and date in custom language. Install 'Languages' to get localized names.", "icon": "icon.png", "screenshots": [{"url":"screenshot_supf.png"}], diff --git a/apps/swscroll/ChangeLog b/apps/swscroll/ChangeLog index 9283a85da..26fba92e9 100644 --- a/apps/swscroll/ChangeLog +++ b/apps/swscroll/ChangeLog @@ -3,3 +3,4 @@ 0.03: Rebasing on latest changes to showScroller_Q3 (https://github.com/espruino/Espruino/commit/b6f8105b6348bb6f7cd03ac11efc1f3585c6ad79). Ensure that changing a menu item when half-scrolled off screen doesn't overwrite widgets. 0.04: Rebasing on latest changes to showScroller_Q3 (https://github.com/espruino/Espruino/commit/a0e2d9231df709849f81abf572a742b0fceab85b). Fixes missing `isActive` function that caused an error. 0.05: Fix for the rebase in ver 0.04. Check boxes didn't behave but now they do. +0.06: Minor code improvements diff --git a/apps/swscroll/metadata.json b/apps/swscroll/metadata.json index 3c0717d14..4fbdd61cf 100644 --- a/apps/swscroll/metadata.json +++ b/apps/swscroll/metadata.json @@ -1,7 +1,7 @@ { "id": "swscroll", "name": "Swipe menus", - "version": "0.05", + "version": "0.06", "description": "Replace built in E.showScroller to act on swipe instead of drag. Navigate menus in discrete steps instead of a continuous motion.", "readme": "README.md", "icon": "app.png", diff --git a/apps/synthwave/ChangeLog b/apps/synthwave/ChangeLog new file mode 100644 index 000000000..62542be60 --- /dev/null +++ b/apps/synthwave/ChangeLog @@ -0,0 +1,2 @@ +0.01: New app! +0.02: Minor code improvements diff --git a/apps/synthwave/metadata.json b/apps/synthwave/metadata.json index 8972e3faa..ed53f9716 100644 --- a/apps/synthwave/metadata.json +++ b/apps/synthwave/metadata.json @@ -1,7 +1,7 @@ { "id": "synthwave", "name": "synthwave clock", - "version": "0.01", + "version": "0.02", "description": "A watchface with an animated 3D scene.", "readme": "README.md", "icon": "app.png", diff --git a/apps/tabanchi/ChangeLog b/apps/tabanchi/ChangeLog index 4e2facf6f..e5a4c8021 100644 --- a/apps/tabanchi/ChangeLog +++ b/apps/tabanchi/ChangeLog @@ -1,3 +1,4 @@ 0.01: Initial implementation 0.02: Fix app icon 0.03: Fix clock animation issue and reduce source size +0.04: Minor code improvements diff --git a/apps/tabanchi/metadata.json b/apps/tabanchi/metadata.json index f72147162..db81707b5 100644 --- a/apps/tabanchi/metadata.json +++ b/apps/tabanchi/metadata.json @@ -2,7 +2,7 @@ "id": "tabanchi", "name": "Tabanchi", "shortName": "Tabanchi", - "version": "0.03", + "version": "0.04", "type": "app", "description": "Tamagotchi WatchApp", "icon": "app.png", diff --git a/apps/tabata/ChangeLog b/apps/tabata/ChangeLog index 86faf17a5..096d75186 100644 --- a/apps/tabata/ChangeLog +++ b/apps/tabata/ChangeLog @@ -1,2 +1,3 @@ 0.01: New App! 0.02: Fix settings wrapping code for new menu system +0.03: Minor code improvements diff --git a/apps/tabata/metadata.json b/apps/tabata/metadata.json index a840c9c8b..052ec9c1e 100644 --- a/apps/tabata/metadata.json +++ b/apps/tabata/metadata.json @@ -2,7 +2,7 @@ "id": "tabata", "name": "Tabata", "shortName": "Tabata - Control High-Intensity Interval Training", - "version": "0.02", + "version": "0.03", "description": "Control high-intensity interval training (according to tabata: https://en.wikipedia.org/wiki/Tabata_method).", "icon": "tabata.png", "tags": "workout,health", diff --git a/apps/tapkb/ChangeLog b/apps/tapkb/ChangeLog index 624f1b0fb..b7e50d38d 100644 --- a/apps/tapkb/ChangeLog +++ b/apps/tapkb/ChangeLog @@ -1 +1,2 @@ -0.01: Initial version \ No newline at end of file +0.01: Initial version +0.02: Minor code improvements diff --git a/apps/tapkb/metadata.json b/apps/tapkb/metadata.json index c450f3d47..9d23dfba7 100644 --- a/apps/tapkb/metadata.json +++ b/apps/tapkb/metadata.json @@ -1,7 +1,7 @@ { "id": "tapkb", "name": "Tap keyboard", - "version":"0.01", + "version": "0.02", "description": "An onscreen tap keyboard.", "icon": "app.png", "type":"textinput", diff --git a/apps/terminal/ChangeLog b/apps/terminal/ChangeLog index 5560f00bc..7727f3cc4 100644 --- a/apps/terminal/ChangeLog +++ b/apps/terminal/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Minor code improvements diff --git a/apps/terminal/metadata.json b/apps/terminal/metadata.json index d32d00927..dbbc0a079 100644 --- a/apps/terminal/metadata.json +++ b/apps/terminal/metadata.json @@ -1,7 +1,7 @@ { "id": "terminal", "name": "VT100 Terminal", "shortName":"Terminal", - "version":"0.01", + "version": "0.02", "description": "Terminal and Keyboard that can be used as a REPL. You can type JS commands into Bangle.js's own REPL and execute them, or you can connect to other Bluetooth LE UART devices (like other Espruinos) and issue commands.", "icon": "app.png", "tags": "terminal,tool,bluetooth", diff --git a/apps/testuserinput/ChangeLog b/apps/testuserinput/ChangeLog index 3cdee327c..4b93411fc 100644 --- a/apps/testuserinput/ChangeLog +++ b/apps/testuserinput/ChangeLog @@ -4,3 +4,4 @@ 0.04: Improvements and new radio button option elements 0.05: ... 0.06: Improvements, multiple rows with radio buttons +0.07: Minor code improvements diff --git a/apps/testuserinput/metadata.json b/apps/testuserinput/metadata.json index e279ae509..574fd995f 100644 --- a/apps/testuserinput/metadata.json +++ b/apps/testuserinput/metadata.json @@ -2,7 +2,7 @@ "id": "testuserinput", "name": "Test User Input", "shortName": "Test User Input", - "version": "0.06", + "version": "0.07", "description": "App to test the bangle.js input interface. It displays the user action in text, circle buttons or on/off switch UI elements.", "icon": "app.png", "tags": "input,interface,buttons,touch,UI", diff --git a/apps/tetris/ChangeLog b/apps/tetris/ChangeLog index be909ae52..767130064 100644 --- a/apps/tetris/ChangeLog +++ b/apps/tetris/ChangeLog @@ -4,3 +4,4 @@ 0.04: Bring back old controls as "swipe" in menu, exit with button press 0.10: Major overhaul: added score, levels, bugfixes and misc, inspired by NES tetris 0.11: Save/Restore game state +0.12: Minor code improvements diff --git a/apps/tetris/metadata.json b/apps/tetris/metadata.json index c82bb59f8..5633cf86d 100644 --- a/apps/tetris/metadata.json +++ b/apps/tetris/metadata.json @@ -1,7 +1,7 @@ { "id": "tetris", "name": "Tetris", "shortName":"Tetris", - "version":"0.11", + "version": "0.12", "description": "Tetris", "icon": "tetris.png", "readme": "README.md", diff --git a/apps/themesetter/ChangeLog b/apps/themesetter/ChangeLog index ddbd06706..8d9c7ab19 100644 --- a/apps/themesetter/ChangeLog +++ b/apps/themesetter/ChangeLog @@ -1,2 +1,3 @@ ... 0.04: First update with ChangeLog Added +0.05: Minor code improvements diff --git a/apps/themesetter/metadata.json b/apps/themesetter/metadata.json index f6a319ec0..51e42272e 100644 --- a/apps/themesetter/metadata.json +++ b/apps/themesetter/metadata.json @@ -1,7 +1,7 @@ { "id": "themesetter", "name": "Theme Setter", "shortName":"Theme Setter", - "version":"0.04", + "version": "0.05", "description": "a comfortable way to configure theme colors", "icon": "app-icon.png", "type": "app", diff --git a/apps/thering/ChangeLog b/apps/thering/ChangeLog index 25c572560..fb03ffd10 100644 --- a/apps/thering/ChangeLog +++ b/apps/thering/ChangeLog @@ -1,2 +1,3 @@ 0.01: Initial release. 0.02: Use widget_utils. +0.03: Minor code improvements diff --git a/apps/thering/metadata.json b/apps/thering/metadata.json index 6118a90f9..6777bf53f 100644 --- a/apps/thering/metadata.json +++ b/apps/thering/metadata.json @@ -1,6 +1,6 @@ { "id": "thering", "name": "The Ring", - "version":"0.02", + "version": "0.03", "description": "A proof of concept clock with large ring guage for steps using pre-set images, acts as a tutorial piece for discussion", "icon": "app.png", "tags": "clock", diff --git a/apps/tictactoe/ChangeLog b/apps/tictactoe/ChangeLog index 1619cf1c2..014e162c8 100644 --- a/apps/tictactoe/ChangeLog +++ b/apps/tictactoe/ChangeLog @@ -1 +1,2 @@ 0.01: Stable Launch +0.02: Minor code improvements diff --git a/apps/tictactoe/metadata.json b/apps/tictactoe/metadata.json index 11010b156..eaef3542f 100644 --- a/apps/tictactoe/metadata.json +++ b/apps/tictactoe/metadata.json @@ -2,7 +2,7 @@ "name": "TicTacToe", "shortName":"TicTacToe", "icon": "app.png", - "version":"0.01", + "version": "0.02", "description": "Tic Tac Toe for two players!", "tags": "game", "storage": [ diff --git a/apps/timeandlife/ChangeLog b/apps/timeandlife/ChangeLog index 115067b80..5369c6838 100644 --- a/apps/timeandlife/ChangeLog +++ b/apps/timeandlife/ChangeLog @@ -1 +1,2 @@ 0.01: New app +0.02: Minor code improvements diff --git a/apps/timeandlife/metadata.json b/apps/timeandlife/metadata.json index acd6b0086..2b97c0281 100644 --- a/apps/timeandlife/metadata.json +++ b/apps/timeandlife/metadata.json @@ -3,7 +3,7 @@ "name": "Time and Life", "shortName": "Time and Life", "icon": "app.png", - "version": "0.01", + "version": "0.02", "description": "A simple watchface which displays the time when the screen is tapped and decay according to the rules of Conway's game of life.", "type": "clock", "tags": "clock", diff --git a/apps/timerclk/ChangeLog b/apps/timerclk/ChangeLog index 46aa52ee1..4712a061d 100644 --- a/apps/timerclk/ChangeLog +++ b/apps/timerclk/ChangeLog @@ -3,3 +3,4 @@ 0.03: Use default Bangle formatter for booleans 0.04: Use 'modules/suncalc.js' to avoid it being copied 8 times for different apps 0.05: Improve responsiveness and detection of swipes on main clock screen +0.06: Minor code improvements diff --git a/apps/timerclk/metadata.json b/apps/timerclk/metadata.json index 0a6311ac1..aef45f3fc 100644 --- a/apps/timerclk/metadata.json +++ b/apps/timerclk/metadata.json @@ -2,7 +2,7 @@ "id": "timerclk", "name": "Timer Clock", "shortName":"Timer Clock", - "version":"0.05", + "version": "0.06", "description": "A clock with stopwatches, timers and alarms build in.", "icon": "app-icon.png", "type": "clock", diff --git a/apps/tinyVario/ChangeLog b/apps/tinyVario/ChangeLog index a201ee465..a693c4136 100644 --- a/apps/tinyVario/ChangeLog +++ b/apps/tinyVario/ChangeLog @@ -3,3 +3,4 @@ 0.03: Changed menu layout, fixed automatic flight time detection. 0.04: flight time detection should work without GPS now. New vario display available. 0.05: some bugs fiexed, no new features. +0.06: Minor code improvements diff --git a/apps/tinyVario/metadata.json b/apps/tinyVario/metadata.json index f038e7515..ee1175d84 100644 --- a/apps/tinyVario/metadata.json +++ b/apps/tinyVario/metadata.json @@ -1,7 +1,7 @@ { "id": "tinyVario", "name": "Tiny Vario", "shortName" : "tinyVario", - "version":"0.05", + "version": "0.06", "icon": "app.png", "readme": "README.md", "description": "A very simple app for gliding / paragliding / hang gliding etc.", diff --git a/apps/toucher/ChangeLog b/apps/toucher/ChangeLog index e15ffa29b..a309b4f7f 100644 --- a/apps/toucher/ChangeLog +++ b/apps/toucher/ChangeLog @@ -6,3 +6,4 @@ 0.06: Complete rewrite in 80x80, better perf, add settings 0.07: Added suppport for Bangle 2, added README file 0.08: Use default Bangle formatter for booleans +0.09: Minor code improvements diff --git a/apps/toucher/metadata.json b/apps/toucher/metadata.json index 0c7a35773..9c4cd9678 100644 --- a/apps/toucher/metadata.json +++ b/apps/toucher/metadata.json @@ -2,7 +2,7 @@ "id": "toucher", "name": "Touch Launcher", "shortName": "Toucher", - "version": "0.08", + "version": "0.09", "description": "Touch enable left to right launcher.", "icon": "app.png", "type": "launch", diff --git a/apps/vernierrespirate/ChangeLog b/apps/vernierrespirate/ChangeLog index 5560f00bc..7727f3cc4 100644 --- a/apps/vernierrespirate/ChangeLog +++ b/apps/vernierrespirate/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Minor code improvements diff --git a/apps/vernierrespirate/metadata.json b/apps/vernierrespirate/metadata.json index 5e2baf2bb..517b95e33 100644 --- a/apps/vernierrespirate/metadata.json +++ b/apps/vernierrespirate/metadata.json @@ -2,7 +2,7 @@ "id": "vernierrespirate", "name": "Vernier Go Direct Respiration Belt", "shortName": "Respiration Belt", - "version": "0.01", + "version": "0.02", "description": "Connects to a Go Direct Respiration Belt and shows respiration rate", "icon": "app.png", "tags": "health,bluetooth", diff --git a/apps/viewstl/ChangeLog b/apps/viewstl/ChangeLog index fa2dcb2e1..4a49d85e7 100644 --- a/apps/viewstl/ChangeLog +++ b/apps/viewstl/ChangeLog @@ -1,2 +1,3 @@ 0.01: New app! 0.02: Add accelerometer/compass viewing mode +0.03: Minor code improvements diff --git a/apps/viewstl/metadata.json b/apps/viewstl/metadata.json index 8d1cc3f98..8de658a95 100644 --- a/apps/viewstl/metadata.json +++ b/apps/viewstl/metadata.json @@ -2,7 +2,7 @@ "id": "viewstl", "name": "STL file viewer", "shortName": "ViewSTL", - "version": "0.02", + "version": "0.03", "description": "This app allows you to view STL 3D models on your watch", "icon": "icons8-octahedron-48.png", "tags": "tool", diff --git a/apps/walkersclock/ChangeLog b/apps/walkersclock/ChangeLog index 57404ac41..c0ebde89c 100644 --- a/apps/walkersclock/ChangeLog +++ b/apps/walkersclock/ChangeLog @@ -2,3 +2,4 @@ 0.02: Fixed screen flicker 0.03: Added display of GPS fix lat/lon and course 0.04: Don't buzz for GPS fix in Quiet Mode +0.05: Minor code improvements diff --git a/apps/walkersclock/metadata.json b/apps/walkersclock/metadata.json index 3d93cffdf..ad40033f7 100644 --- a/apps/walkersclock/metadata.json +++ b/apps/walkersclock/metadata.json @@ -2,7 +2,7 @@ "id": "walkersclock", "name": "Walkers Clock", "shortName": "Walkers Clock", - "version": "0.04", + "version": "0.05", "description": "A large font watch, displays steps, can switch GPS on/off, displays grid reference", "icon": "walkersclock48.png", "type": "clock", diff --git a/apps/warpdrive/ChangeLog b/apps/warpdrive/ChangeLog new file mode 100644 index 000000000..62542be60 --- /dev/null +++ b/apps/warpdrive/ChangeLog @@ -0,0 +1,2 @@ +0.01: New app! +0.02: Minor code improvements diff --git a/apps/warpdrive/metadata.json b/apps/warpdrive/metadata.json index c4fa1277e..3558f517a 100644 --- a/apps/warpdrive/metadata.json +++ b/apps/warpdrive/metadata.json @@ -1,7 +1,7 @@ { "id": "warpdrive", "name": "warpdrive clock", - "version": "0.01", + "version": "0.02", "description": "A watchface with an animated 3D scene.", "readme": "README.md", "icon": "app.png", diff --git a/apps/waternet/ChangeLog b/apps/waternet/ChangeLog index 7c9a36687..6ba406a6c 100644 --- a/apps/waternet/ChangeLog +++ b/apps/waternet/ChangeLog @@ -1,2 +1,3 @@ 0.01: Initial version of Waternet port for Bangle JS 2 -0.02: Bigger play field tiles (more readable on watch), Always run without widgets visible \ No newline at end of file +0.02: Bigger play field tiles (more readable on watch), Always run without widgets visible +0.03: Minor code improvements diff --git a/apps/waternet/metadata.json b/apps/waternet/metadata.json index 59170617a..0f7703d57 100644 --- a/apps/waternet/metadata.json +++ b/apps/waternet/metadata.json @@ -1,7 +1,7 @@ { "id": "waternet", "name": "Waternet", "shortName":"Waternet", - "version":"0.02", + "version": "0.03", "description": "Puzzle game where water needs to flow through pipes by sliding or rotating them", "icon": "app.png", "screenshots": [{"url":"screenshot2.png"},{"url":"screenshot1.png"},{"url":"screenshot3.png"},{"url":"screenshot4.png"},{"url":"screenshot5.png"},{"url":"screenshot6.png"}], diff --git a/apps/waypointer/ChangeLog b/apps/waypointer/ChangeLog index 8c8a323de..547954400 100644 --- a/apps/waypointer/ChangeLog +++ b/apps/waypointer/ChangeLog @@ -7,3 +7,4 @@ 0.07: Add settings file with the option to disable the slow direction updates 0.08: Use tilt compensation from new magnav library 0.09: Convert Yes/No On/Off in settings to checkboxes +0.10: Minor code improvements diff --git a/apps/waypointer/metadata.json b/apps/waypointer/metadata.json index 189639d61..423aaa9cc 100644 --- a/apps/waypointer/metadata.json +++ b/apps/waypointer/metadata.json @@ -1,7 +1,7 @@ { "id": "waypointer", "name": "Way Pointer", - "version": "0.09", + "version": "0.10", "description": "Navigate to a waypoint using the GPS for bearing and compass to point way, uses the same waypoint interface as GPS Navigation", "icon": "waypointer.png", "tags": "tool,outdoors,gps", diff --git a/apps/waypoints/ChangeLog b/apps/waypoints/ChangeLog index ed3d1bc9b..f8863ebaf 100644 --- a/apps/waypoints/ChangeLog +++ b/apps/waypoints/ChangeLog @@ -2,3 +2,4 @@ 0.02: Merge waypoint_editor here, so waypoints can be edited on device, too. 0.03: Do not register as type waypoint - show in launcher Fixes for Bangle.js 1 & not installed textinput +0.04: Minor code improvements diff --git a/apps/waypoints/metadata.json b/apps/waypoints/metadata.json index b2121e00d..bc88cff2e 100644 --- a/apps/waypoints/metadata.json +++ b/apps/waypoints/metadata.json @@ -1,6 +1,6 @@ { "id": "waypoints", "name": "Waypoints", - "version":"0.03", + "version": "0.04", "description": "Provides 'waypoints.json' used by various navigation apps, as well as a way to edit it from the App Loader or from the device", "icon": "app.png", "tags": "tool,outdoors,gps", diff --git a/apps/widbgjs/ChangeLog b/apps/widbgjs/ChangeLog index a88c5f063..d328ba3be 100644 --- a/apps/widbgjs/ChangeLog +++ b/apps/widbgjs/ChangeLog @@ -1,2 +1,3 @@ 0.01: First release 0.02: Fixed settings changes are actually reflected now and old values are strikethrough +0.03: Minor code improvements diff --git a/apps/widbgjs/metadata.json b/apps/widbgjs/metadata.json index fce68514c..166a35b92 100644 --- a/apps/widbgjs/metadata.json +++ b/apps/widbgjs/metadata.json @@ -4,7 +4,7 @@ "shortName":"BG Widget", "icon": "screenshot.png", "screenshots": [{"url":"screenshot.png"}], - "version":"0.02", + "version": "0.03", "type": "widget", "supports": ["BANGLEJS", "BANGLEJS2"], "readme": "README.md", diff --git a/apps/widhwbttm/ChangeLog b/apps/widhwbttm/ChangeLog index 7d3aafc41..1fa453ff3 100644 --- a/apps/widhwbttm/ChangeLog +++ b/apps/widhwbttm/ChangeLog @@ -1,3 +1,4 @@ 0.01: 1st ver, inspired in some code from widclkbttm (Digital clock bttom widget) 0.02: Correction, intervals, dynamic color and font size depending on device 0.03: minor corrections, and color depending on theme +0.04: Minor code improvements diff --git a/apps/widhwbttm/metadata.json b/apps/widhwbttm/metadata.json index 8a6957a46..76230c9ca 100644 --- a/apps/widhwbttm/metadata.json +++ b/apps/widhwbttm/metadata.json @@ -2,7 +2,7 @@ "id": "widhwbttm", "name": "HW stats (Bottom) widget", "shortName": "Digital clock Bottom Widget", - "version": "0.03", + "version": "0.04", "description": "Displays technical info, such as model, ver, temperatura or mem stats in the bottom of the screen (may not be compatible with some apps)", "icon": "widhwbttm.png", "type": "widget", diff --git a/apps/worldclock/ChangeLog b/apps/worldclock/ChangeLog index 831dd3b5c..a8f26c43b 100644 --- a/apps/worldclock/ChangeLog +++ b/apps/worldclock/ChangeLog @@ -4,3 +4,4 @@ 0.04: setUI, different screen sizes 0.05: Now update *on* the minute rather than every 15 secs Fix rendering of single extra timezone on Bangle.js 2 +0.06: Minor code improvements diff --git a/apps/worldclock/metadata.json b/apps/worldclock/metadata.json index 706831a09..e3ea398ff 100644 --- a/apps/worldclock/metadata.json +++ b/apps/worldclock/metadata.json @@ -2,7 +2,7 @@ "id": "worldclock", "name": "World Clock - 4 time zones", "shortName": "World Clock", - "version": "0.05", + "version": "0.06", "description": "Current time zone plus up to four others", "icon": "app.png", "screenshots": [{"url":"screenshot_world.png"}], diff --git a/apps/wrkmem/ChangeLog b/apps/wrkmem/ChangeLog index 0684d10ee..2abc811df 100644 --- a/apps/wrkmem/ChangeLog +++ b/apps/wrkmem/ChangeLog @@ -1,2 +1,3 @@ 1.00: Implement Working Memory Helper app -1.01: Fix issue with rendering in 2v18 \ No newline at end of file +1.01: Fix issue with rendering in 2v18 +1.02: Minor code improvements diff --git a/apps/wrkmem/metadata.json b/apps/wrkmem/metadata.json index e8860f2c6..4b848bd10 100644 --- a/apps/wrkmem/metadata.json +++ b/apps/wrkmem/metadata.json @@ -2,7 +2,7 @@ "id" : "wrkmem", "name" : "Working Memory Helper", "shortName" : "Work Mem", - "version" : "1.01", + "version": "1.02", "description" : "Externalize your working memory to help stay on task.", "dependencies" : {"textinput": "type"}, "icon" : "icon.png", From 5bb07d22108e25fd66e300b3bfb2b034bca579aa Mon Sep 17 00:00:00 2001 From: Anton Date: Mon, 4 Mar 2024 22:41:40 +0100 Subject: [PATCH 34/46] Fixes --- apps/.eslintrc.js | 3 --- apps/cards/metadata.json | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/apps/.eslintrc.js b/apps/.eslintrc.js index c190b82a0..6ff8f8dc8 100644 --- a/apps/.eslintrc.js +++ b/apps/.eslintrc.js @@ -6,9 +6,6 @@ module.exports = { // TODO: "banglejs": false }, "extends": "eslint:recommended", - "plugins": [ - - ], "globals": { // Methods and Fields at https://banglejs.com/reference "Array": "readonly", diff --git a/apps/cards/metadata.json b/apps/cards/metadata.json index 74bfaa2b3..4bc3c9ae1 100644 --- a/apps/cards/metadata.json +++ b/apps/cards/metadata.json @@ -1,7 +1,7 @@ { "id": "cards", "name": "Cards", - "version": "0.03", + "version": "0.04", "description": "Display loyalty cards", "icon": "app.png", "screenshots": [{"url":"screenshot_cards_overview.png"}, {"url":"screenshot_cards_card1.png"}, {"url":"screenshot_cards_card2.png"}, {"url":"screenshot_cards_barcode.png"}, {"url":"screenshot_cards_qrcode.png"}], From 3b9b43453b561444b7283e1459a59ffd6e50b1b2 Mon Sep 17 00:00:00 2001 From: Anton Date: Mon, 4 Mar 2024 22:44:26 +0100 Subject: [PATCH 35/46] Reapply exceptions for changed apps --- apps/lint_exemptions.js | 60 ++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/apps/lint_exemptions.js b/apps/lint_exemptions.js index 24531d576..d9cff2806 100644 --- a/apps/lint_exemptions.js +++ b/apps/lint_exemptions.js @@ -119,12 +119,6 @@ module.exports = { "no-unused-vars" ] }, - "locale/locales.js": { - "hash": "c89110fccb76824508aab0ed8374eb06843a9173262fd3a93cf3a67b098ee5a3", - "rules": [ - "no-unused-vars" - ] - }, "legoremote/app.js": { "hash": "af12068cd1b84369aa8416a82e9335298f6a4b69b56aa7bc70b9eb0d91e6d78e", "rules": [ @@ -269,12 +263,6 @@ module.exports = { "no-unused-vars" ] }, - "sleeplog/lib.js": { - "hash": "5210446eb507f62897782735e7d56a2e84ea5f9dba557ef67a977f53065f3461", - "rules": [ - "no-unused-vars" - ] - }, "sleeplog/app.js": { "hash": "336da552e4b04677447cf76a253b40bc259a597ea11d455121933f93afe99794", "rules": [ @@ -449,12 +437,6 @@ module.exports = { "no-unused-vars" ] }, - "doztime/app-bangle1.js": { - "hash": "ba263e0ff80cb0ab1df9fe19e62a4972bb8646ea709af8bc41206e9a6395d539", - "rules": [ - "no-unused-vars" - ] - }, "devstopwatch/app.js": { "hash": "bb75693cc6ed2ffef0d227a40b53079e06d1ebcc7c2d9eed671b5401a8e06433", "rules": [ @@ -503,12 +485,6 @@ module.exports = { "no-unused-vars" ] }, - "carcrazy/app.js": { - "hash": "82b9b291ad6e2efcb689e5bb7f48a5ba1a3b59f740a5ab4634006f3d413cee7e", - "rules": [ - "no-unused-vars" - ] - }, "animclk/create_images.js": { "hash": "05a222b265effe46b2c7a9cc0822c6c4cd86335d5d3a0cecce5fdd15d5e09b9f", "rules": [ @@ -563,16 +539,40 @@ module.exports = { "no-unused-vars" ] }, - "a_dndtoggle/a_dndtoggle.app.js": { - "hash": "8ba115261df8ddb14bf7d16a300a114a1e59ace4da478657968390b62ba53cbb", - "rules": [ - "no-unused-vars" - ] - }, "HRV/app.js": { "hash": "265b4b0272c43126670b5026079711354cee0a211096bcd2c18139b7a3ee774a", "rules": [ "no-unused-vars" ] + }, + "locale/locales.js": { + "hash": "bf2fd659e673b34a1ffa98c7ae7ca89de86a4ff9f823244d028e85bc465ed3c7", + "rules": [ + "no-unused-vars" + ] + }, + "sleeplog/lib.js": { + "hash": "755e0d4c02b92181281fd6990df39c9446c73ff896b50b64d7e14cb1c0188556", + "rules": [ + "no-unused-vars" + ] + }, + "doztime/app-bangle1.js": { + "hash": "1e9598c201175180ae77d1c3bc47e8138b339b72eb58782b5057fb7aefdc88a1", + "rules": [ + "no-unused-vars" + ] + }, + "carcrazy/app.js": { + "hash": "fd9f98f4f9e24c63a8fa02918dceab4503edf88e06537922caf86e85884408f3", + "rules": [ + "no-unused-vars" + ] + }, + "a_dndtoggle/a_dndtoggle.app.js": { + "hash": "190b2416e57db0886ffbbe94d86fc05779b69802d9b94561588baeb756cc3d90", + "rules": [ + "no-unused-vars" + ] } }; From 8b42685f442dc00e9e707d39647c255b18e94804 Mon Sep 17 00:00:00 2001 From: Anton Date: Mon, 4 Mar 2024 22:48:41 +0100 Subject: [PATCH 36/46] Update node We need support for global crypto, which was added in node 19 --- .github/workflows/nodejs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 7c0cfca3a..440d0b19e 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -11,10 +11,10 @@ jobs: uses: actions/checkout@v3 with: submodules: recursive - - name: Use Node.js 16.x + - name: Use Node.js 20.x uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.x - name: Install testing dependencies run: npm ci - name: Test all apps and widgets From 000543edf30abe5d5f3ab77cac7712bd37c4f431 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Mon, 4 Mar 2024 22:14:50 +0000 Subject: [PATCH 37/46] widlockunlock: update description --- apps/widlockunlock/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/widlockunlock/metadata.json b/apps/widlockunlock/metadata.json index f98f29d63..c3f871c84 100644 --- a/apps/widlockunlock/metadata.json +++ b/apps/widlockunlock/metadata.json @@ -2,7 +2,7 @@ "id": "widlockunlock", "name": "Lock/Unlock Widget", "version": "0.03", - "description": "On devices with always-on display (Bangle.js 2) this displays lock icon whenever the display is locked, or an unlock icon otherwise. Tap to lock the lcd", + "description": "On devices with always-on display (Bangle.js 2) this displays lock icon whenever the display is locked, or an unlock icon otherwise. Tap to lock the lcd (unless the back button is shown, in which case it takes priority)", "icon": "widget.png", "type": "widget", "tags": "widget,lock", From 2495627f3ef7883490f18821b126a38f553cbc2e Mon Sep 17 00:00:00 2001 From: Anton Date: Tue, 5 Mar 2024 12:42:56 +0100 Subject: [PATCH 38/46] Add bulk-update script --- bin/bulk-update-apps.mjs | 114 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 bin/bulk-update-apps.mjs diff --git a/bin/bulk-update-apps.mjs b/bin/bulk-update-apps.mjs new file mode 100644 index 000000000..92e084d8b --- /dev/null +++ b/bin/bulk-update-apps.mjs @@ -0,0 +1,114 @@ +#!/usr/bin/env node + +/** + * @file + * You can use this script to bump the version of many apps with the same changes. + * You need to specify a hash for a git commit along with a message that describes the changes made to the apps. + * + * The apps that were changed in the git commit are bumped to a new minor version, + * and their changelogs are updated with the message you provided. + * + * Run it like this: + * node bin/bulk-update-apps.mjs GITHASH CHANGELOGMESSAGE + * + * Example command: + * node bin/exempt-lint.mjs 29ced17i7 'Minor code improvements' + * + * You can also run it in output mode like this: + * node bin/bulk-update-apps.mjs GITHASH --output + * + * This mode doesn't make any changes to your files, it outputs the ID's of all apps that would be bumped. + */ + +import { exec } from "node:child_process"; +import fs from "node:fs/promises"; + +const commitHash = process.argv[2]; +if (!commitHash || commitHash === "--output") { + throw new Error( + "First argument needs to be a git commit hash, something like '29ced17i7'", + ); +} + +const changelogMessage = process.argv[3]; +if (!changelogMessage) { + throw new Error( + "Second argument needs to be a changelog message, something like 'Minor code improvements'", + ); +} + +let outputFlag = false; +if (process.argv[3] === "--output" || process.argv[4] === "--output") { + outputFlag = true; +} + +const gitOutput = await new Promise((resolve) => { + exec( + `git diff-tree --no-commit-id --name-only ${commitHash} -r`, + (error, stdout, stderr) => { + if (error) { + throw new Error(`Could not get git diff: ${error}`); + } else if (stderr) { + throw new Error(`Could not get git diff: ${stderr}`); + } else if (!stdout) { + throw new Error(`Git command did not return any data`); + } + + resolve(stdout); + }, + ); +}); + +/** + * Extract the id of each app and make sure there are no duplicates + */ +const appIds = [ + ...new Set( + [...gitOutput.matchAll(/^(?:.*?\/apps\/|apps\/)(?.*?)\//gmu)] + .map((match) => match?.groups?.id) + .filter((match) => match), + ), +]; + +if (outputFlag) { + for (const appId of appIds) { + console.log(appId); + } +} else { + for (const appId of appIds) { + const metadataPath = `apps/${appId}/metadata.json`; + const changelogPath = `apps/${appId}/ChangeLog`; + + const metadataContent = await fs.readFile(metadataPath, { + encoding: "utf8", + }); + const metadata = JSON.parse(metadataContent); + + const minorVersionNumber = parseInt(metadata.version.split(".").at(-1)); + const newMinorVersionString = `${minorVersionNumber < 9 ? "0" : ""}${(minorVersionNumber + 1).toString()}`; + const newVersion = [ + ...metadata.version.split(".").slice(0, -1), + newMinorVersionString, + ].join("."); + + const versionMatch = metadataContent.match( + /^\s*(?"version"\s*:\s*".*"\s*,)/mu, + ); + const newMatadataContent = metadataContent.replace( + versionMatch.groups.declaration, + `"version": "${newVersion}",`, + ); + await fs.writeFile(metadataPath, newMatadataContent); + + let changelog = await fs.readFile(changelogPath, { + encoding: "utf8", + flag: "a+", + }); + + changelog = changelog.replace(/\n*$/u, ""); //trim trailing whitespace + changelog ||= "0.01: New app!"; // init the changelog file if it doesn't exist + changelog += `\n${newVersion}: ${changelogMessage}\n`; // add the new version with correct whitespace + + await fs.writeFile(changelogPath, changelog, { flag: "w+" }); + } +} From 141dc3da005203cba375c9908318edc6abb00fdc Mon Sep 17 00:00:00 2001 From: Anton Date: Tue, 5 Mar 2024 12:47:04 +0100 Subject: [PATCH 39/46] Format new code --- bin/exempt-lint.mjs | 48 ++++++++++++++++++------------------ bin/sync-lint-exemptions.mjs | 37 ++++++++++++++------------- 2 files changed, 42 insertions(+), 43 deletions(-) diff --git a/bin/exempt-lint.mjs b/bin/exempt-lint.mjs index f2ca64fc8..08652ad05 100755 --- a/bin/exempt-lint.mjs +++ b/bin/exempt-lint.mjs @@ -1,15 +1,15 @@ #!/usr/bin/env node -/** +/** * @file * You can use this script to exempt an app file from a specific eslint rule. - * + * * This should only be used to exempt existing apps when a new lint rule is added. * You are not allowed to exempt your new app from existing lint rules. - * + * * Run it like this: * node bin/exempt-lint.mjs LINTRULE FILEPATH - * + * * Example command: * node bin/exempt-lint.mjs no-unused-vars ./apps/_example_app/app.js */ @@ -17,24 +17,28 @@ import fs from "node:fs/promises"; const lintRule = process.argv[2]; -if(!lintRule){ - throw new Error("First argument needs to be a lint rule, something like 'no-unused-vars'"); +if (!lintRule) { + throw new Error( + "First argument needs to be a lint rule, something like 'no-unused-vars'", + ); } const filePathInput = process.argv[3]; -const filePathMatch = filePathInput?.match(/^(?:.*?\/apps\/|apps\/|\/)?(?.*\.js)$/ui); +const filePathMatch = filePathInput?.match( + /^(?:.*?\/apps\/|apps\/|\/)?(?.*\.js)$/iu, +); const filePath = filePathMatch?.groups?.path; -if(!filePath){ - throw new Error("Second argument needs to be a file path that looks something like './apps/_example_app/app.js'"); +if (!filePath) { + throw new Error( + "Second argument needs to be a file path that looks something like './apps/_example_app/app.js'", + ); } - const exemptionsFilePath = "../apps/lint_exemptions.js"; const exemptions = (await import(exemptionsFilePath)).default; -const fileContents = await fs.readFile("apps/" + filePath, "utf8"); - +const fileContents = await fs.readFile(`apps/${filePath}`, "utf8"); const exemption = exemptions[filePath] || {}; exemption.hash = await hashContents(fileContents); @@ -43,24 +47,20 @@ rules.add(lintRule); exemption.rules = [...rules]; exemptions[filePath] = exemption; - - const output = `module.exports = ${JSON.stringify(exemptions, undefined, 2)};\n`; -await fs.writeFile("bin/" + exemptionsFilePath, output); +await fs.writeFile(`bin/${exemptionsFilePath}`, output); console.log(`✔️ '${filePath}' is now exempt from the rule '${lintRule}'`); - - /** * https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest#converting_a_digest_to_a_hex_string */ async function hashContents(message) { - const msgUint8 = new TextEncoder().encode(message); // encode as (utf-8) Uint8Array - const hashBuffer = await crypto.subtle.digest("SHA-256", msgUint8); // hash the message - const hashArray = Array.from(new Uint8Array(hashBuffer)); // convert buffer to byte array - const hashHex = hashArray - .map((b) => b.toString(16).padStart(2, "0")) - .join(""); // convert bytes to hex string - return hashHex; + const msgUint8 = new TextEncoder().encode(message); // encode as (utf-8) Uint8Array + const hashBuffer = await crypto.subtle.digest("SHA-256", msgUint8); // hash the message + const hashArray = Array.from(new Uint8Array(hashBuffer)); // convert buffer to byte array + const hashHex = hashArray + .map((b) => b.toString(16).padStart(2, "0")) + .join(""); // convert bytes to hex string + return hashHex; } diff --git a/bin/sync-lint-exemptions.mjs b/bin/sync-lint-exemptions.mjs index ee024ac84..cbf18fe3c 100755 --- a/bin/sync-lint-exemptions.mjs +++ b/bin/sync-lint-exemptions.mjs @@ -1,10 +1,10 @@ #!/usr/bin/env node -/** +/** * @file * Run this to ensure that the lint exemptions are all valid. * If any of the exempt app files have been changed, this script will remove the exemption for that file. - * + * * Run it like this: * node bin/sync-lint-exemptions.mjs */ @@ -15,32 +15,31 @@ const exemptionsFilePath = "../apps/lint_exemptions.js"; const exemptions = (await import(exemptionsFilePath)).default; -for(const filePath of Object.keys(exemptions)){ - const fileContents = await fs.readFile("apps/" + filePath, "utf8"); - const currentHash = await hashContents(fileContents); - if(exemptions[filePath].hash !== currentHash){ - delete exemptions[filePath]; - console.log(`! Removed lint exemptions for '${filePath}' because it has been edited`); - } +for (const filePath of Object.keys(exemptions)) { + const fileContents = await fs.readFile(`apps/${filePath}`, "utf8"); + const currentHash = await hashContents(fileContents); + if (exemptions[filePath].hash !== currentHash) { + delete exemptions[filePath]; + console.log( + `! Removed lint exemptions for '${filePath}' because it has been edited`, + ); + } } - const output = `module.exports = ${JSON.stringify(exemptions, undefined, 2)};\n`; await fs.writeFile("bin/" + exemptionsFilePath, output); console.log(`✔️ Synchronized all lint exemptions\n`); - - /** * https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest#converting_a_digest_to_a_hex_string */ async function hashContents(message) { - const msgUint8 = new TextEncoder().encode(message); // encode as (utf-8) Uint8Array - const hashBuffer = await crypto.subtle.digest("SHA-256", msgUint8); // hash the message - const hashArray = Array.from(new Uint8Array(hashBuffer)); // convert buffer to byte array - const hashHex = hashArray - .map((b) => b.toString(16).padStart(2, "0")) - .join(""); // convert bytes to hex string - return hashHex; + const msgUint8 = new TextEncoder().encode(message); // encode as (utf-8) Uint8Array + const hashBuffer = await crypto.subtle.digest("SHA-256", msgUint8); // hash the message + const hashArray = Array.from(new Uint8Array(hashBuffer)); // convert buffer to byte array + const hashHex = hashArray + .map((b) => b.toString(16).padStart(2, "0")) + .join(""); // convert bytes to hex string + return hashHex; } From 0b15dfa48f0a7c035efb7108f31a2c663a1dc41b Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 6 Mar 2024 09:17:15 +0000 Subject: [PATCH 40/46] 0.06: Add message icon for 'molly' and 'threema libre' --- apps/messageicons/ChangeLog | 1 + apps/messageicons/icons/generate.js | 15 ++++++++------- apps/messageicons/icons/icon_names.json | 2 ++ apps/messageicons/lib.js | 12 +++++------- apps/messageicons/metadata.json | 2 +- 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/apps/messageicons/ChangeLog b/apps/messageicons/ChangeLog index f420615cb..94f7cdd0e 100644 --- a/apps/messageicons/ChangeLog +++ b/apps/messageicons/ChangeLog @@ -4,3 +4,4 @@ Store all icons in a separate binary file (much faster lookup) 0.04: Add message icon for 'clock' 0.05: Add message icon for 'jira' +0.06: Add message icon for 'molly' and 'threema libre' diff --git a/apps/messageicons/icons/generate.js b/apps/messageicons/icons/generate.js index b77cfc26e..e1c26f6bc 100755 --- a/apps/messageicons/icons/generate.js +++ b/apps/messageicons/icons/generate.js @@ -72,7 +72,9 @@ Promise.all(promises).then(function() { require("fs").writeFileSync(__dirname+"/../icons.img", Buffer.from(iconData,"binary")); console.log("Saving library"); - require("fs").writeFileSync(__dirname+"/../lib.js", `exports.getImage = function(msg) { + require("fs").writeFileSync(__dirname+"/../lib.js", `// This file is auto-generated - DO NOT MODIFY +// If you want to add icons, change icons/icon_names.json and re-run icons/generate.js +exports.getImage = function(msg) { if (msg.img) return atob(msg.img); let s = (("string"=== typeof msg) ? msg : (msg.src || "")).toLowerCase(); if (msg.id=="music") s="music"; @@ -87,16 +89,15 @@ exports.getColor = function(msg,options) { if (st.iconColorMode == 'mono') return options.default; const s = (("string"=== typeof msg) ? msg : (msg.src || "")).toLowerCase(); return { - // This file is generated by /icons/generate.js. If you need to modify its content, you should do it there instead. - // generic colors, using B2-safe colors - // DO NOT USE BLACK OR WHITE HERE, just leave the declaration out and then the theme's fg color will be used + /* generic colors, using B2-safe colors */ ${ /* DO NOT USE BLACK OR WHITE HERE, just leave the declaration out and then the theme's fg color will be used */"" } "airbnb": "#ff385c", // https://news.airbnb.com/media-assets/category/brand/ "mail": "#ff0", "music": "#f0f", "phone": "#0f0", - "sms message": "#0ff", - // brands, according to https://www.schemecolor.com/?s (picking one for multicolored logos) - // all dithered on B2, but we only use the color for the icons. (Could maybe pick the closest 3-bit color for B2?) + "sms message": "#0ff", ${ /* + brands, according to https://www.schemecolor.com/?s (picking one for multicolored logos) + all dithered on B2, but we only use the color for the icons. (Could maybe pick the closest 3-bit color for B2?) +*/""} "bibel": "#54342c", "bring": "#455a64", "discord": "#5865f2", // https://discord.com/branding diff --git a/apps/messageicons/icons/icon_names.json b/apps/messageicons/icons/icon_names.json index 7c09cd397..de8be9e98 100644 --- a/apps/messageicons/icons/icon_names.json +++ b/apps/messageicons/icons/icon_names.json @@ -80,6 +80,7 @@ { "app":"infinity", "icon":"reddit.png" }, { "app":"slide", "icon":"reddit.png" }, { "app":"signal", "icon":"signal.png" }, + { "app":"molly", "icon":"signal.png" }, { "app":"skype", "icon":"skype.png" }, { "app":"slack", "icon":"slack.png" }, { "app":"snapchat", "icon":"snapchat.png" }, @@ -89,6 +90,7 @@ { "app":"telegram", "icon":"telegram.png" }, { "app":"telegram foss", "icon":"telegram.png" }, { "app":"threema", "icon":"threema.png" }, + { "app":"threema libre", "icon":"threema.png" }, { "app":"tiktok", "icon":"tiktok.png" }, { "app":"to do", "icon":"task.png" }, { "app":"opentasks", "icon":"task.png" }, diff --git a/apps/messageicons/lib.js b/apps/messageicons/lib.js index 306a4ae46..b3ff2d9ff 100644 --- a/apps/messageicons/lib.js +++ b/apps/messageicons/lib.js @@ -1,3 +1,5 @@ +// This file is auto-generated - DO NOT MODIFY +// If you want to add icons, change icons/icon_names.json and re-run icons/generate.js exports.getImage = function(msg) { if (msg.img) return atob(msg.img); let s = (("string"=== typeof msg) ? msg : (msg.src || "")).toLowerCase(); @@ -13,16 +15,12 @@ exports.getColor = function(msg,options) { if (st.iconColorMode == 'mono') return options.default; const s = (("string"=== typeof msg) ? msg : (msg.src || "")).toLowerCase(); return { - // This file is generated by /icons/generate.js. If you need to modify its content, you should do it there instead. - // generic colors, using B2-safe colors - // DO NOT USE BLACK OR WHITE HERE, just leave the declaration out and then the theme's fg color will be used + /* generic colors, using B2-safe colors */ "airbnb": "#ff385c", // https://news.airbnb.com/media-assets/category/brand/ "mail": "#ff0", "music": "#f0f", "phone": "#0f0", - "sms message": "#0ff", - // brands, according to https://www.schemecolor.com/?s (picking one for multicolored logos) - // all dithered on B2, but we only use the color for the icons. (Could maybe pick the closest 3-bit color for B2?) + "sms message": "#0ff", "bibel": "#54342c", "bring": "#455a64", "discord": "#5865f2", // https://discord.com/branding @@ -67,4 +65,4 @@ exports.getColor = function(msg,options) { "youtube": "#f00", // https://www.youtube.com/howyoutubeworks/resources/brand-resources/#logos-icons-and-colors }[s]||options.default; }; - + \ No newline at end of file diff --git a/apps/messageicons/metadata.json b/apps/messageicons/metadata.json index 13f218508..827d08a55 100644 --- a/apps/messageicons/metadata.json +++ b/apps/messageicons/metadata.json @@ -1,7 +1,7 @@ { "id": "messageicons", "name": "Message Icons", - "version": "0.05", + "version": "0.06", "description": "Library containing a list of icons and colors for apps", "icon": "app.png", "type": "module", From 932ecced7693a8174abf53464460a44a5c2669cb Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Wed, 6 Mar 2024 09:19:44 +0000 Subject: [PATCH 41/46] fix imageconverter on node.js --- webtools | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webtools b/webtools index 2ab71a33d..af870d7b8 160000 --- a/webtools +++ b/webtools @@ -1 +1 @@ -Subproject commit 2ab71a33d69bfda40465174ffe57adb03c21fc42 +Subproject commit af870d7b8386bfa824b07b268bce414e4daf3fbb From 921f5b3dd55df053087359e0be4207bda0f6839c Mon Sep 17 00:00:00 2001 From: Anton Date: Wed, 6 Mar 2024 11:05:13 +0100 Subject: [PATCH 42/46] Merge branch 'master' into no-unused-vars --- apps/messageicons/metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/messageicons/metadata.json b/apps/messageicons/metadata.json index 827d08a55..13ae5f232 100644 --- a/apps/messageicons/metadata.json +++ b/apps/messageicons/metadata.json @@ -1,7 +1,7 @@ { "id": "messageicons", "name": "Message Icons", - "version": "0.06", + "version": "0.07", "description": "Library containing a list of icons and colors for apps", "icon": "app.png", "type": "module", From cfa615e3528821178ab1740c67d55692cb0f9b24 Mon Sep 17 00:00:00 2001 From: Anton Date: Thu, 7 Mar 2024 10:20:47 +0100 Subject: [PATCH 43/46] Support nodejs 18 --- bin/exempt-lint.mjs | 3 +++ bin/sync-lint-exemptions.mjs | 3 +++ 2 files changed, 6 insertions(+) diff --git a/bin/exempt-lint.mjs b/bin/exempt-lint.mjs index 08652ad05..64d564e71 100755 --- a/bin/exempt-lint.mjs +++ b/bin/exempt-lint.mjs @@ -16,6 +16,9 @@ import fs from "node:fs/promises"; +// Nodejs v18 compatibility (v18 is end-of-life in april 2025) +if(!("crypto" in globalThis)) globalThis.crypto = (await import("node:crypto")).webcrypto; + const lintRule = process.argv[2]; if (!lintRule) { throw new Error( diff --git a/bin/sync-lint-exemptions.mjs b/bin/sync-lint-exemptions.mjs index cbf18fe3c..ea7614b68 100755 --- a/bin/sync-lint-exemptions.mjs +++ b/bin/sync-lint-exemptions.mjs @@ -11,6 +11,9 @@ import fs from "node:fs/promises"; +// Nodejs v18 compatibility (v18 is end-of-life in april 2025) +if(!("crypto" in globalThis)) globalThis.crypto = (await import("node:crypto")).webcrypto; + const exemptionsFilePath = "../apps/lint_exemptions.js"; const exemptions = (await import(exemptionsFilePath)).default; From b90577cc9788a3c0acf5c3905e8577ae984bbf73 Mon Sep 17 00:00:00 2001 From: Anton Date: Thu, 7 Mar 2024 10:23:36 +0100 Subject: [PATCH 44/46] Downgrade CI to nodejs 18 To ensure the scripts still work for people that haven't updated to v20 yet --- .github/workflows/nodejs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 440d0b19e..bebe18748 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -11,10 +11,10 @@ jobs: uses: actions/checkout@v3 with: submodules: recursive - - name: Use Node.js 20.x + - name: Use Node.js 18.x uses: actions/setup-node@v3 with: - node-version: 20.x + node-version: 18.x - name: Install testing dependencies run: npm ci - name: Test all apps and widgets From 306ccb3fe39df88fcabf6794f61cf86185b92bb9 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 8 Mar 2024 09:26:38 +0000 Subject: [PATCH 45/46] bthome 0.02: Fix double-button press if you press the next button within 30s (#3243) --- apps/bthome/ChangeLog | 1 + apps/bthome/boot.js | 12 +++++++----- apps/bthome/metadata.json | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/bthome/ChangeLog b/apps/bthome/ChangeLog index 5560f00bc..01d23607d 100644 --- a/apps/bthome/ChangeLog +++ b/apps/bthome/ChangeLog @@ -1 +1,2 @@ 0.01: New App! +0.02: Fix double-button press if you press the next button within 30s (#3243) \ No newline at end of file diff --git a/apps/bthome/boot.js b/apps/bthome/boot.js index 9c02581fe..a95d9b5fe 100644 --- a/apps/bthome/boot.js +++ b/apps/bthome/boot.js @@ -19,12 +19,16 @@ Bangle.btHomeData = []; /* Global function to allow advertising BTHome adverts extras = array of extra data, see require("BTHome").getAdvertisement - can add {n:0/1/2} for different instances - options = { event : an event - advertise fast, and when connected + options = { + event : an event - advertise fast, and when connected } */ Bangle.btHome = function(extras, options) { options = options||{}; - if(extras) { // update with extras + // clear any existing events + Bangle.btHomeData.forEach(d => {if (d.type=="button_event") d.v="none";}); + // update with extras + if (extras) { extras.forEach(extra => { var n = Bangle.btHomeData.find(b=>b.type==extra.type && b.n==extra.n); if (n) Object.assign(n, extra); @@ -60,9 +64,7 @@ Bangle.btHome = function(extras, options) { if (Bangle.btHomeTimeout) clearTimeout(Bangle.btHomeTimeout); Bangle.btHomeTimeout = setTimeout(function() { delete Bangle.btHomeTimeout; - // clear events - Bangle.btHomeData.forEach(d => {if (d.type=="button_event") d.v="none";}); // update Bangle.btHome(); - },updateTimeout); + }, updateTimeout); }; diff --git a/apps/bthome/metadata.json b/apps/bthome/metadata.json index c2767b9cf..6fc4a17c2 100644 --- a/apps/bthome/metadata.json +++ b/apps/bthome/metadata.json @@ -1,7 +1,7 @@ { "id": "bthome", "name": "BTHome", "shortName":"BTHome", - "version":"0.01", + "version":"0.02", "description": "Allow your Bangle to advertise with BTHome and send events to Home Assistant via Bluetooth", "icon": "icon.png", "type": "app", From 89e01a41dead7fdbc0578e3513b1c99f351423d9 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Fri, 8 Mar 2024 12:04:16 +0000 Subject: [PATCH 46/46] Fixing lint warnings for unused vars --- apps/regattatimer/ChangeLog | 7 ++++--- apps/regattatimer/metadata.json | 2 +- apps/regattatimer/settings.js | 6 +----- apps/rellotge/ChangeLog | 9 +++++---- apps/rellotge/metadata.json | 2 +- apps/rellotge/rellotge.js | 14 ++------------ 6 files changed, 14 insertions(+), 26 deletions(-) diff --git a/apps/regattatimer/ChangeLog b/apps/regattatimer/ChangeLog index aea920eea..d49862849 100644 --- a/apps/regattatimer/ChangeLog +++ b/apps/regattatimer/ChangeLog @@ -1,3 +1,4 @@ -0.1: (2024-02-23) initial alpha upload -0.2: (2024-02-23) fixed minor issues with settings -0.3: (2024-03-01) advanced settings, rearanged ui elements, fixed rendering problems +0.10: (2024-02-23) initial alpha upload +0.20: (2024-02-23) fixed minor issues with settings +0.30: (2024-03-01) advanced settings, rearanged ui elements, fixed rendering problems +0.40: Fixing lint warnings for unused vars diff --git a/apps/regattatimer/metadata.json b/apps/regattatimer/metadata.json index 74e7e3bfb..64b009ea9 100644 --- a/apps/regattatimer/metadata.json +++ b/apps/regattatimer/metadata.json @@ -2,7 +2,7 @@ "id": "regattatimer", "name": "Regatta Timer", "shortName": "RegattaTimer", - "version": "0.3", + "version": "0.40", "description": "Regatta Timer with 5-4-1 Countdown", "icon": "icon.png", "tags": "tool,outdoors,sailing,race,regatta,boat,timer", diff --git a/apps/regattatimer/settings.js b/apps/regattatimer/settings.js index 2f9133d9f..7e43322ba 100644 --- a/apps/regattatimer/settings.js +++ b/apps/regattatimer/settings.js @@ -1,13 +1,9 @@ (function(back) { var file = "regattatimer.json", - storage = require("Storage"), - - dials = ["Numeric", "Discs"], - + /*dials = ["Numeric", "Discs"],*/ themes = ["Light", "Dark"], - settings = Object.assign({ "debug": false, "buzzer": true, diff --git a/apps/rellotge/ChangeLog b/apps/rellotge/ChangeLog index 2834e9748..9e8598891 100644 --- a/apps/rellotge/ChangeLog +++ b/apps/rellotge/ChangeLog @@ -1,4 +1,5 @@ -0.1: Llançament inicial -0.2: Esmenat problema amb les hores passada l'hora en punt (apareixia l'hora anterior) -0.3: Redisseny de l'aplicatiu, text alineat a l'esquerra, font canviada, treiem dades innecessàries -0.4: Afegits suggeriments de l'usuari @bobrippling al codi +0.10: Llançament inicial +0.20: Esmenat problema amb les hores passada l'hora en punt (apareixia l'hora anterior) +0.30: Redisseny de l'aplicatiu, text alineat a l'esquerra, font canviada, treiem dades innecessàries +0.40: Afegits suggeriments de l'usuari @bobrippling al codi +0.50: Fixing lint warnings for unused vars diff --git a/apps/rellotge/metadata.json b/apps/rellotge/metadata.json index d7b44844d..9df8aae26 100644 --- a/apps/rellotge/metadata.json +++ b/apps/rellotge/metadata.json @@ -1,7 +1,7 @@ { "id": "rellotge", "name": "Rellotge en catala", "shortName":"Rellotge", - "version":"0.4", + "version":"0.50", "description": "A catalan clock with traditional naming of hous", "icon": "icona.js", "readme": "README.md", diff --git a/apps/rellotge/rellotge.js b/apps/rellotge/rellotge.js index 3e713792d..d1001c702 100644 --- a/apps/rellotge/rellotge.js +++ b/apps/rellotge/rellotge.js @@ -4,14 +4,11 @@ const timeFontSize = 1; const dateFontSize = 2; - const gmtFontSize = 10; const font = "12x20"; const xyCenter = g.getWidth() /9; const yposTime = 55; const yposDate = 130; - const yposYear = 175; - const yposGMT = 220; const leshores = ["Les dotze","La una","Les dues","les tres","Les quatre","Les cinc","Les sis","Les set","Les vuit","Les nou","Les deu","Les onze","Les dotze","La una","Les dues","Les tres","Les quatre","Les cinc","Les sis","Les set","Les vuit","Les nou","Les deu","Les onze","Les dotze"]; const leshores2 = ["d\'una\r\nel mati","de dues\r\ndel mati","de tres\r\ndel mati","de quatre\r\ndel mati","de cinc\r\ndel mati","de sis\r\ndel mati","de set\r\ndel mati","de vuit\r\ndel mati","de nou\r\ndel mati","de deu\r\ndel mati","d'onze\r\ndel mati","de dotze\r\ndel mati","d'una\r\nde la tarda","de dues\r\nde la tarda","de tres\r\nde la tarda","de quatre\r\nde la tarda","de cinc\r\nde la tarda","de sis\r\nde la tarda","de set\r\nde la tarda","de vuit\r\nde la tarda","de nou\r\ndel vespre","de deu\r\ndel vespre","d'onze\r\ndel vespre","de dotze"]; @@ -19,15 +16,12 @@ g.clearRect(Bangle.appRect); // get date var d = new Date(); - var da = d.toString().split(" "); var m = d.getMinutes(); // drawSting centered g.setFontAlign(-1, 0); // draw time - var time = da[4].substr(0, 5); - var hora = time.split(":"); if (m >= 0 && m < 2) { t = leshores[d.getHours()] + "\r\nen punt"; } else if (m >= 2 && m < 5) { @@ -80,16 +74,12 @@ g.setFont(font, timeFontSize); g.drawString(t, xyCenter, yposTime, true); - // draw Day, name of month, Date - var date = [da[0], da[1], da[2]].join(" "); - g.setFont(font, dateFontSize); - + // draw Hours + g.setFont(font, dateFontSize); var mu = ""; if (m < 10) {mu = "0"+m;} else {mu = m;} g.drawString(d.getHours()+":"+mu, xyCenter, yposDate, true); - - } // handle switch display on by pressing BTN1