From c79be19ec348129b6734aaf4ee2131880c2e01e4 Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Mon, 23 Aug 2021 00:05:48 +0200
Subject: [PATCH 001/162] Added DNS Monitor Type
---
db/patch7.sql | 80 +++++++++++++++++++++++++++++++++++++++
server/database.js | 2 +-
server/model/monitor.js | 42 +++++++++++++++++++-
server/server.js | 2 +
server/util-server.js | 25 ++++++++++++
src/pages/EditMonitor.vue | 55 +++++++++++++++++++++++++++
6 files changed, 204 insertions(+), 2 deletions(-)
create mode 100644 db/patch7.sql
diff --git a/db/patch7.sql b/db/patch7.sql
new file mode 100644
index 0000000..9e4ab13
--- /dev/null
+++ b/db/patch7.sql
@@ -0,0 +1,80 @@
+-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
+PRAGMA foreign_keys = off;
+
+BEGIN TRANSACTION;
+
+create table monitor_dg_tmp (
+ id INTEGER not null primary key autoincrement,
+ name VARCHAR(150),
+ active BOOLEAN default 1 not null,
+ user_id INTEGER references user on update cascade on delete
+ set
+ null,
+ interval INTEGER default 20 not null,
+ url TEXT,
+ type VARCHAR(20),
+ weight INTEGER default 2000,
+ hostname VARCHAR(255),
+ port INTEGER,
+ created_date DATETIME default (DATETIME('now')) not null,
+ keyword VARCHAR(255),
+ maxretries INTEGER NOT NULL DEFAULT 0,
+ ignore_tls BOOLEAN default 0 not null,
+ upside_down BOOLEAN default 0 not null,
+ maxredirects INTEGER default 10 not null,
+ accepted_statuscodes_json TEXT default '["200-299"]' not null,
+ dns_resolve_type VARCHAR(5),
+ dns_resolve_server VARCHAR(255)
+);
+
+insert into
+ monitor_dg_tmp(
+ id,
+ name,
+ active,
+ user_id,
+ interval,
+ url,
+ type,
+ weight,
+ hostname,
+ port,
+ created_date,
+ keyword,
+ maxretries,
+ ignore_tls,
+ upside_down,
+ maxredirects,
+ accepted_statuscodes_json
+ )
+select
+ id,
+ name,
+ active,
+ user_id,
+ interval,
+ url,
+ type,
+ weight,
+ hostname,
+ port,
+ created_date,
+ keyword,
+ maxretries,
+ ignore_tls,
+ upside_down,
+ maxredirects,
+ accepted_statuscodes_json
+from
+ monitor;
+
+drop table monitor;
+
+alter table
+ monitor_dg_tmp rename to monitor;
+
+create index user_id on monitor (user_id);
+
+COMMIT;
+
+PRAGMA foreign_keys = on;
diff --git a/server/database.js b/server/database.js
index ff0304f..802e241 100644
--- a/server/database.js
+++ b/server/database.js
@@ -9,7 +9,7 @@ class Database {
static templatePath = "./db/kuma.db"
static path = "./data/kuma.db";
- static latestVersion = 6;
+ static latestVersion = 7;
static noReject = true;
static sqliteInstance = null;
diff --git a/server/model/monitor.js b/server/model/monitor.js
index 2b48398..9420312 100644
--- a/server/model/monitor.js
+++ b/server/model/monitor.js
@@ -7,7 +7,7 @@ dayjs.extend(timezone)
const axios = require("axios");
const { Prometheus } = require("../prometheus");
const { debug, UP, DOWN, PENDING, flipStatus, TimeLogger } = require("../../src/util");
-const { tcping, ping, checkCertificate, checkStatusCode } = require("../util-server");
+const { tcping, ping, dnsResolve, checkCertificate, checkStatusCode } = require("../util-server");
const { R } = require("redbean-node");
const { BeanModel } = require("redbean-node/dist/bean-model");
const { Notification } = require("../notification")
@@ -48,6 +48,8 @@ class Monitor extends BeanModel {
upsideDown: this.isUpsideDown(),
maxredirects: this.maxredirects,
accepted_statuscodes: this.getAcceptedStatuscodes(),
+ dns_resolve_type: this.dns_resolve_type,
+ dns_resolve_server: this.dns_resolve_server,
notificationIDList,
};
}
@@ -175,6 +177,44 @@ class Monitor extends BeanModel {
bean.ping = await ping(this.hostname);
bean.msg = ""
bean.status = UP;
+ } else if (this.type === "dns") {
+ let startTime = dayjs().valueOf();
+
+ var dnsRes = await dnsResolve(this.hostname, this.dns_resolve_server, this.dns_resolve_type);
+
+ var dnsMessage = "";
+
+ if (this.dns_resolve_type == 'A' || this.dns_resolve_type == 'AAAA' || this.dns_resolve_type == 'CNAME' || this.dns_resolve_type == 'PTR') {
+ var dnsMessage = dnsRes[0];
+ } else if (this.dns_resolve_type == 'CAA') {
+ var dnsMessage = dnsRes[0].issue;
+ } else if (this.dns_resolve_type == 'MX') {
+ dnsRes.forEach(record => {
+ dnsMessage += `Server: ${record.exchange} - Priority: ${record.priority} | `;
+ });
+ var dnsMessage = dnsMessage.slice(0, -2)
+ } else if (this.dns_resolve_type == 'NS') {
+ dnsRes.forEach(record => {
+ dnsMessage += `Server: ${record} | `;
+ });
+ var dnsMessage = dnsMessage.slice(0, -2)
+ } else if (this.dns_resolve_type == 'SOA') {
+ dnsMessage += `NS-Name: ${dnsRes.nsname} | Hostmaster: ${dnsRes.hostmaster} | Serial: ${dnsRes.serial} | Refresh: ${dnsRes.refresh} | Retry: ${dnsRes.retry} | Expire: ${dnsRes.expire} | MinTTL: ${dnsRes.minttl}`;
+ } else if (this.dns_resolve_type == 'SRV') {
+ dnsRes.forEach(record => {
+ dnsMessage += `Name: ${record.name} | Port: ${record.port} | Priority: ${record.priority} | Weight: ${record.weight} | `;
+ });
+ var dnsMessage = dnsMessage.slice(0, -2)
+ } else if (this.dns_resolve_type == 'TXT') {
+ dnsRes.forEach(record => {
+ dnsMessage += `Record: ${record} | `;
+ });
+ var dnsMessage = dnsMessage.slice(0, -2)
+ }
+
+ bean.msg = dnsMessage;
+ bean.ping = dayjs().valueOf() - startTime;
+ bean.status = UP;
}
if (this.isUpsideDown()) {
diff --git a/server/server.js b/server/server.js
index 7c44411..6fd15f7 100644
--- a/server/server.js
+++ b/server/server.js
@@ -293,6 +293,8 @@ let indexHTML = fs.readFileSync("./dist/index.html").toString();
bean.upsideDown = monitor.upsideDown;
bean.maxredirects = monitor.maxredirects;
bean.accepted_statuscodes_json = JSON.stringify(monitor.accepted_statuscodes);
+ bean.dns_resolve_type = monitor.dns_resolve_type;
+ bean.dns_resolve_server = monitor.dns_resolve_server;
await R.store(bean)
diff --git a/server/util-server.js b/server/util-server.js
index 8a2f038..2628a4f 100644
--- a/server/util-server.js
+++ b/server/util-server.js
@@ -4,6 +4,7 @@ const { R } = require("redbean-node");
const { debug } = require("../src/util");
const passwordHash = require("./password-hash");
const dayjs = require("dayjs");
+const { Resolver } = require('dns');
/**
* Init or reset JWT secret
@@ -76,6 +77,30 @@ exports.pingAsync = function (hostname, ipv6 = false) {
});
}
+exports.dnsResolve = function (hostname, resolver_server, rrtype) {
+ const resolver = new Resolver();
+ resolver.setServers([resolver_server]);
+ return new Promise((resolve, reject) => {
+ if (rrtype == 'PTR') {
+ resolver.reverse(hostname, (err, records) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(records);
+ }
+ });
+ } else {
+ resolver.resolve(hostname, rrtype, (err, records) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(records);
+ }
+ });
+ }
+ })
+}
+
exports.setting = async function (key) {
let value = await R.getCell("SELECT `value` FROM setting WHERE `key` = ? ", [
key,
diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue
index 749921e..f55b8d4 100644
--- a/src/pages/EditMonitor.vue
+++ b/src/pages/EditMonitor.vue
@@ -23,6 +23,9 @@
HTTP(s) - Keyword
+
+ DNS
+
@@ -54,6 +57,41 @@
+
+ Hostname
+
+
+
+
+
Resolver Server
+
+
+ Cloudflare is the default server, you can change the resolver server anytime.
+
+
+
+
+
Resource Record Type
+
+
+
+
+ Select the RR-Type you want to monitor
+
+
+
Heartbeat Interval (Every {{ monitor.interval }} seconds)
@@ -170,6 +208,8 @@ export default {
notificationIDList: {},
},
acceptedStatusCodeOptions: [],
+ dnsresolvetypeOptions: [],
+ ipRegex: "((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))",
}
},
@@ -200,11 +240,25 @@ export default {
"500-599",
];
+ let dnsresolvetypeOptions = [
+ "A",
+ "AAAA",
+ "CAA",
+ "CNAME",
+ "MX",
+ "NS",
+ "PTR",
+ "SOA",
+ "SRV",
+ "TXT",
+ ];
+
for (let i = 100; i <= 999; i++) {
acceptedStatusCodeOptions.push(i.toString());
}
this.acceptedStatusCodeOptions = acceptedStatusCodeOptions;
+ this.dnsresolvetypeOptions = dnsresolvetypeOptions;
},
methods: {
init() {
@@ -221,6 +275,7 @@ export default {
upsideDown: false,
maxredirects: 10,
accepted_statuscodes: ["200-299"],
+ dns_resolve_server: "1.1.1.1",
}
} else if (this.isEdit) {
this.$root.getSocket().emit("getMonitor", this.$route.params.id, (res) => {
From e5981b10ce6c84485efcf07912bbda33756b9d7b Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Mon, 23 Aug 2021 00:05:48 +0200
Subject: [PATCH 002/162] Replaced var with let and removed re-declaration
---
server/model/monitor.js | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/server/model/monitor.js b/server/model/monitor.js
index 9420312..4fa8e29 100644
--- a/server/model/monitor.js
+++ b/server/model/monitor.js
@@ -179,41 +179,40 @@ class Monitor extends BeanModel {
bean.status = UP;
} else if (this.type === "dns") {
let startTime = dayjs().valueOf();
+ let dnsMessage = "";
- var dnsRes = await dnsResolve(this.hostname, this.dns_resolve_server, this.dns_resolve_type);
-
- var dnsMessage = "";
+ let dnsRes = await dnsResolve(this.hostname, this.dns_resolve_server, this.dns_resolve_type);
+ bean.ping = dayjs().valueOf() - startTime;
if (this.dns_resolve_type == 'A' || this.dns_resolve_type == 'AAAA' || this.dns_resolve_type == 'CNAME' || this.dns_resolve_type == 'PTR') {
- var dnsMessage = dnsRes[0];
+ dnsMessage = dnsRes[0];
} else if (this.dns_resolve_type == 'CAA') {
- var dnsMessage = dnsRes[0].issue;
+ dnsMessage = dnsRes[0].issue;
} else if (this.dns_resolve_type == 'MX') {
dnsRes.forEach(record => {
dnsMessage += `Server: ${record.exchange} - Priority: ${record.priority} | `;
});
- var dnsMessage = dnsMessage.slice(0, -2)
+ dnsMessage = dnsMessage.slice(0, -2)
} else if (this.dns_resolve_type == 'NS') {
dnsRes.forEach(record => {
dnsMessage += `Server: ${record} | `;
});
- var dnsMessage = dnsMessage.slice(0, -2)
+ dnsMessage = dnsMessage.slice(0, -2)
} else if (this.dns_resolve_type == 'SOA') {
dnsMessage += `NS-Name: ${dnsRes.nsname} | Hostmaster: ${dnsRes.hostmaster} | Serial: ${dnsRes.serial} | Refresh: ${dnsRes.refresh} | Retry: ${dnsRes.retry} | Expire: ${dnsRes.expire} | MinTTL: ${dnsRes.minttl}`;
} else if (this.dns_resolve_type == 'SRV') {
dnsRes.forEach(record => {
dnsMessage += `Name: ${record.name} | Port: ${record.port} | Priority: ${record.priority} | Weight: ${record.weight} | `;
});
- var dnsMessage = dnsMessage.slice(0, -2)
+ dnsMessage = dnsMessage.slice(0, -2)
} else if (this.dns_resolve_type == 'TXT') {
dnsRes.forEach(record => {
dnsMessage += `Record: ${record} | `;
});
- var dnsMessage = dnsMessage.slice(0, -2)
+ dnsMessage = dnsMessage.slice(0, -2)
}
bean.msg = dnsMessage;
- bean.ping = dayjs().valueOf() - startTime;
bean.status = UP;
}
From b2041cb36b5824eac89eacf1763591264c1f732e Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Mon, 23 Aug 2021 16:30:11 +0200
Subject: [PATCH 003/162] Fixed ESLint Errors
---
server/model/monitor.js | 14 +++++++-------
server/util-server.js | 4 ++--
src/pages/EditMonitor.vue | 2 +-
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/server/model/monitor.js b/server/model/monitor.js
index 4fa8e29..bdfa595 100644
--- a/server/model/monitor.js
+++ b/server/model/monitor.js
@@ -184,28 +184,28 @@ class Monitor extends BeanModel {
let dnsRes = await dnsResolve(this.hostname, this.dns_resolve_server, this.dns_resolve_type);
bean.ping = dayjs().valueOf() - startTime;
- if (this.dns_resolve_type == 'A' || this.dns_resolve_type == 'AAAA' || this.dns_resolve_type == 'CNAME' || this.dns_resolve_type == 'PTR') {
+ if (this.dns_resolve_type == "A" || this.dns_resolve_type == "AAAA" || this.dns_resolve_type == "CNAME" || this.dns_resolve_type == "PTR") {
dnsMessage = dnsRes[0];
- } else if (this.dns_resolve_type == 'CAA') {
+ } else if (this.dns_resolve_type == "CAA") {
dnsMessage = dnsRes[0].issue;
- } else if (this.dns_resolve_type == 'MX') {
+ } else if (this.dns_resolve_type == "MX") {
dnsRes.forEach(record => {
dnsMessage += `Server: ${record.exchange} - Priority: ${record.priority} | `;
});
dnsMessage = dnsMessage.slice(0, -2)
- } else if (this.dns_resolve_type == 'NS') {
+ } else if (this.dns_resolve_type == "NS") {
dnsRes.forEach(record => {
dnsMessage += `Server: ${record} | `;
});
dnsMessage = dnsMessage.slice(0, -2)
- } else if (this.dns_resolve_type == 'SOA') {
+ } else if (this.dns_resolve_type == "SOA") {
dnsMessage += `NS-Name: ${dnsRes.nsname} | Hostmaster: ${dnsRes.hostmaster} | Serial: ${dnsRes.serial} | Refresh: ${dnsRes.refresh} | Retry: ${dnsRes.retry} | Expire: ${dnsRes.expire} | MinTTL: ${dnsRes.minttl}`;
- } else if (this.dns_resolve_type == 'SRV') {
+ } else if (this.dns_resolve_type == "SRV") {
dnsRes.forEach(record => {
dnsMessage += `Name: ${record.name} | Port: ${record.port} | Priority: ${record.priority} | Weight: ${record.weight} | `;
});
dnsMessage = dnsMessage.slice(0, -2)
- } else if (this.dns_resolve_type == 'TXT') {
+ } else if (this.dns_resolve_type == "TXT") {
dnsRes.forEach(record => {
dnsMessage += `Record: ${record} | `;
});
diff --git a/server/util-server.js b/server/util-server.js
index 2628a4f..a30bcfe 100644
--- a/server/util-server.js
+++ b/server/util-server.js
@@ -4,7 +4,7 @@ const { R } = require("redbean-node");
const { debug } = require("../src/util");
const passwordHash = require("./password-hash");
const dayjs = require("dayjs");
-const { Resolver } = require('dns');
+const { Resolver } = require("dns");
/**
* Init or reset JWT secret
@@ -81,7 +81,7 @@ exports.dnsResolve = function (hostname, resolver_server, rrtype) {
const resolver = new Resolver();
resolver.setServers([resolver_server]);
return new Promise((resolve, reject) => {
- if (rrtype == 'PTR') {
+ if (rrtype == "PTR") {
resolver.reverse(hostname, (err, records) => {
if (err) {
reject(err);
diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue
index f55b8d4..17754c6 100644
--- a/src/pages/EditMonitor.vue
+++ b/src/pages/EditMonitor.vue
@@ -64,7 +64,7 @@
Resolver Server
-
+
Cloudflare is the default server, you can change the resolver server anytime.
From 054186370e210b7d3c0f77bdf0233c639c7453c4 Mon Sep 17 00:00:00 2001
From: Louis Lam
Date: Tue, 24 Aug 2021 15:00:30 +0800
Subject: [PATCH 004/162] add source of ipRegex
---
src/pages/EditMonitor.vue | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue
index 17754c6..6b75805 100644
--- a/src/pages/EditMonitor.vue
+++ b/src/pages/EditMonitor.vue
@@ -209,6 +209,8 @@ export default {
},
acceptedStatusCodeOptions: [],
dnsresolvetypeOptions: [],
+
+ // Source: https://digitalfortress.tech/tips/top-15-commonly-used-regex/
ipRegex: "((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))",
}
},
From 44d9fa63f06ec97f72bc258404a48a87c651954c Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Tue, 24 Aug 2021 11:47:12 +0200
Subject: [PATCH 005/162] Adjusted the output for A and AAAA records
---
server/model/monitor.js | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/server/model/monitor.js b/server/model/monitor.js
index bdfa595..40abf1f 100644
--- a/server/model/monitor.js
+++ b/server/model/monitor.js
@@ -184,18 +184,25 @@ class Monitor extends BeanModel {
let dnsRes = await dnsResolve(this.hostname, this.dns_resolve_server, this.dns_resolve_type);
bean.ping = dayjs().valueOf() - startTime;
- if (this.dns_resolve_type == "A" || this.dns_resolve_type == "AAAA" || this.dns_resolve_type == "CNAME" || this.dns_resolve_type == "PTR") {
+ if (this.dns_resolve_type == "A" || this.dns_resolve_type == "AAAA") {
+ dnsMessage += "Records: ";
+ dnsRes.forEach(record => {
+ dnsMessage += `${record} | `;
+ });
+ dnsMessage = dnsMessage.slice(0, -2)
+ } else if (this.dns_resolve_type == "CNAME" || this.dns_resolve_type == "PTR") {
dnsMessage = dnsRes[0];
} else if (this.dns_resolve_type == "CAA") {
dnsMessage = dnsRes[0].issue;
} else if (this.dns_resolve_type == "MX") {
dnsRes.forEach(record => {
- dnsMessage += `Server: ${record.exchange} - Priority: ${record.priority} | `;
+ dnsMessage += `Hostname: ${record.exchange} - Priority: ${record.priority} | `;
});
dnsMessage = dnsMessage.slice(0, -2)
} else if (this.dns_resolve_type == "NS") {
+ dnsMessage += "Servers: ";
dnsRes.forEach(record => {
- dnsMessage += `Server: ${record} | `;
+ dnsMessage += `${record} | `;
});
dnsMessage = dnsMessage.slice(0, -2)
} else if (this.dns_resolve_type == "SOA") {
From 9442c3fa05c197e6f2d5af6632abae4b1ad68351 Mon Sep 17 00:00:00 2001
From: Nelson Chan
Date: Tue, 24 Aug 2021 23:34:48 +0800
Subject: [PATCH 006/162] Fix: Fix chart bars to be full width
---
src/components/PingChart.vue | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/components/PingChart.vue b/src/components/PingChart.vue
index 53a8379..584664b 100644
--- a/src/components/PingChart.vue
+++ b/src/components/PingChart.vue
@@ -57,9 +57,6 @@ export default {
point: {
radius: 0,
},
- bar: {
- barThickness: "flex",
- }
},
scales: {
x: {
@@ -77,9 +74,9 @@ export default {
maxRotation: 0,
autoSkipPadding: 30,
},
- bounds: "ticks",
grid: {
color: this.$root.theme === "light" ? "rgba(0,0,0,0.1)" : "rgba(255,255,255,0.1)",
+ offset: false,
},
},
y: {
@@ -163,6 +160,9 @@ export default {
borderColor: "#00000000",
backgroundColor: "#DC354568",
yAxisID: "y1",
+ barThickness: "flex",
+ barPercentage: 1,
+ categoryPercentage: 1,
},
],
};
From 2d20634738365881dfd0409d2b39230be9b34473 Mon Sep 17 00:00:00 2001
From: Nelson Chan
Date: Wed, 25 Aug 2021 00:54:52 +0800
Subject: [PATCH 007/162] Chore: Add comments, improve performance & styling
---
src/components/PingChart.vue | 38 ++++++++++++++++++++----------------
1 file changed, 21 insertions(+), 17 deletions(-)
diff --git a/src/components/PingChart.vue b/src/components/PingChart.vue
index 584664b..8f53ea7 100644
--- a/src/components/PingChart.vue
+++ b/src/components/PingChart.vue
@@ -24,6 +24,7 @@ export default {
},
data() {
return {
+ // Configurable filtering on top of the returned data
chartPeriodHrs: 6,
};
},
@@ -55,7 +56,9 @@ export default {
elements: {
point: {
+ // Hide points on chart unless mouse-over
radius: 0,
+ hitRadius: 100,
},
},
scales: {
@@ -106,8 +109,11 @@ export default {
mode: "nearest",
intersect: false,
padding: 10,
+ backgroundColor: this.$root.theme === "light" ? "rgba(212,232,222,1.0)" : "rgba(32,42,38,1.0)",
+ bodyColor: this.$root.theme === "light" ? "rgba(12,12,18,1.0)" : "rgba(220,220,220,1.0)",
+ titleColor: this.$root.theme === "light" ? "rgba(12,12,18,1.0)" : "rgba(220,220,220,1.0)",
filter: function (tooltipItem) {
- return tooltipItem.datasetIndex === 0;
+ return tooltipItem.datasetIndex === 0; // Hide tooltip on Bar Chart
},
callbacks: {
label: (context) => {
@@ -122,32 +128,29 @@ export default {
}
},
chartData() {
- let ping_data = [];
- let down_data = [];
+ let pingData = []; // Ping Data for Line Chart, y-axis contains ping time
+ let downData = []; // Down Data for Bar Chart, y-axis is 1 if target is down, 0 if target is up
if (this.monitorId in this.$root.heartbeatList) {
- ping_data = this.$root.heartbeatList[this.monitorId]
+ this.$root.heartbeatList[this.monitorId]
.filter(
(beat) => dayjs.utc(beat.time).tz(this.$root.timezone).isAfter(dayjs().subtract(this.chartPeriodHrs, "hours")))
.map((beat) => {
- return {
- x: dayjs.utc(beat.time).tz(this.$root.timezone).format("YYYY-MM-DD HH:mm:ss"),
+ const x = this.$root.datetime(beat.time);
+ pingData.push({
+ x,
y: beat.ping,
- };
- });
- down_data = this.$root.heartbeatList[this.monitorId]
- .filter(
- (beat) => dayjs.utc(beat.time).tz(this.$root.timezone).isAfter(dayjs().subtract(this.chartPeriodHrs, "hours")))
- .map((beat) => {
- return {
- x: dayjs.utc(beat.time).tz(this.$root.timezone).format("YYYY-MM-DD HH:mm:ss"),
+ });
+ downData.push({
+ x,
y: beat.status === 0 ? 1 : 0,
- };
+ })
});
}
return {
datasets: [
{
- data: ping_data,
+ // Line Chart
+ data: pingData,
fill: "origin",
tension: 0.2,
borderColor: "#5CDD8B",
@@ -155,8 +158,9 @@ export default {
yAxisID: "y",
},
{
+ // Bar Chart
type: "bar",
- data: down_data,
+ data: downData,
borderColor: "#00000000",
backgroundColor: "#DC354568",
yAxisID: "y1",
From 23851ef539bc716868ccc96af26f45ce927ad529 Mon Sep 17 00:00:00 2001
From: Rashad <->
Date: Tue, 24 Aug 2021 21:19:21 +0300
Subject: [PATCH 008/162] added mattermost notification support
---
server/notification.js | 110 ++++++++++++++++++++++++++
src/components/NotificationDialog.vue | 34 ++++++++
2 files changed, 144 insertions(+)
diff --git a/server/notification.js b/server/notification.js
index 446753e..cb77a61 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -279,6 +279,116 @@ class Notification {
throwGeneralAxiosError(error)
}
+ } else if (notification.type === "mattermost") {
+ try {
+ const mattermostUserName = notification.mattermostusername || "Uptime Kuma";
+ // If heartbeatJSON is null, assume we're testing.
+ if (heartbeatJSON == null) {
+ let mattermostTestData = {
+ username: mattermostUserName,
+ text: msg,
+ }
+ await axios.post(notification.mattermostWebhookUrl, mattermostTestData)
+ return okMsg;
+ }
+
+ const mattermostChannel = notification.mattermostchannel;
+ const mattermostIconEmoji = notification.mattermosticonemo;
+ const mattermostIconUrl = notification.mattermosticonurl;
+
+ if (heartbeatJSON["status"] == 0) {
+ let mattermostdowndata = {
+ username: mattermostUserName,
+ text: "Uptime Kuma Alert",
+ channel: mattermostChannel,
+ icon_emoji: mattermostIconEmoji,
+ icon_url: mattermostIconUrl,
+ attachments: [
+ {
+ fallback:
+ "Your " +
+ monitorJSON["name"] +
+ " service went down.",
+ color: "#FF0000",
+ title:
+ "❌ " +
+ monitorJSON["name"] +
+ " service went down. ❌",
+ title_link: monitorJSON["url"],
+ fields: [
+ {
+ short: true,
+ title: "Service Name",
+ value: monitorJSON["name"],
+ },
+ {
+ short: true,
+ title: "Time (UTC)",
+ value: heartbeatJSON["time"],
+ },
+ {
+ short: false,
+ title: "Error",
+ value: heartbeatJSON["msg"],
+ },
+ ],
+ },
+ ],
+ };
+ await axios.post(
+ notification.mattermostWebhookUrl,
+ mattermostdowndata
+ );
+ return okMsg;
+ } else if (heartbeatJSON["status"] == 1) {
+ let mattermostupdata = {
+ username: mattermostUserName,
+ text: "Uptime Kuma Alert",
+ channel: mattermostChannel,
+ icon_emoji: mattermostIconEmoji,
+ icon_url: mattermostIconUrl,
+ attachments: [
+ {
+ fallback:
+ "Your " +
+ monitorJSON["name"] +
+ " service went up!",
+ color: "#32CD32",
+ title:
+ "✅ " +
+ monitorJSON["name"] +
+ " service went up! ✅",
+ title_link: monitorJSON["url"],
+ fields: [
+ {
+ short: true,
+ title: "Service Name",
+ value: monitorJSON["name"],
+ },
+ {
+ short: true,
+ title: "Time (UTC)",
+ value: heartbeatJSON["time"],
+ },
+ {
+ short: false,
+ title: "Ping",
+ value: heartbeatJSON["ping"] + "ms",
+ },
+ ],
+ },
+ ],
+ };
+ await axios.post(
+ notification.mattermostWebhookUrl,
+ mattermostupdata
+ );
+ return okMsg;
+ }
+ } catch (error) {
+ throwGeneralAxiosError(error);
+ }
+
} else if (notification.type === "pushover") {
let pushoverlink = "https://api.pushover.net/1/messages.json"
try {
diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue
index 43b56b2..d639e4f 100644
--- a/src/components/NotificationDialog.vue
+++ b/src/components/NotificationDialog.vue
@@ -27,6 +27,7 @@
Apprise (Support 50+ Notification services)
Pushbullet
Line Messenger
+ Mattermost
@@ -238,6 +239,39 @@
+
+
+
Webhook URL*
+
+
Username
+
+
Icon URL
+
+
Icon Emoji
+
+
Channel Name
+
+
+
* Required
+
+ More info about webhooks on: https://docs.mattermost.com/developer/webhooks-incoming.html
+
+
+ You can override the default channel that webhook posts to by entering the channel name into "Channel Name" field. This needs to be enabled in Mattermost webhook settings. Ex: #other-channel
+
+
+ If you leave the Uptime Kuma URL field blank, it will default to the Project Github page.
+
+
+ You can provide a link to a picture in "Icon URL" to override the default profile picture. Will not be used if Icon Emoji is set.
+
+
+ Emoji cheat sheet: https://www.webfx.com/tools/emoji-cheat-sheet/ Note: emoji takes preference over Icon URL.
+
+
+
+
+
API_KEY
From 4c1f2f85f8ae22b632cc22ba873a5279c7ff0ba9 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Wed, 25 Aug 2021 12:25:19 +0800
Subject: [PATCH 009/162] manual fix stylelint
---
.stylelintrc | 3 +--
src/components/HeartbeatBar.vue | 4 ----
src/layouts/Layout.vue | 5 +----
3 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/.stylelintrc b/.stylelintrc
index d981fe7..aad673d 100644
--- a/.stylelintrc
+++ b/.stylelintrc
@@ -4,7 +4,6 @@
"indentation": 4,
"no-descending-specificity": null,
"selector-list-comma-newline-after": null,
- "declaration-empty-line-before": null,
- "no-duplicate-selectors": null
+ "declaration-empty-line-before": null
}
}
diff --git a/src/components/HeartbeatBar.vue b/src/components/HeartbeatBar.vue
index 1f403dd..33b003d 100644
--- a/src/components/HeartbeatBar.vue
+++ b/src/components/HeartbeatBar.vue
@@ -163,10 +163,6 @@ export default {
&.empty {
background-color: aliceblue;
-
- .dark & {
- background-color: #d0d3d5;
- }
}
&.down {
diff --git a/src/layouts/Layout.vue b/src/layouts/Layout.vue
index 546e633..7b04fda 100644
--- a/src/layouts/Layout.vue
+++ b/src/layouts/Layout.vue
@@ -191,6 +191,7 @@ main {
}
footer {
+ color: #aaa;
font-size: 13px;
margin-top: 10px;
padding-bottom: 30px;
@@ -198,10 +199,6 @@ footer {
text-align: center;
}
-footer {
- color: #aaa;
-}
-
.dark {
header {
background-color: #161b22;
From d313a06d5c21f90376a88280324e74de57d10bb6 Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Wed, 25 Aug 2021 09:31:42 +0200
Subject: [PATCH 010/162] Optimizations for output handling
---
server/model/monitor.js | 17 +++--------------
1 file changed, 3 insertions(+), 14 deletions(-)
diff --git a/server/model/monitor.js b/server/model/monitor.js
index 40abf1f..69fc2c9 100644
--- a/server/model/monitor.js
+++ b/server/model/monitor.js
@@ -184,12 +184,9 @@ class Monitor extends BeanModel {
let dnsRes = await dnsResolve(this.hostname, this.dns_resolve_server, this.dns_resolve_type);
bean.ping = dayjs().valueOf() - startTime;
- if (this.dns_resolve_type == "A" || this.dns_resolve_type == "AAAA") {
+ if (this.dns_resolve_type == "A" || this.dns_resolve_type == "AAAA" || this.dns_resolve_type == "TXT") {
dnsMessage += "Records: ";
- dnsRes.forEach(record => {
- dnsMessage += `${record} | `;
- });
- dnsMessage = dnsMessage.slice(0, -2)
+ dnsMessage += dnsRes.join(" | ");
} else if (this.dns_resolve_type == "CNAME" || this.dns_resolve_type == "PTR") {
dnsMessage = dnsRes[0];
} else if (this.dns_resolve_type == "CAA") {
@@ -201,10 +198,7 @@ class Monitor extends BeanModel {
dnsMessage = dnsMessage.slice(0, -2)
} else if (this.dns_resolve_type == "NS") {
dnsMessage += "Servers: ";
- dnsRes.forEach(record => {
- dnsMessage += `${record} | `;
- });
- dnsMessage = dnsMessage.slice(0, -2)
+ dnsMessage += dnsRes.join(" | ");
} else if (this.dns_resolve_type == "SOA") {
dnsMessage += `NS-Name: ${dnsRes.nsname} | Hostmaster: ${dnsRes.hostmaster} | Serial: ${dnsRes.serial} | Refresh: ${dnsRes.refresh} | Retry: ${dnsRes.retry} | Expire: ${dnsRes.expire} | MinTTL: ${dnsRes.minttl}`;
} else if (this.dns_resolve_type == "SRV") {
@@ -212,11 +206,6 @@ class Monitor extends BeanModel {
dnsMessage += `Name: ${record.name} | Port: ${record.port} | Priority: ${record.priority} | Weight: ${record.weight} | `;
});
dnsMessage = dnsMessage.slice(0, -2)
- } else if (this.dns_resolve_type == "TXT") {
- dnsRes.forEach(record => {
- dnsMessage += `Record: ${record} | `;
- });
- dnsMessage = dnsMessage.slice(0, -2)
}
bean.msg = dnsMessage;
From 02a12e68b81ce51e8e67c2d3fdbf1733a420bb81 Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Wed, 25 Aug 2021 12:45:47 +0200
Subject: [PATCH 011/162] Used ALTER TABLE instead of rebuilding the table
---
db/patch7.sql | 78 +++------------------------------------------------
1 file changed, 4 insertions(+), 74 deletions(-)
diff --git a/db/patch7.sql b/db/patch7.sql
index 9e4ab13..2e8eba1 100644
--- a/db/patch7.sql
+++ b/db/patch7.sql
@@ -1,80 +1,10 @@
-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
-PRAGMA foreign_keys = off;
-
BEGIN TRANSACTION;
-create table monitor_dg_tmp (
- id INTEGER not null primary key autoincrement,
- name VARCHAR(150),
- active BOOLEAN default 1 not null,
- user_id INTEGER references user on update cascade on delete
- set
- null,
- interval INTEGER default 20 not null,
- url TEXT,
- type VARCHAR(20),
- weight INTEGER default 2000,
- hostname VARCHAR(255),
- port INTEGER,
- created_date DATETIME default (DATETIME('now')) not null,
- keyword VARCHAR(255),
- maxretries INTEGER NOT NULL DEFAULT 0,
- ignore_tls BOOLEAN default 0 not null,
- upside_down BOOLEAN default 0 not null,
- maxredirects INTEGER default 10 not null,
- accepted_statuscodes_json TEXT default '["200-299"]' not null,
- dns_resolve_type VARCHAR(5),
- dns_resolve_server VARCHAR(255)
-);
-
-insert into
- monitor_dg_tmp(
- id,
- name,
- active,
- user_id,
- interval,
- url,
- type,
- weight,
- hostname,
- port,
- created_date,
- keyword,
- maxretries,
- ignore_tls,
- upside_down,
- maxredirects,
- accepted_statuscodes_json
- )
-select
- id,
- name,
- active,
- user_id,
- interval,
- url,
- type,
- weight,
- hostname,
- port,
- created_date,
- keyword,
- maxretries,
- ignore_tls,
- upside_down,
- maxredirects,
- accepted_statuscodes_json
-from
- monitor;
-
-drop table monitor;
+ALTER TABLE monitor
+ ADD dns_resolve_type VARCHAR(5);
-alter table
- monitor_dg_tmp rename to monitor;
-
-create index user_id on monitor (user_id);
+ALTER TABLE monitor
+ ADD dns_resolve_server VARCHAR(255);
COMMIT;
-
-PRAGMA foreign_keys = on;
From 5d438ca2b615de0612e92777c167445da469ea31 Mon Sep 17 00:00:00 2001
From: Thies Nieborg
Date: Wed, 25 Aug 2021 13:07:52 +0200
Subject: [PATCH 012/162] Discord notification URL now also represents non http
services
---
server/notification.js | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/server/notification.js b/server/notification.js
index cb77a61..d81920e 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -95,12 +95,15 @@ class Notification {
await axios.post(notification.discordWebhookUrl, discordtestdata)
return okMsg;
}
+ let url = monitorJSON["url"] === "https://" ? monitorJSON["hostname"] : monitorJSON["url"]
+ if (monitorJSON["port"]) url += ":" + monitorJSON[port]
+
// If heartbeatJSON is not null, we go into the normal alerting loop.
if (heartbeatJSON["status"] == 0) {
let discorddowndata = {
username: discordDisplayName,
embeds: [{
- title: "❌ One of your services went down. ❌",
+ title: "❌ Your service " + monitorJSON["name"] + " went down. ❌",
color: 16711680,
timestamp: heartbeatJSON["time"],
fields: [
@@ -110,7 +113,7 @@ class Notification {
},
{
name: "Service URL",
- value: monitorJSON["url"],
+ value: url,
},
{
name: "Time (UTC)",
@@ -140,7 +143,7 @@ class Notification {
},
{
name: "Service URL",
- value: "[Visit Service](" + monitorJSON["url"] + ")",
+ value: url.startsWith("http") ? "[Visit Service](" + url + ")" : url,
},
{
name: "Time (UTC)",
From 72740ba477db016cae89dffceaab6f9f397e8c74 Mon Sep 17 00:00:00 2001
From: Thies <37243142+Thiesjoo@users.noreply.github.com>
Date: Wed, 25 Aug 2021 14:08:41 +0200
Subject: [PATCH 013/162] Update the styling to better match existing styles
Co-authored-by: Adam Stachowicz
---
server/notification.js | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/server/notification.js b/server/notification.js
index d81920e..8fb10a3 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -95,8 +95,11 @@ class Notification {
await axios.post(notification.discordWebhookUrl, discordtestdata)
return okMsg;
}
+
let url = monitorJSON["url"] === "https://" ? monitorJSON["hostname"] : monitorJSON["url"]
- if (monitorJSON["port"]) url += ":" + monitorJSON[port]
+ if (monitorJSON["port"]) {
+ url += ":" + monitorJSON[port];
+ }
// If heartbeatJSON is not null, we go into the normal alerting loop.
if (heartbeatJSON["status"] == 0) {
From 8318c2e8ffb375573cd9b36ac495806dacdd079d Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 26 Aug 2021 01:50:27 +0800
Subject: [PATCH 014/162] add a simple dns server for testing, and disable
ipRegex for dev only (need to input port)
---
extra/simple-dns-server.js | 58 ++++++++++++++++++++++++++++++++++++++
package-lock.json | 13 +++++++++
package.json | 4 ++-
src/pages/EditMonitor.vue | 15 ++++++++--
4 files changed, 87 insertions(+), 3 deletions(-)
create mode 100644 extra/simple-dns-server.js
diff --git a/extra/simple-dns-server.js b/extra/simple-dns-server.js
new file mode 100644
index 0000000..bf50aed
--- /dev/null
+++ b/extra/simple-dns-server.js
@@ -0,0 +1,58 @@
+/*
+ * Simple DNS Server
+ * For testing DNS monitoring type, dev only
+ */
+const dns2 = require("dns2");
+
+const { Packet } = dns2;
+
+const server = dns2.createServer({
+ udp: true
+});
+
+server.on("request", (request, send, rinfo) => {
+ for (let question of request.questions) {
+ console.log(question.name, type(question.type), question.class);
+
+ const response = Packet.createResponseFromRequest(request);
+
+ if (question.name === "existing.com") {
+
+ if (question.type === Packet.TYPE.A) {
+ response.answers.push({
+ name: question.name,
+ type: question.type,
+ class: question.class,
+ ttl: 300,
+ address: "1.2.3.4"
+ });
+ }
+
+ // TODO: all other types
+
+ }
+
+ send(response);
+ }
+});
+
+server.on("listening", () => {
+ console.log("Listening");
+ console.log(server.addresses());
+});
+
+server.on("close", () => {
+ console.log("server closed");
+});
+
+server.listen({
+ udp: 5300
+});
+
+function type(code) {
+ for (let name in Packet.TYPE) {
+ if (Packet.TYPE[name] === code) {
+ return name;
+ }
+ }
+}
diff --git a/package-lock.json b/package-lock.json
index cc1feeb..61bab41 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -53,6 +53,7 @@
"@vitejs/plugin-vue": "^1.4.0",
"@vue/compiler-sfc": "^3.2.2",
"core-js": "^3.16.1",
+ "dns2": "^2.0.1",
"eslint": "^7.32.0",
"eslint-plugin-vue": "^7.16.0",
"sass": "^1.37.5",
@@ -2457,6 +2458,12 @@
"node": ">=8"
}
},
+ "node_modules/dns2": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/dns2/-/dns2-2.0.1.tgz",
+ "integrity": "sha512-jHRTCcS2h/MEQjhcCnOWGENtz5A4RrLoK1YFqlHCejGfK5zYu99C8cxVwTsIY7JUqolhDN8zuGlyqnbEe6azqg==",
+ "dev": true
+ },
"node_modules/doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
@@ -9441,6 +9448,12 @@
"path-type": "^4.0.0"
}
},
+ "dns2": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/dns2/-/dns2-2.0.1.tgz",
+ "integrity": "sha512-jHRTCcS2h/MEQjhcCnOWGENtz5A4RrLoK1YFqlHCejGfK5zYu99C8cxVwTsIY7JUqolhDN8zuGlyqnbEe6azqg==",
+ "dev": true
+ },
"doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
diff --git a/package.json b/package.json
index 2d20c40..24e6737 100644
--- a/package.json
+++ b/package.json
@@ -32,7 +32,8 @@
"test-install-script-alpine3": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/alpine3.dockerfile .",
"test-install-script-ubuntu": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu.dockerfile .",
"test-install-script-ubuntu1604": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu1604.dockerfile .",
- "test-install-script-debian": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/debian.dockerfile ."
+ "test-install-script-debian": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/debian.dockerfile .",
+ "simple-dns-server": "node extra/simple-dns-server.js"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.36",
@@ -79,6 +80,7 @@
"@vitejs/plugin-vue": "^1.4.0",
"@vue/compiler-sfc": "^3.2.2",
"core-js": "^3.16.1",
+ "dns2": "^2.0.1",
"eslint": "^7.32.0",
"eslint-plugin-vue": "^7.16.0",
"sass": "^1.37.5",
diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue
index f597f07..4c06752 100644
--- a/src/pages/EditMonitor.vue
+++ b/src/pages/EditMonitor.vue
@@ -193,6 +193,7 @@
import NotificationDialog from "../components/NotificationDialog.vue";
import { useToast } from "vue-toastification"
import VueMultiselect from "vue-multiselect"
+import { isDev } from "../util.ts";
const toast = useToast()
export default {
@@ -209,13 +210,23 @@ export default {
},
acceptedStatusCodeOptions: [],
dnsresolvetypeOptions: [],
-
+
// Source: https://digitalfortress.tech/tips/top-15-commonly-used-regex/
- ipRegex: "((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))",
+ ipRegexPattern: "((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))",
}
},
computed: {
+
+ ipRegex() {
+
+ // Allow to test with simple dns server with port (127.0.0.1:5300)
+ if (! isDev) {
+ return this.ipRegexPattern;
+ }
+ return null;
+ },
+
pageName() {
return this.$t((this.isAdd) ? "Add New Monitor" : "Edit");
},
From 44d9967cfb35c887cd14aa8870cad0dedbd647ab Mon Sep 17 00:00:00 2001
From: Thomas Ferney
Date: Wed, 25 Aug 2021 21:01:29 +0200
Subject: [PATCH 015/162] feat: add rocket.chat notification
---
server/notification.js | 34 +++++++++++++++++++++++++++
src/components/NotificationDialog.vue | 31 ++++++++++++++++++++++++
2 files changed, 65 insertions(+)
diff --git a/server/notification.js b/server/notification.js
index cb77a61..4a13994 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -279,6 +279,40 @@ class Notification {
throwGeneralAxiosError(error)
}
+ } else if (notification.type === "rocket.chat") {
+ try {
+ if (heartbeatJSON == null) {
+ let data = {
+ "text": "Uptime Kuma Rocket.chat testing successful.",
+ "channel": notification.rocketchannel,
+ "username": notification.rocketusername,
+ "icon_emoji": notification.rocketiconemo,
+ }
+ await axios.post(notification.rocketwebhookURL, data)
+ return okMsg;
+ }
+
+ const time = heartbeatJSON["time"];
+ let data = {
+ "text": "Uptime Kuma Alert",
+ "channel": notification.rocketchannel,
+ "username": notification.rocketusername,
+ "icon_emoji": notification.rocketiconemo,
+ "attachments": [
+ {
+ "title": "Uptime Kuma Alert *Time (UTC)*\n" + time,
+ "title_link": notification.rocketbutton,
+ "text": "*Message*\n" + msg,
+ "color": "#32cd32"
+ }
+ ]
+ }
+ await axios.post(notification.rocketwebhookURL, data)
+ return okMsg;
+ } catch (error) {
+ throwGeneralAxiosError(error)
+ }
+
} else if (notification.type === "mattermost") {
try {
const mattermostUserName = notification.mattermostusername || "Uptime Kuma";
diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue
index d639e4f..6bfdfad 100644
--- a/src/components/NotificationDialog.vue
+++ b/src/components/NotificationDialog.vue
@@ -20,6 +20,7 @@
Signal
Gotify
Slack
+ Rocket.chat
Pushover
Pushy
Octopush
@@ -239,6 +240,36 @@
+
+
+
+
Webhook URL*
From 2b8c5e2e65d948d3f4f82e1e7d469476ca4ca358 Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Thu, 26 Aug 2021 02:43:26 +0200
Subject: [PATCH 016/162] Added German Language
---
src/components/NotificationDialog.vue | 4 +-
src/languages/de-DE.js | 102 ++++++++++++++++++++++++++
src/languages/en.js | 4 +
src/languages/zh-HK.js | 1 +
src/main.js | 2 +
src/pages/DashboardHome.vue | 2 +-
src/pages/Details.vue | 8 +-
src/pages/EditMonitor.vue | 2 +-
src/pages/Settings.vue | 6 ++
9 files changed, 123 insertions(+), 8 deletions(-)
create mode 100644 src/languages/de-DE.js
diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue
index 43b56b2..b5fe32e 100644
--- a/src/components/NotificationDialog.vue
+++ b/src/components/NotificationDialog.vue
@@ -421,8 +421,8 @@
-
- Are you sure want to delete this notification for all monitors?
+
+ {{ $t("deleteNotificationMsg") }}
diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js
new file mode 100644
index 0000000..b2bb608
--- /dev/null
+++ b/src/languages/de-DE.js
@@ -0,0 +1,102 @@
+export default {
+ languageName: "German",
+ Settings: "Einstellungen",
+ Dashboard: "Dashboard",
+ "New Update": "Update Verfügbar",
+ Language: "Sprache",
+ Appearance: "Erscheinung",
+ Theme: "Thema",
+ General: "Allgemein",
+ Version: "Version",
+ "Check Update On GitHub": "Überprüfen von Updates auf Github",
+ List: "Liste",
+ Add: "Hinzufügen",
+ "Add New Monitor": "Neuer Monitor",
+ "Quick Stats": "Übersicht",
+ Up: "Aktiv",
+ Down: "Inaktiv",
+ Pending: "Ausstehend",
+ Unknown: "Unbekannt",
+ Pause: "Pausieren",
+ pauseDashboardHome: "Pausiert",
+ Name: "Name",
+ Status: "Status",
+ DateTime: "Datum / Uhrzeit",
+ Message: "Nachricht",
+ "No important events": "Keine wichtigen Ereignisse",
+ Resume: "Fortsetzen",
+ Edit: "Bearbeiten",
+ Delete: "Löschen",
+ Current: "Aktuell",
+ Uptime: "Verfügbarkeit",
+ "Cert Exp.": "Zertifikatsablauf",
+ days: "Tage",
+ day: "Tag",
+ "-day": "-Tage",
+ hour: "Stunde",
+ "-hour": "-Stunden",
+ checkEverySecond: "Überprüfe alle {0} Sekunden",
+ "Avg.": "Durchschn. ",
+ Response: " Antwortzeit",
+ Ping: "Ping",
+ "Monitor Type": "Monitor Typ",
+ Keyword: "Schlüsselwort",
+ "Friendly Name": "Anzeigename",
+ URL: "URL",
+ Hostname: "Hostname",
+ Port: "Port",
+ "Heartbeat Interval": "Taktintervall",
+ Retries: "Wiederholungen",
+ retriesDescription: "Maximale Anzahl von Wiederholungen, bevor der Dienst als inaktiv markiert und eine Benachrichtigung gesendet wird.",
+ Advanced: "Erweitert",
+ ignoreTLSError: "Ignoriere TLS/SSL Fehler von Webseiten",
+ "Upside Down Mode": "Umgedrehter Modus",
+ upsideDownModeDescription: "Drehe den Modus um, ist der Dienst erreichbar, wird er als Inaktiv angezeigt.",
+ "Max. Redirects": "Max. Weiterleitungen",
+ maxRedirectDescription: "Maximale Anzahl von Weiterleitungen, denen gefolgt werden soll. Setzte auf 0, um Weiterleitungen zu deaktivieren.",
+ "Accepted Status Codes": "Erlaubte HTTP-Statuscodes",
+ acceptedStatusCodesDescription: "Wähle die Statuscodes aus, welche trotzdem als erfolgreich gewertet werden sollen.",
+ Save: "Speichern",
+ Notifications: "Benachrichtigungen",
+ "Not available, please setup.": "Keine verfügbar, bitte einrichten.",
+ "Setup Notification": "Benachrichtigung einrichten",
+ Light: "Hell",
+ Dark: "Dunkel",
+ Auto: "Auto",
+ "Theme - Heartbeat Bar": "Thema - Taktleiste",
+ Normal: "Normal",
+ Bottom: "Unten",
+ None: "Keine",
+ Timezone: "Zeitzone",
+ "Search Engine Visibility": "Suchmaschinensichtbarkeit",
+ "Allow indexing": "Indizierung zulassen",
+ "Discourage search engines from indexing site": "Halte Suchmaschinen von der Indexierung der Site ab",
+ "Change Password": "Passwort ändern",
+ "Current Password": "Dezeitiges Passwort",
+ "New Password": "Neues Passwort",
+ "Repeat New Password": "Wiederhole neues Passwort",
+ passwordNotMatchMsg: "Passwörter stimmen nicht überein. ",
+ "Update Password": "Ändere Passwort",
+ "Disable Auth": "Authentifizierung deaktivieren",
+ "Enable Auth": "Authentifizierung aktivieren",
+ Logout: "Ausloggen",
+ notificationDescription: "Weise den Monitor(en) eine Benachrichtigung zu, damit diese Funktion greift.",
+ Leave: "Verlassen",
+ "I understand, please disable": "Ich verstehe, bitte deaktivieren",
+ Confirm: "Bestätige",
+ Yes: "Ja",
+ No: "Nein",
+ Username: "Benutzername",
+ Password: "Passwort",
+ "Remember me": "Passwort merken",
+ Login: "Einloggen",
+ "No Monitors, please": "Keine Monitore, bitte",
+ "add one": "hinzufügen",
+ "Notification Type": "Benachrichtigungs Dienst",
+ "Email": "E-Mail",
+ "Test": "Test",
+ "Certificate Info": "Zertifikatsinfo",
+ keywordDescription: "Suche nach einen Schlüsselwort in einer schlichten HTML oder JSON Ausgabe. Bitte beachte, es wird in der Groß-/Kleinschreibung unterschieden.",
+ deleteMonitorMsg: "Bist du sicher das du den Monitor löschen möchtest?",
+ deleteNotificationMsg: "Möchtest du diese Benachrichtigung wirklich für alle Monitore löschen?",
+}
diff --git a/src/languages/en.js b/src/languages/en.js
index abd6c14..05e3fc9 100644
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -9,4 +9,8 @@ export default {
acceptedStatusCodesDescription: "Select status codes which are considered as a successful response.",
passwordNotMatchMsg: "The repeat password does not match.",
notificationDescription: "Please assign a notification to monitor(s) to get it to work.",
+ keywordDescription: "Search keyword in plain html or JSON response and it is case-sensitive",
+ pauseDashboardHome: "Pause",
+ deleteMonitorMsg: "Are you sure want to delete this monitor?",
+ deleteNotificationMsg: "Are you sure want to delete this notification for all monitors?",
}
diff --git a/src/languages/zh-HK.js b/src/languages/zh-HK.js
index 11bf845..e87e9a4 100644
--- a/src/languages/zh-HK.js
+++ b/src/languages/zh-HK.js
@@ -18,6 +18,7 @@ export default {
Pending: "待定",
Unknown: "不明",
Pause: "暫停",
+ pauseDashboardHome: "暫停",
Name: "名稱",
Status: "狀態",
DateTime: "日期時間",
diff --git a/src/main.js b/src/main.js
index dffb393..7fa6267 100644
--- a/src/main.js
+++ b/src/main.js
@@ -25,6 +25,7 @@ import { appName } from "./util.ts";
import en from "./languages/en";
import zhHK from "./languages/zh-HK";
+import deDE from "./languages/de-DE";
const routes = [
{
@@ -90,6 +91,7 @@ const router = createRouter({
const languageList = {
en,
"zh-HK": zhHK,
+ "de-DE": deDE,
};
const i18n = createI18n({
diff --git a/src/pages/DashboardHome.vue b/src/pages/DashboardHome.vue
index aa3635c..391b9e3 100644
--- a/src/pages/DashboardHome.vue
+++ b/src/pages/DashboardHome.vue
@@ -20,7 +20,7 @@
{{ stats.unknown }}
-
{{ $t("Pause") }}
+ {{ $t("pauseDashboardHome") }}
{{ stats.pause }}
diff --git a/src/pages/Details.vue b/src/pages/Details.vue
index 14eedc4..1c389a9 100644
--- a/src/pages/Details.vue
+++ b/src/pages/Details.vue
@@ -8,7 +8,7 @@
Ping: {{ monitor.hostname }}
- Keyword: {{ monitor.keyword }}
+ {{ $t("Keyword") }}: {{ monitor.keyword }}
@@ -80,7 +80,7 @@
-
Certificate Info
+
{{ $t("Certificate Info") }}
@@ -165,8 +165,8 @@
Are you sure want to pause?
-
- Are you sure want to delete this monitor?
+
+ {{ $t("deleteMonitorMsg") }}
diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue
index 5f98123..9590e11 100644
--- a/src/pages/EditMonitor.vue
+++ b/src/pages/EditMonitor.vue
@@ -40,7 +40,7 @@
{{ $t("Keyword") }}
- Search keyword in plain html or JSON response and it is case-sensitive
+ {{ $t("keywordDescription")}}
diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue
index 0f73059..bc9bf58 100644
--- a/src/pages/Settings.vue
+++ b/src/pages/Settings.vue
@@ -169,6 +169,12 @@
這個功能是設計給已有第三方認証 的用家,例如 Cloudflare Access。
請小心使用。
+
+
+ Bist du sicher das du die Authentifizierung deaktivieren möchtest?
+ Es ist für jemanden der eine externe Authentifizierung vor Uptime Kuma geschaltet hat, wie z.B. Cloudflare Access.
+ Bitte mit Vorsicht nutzen.
+
From feb0feda76e331038e1b954ffe86bf16e7048117 Mon Sep 17 00:00:00 2001
From: Dumitru Uzun
Date: Thu, 26 Aug 2021 12:53:57 +0300
Subject: [PATCH 017/162] Dockerfile: Avoid keeping npm in RAM
By running node directly, we save some RAM. In my case npm consumes 300MB and does nothing, just waits for the node process to exit.
On small VPSes 300MB is a lot!
---
dockerfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dockerfile b/dockerfile
index 873585b..ae18217 100644
--- a/dockerfile
+++ b/dockerfile
@@ -22,7 +22,7 @@ RUN npm install && npm run build && npm prune
EXPOSE 3001
VOLUME ["/app/data"]
HEALTHCHECK --interval=60s --timeout=30s --start-period=300s CMD node extra/healthcheck.js
-CMD ["npm", "run", "start-server"]
+CMD ["node", "server/server.js"]
FROM release AS nightly
RUN npm run mark-as-nightly
From 508586fcfdbab19a8ae87f63e59a25faa3289bee Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 26 Aug 2021 20:36:58 +0800
Subject: [PATCH 018/162] add codesandbox config for demo
---
package.json | 3 ++-
sandbox.config.json | 10 ++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
create mode 100644 sandbox.config.json
diff --git a/package.json b/package.json
index 24e6737..b4075b4 100644
--- a/package.json
+++ b/package.json
@@ -33,7 +33,8 @@
"test-install-script-ubuntu": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu.dockerfile .",
"test-install-script-ubuntu1604": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu1604.dockerfile .",
"test-install-script-debian": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/debian.dockerfile .",
- "simple-dns-server": "node extra/simple-dns-server.js"
+ "simple-dns-server": "node extra/simple-dns-server.js",
+ "codesandbox": "npm run build && npm run start-server"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.36",
diff --git a/sandbox.config.json b/sandbox.config.json
new file mode 100644
index 0000000..d51303a
--- /dev/null
+++ b/sandbox.config.json
@@ -0,0 +1,10 @@
+{
+ "infiniteLoopProtection": true,
+ "hardReloadOnChange": false,
+ "view": "browser",
+ "container": {
+ "node": "14",
+ "port": 3001,
+ "startScript": "codesandbox"
+ }
+}
From c55f2b93f75be0a98c5e3b0d6f126302d450da0a Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 26 Aug 2021 22:55:44 +0800
Subject: [PATCH 019/162] change to pm2 start server/server.js directly due to
(#273)
---
extra/install.batsh | 2 +-
install.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/extra/install.batsh b/extra/install.batsh
index cf14d0a..d0ac279 100644
--- a/extra/install.batsh
+++ b/extra/install.batsh
@@ -198,7 +198,7 @@ if (type == "local") {
bash("git clone https://github.com/louislam/uptime-kuma.git .");
bash("npm run setup");
- bash("pm2 start npm --name uptime-kuma -- run start-server -- --port=$port");
+ bash("pm2 start server/server.js --name uptime-kuma -- --port=$port");
} else {
defaultVolume = "uptime-kuma";
diff --git a/install.sh b/install.sh
index a840bb2..ede9f46 100644
--- a/install.sh
+++ b/install.sh
@@ -166,7 +166,7 @@ fi
cd $installPath
git clone https://github.com/louislam/uptime-kuma.git .
npm run setup
- pm2 start npm --name uptime-kuma -- run start-server -- --port=$port
+ pm2 start server/server.js --name uptime-kuma -- --port=$port
else
defaultVolume="uptime-kuma"
check=$(docker -v)
From 2d50d2427666170b999e8bf535ba065e97f784a7 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 26 Aug 2021 23:32:25 +0800
Subject: [PATCH 020/162] more translation for zh-HK
---
src/languages/zh-HK.js | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/languages/zh-HK.js b/src/languages/zh-HK.js
index e87e9a4..c61434d 100644
--- a/src/languages/zh-HK.js
+++ b/src/languages/zh-HK.js
@@ -95,4 +95,8 @@ export default {
"Notification Type": "通知類型",
"Email": "電郵",
"Test": "測試",
+ keywordDescription: "搜索 HTML 或 JSON 裡是否有出現關鍵字(注意英文大細階)",
+ "Certificate Info": "憑證詳細資料",
+ deleteMonitorMsg: "是否確定刪除這個監測器",
+ deleteNotificationMsg: "是否確定刪除這個通知設定?如監測器啟用了這個通知,將會收不到通知。",
}
From b46b2141752b3710b3967417891de29482783366 Mon Sep 17 00:00:00 2001
From: Tristan <39345534+MichelBaie@users.noreply.github.com>
Date: Fri, 27 Aug 2021 11:12:22 +0200
Subject: [PATCH 021/162] Traduction pour le language France (FR Translation)
---
src/languages/fr.js | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
create mode 100644 src/languages/fr.js
diff --git a/src/languages/fr.js b/src/languages/fr.js
new file mode 100644
index 0000000..174dc70
--- /dev/null
+++ b/src/languages/fr.js
@@ -0,0 +1,16 @@
+export default {
+ languageName: "Français",
+ checkEverySecond: "Vérification toutes les {0} secondes.",
+ "Avg.": "Moy. ",
+ retriesDescription: "Nombre de tentatives avant que le service soit déclaré comme inaccessible.",
+ ignoreTLSError: "Ignorer les erreurs SSL/TLS pour ce site",
+ upsideDownModeDescription: "Inverser le en ligne / hors ligne (Si le service est hors ligne il sera marqué comme en ligne).",
+ maxRedirectDescription: "Nombre maximal de redirections à suivre si besoin. 0 Pour désactiver cette option.",
+ acceptedStatusCodesDescription: "Séléctionnez les codes http correspondant à une réponse positive.",
+ passwordNotMatchMsg: "Le second mot de passe ne correspond pas !",
+ notificationDescription: "Merci de bien vouloir associer un check à cette notification pour la faire fonctionner.",
+ keywordDescription: "Rechercher un mot clé dans la réponse HTML ou JSON. Sensible aux caractères.",
+ pauseDashboardHome: "Pause",
+ deleteMonitorMsg: "Êtes-vous sûr de vouloir supprimer ce check ?",
+ deleteNotificationMsg: "Êtes-vous sûr de vouloir supprimer cette notification de tout vos check ?",
+}
From 177af2d58807fa922cdc10d80f970f4963f465af Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Fri, 27 Aug 2021 17:32:50 +0200
Subject: [PATCH 022/162] Added more dns types to simple-dns-server
---
extra/simple-dns-server.js | 87 +++++++++++++++++++++++++++++++++++++-
1 file changed, 86 insertions(+), 1 deletion(-)
diff --git a/extra/simple-dns-server.js b/extra/simple-dns-server.js
index bf50aed..e84e574 100644
--- a/extra/simple-dns-server.js
+++ b/extra/simple-dns-server.js
@@ -26,10 +26,95 @@ server.on("request", (request, send, rinfo) => {
ttl: 300,
address: "1.2.3.4"
});
+ } if (question.type === Packet.TYPE.AAAA) {
+ response.answers.push({
+ name: question.name,
+ type: question.type,
+ class: question.class,
+ ttl: 300,
+ address: "fe80::::1234:5678:abcd:ef00",
+ });
+ } else if (question.type === Packet.TYPE.CNAME) {
+ response.answers.push({
+ name: question.name,
+ type: question.type,
+ class: question.class,
+ ttl: 300,
+ domain: "cname1.existing.com",
+ });
+ } else if (question.type === Packet.TYPE.MX) {
+ response.answers.push({
+ name: question.name,
+ type: question.type,
+ class: question.class,
+ ttl: 300,
+ exchange: "mx1.existing.com",
+ priority: 5
+ });
+ } else if (question.type === Packet.TYPE.NS) {
+ response.answers.push({
+ name: question.name,
+ type: question.type,
+ class: question.class,
+ ttl: 300,
+ ns: "ns1.existing.com",
+ });
+ } else if (question.type === Packet.TYPE.PTR) {
+ response.answers.push({
+ name: question.name,
+ type: question.type,
+ class: question.class,
+ ttl: 300,
+ domain: "ptr1.existing.com",
+ });
+ } else if (question.type === Packet.TYPE.SOA) {
+ response.answers.push({
+ name: question.name,
+ type: question.type,
+ class: question.class,
+ ttl: 300,
+ primary: "existing.com",
+ admin: "admin@existing.com",
+ serial: 2021082701,
+ refresh: 300,
+ retry: 3,
+ expiration: 10,
+ minimum: 10,
+ });
+ } else if (question.type === Packet.TYPE.SRV) {
+ response.answers.push({
+ name: question.name,
+ type: question.type,
+ class: question.class,
+ ttl: 300,
+ priority: 5,
+ weight: 5,
+ port: 8080,
+ target: "srv1.existing.com",
+ });
+ } else if (question.type === Packet.TYPE.TXT) {
+ response.answers.push({
+ name: question.name,
+ type: question.type,
+ class: question.class,
+ ttl: 300,
+ data: "#v=spf1 include:_spf.existing.com ~all",
+ });
}
- // TODO: all other types
+ // TODO: CAA type
+ }
+ if (question.name === "4.3.2.1.in-addr.arpa") {
+ if (question.type === Packet.TYPE.PTR) {
+ response.answers.push({
+ name: question.name,
+ type: question.type,
+ class: question.class,
+ ttl: 300,
+ domain: "ptr1.existing.com",
+ });
+ }
}
send(response);
From acd5cf63fd29a348b77b302228b56dff1e788e33 Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Fri, 27 Aug 2021 17:41:22 +0200
Subject: [PATCH 023/162] Removed wrong PTR answer
---
extra/simple-dns-server.js | 8 --------
1 file changed, 8 deletions(-)
diff --git a/extra/simple-dns-server.js b/extra/simple-dns-server.js
index e84e574..4be3f68 100644
--- a/extra/simple-dns-server.js
+++ b/extra/simple-dns-server.js
@@ -59,14 +59,6 @@ server.on("request", (request, send, rinfo) => {
ttl: 300,
ns: "ns1.existing.com",
});
- } else if (question.type === Packet.TYPE.PTR) {
- response.answers.push({
- name: question.name,
- type: question.type,
- class: question.class,
- ttl: 300,
- domain: "ptr1.existing.com",
- });
} else if (question.type === Packet.TYPE.SOA) {
response.answers.push({
name: question.name,
From 03b4086372d1be7dfde9062cd1aa0c1bb0c5dc69 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Fri, 27 Aug 2021 23:57:42 +0800
Subject: [PATCH 024/162] add CAA test and remove some files added by mistake
---
extra/simple-dns-server.js | 11 ++++++++++-
package.json | 3 +--
sandbox.config.json | 10 ----------
3 files changed, 11 insertions(+), 13 deletions(-)
delete mode 100644 sandbox.config.json
diff --git a/extra/simple-dns-server.js b/extra/simple-dns-server.js
index 4be3f68..5e5745f 100644
--- a/extra/simple-dns-server.js
+++ b/extra/simple-dns-server.js
@@ -92,9 +92,18 @@ server.on("request", (request, send, rinfo) => {
ttl: 300,
data: "#v=spf1 include:_spf.existing.com ~all",
});
+ } else if (question.type === Packet.TYPE.CAA) {
+ response.answers.push({
+ name: question.name,
+ type: question.type,
+ class: question.class,
+ ttl: 300,
+ flags: 0,
+ tag: "issue",
+ value: "ca.existing.com",
+ });
}
- // TODO: CAA type
}
if (question.name === "4.3.2.1.in-addr.arpa") {
diff --git a/package.json b/package.json
index b4075b4..24e6737 100644
--- a/package.json
+++ b/package.json
@@ -33,8 +33,7 @@
"test-install-script-ubuntu": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu.dockerfile .",
"test-install-script-ubuntu1604": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu1604.dockerfile .",
"test-install-script-debian": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/debian.dockerfile .",
- "simple-dns-server": "node extra/simple-dns-server.js",
- "codesandbox": "npm run build && npm run start-server"
+ "simple-dns-server": "node extra/simple-dns-server.js"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.36",
diff --git a/sandbox.config.json b/sandbox.config.json
deleted file mode 100644
index d51303a..0000000
--- a/sandbox.config.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "infiniteLoopProtection": true,
- "hardReloadOnChange": false,
- "view": "browser",
- "container": {
- "node": "14",
- "port": 3001,
- "startScript": "codesandbox"
- }
-}
From 6464207f4b2a4bcac928330c686b36bb0bd8a753 Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Fri, 27 Aug 2021 18:41:58 +0200
Subject: [PATCH 025/162] Added German language for DNS Monitor
---
src/languages/de-DE.js | 3 +++
src/languages/en.js | 2 ++
src/pages/EditMonitor.vue | 8 ++++----
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js
index b2bb608..93d3da1 100644
--- a/src/languages/de-DE.js
+++ b/src/languages/de-DE.js
@@ -99,4 +99,7 @@ export default {
keywordDescription: "Suche nach einen Schlüsselwort in einer schlichten HTML oder JSON Ausgabe. Bitte beachte, es wird in der Groß-/Kleinschreibung unterschieden.",
deleteMonitorMsg: "Bist du sicher das du den Monitor löschen möchtest?",
deleteNotificationMsg: "Möchtest du diese Benachrichtigung wirklich für alle Monitore löschen?",
+ resoverserverDescription: "Cloudflare ist der Standardserver, dieser kann jederzeit geändern werden.",
+ "Resolver Server": "Auflösungsserver",
+ rrtypeDescription: "Wähle den RR-Typ aus, welchen du überwachen möchtest.",
}
diff --git a/src/languages/en.js b/src/languages/en.js
index 05e3fc9..ebacfac 100644
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -13,4 +13,6 @@ export default {
pauseDashboardHome: "Pause",
deleteMonitorMsg: "Are you sure want to delete this monitor?",
deleteNotificationMsg: "Are you sure want to delete this notification for all monitors?",
+ resoverserverDescription: "Cloudflare is the default server, you can change the resolver server anytime.",
+ rrtypeDescription: "Select the RR-Type you want to monitor",
}
diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue
index 33dc162..c369278 100644
--- a/src/pages/EditMonitor.vue
+++ b/src/pages/EditMonitor.vue
@@ -43,7 +43,7 @@
{{ $t("Keyword") }}
- {{ $t("keywordDescription")}}
+ {{ $t("keywordDescription") }}
@@ -63,10 +63,10 @@
-
Resolver Server
+
{{ $t("Resolver Server") }}
- Cloudflare is the default server, you can change the resolver server anytime.
+ {{ $t("resoverserverDescription") }}
@@ -88,7 +88,7 @@
>
- Select the RR-Type you want to monitor
+ {{ $t("rrtypeDescription") }}
From 2901a38628867503fc7f1d496e868cc79b1c120d Mon Sep 17 00:00:00 2001
From: henrygd
Date: Fri, 27 Aug 2021 15:28:01 -0700
Subject: [PATCH 026/162] add position: sticky to monitor details
---
src/pages/Details.vue | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/pages/Details.vue b/src/pages/Details.vue
index 1c389a9..3d49d60 100644
--- a/src/pages/Details.vue
+++ b/src/pages/Details.vue
@@ -1,6 +1,6 @@
-
+
{{ monitor.name }}
{{ monitor.url }}
@@ -418,4 +418,9 @@ table {
color: $dark-font-color;
}
}
+.monitor {
+ position: sticky;
+ top: 7px;
+ margin: 0 0 24px;
+}
From d4dd650bfe77c5488afd39c6b573f1f12d210a25 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Sat, 28 Aug 2021 11:20:02 +0800
Subject: [PATCH 027/162] translate for zh-hk
---
src/languages/zh-HK.js | 4 ++++
src/pages/EditMonitor.vue | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/languages/zh-HK.js b/src/languages/zh-HK.js
index c61434d..d0cd334 100644
--- a/src/languages/zh-HK.js
+++ b/src/languages/zh-HK.js
@@ -99,4 +99,8 @@ export default {
"Certificate Info": "憑證詳細資料",
deleteMonitorMsg: "是否確定刪除這個監測器",
deleteNotificationMsg: "是否確定刪除這個通知設定?如監測器啟用了這個通知,將會收不到通知。",
+ "Resolver Server": "DNS 伺服器",
+ "Resource Record Type": "DNS 記錄類型",
+ resoverserverDescription: "預設值為 Cloudflare DNS 伺服器,你可以轉用其他 DNS 伺服器。",
+ rrtypeDescription: "請選擇 DNS 記錄類型",
}
diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue
index c369278..18663ae 100644
--- a/src/pages/EditMonitor.vue
+++ b/src/pages/EditMonitor.vue
@@ -71,7 +71,7 @@
- Resource Record Type
+ {{ $t("Resource Record Type") }}
Date: Sat, 28 Aug 2021 11:46:26 +0800
Subject: [PATCH 028/162] set default value for dns resolve type and code
refactor
---
src/pages/EditMonitor.vue | 122 ++++++++++++++++++++------------------
1 file changed, 64 insertions(+), 58 deletions(-)
diff --git a/src/pages/EditMonitor.vue b/src/pages/EditMonitor.vue
index 18663ae..5522617 100644
--- a/src/pages/EditMonitor.vue
+++ b/src/pages/EditMonitor.vue
@@ -47,50 +47,51 @@
-
+
+
{{ $t("Hostname") }}
+
{{ $t("Port") }}
-
- Hostname
-
-
-
-
-
{{ $t("Resolver Server") }}
-
-
- {{ $t("resoverserverDescription") }}
+
+
+
+
{{ $t("Resolver Server") }}
+
+
+ {{ $t("resoverserverDescription") }}
+
-
-
-
-
{{ $t("Resource Record Type") }}
-
-
-
- {{ $t("rrtypeDescription") }}
+
+
{{ $t("Resource Record Type") }}
+
+
+
+
+
+ {{ $t("rrtypeDescription") }}
+
-
+
{{ $t("Heartbeat Interval") }} ({{ $t("checkEverySecond", [ monitor.interval ]) }})
@@ -124,35 +125,38 @@
-
-
{{ $t("Max. Redirects") }}
-
-
- {{ $t("maxRedirectDescription") }}
+
+
+
+
{{ $t("Max. Redirects") }}
+
+
+ {{ $t("maxRedirectDescription") }}
+
-
-
-
{{ $t("Accepted Status Codes") }}
-
-
-
-
- {{ $t("acceptedStatusCodesDescription") }}
+
+
{{ $t("Accepted Status Codes") }}
+
+
+
+
+ {{ $t("acceptedStatusCodesDescription") }}
+
-
+
{{ $t("Save") }}
@@ -207,6 +211,7 @@ export default {
processing: false,
monitor: {
notificationIDList: {},
+ // Do not add default value here, please check init() method
},
acceptedStatusCodeOptions: [],
dnsresolvetypeOptions: [],
@@ -288,6 +293,7 @@ export default {
upsideDown: false,
maxredirects: 10,
accepted_statuscodes: ["200-299"],
+ dns_resolve_type: "A",
dns_resolve_server: "1.1.1.1",
}
} else if (this.isEdit) {
From 59e93156473f8507a93adfe9c446a051f0a0208e Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Sat, 28 Aug 2021 11:48:34 +0800
Subject: [PATCH 029/162] show dns type and hostname in Details.vue
---
src/pages/Details.vue | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/pages/Details.vue b/src/pages/Details.vue
index 1c389a9..f06f9e1 100644
--- a/src/pages/Details.vue
+++ b/src/pages/Details.vue
@@ -10,6 +10,7 @@
{{ $t("Keyword") }}: {{ monitor.keyword }}
+ [{{ monitor.dns_resolve_type }}] {{ monitor.hostname }}
From 46dcd31142891d098d6e268f9723dd5760b849ce Mon Sep 17 00:00:00 2001
From: Louis Lam
Date: Sat, 28 Aug 2021 12:29:57 +0800
Subject: [PATCH 030/162] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 025510f..eece23e 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@ It is a self-hosted monitoring tool like "Uptime Robot".
* Monitoring uptime for HTTP(s) / TCP / Ping.
* Fancy, Reactive, Fast UI/UX.
-* Notifications via Webhook, Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP) and more by Apprise.
+* Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP) and [70+ notification services, click here for the full list](https://github.com/louislam/uptime-kuma/issues/284).
* 20 seconds interval.
## 🔧 How to Install
From 309fbfa0943166c3c256573de6014f18df7bbff6 Mon Sep 17 00:00:00 2001
From: Louis Lam
Date: Sat, 28 Aug 2021 12:32:35 +0800
Subject: [PATCH 031/162] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index eece23e..2ba5d91 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@ It is a self-hosted monitoring tool like "Uptime Robot".
## ⭐ Features
-* Monitoring uptime for HTTP(s) / TCP / Ping.
+* Monitoring uptime for HTTP(s) / TCP / Ping / DNS Record.
* Fancy, Reactive, Fast UI/UX.
* Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP) and [70+ notification services, click here for the full list](https://github.com/louislam/uptime-kuma/issues/284).
* 20 seconds interval.
From a14c40f9bb8c8a3deb9118924c11390bfc4bd515 Mon Sep 17 00:00:00 2001
From: Louis Lam
Date: Sat, 28 Aug 2021 12:33:10 +0800
Subject: [PATCH 032/162] move k8s to advanced installation section
---
README.md | 5 -----
1 file changed, 5 deletions(-)
diff --git a/README.md b/README.md
index 2ba5d91..4bd10c7 100644
--- a/README.md
+++ b/README.md
@@ -36,11 +36,6 @@ docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name upti
Browse to http://localhost:3001 after started.
-### ☸️ Kubernetes
-
-See more [here](kubernetes/README.md)
-
-
### Advanced Installation
If you need more options or need to browse via a reserve proxy, please read:
From 0e676060f2ad4269ac6f02a43858c82656f581ad Mon Sep 17 00:00:00 2001
From: Louis Lam
Date: Sat, 28 Aug 2021 13:46:47 +0800
Subject: [PATCH 033/162] Update CONTRIBUTING.md
---
CONTRIBUTING.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 5bbf343..0734285 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -22,13 +22,13 @@ If you are not sure, feel free to create an empty pull request draft first.
### *️⃣ Requires one more reviewer
-I do not have such knowledge to test it
+I do not have such knowledge to test it.
- Add k8s supports
### *️⃣ Low Priority
-It chnaged my current workflow and require further studies.
+It changed my current workflow and require further studies.
- Change my release approach
From 27a4dbb722f7db8778ce9420be3962be93196e74 Mon Sep 17 00:00:00 2001
From: Arnish Baruah <61318157+arnishb@users.noreply.github.com>
Date: Sat, 28 Aug 2021 16:40:32 +0530
Subject: [PATCH 034/162] fix-readme
---
README.md | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index 4bd10c7..d5f0d31 100644
--- a/README.md
+++ b/README.md
@@ -14,14 +14,14 @@ It is a self-hosted monitoring tool like "Uptime Robot".
* Monitoring uptime for HTTP(s) / TCP / Ping / DNS Record.
* Fancy, Reactive, Fast UI/UX.
-* Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP) and [70+ notification services, click here for the full list](https://github.com/louislam/uptime-kuma/issues/284).
+* Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), and [70+ notification services, click here for the full list](https://github.com/louislam/uptime-kuma/issues/284).
* 20 seconds interval.
## 🔧 How to Install
-### 🚀 Installer via cli
+### 🚀 Installer via CLI
-Interactive cli installer, supports Docker or without Docker.
+Interactive CLI installer, supports Docker or without Docker.
```bash
curl -o kuma_install.sh https://raw.githubusercontent.com/louislam/uptime-kuma/master/install.sh && sudo bash kuma_install.sh
@@ -71,7 +71,7 @@ Telegram Notification Sample:
## Motivation
-* I was looking for a self-hosted monitoring tool like "Uptime Robot", but it is hard to find a suitable one. One of the close one is statping. Unfortunately, it is not stable and unmaintained.
+* I was looking for a self-hosted monitoring tool like "Uptime Robot", but it is hard to find a suitable one. One of the close ones is statping. Unfortunately, it is not stable and unmaintained.
* Want to build a fancy UI.
* Learn Vue 3 and vite.js.
* Show the power of Bootstrap 5.
@@ -84,6 +84,6 @@ If you love this project, please consider giving me a ⭐.
If you want to report a bug or request a new feature. Free feel to open a new issue.
-If you want to modify Uptime Kuma, this guideline maybe useful for you: https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md
+If you want to modify Uptime Kuma, this guideline may be useful for you: https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md
-English proofreading is needed too, because my grammar is not that great sadly. Feel free to correct my grammar in this Readme, source code or wiki.
+English proofreading is needed too because my grammar is not that great sadly. Feel free to correct my grammar in this readme, source code, or wiki.
From 303adbf9b13975636f48d9d33b1962e2685a28c9 Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Sat, 28 Aug 2021 21:20:25 +0200
Subject: [PATCH 035/162] Show latest dns result in Details.vue
---
db/patch7.sql | 3 +++
server/model/monitor.js | 12 ++++++++++++
src/pages/Details.vue | 2 +-
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/db/patch7.sql b/db/patch7.sql
index 2e8eba1..4085daf 100644
--- a/db/patch7.sql
+++ b/db/patch7.sql
@@ -7,4 +7,7 @@ ALTER TABLE monitor
ALTER TABLE monitor
ADD dns_resolve_server VARCHAR(255);
+ALTER TABLE monitor
+ ADD dns_last_result VARCHAR(255);
+
COMMIT;
diff --git a/server/model/monitor.js b/server/model/monitor.js
index f5efadc..a01dd61 100644
--- a/server/model/monitor.js
+++ b/server/model/monitor.js
@@ -50,6 +50,7 @@ class Monitor extends BeanModel {
accepted_statuscodes: this.getAcceptedStatuscodes(),
dns_resolve_type: this.dns_resolve_type,
dns_resolve_server: this.dns_resolve_server,
+ dns_last_result: this.dns_last_result,
notificationIDList,
};
}
@@ -207,6 +208,17 @@ class Monitor extends BeanModel {
dnsMessage = dnsMessage.slice(0, -2)
}
+ let dnsLastResult = await R.findOne("monitor", "id = ?", [
+ this.id,
+ ]);
+
+ if (dnsLastResult.dnsLastResult !== dnsMessage) {
+ R.exec("UPDATE `monitor` SET dns_last_result = ? WHERE id = ? ", [
+ dnsMessage,
+ this.id
+ ]);
+ }
+
bean.msg = dnsMessage;
bean.status = UP;
}
diff --git a/src/pages/Details.vue b/src/pages/Details.vue
index f06f9e1..8da1112 100644
--- a/src/pages/Details.vue
+++ b/src/pages/Details.vue
@@ -10,7 +10,7 @@
{{ $t("Keyword") }}: {{ monitor.keyword }}
- [{{ monitor.dns_resolve_type }}] {{ monitor.hostname }}
+ [{{ monitor.dns_resolve_type }}] {{ monitor.hostname }} [ {{ monitor.dns_last_result }} ]
From 2bb182b2b4251914e6cf5d883f597c887bbd9a2a Mon Sep 17 00:00:00 2001
From: Louis Lam
Date: Sun, 29 Aug 2021 03:28:40 +0800
Subject: [PATCH 036/162] Create FUNDING.yml
---
.github/FUNDING.yml | 12 ++++++++++++
1 file changed, 12 insertions(+)
create mode 100644 .github/FUNDING.yml
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..6e53fa0
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,12 @@
+# These are supported funding model platforms
+
+#github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
+#patreon: # Replace with a single Patreon username
+open_collective: uptime-kuma # Replace with a single Open Collective username
+#ko_fi: # Replace with a single Ko-fi username
+#tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
+#community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
+#liberapay: # Replace with a single Liberapay username
+#issuehunt: # Replace with a single IssueHunt username
+#otechie: # Replace with a single Otechie username
+#custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
From 858affa8089f5e0da98be8aa80538b55d2eafe4f Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Sat, 28 Aug 2021 21:29:24 +0200
Subject: [PATCH 037/162] Removed useless database query
---
server/model/monitor.js | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/server/model/monitor.js b/server/model/monitor.js
index a01dd61..6d0d812 100644
--- a/server/model/monitor.js
+++ b/server/model/monitor.js
@@ -208,11 +208,7 @@ class Monitor extends BeanModel {
dnsMessage = dnsMessage.slice(0, -2)
}
- let dnsLastResult = await R.findOne("monitor", "id = ?", [
- this.id,
- ]);
-
- if (dnsLastResult.dnsLastResult !== dnsMessage) {
+ if (this.dnsLastResult !== dnsMessage) {
R.exec("UPDATE `monitor` SET dns_last_result = ? WHERE id = ? ", [
dnsMessage,
this.id
From 93edb8817dae96a35fa60c5a42e008a56bab52ef Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Sun, 29 Aug 2021 03:57:26 +0200
Subject: [PATCH 038/162] More uniform look
---
src/languages/de-DE.js | 1 +
src/pages/Details.vue | 5 ++++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js
index 93d3da1..a4d84e7 100644
--- a/src/languages/de-DE.js
+++ b/src/languages/de-DE.js
@@ -102,4 +102,5 @@ export default {
resoverserverDescription: "Cloudflare ist der Standardserver, dieser kann jederzeit geändern werden.",
"Resolver Server": "Auflösungsserver",
rrtypeDescription: "Wähle den RR-Typ aus, welchen du überwachen möchtest.",
+ "Last Result": "Letztes Ergebnis",
}
diff --git a/src/pages/Details.vue b/src/pages/Details.vue
index 8da1112..10a27a9 100644
--- a/src/pages/Details.vue
+++ b/src/pages/Details.vue
@@ -10,7 +10,10 @@
{{ $t("Keyword") }}: {{ monitor.keyword }}
- [{{ monitor.dns_resolve_type }}] {{ monitor.hostname }} [ {{ monitor.dns_last_result }} ]
+ [{{ monitor.dns_resolve_type }}] {{ monitor.hostname }}
+
+ {{ $t("Last Result") }}: {{ monitor.dns_last_result }}
+
From dd877cfc7043cb87fc91900ead911e615d1a048a Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Sun, 29 Aug 2021 04:03:55 +0200
Subject: [PATCH 039/162] Added translation to pause monitor confirmation
---
src/languages/de-DE.js | 1 +
src/languages/en.js | 1 +
src/pages/Details.vue | 4 ++--
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js
index a4d84e7..ba852cf 100644
--- a/src/languages/de-DE.js
+++ b/src/languages/de-DE.js
@@ -103,4 +103,5 @@ export default {
"Resolver Server": "Auflösungsserver",
rrtypeDescription: "Wähle den RR-Typ aus, welchen du überwachen möchtest.",
"Last Result": "Letztes Ergebnis",
+ pauseMonitorMsg: "Bist du sicher das du den Monitor pausieren möchtest?",
}
diff --git a/src/languages/en.js b/src/languages/en.js
index ebacfac..75c25dd 100644
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -15,4 +15,5 @@ export default {
deleteNotificationMsg: "Are you sure want to delete this notification for all monitors?",
resoverserverDescription: "Cloudflare is the default server, you can change the resolver server anytime.",
rrtypeDescription: "Select the RR-Type you want to monitor",
+ pauseMonitorMsg: "Are you sure want to pause?",
}
diff --git a/src/pages/Details.vue b/src/pages/Details.vue
index 10a27a9..cc45e40 100644
--- a/src/pages/Details.vue
+++ b/src/pages/Details.vue
@@ -165,8 +165,8 @@
-
- Are you sure want to pause?
+
+ {{ $t("pauseMonitorMsg") }}
From ada660621786e259af299c7532154a938d583030 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Sun, 29 Aug 2021 11:16:06 +0800
Subject: [PATCH 040/162] move the new sql to patch8.sql
---
db/patch8.sql | 7 +++++++
server/database.js | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
create mode 100644 db/patch8.sql
diff --git a/db/patch8.sql b/db/patch8.sql
new file mode 100644
index 0000000..d63a594
--- /dev/null
+++ b/db/patch8.sql
@@ -0,0 +1,7 @@
+-- You should not modify if this have pushed to Github, unless it does serious wrong with the db.
+BEGIN TRANSACTION;
+
+ALTER TABLE monitor
+ ADD dns_last_result VARCHAR(255);
+
+COMMIT;
diff --git a/server/database.js b/server/database.js
index 2b9b715..7ce81be 100644
--- a/server/database.js
+++ b/server/database.js
@@ -6,7 +6,7 @@ class Database {
static templatePath = "./db/kuma.db"
static path = "./data/kuma.db";
- static latestVersion = 7;
+ static latestVersion = 8;
static noReject = true;
static sqliteInstance = null;
From 257a4ee994f14af8f2de1601b858f80ae3d2113c Mon Sep 17 00:00:00 2001
From: Louis Lam
Date: Sun, 29 Aug 2021 18:58:05 +0800
Subject: [PATCH 041/162] Update patch7.sql
---
db/patch7.sql | 3 ---
1 file changed, 3 deletions(-)
diff --git a/db/patch7.sql b/db/patch7.sql
index 4085daf..2e8eba1 100644
--- a/db/patch7.sql
+++ b/db/patch7.sql
@@ -7,7 +7,4 @@ ALTER TABLE monitor
ALTER TABLE monitor
ADD dns_resolve_server VARCHAR(255);
-ALTER TABLE monitor
- ADD dns_last_result VARCHAR(255);
-
COMMIT;
From f30232c35d168bf9ce4de02ccabdca5f18c2d81f Mon Sep 17 00:00:00 2001
From: Louis Lam
Date: Sun, 29 Aug 2021 19:15:40 +0800
Subject: [PATCH 042/162] Create CNAME
---
CNAME | 1 +
1 file changed, 1 insertion(+)
create mode 100644 CNAME
diff --git a/CNAME b/CNAME
new file mode 100644
index 0000000..a5348b0
--- /dev/null
+++ b/CNAME
@@ -0,0 +1 @@
+git.kuma.pet
\ No newline at end of file
From 78b7e36a38b0b1be585d59184ffeda1c296f9390 Mon Sep 17 00:00:00 2001
From: Louis Lam
Date: Sun, 29 Aug 2021 19:21:13 +0800
Subject: [PATCH 043/162] Update domain name
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index d5f0d31..dd943e6 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@ It is a self-hosted monitoring tool like "Uptime Robot".
Interactive CLI installer, supports Docker or without Docker.
```bash
-curl -o kuma_install.sh https://raw.githubusercontent.com/louislam/uptime-kuma/master/install.sh && sudo bash kuma_install.sh
+curl -o kuma_install.sh http://git.kuma.pet/install.sh && sudo bash kuma_install.sh
```
### 🐳 Docker
From 1952e34110957a3ed81b68d0ad9afb78f0da4ac4 Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Sun, 29 Aug 2021 18:47:01 +0200
Subject: [PATCH 044/162] Added the possibility to clear monitor data
---
server/server.js | 48 ++++++++++++++++++++++
src/assets/vars.scss | 2 +
src/languages/de-DE.js | 5 +++
src/languages/en.js | 2 +
src/mixins/socket.js | 7 ++++
src/pages/Details.vue | 93 ++++++++++++++++++++++++++++++++++++++++--
6 files changed, 153 insertions(+), 4 deletions(-)
diff --git a/server/server.js b/server/server.js
index d4fe668..3530981 100644
--- a/server/server.js
+++ b/server/server.js
@@ -552,6 +552,54 @@ let indexHTML = fs.readFileSync("./dist/index.html").toString();
}
});
+ socket.on("clearEvents", async (monitorID, callback) => {
+ try {
+ checkLogin(socket)
+
+ console.log(`Clear Events Monitor: ${monitorID} User ID: ${socket.userID}`)
+
+ await R.exec("UPDATE heartbeat SET msg = ?, important = ? WHERE monitor_id = ? ", [
+ "",
+ "0",
+ monitorID,
+ ]);
+
+ callback({
+ ok: true,
+ msg: "Events Successfully Cleared.",
+ });
+
+ } catch (e) {
+ callback({
+ ok: false,
+ msg: e.message,
+ });
+ }
+ });
+
+ socket.on("clearHeartbeats", async (monitorID, callback) => {
+ try {
+ checkLogin(socket)
+
+ console.log(`Clear Heartbeats Monitor: ${monitorID} User ID: ${socket.userID}`)
+
+ await R.exec("DELETE FROM heartbeat WHERE monitor_id = ?", [
+ monitorID
+ ]);
+
+ callback({
+ ok: true,
+ msg: "Heartbeats Successfully Cleared.",
+ });
+
+ } catch (e) {
+ callback({
+ ok: false,
+ msg: e.message,
+ });
+ }
+ });
+
debug("added all socket handlers")
// ***************************
diff --git a/src/assets/vars.scss b/src/assets/vars.scss
index 9d487eb..2f43698 100644
--- a/src/assets/vars.scss
+++ b/src/assets/vars.scss
@@ -16,3 +16,5 @@ $dark-border-color: #1d2634;
$easing-in: cubic-bezier(0.54, 0.78, 0.55, 0.97);
$easing-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);
$easing-in-out: cubic-bezier(0.79, 0.14, 0.15, 0.86);
+
+$dropdown-border-radius: 0.5rem;
diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js
index ba852cf..58d283a 100644
--- a/src/languages/de-DE.js
+++ b/src/languages/de-DE.js
@@ -104,4 +104,9 @@ export default {
rrtypeDescription: "Wähle den RR-Typ aus, welchen du überwachen möchtest.",
"Last Result": "Letztes Ergebnis",
pauseMonitorMsg: "Bist du sicher das du den Monitor pausieren möchtest?",
+ clearEventsMsg: "Bist du sicher das du alle Ereignisse löschen möchtest?",
+ clearHeartbeatsMsg: "Bist du sicher das du alle Statistiken löschen möchtest?",
+ "Clear Data": "Lösche Daten",
+ "Events": "Ereignisse",
+ "Heartbeats": "Statistiken",
}
diff --git a/src/languages/en.js b/src/languages/en.js
index 75c25dd..0729e2e 100644
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -16,4 +16,6 @@ export default {
resoverserverDescription: "Cloudflare is the default server, you can change the resolver server anytime.",
rrtypeDescription: "Select the RR-Type you want to monitor",
pauseMonitorMsg: "Are you sure want to pause?",
+ clearEventsMsg: "Are you sure want to delete all events?",
+ clearHeartbeatsMsg: "Are you sure want to delete all heartbeats?",
}
diff --git a/src/mixins/socket.js b/src/mixins/socket.js
index 454422e..6f6f033 100644
--- a/src/mixins/socket.js
+++ b/src/mixins/socket.js
@@ -254,6 +254,13 @@ export default {
this.importantHeartbeatList = {}
},
+ clearEvents(monitorID, callback) {
+ socket.emit("clearEvents", monitorID, callback)
+ },
+
+ clearHeartbeats(monitorID, callback) {
+ socket.emit("clearHeartbeats", monitorID, callback)
+ },
},
computed: {
diff --git a/src/pages/Details.vue b/src/pages/Details.vue
index cc45e40..8ceae1d 100644
--- a/src/pages/Details.vue
+++ b/src/pages/Details.vue
@@ -133,6 +133,23 @@
+
+
+ {{ $t("Clear Data") }}
+
+
+
@@ -172,6 +189,14 @@
{{ $t("deleteMonitorMsg") }}
+
+
+ {{ $t("clearEventsMsg") }}
+
+
+
+ {{ $t("clearHeartbeatsMsg") }}
+
@@ -313,6 +338,14 @@ export default {
this.$refs.confirmDelete.show();
},
+ clearEventsDialog() {
+ this.$refs.confirmClearEvents.show();
+ },
+
+ clearHeartbeatsDialog() {
+ this.$refs.confirmClearHeartbeats.show();
+ },
+
deleteMonitor() {
this.$root.deleteMonitor(this.monitor.id, (res) => {
if (res.ok) {
@@ -324,6 +357,27 @@ export default {
})
},
+ clearEvents() {
+ this.$root.clearEvents(this.monitor.id, (res) => {
+ if (res.ok) {
+ toast.success(res.msg);
+ this.$router.go();
+ } else {
+ toast.error(res.msg);
+ }
+ })
+ },
+
+ clearHeartbeats() {
+ this.$root.clearHeartbeats(this.monitor.id, (res) => {
+ if (res.ok) {
+ toast.success(res.msg);
+ this.$router.go();
+ } else {
+ toast.error(res.msg);
+ }
+ })
+ },
},
}
@@ -340,16 +394,20 @@ export default {
@media (max-width: 550px) {
.functions {
text-align: center;
- }
- button, a {
- margin-left: 10px !important;
- margin-right: 10px !important;
+ button, a {
+ margin-left: 10px !important;
+ margin-right: 10px !important;
+ }
}
.ping-chart-wrapper {
padding: 10px !important;
}
+
+ .dropdown-clear-data {
+ margin-bottom: 10px;
+ }
}
@media (max-width: 400px) {
@@ -364,6 +422,13 @@ export default {
padding-left: 25px;
padding-right: 25px;
}
+
+ .dropdown-clear-data {
+ button {
+ display: block;
+ padding-top: 4px;
+ }
+ }
}
.url {
@@ -417,9 +482,29 @@ table {
color: black;
}
+.dropdown-clear-data {
+ float: right;
+}
+
.dark {
.keyword {
color: $dark-font-color;
}
+
+ .dropdown-clear-data {
+ ul {
+ background-color: $dark-bg;
+ border-color: $dark-bg2;
+ border-width: 2px;
+
+ li button{
+ color: $dark-font-color;
+ }
+
+ li button:hover {
+ background-color: $dark-bg2;
+ }
+ }
+ }
}
From 3ad736692fef96e48d4d4267b92cdc488287945c Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Mon, 30 Aug 2021 02:22:49 +0800
Subject: [PATCH 045/162] improve monitor list
---
src/assets/app.scss | 2 +-
src/components/MonitorList.vue | 15 ++++++++++++---
src/layouts/Layout.vue | 17 -----------------
src/pages/Dashboard.vue | 5 ++---
src/pages/DashboardHome.vue | 3 +--
src/pages/Details.vue | 8 ++------
src/pages/Settings.vue | 16 ++++++++++++++++
7 files changed, 34 insertions(+), 32 deletions(-)
diff --git a/src/assets/app.scss b/src/assets/app.scss
index 715e675..41248a5 100644
--- a/src/assets/app.scss
+++ b/src/assets/app.scss
@@ -131,7 +131,7 @@ h2 {
background-color: #090c10;
color: $dark-font-color;
- &::-webkit-scrollbar-thumb {
+ &::-webkit-scrollbar-thumb, ::-webkit-scrollbar-thumb {
background: $dark-border-color;
}
diff --git a/src/components/MonitorList.vue b/src/components/MonitorList.vue
index 52289c8..a3ead6c 100644
--- a/src/components/MonitorList.vue
+++ b/src/components/MonitorList.vue
@@ -1,5 +1,5 @@
-
+
{{ $t("No Monitors, please") }} {{ $t("add one") }}
@@ -34,6 +34,11 @@ export default {
Uptime,
HeartbeatBar,
},
+ props: {
+ scrollbar: {
+ type: Boolean,
+ },
+ },
computed: {
sortedMonitorList() {
let result = Object.values(this.$root.monitorList);
@@ -83,8 +88,12 @@ export default {
}
.list {
- height: auto;
- min-height: calc(100vh - 240px);
+ &.scrollbar {
+ height: calc(100vh - 20px);
+ overflow-y: scroll;
+ position: sticky;
+ top: 10px;
+ }
.item {
display: block;
diff --git a/src/layouts/Layout.vue b/src/layouts/Layout.vue
index 7b04fda..0cb902a 100644
--- a/src/layouts/Layout.vue
+++ b/src/layouts/Layout.vue
@@ -45,14 +45,6 @@
-
-
@@ -190,15 +182,6 @@ main {
color: white;
}
-footer {
- color: #aaa;
- font-size: 13px;
- margin-top: 10px;
- padding-bottom: 30px;
- margin-left: 10px;
- text-align: center;
-}
-
.dark {
header {
background-color: #161b22;
diff --git a/src/pages/Dashboard.vue b/src/pages/Dashboard.vue
index f0709a4..1dca6b6 100644
--- a/src/pages/Dashboard.vue
+++ b/src/pages/Dashboard.vue
@@ -5,10 +5,10 @@
{{ $t("Add New Monitor") }}
-
+
-
@@ -26,7 +26,6 @@ export default {
data() {
return {}
},
-
}
diff --git a/src/pages/DashboardHome.vue b/src/pages/DashboardHome.vue
index 391b9e3..1fa7639 100644
--- a/src/pages/DashboardHome.vue
+++ b/src/pages/DashboardHome.vue
@@ -5,7 +5,7 @@
{{ $t("Quick Stats") }}
-
+
{{ $t("Up") }}
@@ -170,7 +170,6 @@ export default {
.shadow-box {
padding: 20px;
- margin-top: 25px;
}
table {
diff --git a/src/pages/Details.vue b/src/pages/Details.vue
index ce4f522..44cac81 100644
--- a/src/pages/Details.vue
+++ b/src/pages/Details.vue
@@ -1,6 +1,6 @@
-
+
{{ monitor.name }}
{{ monitor.url }}
@@ -422,9 +422,5 @@ table {
color: $dark-font-color;
}
}
-.monitor {
- position: sticky;
- top: 7px;
- margin: 0 0 24px;
-}
+
diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue
index bc9bf58..d71ec10 100644
--- a/src/pages/Settings.vue
+++ b/src/pages/Settings.vue
@@ -155,6 +155,14 @@
+
+
@@ -314,4 +322,12 @@ export default {
color: #000;
}
}
+
+footer {
+ color: #aaa;
+ font-size: 13px;
+ margin-top: 20px;
+ padding-bottom: 30px;
+ text-align: center;
+}
From 14b9afb400796178abbd9b2e81e33f4081966229 Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Sun, 29 Aug 2021 23:07:58 +0200
Subject: [PATCH 046/162] Added translation to Setup.vue
---
src/languages/de-DE.js | 2 ++
src/pages/Setup.vue | 8 ++++----
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js
index ba852cf..ee3d44b 100644
--- a/src/languages/de-DE.js
+++ b/src/languages/de-DE.js
@@ -104,4 +104,6 @@ export default {
rrtypeDescription: "Wähle den RR-Typ aus, welchen du überwachen möchtest.",
"Last Result": "Letztes Ergebnis",
pauseMonitorMsg: "Bist du sicher das du den Monitor pausieren möchtest?",
+ "Create your admin account": "Erstelle dein Admin Konto",
+ "Repeat Password": "Wiederhole das Passwort",
}
diff --git a/src/pages/Setup.vue b/src/pages/Setup.vue
index 85a8147..756aff3 100644
--- a/src/pages/Setup.vue
+++ b/src/pages/Setup.vue
@@ -10,22 +10,22 @@
- Create your admin account
+ {{ $t("Create your admin account") }}
- Username
+ {{ $t("Username") }}
- Password
+ {{ $t("Password") }}
- Repeat Password
+ {{ $t("Repeat Password") }}
From 2776f942ab6253f333df56d075f4689e1746526e Mon Sep 17 00:00:00 2001
From: henrygd
Date: Sun, 29 Aug 2021 15:28:43 -0700
Subject: [PATCH 047/162] fix monitor list jumping to top on route change
---
src/components/MonitorList.vue | 5 +++--
src/layouts/Layout.vue | 3 +--
src/pages/Dashboard.vue | 3 ++-
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/components/MonitorList.vue b/src/components/MonitorList.vue
index a3ead6c..1e4fcaf 100644
--- a/src/components/MonitorList.vue
+++ b/src/components/MonitorList.vue
@@ -89,8 +89,9 @@ export default {
.list {
&.scrollbar {
- height: calc(100vh - 20px);
- overflow-y: scroll;
+ min-height: calc(100vh - 240px);
+ max-height: calc(100vh - 20px);
+ overflow-y: auto;
position: sticky;
top: 10px;
}
diff --git a/src/layouts/Layout.vue b/src/layouts/Layout.vue
index 0cb902a..467ae53 100644
--- a/src/layouts/Layout.vue
+++ b/src/layouts/Layout.vue
@@ -40,8 +40,7 @@
-
-
+
diff --git a/src/pages/Dashboard.vue b/src/pages/Dashboard.vue
index 1dca6b6..b9c82e0 100644
--- a/src/pages/Dashboard.vue
+++ b/src/pages/Dashboard.vue
@@ -9,7 +9,8 @@
-
+
+
From 96ff70faaa0d457e5e707c0153de488ec99992e1 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Mon, 30 Aug 2021 13:09:24 +0800
Subject: [PATCH 048/162] reduce shifting when click the monitor list item
(still shift in some cases, but acceptable)
---
src/components/MonitorList.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/MonitorList.vue b/src/components/MonitorList.vue
index 1e4fcaf..e721558 100644
--- a/src/components/MonitorList.vue
+++ b/src/components/MonitorList.vue
@@ -90,7 +90,7 @@ export default {
.list {
&.scrollbar {
min-height: calc(100vh - 240px);
- max-height: calc(100vh - 20px);
+ max-height: calc(100vh - 30px);
overflow-y: auto;
position: sticky;
top: 10px;
From bf29f287264223a88dda7d4f97f4cf73c9546ed4 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Mon, 30 Aug 2021 14:55:33 +0800
Subject: [PATCH 049/162] send stats only if there is at least one client in
the room
---
server/model/monitor.js | 16 +++++++++++-----
server/util-server.js | 23 +++++++++++++++++++++++
2 files changed, 34 insertions(+), 5 deletions(-)
diff --git a/server/model/monitor.js b/server/model/monitor.js
index 6d0d812..19f21d9 100644
--- a/server/model/monitor.js
+++ b/server/model/monitor.js
@@ -7,7 +7,7 @@ dayjs.extend(timezone)
const axios = require("axios");
const { Prometheus } = require("../prometheus");
const { debug, UP, DOWN, PENDING, flipStatus, TimeLogger } = require("../../src/util");
-const { tcping, ping, dnsResolve, checkCertificate, checkStatusCode } = require("../util-server");
+const { tcping, ping, dnsResolve, checkCertificate, checkStatusCode, getTotalClientInRoom } = require("../util-server");
const { R } = require("redbean-node");
const { BeanModel } = require("redbean-node/dist/bean-model");
const { Notification } = require("../notification")
@@ -353,10 +353,16 @@ class Monitor extends BeanModel {
}
static async sendStats(io, monitorID, userID) {
- await Monitor.sendAvgPing(24, io, monitorID, userID);
- await Monitor.sendUptime(24, io, monitorID, userID);
- await Monitor.sendUptime(24 * 30, io, monitorID, userID);
- await Monitor.sendCertInfo(io, monitorID, userID);
+ const hasClients = getTotalClientInRoom(io, userID) > 0;
+
+ if (hasClients) {
+ await Monitor.sendAvgPing(24, io, monitorID, userID);
+ await Monitor.sendUptime(24, io, monitorID, userID);
+ await Monitor.sendUptime(24 * 30, io, monitorID, userID);
+ await Monitor.sendCertInfo(io, monitorID, userID);
+ } else {
+ debug("No clients in the room, no need to send stats");
+ }
}
/**
diff --git a/server/util-server.js b/server/util-server.js
index a30bcfe..a2fef06 100644
--- a/server/util-server.js
+++ b/server/util-server.js
@@ -248,3 +248,26 @@ exports.checkStatusCode = function (status, accepted_codes) {
return false;
}
+
+exports.getTotalClientInRoom = (io, roomName) => {
+
+ const sockets = io.sockets;
+
+ if (! sockets) {
+ return 0;
+ }
+
+ const adapter = sockets.adapter;
+
+ if (! adapter) {
+ return 0;
+ }
+
+ const room = adapter.rooms.get(roomName);
+
+ if (room) {
+ return room.size;
+ } else {
+ return 0;
+ }
+}
From bb799163e8241c6f0f77639c4d4859638d234037 Mon Sep 17 00:00:00 2001
From: Tristan <39345534+MichelBaie@users.noreply.github.com>
Date: Mon, 30 Aug 2021 11:11:22 +0200
Subject: [PATCH 050/162] French Translation (from zh-HK.js)
---
src/languages/fr.js | 118 ++++++++++++++++++++++++++++++++++++++------
1 file changed, 104 insertions(+), 14 deletions(-)
diff --git a/src/languages/fr.js b/src/languages/fr.js
index 174dc70..ee409e5 100644
--- a/src/languages/fr.js
+++ b/src/languages/fr.js
@@ -1,16 +1,106 @@
export default {
- languageName: "Français",
- checkEverySecond: "Vérification toutes les {0} secondes.",
- "Avg.": "Moy. ",
- retriesDescription: "Nombre de tentatives avant que le service soit déclaré comme inaccessible.",
- ignoreTLSError: "Ignorer les erreurs SSL/TLS pour ce site",
- upsideDownModeDescription: "Inverser le en ligne / hors ligne (Si le service est hors ligne il sera marqué comme en ligne).",
- maxRedirectDescription: "Nombre maximal de redirections à suivre si besoin. 0 Pour désactiver cette option.",
- acceptedStatusCodesDescription: "Séléctionnez les codes http correspondant à une réponse positive.",
- passwordNotMatchMsg: "Le second mot de passe ne correspond pas !",
- notificationDescription: "Merci de bien vouloir associer un check à cette notification pour la faire fonctionner.",
- keywordDescription: "Rechercher un mot clé dans la réponse HTML ou JSON. Sensible aux caractères.",
- pauseDashboardHome: "Pause",
- deleteMonitorMsg: "Êtes-vous sûr de vouloir supprimer ce check ?",
- deleteNotificationMsg: "Êtes-vous sûr de vouloir supprimer cette notification de tout vos check ?",
+ languageName: "Français (France)",
+ Settings: "Paramètres",
+ Dashboard: "Dashboard",
+ "New Update": "Mise à jour disponible",
+ Language: "Langue",
+ Appearance: "Apparence",
+ Theme: "Thème",
+ General: "Général",
+ Version: "Version",
+ "Check Update On GitHub": "Consulter les mises à jour sur Github",
+ List: "Lister",
+ Add: "Ajouter",
+ "Add New Monitor": "Ajouter un nouveau check",
+ "Quick Stats": "Résumé",
+ Up: "En ligne",
+ Down: "Hors ligne",
+ Pending: "Dans la file d'attente",
+ Unknown: "Inconnu",
+ Pause: "En Pause",
+ pauseDashboardHome: "Éléments mis en pause",
+ Name: "Nom",
+ Status: "État",
+ DateTime: "Heure",
+ Message: "Messages",
+ "No important events": "Pas d'évènements important",
+ Resume: "Reprendre",
+ Edit: "Modifier",
+ Delete: "Supprimer",
+ Current: "Actuellement",
+ Uptime: "Uptime",
+ "Cert Exp.": "Cert Exp.",
+ days: "Jours",
+ day: "Jour",
+ "-day": "Demi-Journée",
+ hour: "Heure",
+ "-hour": "Demi-Heure",
+ checkEverySecond: "Vérifier toutes les {0} secondes",
+ "Avg.": "Moy.",
+ Response: "Réponse",
+ Ping: "Ping",
+ "Monitor Type": "Type de Monitoring",
+ Keyword: "Mot-clé",
+ "Friendly Name": "Nom d'affichage",
+ URL: "URL",
+ Hostname: "Nom d'hôte",
+ Port: "Port",
+ "Heartbeat Interval": "Intervale de vérifications",
+ Retries: "Essais",
+ retriesDescription: "Nombre d'essais avant que le service soit déclaré hors-ligne.",
+ Advanced: "Avancé",
+ ignoreTLSError: "Ignorer les erreurs liées au certificat SSL/TLS",
+ "Upside Down Mode": "Mode inversé",
+ upsideDownModeDescription: "Si le service est en ligne il sera alors noté hors-ligne et vice-versa.",
+ "Max. Redirects": "Redirections",
+ maxRedirectDescription: "Nombre maximal de redirections avant que le service soit noté hors-ligne.",
+ "Accepted Status Codes": "Codes HTTP",
+ acceptedStatusCodesDescription: "Si les codes HTTP reçus sont ceux séléctionnés, alors le serveur sera noté en ligne.",
+ Save: "Sauvegarder",
+ Notifications: "Notifications",
+ "Not available, please setup.": "Créez des notifications depuis les paramètres.",
+ "Setup Notification": "Créer une notification",
+ Light: "Clair",
+ Dark: "Sombre",
+ Auto: "Automatique",
+ "Theme - Heartbeat Bar": "Voir les services monitorés",
+ Normal: "Général",
+ Bottom: "Au dessus",
+ None: "Neutre",
+ Timezone: "Fuseau Horaire",
+ "Search Engine Visibility": "SEO",
+ "Allow indexing": "Autoriser l'indexation par des moteurs de recherche",
+ "Discourage search engines from indexing site": "Empêche les moteurs de recherche d'indexer votre site",
+ "Change Password": "Changer le mot de passe",
+ "Current Password": "Mot de passe actuel",
+ "New Password": "Nouveau mot de passe",
+ "Repeat New Password": "Répéter votre nouveau mot de passe",
+ passwordNotMatchMsg: "Les mots de passe ne correspondent pas",
+ "Update Password": "Mettre à jour le mot de passe",
+ "Disable Auth": "Désactiver l'authentification intégrée",
+ "Enable Auth": "Activer l'authentification",
+ Logout: "Se déconnecter",
+ notificationDescription: "Une fois ajoutée, vous devez l'activer manuellement dans les paramètres de vos hosts.",
+ Leave: "Quitter",
+ "I understand, please disable": "Je comprends, je l'ai désactivé",
+ Confirm: "Confirmer",
+ Yes: "Oui",
+ No: "Non",
+ Username: "Nom d'utilisateur",
+ Password: "Mot de passe",
+ "Remember me": "Se souvenir de moi",
+ Login: "Se connecter",
+ "No Monitors, please": "Pas de monitor, veuillez ",
+ "add one": "en ajouter un.",
+ "Notification Type": "Type de notification",
+ "Email": "Email",
+ "Test": "Tester",
+ keywordDescription: "Le mot clé sera cherché dans la réponse HTML/JSON reçue du site internet.",
+ "Certificate Info": "Des informations sur le certificat SSL",
+ deleteMonitorMsg: "Êtes-vous sûr de vouloir supprimer ce monitor ?",
+ deleteNotificationMsg: "Êtes-vous sûr de vouloir supprimer ce type de notifications ? Une fois désactivée, les services qui l'utilisent ne pourront plus envoyer de notifications.",
+ "Resolver Server": "Serveur DNS utilisé",
+ "Resource Record Type": "Type d'enregistrement DNS recherché",
+ resoverserverDescription: "Le DNS de cloudflare est utilisé par défaut, mais vous pouvez le changer si vous le souhaitez.",
+ rrtypeDescription: "Veuillez séléctionner un type d'enregistrement DNS",
}
From 8c5d1945be03d3a1b1f5270fe75577102264884c Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Mon, 30 Aug 2021 19:46:10 +0800
Subject: [PATCH 051/162] add fr to the list
---
src/main.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/main.js b/src/main.js
index 7fa6267..cdf3799 100644
--- a/src/main.js
+++ b/src/main.js
@@ -26,6 +26,7 @@ import { appName } from "./util.ts";
import en from "./languages/en";
import zhHK from "./languages/zh-HK";
import deDE from "./languages/de-DE";
+import fr from "./languages/fr";
const routes = [
{
@@ -92,6 +93,7 @@ const languageList = {
en,
"zh-HK": zhHK,
"de-DE": deDE,
+ "fr": fr,
};
const i18n = createI18n({
From 21db31bb30676e2aa60009df8e2ee9da1f34835b Mon Sep 17 00:00:00 2001
From: Louis Lam
Date: Mon, 30 Aug 2021 21:56:33 +0800
Subject: [PATCH 052/162] Update README.md
---
README.md | 25 ++++++++++++++++++-------
1 file changed, 18 insertions(+), 7 deletions(-)
diff --git a/README.md b/README.md
index dd943e6..45a1a33 100644
--- a/README.md
+++ b/README.md
@@ -19,19 +19,30 @@ It is a self-hosted monitoring tool like "Uptime Robot".
## 🔧 How to Install
-### 🚀 Installer via CLI
-
-Interactive CLI installer, supports Docker or without Docker.
+### 🐳 Docker
```bash
-curl -o kuma_install.sh http://git.kuma.pet/install.sh && sudo bash kuma_install.sh
+docker volume create uptime-kuma
+docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
```
-### 🐳 Docker
+Browse to http://localhost:3001 after started.
+
+### 💪🏻 Without Docker
+
+Required Tools: Node.js >= 14, git and pm2.
```bash
-docker volume create uptime-kuma
-docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
+git clone https://github.com/louislam/uptime-kuma.git
+cd uptime-kuma
+npm run setup
+
+# Option 1. Try it
+node server/server.js
+
+# (Recommended) Option 2. Run in background using PM2
+# Install PM2 if you don't have: npm install pm2 -g
+pm2 start server/server.js --name uptime-kuma
```
Browse to http://localhost:3001 after started.
From 0d65918a6a215e5d7ccee760ba85209ddc37776e Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Tue, 31 Aug 2021 19:56:44 +0800
Subject: [PATCH 053/162] change bcrypt to bcryptjs, use my own prebuilt
better-sqlite3, supports more prebuilt
---
dockerfile | 9 --
package-lock.json | 350 ++++++----------------------------------
package.json | 8 +-
server/password-hash.js | 2 +-
4 files changed, 55 insertions(+), 314 deletions(-)
diff --git a/dockerfile b/dockerfile
index ae18217..cad5eb6 100644
--- a/dockerfile
+++ b/dockerfile
@@ -2,15 +2,6 @@
FROM node:14-alpine3.12 AS release
WORKDIR /app
-# split the sqlite install here, so that it can caches the prebuilt
-RUN apk add --no-cache --virtual .build-deps make g++ python3 python3-dev && \
- ln -s /usr/bin/python3 /usr/bin/python && \
- npm install better-sqlite3@7.4.3 bcrypt@5.0.1 && \
- apk del .build-deps && \
- rm -f /usr/bin/python
-
-# Touching above code may causes sqlite3 re-compile again, painful slow.
-
# Install apprise
RUN apk add --no-cache python3 py3-cryptography py3-pip py3-six py3-yaml py3-click py3-markdown py3-requests py3-requests-oauthlib
RUN pip3 --no-cache-dir install apprise && \
diff --git a/package-lock.json b/package-lock.json
index cc1feeb..a0a584f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,11 +13,11 @@
"@fortawesome/free-regular-svg-icons": "^5.15.4",
"@fortawesome/free-solid-svg-icons": "^5.15.4",
"@fortawesome/vue-fontawesome": "^3.0.0-4",
+ "@louislam/better-sqlite3-with-prebuilds": "^7.4.3",
"@popperjs/core": "^2.9.3",
"args-parser": "^1.3.0",
"axios": "^0.21.1",
- "bcrypt": "^5.0.1",
- "better-sqlite3": "^7.4.3",
+ "bcryptjs": "^2.4.3",
"bootstrap": "^5.1.0",
"chart.js": "^3.5.0",
"chartjs-adapter-dayjs": "^1.0.0",
@@ -33,7 +33,7 @@
"password-hash": "^1.2.2",
"prom-client": "^13.2.0",
"prometheus-api-metrics": "^3.2.0",
- "redbean-node": "0.1.1",
+ "redbean-node": "0.1.2",
"socket.io": "^4.1.3",
"socket.io-client": "^4.1.3",
"tcp-ping": "^0.1.1",
@@ -878,6 +878,18 @@
"node": ">= 10"
}
},
+ "node_modules/@louislam/better-sqlite3-with-prebuilds": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@louislam/better-sqlite3-with-prebuilds/-/better-sqlite3-with-prebuilds-7.4.3.tgz",
+ "integrity": "sha512-v9FFkq47dOtrWBuChce4jPQ+gHzCL7NYkWhk5Z7OvbUmcJ+/v4O6NwI4hA4Ei0XLceVYnAhGK/Vr6Zd8nTnyAw==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@types/integer": "latest",
+ "bindings": "^1.5.0",
+ "prebuild-install": "^6.0.1",
+ "tar": "^6.1.0"
+ }
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -1052,6 +1064,11 @@
"resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.8.1.tgz",
"integrity": "sha512-e+2rjEwK6KDaNOm5Aa9wNGgyS9oSZU/4pfSMMPYNOfjvFI0WVXm29+ITRFr6aKDvvKo7uU1jV68MW4ScsfDi7Q=="
},
+ "node_modules/@types/integer": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@types/integer/-/integer-4.0.1.tgz",
+ "integrity": "sha512-QQojPymFcV1hrvWXA1h0pP9RmFBFNuWikZcUEjjVsS19IyKO+jqOX24lp2ZHF4A21EmkosJhJDX7CLG67F2s7A=="
+ },
"node_modules/@types/jquery": {
"version": "3.5.6",
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.6.tgz",
@@ -1281,11 +1298,6 @@
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.2.tgz",
"integrity": "sha512-dvYb318tk9uOzHtSaT3WII/HscQSIRzoCZ5GyxEb3JlkEXASpAUAQwKnvSe2CudnF8XHFRTB7VITWSnWNLZUtA=="
},
- "node_modules/abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
- },
"node_modules/accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
@@ -1319,17 +1331,6 @@
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
- "node_modules/agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -1624,106 +1625,10 @@
"node": ">= 0.8"
}
},
- "node_modules/bcrypt": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.1.tgz",
- "integrity": "sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw==",
- "hasInstallScript": true,
- "dependencies": {
- "@mapbox/node-pre-gyp": "^1.0.0",
- "node-addon-api": "^3.1.0"
- },
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/bcrypt/node_modules/@mapbox/node-pre-gyp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz",
- "integrity": "sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==",
- "dependencies": {
- "detect-libc": "^1.0.3",
- "https-proxy-agent": "^5.0.0",
- "make-dir": "^3.1.0",
- "node-fetch": "^2.6.1",
- "nopt": "^5.0.0",
- "npmlog": "^4.1.2",
- "rimraf": "^3.0.2",
- "semver": "^7.3.4",
- "tar": "^6.1.0"
- },
- "bin": {
- "node-pre-gyp": "bin/node-pre-gyp"
- }
- },
- "node_modules/bcrypt/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/bcrypt/node_modules/nopt": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
- "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
- "dependencies": {
- "abbrev": "1"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/bcrypt/node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/bcrypt/node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/bcrypt/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- },
- "node_modules/better-sqlite3": {
- "version": "7.4.3",
- "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-7.4.3.tgz",
- "integrity": "sha512-07bKjClZg/f4KMVRkzWtoIvazVPcF1gsvVKVIXlxwleC2DxuIhnra3KCMlUT1rFeRYXXckot2a46UciF2d9KLw==",
- "hasInstallScript": true,
- "dependencies": {
- "bindings": "^1.5.0",
- "prebuild-install": "^6.0.1",
- "tar": "^6.1.0"
- }
+ "node_modules/bcryptjs": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
+ "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms="
},
"node_modules/big.js": {
"version": "5.2.2",
@@ -3640,18 +3545,6 @@
"node": ">=4.0.0"
}
},
- "node_modules/https-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -4294,28 +4187,6 @@
"sourcemap-codec": "^1.4.4"
}
},
- "node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/make-dir/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/map-obj": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz",
@@ -4667,19 +4538,6 @@
"semver": "^5.4.1"
}
},
- "node_modules/node-addon-api": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
- "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A=="
- },
- "node_modules/node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
- "engines": {
- "node": "4.x || >=6.0.0"
- }
- },
"node_modules/node-releases": {
"version": "1.1.73",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
@@ -5766,9 +5624,9 @@
}
},
"node_modules/redbean-node": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/redbean-node/-/redbean-node-0.1.1.tgz",
- "integrity": "sha512-WKwJrJOR5T3RwvBWrcN3u7O3TLqGRq2IFZAvlC2Sdx8DGjxUtvC2uc83+9TxeSHBOR0eX6NvikVJIsevEcNpMA==",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/redbean-node/-/redbean-node-0.1.2.tgz",
+ "integrity": "sha512-DcAeu0hXSkpp942pVidU4heMvWeZU970j+lbC/SF7H0fLLeLRfN9SRMzo9VnCJyhe5rcC4kaR7xP4KoJm7KBdQ==",
"dependencies": {
"@types/node": "^14.17.7",
"await-lock": "^2.1.0",
@@ -5776,14 +5634,6 @@
"glob": "^7.1.7",
"knex": "^0.95.9",
"lodash": "^4.17.21"
- },
- "peerDependencies": {
- "better-sqlite3": "^7.4.3"
- },
- "peerDependenciesMeta": {
- "better-sqlite3": {
- "optional": true
- }
}
},
"node_modules/redbean-node/node_modules/@types/node": {
@@ -8195,6 +8045,17 @@
"@intlify/shared": "9.1.7"
}
},
+ "@louislam/better-sqlite3-with-prebuilds": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/@louislam/better-sqlite3-with-prebuilds/-/better-sqlite3-with-prebuilds-7.4.3.tgz",
+ "integrity": "sha512-v9FFkq47dOtrWBuChce4jPQ+gHzCL7NYkWhk5Z7OvbUmcJ+/v4O6NwI4hA4Ei0XLceVYnAhGK/Vr6Zd8nTnyAw==",
+ "requires": {
+ "@types/integer": "latest",
+ "bindings": "^1.5.0",
+ "prebuild-install": "^6.0.1",
+ "tar": "^6.1.0"
+ }
+ },
"@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -8348,6 +8209,11 @@
"resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.8.1.tgz",
"integrity": "sha512-e+2rjEwK6KDaNOm5Aa9wNGgyS9oSZU/4pfSMMPYNOfjvFI0WVXm29+ITRFr6aKDvvKo7uU1jV68MW4ScsfDi7Q=="
},
+ "@types/integer": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@types/integer/-/integer-4.0.1.tgz",
+ "integrity": "sha512-QQojPymFcV1hrvWXA1h0pP9RmFBFNuWikZcUEjjVsS19IyKO+jqOX24lp2ZHF4A21EmkosJhJDX7CLG67F2s7A=="
+ },
"@types/jquery": {
"version": "3.5.6",
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.6.tgz",
@@ -8566,11 +8432,6 @@
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.2.tgz",
"integrity": "sha512-dvYb318tk9uOzHtSaT3WII/HscQSIRzoCZ5GyxEb3JlkEXASpAUAQwKnvSe2CudnF8XHFRTB7VITWSnWNLZUtA=="
},
- "abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
- },
"accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
@@ -8593,14 +8454,6 @@
"dev": true,
"requires": {}
},
- "agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "requires": {
- "debug": "4"
- }
- },
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -8821,79 +8674,10 @@
"safe-buffer": "5.1.2"
}
},
- "bcrypt": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.1.tgz",
- "integrity": "sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw==",
- "requires": {
- "@mapbox/node-pre-gyp": "^1.0.0",
- "node-addon-api": "^3.1.0"
- },
- "dependencies": {
- "@mapbox/node-pre-gyp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz",
- "integrity": "sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==",
- "requires": {
- "detect-libc": "^1.0.3",
- "https-proxy-agent": "^5.0.0",
- "make-dir": "^3.1.0",
- "node-fetch": "^2.6.1",
- "nopt": "^5.0.0",
- "npmlog": "^4.1.2",
- "rimraf": "^3.0.2",
- "semver": "^7.3.4",
- "tar": "^6.1.0"
- }
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "nopt": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
- "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
- "requires": {
- "abbrev": "1"
- }
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- }
- }
- },
- "better-sqlite3": {
- "version": "7.4.3",
- "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-7.4.3.tgz",
- "integrity": "sha512-07bKjClZg/f4KMVRkzWtoIvazVPcF1gsvVKVIXlxwleC2DxuIhnra3KCMlUT1rFeRYXXckot2a46UciF2d9KLw==",
- "requires": {
- "bindings": "^1.5.0",
- "prebuild-install": "^6.0.1",
- "tar": "^6.1.0"
- }
+ "bcryptjs": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
+ "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms="
},
"big.js": {
"version": "5.2.2",
@@ -10385,15 +10169,6 @@
"debug": "^4.3.1"
}
},
- "https-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
- "requires": {
- "agent-base": "6",
- "debug": "4"
- }
- },
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -10874,21 +10649,6 @@
"sourcemap-codec": "^1.4.4"
}
},
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "requires": {
- "semver": "^6.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
"map-obj": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz",
@@ -11144,16 +10904,6 @@
"semver": "^5.4.1"
}
},
- "node-addon-api": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
- "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A=="
- },
- "node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
- },
"node-releases": {
"version": "1.1.73",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
@@ -11975,9 +11725,9 @@
}
},
"redbean-node": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/redbean-node/-/redbean-node-0.1.1.tgz",
- "integrity": "sha512-WKwJrJOR5T3RwvBWrcN3u7O3TLqGRq2IFZAvlC2Sdx8DGjxUtvC2uc83+9TxeSHBOR0eX6NvikVJIsevEcNpMA==",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/redbean-node/-/redbean-node-0.1.2.tgz",
+ "integrity": "sha512-DcAeu0hXSkpp942pVidU4heMvWeZU970j+lbC/SF7H0fLLeLRfN9SRMzo9VnCJyhe5rcC4kaR7xP4KoJm7KBdQ==",
"requires": {
"@types/node": "^14.17.7",
"await-lock": "^2.1.0",
diff --git a/package.json b/package.json
index 2d20c40..de167ec 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,7 @@
"build-docker": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.3.2 --target release . --push",
"build-docker-nightly": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
"build-docker-nightly-amd64": "docker buildx build --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
- "setup": "git checkout 1.3.2 && npm install && npm run build",
+ "setup": "git checkout 1.3.2 && npm install && npm run build && npm prune",
"update-version": "node extra/update-version.js",
"mark-as-nightly": "node extra/mark-as-nightly.js",
"reset-password": "node extra/reset-password.js",
@@ -39,11 +39,11 @@
"@fortawesome/free-regular-svg-icons": "^5.15.4",
"@fortawesome/free-solid-svg-icons": "^5.15.4",
"@fortawesome/vue-fontawesome": "^3.0.0-4",
+ "@louislam/better-sqlite3-with-prebuilds": "^7.4.3",
"@popperjs/core": "^2.9.3",
"args-parser": "^1.3.0",
"axios": "^0.21.1",
- "bcrypt": "^5.0.1",
- "better-sqlite3": "^7.4.3",
+ "bcryptjs": "^2.4.3",
"bootstrap": "^5.1.0",
"chart.js": "^3.5.0",
"chartjs-adapter-dayjs": "^1.0.0",
@@ -59,7 +59,7 @@
"password-hash": "^1.2.2",
"prom-client": "^13.2.0",
"prometheus-api-metrics": "^3.2.0",
- "redbean-node": "0.1.1",
+ "redbean-node": "0.1.2",
"socket.io": "^4.1.3",
"socket.io-client": "^4.1.3",
"tcp-ping": "^0.1.1",
diff --git a/server/password-hash.js b/server/password-hash.js
index 52e26b9..91e5e1a 100644
--- a/server/password-hash.js
+++ b/server/password-hash.js
@@ -1,5 +1,5 @@
const passwordHashOld = require("password-hash");
-const bcrypt = require("bcrypt");
+const bcrypt = require("bcryptjs");
const saltRounds = 10;
exports.generate = function (password) {
From fa549cb80e9815a0134edb62bda7ad67555abc73 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Tue, 31 Aug 2021 20:36:17 +0800
Subject: [PATCH 054/162] fix npm7 broken dependencies
---
CONTRIBUTING.md | 6 +
dockerfile | 2 +-
package-lock.json | 3128 +++++++++++++++++++++------------------------
package.json | 4 +-
4 files changed, 1495 insertions(+), 1645 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0734285..0851cd3 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -73,6 +73,12 @@ For example, recently, because I am not a python expert, I spent a 2 hours to re
npm install --dev
```
+For npm@7, you need --legacy-peer-deps
+
+```
+npm install --legacy-peer-deps --dev
+```
+
# Backend Dev
```bash
diff --git a/dockerfile b/dockerfile
index cad5eb6..e08a023 100644
--- a/dockerfile
+++ b/dockerfile
@@ -8,7 +8,7 @@ RUN pip3 --no-cache-dir install apprise && \
rm -rf /root/.cache
COPY . .
-RUN npm install && npm run build && npm prune
+RUN npm install --legacy-peer-deps && npm run build && npm prune
EXPOSE 3001
VOLUME ["/app/data"]
diff --git a/package-lock.json b/package-lock.json
index b8d76e6..b9ca8fa 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -19,7 +19,7 @@
"axios": "^0.21.1",
"bcryptjs": "^2.4.3",
"bootstrap": "^5.1.0",
- "chart.js": "^3.5.0",
+ "chart.js": "^3.5.1",
"chartjs-adapter-dayjs": "^1.0.0",
"command-exists": "^1.2.9",
"compare-versions": "^3.6.0",
@@ -76,29 +76,29 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz",
- "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz",
+ "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.8.tgz",
- "integrity": "sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz",
+ "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.14.8",
- "@babel/helper-compilation-targets": "^7.14.5",
- "@babel/helper-module-transforms": "^7.14.8",
+ "@babel/generator": "^7.15.0",
+ "@babel/helper-compilation-targets": "^7.15.0",
+ "@babel/helper-module-transforms": "^7.15.0",
"@babel/helpers": "^7.14.8",
- "@babel/parser": "^7.14.8",
+ "@babel/parser": "^7.15.0",
"@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.8",
- "@babel/types": "^7.14.8",
+ "@babel/traverse": "^7.15.0",
+ "@babel/types": "^7.15.0",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -126,40 +126,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/core/node_modules/@babel/helper-validator-identifier": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
- "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core/node_modules/@babel/parser": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.8.tgz",
- "integrity": "sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==",
- "dev": true,
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/core/node_modules/@babel/types": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz",
- "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==",
- "dev": true,
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.14.8",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/core/node_modules/json5": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
@@ -175,15 +141,6 @@
"node": ">=6"
}
},
- "node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/@babel/core/node_modules/source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -211,22 +168,13 @@
"eslint": ">=7.5.0"
}
},
- "node_modules/@babel/eslint-parser/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/@babel/generator": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.8.tgz",
- "integrity": "sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz",
+ "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.14.8",
+ "@babel/types": "^7.15.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
@@ -234,28 +182,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/generator/node_modules/@babel/helper-validator-identifier": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
- "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/generator/node_modules/@babel/types": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz",
- "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==",
- "dev": true,
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.14.8",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/generator/node_modules/source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -266,12 +192,12 @@
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz",
- "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz",
+ "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.14.5",
+ "@babel/compat-data": "^7.15.0",
"@babel/helper-validator-option": "^7.14.5",
"browserslist": "^4.16.6",
"semver": "^6.3.0"
@@ -283,15 +209,6 @@
"@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/@babel/helper-function-name": {
"version": "7.14.5",
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz",
@@ -331,12 +248,12 @@
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz",
- "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz",
+ "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.14.5"
+ "@babel/types": "^7.15.0"
},
"engines": {
"node": ">=6.9.0"
@@ -355,41 +272,19 @@
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.8.tgz",
- "integrity": "sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz",
+ "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==",
"dev": true,
"dependencies": {
"@babel/helper-module-imports": "^7.14.5",
- "@babel/helper-replace-supers": "^7.14.5",
+ "@babel/helper-replace-supers": "^7.15.0",
"@babel/helper-simple-access": "^7.14.8",
"@babel/helper-split-export-declaration": "^7.14.5",
- "@babel/helper-validator-identifier": "^7.14.8",
+ "@babel/helper-validator-identifier": "^7.14.9",
"@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.8",
- "@babel/types": "^7.14.8"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-validator-identifier": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
- "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-transforms/node_modules/@babel/types": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz",
- "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==",
- "dev": true,
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.14.8",
- "to-fast-properties": "^2.0.0"
+ "@babel/traverse": "^7.15.0",
+ "@babel/types": "^7.15.0"
},
"engines": {
"node": ">=6.9.0"
@@ -408,15 +303,15 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz",
- "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz",
+ "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==",
"dev": true,
"dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.14.5",
+ "@babel/helper-member-expression-to-functions": "^7.15.0",
"@babel/helper-optimise-call-expression": "^7.14.5",
- "@babel/traverse": "^7.14.5",
- "@babel/types": "^7.14.5"
+ "@babel/traverse": "^7.15.0",
+ "@babel/types": "^7.15.0"
},
"engines": {
"node": ">=6.9.0"
@@ -434,28 +329,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-simple-access/node_modules/@babel/helper-validator-identifier": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
- "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-simple-access/node_modules/@babel/types": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz",
- "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==",
- "dev": true,
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.14.8",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-split-export-declaration": {
"version": "7.14.5",
"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz",
@@ -469,9 +342,9 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz",
- "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==",
+ "version": "7.14.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz",
+ "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==",
"engines": {
"node": ">=6.9.0"
}
@@ -486,36 +359,14 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.8.tgz",
- "integrity": "sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==",
+ "version": "7.15.3",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz",
+ "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==",
"dev": true,
"dependencies": {
"@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.8",
- "@babel/types": "^7.14.8"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers/node_modules/@babel/helper-validator-identifier": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
- "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers/node_modules/@babel/types": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz",
- "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==",
- "dev": true,
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.14.8",
- "to-fast-properties": "^2.0.0"
+ "@babel/traverse": "^7.15.0",
+ "@babel/types": "^7.15.0"
},
"engines": {
"node": ">=6.9.0"
@@ -535,6 +386,18 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/@babel/highlight/node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -549,6 +412,21 @@
"node": ">=4"
}
},
+ "node_modules/@babel/highlight/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"node_modules/@babel/highlight/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -558,10 +436,31 @@
"node": ">=0.8.0"
}
},
+ "node_modules/@babel/highlight/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/@babel/parser": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz",
- "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==",
+ "version": "7.15.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz",
+ "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -570,9 +469,9 @@
}
},
"node_modules/@babel/standalone": {
- "version": "7.15.1",
- "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.15.1.tgz",
- "integrity": "sha512-OJvIUtmXWEnTFvm+/TSMFkJK9vmbOF1wNmu/vbU18/Hlj9E6JdrkWxTkwbrsM1UjLtyb4w+pwZ/A1C4XZXorXg==",
+ "version": "7.15.3",
+ "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.15.3.tgz",
+ "integrity": "sha512-Bst2YWEyQ2ROyO0+jxPVnnkSmUh44/x54+LSbe5M4N5LGfOkxpajEUKVE4ndXtIVrLlHCyuiqCPwv3eC1ItnCg==",
"dev": true,
"engines": {
"node": ">=6.9.0"
@@ -605,18 +504,18 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.8.tgz",
- "integrity": "sha512-kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz",
+ "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.14.8",
+ "@babel/generator": "^7.15.0",
"@babel/helper-function-name": "^7.14.5",
"@babel/helper-hoist-variables": "^7.14.5",
"@babel/helper-split-export-declaration": "^7.14.5",
- "@babel/parser": "^7.14.8",
- "@babel/types": "^7.14.8",
+ "@babel/parser": "^7.15.0",
+ "@babel/types": "^7.15.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -636,40 +535,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/traverse/node_modules/@babel/helper-validator-identifier": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
- "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse/node_modules/@babel/parser": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.8.tgz",
- "integrity": "sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==",
- "dev": true,
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/traverse/node_modules/@babel/types": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz",
- "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==",
- "dev": true,
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.14.8",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/traverse/node_modules/globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -680,11 +545,11 @@
}
},
"node_modules/@babel/types": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz",
- "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
+ "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.14.5",
+ "@babel/helper-validator-identifier": "^7.14.9",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -711,18 +576,6 @@
"node": "^10.12.0 || >=12.0.0"
}
},
- "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@fortawesome/fontawesome-common-types": {
"version": "0.2.36",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz",
@@ -980,9 +833,9 @@
}
},
"node_modules/@types/bootstrap": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.1.1.tgz",
- "integrity": "sha512-W/fEBlqwaJFh+3sCz/H88LPsLt/zLsEECFlrAOkrRPjWuo/ETl8u0JefIerCdc8+WukowQS1f60eIJOwkCBwhg==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.1.2.tgz",
+ "integrity": "sha512-dSQvMi2dMyNwJU6LZjP0pimuBowsMUvGScYdfqqeiDUoj9TxXZCpfu0cTl94U0Zvw/tdH9j/9ToOhi4LKNLZhg==",
"dev": true,
"dependencies": {
"@popperjs/core": "^2.9.2",
@@ -1056,9 +909,9 @@
}
},
"node_modules/@types/http-assert": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz",
- "integrity": "sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ=="
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.3.tgz",
+ "integrity": "sha512-FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA=="
},
"node_modules/@types/http-errors": {
"version": "1.8.1",
@@ -1108,9 +961,9 @@
}
},
"node_modules/@types/mdast": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.7.tgz",
- "integrity": "sha512-YwR7OK8aPmaBvMMUi+pZXBNoW2unbVbfok4YRqGMJBe1dpDlzpRkJrYEYmvjxgs5JhuQmKfDexrN98u941Zasg==",
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz",
+ "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==",
"dev": true,
"dependencies": {
"@types/unist": "*"
@@ -1128,9 +981,9 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "16.3.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.3.tgz",
- "integrity": "sha512-8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ=="
+ "version": "16.7.8",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.8.tgz",
+ "integrity": "sha512-8upnoQU0OPzbIkm+ZMM0zCeFCkw2s3mS0IWdx0+AAaWqm4fkBb0UJp8Edl7FVKRamYbpJC/aVsHpKWBIbiC7Zg=="
},
"node_modules/@types/normalize-package-data": {
"version": "2.4.1",
@@ -1195,53 +1048,54 @@
}
},
"node_modules/@vitejs/plugin-vue": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.4.0.tgz",
- "integrity": "sha512-RkqfJHz9wdLKBp5Yi+kQL8BAljdrvPoccQm2PTZc/UcL4EjD11xsv2PPCduYx2oV1a/bpSKA3sD5sxOHFhz+LA==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.6.0.tgz",
+ "integrity": "sha512-n3i8htn8pTg9M+kM3cnEfsPZx/6ngInlTroth6fA1LQTJq5aTVQ8ggaE5pPoAy9vCgHPtcaXMzwpldhqRAkebQ==",
"dev": true,
"engines": {
"node": ">=12.0.0"
},
"peerDependencies": {
- "@vue/compiler-sfc": "^3.0.8"
+ "@vue/compiler-sfc": "^3.2.6"
}
},
"node_modules/@vue/compiler-core": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.2.tgz",
- "integrity": "sha512-QhCI0ZU5nAR0LMcLgzW3v75374tIrHGp8XG5CzJS7Nsy+iuignbE4MZ2XJfh5TGIrtpuzfWA4eTIfukZf/cRdg==",
- "dependencies": {
- "@babel/parser": "^7.12.0",
- "@babel/types": "^7.12.0",
- "@vue/shared": "3.2.2",
- "estree-walker": "^2.0.1",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.6.tgz",
+ "integrity": "sha512-vbwnz7+OhtLO5p5i630fTuQCL+MlUpEMTKHuX+RfetQ+3pFCkItt2JUH+9yMaBG2Hkz6av+T9mwN/acvtIwpbw==",
+ "dependencies": {
+ "@babel/parser": "^7.15.0",
+ "@babel/types": "^7.15.0",
+ "@vue/shared": "3.2.6",
+ "estree-walker": "^2.0.2",
"source-map": "^0.6.1"
}
},
"node_modules/@vue/compiler-dom": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.2.tgz",
- "integrity": "sha512-ggcc+NV/ENIE0Uc3TxVE/sKrhYVpLepMAAmEiQ047332mbKOvUkowz4TTFZ+YkgOIuBOPP0XpCxmCMg7p874mA==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.6.tgz",
+ "integrity": "sha512-+a/3oBAzFIXhHt8L5IHJOTP4a5egzvpXYyi13jR7CUYOR1S+Zzv7vBWKYBnKyJLwnrxTZnTQVjeHCgJq743XKg==",
"dependencies": {
- "@vue/compiler-core": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/compiler-core": "3.2.6",
+ "@vue/shared": "3.2.6"
}
},
"node_modules/@vue/compiler-sfc": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.2.tgz",
- "integrity": "sha512-hrtqpQ5L6IPn5v7yVRo7uvLcQxv0z1+KBjZBWMBOcrXz4t+PKUxU/SWd6Tl9T8FDmYlunzKUh6lcx+2CLo6f5A==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.6.tgz",
+ "integrity": "sha512-Ariz1eDsf+2fw6oWXVwnBNtfKHav72RjlWXpEgozYBLnfRPzP+7jhJRw4Nq0OjSsLx2HqjF3QX7HutTjYB0/eA==",
"dev": true,
"dependencies": {
- "@babel/parser": "^7.13.9",
- "@babel/types": "^7.13.0",
+ "@babel/parser": "^7.15.0",
+ "@babel/types": "^7.15.0",
"@types/estree": "^0.0.48",
- "@vue/compiler-core": "3.2.2",
- "@vue/compiler-dom": "3.2.2",
- "@vue/compiler-ssr": "3.2.2",
- "@vue/shared": "3.2.2",
+ "@vue/compiler-core": "3.2.6",
+ "@vue/compiler-dom": "3.2.6",
+ "@vue/compiler-ssr": "3.2.6",
+ "@vue/ref-transform": "3.2.6",
+ "@vue/shared": "3.2.6",
"consolidate": "^0.16.0",
- "estree-walker": "^2.0.1",
+ "estree-walker": "^2.0.2",
"hash-sum": "^2.0.0",
"lru-cache": "^5.1.1",
"magic-string": "^0.25.7",
@@ -1253,13 +1107,13 @@
}
},
"node_modules/@vue/compiler-ssr": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.2.tgz",
- "integrity": "sha512-rVl1agMFhdEN3Go0bCriXo+3cysxKIuRP0yh1Wd8ysRrKfAmokyDhUA8PrGSq2Ymj/LdZTh+4OKfj3p2+C+hlA==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.6.tgz",
+ "integrity": "sha512-A7IKRKHSyPnTC4w1FxHkjzoyjXInsXkcs/oX22nBQ+6AWlXj2Tt1le96CWPOXy5vYlsTYkF1IgfBaKIdeN/39g==",
"dev": true,
"dependencies": {
- "@vue/compiler-dom": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/compiler-dom": "3.2.6",
+ "@vue/shared": "3.2.6"
}
},
"node_modules/@vue/devtools-api": {
@@ -1268,36 +1122,49 @@
"integrity": "sha512-quBx4Jjpexo6KDiNUGFr/zF/2A4srKM9S9v2uHgMXSU//hjgq1eGzqkIFql8T9gfX5ZaVOUzYBP3jIdIR3PKIA=="
},
"node_modules/@vue/reactivity": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.2.tgz",
- "integrity": "sha512-IHjhtmrhK6dzacj/EnLQDWOaA3HuzzVk6w84qgV8EpS4uWGIJXiRalMRg6XvGW2ykJvIl3pLsF0aBFlTMRiLOA==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.6.tgz",
+ "integrity": "sha512-8vIDD2wpCnYisNNZjmcIj+Rixn0uhZNY3G1vzlgdVdLygeRSuFjkmnZk6WwvGzUWpKfnG0e/NUySM3mVi59hAA==",
+ "dependencies": {
+ "@vue/shared": "3.2.6"
+ }
+ },
+ "node_modules/@vue/ref-transform": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/ref-transform/-/ref-transform-3.2.6.tgz",
+ "integrity": "sha512-ie39+Y4nbirDLvH+WEq6Eo/l3n3mFATayqR+kEMSphrtMW6Uh/eEMx1Gk2Jnf82zmj3VLRq7dnmPx72JLcBYkQ==",
+ "dev": true,
"dependencies": {
- "@vue/shared": "3.2.2"
+ "@babel/parser": "^7.15.0",
+ "@vue/compiler-core": "3.2.6",
+ "@vue/shared": "3.2.6",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.25.7"
}
},
"node_modules/@vue/runtime-core": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.2.tgz",
- "integrity": "sha512-/aUk1+GO/VPX0oVxhbzSWE1zrf3/wGCsO1ALNisVokYftKqfqLDjbJHE6mrI2hx3MiuwbHrWjJClkGUVTIOPEQ==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.6.tgz",
+ "integrity": "sha512-3mqtgpj/YSGFxtvTufSERRApo92B16JNNxz9p+5eG6PPuqTmuRJz214MqhKBEgLEAIQ6R6YCbd83ZDtjQnyw2g==",
"dependencies": {
- "@vue/reactivity": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/reactivity": "3.2.6",
+ "@vue/shared": "3.2.6"
}
},
"node_modules/@vue/runtime-dom": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.2.tgz",
- "integrity": "sha512-1Le/NpCfawCOfePfJezvWUF+oCVLU8N+IHN4oFDOxRe6/PgHNJ+yT+YdxFifBfI+TIAoXI/9PsnqzmJZV+xsmw==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.6.tgz",
+ "integrity": "sha512-fq33urnP0BNCGm2O3KCzkJlKIHI80C94HJ4qDZbjsTtxyOn5IHqwKSqXVN3RQvO6epcQH+sWS+JNwcNDPzoasg==",
"dependencies": {
- "@vue/runtime-core": "3.2.2",
- "@vue/shared": "3.2.2",
+ "@vue/runtime-core": "3.2.6",
+ "@vue/shared": "3.2.6",
"csstype": "^2.6.8"
}
},
"node_modules/@vue/shared": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.2.tgz",
- "integrity": "sha512-dvYb318tk9uOzHtSaT3WII/HscQSIRzoCZ5GyxEb3JlkEXASpAUAQwKnvSe2CudnF8XHFRTB7VITWSnWNLZUtA=="
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.6.tgz",
+ "integrity": "sha512-uwX0Qs2e6kdF+WmxwuxJxOnKs/wEkMArtYpHSm7W+VY/23Tl8syMRyjnzEeXrNCAP0/8HZxEGkHJsjPEDNRuHw=="
},
"node_modules/accepts": {
"version": "1.3.7",
@@ -1358,23 +1225,27 @@
}
},
"node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
"node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"dependencies": {
- "color-convert": "^1.9.0"
+ "color-convert": "^2.0.1"
},
"engines": {
- "node": ">=4"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/anymatch": {
@@ -1477,10 +1348,22 @@
"url": "https://tidelift.com/funding/github/npm/autoprefixer"
}
},
- "node_modules/autoprefixer/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "node_modules/autoprefixer/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/autoprefixer/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"dependencies": {
"ansi-styles": "^3.2.1",
@@ -1503,6 +1386,21 @@
"node": ">=4"
}
},
+ "node_modules/autoprefixer/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/autoprefixer/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"node_modules/autoprefixer/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -1512,6 +1410,15 @@
"node": ">=0.8.0"
}
},
+ "node_modules/autoprefixer/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/autoprefixer/node_modules/postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -1763,16 +1670,16 @@
}
},
"node_modules/browserslist": {
- "version": "4.16.6",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz",
- "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==",
+ "version": "4.16.8",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz",
+ "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==",
"dev": true,
"dependencies": {
- "caniuse-lite": "^1.0.30001219",
- "colorette": "^1.2.2",
- "electron-to-chromium": "^1.3.723",
+ "caniuse-lite": "^1.0.30001251",
+ "colorette": "^1.3.0",
+ "electron-to-chromium": "^1.3.811",
"escalade": "^3.1.1",
- "node-releases": "^1.1.71"
+ "node-releases": "^1.1.75"
},
"bin": {
"browserslist": "cli.js"
@@ -1857,9 +1764,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001248",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001248.tgz",
- "integrity": "sha512-NwlQbJkxUFJ8nMErnGtT0QTM2TJ33xgz4KXJSMIrjXIbDVdaYueGyjOrLKRtJC+rTiWfi6j5cnZN1NBiSBJGNw==",
+ "version": "1.0.30001252",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001252.tgz",
+ "integrity": "sha512-I56jhWDGMtdILQORdusxBOH+Nl/KgQSdDmpJezYddnAkVOmnoU8zwjTV9xAjMIYxr0iPreEAVylCGcmHCjfaOw==",
"dev": true,
"funding": {
"type": "opencollective",
@@ -1867,9 +1774,9 @@
}
},
"node_modules/chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
@@ -1882,60 +1789,6 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/chalk/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/chalk/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/chalk/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/chalk/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/chalk/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/character-entities": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
@@ -1967,9 +1820,9 @@
}
},
"node_modules/chart.js": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.5.0.tgz",
- "integrity": "sha512-J1a4EAb1Gi/KbhwDRmoovHTRuqT8qdF0kZ4XgwxpGethJHUdDrkqyPYwke0a+BuvSeUxPf8Cos6AX2AB8H8GLA=="
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.5.1.tgz",
+ "integrity": "sha512-m5kzt72I1WQ9LILwQC4syla/LD/N413RYv2Dx2nnTkRS9iv/ey1xLTt0DnPc/eWV4zI+BgEgDYBIzbQhZHc/PQ=="
},
"node_modules/chartjs-adapter-dayjs": {
"version": "1.0.0",
@@ -2030,24 +1883,27 @@
}
},
"node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"dependencies": {
- "color-name": "1.1.3"
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
}
},
"node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"node_modules/colorette": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
- "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz",
+ "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==",
"dev": true
},
"node_modules/combined-stream": {
@@ -2148,9 +2004,9 @@
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"node_modules/core-js": {
- "version": "3.16.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.1.tgz",
- "integrity": "sha512-AAkP8i35EbefU+JddyWi12AWE9f2N/qr/pwnDtWz4nyUIBGMJPX99ANFFRSw6FefM374lDujdtLDyhN2A/btHw==",
+ "version": "3.16.4",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.4.tgz",
+ "integrity": "sha512-Tq4GVE6XCjE+hcyW6hPy0ofN3hwtLudz5ZRdrlCnsnD/xkm/PWQRudzYHiKgZKUcefV6Q57fhDHjZHJP5dpfSg==",
"dev": true,
"hasInstallScript": true,
"funding": {
@@ -2176,9 +2032,9 @@
}
},
"node_modules/cosmiconfig": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
- "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
+ "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
"dev": true,
"dependencies": {
"@types/parse-json": "^4.0.0",
@@ -2205,21 +2061,6 @@
"node": ">= 8"
}
},
- "node_modules/cross-spawn/node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -2243,9 +2084,9 @@
"integrity": "sha512-AztC/IOW4L1Q41A86phW5Thhcrco3xuAA+YX/BLpLWWjRcTj5TOt/QImBLmCKlrF7u7k47arTnOyL6GnbG8Hvw=="
},
"node_modules/debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
"dependencies": {
"ms": "2.1.2"
},
@@ -2451,9 +2292,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"node_modules/electron-to-chromium": {
- "version": "1.3.789",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.789.tgz",
- "integrity": "sha512-lK4xn6C6ZF1kgLaC/EhOtC1MSKENExj3rMwGVnBTfHW81Z/Hb1Rge5YaWawN/YOXy3xCaESuE4KWSD50kOZ9rQ==",
+ "version": "1.3.824",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.824.tgz",
+ "integrity": "sha512-Fk+5aD0HDi9i9ZKt9n2VPOZO1dQy7PV++hz2wJ/KIn+CvVfu4fny39squHtyVDPuHNuoJGAZIbuReEklqYIqfA==",
"dev": true
},
"node_modules/emoji-regex": {
@@ -2488,9 +2329,9 @@
}
},
"node_modules/engine.io": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.1.1.tgz",
- "integrity": "sha512-aMWot7H5aC8L4/T8qMYbLdvKlZOdJTH54FxfdFunTGvhMx1BHkJOntWArsVfgAZVwAO9LC2sryPWRcEeUzCe5w==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.2.0.tgz",
+ "integrity": "sha512-d1DexkQx87IFr1FLuV+0f5kAm1Hk1uOVijLOb+D1sDO2QMb7YjE02VHtZtxo7xIXMgcWLb+vl3HRT0rI9tr4jQ==",
"dependencies": {
"accepts": "~1.3.4",
"base64id": "2.0.0",
@@ -2505,9 +2346,9 @@
}
},
"node_modules/engine.io-client": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-5.1.2.tgz",
- "integrity": "sha512-blRrgXIE0A/eurWXRzvfCLG7uUFJqfTGFsyJzXSK71srMMGJ2VraBLg8Mdw28uUxSpVicepBN9X7asqpD1mZcQ==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-5.2.0.tgz",
+ "integrity": "sha512-BcIBXGBkT7wKecwnfrSV79G2X5lSUSgeAGgoo60plXf8UsQEvCQww/KMwXSMhVjb98fFYNq20CC5eo8IOAPqsg==",
"dependencies": {
"base64-arraybuffer": "0.1.4",
"component-emitter": "~1.3.0",
@@ -2517,13 +2358,14 @@
"parseqs": "0.0.6",
"parseuri": "0.0.6",
"ws": "~7.4.2",
+ "xmlhttprequest-ssl": "~2.0.0",
"yeast": "0.1.2"
}
},
"node_modules/engine.io-parser": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz",
- "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.3.tgz",
+ "integrity": "sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==",
"dependencies": {
"base64-arraybuffer": "0.1.4"
},
@@ -2567,9 +2409,9 @@
}
},
"node_modules/esbuild": {
- "version": "0.12.16",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.16.tgz",
- "integrity": "sha512-XqI9cXP2bmQ6MREIqrYBb13KfYFSERsV1+e5jSVWps8dNlLZK+hln7d0mznzDIpfISsg/AgQW0DW3kSInXWhrg==",
+ "version": "0.12.24",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.24.tgz",
+ "integrity": "sha512-C0ibY+HsXzYB6L/pLWEiWjMpghKsIc58Q5yumARwBQsHl9DXPakW+5NI/Y9w4YXiz0PEP6XTGTT/OV4Nnsmb4A==",
"dev": true,
"hasInstallScript": true,
"bin": {
@@ -2659,9 +2501,9 @@
}
},
"node_modules/eslint-plugin-vue": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.16.0.tgz",
- "integrity": "sha512-0E2dVvVC7I2Xm1HXyx+ZwPj9CNX4NJjs4K4r+GVsHWyt5Pew3JLD4fI7A91b2jeL0TXE7LlszrwLSTJU9eqehw==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.17.0.tgz",
+ "integrity": "sha512-Rq5R2QetDCgC+kBFQw1+aJ5B93tQ4xqZvoCUxuIzwTonngNArsdP8ChM8PowIzsJvRtWl4ltGh/bZcN3xhFWSw==",
"dev": true,
"dependencies": {
"eslint-utils": "^2.1.0",
@@ -2673,16 +2515,7 @@
"node": ">=8.10"
},
"peerDependencies": {
- "eslint": "^6.2.0 || ^7.0.0"
- }
- },
- "node_modules/eslint-plugin-vue/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
+ "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0-0"
}
},
"node_modules/eslint-scope": {
@@ -2731,15 +2564,6 @@
"node": ">=10"
}
},
- "node_modules/eslint/node_modules/ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/eslint/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -2767,30 +2591,6 @@
"node": ">=10"
}
},
- "node_modules/eslint/node_modules/strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/eslint/node_modules/strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/eslint/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -3023,19 +2823,6 @@
"node": ">=8"
}
},
- "node_modules/fast-glob/node_modules/micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -3055,9 +2842,9 @@
"dev": true
},
"node_modules/fastq": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz",
- "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==",
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz",
+ "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==",
"dev": true,
"dependencies": {
"reusify": "^1.0.4"
@@ -3148,31 +2935,16 @@
"node": "^10.12.0 || >=12.0.0"
}
},
- "node_modules/flat-cache/node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/flatted": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz",
- "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz",
+ "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==",
"dev": true
},
"node_modules/follow-redirects": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz",
- "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==",
+ "version": "1.14.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz",
+ "integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA==",
"funding": [
{
"type": "individual",
@@ -3278,6 +3050,25 @@
"wide-align": "^1.1.0"
}
},
+ "node_modules/gauge/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/gauge/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/generic-names": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz",
@@ -3349,10 +3140,48 @@
"node": ">= 6"
}
},
+ "node_modules/global-modules": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
+ "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
+ "dev": true,
+ "dependencies": {
+ "global-prefix": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/global-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
+ "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+ "dev": true,
+ "dependencies": {
+ "ini": "^1.3.5",
+ "kind-of": "^6.0.2",
+ "which": "^1.3.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/global-prefix/node_modules/which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
"node_modules/globals": {
- "version": "13.10.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz",
- "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==",
+ "version": "13.11.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz",
+ "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==",
"dev": true,
"dependencies": {
"type-fest": "^0.20.2"
@@ -3440,12 +3269,12 @@
"integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk="
},
"node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/has-unicode": {
@@ -3542,9 +3371,9 @@
}
},
"node_modules/http-graceful-shutdown": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/http-graceful-shutdown/-/http-graceful-shutdown-3.1.3.tgz",
- "integrity": "sha512-o8NmJM4fS3KO8y+pCY4nY88NSNxjob+TyhzW22U155tNIxPPkTD9N2LDIhib+LbYQtuNdtXbCVxuYaoNy78ENw==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/http-graceful-shutdown/-/http-graceful-shutdown-3.1.4.tgz",
+ "integrity": "sha512-d6E0hjPhHpKtxY+UuocogYuGUyuH+kOwzTYlAU+FGSTYoIUMyaIVKAn/Tmlqp82sE+Ls5ekOaqMiBlGhBsyT7g==",
"dependencies": {
"debug": "^4.3.1"
},
@@ -3729,10 +3558,33 @@
"node": ">=8"
}
},
+ "node_modules/is-buffer": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+ "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"
+ }
+ ],
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/is-core-module": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
- "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz",
+ "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==",
"dependencies": {
"has": "^1.0.3"
},
@@ -3802,12 +3654,12 @@
}
},
"node_modules/is-plain-obj": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
- "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
"dev": true,
"engines": {
- "node": ">=8"
+ "node": ">=0.10.0"
}
},
"node_modules/is-regexp": {
@@ -3930,6 +3782,14 @@
"npm": ">=1.4.28"
}
},
+ "node_modules/jsonwebtoken/node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
"node_modules/jwa": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
@@ -4006,22 +3866,6 @@
"resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz",
"integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw=="
},
- "node_modules/knex/node_modules/debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/knex/node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -4363,6 +4207,19 @@
"parse-entities": "^2.0.0"
}
},
+ "node_modules/micromatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
+ "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
"node_modules/mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
@@ -4375,19 +4232,19 @@
}
},
"node_modules/mime-db": {
- "version": "1.48.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
- "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==",
+ "version": "1.49.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
+ "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
- "version": "2.1.31",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
- "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
+ "version": "2.1.32",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
+ "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
"dependencies": {
- "mime-db": "1.48.0"
+ "mime-db": "1.49.0"
},
"engines": {
"node": ">= 0.6"
@@ -4443,15 +4300,6 @@
"node": ">= 6"
}
},
- "node_modules/minimist-options/node_modules/is-plain-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
- "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/minipass": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
@@ -4507,10 +4355,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/nanoid": {
- "version": "3.1.23",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz",
- "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==",
- "dev": true,
+ "version": "3.1.25",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
+ "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@@ -4545,10 +4392,18 @@
"semver": "^5.4.1"
}
},
+ "node_modules/node-abi/node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
"node_modules/node-releases": {
- "version": "1.1.73",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
- "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==",
+ "version": "1.1.75",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz",
+ "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==",
"dev": true
},
"node_modules/nodemailer": {
@@ -4560,13 +4415,13 @@
}
},
"node_modules/normalize-package-data": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz",
- "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
"dev": true,
"dependencies": {
"hosted-git-info": "^4.0.1",
- "resolve": "^1.20.0",
+ "is-core-module": "^2.5.0",
"semver": "^7.3.4",
"validate-npm-package-license": "^3.0.1"
},
@@ -4926,6 +4781,18 @@
"node": ">=6.14.4"
}
},
+ "node_modules/postcss-less/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/postcss-less/node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -4952,6 +4819,21 @@
"node": ">=4"
}
},
+ "node_modules/postcss-less/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/postcss-less/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"node_modules/postcss-less/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -4961,6 +4843,15 @@
"node": ">=0.8.0"
}
},
+ "node_modules/postcss-less/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/postcss-less/node_modules/postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -5093,6 +4984,18 @@
"node": ">=6.0.0"
}
},
+ "node_modules/postcss-safe-parser/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/postcss-safe-parser/node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -5119,6 +5022,21 @@
"node": ">=4"
}
},
+ "node_modules/postcss-safe-parser/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/postcss-safe-parser/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"node_modules/postcss-safe-parser/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -5128,6 +5046,15 @@
"node": ">=0.8.0"
}
},
+ "node_modules/postcss-safe-parser/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/postcss-safe-parser/node_modules/postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -5168,6 +5095,18 @@
"postcss": "^7.0.21"
}
},
+ "node_modules/postcss-sass/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/postcss-sass/node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -5194,6 +5133,21 @@
"node": ">=4"
}
},
+ "node_modules/postcss-sass/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/postcss-sass/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"node_modules/postcss-sass/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -5203,6 +5157,15 @@
"node": ">=0.8.0"
}
},
+ "node_modules/postcss-sass/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/postcss-sass/node_modules/postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -5245,6 +5208,18 @@
"node": ">=6.0.0"
}
},
+ "node_modules/postcss-scss/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/postcss-scss/node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -5271,6 +5246,21 @@
"node": ">=4"
}
},
+ "node_modules/postcss-scss/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/postcss-scss/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"node_modules/postcss-scss/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -5280,6 +5270,15 @@
"node": ">=0.8.0"
}
},
+ "node_modules/postcss-scss/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/postcss-scss/node_modules/postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -5525,6 +5524,14 @@
"rc": "cli.js"
}
},
+ "node_modules/rc/node_modules/strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/read-pkg": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
@@ -5584,6 +5591,15 @@
"validate-npm-package-license": "^3.0.1"
}
},
+ "node_modules/read-pkg/node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
"node_modules/read-pkg/node_modules/type-fest": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
@@ -5644,9 +5660,9 @@
}
},
"node_modules/redbean-node/node_modules/@types/node": {
- "version": "14.17.11",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.11.tgz",
- "integrity": "sha512-n2OQ+0Bz6WEsUjrvcHD1xZ8K+Kgo4cn9/w94s1bJS690QMUWfJPW/m7CCb7gPkA1fcYwL2UpjXP/rq/Eo41m6w=="
+ "version": "14.17.12",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.12.tgz",
+ "integrity": "sha512-vhUqgjJR1qxwTWV5Ps5txuy2XMdf7Fw+OrdChRboy8BmWUPkckOhphaohzFG6b8DW7CrxaBMdrdJ47SYFq1okw=="
},
"node_modules/redent": {
"version": "3.0.0",
@@ -5769,10 +5785,25 @@
"node": ">=0.10.0"
}
},
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/rollup": {
- "version": "2.55.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.55.0.tgz",
- "integrity": "sha512-Atc3QqelKzrKwRkqnSdq0d2Mi8e0iGuL+kZebKMZ4ysyWHD5hw9VfVCAuODIW5837RENV8LXcbAEHurYf+ArvA==",
+ "version": "2.56.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.56.3.tgz",
+ "integrity": "sha512-Au92NuznFklgQCUcV96iXlxUbHuB1vQMaH76DHl5M11TotjOHwqk9CwcrT78+Tnv4FN9uTBxq6p4EJoYkpyekg==",
"dev": true,
"bin": {
"rollup": "dist/bin/rollup"
@@ -5818,9 +5849,9 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/sass": {
- "version": "1.37.5",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.37.5.tgz",
- "integrity": "sha512-Cx3ewxz9QB/ErnVIiWg2cH0kiYZ0FPvheDTVC6BsiEGBTZKKZJ1Gq5Kq6jy3PKtL6+EJ8NIoaBW/RSd2R6cZOA==",
+ "version": "1.38.2",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.38.2.tgz",
+ "integrity": "sha512-Bz1fG6qiyF0FX6m/I+VxtdVKz1Dfmg/e9kfDy2PhWOkq3T384q2KxwIfP0fXpeI+EyyETdOauH+cRHQDFASllA==",
"dev": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0"
@@ -5833,11 +5864,12 @@
}
},
"node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true,
"bin": {
- "semver": "bin/semver"
+ "semver": "bin/semver.js"
}
},
"node_modules/send": {
@@ -5986,39 +6018,6 @@
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
}
},
- "node_modules/slice-ansi/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/slice-ansi/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/slice-ansi/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
"node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
@@ -6029,18 +6028,18 @@
}
},
"node_modules/socket.io": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.1.3.tgz",
- "integrity": "sha512-tLkaY13RcO4nIRh1K2hT5iuotfTaIQw7cVIe0FUykN3SuQi0cm7ALxuyT5/CtDswOMWUzMGTibxYNx/gU7In+Q==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.2.0.tgz",
+ "integrity": "sha512-sjlGfMmnaWvTRVxGRGWyhd9ctpg4APxWAxu85O/SxekkxHhfxmePWZbaYCkeX5QQX0z1YEnKOlNt6w82E4Nzug==",
"dependencies": {
- "@types/cookie": "^0.4.0",
- "@types/cors": "^2.8.10",
+ "@types/cookie": "^0.4.1",
+ "@types/cors": "^2.8.12",
"@types/node": ">=10.0.0",
"accepts": "~1.3.4",
"base64id": "~2.0.0",
- "debug": "~4.3.1",
- "engine.io": "~5.1.1",
- "socket.io-adapter": "~2.3.1",
+ "debug": "~4.3.2",
+ "engine.io": "~5.2.0",
+ "socket.io-adapter": "~2.3.2",
"socket.io-parser": "~4.0.4"
},
"engines": {
@@ -6048,20 +6047,20 @@
}
},
"node_modules/socket.io-adapter": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.1.tgz",
- "integrity": "sha512-8cVkRxI8Nt2wadkY6u60Y4rpW3ejA1rxgcK2JuyIhmF+RMNpTy1QRtkHIDUOf3B4HlQwakMsWbKftMv/71VMmw=="
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.2.tgz",
+ "integrity": "sha512-PBZpxUPYjmoogY0aoaTmo1643JelsaS1CiAwNjRVdrI0X9Seuc19Y2Wife8k88avW6haG8cznvwbubAZwH4Mtg=="
},
"node_modules/socket.io-client": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.1.3.tgz",
- "integrity": "sha512-hISFn6PDpgDifVUiNklLHVPTMv1LAk8poHArfIUdXa+gKgbr0MZbAlquDFqCqsF30yBqa+jg42wgos2FK50BHA==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.2.0.tgz",
+ "integrity": "sha512-3GJ2KMh7inJUNAOjgf8NaKJZJa9uRyfryh2LrVJyKyxmzoXlfW9DeDNqylJn0ovOFt4e/kRLNWzMt/YqqEWYSA==",
"dependencies": {
"@types/component-emitter": "^1.2.10",
"backo2": "~1.0.2",
"component-emitter": "~1.3.0",
- "debug": "~4.3.1",
- "engine.io-client": "~5.1.2",
+ "debug": "~4.3.2",
+ "engine.io-client": "~5.2.0",
"parseuri": "0.0.6",
"socket.io-parser": "~4.0.4"
},
@@ -6132,9 +6131,9 @@
}
},
"node_modules/spdx-license-ids": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz",
- "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==",
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz",
+ "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==",
"dev": true
},
"node_modules/specificity": {
@@ -6187,7 +6186,15 @@
"node": ">=0.10.0"
}
},
- "node_modules/strip-ansi": {
+ "node_modules/string-width/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/string-width/node_modules/strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
@@ -6198,6 +6205,18 @@
"node": ">=0.10.0"
}
},
+ "node_modules/strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/strip-indent": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
@@ -6211,11 +6230,15 @@
}
},
"node_modules/strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/style-search": {
@@ -6311,13 +6334,16 @@
"stylelint": "^13.13.0"
}
},
- "node_modules/stylelint/node_modules/ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "node_modules/stylelint/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=4"
}
},
"node_modules/stylelint/node_modules/balanced-match": {
@@ -6326,6 +6352,21 @@
"integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
"dev": true
},
+ "node_modules/stylelint/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/stylelint/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"node_modules/stylelint/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -6335,30 +6376,13 @@
"node": ">=0.8.0"
}
},
- "node_modules/stylelint/node_modules/global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
- "dev": true,
- "dependencies": {
- "global-prefix": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/stylelint/node_modules/global-prefix": {
+ "node_modules/stylelint/node_modules/has-flag": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true,
- "dependencies": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- },
"engines": {
- "node": ">=6"
+ "node": ">=4"
}
},
"node_modules/stylelint/node_modules/ignore": {
@@ -6379,19 +6403,6 @@
"node": ">=8"
}
},
- "node_modules/stylelint/node_modules/micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
"node_modules/stylelint/node_modules/postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -6459,18 +6470,6 @@
"node": ">=8"
}
},
- "node_modules/stylelint/node_modules/strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/stylelint/node_modules/supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -6492,6 +6491,18 @@
"postcss": "^7.0.2"
}
},
+ "node_modules/sugarss/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/sugarss/node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -6518,6 +6529,21 @@
"node": ">=4"
}
},
+ "node_modules/sugarss/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/sugarss/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"node_modules/sugarss/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -6527,6 +6553,15 @@
"node": ">=0.8.0"
}
},
+ "node_modules/sugarss/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/sugarss/node_modules/postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -6558,15 +6593,15 @@
}
},
"node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"dependencies": {
- "has-flag": "^3.0.0"
+ "has-flag": "^4.0.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/svg-tags": {
@@ -6576,9 +6611,9 @@
"dev": true
},
"node_modules/systemjs": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.10.2.tgz",
- "integrity": "sha512-PwaC0Z6Y1E6gFekY2u38EC5+5w2M65jYVrD1aAcOptpHVhCwPIwPFJvYJyryQKUyeuQ5bKKI3PBHWNjdE9aizg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.10.3.tgz",
+ "integrity": "sha512-mXwfLJdaADqWg1J5+Z0bGQEdcXSe+ePPTfzffMB29aVls5cXveRl0vneSV/19t3SfuUBsAraLP8W/g5u9cmYXA==",
"dev": true
},
"node_modules/table": {
@@ -6614,15 +6649,6 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/table/node_modules/ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/table/node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
@@ -6652,22 +6678,10 @@
"node": ">=8"
}
},
- "node_modules/table/node_modules/strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/tar": {
- "version": "6.1.6",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.6.tgz",
- "integrity": "sha512-oaWyu5dQbHaYcyZCTfyPpC+VmI62/OM2RTUYavTk1MDr1cwW5Boi3baeYQKiZbY2uSQJGr+iMOzb/JFxLrft+g==",
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
"dependencies": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
@@ -6868,9 +6882,9 @@
}
},
"node_modules/typescript": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz",
- "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==",
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz",
+ "integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
@@ -6898,27 +6912,13 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/unified/node_modules/is-buffer": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
- "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+ "node_modules/unified/node_modules/is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
"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"
- }
- ],
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/unist-util-find-all-after": {
@@ -7051,36 +7051,13 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/vfile/node_modules/is-buffer": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
- "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
- "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"
- }
- ],
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/vite": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/vite/-/vite-2.4.4.tgz",
- "integrity": "sha512-m1wK6pFJKmaYA6AeZIUXyiAgUAAJzVXhIMYCdZUpCaFMGps0v0IlNJtbmPvkUhVEyautalajmnW5X6NboUPsnw==",
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-2.5.2.tgz",
+ "integrity": "sha512-JK5uhiVyMqHiAJbgBa8rCvpP8bEhAE9dKDv1gCmP+EUP2FSPmEeW3WXlCXauPB3MDa8behPW+ntyNXqnGaxslg==",
"dev": true,
"dependencies": {
- "esbuild": "^0.12.8",
+ "esbuild": "^0.12.17",
"postcss": "^8.3.6",
"resolve": "^1.20.0",
"rollup": "^2.38.5"
@@ -7089,38 +7066,20 @@
"vite": "bin/vite.js"
},
"engines": {
- "node": ">=12.0.0"
+ "node": ">=12.2.0"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
}
},
- "node_modules/vite/node_modules/postcss": {
- "version": "8.3.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz",
- "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==",
- "dev": true,
- "dependencies": {
- "colorette": "^1.2.2",
- "nanoid": "^3.1.23",
- "source-map-js": "^0.6.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- }
- },
"node_modules/vue": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.2.tgz",
- "integrity": "sha512-D/LuzAV30CgNJYGyNheE/VUs5N4toL2IgmS6c9qeOxvyh0xyn4exyRqizpXIrsvfx34zG9x5gCI2tdRHCGvF9w==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.6.tgz",
+ "integrity": "sha512-Zlb3LMemQS3Xxa6xPsecu45bNjr1hxO8Bh5FUmE0Dr6Ot0znZBKiM47rK6O7FTcakxOnvVN+NTXWJF6u8ajpCQ==",
"dependencies": {
- "@vue/compiler-dom": "3.2.2",
- "@vue/runtime-dom": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/compiler-dom": "3.2.6",
+ "@vue/runtime-dom": "3.2.6",
+ "@vue/shared": "3.2.6"
}
},
"node_modules/vue-chart-3": {
@@ -7146,64 +7105,6 @@
}
}
},
- "node_modules/vue-chart-3/node_modules/@vue/reactivity": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.4.tgz",
- "integrity": "sha512-ljWTR0hr8Tn09hM2tlmWxZzCBPlgGLnq/k8K8X6EcJhtV+C8OzFySnbWqMWataojbrQOocThwsC8awKthSl2uQ==",
- "dependencies": {
- "@vue/shared": "3.2.4"
- }
- },
- "node_modules/vue-chart-3/node_modules/@vue/runtime-core": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.4.tgz",
- "integrity": "sha512-W6PtEOs8P8jKYPo3JwaMAozZQivxInUleGfNwI2pK1t8ZLZIxn4kAf7p4VF4jJdQB8SZBzpfWdLUc06j7IOmpQ==",
- "dependencies": {
- "@vue/reactivity": "3.2.4",
- "@vue/shared": "3.2.4"
- }
- },
- "node_modules/vue-chart-3/node_modules/@vue/runtime-dom": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.4.tgz",
- "integrity": "sha512-HcVtLyn2SGwsf6BFPwkvDPDOhOqkOKcfHDpBp5R1coX+qMsOFrY8lJnGXIY+JnxqFjND00E9+u+lq5cs/W7ooA==",
- "dependencies": {
- "@vue/runtime-core": "3.2.4",
- "@vue/shared": "3.2.4",
- "csstype": "^2.6.8"
- }
- },
- "node_modules/vue-chart-3/node_modules/@vue/runtime-dom/node_modules/csstype": {
- "version": "2.6.17",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz",
- "integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A=="
- },
- "node_modules/vue-chart-3/node_modules/@vue/shared": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.4.tgz",
- "integrity": "sha512-j2j1MRmjalVKr3YBTxl/BClSIc8UQ8NnPpLYclxerK65JIowI4O7n8O8lElveEtEoHxy1d7BelPUDI0Q4bumqg=="
- },
- "node_modules/vue-chart-3/node_modules/csstype": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz",
- "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw=="
- },
- "node_modules/vue-chart-3/node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- },
- "node_modules/vue-chart-3/node_modules/nanoid": {
- "version": "3.1.25",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
- "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
"node_modules/vue-confirm-dialog": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/vue-confirm-dialog/-/vue-confirm-dialog-1.0.2.tgz",
@@ -7281,15 +7182,6 @@
"node": ">=6.0.0"
}
},
- "node_modules/vue-eslint-parser/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/vue-i18n": {
"version": "9.1.7",
"resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.1.7.tgz",
@@ -7336,15 +7228,18 @@
}
},
"node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"dependencies": {
"isexe": "^2.0.0"
},
"bin": {
- "which": "bin/which"
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
}
},
"node_modules/wide-align": {
@@ -7401,6 +7296,14 @@
}
}
},
+ "node_modules/xmlhttprequest-ssl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+ "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
@@ -7452,26 +7355,26 @@
}
},
"@babel/compat-data": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz",
- "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz",
+ "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==",
"dev": true
},
"@babel/core": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.8.tgz",
- "integrity": "sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz",
+ "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.14.8",
- "@babel/helper-compilation-targets": "^7.14.5",
- "@babel/helper-module-transforms": "^7.14.8",
+ "@babel/generator": "^7.15.0",
+ "@babel/helper-compilation-targets": "^7.15.0",
+ "@babel/helper-module-transforms": "^7.15.0",
"@babel/helpers": "^7.14.8",
- "@babel/parser": "^7.14.8",
+ "@babel/parser": "^7.15.0",
"@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.8",
- "@babel/types": "^7.14.8",
+ "@babel/traverse": "^7.15.0",
+ "@babel/types": "^7.15.0",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -7489,28 +7392,6 @@
"@babel/highlight": "^7.14.5"
}
},
- "@babel/helper-validator-identifier": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
- "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
- "dev": true
- },
- "@babel/parser": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.8.tgz",
- "integrity": "sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==",
- "dev": true
- },
- "@babel/types": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz",
- "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.14.8",
- "to-fast-properties": "^2.0.0"
- }
- },
"json5": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
@@ -7520,12 +7401,6 @@
"minimist": "^1.2.5"
}
},
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- },
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -7543,43 +7418,19 @@
"eslint-scope": "^5.1.1",
"eslint-visitor-keys": "^2.1.0",
"semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
}
},
"@babel/generator": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.8.tgz",
- "integrity": "sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz",
+ "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.14.8",
+ "@babel/types": "^7.15.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
"dependencies": {
- "@babel/helper-validator-identifier": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
- "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
- "dev": true
- },
- "@babel/types": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz",
- "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.14.8",
- "to-fast-properties": "^2.0.0"
- }
- },
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -7589,23 +7440,15 @@
}
},
"@babel/helper-compilation-targets": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz",
- "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz",
+ "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.14.5",
+ "@babel/compat-data": "^7.15.0",
"@babel/helper-validator-option": "^7.14.5",
"browserslist": "^4.16.6",
"semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
}
},
"@babel/helper-function-name": {
@@ -7638,12 +7481,12 @@
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz",
- "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz",
+ "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==",
"dev": true,
"requires": {
- "@babel/types": "^7.14.5"
+ "@babel/types": "^7.15.0"
}
},
"@babel/helper-module-imports": {
@@ -7656,37 +7499,19 @@
}
},
"@babel/helper-module-transforms": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.8.tgz",
- "integrity": "sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz",
+ "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==",
"dev": true,
"requires": {
"@babel/helper-module-imports": "^7.14.5",
- "@babel/helper-replace-supers": "^7.14.5",
+ "@babel/helper-replace-supers": "^7.15.0",
"@babel/helper-simple-access": "^7.14.8",
"@babel/helper-split-export-declaration": "^7.14.5",
- "@babel/helper-validator-identifier": "^7.14.8",
+ "@babel/helper-validator-identifier": "^7.14.9",
"@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.8",
- "@babel/types": "^7.14.8"
- },
- "dependencies": {
- "@babel/helper-validator-identifier": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
- "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
- "dev": true
- },
- "@babel/types": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz",
- "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.14.8",
- "to-fast-properties": "^2.0.0"
- }
- }
+ "@babel/traverse": "^7.15.0",
+ "@babel/types": "^7.15.0"
}
},
"@babel/helper-optimise-call-expression": {
@@ -7699,15 +7524,15 @@
}
},
"@babel/helper-replace-supers": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz",
- "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz",
+ "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.14.5",
+ "@babel/helper-member-expression-to-functions": "^7.15.0",
"@babel/helper-optimise-call-expression": "^7.14.5",
- "@babel/traverse": "^7.14.5",
- "@babel/types": "^7.14.5"
+ "@babel/traverse": "^7.15.0",
+ "@babel/types": "^7.15.0"
}
},
"@babel/helper-simple-access": {
@@ -7717,24 +7542,6 @@
"dev": true,
"requires": {
"@babel/types": "^7.14.8"
- },
- "dependencies": {
- "@babel/helper-validator-identifier": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
- "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
- "dev": true
- },
- "@babel/types": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz",
- "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.14.8",
- "to-fast-properties": "^2.0.0"
- }
- }
}
},
"@babel/helper-split-export-declaration": {
@@ -7747,9 +7554,9 @@
}
},
"@babel/helper-validator-identifier": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz",
- "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg=="
+ "version": "7.14.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz",
+ "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g=="
},
"@babel/helper-validator-option": {
"version": "7.14.5",
@@ -7758,32 +7565,14 @@
"dev": true
},
"@babel/helpers": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.8.tgz",
- "integrity": "sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==",
+ "version": "7.15.3",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz",
+ "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==",
"dev": true,
"requires": {
"@babel/template": "^7.14.5",
- "@babel/traverse": "^7.14.8",
- "@babel/types": "^7.14.8"
- },
- "dependencies": {
- "@babel/helper-validator-identifier": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
- "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
- "dev": true
- },
- "@babel/types": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz",
- "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.14.8",
- "to-fast-properties": "^2.0.0"
- }
- }
+ "@babel/traverse": "^7.15.0",
+ "@babel/types": "^7.15.0"
}
},
"@babel/highlight": {
@@ -7797,6 +7586,15 @@
"js-tokens": "^4.0.0"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -7808,23 +7606,53 @@
"supports-color": "^5.3.0"
}
},
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
}
}
},
"@babel/parser": {
- "version": "7.14.7",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz",
- "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA=="
+ "version": "7.15.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz",
+ "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA=="
},
"@babel/standalone": {
- "version": "7.15.1",
- "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.15.1.tgz",
- "integrity": "sha512-OJvIUtmXWEnTFvm+/TSMFkJK9vmbOF1wNmu/vbU18/Hlj9E6JdrkWxTkwbrsM1UjLtyb4w+pwZ/A1C4XZXorXg==",
+ "version": "7.15.3",
+ "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.15.3.tgz",
+ "integrity": "sha512-Bst2YWEyQ2ROyO0+jxPVnnkSmUh44/x54+LSbe5M4N5LGfOkxpajEUKVE4ndXtIVrLlHCyuiqCPwv3eC1ItnCg==",
"dev": true
},
"@babel/template": {
@@ -7850,51 +7678,29 @@
}
},
"@babel/traverse": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.8.tgz",
- "integrity": "sha512-kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz",
+ "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.14.8",
+ "@babel/generator": "^7.15.0",
"@babel/helper-function-name": "^7.14.5",
"@babel/helper-hoist-variables": "^7.14.5",
"@babel/helper-split-export-declaration": "^7.14.5",
- "@babel/parser": "^7.14.8",
- "@babel/types": "^7.14.8",
+ "@babel/parser": "^7.15.0",
+ "@babel/types": "^7.15.0",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz",
- "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.14.5"
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
- "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
- "dev": true
- },
- "@babel/parser": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.8.tgz",
- "integrity": "sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==",
- "dev": true
- },
- "@babel/types": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz",
- "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==",
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz",
+ "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.14.8",
- "to-fast-properties": "^2.0.0"
+ "@babel/highlight": "^7.14.5"
}
},
"globals": {
@@ -7906,11 +7712,11 @@
}
},
"@babel/types": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz",
- "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==",
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
+ "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
"requires": {
- "@babel/helper-validator-identifier": "^7.14.5",
+ "@babel/helper-validator-identifier": "^7.14.9",
"to-fast-properties": "^2.0.0"
}
},
@@ -7929,14 +7735,6 @@
"js-yaml": "^3.13.1",
"minimatch": "^3.0.4",
"strip-json-comments": "^3.1.1"
- },
- "dependencies": {
- "strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true
- }
}
},
"@fortawesome/fontawesome-common-types": {
@@ -7971,8 +7769,7 @@
"@fortawesome/vue-fontawesome": {
"version": "3.0.0-4",
"resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.0-4.tgz",
- "integrity": "sha512-dQVhhMRcUPCb0aqk5ohm0KGk5OJ7wFZ9aYapLzJB3Z+xs7LhkRWLTb87reelUAG5PFDjutDAXuloT9hi6cz72A==",
- "requires": {}
+ "integrity": "sha512-dQVhhMRcUPCb0aqk5ohm0KGk5OJ7wFZ9aYapLzJB3Z+xs7LhkRWLTb87reelUAG5PFDjutDAXuloT9hi6cz72A=="
},
"@humanwhocodes/config-array": {
"version": "0.5.0",
@@ -8131,9 +7928,9 @@
}
},
"@types/bootstrap": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.1.1.tgz",
- "integrity": "sha512-W/fEBlqwaJFh+3sCz/H88LPsLt/zLsEECFlrAOkrRPjWuo/ETl8u0JefIerCdc8+WukowQS1f60eIJOwkCBwhg==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.1.2.tgz",
+ "integrity": "sha512-dSQvMi2dMyNwJU6LZjP0pimuBowsMUvGScYdfqqeiDUoj9TxXZCpfu0cTl94U0Zvw/tdH9j/9ToOhi4LKNLZhg==",
"dev": true,
"requires": {
"@popperjs/core": "^2.9.2",
@@ -8207,9 +8004,9 @@
}
},
"@types/http-assert": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz",
- "integrity": "sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ=="
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.3.tgz",
+ "integrity": "sha512-FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA=="
},
"@types/http-errors": {
"version": "1.8.1",
@@ -8259,9 +8056,9 @@
}
},
"@types/mdast": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.7.tgz",
- "integrity": "sha512-YwR7OK8aPmaBvMMUi+pZXBNoW2unbVbfok4YRqGMJBe1dpDlzpRkJrYEYmvjxgs5JhuQmKfDexrN98u941Zasg==",
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz",
+ "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==",
"dev": true,
"requires": {
"@types/unist": "*"
@@ -8279,9 +8076,9 @@
"dev": true
},
"@types/node": {
- "version": "16.3.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.3.tgz",
- "integrity": "sha512-8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ=="
+ "version": "16.7.8",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.8.tgz",
+ "integrity": "sha512-8upnoQU0OPzbIkm+ZMM0zCeFCkw2s3mS0IWdx0+AAaWqm4fkBb0UJp8Edl7FVKRamYbpJC/aVsHpKWBIbiC7Zg=="
},
"@types/normalize-package-data": {
"version": "2.4.1",
@@ -8340,48 +8137,48 @@
}
},
"@vitejs/plugin-vue": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.4.0.tgz",
- "integrity": "sha512-RkqfJHz9wdLKBp5Yi+kQL8BAljdrvPoccQm2PTZc/UcL4EjD11xsv2PPCduYx2oV1a/bpSKA3sD5sxOHFhz+LA==",
- "dev": true,
- "requires": {}
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.6.0.tgz",
+ "integrity": "sha512-n3i8htn8pTg9M+kM3cnEfsPZx/6ngInlTroth6fA1LQTJq5aTVQ8ggaE5pPoAy9vCgHPtcaXMzwpldhqRAkebQ==",
+ "dev": true
},
"@vue/compiler-core": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.2.tgz",
- "integrity": "sha512-QhCI0ZU5nAR0LMcLgzW3v75374tIrHGp8XG5CzJS7Nsy+iuignbE4MZ2XJfh5TGIrtpuzfWA4eTIfukZf/cRdg==",
- "requires": {
- "@babel/parser": "^7.12.0",
- "@babel/types": "^7.12.0",
- "@vue/shared": "3.2.2",
- "estree-walker": "^2.0.1",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.6.tgz",
+ "integrity": "sha512-vbwnz7+OhtLO5p5i630fTuQCL+MlUpEMTKHuX+RfetQ+3pFCkItt2JUH+9yMaBG2Hkz6av+T9mwN/acvtIwpbw==",
+ "requires": {
+ "@babel/parser": "^7.15.0",
+ "@babel/types": "^7.15.0",
+ "@vue/shared": "3.2.6",
+ "estree-walker": "^2.0.2",
"source-map": "^0.6.1"
}
},
"@vue/compiler-dom": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.2.tgz",
- "integrity": "sha512-ggcc+NV/ENIE0Uc3TxVE/sKrhYVpLepMAAmEiQ047332mbKOvUkowz4TTFZ+YkgOIuBOPP0XpCxmCMg7p874mA==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.6.tgz",
+ "integrity": "sha512-+a/3oBAzFIXhHt8L5IHJOTP4a5egzvpXYyi13jR7CUYOR1S+Zzv7vBWKYBnKyJLwnrxTZnTQVjeHCgJq743XKg==",
"requires": {
- "@vue/compiler-core": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/compiler-core": "3.2.6",
+ "@vue/shared": "3.2.6"
}
},
"@vue/compiler-sfc": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.2.tgz",
- "integrity": "sha512-hrtqpQ5L6IPn5v7yVRo7uvLcQxv0z1+KBjZBWMBOcrXz4t+PKUxU/SWd6Tl9T8FDmYlunzKUh6lcx+2CLo6f5A==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.6.tgz",
+ "integrity": "sha512-Ariz1eDsf+2fw6oWXVwnBNtfKHav72RjlWXpEgozYBLnfRPzP+7jhJRw4Nq0OjSsLx2HqjF3QX7HutTjYB0/eA==",
"dev": true,
"requires": {
- "@babel/parser": "^7.13.9",
- "@babel/types": "^7.13.0",
+ "@babel/parser": "^7.15.0",
+ "@babel/types": "^7.15.0",
"@types/estree": "^0.0.48",
- "@vue/compiler-core": "3.2.2",
- "@vue/compiler-dom": "3.2.2",
- "@vue/compiler-ssr": "3.2.2",
- "@vue/shared": "3.2.2",
+ "@vue/compiler-core": "3.2.6",
+ "@vue/compiler-dom": "3.2.6",
+ "@vue/compiler-ssr": "3.2.6",
+ "@vue/ref-transform": "3.2.6",
+ "@vue/shared": "3.2.6",
"consolidate": "^0.16.0",
- "estree-walker": "^2.0.1",
+ "estree-walker": "^2.0.2",
"hash-sum": "^2.0.0",
"lru-cache": "^5.1.1",
"magic-string": "^0.25.7",
@@ -8393,13 +8190,13 @@
}
},
"@vue/compiler-ssr": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.2.tgz",
- "integrity": "sha512-rVl1agMFhdEN3Go0bCriXo+3cysxKIuRP0yh1Wd8ysRrKfAmokyDhUA8PrGSq2Ymj/LdZTh+4OKfj3p2+C+hlA==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.6.tgz",
+ "integrity": "sha512-A7IKRKHSyPnTC4w1FxHkjzoyjXInsXkcs/oX22nBQ+6AWlXj2Tt1le96CWPOXy5vYlsTYkF1IgfBaKIdeN/39g==",
"dev": true,
"requires": {
- "@vue/compiler-dom": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/compiler-dom": "3.2.6",
+ "@vue/shared": "3.2.6"
}
},
"@vue/devtools-api": {
@@ -8408,36 +8205,49 @@
"integrity": "sha512-quBx4Jjpexo6KDiNUGFr/zF/2A4srKM9S9v2uHgMXSU//hjgq1eGzqkIFql8T9gfX5ZaVOUzYBP3jIdIR3PKIA=="
},
"@vue/reactivity": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.2.tgz",
- "integrity": "sha512-IHjhtmrhK6dzacj/EnLQDWOaA3HuzzVk6w84qgV8EpS4uWGIJXiRalMRg6XvGW2ykJvIl3pLsF0aBFlTMRiLOA==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.6.tgz",
+ "integrity": "sha512-8vIDD2wpCnYisNNZjmcIj+Rixn0uhZNY3G1vzlgdVdLygeRSuFjkmnZk6WwvGzUWpKfnG0e/NUySM3mVi59hAA==",
+ "requires": {
+ "@vue/shared": "3.2.6"
+ }
+ },
+ "@vue/ref-transform": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/ref-transform/-/ref-transform-3.2.6.tgz",
+ "integrity": "sha512-ie39+Y4nbirDLvH+WEq6Eo/l3n3mFATayqR+kEMSphrtMW6Uh/eEMx1Gk2Jnf82zmj3VLRq7dnmPx72JLcBYkQ==",
+ "dev": true,
"requires": {
- "@vue/shared": "3.2.2"
+ "@babel/parser": "^7.15.0",
+ "@vue/compiler-core": "3.2.6",
+ "@vue/shared": "3.2.6",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.25.7"
}
},
"@vue/runtime-core": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.2.tgz",
- "integrity": "sha512-/aUk1+GO/VPX0oVxhbzSWE1zrf3/wGCsO1ALNisVokYftKqfqLDjbJHE6mrI2hx3MiuwbHrWjJClkGUVTIOPEQ==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.6.tgz",
+ "integrity": "sha512-3mqtgpj/YSGFxtvTufSERRApo92B16JNNxz9p+5eG6PPuqTmuRJz214MqhKBEgLEAIQ6R6YCbd83ZDtjQnyw2g==",
"requires": {
- "@vue/reactivity": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/reactivity": "3.2.6",
+ "@vue/shared": "3.2.6"
}
},
"@vue/runtime-dom": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.2.tgz",
- "integrity": "sha512-1Le/NpCfawCOfePfJezvWUF+oCVLU8N+IHN4oFDOxRe6/PgHNJ+yT+YdxFifBfI+TIAoXI/9PsnqzmJZV+xsmw==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.6.tgz",
+ "integrity": "sha512-fq33urnP0BNCGm2O3KCzkJlKIHI80C94HJ4qDZbjsTtxyOn5IHqwKSqXVN3RQvO6epcQH+sWS+JNwcNDPzoasg==",
"requires": {
- "@vue/runtime-core": "3.2.2",
- "@vue/shared": "3.2.2",
+ "@vue/runtime-core": "3.2.6",
+ "@vue/shared": "3.2.6",
"csstype": "^2.6.8"
}
},
"@vue/shared": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.2.tgz",
- "integrity": "sha512-dvYb318tk9uOzHtSaT3WII/HscQSIRzoCZ5GyxEb3JlkEXASpAUAQwKnvSe2CudnF8XHFRTB7VITWSnWNLZUtA=="
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.6.tgz",
+ "integrity": "sha512-uwX0Qs2e6kdF+WmxwuxJxOnKs/wEkMArtYpHSm7W+VY/23Tl8syMRyjnzEeXrNCAP0/8HZxEGkHJsjPEDNRuHw=="
},
"accepts": {
"version": "1.3.7",
@@ -8458,8 +8268,7 @@
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"ajv": {
"version": "6.12.6",
@@ -8480,17 +8289,18 @@
"dev": true
},
"ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true
},
"ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "color-convert": "^1.9.0"
+ "color-convert": "^2.0.1"
}
},
"anymatch": {
@@ -8574,6 +8384,15 @@
"postcss-value-parser": "^4.1.0"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -8596,12 +8415,33 @@
}
}
},
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -8779,8 +8619,7 @@
"bootstrap": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.0.tgz",
- "integrity": "sha512-bs74WNI9BgBo3cEovmdMHikSKoXnDgA6VQjJ7TyTotU6L7d41ZyCEEelPwkYEzsG/Zjv3ie9IE3EMAje0W9Xew==",
- "requires": {}
+ "integrity": "sha512-bs74WNI9BgBo3cEovmdMHikSKoXnDgA6VQjJ7TyTotU6L7d41ZyCEEelPwkYEzsG/Zjv3ie9IE3EMAje0W9Xew=="
},
"brace-expansion": {
"version": "1.1.11",
@@ -8801,16 +8640,16 @@
}
},
"browserslist": {
- "version": "4.16.6",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz",
- "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==",
+ "version": "4.16.8",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz",
+ "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30001219",
- "colorette": "^1.2.2",
- "electron-to-chromium": "^1.3.723",
+ "caniuse-lite": "^1.0.30001251",
+ "colorette": "^1.3.0",
+ "electron-to-chromium": "^1.3.811",
"escalade": "^3.1.1",
- "node-releases": "^1.1.71"
+ "node-releases": "^1.1.75"
}
},
"buffer": {
@@ -8856,60 +8695,19 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001248",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001248.tgz",
- "integrity": "sha512-NwlQbJkxUFJ8nMErnGtT0QTM2TJ33xgz4KXJSMIrjXIbDVdaYueGyjOrLKRtJC+rTiWfi6j5cnZN1NBiSBJGNw==",
+ "version": "1.0.30001252",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001252.tgz",
+ "integrity": "sha512-I56jhWDGMtdILQORdusxBOH+Nl/KgQSdDmpJezYddnAkVOmnoU8zwjTV9xAjMIYxr0iPreEAVylCGcmHCjfaOw==",
"dev": true
},
"chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
}
},
"character-entities": {
@@ -8931,15 +8729,14 @@
"dev": true
},
"chart.js": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.5.0.tgz",
- "integrity": "sha512-J1a4EAb1Gi/KbhwDRmoovHTRuqT8qdF0kZ4XgwxpGethJHUdDrkqyPYwke0a+BuvSeUxPf8Cos6AX2AB8H8GLA=="
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.5.1.tgz",
+ "integrity": "sha512-m5kzt72I1WQ9LILwQC4syla/LD/N413RYv2Dx2nnTkRS9iv/ey1xLTt0DnPc/eWV4zI+BgEgDYBIzbQhZHc/PQ=="
},
"chartjs-adapter-dayjs": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/chartjs-adapter-dayjs/-/chartjs-adapter-dayjs-1.0.0.tgz",
- "integrity": "sha512-EnbVqTJGFKLpg1TROLdCEufrzbmIa2oeLGx8O2Wdjw2EoMudoOo9+YFu+6CM0Z0hQ/v3yq/e/Y6efQMu22n8Jg==",
- "requires": {}
+ "integrity": "sha512-EnbVqTJGFKLpg1TROLdCEufrzbmIa2oeLGx8O2Wdjw2EoMudoOo9+YFu+6CM0Z0hQ/v3yq/e/Y6efQMu22n8Jg=="
},
"chokidar": {
"version": "3.5.2",
@@ -8977,24 +8774,24 @@
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
},
"color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "color-name": "1.1.3"
+ "color-name": "~1.1.4"
}
},
"color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"colorette": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
- "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz",
+ "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==",
"dev": true
},
"combined-stream": {
@@ -9077,9 +8874,9 @@
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"core-js": {
- "version": "3.16.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.1.tgz",
- "integrity": "sha512-AAkP8i35EbefU+JddyWi12AWE9f2N/qr/pwnDtWz4nyUIBGMJPX99ANFFRSw6FefM374lDujdtLDyhN2A/btHw==",
+ "version": "3.16.4",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.4.tgz",
+ "integrity": "sha512-Tq4GVE6XCjE+hcyW6hPy0ofN3hwtLudz5ZRdrlCnsnD/xkm/PWQRudzYHiKgZKUcefV6Q57fhDHjZHJP5dpfSg==",
"dev": true
},
"core-util-is": {
@@ -9097,9 +8894,9 @@
}
},
"cosmiconfig": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
- "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
+ "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
"dev": true,
"requires": {
"@types/parse-json": "^4.0.0",
@@ -9118,17 +8915,6 @@
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
"which": "^2.0.1"
- },
- "dependencies": {
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
}
},
"cssesc": {
@@ -9148,9 +8934,9 @@
"integrity": "sha512-AztC/IOW4L1Q41A86phW5Thhcrco3xuAA+YX/BLpLWWjRcTj5TOt/QImBLmCKlrF7u7k47arTnOyL6GnbG8Hvw=="
},
"debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
"requires": {
"ms": "2.1.2"
}
@@ -9310,9 +9096,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"electron-to-chromium": {
- "version": "1.3.789",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.789.tgz",
- "integrity": "sha512-lK4xn6C6ZF1kgLaC/EhOtC1MSKENExj3rMwGVnBTfHW81Z/Hb1Rge5YaWawN/YOXy3xCaESuE4KWSD50kOZ9rQ==",
+ "version": "1.3.824",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.824.tgz",
+ "integrity": "sha512-Fk+5aD0HDi9i9ZKt9n2VPOZO1dQy7PV++hz2wJ/KIn+CvVfu4fny39squHtyVDPuHNuoJGAZIbuReEklqYIqfA==",
"dev": true
},
"emoji-regex": {
@@ -9341,9 +9127,9 @@
}
},
"engine.io": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.1.1.tgz",
- "integrity": "sha512-aMWot7H5aC8L4/T8qMYbLdvKlZOdJTH54FxfdFunTGvhMx1BHkJOntWArsVfgAZVwAO9LC2sryPWRcEeUzCe5w==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.2.0.tgz",
+ "integrity": "sha512-d1DexkQx87IFr1FLuV+0f5kAm1Hk1uOVijLOb+D1sDO2QMb7YjE02VHtZtxo7xIXMgcWLb+vl3HRT0rI9tr4jQ==",
"requires": {
"accepts": "~1.3.4",
"base64id": "2.0.0",
@@ -9362,9 +9148,9 @@
}
},
"engine.io-client": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-5.1.2.tgz",
- "integrity": "sha512-blRrgXIE0A/eurWXRzvfCLG7uUFJqfTGFsyJzXSK71srMMGJ2VraBLg8Mdw28uUxSpVicepBN9X7asqpD1mZcQ==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-5.2.0.tgz",
+ "integrity": "sha512-BcIBXGBkT7wKecwnfrSV79G2X5lSUSgeAGgoo60plXf8UsQEvCQww/KMwXSMhVjb98fFYNq20CC5eo8IOAPqsg==",
"requires": {
"base64-arraybuffer": "0.1.4",
"component-emitter": "~1.3.0",
@@ -9374,13 +9160,14 @@
"parseqs": "0.0.6",
"parseuri": "0.0.6",
"ws": "~7.4.2",
+ "xmlhttprequest-ssl": "~2.0.0",
"yeast": "0.1.2"
}
},
"engine.io-parser": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz",
- "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.3.tgz",
+ "integrity": "sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==",
"requires": {
"base64-arraybuffer": "0.1.4"
}
@@ -9410,9 +9197,9 @@
}
},
"esbuild": {
- "version": "0.12.16",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.16.tgz",
- "integrity": "sha512-XqI9cXP2bmQ6MREIqrYBb13KfYFSERsV1+e5jSVWps8dNlLZK+hln7d0mznzDIpfISsg/AgQW0DW3kSInXWhrg==",
+ "version": "0.12.24",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.24.tgz",
+ "integrity": "sha512-C0ibY+HsXzYB6L/pLWEiWjMpghKsIc58Q5yumARwBQsHl9DXPakW+5NI/Y9w4YXiz0PEP6XTGTT/OV4Nnsmb4A==",
"dev": true
},
"escalade": {
@@ -9479,12 +9266,6 @@
"v8-compile-cache": "^2.0.3"
},
"dependencies": {
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -9503,21 +9284,6 @@
"lru-cache": "^6.0.0"
}
},
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- },
- "strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true
- },
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -9527,23 +9293,15 @@
}
},
"eslint-plugin-vue": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.16.0.tgz",
- "integrity": "sha512-0E2dVvVC7I2Xm1HXyx+ZwPj9CNX4NJjs4K4r+GVsHWyt5Pew3JLD4fI7A91b2jeL0TXE7LlszrwLSTJU9eqehw==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.17.0.tgz",
+ "integrity": "sha512-Rq5R2QetDCgC+kBFQw1+aJ5B93tQ4xqZvoCUxuIzwTonngNArsdP8ChM8PowIzsJvRtWl4ltGh/bZcN3xhFWSw==",
"dev": true,
"requires": {
"eslint-utils": "^2.1.0",
"natural-compare": "^1.4.0",
"semver": "^6.3.0",
"vue-eslint-parser": "^7.10.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
}
},
"eslint-scope": {
@@ -9762,18 +9520,6 @@
"glob-parent": "^5.1.2",
"merge2": "^1.3.0",
"micromatch": "^4.0.4"
- },
- "dependencies": {
- "micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "dev": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- }
- }
}
},
"fast-json-stable-stringify": {
@@ -9795,9 +9541,9 @@
"dev": true
},
"fastq": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz",
- "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==",
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz",
+ "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==",
"dev": true,
"requires": {
"reusify": "^1.0.4"
@@ -9873,29 +9619,18 @@
"requires": {
"flatted": "^3.1.0",
"rimraf": "^3.0.2"
- },
- "dependencies": {
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- }
}
},
"flatted": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz",
- "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz",
+ "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==",
"dev": true
},
"follow-redirects": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz",
- "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg=="
+ "version": "1.14.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz",
+ "integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA=="
},
"form-data": {
"version": "4.0.0",
@@ -9966,6 +9701,21 @@
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1",
"wide-align": "^1.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
}
},
"generic-names": {
@@ -10021,10 +9771,41 @@
"is-glob": "^4.0.1"
}
},
+ "global-modules": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
+ "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
+ "dev": true,
+ "requires": {
+ "global-prefix": "^3.0.0"
+ }
+ },
+ "global-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
+ "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+ "dev": true,
+ "requires": {
+ "ini": "^1.3.5",
+ "kind-of": "^6.0.2",
+ "which": "^1.3.1"
+ },
+ "dependencies": {
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
"globals": {
- "version": "13.10.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz",
- "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==",
+ "version": "13.11.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz",
+ "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==",
"dev": true,
"requires": {
"type-fest": "^0.20.2"
@@ -10087,9 +9868,9 @@
"integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk="
},
"has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"has-unicode": {
@@ -10175,9 +9956,9 @@
}
},
"http-graceful-shutdown": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/http-graceful-shutdown/-/http-graceful-shutdown-3.1.3.tgz",
- "integrity": "sha512-o8NmJM4fS3KO8y+pCY4nY88NSNxjob+TyhzW22U155tNIxPPkTD9N2LDIhib+LbYQtuNdtXbCVxuYaoNy78ENw==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/http-graceful-shutdown/-/http-graceful-shutdown-3.1.4.tgz",
+ "integrity": "sha512-d6E0hjPhHpKtxY+UuocogYuGUyuH+kOwzTYlAU+FGSTYoIUMyaIVKAn/Tmlqp82sE+Ls5ekOaqMiBlGhBsyT7g==",
"requires": {
"debug": "^4.3.1"
}
@@ -10200,8 +9981,7 @@
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
"integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"ieee754": {
"version": "1.2.1",
@@ -10302,10 +10082,16 @@
"binary-extensions": "^2.0.0"
}
},
+ "is-buffer": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+ "dev": true
+ },
"is-core-module": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
- "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz",
+ "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==",
"requires": {
"has": "^1.0.3"
}
@@ -10352,9 +10138,9 @@
"dev": true
},
"is-plain-obj": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
- "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
"dev": true
},
"is-regexp": {
@@ -10450,6 +10236,13 @@
"lodash.once": "^4.0.0",
"ms": "^2.1.1",
"semver": "^5.6.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ }
}
},
"jwa": {
@@ -10502,14 +10295,6 @@
"resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz",
"integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw=="
},
- "debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
- "requires": {
- "ms": "2.1.2"
- }
- },
"resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -10780,22 +10565,32 @@
"parse-entities": "^2.0.0"
}
},
+ "micromatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
+ "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.2.3"
+ }
+ },
"mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
},
"mime-db": {
- "version": "1.48.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
- "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ=="
+ "version": "1.49.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
+ "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA=="
},
"mime-types": {
- "version": "2.1.31",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
- "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
+ "version": "2.1.32",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
+ "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
"requires": {
- "mime-db": "1.48.0"
+ "mime-db": "1.49.0"
}
},
"mimic-response": {
@@ -10831,14 +10626,6 @@
"arrify": "^1.0.1",
"is-plain-obj": "^1.1.0",
"kind-of": "^6.0.3"
- },
- "dependencies": {
- "is-plain-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
- "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
- "dev": true
- }
}
},
"minipass": {
@@ -10888,10 +10675,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"nanoid": {
- "version": "3.1.23",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz",
- "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==",
- "dev": true
+ "version": "3.1.25",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
+ "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q=="
},
"napi-build-utils": {
"version": "1.0.2",
@@ -10915,12 +10701,19 @@
"integrity": "sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==",
"requires": {
"semver": "^5.4.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ }
}
},
"node-releases": {
- "version": "1.1.73",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
- "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==",
+ "version": "1.1.75",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz",
+ "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==",
"dev": true
},
"nodemailer": {
@@ -10929,13 +10722,13 @@
"integrity": "sha512-faZFufgTMrphYoDjvyVpbpJcYzwyFnbAMmQtj1lVBYAUSm3SOy2fIdd9+Mr4UxPosBa0JRw9bJoIwQn+nswiew=="
},
"normalize-package-data": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz",
- "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
"dev": true,
"requires": {
"hosted-git-info": "^4.0.1",
- "resolve": "^1.20.0",
+ "is-core-module": "^2.5.0",
"semver": "^7.3.4",
"validate-npm-package-license": "^3.0.1"
},
@@ -11198,6 +10991,15 @@
"postcss": "^7.0.14"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -11220,12 +11022,33 @@
}
}
},
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -11274,8 +11097,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
"integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-modules-local-by-default": {
"version": "4.0.0",
@@ -11321,6 +11143,15 @@
"postcss": "^7.0.26"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -11343,12 +11174,33 @@
}
}
},
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -11381,6 +11233,15 @@
"postcss": "^7.0.21"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -11403,12 +11264,33 @@
}
}
},
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -11440,6 +11322,15 @@
"postcss": "^7.0.6"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -11462,12 +11353,33 @@
}
}
},
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -11504,8 +11416,7 @@
"version": "0.36.2",
"resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz",
"integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-value-parser": {
"version": "4.1.0",
@@ -11647,6 +11558,13 @@
"ini": "~1.3.0",
"minimist": "^1.2.0",
"strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
+ }
}
},
"read-pkg": {
@@ -11679,6 +11597,12 @@
"validate-npm-package-license": "^3.0.1"
}
},
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
"type-fest": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
@@ -11751,9 +11675,9 @@
},
"dependencies": {
"@types/node": {
- "version": "14.17.11",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.11.tgz",
- "integrity": "sha512-n2OQ+0Bz6WEsUjrvcHD1xZ8K+Kgo4cn9/w94s1bJS690QMUWfJPW/m7CCb7gPkA1fcYwL2UpjXP/rq/Eo41m6w=="
+ "version": "14.17.12",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.12.tgz",
+ "integrity": "sha512-vhUqgjJR1qxwTWV5Ps5txuy2XMdf7Fw+OrdChRboy8BmWUPkckOhphaohzFG6b8DW7CrxaBMdrdJ47SYFq1okw=="
}
}
},
@@ -11841,10 +11765,19 @@
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
"dev": true
},
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
"rollup": {
- "version": "2.55.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.55.0.tgz",
- "integrity": "sha512-Atc3QqelKzrKwRkqnSdq0d2Mi8e0iGuL+kZebKMZ4ysyWHD5hw9VfVCAuODIW5837RENV8LXcbAEHurYf+ArvA==",
+ "version": "2.56.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.56.3.tgz",
+ "integrity": "sha512-Au92NuznFklgQCUcV96iXlxUbHuB1vQMaH76DHl5M11TotjOHwqk9CwcrT78+Tnv4FN9uTBxq6p4EJoYkpyekg==",
"dev": true,
"requires": {
"fsevents": "~2.3.2"
@@ -11870,18 +11803,19 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"sass": {
- "version": "1.37.5",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.37.5.tgz",
- "integrity": "sha512-Cx3ewxz9QB/ErnVIiWg2cH0kiYZ0FPvheDTVC6BsiEGBTZKKZJ1Gq5Kq6jy3PKtL6+EJ8NIoaBW/RSd2R6cZOA==",
+ "version": "1.38.2",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.38.2.tgz",
+ "integrity": "sha512-Bz1fG6qiyF0FX6m/I+VxtdVKz1Dfmg/e9kfDy2PhWOkq3T384q2KxwIfP0fXpeI+EyyETdOauH+cRHQDFASllA==",
"dev": true,
"requires": {
"chokidar": ">=3.0.0 <4.0.0"
}
},
"semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
},
"send": {
"version": "0.17.1",
@@ -11998,30 +11932,6 @@
"is-fullwidth-code-point": "^3.0.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
"is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
@@ -12031,36 +11941,36 @@
}
},
"socket.io": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.1.3.tgz",
- "integrity": "sha512-tLkaY13RcO4nIRh1K2hT5iuotfTaIQw7cVIe0FUykN3SuQi0cm7ALxuyT5/CtDswOMWUzMGTibxYNx/gU7In+Q==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.2.0.tgz",
+ "integrity": "sha512-sjlGfMmnaWvTRVxGRGWyhd9ctpg4APxWAxu85O/SxekkxHhfxmePWZbaYCkeX5QQX0z1YEnKOlNt6w82E4Nzug==",
"requires": {
- "@types/cookie": "^0.4.0",
- "@types/cors": "^2.8.10",
+ "@types/cookie": "^0.4.1",
+ "@types/cors": "^2.8.12",
"@types/node": ">=10.0.0",
"accepts": "~1.3.4",
"base64id": "~2.0.0",
- "debug": "~4.3.1",
- "engine.io": "~5.1.1",
- "socket.io-adapter": "~2.3.1",
+ "debug": "~4.3.2",
+ "engine.io": "~5.2.0",
+ "socket.io-adapter": "~2.3.2",
"socket.io-parser": "~4.0.4"
}
},
"socket.io-adapter": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.1.tgz",
- "integrity": "sha512-8cVkRxI8Nt2wadkY6u60Y4rpW3ejA1rxgcK2JuyIhmF+RMNpTy1QRtkHIDUOf3B4HlQwakMsWbKftMv/71VMmw=="
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.2.tgz",
+ "integrity": "sha512-PBZpxUPYjmoogY0aoaTmo1643JelsaS1CiAwNjRVdrI0X9Seuc19Y2Wife8k88avW6haG8cznvwbubAZwH4Mtg=="
},
"socket.io-client": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.1.3.tgz",
- "integrity": "sha512-hISFn6PDpgDifVUiNklLHVPTMv1LAk8poHArfIUdXa+gKgbr0MZbAlquDFqCqsF30yBqa+jg42wgos2FK50BHA==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.2.0.tgz",
+ "integrity": "sha512-3GJ2KMh7inJUNAOjgf8NaKJZJa9uRyfryh2LrVJyKyxmzoXlfW9DeDNqylJn0ovOFt4e/kRLNWzMt/YqqEWYSA==",
"requires": {
"@types/component-emitter": "^1.2.10",
"backo2": "~1.0.2",
"component-emitter": "~1.3.0",
- "debug": "~4.3.1",
- "engine.io-client": "~5.1.2",
+ "debug": "~4.3.2",
+ "engine.io-client": "~5.2.0",
"parseuri": "0.0.6",
"socket.io-parser": "~4.0.4"
}
@@ -12119,9 +12029,9 @@
}
},
"spdx-license-ids": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz",
- "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==",
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz",
+ "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==",
"dev": true
},
"specificity": {
@@ -12163,14 +12073,30 @@
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
"strip-ansi": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
}
},
"strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "ansi-regex": "^5.0.0"
}
},
"strip-indent": {
@@ -12183,9 +12109,10 @@
}
},
"strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true
},
"style-search": {
"version": "0.1.0",
@@ -12249,11 +12176,14 @@
"write-file-atomic": "^3.0.3"
},
"dependencies": {
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
},
"balanced-match": {
"version": "2.0.0",
@@ -12261,31 +12191,32 @@
"integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
"dev": true
},
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
- "global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
- "dev": true,
- "requires": {
- "global-prefix": "^3.0.0"
- }
- },
- "global-prefix": {
+ "has-flag": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
- "dev": true,
- "requires": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
- }
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
},
"ignore": {
"version": "5.1.8",
@@ -12299,16 +12230,6 @@
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
- "micromatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
- "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
- "dev": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.2.3"
- }
- },
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -12361,15 +12282,6 @@
"strip-ansi": "^6.0.0"
}
},
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -12385,8 +12297,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-5.0.0.tgz",
"integrity": "sha512-c8aubuARSu5A3vEHLBeOSJt1udOdS+1iue7BmJDTSXoCBmfEQmmWX+59vYIj3NQdJBY6a/QRv1ozVFpaB9jaqA==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"stylelint-config-standard": {
"version": "22.0.0",
@@ -12406,6 +12317,15 @@
"postcss": "^7.0.2"
},
"dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -12428,12 +12348,33 @@
}
}
},
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
"postcss": {
"version": "7.0.36",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
@@ -12457,12 +12398,12 @@
}
},
"supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "has-flag": "^4.0.0"
}
},
"svg-tags": {
@@ -12472,9 +12413,9 @@
"dev": true
},
"systemjs": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.10.2.tgz",
- "integrity": "sha512-PwaC0Z6Y1E6gFekY2u38EC5+5w2M65jYVrD1aAcOptpHVhCwPIwPFJvYJyryQKUyeuQ5bKKI3PBHWNjdE9aizg==",
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.10.3.tgz",
+ "integrity": "sha512-mXwfLJdaADqWg1J5+Z0bGQEdcXSe+ePPTfzffMB29aVls5cXveRl0vneSV/19t3SfuUBsAraLP8W/g5u9cmYXA==",
"dev": true
},
"table": {
@@ -12503,12 +12444,6 @@
"uri-js": "^4.2.2"
}
},
- "ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true
- },
"is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
@@ -12531,22 +12466,13 @@
"is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.0"
}
- },
- "strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
}
}
},
"tar": {
- "version": "6.1.6",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.6.tgz",
- "integrity": "sha512-oaWyu5dQbHaYcyZCTfyPpC+VmI62/OM2RTUYavTk1MDr1cwW5Boi3baeYQKiZbY2uSQJGr+iMOzb/JFxLrft+g==",
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
"requires": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
@@ -12707,9 +12633,9 @@
}
},
"typescript": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz",
- "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==",
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz",
+ "integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==",
"dev": true
},
"unified": {
@@ -12726,10 +12652,10 @@
"vfile": "^4.0.0"
},
"dependencies": {
- "is-buffer": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
- "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+ "is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
"dev": true
}
}
@@ -12823,14 +12749,6 @@
"is-buffer": "^2.0.0",
"unist-util-stringify-position": "^2.0.0",
"vfile-message": "^2.0.0"
- },
- "dependencies": {
- "is-buffer": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
- "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
- "dev": true
- }
}
},
"vfile-message": {
@@ -12844,39 +12762,26 @@
}
},
"vite": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/vite/-/vite-2.4.4.tgz",
- "integrity": "sha512-m1wK6pFJKmaYA6AeZIUXyiAgUAAJzVXhIMYCdZUpCaFMGps0v0IlNJtbmPvkUhVEyautalajmnW5X6NboUPsnw==",
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-2.5.2.tgz",
+ "integrity": "sha512-JK5uhiVyMqHiAJbgBa8rCvpP8bEhAE9dKDv1gCmP+EUP2FSPmEeW3WXlCXauPB3MDa8behPW+ntyNXqnGaxslg==",
"dev": true,
"requires": {
- "esbuild": "^0.12.8",
+ "esbuild": "^0.12.17",
"fsevents": "~2.3.2",
"postcss": "^8.3.6",
"resolve": "^1.20.0",
"rollup": "^2.38.5"
- },
- "dependencies": {
- "postcss": {
- "version": "8.3.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz",
- "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==",
- "dev": true,
- "requires": {
- "colorette": "^1.2.2",
- "nanoid": "^3.1.23",
- "source-map-js": "^0.6.2"
- }
- }
}
},
"vue": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.2.tgz",
- "integrity": "sha512-D/LuzAV30CgNJYGyNheE/VUs5N4toL2IgmS6c9qeOxvyh0xyn4exyRqizpXIrsvfx34zG9x5gCI2tdRHCGvF9w==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.6.tgz",
+ "integrity": "sha512-Zlb3LMemQS3Xxa6xPsecu45bNjr1hxO8Bh5FUmE0Dr6Ot0znZBKiM47rK6O7FTcakxOnvVN+NTXWJF6u8ajpCQ==",
"requires": {
- "@vue/compiler-dom": "3.2.2",
- "@vue/runtime-dom": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/compiler-dom": "3.2.6",
+ "@vue/runtime-dom": "3.2.6",
+ "@vue/shared": "3.2.6"
}
},
"vue-chart-3": {
@@ -12890,75 +12795,17 @@
"lodash": "latest",
"nanoid": "latest",
"vue-demi": "^0.10.1"
- },
- "dependencies": {
- "@vue/reactivity": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.4.tgz",
- "integrity": "sha512-ljWTR0hr8Tn09hM2tlmWxZzCBPlgGLnq/k8K8X6EcJhtV+C8OzFySnbWqMWataojbrQOocThwsC8awKthSl2uQ==",
- "requires": {
- "@vue/shared": "3.2.4"
- }
- },
- "@vue/runtime-core": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.4.tgz",
- "integrity": "sha512-W6PtEOs8P8jKYPo3JwaMAozZQivxInUleGfNwI2pK1t8ZLZIxn4kAf7p4VF4jJdQB8SZBzpfWdLUc06j7IOmpQ==",
- "requires": {
- "@vue/reactivity": "3.2.4",
- "@vue/shared": "3.2.4"
- }
- },
- "@vue/runtime-dom": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.4.tgz",
- "integrity": "sha512-HcVtLyn2SGwsf6BFPwkvDPDOhOqkOKcfHDpBp5R1coX+qMsOFrY8lJnGXIY+JnxqFjND00E9+u+lq5cs/W7ooA==",
- "requires": {
- "@vue/runtime-core": "3.2.4",
- "@vue/shared": "3.2.4",
- "csstype": "^2.6.8"
- },
- "dependencies": {
- "csstype": {
- "version": "2.6.17",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz",
- "integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A=="
- }
- }
- },
- "@vue/shared": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.4.tgz",
- "integrity": "sha512-j2j1MRmjalVKr3YBTxl/BClSIc8UQ8NnPpLYclxerK65JIowI4O7n8O8lElveEtEoHxy1d7BelPUDI0Q4bumqg=="
- },
- "csstype": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz",
- "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw=="
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- },
- "nanoid": {
- "version": "3.1.25",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
- "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q=="
- }
}
},
"vue-confirm-dialog": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/vue-confirm-dialog/-/vue-confirm-dialog-1.0.2.tgz",
- "integrity": "sha512-gTo1bMDWOLd/6ihmWv8VlPxhc9QaKoE5YqlsKydUOfrrQ3Q3taljF6yI+1TMtAtJLrvZ8DYrePhgBhY1VCJzbQ==",
- "requires": {}
+ "integrity": "sha512-gTo1bMDWOLd/6ihmWv8VlPxhc9QaKoE5YqlsKydUOfrrQ3Q3taljF6yI+1TMtAtJLrvZ8DYrePhgBhY1VCJzbQ=="
},
"vue-demi": {
"version": "0.10.1",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.10.1.tgz",
- "integrity": "sha512-L6Oi+BvmMv6YXvqv5rJNCFHEKSVu7llpWWJczqmAQYOdmPPw5PNYoz1KKS//Fxhi+4QP64dsPjtmvnYGo1jemA==",
- "requires": {}
+ "integrity": "sha512-L6Oi+BvmMv6YXvqv5rJNCFHEKSVu7llpWWJczqmAQYOdmPPw5PNYoz1KKS//Fxhi+4QP64dsPjtmvnYGo1jemA=="
},
"vue-eslint-parser": {
"version": "7.10.0",
@@ -12991,12 +12838,6 @@
"acorn-jsx": "^5.2.0",
"eslint-visitor-keys": "^1.1.0"
}
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
}
}
},
@@ -13027,13 +12868,12 @@
"vue-toastification": {
"version": "2.0.0-rc.1",
"resolved": "https://registry.npmjs.org/vue-toastification/-/vue-toastification-2.0.0-rc.1.tgz",
- "integrity": "sha512-hjauv/FyesNZdwcr5m1SCyvu1JmlB+Ts5bTptDLDmsYYlj6Oqv8NYakiElpCF+Abwkn9J/AChh6FwkTL1HOb7Q==",
- "requires": {}
+ "integrity": "sha512-hjauv/FyesNZdwcr5m1SCyvu1JmlB+Ts5bTptDLDmsYYlj6Oqv8NYakiElpCF+Abwkn9J/AChh6FwkTL1HOb7Q=="
},
"which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
@@ -13073,8 +12913,12 @@
"ws": {
"version": "7.4.6",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
- "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
- "requires": {}
+ "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A=="
+ },
+ "xmlhttprequest-ssl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
+ "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A=="
},
"yallist": {
"version": "3.1.1",
diff --git a/package.json b/package.json
index 11f8847..9612058 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,7 @@
"build-docker": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.3.2 --target release . --push",
"build-docker-nightly": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
"build-docker-nightly-amd64": "docker buildx build --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
- "setup": "git checkout 1.3.2 && npm install && npm run build && npm prune",
+ "setup": "git checkout 1.3.2 && npm install --legacy-peer-deps && npm run build && npm prune",
"update-version": "node extra/update-version.js",
"mark-as-nightly": "node extra/mark-as-nightly.js",
"reset-password": "node extra/reset-password.js",
@@ -46,7 +46,7 @@
"axios": "^0.21.1",
"bcryptjs": "^2.4.3",
"bootstrap": "^5.1.0",
- "chart.js": "^3.5.0",
+ "chart.js": "^3.5.1",
"chartjs-adapter-dayjs": "^1.0.0",
"command-exists": "^1.2.9",
"compare-versions": "^3.6.0",
From a41534ca6059e00c39dc72e873ad16034a7d5410 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Tue, 31 Aug 2021 22:08:05 +0800
Subject: [PATCH 055/162] no declare vars with comma, one line only one
statement
---
.eslintrc.js | 4 +++-
server/ping-lite.js | 27 ++++++++++++++-------------
2 files changed, 17 insertions(+), 14 deletions(-)
diff --git a/.eslintrc.js b/.eslintrc.js
index fde74f6..fe63d4a 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -77,6 +77,8 @@ module.exports = {
"no-empty": ["error", {
"allowEmptyCatch": true
}],
- "no-control-regex": "off"
+ "no-control-regex": "off",
+ "one-var": ["error", "never"],
+ "max-statements-per-line": ["error", { "max": 1 }]
},
}
diff --git a/server/ping-lite.js b/server/ping-lite.js
index 42a704e..ec2cd83 100644
--- a/server/ping-lite.js
+++ b/server/ping-lite.js
@@ -1,14 +1,13 @@
// https://github.com/ben-bradley/ping-lite/blob/master/ping-lite.js
// Fixed on Windows
const net = require("net");
-const spawn = require("child_process").spawn,
- events = require("events"),
- fs = require("fs"),
- WIN = /^win/.test(process.platform),
- LIN = /^linux/.test(process.platform),
- MAC = /^darwin/.test(process.platform);
- FBSD = /^freebsd/.test(process.platform);
-const { debug } = require("../src/util");
+const spawn = require("child_process").spawn;
+const events = require("events");
+const fs = require("fs");
+const WIN = /^win/.test(process.platform);
+const LIN = /^linux/.test(process.platform);
+const MAC = /^darwin/.test(process.platform);
+const FBSD = /^freebsd/.test(process.platform);
module.exports = Ping;
@@ -49,7 +48,7 @@ function Ping(host, options) {
this._args = (options.args) ? options.args : [ "-n", "-t", "2", "-c", "1", host ];
this._regmatch = /=([0-9.]+?) ms/;
-
+
} else if (FBSD) {
this._bin = "/sbin/ping";
@@ -88,7 +87,9 @@ Ping.prototype.send = function (callback) {
return self.emit("result", ms);
};
- let _ended, _exited, _errored;
+ let _ended;
+ let _exited;
+ let _errored;
this._ping = spawn(this._bin, this._args); // spawn the binary
@@ -120,9 +121,9 @@ Ping.prototype.send = function (callback) {
});
function onEnd() {
- let stdout = this.stdout._stdout,
- stderr = this.stderr._stderr,
- ms;
+ let stdout = this.stdout._stdout;
+ let stderr = this.stderr._stderr;
+ let ms;
if (stderr) {
return callback(new Error(stderr));
From 527e0c34447726c74e89284fd4278dabc258e902 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Tue, 31 Aug 2021 22:14:33 +0800
Subject: [PATCH 056/162] raise the ping timeout from 2s to 10s (avoid #294)
---
server/ping-lite.js | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/server/ping-lite.js b/server/ping-lite.js
index ec2cd83..0af0e97 100644
--- a/server/ping-lite.js
+++ b/server/ping-lite.js
@@ -21,15 +21,17 @@ function Ping(host, options) {
events.EventEmitter.call(this);
+ const timeout = 10;
+
if (WIN) {
this._bin = "c:/windows/system32/ping.exe";
- this._args = (options.args) ? options.args : [ "-n", "1", "-w", "5000", host ];
+ this._args = (options.args) ? options.args : [ "-n", "1", "-w", timeout * 1000, host ];
this._regmatch = /[><=]([0-9.]+?)ms/;
} else if (LIN) {
this._bin = "/bin/ping";
- const defaultArgs = [ "-n", "-w", "2", "-c", "1", host ];
+ const defaultArgs = [ "-n", "-w", timeout, "-c", "1", host ];
if (net.isIPv6(host) || options.ipv6) {
defaultArgs.unshift("-6");
@@ -46,13 +48,13 @@ function Ping(host, options) {
this._bin = "/sbin/ping";
}
- this._args = (options.args) ? options.args : [ "-n", "-t", "2", "-c", "1", host ];
+ this._args = (options.args) ? options.args : [ "-n", "-t", timeout, "-c", "1", host ];
this._regmatch = /=([0-9.]+?) ms/;
} else if (FBSD) {
this._bin = "/sbin/ping";
- const defaultArgs = [ "-n", "-t", "2", "-c", "1", host ];
+ const defaultArgs = [ "-n", "-t", timeout, "-c", "1", host ];
if (net.isIPv6(host) || options.ipv6) {
defaultArgs.unshift("-6");
From 697fa6bdfdb9e6df118b3ea53804475e11fae5be Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Tue, 31 Aug 2021 22:15:02 +0800
Subject: [PATCH 057/162] fix discord notification appended port unexpectedly
---
server/notification.js | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/server/notification.js b/server/notification.js
index 8cc79d8..472012a 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -96,9 +96,16 @@ class Notification {
return okMsg;
}
- let url = monitorJSON["url"] === "https://" ? monitorJSON["hostname"] : monitorJSON["url"]
- if (monitorJSON["port"]) {
- url += ":" + monitorJSON[port];
+ let url;
+
+ if (monitorJSON["type"] === "port") {
+ url = monitorJSON["hostname"];
+ if (monitorJSON["port"]) {
+ url += ":" + monitorJSON["port"];
+ }
+
+ } else {
+ url = monitorJSON["url"];
}
// If heartbeatJSON is not null, we go into the normal alerting loop.
@@ -331,7 +338,7 @@ class Notification {
await axios.post(notification.mattermostWebhookUrl, mattermostTestData)
return okMsg;
}
-
+
const mattermostChannel = notification.mattermostchannel;
const mattermostIconEmoji = notification.mattermosticonemo;
const mattermostIconUrl = notification.mattermosticonurl;
From 3e7bb355fd623b74a5aa53bb3adacba7c48067a9 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Tue, 31 Aug 2021 23:10:12 +0800
Subject: [PATCH 058/162] update to 1.5.0
---
package.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/package.json b/package.json
index 9612058..aa106c8 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "uptime-kuma",
- "version": "1.3.2",
+ "version": "1.5.0",
"license": "MIT",
"repository": {
"type": "git",
@@ -20,10 +20,10 @@
"update": "",
"build": "vite build",
"vite-preview-dist": "vite preview --host",
- "build-docker": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.3.2 --target release . --push",
+ "build-docker": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.5.0 --target release . --push",
"build-docker-nightly": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
"build-docker-nightly-amd64": "docker buildx build --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
- "setup": "git checkout 1.3.2 && npm install --legacy-peer-deps && npm run build && npm prune",
+ "setup": "git checkout 1.5.0 && npm install --legacy-peer-deps && npm run build && npm prune",
"update-version": "node extra/update-version.js",
"mark-as-nightly": "node extra/mark-as-nightly.js",
"reset-password": "node extra/reset-password.js",
From 7b92166d18e0759d3cc805c9cd96ef39fbdcee61 Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Wed, 1 Sep 2021 00:36:24 +0200
Subject: [PATCH 059/162] Added clear all db statistics function
---
server/server.js | 22 ++++++++++++++++++++--
src/languages/de-DE.js | 5 +++--
src/languages/en.js | 5 +++--
src/mixins/socket.js | 4 ++++
src/pages/Details.vue | 2 --
src/pages/Settings.vue | 18 ++++++++++++++++++
6 files changed, 48 insertions(+), 8 deletions(-)
diff --git a/server/server.js b/server/server.js
index 3530981..6c49b8c 100644
--- a/server/server.js
+++ b/server/server.js
@@ -566,7 +566,6 @@ let indexHTML = fs.readFileSync("./dist/index.html").toString();
callback({
ok: true,
- msg: "Events Successfully Cleared.",
});
} catch (e) {
@@ -589,7 +588,26 @@ let indexHTML = fs.readFileSync("./dist/index.html").toString();
callback({
ok: true,
- msg: "Heartbeats Successfully Cleared.",
+ });
+
+ } catch (e) {
+ callback({
+ ok: false,
+ msg: e.message,
+ });
+ }
+ });
+
+ socket.on("clearStatistics", async (callback) => {
+ try {
+ checkLogin(socket)
+
+ console.log(`Clear Statistics User ID: ${socket.userID}`)
+
+ await R.exec("DELETE FROM heartbeat");
+
+ callback({
+ ok: true,
});
} catch (e) {
diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js
index 58d283a..182f9e1 100644
--- a/src/languages/de-DE.js
+++ b/src/languages/de-DE.js
@@ -104,9 +104,10 @@ export default {
rrtypeDescription: "Wähle den RR-Typ aus, welchen du überwachen möchtest.",
"Last Result": "Letztes Ergebnis",
pauseMonitorMsg: "Bist du sicher das du den Monitor pausieren möchtest?",
- clearEventsMsg: "Bist du sicher das du alle Ereignisse löschen möchtest?",
- clearHeartbeatsMsg: "Bist du sicher das du alle Statistiken löschen möchtest?",
+ clearEventsMsg: "Bist du sicher das du alle Ereignisse für diesen Monitor löschen möchtest?",
+ clearHeartbeatsMsg: "Bist du sicher das du alle Statistiken für diesen Monitor löschen möchtest?",
"Clear Data": "Lösche Daten",
"Events": "Ereignisse",
"Heartbeats": "Statistiken",
+ confirmClearStatisticsMsg: "Bist du sicher das du ALLE Statistiken löschen möchtest?",
}
diff --git a/src/languages/en.js b/src/languages/en.js
index 0729e2e..f724180 100644
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -16,6 +16,7 @@ export default {
resoverserverDescription: "Cloudflare is the default server, you can change the resolver server anytime.",
rrtypeDescription: "Select the RR-Type you want to monitor",
pauseMonitorMsg: "Are you sure want to pause?",
- clearEventsMsg: "Are you sure want to delete all events?",
- clearHeartbeatsMsg: "Are you sure want to delete all heartbeats?",
+ clearEventsMsg: "Are you sure want to delete all events for this monitor?",
+ clearHeartbeatsMsg: "Are you sure want to delete all heartbeats for this monitor?",
+ confirmClearStatisticsMsg: "Are you sure want to delete ALL statistics?",
}
diff --git a/src/mixins/socket.js b/src/mixins/socket.js
index 6f6f033..64560ea 100644
--- a/src/mixins/socket.js
+++ b/src/mixins/socket.js
@@ -261,6 +261,10 @@ export default {
clearHeartbeats(monitorID, callback) {
socket.emit("clearHeartbeats", monitorID, callback)
},
+
+ clearStatistics(callback) {
+ socket.emit("clearStatistics", callback)
+ },
},
computed: {
diff --git a/src/pages/Details.vue b/src/pages/Details.vue
index 5c05b3d..907e2d1 100644
--- a/src/pages/Details.vue
+++ b/src/pages/Details.vue
@@ -360,7 +360,6 @@ export default {
clearEvents() {
this.$root.clearEvents(this.monitor.id, (res) => {
if (res.ok) {
- toast.success(res.msg);
this.$router.go();
} else {
toast.error(res.msg);
@@ -371,7 +370,6 @@ export default {
clearHeartbeats() {
this.$root.clearHeartbeats(this.monitor.id, (res) => {
if (res.ok) {
- toast.success(res.msg);
this.$router.go();
} else {
toast.error(res.msg);
diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue
index d71ec10..da56613 100644
--- a/src/pages/Settings.vue
+++ b/src/pages/Settings.vue
@@ -126,6 +126,7 @@
{{ $t("Enable Auth") }}
{{ $t("Disable Auth") }}
{{ $t("Logout") }}
+ {{ $t("Clear all Statistics") }}
@@ -184,6 +185,10 @@
Bitte mit Vorsicht nutzen.
+
+
+ {{ $t("confirmClearStatisticsMsg") }}
+
@@ -282,6 +287,10 @@ export default {
this.$refs.confirmDisableAuth.show();
},
+ confirmClearStatistics() {
+ this.$refs.confirmClearStatistics.show();
+ },
+
disableAuth() {
this.settings.disableAuth = true;
this.saveSettings();
@@ -293,6 +302,15 @@ export default {
this.$root.storage().removeItem("token");
},
+ clearStatistics() {
+ this.$root.clearStatistics((res) => {
+ if (res.ok) {
+ this.$router.go();
+ } else {
+ toast.error(res.msg);
+ }
+ })
+ },
},
}
From 25db162721ad31cd137951e4c6716cbb2072185a Mon Sep 17 00:00:00 2001
From: kometchtech <5137077+kometchtech@users.noreply.github.com>
Date: Wed, 1 Sep 2021 13:23:44 +0900
Subject: [PATCH 060/162] Create ja.js
* Created a Japanese language file.
---
src/languages/ja.js | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
create mode 100644 src/languages/ja.js
diff --git a/src/languages/ja.js b/src/languages/ja.js
new file mode 100644
index 0000000..da688af
--- /dev/null
+++ b/src/languages/ja.js
@@ -0,0 +1,19 @@
+export default {
+ languageName: "Japanese",
+ checkEverySecond: "{0}秒ごとにチェックします。",
+ "Avg.": "平均 ",
+ retriesDescription: "サービスがダウンとしてマークされ、通知が送信されるまでの最大リトライ数",
+ ignoreTLSError: "HTTPS ウェブサイトの TLS/SSL エラーを無視する",
+ upsideDownModeDescription: "ステータスの扱いを逆にします。サービスに到達可能な場合は、DOWNとなる。",
+ maxRedirectDescription: "フォローするリダイレクトの最大数。リダイレクトを無効にするには0を設定する。",
+ acceptedStatusCodesDescription: "成功した応答とみなされるステータスコードを選択する。",
+ passwordNotMatchMsg: "繰り返しのパスワードが一致しません。",
+ notificationDescription: "監視を機能させるには、監視に通知を割り当ててください。",
+ keywordDescription: "プレーンHTMLまたはJSON応答でキーワードを検索し、大文字と小文字を区別します",
+ pauseDashboardHome: "一時停止",
+ deleteMonitorMsg: "この監視を削除してよろしいですか?",
+ deleteNotificationMsg: "全ての監視のこの通知を削除してよろしいですか?",
+ resoverserverDescription: "Cloudflareがデフォルトのサーバーですが、いつでもリゾルバサーバーを変更できます。",
+ rrtypeDescription: "監視するRRタイプを選択します",
+ pauseMonitorMsg: "一時停止しますか?",
+}
From cd1a3a2fb96920e54884dcc26fa87deddeb0682e Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Wed, 1 Sep 2021 14:33:00 +0800
Subject: [PATCH 061/162] revert back to node-sqlite3, as better-sqlite3 causes
a lot of installation problems
---
dockerfile | 7 +
package-lock.json | 1576 +++++++++++++++++++++++++++-----------------
package.json | 6 +-
server/database.js | 3 -
4 files changed, 988 insertions(+), 604 deletions(-)
diff --git a/dockerfile b/dockerfile
index e08a023..8674b99 100644
--- a/dockerfile
+++ b/dockerfile
@@ -2,6 +2,13 @@
FROM node:14-alpine3.12 AS release
WORKDIR /app
+# split the sqlite install here, so that it can caches the arm prebuilt
+RUN apk add --no-cache --virtual .build-deps make g++ python3 python3-dev git && \
+ ln -s /usr/bin/python3 /usr/bin/python && \
+ npm install mapbox/node-sqlite3#593c9d && \
+ apk del .build-deps && \
+ rm -f /usr/bin/python
+
# Install apprise
RUN apk add --no-cache python3 py3-cryptography py3-pip py3-six py3-yaml py3-click py3-markdown py3-requests py3-requests-oauthlib
RUN pip3 --no-cache-dir install apprise && \
diff --git a/package-lock.json b/package-lock.json
index b9ca8fa..25be147 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,19 +1,18 @@
{
"name": "uptime-kuma",
- "version": "1.3.2",
+ "version": "1.5.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "uptime-kuma",
- "version": "1.3.2",
+ "version": "1.5.0",
"license": "MIT",
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.36",
"@fortawesome/free-regular-svg-icons": "^5.15.4",
"@fortawesome/free-solid-svg-icons": "^5.15.4",
"@fortawesome/vue-fontawesome": "^3.0.0-4",
- "@louislam/better-sqlite3-with-prebuilds": "^7.4.3",
"@popperjs/core": "^2.9.3",
"args-parser": "^1.3.0",
"axios": "^0.21.1",
@@ -36,6 +35,7 @@
"redbean-node": "0.1.2",
"socket.io": "^4.1.3",
"socket.io-client": "^4.1.3",
+ "sqlite3": "github:mapbox/node-sqlite3#593c9d",
"tcp-ping": "^0.1.1",
"v-pagination-3": "^0.1.6",
"vue": "^3.2.2",
@@ -732,18 +732,55 @@
"node": ">= 10"
}
},
- "node_modules/@louislam/better-sqlite3-with-prebuilds": {
- "version": "7.4.3",
- "resolved": "https://registry.npmjs.org/@louislam/better-sqlite3-with-prebuilds/-/better-sqlite3-with-prebuilds-7.4.3.tgz",
- "integrity": "sha512-v9FFkq47dOtrWBuChce4jPQ+gHzCL7NYkWhk5Z7OvbUmcJ+/v4O6NwI4hA4Ei0XLceVYnAhGK/Vr6Zd8nTnyAw==",
- "hasInstallScript": true,
+ "node_modules/@mapbox/node-pre-gyp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz",
+ "integrity": "sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==",
"dependencies": {
- "@types/integer": "latest",
- "bindings": "^1.5.0",
- "prebuild-install": "^6.0.1",
+ "detect-libc": "^1.0.3",
+ "https-proxy-agent": "^5.0.0",
+ "make-dir": "^3.1.0",
+ "node-fetch": "^2.6.1",
+ "nopt": "^5.0.0",
+ "npmlog": "^4.1.2",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.4",
"tar": "^6.1.0"
+ },
+ "bin": {
+ "node-pre-gyp": "bin/node-pre-gyp"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
+ "node_modules/@mapbox/node-pre-gyp/node_modules/semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -918,11 +955,6 @@
"resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.8.1.tgz",
"integrity": "sha512-e+2rjEwK6KDaNOm5Aa9wNGgyS9oSZU/4pfSMMPYNOfjvFI0WVXm29+ITRFr6aKDvvKo7uU1jV68MW4ScsfDi7Q=="
},
- "node_modules/@types/integer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@types/integer/-/integer-4.0.1.tgz",
- "integrity": "sha512-QQojPymFcV1hrvWXA1h0pP9RmFBFNuWikZcUEjjVsS19IyKO+jqOX24lp2ZHF4A21EmkosJhJDX7CLG67F2s7A=="
- },
"node_modules/@types/jquery": {
"version": "3.5.6",
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.6.tgz",
@@ -1166,6 +1198,11 @@
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.6.tgz",
"integrity": "sha512-uwX0Qs2e6kdF+WmxwuxJxOnKs/wEkMArtYpHSm7W+VY/23Tl8syMRyjnzEeXrNCAP0/8HZxEGkHJsjPEDNRuHw=="
},
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
"node_modules/accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
@@ -1199,11 +1236,22 @@
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -1312,6 +1360,24 @@
"node": ">=0.10.0"
}
},
+ "node_modules/asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "optional": true,
+ "dependencies": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "node_modules/assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "optional": true,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
"node_modules/astral-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
@@ -1454,6 +1520,21 @@
"resolved": "https://registry.npmjs.org/await-lock/-/await-lock-2.1.0.tgz",
"integrity": "sha512-t7Zm5YGgEEc/3eYAicF32m/TNvL+XOeYZy9CvBUeJY/szM7frLolFylhrlZNWV/ohWhcUXygrBGjYmoQdxF4CQ=="
},
+ "node_modules/aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "optional": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/aws4": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
+ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
+ "optional": true
+ },
"node_modules/axios": {
"version": "0.21.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
@@ -1495,25 +1576,6 @@
"node": ">= 0.6.0"
}
},
- "node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "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/base64id": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
@@ -1533,6 +1595,15 @@
"node": ">= 0.8"
}
},
+ "node_modules/bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "optional": true,
+ "dependencies": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
"node_modules/bcryptjs": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
@@ -1556,47 +1627,11 @@
"node": ">=8"
}
},
- "node_modules/bindings": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
- "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
- "dependencies": {
- "file-uri-to-path": "1.0.0"
- }
- },
"node_modules/bintrees": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz",
"integrity": "sha1-DmVcm5wkNeqraL9AJyJtK1WjRSQ="
},
- "node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "node_modules/bl/node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "node_modules/bl/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/bluebird": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
@@ -1692,29 +1727,6 @@
"url": "https://opencollective.com/browserslist"
}
},
- "node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "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": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
"node_modules/buffer-equal-constant-time": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
@@ -1773,6 +1785,12 @@
"url": "https://opencollective.com/browserslist"
}
},
+ "node_modules/caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "optional": true
+ },
"node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -2078,6 +2096,18 @@
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz",
"integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A=="
},
+ "node_modules/dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "optional": true,
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
"node_modules/dayjs": {
"version": "1.10.6",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.6.tgz",
@@ -2130,25 +2160,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/decompress-response": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
- "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
- "dependencies": {
- "mimic-response": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "engines": {
- "node": ">=4.0.0"
- }
- },
"node_modules/deep-is": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
@@ -2278,6 +2289,16 @@
"domelementtype": "1"
}
},
+ "node_modules/ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "optional": true,
+ "dependencies": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
"node_modules/ecdsa-sig-formatter": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
@@ -2320,14 +2341,6 @@
"node": ">= 0.8"
}
},
- "node_modules/end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dependencies": {
- "once": "^1.4.0"
- }
- },
"node_modules/engine.io": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.2.0.tgz",
@@ -2399,6 +2412,15 @@
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
"dev": true
},
+ "node_modules/env-paths": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+ "optional": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -2726,14 +2748,6 @@
"node": ">=8"
}
},
- "node_modules/expand-template": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
- "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/express": {
"version": "4.17.1",
"resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
@@ -2799,13 +2813,22 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
+ "devOptional": true
+ },
+ "node_modules/extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "optional": true
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
+ "devOptional": true
},
"node_modules/fast-glob": {
"version": "3.2.7",
@@ -2827,7 +2850,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
+ "devOptional": true
},
"node_modules/fast-levenshtein": {
"version": "2.0.6",
@@ -2862,11 +2885,6 @@
"node": "^10.12.0 || >=12.0.0"
}
},
- "node_modules/file-uri-to-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
- },
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -2960,6 +2978,15 @@
}
}
},
+ "node_modules/forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "optional": true,
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
@@ -2989,11 +3016,6 @@
"node": ">= 0.6"
}
},
- "node_modules/fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
- },
"node_modules/fs-minipass": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
@@ -3104,10 +3126,14 @@
"resolved": "https://registry.npmjs.org/getopts/-/getopts-2.2.5.tgz",
"integrity": "sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA=="
},
- "node_modules/github-from-package": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
- "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4="
+ "node_modules/getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "optional": true,
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ }
},
"node_modules/glob": {
"version": "7.1.7",
@@ -3243,6 +3269,35 @@
"node": ">=0.6.0"
}
},
+ "node_modules/graceful-fs": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
+ "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
+ "optional": true
+ },
+ "node_modules/har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "optional": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/har-validator": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
+ "deprecated": "this library is no longer supported",
+ "optional": true,
+ "dependencies": {
+ "ajv": "^6.12.3",
+ "har-schema": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/hard-rejection": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
@@ -3381,6 +3436,33 @@
"node": ">=4.0.0"
}
},
+ "node_modules/http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "optional": true,
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ },
+ "engines": {
+ "node": ">=0.8",
+ "npm": ">=1.3.7"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -3410,25 +3492,6 @@
"postcss": "^8.1.0"
}
},
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "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/ignore": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
@@ -3498,7 +3561,8 @@
"node_modules/ini": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
},
"node_modules/interpret": {
"version": "2.2.0",
@@ -3675,7 +3739,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
+ "devOptional": true
},
"node_modules/is-unicode-supported": {
"version": "0.1.0",
@@ -3698,7 +3762,13 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
+ "devOptional": true
+ },
+ "node_modules/isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "optional": true
},
"node_modules/js-tokens": {
"version": "4.0.0",
@@ -3719,6 +3789,12 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "optional": true
+ },
"node_modules/jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -3737,11 +3813,17 @@
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true
},
+ "node_modules/json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "optional": true
+ },
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
+ "devOptional": true
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
@@ -3749,6 +3831,12 @@
"integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
"dev": true
},
+ "node_modules/json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "optional": true
+ },
"node_modules/json5": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
@@ -3790,6 +3878,21 @@
"semver": "bin/semver"
}
},
+ "node_modules/jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "optional": true,
+ "dependencies": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
"node_modules/jwa": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
@@ -4038,6 +4141,20 @@
"sourcemap-codec": "^1.4.4"
}
},
+ "node_modules/make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dependencies": {
+ "semver": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/map-obj": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz",
@@ -4247,18 +4364,7 @@
"mime-db": "1.49.0"
},
"engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-response": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
- "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">= 0.6"
}
},
"node_modules/min-indent": {
@@ -4284,7 +4390,8 @@
"node_modules/minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
},
"node_modules/minimist-options": {
"version": "4.1.0",
@@ -4344,11 +4451,6 @@
"node": ">=10"
}
},
- "node_modules/mkdirp-classic": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
- },
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -4365,11 +4467,6 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
- "node_modules/napi-build-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
- "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg=="
- },
"node_modules/natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -4384,22 +4481,76 @@
"node": ">= 0.6"
}
},
- "node_modules/node-abi": {
- "version": "2.30.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.0.tgz",
- "integrity": "sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==",
+ "node_modules/node-addon-api": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
+ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A=="
+ },
+ "node_modules/node-fetch": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
+ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ }
+ },
+ "node_modules/node-gyp": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz",
+ "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==",
+ "optional": true,
+ "dependencies": {
+ "env-paths": "^2.2.0",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.2.3",
+ "nopt": "^5.0.0",
+ "npmlog": "^4.1.2",
+ "request": "^2.88.2",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.2",
+ "tar": "^6.0.2",
+ "which": "^2.0.2"
+ },
+ "bin": {
+ "node-gyp": "bin/node-gyp.js"
+ },
+ "engines": {
+ "node": ">= 10.12.0"
+ }
+ },
+ "node_modules/node-gyp/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "optional": true,
"dependencies": {
- "semver": "^5.4.1"
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/node-abi/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "node_modules/node-gyp/node_modules/semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "optional": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
"bin": {
- "semver": "bin/semver"
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
+ "node_modules/node-gyp/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "optional": true
+ },
"node_modules/node-releases": {
"version": "1.1.75",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz",
@@ -4414,6 +4565,20 @@
"node": ">=6.0.0"
}
},
+ "node_modules/nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/normalize-package-data": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
@@ -4511,6 +4676,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "optional": true,
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -4713,6 +4887,12 @@
"node": ">=8"
}
},
+ "node_modules/performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "optional": true
+ },
"node_modules/pg-connection-string": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz",
@@ -5337,32 +5517,6 @@
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
"dev": true
},
- "node_modules/prebuild-install": {
- "version": "6.1.4",
- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz",
- "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==",
- "dependencies": {
- "detect-libc": "^1.0.3",
- "expand-template": "^2.0.3",
- "github-from-package": "0.0.0",
- "minimist": "^1.2.3",
- "mkdirp-classic": "^0.5.3",
- "napi-build-utils": "^1.0.1",
- "node-abi": "^2.21.0",
- "npmlog": "^4.0.1",
- "pump": "^3.0.0",
- "rc": "^1.2.7",
- "simple-get": "^3.0.3",
- "tar-fs": "^2.0.0",
- "tunnel-agent": "^0.6.0"
- },
- "bin": {
- "prebuild-install": "bin.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -5433,20 +5587,17 @@
"node": ">= 0.10"
}
},
- "node_modules/pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
+ "node_modules/psl": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
+ "optional": 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==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=6"
}
@@ -5510,28 +5661,6 @@
"node": ">= 0.8"
}
},
- "node_modules/rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "dependencies": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "bin": {
- "rc": "cli.js"
- }
- },
- "node_modules/rc/node_modules/strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/read-pkg": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
@@ -5745,6 +5874,61 @@
"node": ">=0.10"
}
},
+ "node_modules/request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
+ "optional": true,
+ "dependencies": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/request/node_modules/form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "optional": true,
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 0.12"
+ }
+ },
+ "node_modules/request/node_modules/qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "optional": true,
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
"node_modules/require-from-string": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
@@ -5789,7 +5973,6 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
"dependencies": {
"glob": "^7.1.3"
},
@@ -5867,7 +6050,6 @@
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
"bin": {
"semver": "bin/semver.js"
}
@@ -5963,35 +6145,6 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
- "node_modules/simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/simple-get": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz",
- "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==",
- "dependencies": {
- "decompress-response": "^4.2.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
"node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -6151,6 +6304,52 @@
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
+ "node_modules/sqlite3": {
+ "version": "5.0.2",
+ "resolved": "git+ssh://git@github.com/mapbox/node-sqlite3.git#593c9d498be2510d286349134537e3bf89401c4a",
+ "hasInstallScript": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@mapbox/node-pre-gyp": "^1.0.0",
+ "node-addon-api": "^3.0.0"
+ },
+ "optionalDependencies": {
+ "node-gyp": "7.x"
+ },
+ "peerDependencies": {
+ "node-gyp": "7.x"
+ },
+ "peerDependenciesMeta": {
+ "node-gyp": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/sshpk": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "optional": true,
+ "dependencies": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ },
+ "bin": {
+ "sshpk-conv": "bin/sshpk-conv",
+ "sshpk-sign": "bin/sshpk-sign",
+ "sshpk-verify": "bin/sshpk-verify"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
@@ -6694,50 +6893,6 @@
"node": ">= 10"
}
},
- "node_modules/tar-fs": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
- "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
- "dependencies": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^2.1.4"
- }
- },
- "node_modules/tar-fs/node_modules/chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
- },
- "node_modules/tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
- "dependencies": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tar-stream/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/tar/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -6806,6 +6961,19 @@
"node": ">=0.6"
}
},
+ "node_modules/tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "optional": true,
+ "dependencies": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
"node_modules/trim-newlines": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
@@ -6829,6 +6997,7 @@
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "optional": true,
"dependencies": {
"safe-buffer": "^5.0.1"
},
@@ -6836,6 +7005,12 @@
"node": "*"
}
},
+ "node_modules/tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "optional": true
+ },
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -6969,7 +7144,7 @@
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"punycode": "^2.1.0"
}
@@ -6987,6 +7162,16 @@
"node": ">= 0.4.0"
}
},
+ "node_modules/uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "optional": true,
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
"node_modules/v-pagination-3": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/v-pagination-3/-/v-pagination-3-0.1.6.tgz",
@@ -7021,6 +7206,20 @@
"node": ">= 0.8"
}
},
+ "node_modules/verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "optional": true,
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
"node_modules/vfile": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz",
@@ -7231,7 +7430,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"isexe": "^2.0.0"
},
@@ -7769,7 +7968,8 @@
"@fortawesome/vue-fontawesome": {
"version": "3.0.0-4",
"resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.0-4.tgz",
- "integrity": "sha512-dQVhhMRcUPCb0aqk5ohm0KGk5OJ7wFZ9aYapLzJB3Z+xs7LhkRWLTb87reelUAG5PFDjutDAXuloT9hi6cz72A=="
+ "integrity": "sha512-dQVhhMRcUPCb0aqk5ohm0KGk5OJ7wFZ9aYapLzJB3Z+xs7LhkRWLTb87reelUAG5PFDjutDAXuloT9hi6cz72A==",
+ "requires": {}
},
"@humanwhocodes/config-array": {
"version": "0.5.0",
@@ -7849,15 +8049,43 @@
"@intlify/shared": "9.1.7"
}
},
- "@louislam/better-sqlite3-with-prebuilds": {
- "version": "7.4.3",
- "resolved": "https://registry.npmjs.org/@louislam/better-sqlite3-with-prebuilds/-/better-sqlite3-with-prebuilds-7.4.3.tgz",
- "integrity": "sha512-v9FFkq47dOtrWBuChce4jPQ+gHzCL7NYkWhk5Z7OvbUmcJ+/v4O6NwI4hA4Ei0XLceVYnAhGK/Vr6Zd8nTnyAw==",
+ "@mapbox/node-pre-gyp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz",
+ "integrity": "sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==",
"requires": {
- "@types/integer": "latest",
- "bindings": "^1.5.0",
- "prebuild-install": "^6.0.1",
+ "detect-libc": "^1.0.3",
+ "https-proxy-agent": "^5.0.0",
+ "make-dir": "^3.1.0",
+ "node-fetch": "^2.6.1",
+ "nopt": "^5.0.0",
+ "npmlog": "^4.1.2",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.4",
"tar": "^6.1.0"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ }
}
},
"@nodelib/fs.scandir": {
@@ -8013,11 +8241,6 @@
"resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.8.1.tgz",
"integrity": "sha512-e+2rjEwK6KDaNOm5Aa9wNGgyS9oSZU/4pfSMMPYNOfjvFI0WVXm29+ITRFr6aKDvvKo7uU1jV68MW4ScsfDi7Q=="
},
- "@types/integer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@types/integer/-/integer-4.0.1.tgz",
- "integrity": "sha512-QQojPymFcV1hrvWXA1h0pP9RmFBFNuWikZcUEjjVsS19IyKO+jqOX24lp2ZHF4A21EmkosJhJDX7CLG67F2s7A=="
- },
"@types/jquery": {
"version": "3.5.6",
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.6.tgz",
@@ -8140,7 +8363,8 @@
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.6.0.tgz",
"integrity": "sha512-n3i8htn8pTg9M+kM3cnEfsPZx/6ngInlTroth6fA1LQTJq5aTVQ8ggaE5pPoAy9vCgHPtcaXMzwpldhqRAkebQ==",
- "dev": true
+ "dev": true,
+ "requires": {}
},
"@vue/compiler-core": {
"version": "3.2.6",
@@ -8249,6 +8473,11 @@
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.6.tgz",
"integrity": "sha512-uwX0Qs2e6kdF+WmxwuxJxOnKs/wEkMArtYpHSm7W+VY/23Tl8syMRyjnzEeXrNCAP0/8HZxEGkHJsjPEDNRuHw=="
},
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
"accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
@@ -8268,13 +8497,22 @@
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true
+ "dev": true,
+ "requires": {}
+ },
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "requires": {
+ "debug": "4"
+ }
},
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
+ "devOptional": true,
"requires": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -8358,6 +8596,21 @@
"integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
"dev": true
},
+ "asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "optional": true,
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "optional": true
+ },
"astral-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
@@ -8469,6 +8722,18 @@
"resolved": "https://registry.npmjs.org/await-lock/-/await-lock-2.1.0.tgz",
"integrity": "sha512-t7Zm5YGgEEc/3eYAicF32m/TNvL+XOeYZy9CvBUeJY/szM7frLolFylhrlZNWV/ohWhcUXygrBGjYmoQdxF4CQ=="
},
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "optional": true
+ },
+ "aws4": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
+ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
+ "optional": true
+ },
"axios": {
"version": "0.21.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
@@ -8501,12 +8766,7 @@
"base64-arraybuffer": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
- "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI="
- },
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
+ "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI="
},
"base64id": {
"version": "2.0.0",
@@ -8521,6 +8781,15 @@
"safe-buffer": "5.1.2"
}
},
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "optional": true,
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
"bcryptjs": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
@@ -8538,46 +8807,11 @@
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true
},
- "bindings": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
- "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
- "requires": {
- "file-uri-to-path": "1.0.0"
- }
- },
"bintrees": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz",
"integrity": "sha1-DmVcm5wkNeqraL9AJyJtK1WjRSQ="
},
- "bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "requires": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
"bluebird": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
@@ -8619,7 +8853,8 @@
"bootstrap": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.0.tgz",
- "integrity": "sha512-bs74WNI9BgBo3cEovmdMHikSKoXnDgA6VQjJ7TyTotU6L7d41ZyCEEelPwkYEzsG/Zjv3ie9IE3EMAje0W9Xew=="
+ "integrity": "sha512-bs74WNI9BgBo3cEovmdMHikSKoXnDgA6VQjJ7TyTotU6L7d41ZyCEEelPwkYEzsG/Zjv3ie9IE3EMAje0W9Xew==",
+ "requires": {}
},
"brace-expansion": {
"version": "1.1.11",
@@ -8652,15 +8887,6 @@
"node-releases": "^1.1.75"
}
},
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
"buffer-equal-constant-time": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
@@ -8700,6 +8926,12 @@
"integrity": "sha512-I56jhWDGMtdILQORdusxBOH+Nl/KgQSdDmpJezYddnAkVOmnoU8zwjTV9xAjMIYxr0iPreEAVylCGcmHCjfaOw==",
"dev": true
},
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "optional": true
+ },
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -8736,7 +8968,8 @@
"chartjs-adapter-dayjs": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/chartjs-adapter-dayjs/-/chartjs-adapter-dayjs-1.0.0.tgz",
- "integrity": "sha512-EnbVqTJGFKLpg1TROLdCEufrzbmIa2oeLGx8O2Wdjw2EoMudoOo9+YFu+6CM0Z0hQ/v3yq/e/Y6efQMu22n8Jg=="
+ "integrity": "sha512-EnbVqTJGFKLpg1TROLdCEufrzbmIa2oeLGx8O2Wdjw2EoMudoOo9+YFu+6CM0Z0hQ/v3yq/e/Y6efQMu22n8Jg==",
+ "requires": {}
},
"chokidar": {
"version": "3.5.2",
@@ -8928,6 +9161,15 @@
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz",
"integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A=="
},
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "optional": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
"dayjs": {
"version": "1.10.6",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.6.tgz",
@@ -8965,19 +9207,6 @@
}
}
},
- "decompress-response": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
- "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
- "requires": {
- "mimic-response": "^2.0.0"
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
- },
"deep-is": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
@@ -9082,6 +9311,16 @@
"domelementtype": "1"
}
},
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "optional": true,
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
"ecdsa-sig-formatter": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
@@ -9118,14 +9357,6 @@
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
},
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "requires": {
- "once": "^1.4.0"
- }
- },
"engine.io": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.2.0.tgz",
@@ -9187,6 +9418,12 @@
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
"dev": true
},
+ "env-paths": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+ "optional": true
+ },
"error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -9432,11 +9669,6 @@
"clone-regexp": "^2.1.0"
}
},
- "expand-template": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
- "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="
- },
"express": {
"version": "4.17.1",
"resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
@@ -9501,13 +9733,19 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
+ "devOptional": true
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "optional": true
},
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
+ "devOptional": true
},
"fast-glob": {
"version": "3.2.7",
@@ -9526,7 +9764,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
+ "devOptional": true
},
"fast-levenshtein": {
"version": "2.0.6",
@@ -9558,11 +9796,6 @@
"flat-cache": "^3.0.4"
}
},
- "file-uri-to-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
- },
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -9632,6 +9865,12 @@
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz",
"integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA=="
},
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "optional": true
+ },
"form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
@@ -9652,11 +9891,6 @@
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
},
- "fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
- },
"fs-minipass": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
@@ -9744,10 +9978,14 @@
"resolved": "https://registry.npmjs.org/getopts/-/getopts-2.2.5.tgz",
"integrity": "sha512-9jb7AW5p3in+IiJWhQiZmmwkpLaR/ccTWdWQCtZM66HJcHHLegowh4q4tSD7gouUyeNvFWRavfK9GXosQHDpFA=="
},
- "github-from-package": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
- "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4="
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "optional": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
},
"glob": {
"version": "7.1.7",
@@ -9848,6 +10086,28 @@
"minimist": "^1.2.5"
}
},
+ "graceful-fs": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
+ "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
+ "optional": true
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "optional": true
+ },
+ "har-validator": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
+ "optional": true,
+ "requires": {
+ "ajv": "^6.12.3",
+ "har-schema": "^2.0.0"
+ }
+ },
"hard-rejection": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
@@ -9963,6 +10223,26 @@
"debug": "^4.3.1"
}
},
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "optional": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -9981,12 +10261,8 @@
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
"integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
- "dev": true
- },
- "ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
+ "dev": true,
+ "requires": {}
},
"ignore": {
"version": "4.0.6",
@@ -10039,7 +10315,8 @@
"ini": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
},
"interpret": {
"version": "2.2.0",
@@ -10153,7 +10430,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
+ "devOptional": true
},
"is-unicode-supported": {
"version": "0.1.0",
@@ -10170,7 +10447,13 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
+ "devOptional": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "optional": true
},
"js-tokens": {
"version": "4.0.0",
@@ -10188,6 +10471,12 @@
"esprima": "^4.0.0"
}
},
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "optional": true
+ },
"jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -10200,11 +10489,17 @@
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true
},
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "optional": true
+ },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
+ "devOptional": true
},
"json-stable-stringify-without-jsonify": {
"version": "1.0.1",
@@ -10212,6 +10507,12 @@
"integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
"dev": true
},
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "optional": true
+ },
"json5": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
@@ -10245,6 +10546,18 @@
}
}
},
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "optional": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
"jwa": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
@@ -10447,6 +10760,14 @@
"sourcemap-codec": "^1.4.4"
}
},
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
"map-obj": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz",
@@ -10593,11 +10914,6 @@
"mime-db": "1.49.0"
}
},
- "mimic-response": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
- "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA=="
- },
"min-indent": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
@@ -10615,7 +10931,8 @@
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
},
"minimist-options": {
"version": "4.1.0",
@@ -10664,11 +10981,6 @@
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
},
- "mkdirp-classic": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
- },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -10679,11 +10991,6 @@
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
"integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q=="
},
- "napi-build-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
- "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg=="
- },
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -10695,18 +11002,57 @@
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
},
- "node-abi": {
- "version": "2.30.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.0.tgz",
- "integrity": "sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==",
+ "node-addon-api": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
+ "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A=="
+ },
+ "node-fetch": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
+ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
+ },
+ "node-gyp": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz",
+ "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==",
+ "optional": true,
"requires": {
- "semver": "^5.4.1"
+ "env-paths": "^2.2.0",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.2.3",
+ "nopt": "^5.0.0",
+ "npmlog": "^4.1.2",
+ "request": "^2.88.2",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.2",
+ "tar": "^6.0.2",
+ "which": "^2.0.2"
},
"dependencies": {
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "optional": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
"semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "optional": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "optional": true
}
}
},
@@ -10721,6 +11067,14 @@
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.3.tgz",
"integrity": "sha512-faZFufgTMrphYoDjvyVpbpJcYzwyFnbAMmQtj1lVBYAUSm3SOy2fIdd9+Mr4UxPosBa0JRw9bJoIwQn+nswiew=="
},
+ "nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "requires": {
+ "abbrev": "1"
+ }
+ },
"normalize-package-data": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
@@ -10799,6 +11153,12 @@
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
},
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "optional": true
+ },
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -10946,6 +11306,12 @@
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
"dev": true
},
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "optional": true
+ },
"pg-connection-string": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz",
@@ -11097,7 +11463,8 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
"integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
- "dev": true
+ "dev": true,
+ "requires": {}
},
"postcss-modules-local-by-default": {
"version": "4.0.0",
@@ -11416,7 +11783,8 @@
"version": "0.36.2",
"resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz",
"integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==",
- "dev": true
+ "dev": true,
+ "requires": {}
},
"postcss-value-parser": {
"version": "4.1.0",
@@ -11424,26 +11792,6 @@
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
"dev": true
},
- "prebuild-install": {
- "version": "6.1.4",
- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz",
- "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==",
- "requires": {
- "detect-libc": "^1.0.3",
- "expand-template": "^2.0.3",
- "github-from-package": "0.0.0",
- "minimist": "^1.2.3",
- "mkdirp-classic": "^0.5.3",
- "napi-build-utils": "^1.0.1",
- "node-abi": "^2.21.0",
- "npmlog": "^4.0.1",
- "pump": "^3.0.0",
- "rc": "^1.2.7",
- "simple-get": "^3.0.3",
- "tar-fs": "^2.0.0",
- "tunnel-agent": "^0.6.0"
- }
- },
"prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -11501,20 +11849,17 @@
"ipaddr.js": "1.9.1"
}
},
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
+ "psl": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
+ "optional": 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==",
- "dev": true
+ "devOptional": true
},
"qs": {
"version": "6.7.0",
@@ -11549,24 +11894,6 @@
"unpipe": "1.0.0"
}
},
- "rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "dependencies": {
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
- }
- }
- },
"read-pkg": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
@@ -11738,6 +12065,53 @@
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
"dev": true
},
+ "request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "optional": true,
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "optional": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "optional": true
+ }
+ }
+ },
"require-from-string": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
@@ -11769,7 +12143,6 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
"requires": {
"glob": "^7.1.3"
}
@@ -11814,8 +12187,7 @@
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
},
"send": {
"version": "0.17.1",
@@ -11900,21 +12272,6 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
- "simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="
- },
- "simple-get": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz",
- "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==",
- "requires": {
- "decompress-response": "^4.2.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
"slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -12046,6 +12403,32 @@
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
+ "sqlite3": {
+ "version": "git+ssh://git@github.com/mapbox/node-sqlite3.git#593c9d498be2510d286349134537e3bf89401c4a",
+ "from": "sqlite3@github:mapbox/node-sqlite3#593c9d",
+ "requires": {
+ "@mapbox/node-pre-gyp": "^1.0.0",
+ "node-addon-api": "^3.0.0",
+ "node-gyp": "7.x"
+ }
+ },
+ "sshpk": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "optional": true,
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ },
"statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
@@ -12297,7 +12680,8 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-5.0.0.tgz",
"integrity": "sha512-c8aubuARSu5A3vEHLBeOSJt1udOdS+1iue7BmJDTSXoCBmfEQmmWX+59vYIj3NQdJBY6a/QRv1ozVFpaB9jaqA==",
- "dev": true
+ "dev": true,
+ "requires": {}
},
"stylelint-config-standard": {
"version": "22.0.0",
@@ -12489,48 +12873,6 @@
}
}
},
- "tar-fs": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
- "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
- "requires": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^2.1.4"
- },
- "dependencies": {
- "chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
- }
- }
- },
- "tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
- "requires": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
"tarn": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.1.tgz",
@@ -12579,6 +12921,16 @@
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
},
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "optional": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ },
"trim-newlines": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
@@ -12595,10 +12947,17 @@
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "optional": true,
"requires": {
"safe-buffer": "^5.0.1"
}
},
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "optional": true
+ },
"type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -12693,7 +13052,7 @@
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
+ "devOptional": true,
"requires": {
"punycode": "^2.1.0"
}
@@ -12708,6 +13067,12 @@
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
+ "uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "optional": true
+ },
"v-pagination-3": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/v-pagination-3/-/v-pagination-3-0.1.6.tgz",
@@ -12739,6 +13104,17 @@
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
},
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "optional": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
"vfile": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz",
@@ -12800,12 +13176,14 @@
"vue-confirm-dialog": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/vue-confirm-dialog/-/vue-confirm-dialog-1.0.2.tgz",
- "integrity": "sha512-gTo1bMDWOLd/6ihmWv8VlPxhc9QaKoE5YqlsKydUOfrrQ3Q3taljF6yI+1TMtAtJLrvZ8DYrePhgBhY1VCJzbQ=="
+ "integrity": "sha512-gTo1bMDWOLd/6ihmWv8VlPxhc9QaKoE5YqlsKydUOfrrQ3Q3taljF6yI+1TMtAtJLrvZ8DYrePhgBhY1VCJzbQ==",
+ "requires": {}
},
"vue-demi": {
"version": "0.10.1",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.10.1.tgz",
- "integrity": "sha512-L6Oi+BvmMv6YXvqv5rJNCFHEKSVu7llpWWJczqmAQYOdmPPw5PNYoz1KKS//Fxhi+4QP64dsPjtmvnYGo1jemA=="
+ "integrity": "sha512-L6Oi+BvmMv6YXvqv5rJNCFHEKSVu7llpWWJczqmAQYOdmPPw5PNYoz1KKS//Fxhi+4QP64dsPjtmvnYGo1jemA==",
+ "requires": {}
},
"vue-eslint-parser": {
"version": "7.10.0",
@@ -12868,13 +13246,14 @@
"vue-toastification": {
"version": "2.0.0-rc.1",
"resolved": "https://registry.npmjs.org/vue-toastification/-/vue-toastification-2.0.0-rc.1.tgz",
- "integrity": "sha512-hjauv/FyesNZdwcr5m1SCyvu1JmlB+Ts5bTptDLDmsYYlj6Oqv8NYakiElpCF+Abwkn9J/AChh6FwkTL1HOb7Q=="
+ "integrity": "sha512-hjauv/FyesNZdwcr5m1SCyvu1JmlB+Ts5bTptDLDmsYYlj6Oqv8NYakiElpCF+Abwkn9J/AChh6FwkTL1HOb7Q==",
+ "requires": {}
},
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
+ "devOptional": true,
"requires": {
"isexe": "^2.0.0"
}
@@ -12913,7 +13292,8 @@
"ws": {
"version": "7.4.6",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
- "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A=="
+ "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
+ "requires": {}
},
"xmlhttprequest-ssl": {
"version": "2.0.0",
diff --git a/package.json b/package.json
index aa106c8..cc8bccb 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,8 @@
"build-docker": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.5.0 --target release . --push",
"build-docker-nightly": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
"build-docker-nightly-amd64": "docker buildx build --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
- "setup": "git checkout 1.5.0 && npm install --legacy-peer-deps && npm run build && npm prune",
+ "build-docker-1.5.0-debian": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:1.5.0-debian --target release . --push",
+ "setup": "git checkout 1.5.0 && npm install --legacy-peer-deps && node node_modules/esbuild/install.js && npm run build && npm prune",
"update-version": "node extra/update-version.js",
"mark-as-nightly": "node extra/mark-as-nightly.js",
"reset-password": "node extra/reset-password.js",
@@ -32,7 +33,6 @@
"test-install-script-alpine3": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/alpine3.dockerfile .",
"test-install-script-ubuntu": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu.dockerfile .",
"test-install-script-ubuntu1604": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu1604.dockerfile .",
- "test-install-script-debian": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/debian.dockerfile .",
"simple-dns-server": "node extra/simple-dns-server.js"
},
"dependencies": {
@@ -40,7 +40,6 @@
"@fortawesome/free-regular-svg-icons": "^5.15.4",
"@fortawesome/free-solid-svg-icons": "^5.15.4",
"@fortawesome/vue-fontawesome": "^3.0.0-4",
- "@louislam/better-sqlite3-with-prebuilds": "^7.4.3",
"@popperjs/core": "^2.9.3",
"args-parser": "^1.3.0",
"axios": "^0.21.1",
@@ -63,6 +62,7 @@
"redbean-node": "0.1.2",
"socket.io": "^4.1.3",
"socket.io-client": "^4.1.3",
+ "sqlite3": "github:mapbox/node-sqlite3#593c9d",
"tcp-ping": "^0.1.1",
"v-pagination-3": "^0.1.6",
"vue": "^3.2.2",
diff --git a/server/database.js b/server/database.js
index 7ce81be..98b7062 100644
--- a/server/database.js
+++ b/server/database.js
@@ -13,9 +13,6 @@ class Database {
static async connect() {
const acquireConnectionTimeout = 120 * 1000;
- R.useBetterSQLite3 = true;
- R.betterSQLite3Options.timeout = acquireConnectionTimeout;
-
R.setup("sqlite", {
filename: Database.path,
useNullAsDefault: true,
From f1238ab76205485c43c27cc655478c832e7ee5b0 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Wed, 1 Sep 2021 14:41:06 +0800
Subject: [PATCH 062/162] update to 1.5.1
---
package.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/package.json b/package.json
index cc8bccb..e292076 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "uptime-kuma",
- "version": "1.5.0",
+ "version": "1.5.1",
"license": "MIT",
"repository": {
"type": "git",
@@ -20,11 +20,11 @@
"update": "",
"build": "vite build",
"vite-preview-dist": "vite preview --host",
- "build-docker": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.5.0 --target release . --push",
+ "build-docker": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.5.1 --target release . --push",
"build-docker-nightly": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
"build-docker-nightly-amd64": "docker buildx build --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
"build-docker-1.5.0-debian": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:1.5.0-debian --target release . --push",
- "setup": "git checkout 1.5.0 && npm install --legacy-peer-deps && node node_modules/esbuild/install.js && npm run build && npm prune",
+ "setup": "git checkout 1.5.1 && npm install --legacy-peer-deps && node node_modules/esbuild/install.js && npm run build && npm prune",
"update-version": "node extra/update-version.js",
"mark-as-nightly": "node extra/mark-as-nightly.js",
"reset-password": "node extra/reset-password.js",
From bc70ecfba7ab3a729624e478a74184512d5fb98d Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Wed, 1 Sep 2021 14:56:19 +0800
Subject: [PATCH 063/162] fix install script
---
extra/install.batsh | 4 ++--
install.sh | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/extra/install.batsh b/extra/install.batsh
index d0ac279..bca0b09 100644
--- a/extra/install.batsh
+++ b/extra/install.batsh
@@ -212,8 +212,8 @@ if (type == "local") {
bash("check=$(docker info)");
bash("if [[ \"$check\" == *\"Is the docker daemon running\"* ]]; then
- echo \"Error: docker is not running\"
- exit 1
+ \"echo\" \"Error: docker is not running\"
+ \"exit\" \"1\"
fi");
if ("$3" != "") {
diff --git a/install.sh b/install.sh
index ede9f46..37d6753 100644
--- a/install.sh
+++ b/install.sh
@@ -176,8 +176,8 @@ else
fi
check=$(docker info)
if [[ "$check" == *"Is the docker daemon running"* ]]; then
- echo "Error: docker is not running"
- exit 1
+ "echo" "Error: docker is not running"
+ "exit" "1"
fi
if [ "$3" != "" ]; then
port="$3"
From e4b76717bebb952299f3e7472b61803abe85ee02 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Wed, 1 Sep 2021 15:02:04 +0800
Subject: [PATCH 064/162] revert back to node-sqlite3
---
server/database.js | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/server/database.js b/server/database.js
index 98b7062..c0a53a9 100644
--- a/server/database.js
+++ b/server/database.js
@@ -121,11 +121,8 @@ class Database {
return statement !== "";
})
- // Use better-sqlite3 to run, prevent "This statement does not return data. Use run() instead"
- const db = await this.getBetterSQLite3Database();
-
for (let statement of statements) {
- db.prepare(statement).run();
+ await R.exec(statement);
}
}
From a5e62141d5bd70a6801f0af65c70b4eb82fc3648 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Wed, 1 Sep 2021 15:04:31 +0800
Subject: [PATCH 065/162] update to 1.5.2
---
package.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/package.json b/package.json
index e292076..ce05d56 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "uptime-kuma",
- "version": "1.5.1",
+ "version": "1.5.2",
"license": "MIT",
"repository": {
"type": "git",
@@ -20,11 +20,11 @@
"update": "",
"build": "vite build",
"vite-preview-dist": "vite preview --host",
- "build-docker": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.5.1 --target release . --push",
+ "build-docker": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.5.2 --target release . --push",
"build-docker-nightly": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
"build-docker-nightly-amd64": "docker buildx build --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
"build-docker-1.5.0-debian": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:1.5.0-debian --target release . --push",
- "setup": "git checkout 1.5.1 && npm install --legacy-peer-deps && node node_modules/esbuild/install.js && npm run build && npm prune",
+ "setup": "git checkout 1.5.2 && npm install --legacy-peer-deps && node node_modules/esbuild/install.js && npm run build && npm prune",
"update-version": "node extra/update-version.js",
"mark-as-nightly": "node extra/mark-as-nightly.js",
"reset-password": "node extra/reset-password.js",
From 22095c09b1e8e19ec25ebc2fe31ae5f062818480 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Wed, 1 Sep 2021 15:49:35 +0800
Subject: [PATCH 066/162] add translation guide
---
src/languages/README.md | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 src/languages/README.md
diff --git a/src/languages/README.md b/src/languages/README.md
new file mode 100644
index 0000000..d747eaf
--- /dev/null
+++ b/src/languages/README.md
@@ -0,0 +1,11 @@
+# How to translate
+
+1. Fork this repo.
+2. Create a language file. (e.g. zh-TW.js) The filename must be ISO language code: http://www.lingoes.net/en/translator/langcode.htm
+
+3. `npm run update-language-file`
+4. Your language file should be filled in. You can now translate now.
+5. Make a pull request when you have done.
+
+If you do not have programming skills, let me know in Issue section. I will assist you. 😏
+
From ad38e61c263835838d83fccc0b40e1845685c2d3 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Wed, 1 Sep 2021 17:08:27 +0800
Subject: [PATCH 067/162] add language file preparation script
---
extra/update-language-files/.gitignore | 3 +
extra/update-language-files/index.js | 75 ++++++++++++++++++++
extra/update-language-files/package.json | 12 ++++
package.json | 3 +-
src/languages/README.md | 7 +-
src/languages/de-DE.js | 5 +-
src/languages/en.js | 89 ++++++++++++++++++++++++
src/languages/fr.js | 6 +-
src/languages/zh-HK.js | 6 +-
9 files changed, 195 insertions(+), 11 deletions(-)
create mode 100644 extra/update-language-files/.gitignore
create mode 100644 extra/update-language-files/index.js
create mode 100644 extra/update-language-files/package.json
diff --git a/extra/update-language-files/.gitignore b/extra/update-language-files/.gitignore
new file mode 100644
index 0000000..410c913
--- /dev/null
+++ b/extra/update-language-files/.gitignore
@@ -0,0 +1,3 @@
+package-lock.json
+test.js
+languages/
diff --git a/extra/update-language-files/index.js b/extra/update-language-files/index.js
new file mode 100644
index 0000000..65032fd
--- /dev/null
+++ b/extra/update-language-files/index.js
@@ -0,0 +1,75 @@
+// Need to use es6 to read language files
+
+import fs from "fs";
+import path from "path";
+import util from "util";
+
+// https://stackoverflow.com/questions/13786160/copy-folder-recursively-in-node-js
+/**
+ * Look ma, it's cp -R.
+ * @param {string} src The path to the thing to copy.
+ * @param {string} dest The path to the new copy.
+ */
+const copyRecursiveSync = function (src, dest) {
+ let exists = fs.existsSync(src);
+ let stats = exists && fs.statSync(src);
+ let isDirectory = exists && stats.isDirectory();
+ if (isDirectory) {
+ fs.mkdirSync(dest);
+ fs.readdirSync(src).forEach(function (childItemName) {
+ copyRecursiveSync(path.join(src, childItemName),
+ path.join(dest, childItemName));
+ });
+ } else {
+ fs.copyFileSync(src, dest);
+ }
+};
+console.log(process.argv)
+const baseLangCode = process.argv[2] || "zh-HK";
+console.log("Base Lang: " + baseLangCode);
+fs.rmdirSync("./languages", { recursive: true });
+copyRecursiveSync("../../src/languages", "./languages");
+
+const en = (await import("./languages/en.js")).default;
+const baseLang = (await import(`./languages/${baseLangCode}.js`)).default;
+const files = fs.readdirSync("./languages");
+console.log(files);
+for (const file of files) {
+ if (file.endsWith(".js")) {
+ console.log("Processing " + file);
+ const lang = await import("./languages/" + file);
+
+ let obj;
+
+ if (lang.default) {
+ console.log("is js module");
+ obj = lang.default;
+ } else {
+ console.log("empty file");
+ obj = {};
+ }
+
+ // En first
+ for (const key in en) {
+ if (! obj[key]) {
+ obj[key] = en[key];
+ }
+ }
+
+ // Base second
+ for (const key in baseLang) {
+ if (! obj[key]) {
+ obj[key] = key;
+ }
+ }
+
+ const code = "export default " + util.inspect(obj, {
+ depth: null,
+ });
+
+ fs.writeFileSync(`../../src/languages/${file}`, code);
+
+ }
+}
+
+fs.rmdirSync("./languages", { recursive: true });
diff --git a/extra/update-language-files/package.json b/extra/update-language-files/package.json
new file mode 100644
index 0000000..c729517
--- /dev/null
+++ b/extra/update-language-files/package.json
@@ -0,0 +1,12 @@
+{
+ "name": "update-language-files",
+ "type": "module",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "author": "",
+ "license": "ISC"
+}
diff --git a/package.json b/package.json
index ce05d56..f279351 100644
--- a/package.json
+++ b/package.json
@@ -33,7 +33,8 @@
"test-install-script-alpine3": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/alpine3.dockerfile .",
"test-install-script-ubuntu": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu.dockerfile .",
"test-install-script-ubuntu1604": "npm run compile-install-script && docker build --progress plain -f test/test_install_script/ubuntu1604.dockerfile .",
- "simple-dns-server": "node extra/simple-dns-server.js"
+ "simple-dns-server": "node extra/simple-dns-server.js",
+ "update-language-files": "cd extra/update-language-files && node index.js %npm_config_base_lang% && eslint ../../src/languages/**.js --fix"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.36",
diff --git a/src/languages/README.md b/src/languages/README.md
index d747eaf..3da55e8 100644
--- a/src/languages/README.md
+++ b/src/languages/README.md
@@ -2,10 +2,9 @@
1. Fork this repo.
2. Create a language file. (e.g. zh-TW.js) The filename must be ISO language code: http://www.lingoes.net/en/translator/langcode.htm
-
-3. `npm run update-language-file`
-4. Your language file should be filled in. You can now translate now.
-5. Make a pull request when you have done.
+3. `npm run update-language-files --base-lang=de-DE`
+6. Your language file should be filled in. You can translate now.
+7. Make a pull request when you have done.
If you do not have programming skills, let me know in Issue section. I will assist you. 😏
diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js
index ba852cf..943034a 100644
--- a/src/languages/de-DE.js
+++ b/src/languages/de-DE.js
@@ -93,8 +93,8 @@ export default {
"No Monitors, please": "Keine Monitore, bitte",
"add one": "hinzufügen",
"Notification Type": "Benachrichtigungs Dienst",
- "Email": "E-Mail",
- "Test": "Test",
+ Email: "E-Mail",
+ Test: "Test",
"Certificate Info": "Zertifikatsinfo",
keywordDescription: "Suche nach einen Schlüsselwort in einer schlichten HTML oder JSON Ausgabe. Bitte beachte, es wird in der Groß-/Kleinschreibung unterschieden.",
deleteMonitorMsg: "Bist du sicher das du den Monitor löschen möchtest?",
@@ -104,4 +104,5 @@ export default {
rrtypeDescription: "Wähle den RR-Typ aus, welchen du überwachen möchtest.",
"Last Result": "Letztes Ergebnis",
pauseMonitorMsg: "Bist du sicher das du den Monitor pausieren möchtest?",
+ "Resource Record Type": "Resource Record Type"
}
diff --git a/src/languages/en.js b/src/languages/en.js
index 75c25dd..f32df2a 100644
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -16,4 +16,93 @@ export default {
resoverserverDescription: "Cloudflare is the default server, you can change the resolver server anytime.",
rrtypeDescription: "Select the RR-Type you want to monitor",
pauseMonitorMsg: "Are you sure want to pause?",
+ Settings: "Settings",
+ Dashboard: "Dashboard",
+ "New Update": "New Update",
+ Language: "Language",
+ Appearance: "Appearance",
+ Theme: "Theme",
+ General: "General",
+ Version: "Version",
+ "Check Update On GitHub": "Check Update On GitHub",
+ List: "List",
+ Add: "Add",
+ "Add New Monitor": "Add New Monitor",
+ "Quick Stats": "Quick Stats",
+ Up: "Up",
+ Down: "Down",
+ Pending: "Pending",
+ Unknown: "Unknown",
+ Pause: "Pause",
+ Name: "Name",
+ Status: "Status",
+ DateTime: "DateTime",
+ Message: "Message",
+ "No important events": "No important events",
+ Resume: "Resume",
+ Edit: "Edit",
+ Delete: "Delete",
+ Current: "Current",
+ Uptime: "Uptime",
+ "Cert Exp.": "Cert Exp.",
+ days: "days",
+ day: "day",
+ "-day": "-day",
+ hour: "hour",
+ "-hour": "-hour",
+ Response: "Response",
+ Ping: "Ping",
+ "Monitor Type": "Monitor Type",
+ Keyword: "Keyword",
+ "Friendly Name": "Friendly Name",
+ URL: "URL",
+ Hostname: "Hostname",
+ Port: "Port",
+ "Heartbeat Interval": "Heartbeat Interval",
+ Retries: "Retries",
+ Advanced: "Advanced",
+ "Upside Down Mode": "Upside Down Mode",
+ "Max. Redirects": "Max. Redirects",
+ "Accepted Status Codes": "Accepted Status Codes",
+ Save: "Save",
+ Notifications: "Notifications",
+ "Not available, please setup.": "Not available, please setup.",
+ "Setup Notification": "Setup Notification",
+ Light: "Light",
+ Dark: "Dark",
+ Auto: "Auto",
+ "Theme - Heartbeat Bar": "Theme - Heartbeat Bar",
+ Normal: "Normal",
+ Bottom: "Bottom",
+ None: "None",
+ Timezone: "Timezone",
+ "Search Engine Visibility": "Search Engine Visibility",
+ "Allow indexing": "Allow indexing",
+ "Discourage search engines from indexing site": "Discourage search engines from indexing site",
+ "Change Password": "Change Password",
+ "Current Password": "Current Password",
+ "New Password": "New Password",
+ "Repeat New Password": "Repeat New Password",
+ "Update Password": "Update Password",
+ "Disable Auth": "Disable Auth",
+ "Enable Auth": "Enable Auth",
+ Logout: "Logout",
+ Leave: "Leave",
+ "I understand, please disable": "I understand, please disable",
+ Confirm: "Confirm",
+ Yes: "Yes",
+ No: "No",
+ Username: "Username",
+ Password: "Password",
+ "Remember me": "Remember me",
+ Login: "Login",
+ "No Monitors, please": "No Monitors, please",
+ "add one": "add one",
+ "Notification Type": "Notification Type",
+ Email: "Email",
+ Test: "Test",
+ "Certificate Info": "Certificate Info",
+ "Resolver Server": "Resolver Server",
+ "Resource Record Type": "Resource Record Type",
+ "Last Result": "Last Result"
}
diff --git a/src/languages/fr.js b/src/languages/fr.js
index ee409e5..6cc42c4 100644
--- a/src/languages/fr.js
+++ b/src/languages/fr.js
@@ -93,8 +93,8 @@ export default {
"No Monitors, please": "Pas de monitor, veuillez ",
"add one": "en ajouter un.",
"Notification Type": "Type de notification",
- "Email": "Email",
- "Test": "Tester",
+ Email: "Email",
+ Test: "Tester",
keywordDescription: "Le mot clé sera cherché dans la réponse HTML/JSON reçue du site internet.",
"Certificate Info": "Des informations sur le certificat SSL",
deleteMonitorMsg: "Êtes-vous sûr de vouloir supprimer ce monitor ?",
@@ -103,4 +103,6 @@ export default {
"Resource Record Type": "Type d'enregistrement DNS recherché",
resoverserverDescription: "Le DNS de cloudflare est utilisé par défaut, mais vous pouvez le changer si vous le souhaitez.",
rrtypeDescription: "Veuillez séléctionner un type d'enregistrement DNS",
+ pauseMonitorMsg: "Are you sure want to pause?",
+ "Last Result": "Last Result"
}
diff --git a/src/languages/zh-HK.js b/src/languages/zh-HK.js
index d0cd334..0d060ec 100644
--- a/src/languages/zh-HK.js
+++ b/src/languages/zh-HK.js
@@ -93,8 +93,8 @@ export default {
"No Monitors, please": "沒有監測器,請",
"add one": "新增",
"Notification Type": "通知類型",
- "Email": "電郵",
- "Test": "測試",
+ Email: "電郵",
+ Test: "測試",
keywordDescription: "搜索 HTML 或 JSON 裡是否有出現關鍵字(注意英文大細階)",
"Certificate Info": "憑證詳細資料",
deleteMonitorMsg: "是否確定刪除這個監測器",
@@ -103,4 +103,6 @@ export default {
"Resource Record Type": "DNS 記錄類型",
resoverserverDescription: "預設值為 Cloudflare DNS 伺服器,你可以轉用其他 DNS 伺服器。",
rrtypeDescription: "請選擇 DNS 記錄類型",
+ pauseMonitorMsg: "Are you sure want to pause?",
+ "Last Result": "Last Result"
}
From 923d325b4463783d52242ad9eb215fb3b8b99c61 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Wed, 1 Sep 2021 17:10:12 +0800
Subject: [PATCH 068/162] add language file preparation script
---
extra/update-language-files/index.js | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/extra/update-language-files/index.js b/extra/update-language-files/index.js
index 65032fd..bf58059 100644
--- a/extra/update-language-files/index.js
+++ b/extra/update-language-files/index.js
@@ -46,7 +46,9 @@ for (const file of files) {
obj = lang.default;
} else {
console.log("empty file");
- obj = {};
+ obj = {
+ languageName: ""
+ };
}
// En first
From e37cf9b1a74d30cfbb876060a7e6464b42279f27 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Wed, 1 Sep 2021 17:32:41 +0800
Subject: [PATCH 069/162] add missing and add Japanese to the list
---
src/languages/ja.js | 91 ++++++++++++++++++++++++++++++++++++++++++++-
src/main.js | 2 +
2 files changed, 92 insertions(+), 1 deletion(-)
diff --git a/src/languages/ja.js b/src/languages/ja.js
index da688af..171c3d1 100644
--- a/src/languages/ja.js
+++ b/src/languages/ja.js
@@ -1,5 +1,5 @@
export default {
- languageName: "Japanese",
+ languageName: "日本語",
checkEverySecond: "{0}秒ごとにチェックします。",
"Avg.": "平均 ",
retriesDescription: "サービスがダウンとしてマークされ、通知が送信されるまでの最大リトライ数",
@@ -16,4 +16,93 @@ export default {
resoverserverDescription: "Cloudflareがデフォルトのサーバーですが、いつでもリゾルバサーバーを変更できます。",
rrtypeDescription: "監視するRRタイプを選択します",
pauseMonitorMsg: "一時停止しますか?",
+ Settings: "Settings",
+ Dashboard: "Dashboard",
+ "New Update": "New Update",
+ Language: "Language",
+ Appearance: "Appearance",
+ Theme: "Theme",
+ General: "General",
+ Version: "Version",
+ "Check Update On GitHub": "Check Update On GitHub",
+ List: "List",
+ Add: "Add",
+ "Add New Monitor": "Add New Monitor",
+ "Quick Stats": "Quick Stats",
+ Up: "Up",
+ Down: "Down",
+ Pending: "Pending",
+ Unknown: "Unknown",
+ Pause: "Pause",
+ Name: "Name",
+ Status: "Status",
+ DateTime: "DateTime",
+ Message: "Message",
+ "No important events": "No important events",
+ Resume: "Resume",
+ Edit: "Edit",
+ Delete: "Delete",
+ Current: "Current",
+ Uptime: "Uptime",
+ "Cert Exp.": "Cert Exp.",
+ days: "days",
+ day: "day",
+ "-day": "-day",
+ hour: "hour",
+ "-hour": "-hour",
+ Response: "Response",
+ Ping: "Ping",
+ "Monitor Type": "Monitor Type",
+ Keyword: "Keyword",
+ "Friendly Name": "Friendly Name",
+ URL: "URL",
+ Hostname: "Hostname",
+ Port: "Port",
+ "Heartbeat Interval": "Heartbeat Interval",
+ Retries: "Retries",
+ Advanced: "Advanced",
+ "Upside Down Mode": "Upside Down Mode",
+ "Max. Redirects": "Max. Redirects",
+ "Accepted Status Codes": "Accepted Status Codes",
+ Save: "Save",
+ Notifications: "Notifications",
+ "Not available, please setup.": "Not available, please setup.",
+ "Setup Notification": "Setup Notification",
+ Light: "Light",
+ Dark: "Dark",
+ Auto: "Auto",
+ "Theme - Heartbeat Bar": "Theme - Heartbeat Bar",
+ Normal: "Normal",
+ Bottom: "Bottom",
+ None: "None",
+ Timezone: "Timezone",
+ "Search Engine Visibility": "Search Engine Visibility",
+ "Allow indexing": "Allow indexing",
+ "Discourage search engines from indexing site": "Discourage search engines from indexing site",
+ "Change Password": "Change Password",
+ "Current Password": "Current Password",
+ "New Password": "New Password",
+ "Repeat New Password": "Repeat New Password",
+ "Update Password": "Update Password",
+ "Disable Auth": "Disable Auth",
+ "Enable Auth": "Enable Auth",
+ Logout: "Logout",
+ Leave: "Leave",
+ "I understand, please disable": "I understand, please disable",
+ Confirm: "Confirm",
+ Yes: "Yes",
+ No: "No",
+ Username: "Username",
+ Password: "Password",
+ "Remember me": "Remember me",
+ Login: "Login",
+ "No Monitors, please": "No Monitors, please",
+ "add one": "add one",
+ "Notification Type": "Notification Type",
+ Email: "Email",
+ Test: "Test",
+ "Certificate Info": "Certificate Info",
+ "Resolver Server": "Resolver Server",
+ "Resource Record Type": "Resource Record Type",
+ "Last Result": "Last Result"
}
diff --git a/src/main.js b/src/main.js
index cdf3799..a77e47a 100644
--- a/src/main.js
+++ b/src/main.js
@@ -27,6 +27,7 @@ import en from "./languages/en";
import zhHK from "./languages/zh-HK";
import deDE from "./languages/de-DE";
import fr from "./languages/fr";
+import ja from "./languages/ja";
const routes = [
{
@@ -94,6 +95,7 @@ const languageList = {
"zh-HK": zhHK,
"de-DE": deDE,
"fr": fr,
+ "ja": ja,
};
const i18n = createI18n({
From 6376d4eb925013b33ca33cb359a9a5445f1fed48 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lars=20S=C3=B8rensen?=
Date: Wed, 1 Sep 2021 11:51:22 +0200
Subject: [PATCH 070/162] Translated to Danish
---
src/languages/da-DK.js | 109 +++++++++++++++++++++++++++++++++++++++++
src/main.js | 2 +
2 files changed, 111 insertions(+)
create mode 100644 src/languages/da-DK.js
diff --git a/src/languages/da-DK.js b/src/languages/da-DK.js
new file mode 100644
index 0000000..51e6cfc
--- /dev/null
+++ b/src/languages/da-DK.js
@@ -0,0 +1,109 @@
+export default {
+ languageName: "Danish",
+ Settings: "Indstillinger",
+ Dashboard: "Dashboard",
+ "New Update": "Opdatering tilgængelig",
+ Language: "Sprog",
+ Appearance: "Udseende",
+ Theme: "Tema",
+ General: "Generelt",
+ Version: "Version",
+ "Check Update On GitHub": "Tjek efter opdateringer på Github",
+ List: "Liste",
+ Add: "Tilføj",
+ "Add New Monitor": "Tilføj ny Overvåger",
+ "Quick Stats": "Oversigt",
+ Up: "Aktiv",
+ Down: "Inaktiv",
+ Pending: "Afventer",
+ Unknown: "Ukendt",
+ Pause: "Pause",
+ pauseDashboardHome: "Pauset",
+ Name: "Navn",
+ Status: "Status",
+ DateTime: "Dato / Tid",
+ Message: "Beskeder",
+ "No important events": "Inden vigtige begivenheder",
+ Resume: "Fortsæt",
+ Edit: "Rediger",
+ Delete: "Slet",
+ Current: "Aktuelt",
+ Uptime: "Oppetid",
+ "Cert Exp.": "Certifikatets udløb",
+ days: "Dage",
+ day: "Dag",
+ "-day": "-Dage",
+ hour: "Timer",
+ "-hour": "-Timer",
+ checkEverySecond: "Tjek hvert {0} sekund",
+ "Avg.": "Gennemsnit",
+ Response: " Respons",
+ Ping: "Ping",
+ "Monitor Type": "Overvåger Type",
+ Keyword: "Nøgleord",
+ "Friendly Name": "Visningsnavn",
+ URL: "URL",
+ Hostname: "Hostname",
+ Port: "Port",
+ "Heartbeat Interval": "Taktinterval",
+ Retries: "Gentagelser",
+ retriesDescription: "Maksimalt antal gentagelser, før tjenesten markeres som inaktiv og sender en meddelelse.",
+ Advanced: "Avanceret",
+ ignoreTLSError: "Ignorere TLS/SSL web fejl",
+ "Upside Down Mode": "Omvendt tilstand",
+ upsideDownModeDescription: "Håndter tilstanden omvendt. Hvis tjenesten er tilgængelig, vises den som inaktiv.",
+ "Max. Redirects": "Maks. Omdirigeringer",
+ maxRedirectDescription: "Maksimalt antal omdirigeringer, der skal følges. Indstil til 0 for at deaktivere omdirigeringer.",
+ "Accepted Status Codes": "Tilladte HTTP-Statuskoder",
+ acceptedStatusCodesDescription: "Vælg de statuskoder, der stadig skal vurderes som vellykkede.",
+ Save: "Gem",
+ Notifications: "Underretninger",
+ "Not available, please setup.": "Ikke tilgængelige, opsæt venligst.",
+ "Setup Notification": "Opsæt underretninger",
+ Light: "Lys",
+ Dark: "Mørk",
+ Auto: "Auto",
+ "Theme - Heartbeat Bar": "Tema - Tidslinje",
+ Normal: "Normal",
+ Bottom: "Bunden",
+ None: "Ingen",
+ Timezone: "Tidszone",
+ "Search Engine Visibility": "Søgemaskine synlighed",
+ "Allow indexing": "Tillad indeksering",
+ "Discourage search engines from indexing site": "Frabed søgemaskiner at indeksere webstedet",
+ "Change Password": "Ændre adgangskode",
+ "Current Password": "Nuværende adgangskode",
+ "New Password": "Ny adgangskode",
+ "Repeat New Password": "Gentag den nye adgangskode",
+ passwordNotMatchMsg: "Adgangskoderne er ikke ens.",
+ "Update Password": "Opdater adgangskode",
+ "Disable Auth": "Deaktiver autentificering",
+ "Enable Auth": "Aktiver autentificering",
+ Logout: "Log ud",
+ notificationDescription: "Tildel underretninger til Overvåger(e), så denne funktion træder i kraft.",
+ Leave: "Verlassen",
+ "I understand, please disable": "Jeg er indforstået, deaktiver venligst",
+ Confirm: "Bekræft",
+ Yes: "Ja",
+ No: "Nej",
+ Username: "Brugernavn",
+ Password: "Adgangskode",
+ "Remember me": "Husk mig",
+ Login: "Log ind",
+ "No Monitors, please": "Ingen Overvågere",
+ "add one": "tilføj en",
+ "Notification Type": "Underretningstype",
+ "Email": "E-Mail",
+ "Test": "Test",
+ "Certificate Info": "Certifikatoplysninger",
+ keywordDescription: "Søg efter et søgeord i almindelig HTML- eller JSON -output. Bemærk, at der skelnes mellem store og små bogstaver.",
+ deleteMonitorMsg: "Er du sikker på, at du vil slette overvågeren?",
+ deleteNotificationMsg: "Er du sikker på, at du vil slette denne underretning for alle overvågere? ",
+ resoverserverDescription: "Cloudflare er standardserveren, den kan til enhver tid ændres.",
+ "Resolver Server": "Navne-server",
+ rrtypeDescription: "Vælg den type RR, du vil overvåge.",
+ "Last Result": "Seneste resultat",
+ pauseMonitorMsg: "Er du sikker på, at du vil pause Overvågeren?",
+ "Create your admin account": "Opret din administratorkonto",
+ "Repeat Password": "Gentag adgangskoden",
+}
diff --git a/src/main.js b/src/main.js
index cdf3799..4f6a557 100644
--- a/src/main.js
+++ b/src/main.js
@@ -27,6 +27,7 @@ import en from "./languages/en";
import zhHK from "./languages/zh-HK";
import deDE from "./languages/de-DE";
import fr from "./languages/fr";
+import daDK from "./languages/da-DK";
const routes = [
{
@@ -94,6 +95,7 @@ const languageList = {
"zh-HK": zhHK,
"de-DE": deDE,
"fr": fr,
+ "da-DK": daDK,
};
const i18n = createI18n({
From 3a3f1762ac36639e402d3a842b778cc8a93bea0f Mon Sep 17 00:00:00 2001
From: kometchtech <5137077+kometchtech@users.noreply.github.com>
Date: Wed, 1 Sep 2021 19:04:35 +0900
Subject: [PATCH 071/162] Update ja.js
* Perform translation for added keys.
---
src/languages/ja.js | 148 ++++++++++++++++++++++----------------------
1 file changed, 74 insertions(+), 74 deletions(-)
diff --git a/src/languages/ja.js b/src/languages/ja.js
index 171c3d1..a96e869 100644
--- a/src/languages/ja.js
+++ b/src/languages/ja.js
@@ -16,93 +16,93 @@ export default {
resoverserverDescription: "Cloudflareがデフォルトのサーバーですが、いつでもリゾルバサーバーを変更できます。",
rrtypeDescription: "監視するRRタイプを選択します",
pauseMonitorMsg: "一時停止しますか?",
- Settings: "Settings",
- Dashboard: "Dashboard",
+ Settings: "設定",
+ Dashboard: "ダッシュボード",
"New Update": "New Update",
- Language: "Language",
- Appearance: "Appearance",
- Theme: "Theme",
+ Language: "言語",
+ Appearance: "外観",
+ Theme: "テーマ",
General: "General",
- Version: "Version",
- "Check Update On GitHub": "Check Update On GitHub",
- List: "List",
- Add: "Add",
- "Add New Monitor": "Add New Monitor",
- "Quick Stats": "Quick Stats",
+ Version: "バージョン",
+ "Check Update On GitHub": "GitHubでアップデートを確認する",
+ List: "一覧",
+ Add: "追加",
+ "Add New Monitor": "監視の追加",
+ "Quick Stats": "統計",
Up: "Up",
Down: "Down",
- Pending: "Pending",
- Unknown: "Unknown",
- Pause: "Pause",
- Name: "Name",
- Status: "Status",
- DateTime: "DateTime",
- Message: "Message",
- "No important events": "No important events",
- Resume: "Resume",
- Edit: "Edit",
- Delete: "Delete",
- Current: "Current",
- Uptime: "Uptime",
- "Cert Exp.": "Cert Exp.",
- days: "days",
- day: "day",
- "-day": "-day",
- hour: "hour",
- "-hour": "-hour",
- Response: "Response",
+ Pending: "中止",
+ Unknown: "不明",
+ Pause: "一時停止",
+ Name: "名前",
+ Status: "ステータス",
+ DateTime: "日時",
+ Message: "メッセージ",
+ "No important events": "重要なイベントなし",
+ Resume: "再開",
+ Edit: "編集",
+ Delete: "削除",
+ Current: "現在",
+ Uptime: "起動時間",
+ "Cert Exp.": "証明書有効期限",
+ days: "日間",
+ day: "日",
+ "-day": "-日",
+ hour: "時間",
+ "-hour": "-時間",
+ Response: "レスポンス",
Ping: "Ping",
- "Monitor Type": "Monitor Type",
- Keyword: "Keyword",
+ "Monitor Type": "監視タイプ",
+ Keyword: "キーワード",
"Friendly Name": "Friendly Name",
URL: "URL",
- Hostname: "Hostname",
- Port: "Port",
- "Heartbeat Interval": "Heartbeat Interval",
+ Hostname: "ホスト名",
+ Port: "ポート",
+ "Heartbeat Interval": "監視間隔",
Retries: "Retries",
Advanced: "Advanced",
"Upside Down Mode": "Upside Down Mode",
- "Max. Redirects": "Max. Redirects",
- "Accepted Status Codes": "Accepted Status Codes",
- Save: "Save",
- Notifications: "Notifications",
- "Not available, please setup.": "Not available, please setup.",
- "Setup Notification": "Setup Notification",
+ "Max. Redirects": "最大リダイレクト数",
+ "Accepted Status Codes": "承認されたステータスコード",
+ Save: "保存",
+ Notifications: "通知",
+ "Not available, please setup.": "利用できません。設定してください。",
+ "Setup Notification": "通知設定",
Light: "Light",
Dark: "Dark",
Auto: "Auto",
"Theme - Heartbeat Bar": "Theme - Heartbeat Bar",
- Normal: "Normal",
- Bottom: "Bottom",
- None: "None",
- Timezone: "Timezone",
- "Search Engine Visibility": "Search Engine Visibility",
- "Allow indexing": "Allow indexing",
- "Discourage search engines from indexing site": "Discourage search engines from indexing site",
- "Change Password": "Change Password",
- "Current Password": "Current Password",
- "New Password": "New Password",
- "Repeat New Password": "Repeat New Password",
- "Update Password": "Update Password",
- "Disable Auth": "Disable Auth",
- "Enable Auth": "Enable Auth",
- Logout: "Logout",
- Leave: "Leave",
- "I understand, please disable": "I understand, please disable",
- Confirm: "Confirm",
- Yes: "Yes",
- No: "No",
- Username: "Username",
- Password: "Password",
- "Remember me": "Remember me",
- Login: "Login",
- "No Monitors, please": "No Monitors, please",
+ Normal: "通常",
+ Bottom: "下部",
+ None: "なし",
+ Timezone: "タイムゾーン",
+ "Search Engine Visibility": "検索エンジンでの表示",
+ "Allow indexing": "インデックス作成を許可する",
+ "Discourage search engines from indexing site": "検索エンジンにインデックスさせないようにする",
+ "Change Password": "パスワード変更",
+ "Current Password": "現在のパスワード",
+ "New Password": "新しいパスワード",
+ "Repeat New Password": "確認のため新しいパスワードをもう一度",
+ "Update Password": "パスワードの更新",
+ "Disable Auth": "認証の無効化",
+ "Enable Auth": "認証の有効化",
+ Logout: "ログアウト",
+ Leave: "作業を中止する",
+ "I understand, please disable": "理解した上で無効化する",
+ Confirm: "確認",
+ Yes: "はい",
+ No: "いいえ",
+ Username: "ユーザー名",
+ Password: "パスワード",
+ "Remember me": "パスワードを忘れた場合",
+ Login: "ログイン",
+ "No Monitors, please": "監視がありません",
"add one": "add one",
- "Notification Type": "Notification Type",
- Email: "Email",
- Test: "Test",
- "Certificate Info": "Certificate Info",
- "Resolver Server": "Resolver Server",
- "Resource Record Type": "Resource Record Type",
- "Last Result": "Last Result"
+ "Notification Type": "通知タイプ",
+ Email: "Eメール",
+ Test: "テスト",
+ "Certificate Info": "証明書情報",
+ "Resolver Server": "問い合わせ先DNSサーバ",
+ "Resource Record Type": "DNSレコード設定",
+ "Last Result": "最終結果"
}
From c7e6cb9f37560a0ba712debedd2970ac55e226b9 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Wed, 1 Sep 2021 20:10:54 +0800
Subject: [PATCH 072/162] update language files
---
extra/update-language-files/index.js | 1 +
src/languages/da-DK.js | 5 +++--
src/languages/en.js | 4 +++-
src/languages/fr.js | 4 +++-
src/languages/ja.js | 4 +++-
src/languages/zh-HK.js | 4 +++-
6 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/extra/update-language-files/index.js b/extra/update-language-files/index.js
index bf58059..ee7c0b5 100644
--- a/extra/update-language-files/index.js
+++ b/extra/update-language-files/index.js
@@ -75,3 +75,4 @@ for (const file of files) {
}
fs.rmdirSync("./languages", { recursive: true });
+console.log("Done, fix the format by eslint now");
diff --git a/src/languages/da-DK.js b/src/languages/da-DK.js
index 51e6cfc..245ba5b 100644
--- a/src/languages/da-DK.js
+++ b/src/languages/da-DK.js
@@ -93,8 +93,8 @@ export default {
"No Monitors, please": "Ingen Overvågere",
"add one": "tilføj en",
"Notification Type": "Underretningstype",
- "Email": "E-Mail",
- "Test": "Test",
+ Email: "E-Mail",
+ Test: "Test",
"Certificate Info": "Certifikatoplysninger",
keywordDescription: "Søg efter et søgeord i almindelig HTML- eller JSON -output. Bemærk, at der skelnes mellem store og små bogstaver.",
deleteMonitorMsg: "Er du sikker på, at du vil slette overvågeren?",
@@ -106,4 +106,5 @@ export default {
pauseMonitorMsg: "Er du sikker på, at du vil pause Overvågeren?",
"Create your admin account": "Opret din administratorkonto",
"Repeat Password": "Gentag adgangskoden",
+ "Resource Record Type": "Resource Record Type"
}
diff --git a/src/languages/en.js b/src/languages/en.js
index f32df2a..2781ba8 100644
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -104,5 +104,7 @@ export default {
"Certificate Info": "Certificate Info",
"Resolver Server": "Resolver Server",
"Resource Record Type": "Resource Record Type",
- "Last Result": "Last Result"
+ "Last Result": "Last Result",
+ "Create your admin account": "Create your admin account",
+ "Repeat Password": "Repeat Password"
}
diff --git a/src/languages/fr.js b/src/languages/fr.js
index 6cc42c4..ac7aa8a 100644
--- a/src/languages/fr.js
+++ b/src/languages/fr.js
@@ -104,5 +104,7 @@ export default {
resoverserverDescription: "Le DNS de cloudflare est utilisé par défaut, mais vous pouvez le changer si vous le souhaitez.",
rrtypeDescription: "Veuillez séléctionner un type d'enregistrement DNS",
pauseMonitorMsg: "Are you sure want to pause?",
- "Last Result": "Last Result"
+ "Last Result": "Last Result",
+ "Create your admin account": "Create your admin account",
+ "Repeat Password": "Repeat Password"
}
diff --git a/src/languages/ja.js b/src/languages/ja.js
index a96e869..e32e53d 100644
--- a/src/languages/ja.js
+++ b/src/languages/ja.js
@@ -104,5 +104,7 @@ export default {
"Certificate Info": "証明書情報",
"Resolver Server": "問い合わせ先DNSサーバ",
"Resource Record Type": "DNSレコード設定",
- "Last Result": "最終結果"
+ "Last Result": "最終結果",
+ "Create your admin account": "Create your admin account",
+ "Repeat Password": "Repeat Password"
}
diff --git a/src/languages/zh-HK.js b/src/languages/zh-HK.js
index 0d060ec..12ebb79 100644
--- a/src/languages/zh-HK.js
+++ b/src/languages/zh-HK.js
@@ -104,5 +104,7 @@ export default {
resoverserverDescription: "預設值為 Cloudflare DNS 伺服器,你可以轉用其他 DNS 伺服器。",
rrtypeDescription: "請選擇 DNS 記錄類型",
pauseMonitorMsg: "Are you sure want to pause?",
- "Last Result": "Last Result"
+ "Last Result": "Last Result",
+ "Create your admin account": "Create your admin account",
+ "Repeat Password": "Repeat Password"
}
From 3006d13aee733a8c7ab6cc40d809b0344a67e736 Mon Sep 17 00:00:00 2001
From: Adam Stachowicz
Date: Wed, 1 Sep 2021 15:37:56 +0200
Subject: [PATCH 073/162] Update translation docs
---
src/languages/README.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/languages/README.md b/src/languages/README.md
index 3da55e8..1deeacd 100644
--- a/src/languages/README.md
+++ b/src/languages/README.md
@@ -1,10 +1,10 @@
# How to translate
1. Fork this repo.
-2. Create a language file. (e.g. zh-TW.js) The filename must be ISO language code: http://www.lingoes.net/en/translator/langcode.htm
+2. Create a language file. (e.g. `zh-TW.js`) The filename must be ISO language code: http://www.lingoes.net/en/translator/langcode.htm
3. `npm run update-language-files --base-lang=de-DE`
6. Your language file should be filled in. You can translate now.
-7. Make a pull request when you have done.
+7. Make a [pull request](https://github.com/louislam/uptime-kuma/pulls) when you have done.
-If you do not have programming skills, let me know in Issue section. I will assist you. 😏
+If you do not have programming skills, let me know in [Issues section](https://github.com/louislam/uptime-kuma/issues). I will assist you. 😏
From 00ac560bd616cd5aeb18c6ed9087cd35ac2c7003 Mon Sep 17 00:00:00 2001
From: Levi
Date: Wed, 1 Sep 2021 16:30:08 +0200
Subject: [PATCH 074/162] Create sv-SE.js
---
src/languages/sv-SE.js | 110 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 110 insertions(+)
create mode 100644 src/languages/sv-SE.js
diff --git a/src/languages/sv-SE.js b/src/languages/sv-SE.js
new file mode 100644
index 0000000..666851f
--- /dev/null
+++ b/src/languages/sv-SE.js
@@ -0,0 +1,110 @@
+export default {
+ languageName: "Swedish",
+ checkEverySecond: "Uppdatera var {0} sekund.",
+ "Avg.": "Genomsnitt ",
+ retriesDescription: "Max antal försök innan tjänsten markeras som nere och en notis skickas",
+ ignoreTLSError: "Ignorera TLS/SSL-fel för webbsidor med HTTPS",
+ upsideDownModeDescription: "Vänd upp och ner på statusen. Om tjänsten är nåbar visas den som NERE.",
+ maxRedirectDescription: "Max antal omdirigeringar att följa. Välj 0 för att avaktivera omdirigeringar.",
+ acceptedStatusCodesDescription: "Välj statuskoder som räknas som lyckade.",
+ passwordNotMatchMsg: "Det bekräftade lösenorder stämmer ej överens.",
+ notificationDescription: "Vänligen lägg till en notistjänst till övervakaren.",
+ keywordDescription: "Sök efter nyckelord i ren HTML eller JSON-svar. Sökningen är skiftkänslig.",
+ pauseDashboardHome: "Pausa",
+ deleteMonitorMsg: "Är du säker på att du vill ta bort den här övervakningen?",
+ deleteNotificationMsg: "Är du säker på att du vill ta bort den här notisen för alla övervakare?",
+ resoverserverDescription: "Cloudflare är den förvalda servern. Du kan byta resolver när som helst.",
+ rrtypeDescription: "Välj den RR-typ du vill övervaka",
+ pauseMonitorMsg: "Är du säker på att du vill pausa?",
+ Settings: "Inställningar",
+ Dashboard: "Infopanel",
+ "New Update": "Ny uppdatering",
+ Language: "Språk",
+ Appearance: "Utseende",
+ Theme: "Tema",
+ General: "Allmänt",
+ Version: "Version",
+ "Check Update On GitHub": "Sök efter uppdatering på GitHub",
+ List: "Lista",
+ Add: "Lägg till",
+ "Add New Monitor": "Lägg Till Ny Övervakare",
+ "Quick Stats": "Snabbstatistik",
+ Up: "Uppe",
+ Down: "Nere",
+ Pending: "Pågående",
+ Unknown: "Okänt",
+ Pause: "Paus",
+ Name: "Namn",
+ Status: "Status",
+ DateTime: "DatumTid",
+ Message: "Meddelande",
+ "No important events": "Inga viktiga händelser",
+ Resume: "Återuppta",
+ Edit: "Redigera",
+ Delete: "Ta bort",
+ Current: "Nuvarande",
+ Uptime: "Drifttid",
+ "Cert Exp.": "Certifikatsutgång",
+ days: "dagar",
+ day: "dag",
+ "-day": "-dag",
+ hour: "timme",
+ "-hour": "-timme",
+ Response: "Svar",
+ Ping: "Ping",
+ "Monitor Type": "Övervakningstyp",
+ Keyword: "Nyckelord",
+ "Friendly Name": "Vänligt Namn",
+ URL: "URL",
+ Hostname: "Värdnamn",
+ Port: "Port",
+ "Heartbeat Interval": "Hjärtslagsintervall",
+ Retries: "Försök",
+ Advanced: "Avancerat",
+ "Upside Down Mode": "Upp och ner-läge",
+ "Max. Redirects": "Max antal omdirigeringar",
+ "Accepted Status Codes": "Tillåtna statuskoder",
+ Save: "Spara",
+ Notifications: "Notiser",
+ "Not available, please setup.": "Ej tillgänglig, vänligen konfigurera.",
+ "Setup Notification": "Konfigurera Notis",
+ Light: "Ljust",
+ Dark: "Mörkt",
+ Auto: "Automatisk",
+ "Theme - Heartbeat Bar": "Tema - Heartbeat Bar",
+ Normal: "Normal",
+ Bottom: "Botten",
+ None: "Ingen",
+ Timezone: "Tidszon",
+ "Search Engine Visibility": "Synlighet på Sökmotorer",
+ "Allow indexing": "Tillåt indexering",
+ "Discourage search engines from indexing site": "Hindra sökmotorer från att indexera sidan",
+ "Change Password": "Byt Lösenord",
+ "Current Password": "Nuvarande Lösenord",
+ "New Password": "Nytt Lösenord",
+ "Repeat New Password": "Upprepa Nytt Lösenord",
+ "Update Password": "Uppdatera Lösenord",
+ "Disable Auth": "Avaktivera Autentisering",
+ "Enable Auth": "Aktivera Autentisering",
+ Logout: "Logga ut",
+ Leave: "Lämna",
+ "I understand, please disable": "Jag förstår, vänligen avaktivera",
+ Confirm: "Bekräfta",
+ Yes: "Ja",
+ No: "Nej",
+ Username: "Användarnamn",
+ Password: "Lösenord",
+ "Remember me": "Kom ihåg mig",
+ Login: "Logga in",
+ "No Monitors, please": "Inga Övervakare, tack",
+ "add one": "lägg till en",
+ "Notification Type": "Notistyp",
+ Email: "Email",
+ Test: "Test",
+ "Certificate Info": "Certifikatsinfo",
+ "Resolver Server": "Resolverserver",
+ "Resource Record Type": "RR-typ",
+ "Last Result": "Senaste resultat",
+ "Create your admin account": "Skapa ditt administratörskonto",
+ "Repeat Password": "Upprepa Lösenord"
+}
From ed5c75282c2c874d31771ed5397cae1ae1d42dee Mon Sep 17 00:00:00 2001
From: Levi
Date: Wed, 1 Sep 2021 16:38:05 +0200
Subject: [PATCH 075/162] Update main.js
---
src/main.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/main.js b/src/main.js
index e0f59da..3c261d8 100644
--- a/src/main.js
+++ b/src/main.js
@@ -29,6 +29,7 @@ import deDE from "./languages/de-DE";
import fr from "./languages/fr";
import ja from "./languages/ja";
import daDK from "./languages/da-DK";
+import svSE from "./languages/sv-SE";
const routes = [
{
@@ -98,6 +99,7 @@ const languageList = {
"fr": fr,
"ja": ja,
"da-DK": daDK,
+ "sv-SE": svSE,
};
const i18n = createI18n({
From dce2ba8f9f8b9002924ee0c08aaa0b6303a9c45c Mon Sep 17 00:00:00 2001
From: Levi
Date: Wed, 1 Sep 2021 16:41:51 +0200
Subject: [PATCH 076/162] Update sv-SE.js
---
src/languages/sv-SE.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/languages/sv-SE.js b/src/languages/sv-SE.js
index 666851f..068f5d5 100644
--- a/src/languages/sv-SE.js
+++ b/src/languages/sv-SE.js
@@ -7,7 +7,7 @@ export default {
upsideDownModeDescription: "Vänd upp och ner på statusen. Om tjänsten är nåbar visas den som NERE.",
maxRedirectDescription: "Max antal omdirigeringar att följa. Välj 0 för att avaktivera omdirigeringar.",
acceptedStatusCodesDescription: "Välj statuskoder som räknas som lyckade.",
- passwordNotMatchMsg: "Det bekräftade lösenorder stämmer ej överens.",
+ passwordNotMatchMsg: "Det bekräftade lösenordet stämmer ej överens.",
notificationDescription: "Vänligen lägg till en notistjänst till övervakaren.",
keywordDescription: "Sök efter nyckelord i ren HTML eller JSON-svar. Sökningen är skiftkänslig.",
pauseDashboardHome: "Pausa",
From 4aae402b36d239860164f53b5b1fd09011297ea6 Mon Sep 17 00:00:00 2001
From: dhfhfk
Date: Thu, 2 Sep 2021 00:29:01 +0900
Subject: [PATCH 077/162] Update main.js
---
src/main.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/main.js b/src/main.js
index e0f59da..9aab000 100644
--- a/src/main.js
+++ b/src/main.js
@@ -29,6 +29,7 @@ import deDE from "./languages/de-DE";
import fr from "./languages/fr";
import ja from "./languages/ja";
import daDK from "./languages/da-DK";
+import koKR from "./languages/ko-KR";
const routes = [
{
@@ -98,6 +99,7 @@ const languageList = {
"fr": fr,
"ja": ja,
"da-DK": daDK,
+ "ko-KR": koKR,
};
const i18n = createI18n({
From 1c4e5b79be47040287250c99e8d1d656542bd8df Mon Sep 17 00:00:00 2001
From: dhfhfk
Date: Thu, 2 Sep 2021 00:30:08 +0900
Subject: [PATCH 078/162] Create ko-KR.js
---
src/languages/ko-KR.js | 110 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 110 insertions(+)
create mode 100644 src/languages/ko-KR.js
diff --git a/src/languages/ko-KR.js b/src/languages/ko-KR.js
new file mode 100644
index 0000000..ff4a793
--- /dev/null
+++ b/src/languages/ko-KR.js
@@ -0,0 +1,110 @@
+export default {
+ languageName: '한국어',
+ checkEverySecond: '{0} 초마다 체크해요.',
+ 'Avg.': '평균 ',
+ retriesDescription: '서비스가 중단된 후 알림을 보내기 전 최대 재시도 횟수',
+ ignoreTLSError: 'HTTPS 웹사이트에서 TLS/SSL 에러 무시하기',
+ upsideDownModeDescription: '서버 상태를 반대로 표시해요. 서버가 작동하면 DOWN으로 표시할 거에요.',
+ maxRedirectDescription: '최대 리다이렉트 횟수에요. 0을 입력하면 리다이렉트를 꺼요.',
+ acceptedStatusCodesDescription: '응답 성공으로 간주할 상태 코드를 정해요.',
+ passwordNotMatchMsg: '비밀번호 재입력이 일치하지 않아요.',
+ notificationDescription: '모니터링에 알림을 설정할 수 있어요.',
+ keywordDescription: 'Html 이나 JSON에서 대소문자를 구분해 키워드를 검색해요.',
+ pauseDashboardHome: '일시 정지',
+ deleteMonitorMsg: '정말 이 모니터링을 삭제할까요?',
+ deleteNotificationMsg: '정말 이 알림을 모든 모니터링에서 삭제할까요?',
+ resoverserverDescription: 'Cloudflare가 기본 서버에요, 원한다면 언제나 다른 resolver 서버로 변경할 수 있어요.',
+ rrtypeDescription: '모니터링할 RR-Type을 선택해요.',
+ pauseMonitorMsg: '정말 이 모니터링을 일시 정지 할까요?',
+ Settings: '설정',
+ Dashboard: '대시보드',
+ 'New Update': '새로운 업데이트',
+ Language: '언어',
+ Appearance: '외형',
+ Theme: '테마',
+ General: '일반',
+ Version: '버전',
+ 'Check Update On GitHub': '깃허브에서 업데이트 확인',
+ List: '목록',
+ Add: '추가',
+ 'Add New Monitor': '새로운 모니터링 추가하기',
+ 'Quick Stats': '간단한 정보',
+ Up: '온라인',
+ Down: '오프라인',
+ Pending: '대기 중',
+ Unknown: '알 수 없음',
+ Pause: '일시 정지',
+ Name: '이름',
+ Status: '상태',
+ DateTime: '날짜',
+ Message: '메시지',
+ 'No important events': '중요 이벤트 없음',
+ Resume: '재개',
+ Edit: '수정',
+ Delete: '삭제',
+ Current: '현재',
+ Uptime: '업타임',
+ 'Cert Exp.': '인증서 만료',
+ days: '일',
+ day: '일',
+ '-day': '-일',
+ hour: '시간',
+ '-hour': '-시간',
+ Response: '응답',
+ Ping: '핑',
+ 'Monitor Type': '모니터링 종류',
+ Keyword: '키워드',
+ 'Friendly Name': '이름',
+ URL: 'URL',
+ Hostname: '호스트네임',
+ Port: '포트',
+ 'Heartbeat Interval': '하트비트 주기',
+ Retries: '재시도',
+ Advanced: '고급',
+ 'Upside Down Mode': '상태 반전 모드',
+ 'Max. Redirects': '최대 리다이렉트',
+ 'Accepted Status Codes': '응답 성공 상태 코드',
+ Save: '저장',
+ Notifications: '알림',
+ 'Not available, please setup.': '존재하지 않아요, 새로운거 하나 만드는건 어때요?',
+ 'Setup Notification': '알림 설정',
+ Light: '라이트',
+ Dark: '다크',
+ Auto: '자동',
+ 'Theme - Heartbeat Bar': '테마 - 하트비트 바',
+ Normal: '기본값',
+ Bottom: '가운데',
+ None: '제거',
+ Timezone: '시간대',
+ 'Search Engine Visibility': '검색 엔진 활성화',
+ 'Allow indexing': '인덱싱 허용',
+ 'Discourage search engines from indexing site': '검색 엔진 인덱싱 거부',
+ 'Change Password': '비밀번호 변경',
+ 'Current Password': '기존 비밀번호',
+ 'New Password': '새로운 비밀번호',
+ 'Repeat New Password': '새로운 비밀번호 재입력',
+ 'Update Password': '비밀번호 변경',
+ 'Disable Auth': '인증 끄기',
+ 'Enable Auth': '인증 켜기',
+ Logout: '로그아웃',
+ Leave: '나가기',
+ 'I understand, please disable': '기능에 대해 이해했어요.',
+ Confirm: '확인',
+ Yes: '확인',
+ No: '취소',
+ Username: '이름',
+ Password: '비밀번호',
+ 'Remember me': '비밀번호 기억하기',
+ Login: '로그인',
+ 'No Monitors, please': '모니터링이 없어요,',
+ 'add one': '하나 추가해봐요',
+ 'Notification Type': '알림 종류',
+ Email: '이메일',
+ Test: '테스트',
+ 'Certificate Info': '인증서 정보',
+ 'Resolver Server': 'Resolver 서버',
+ 'Resource Record Type': '자원 레코드 유형',
+ 'Last Result': '최근 결과',
+ 'Create your admin account': '관리자 계정 만들기',
+ 'Repeat Password': '비밀번호 재입력'
+};
\ No newline at end of file
From 0cc5053f142efc883ff626b0ccb7d5d03a8c739b Mon Sep 17 00:00:00 2001
From: dhfhfk
Date: Thu, 2 Sep 2021 00:35:50 +0900
Subject: [PATCH 079/162] Update ko-KR.js
---
src/languages/ko-KR.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/languages/ko-KR.js b/src/languages/ko-KR.js
index ff4a793..91f8f9b 100644
--- a/src/languages/ko-KR.js
+++ b/src/languages/ko-KR.js
@@ -4,7 +4,7 @@ export default {
'Avg.': '평균 ',
retriesDescription: '서비스가 중단된 후 알림을 보내기 전 최대 재시도 횟수',
ignoreTLSError: 'HTTPS 웹사이트에서 TLS/SSL 에러 무시하기',
- upsideDownModeDescription: '서버 상태를 반대로 표시해요. 서버가 작동하면 DOWN으로 표시할 거에요.',
+ upsideDownModeDescription: '서버 상태를 반대로 표시해요. 서버가 작동하면 오프라인으로 표시할 거에요.',
maxRedirectDescription: '최대 리다이렉트 횟수에요. 0을 입력하면 리다이렉트를 꺼요.',
acceptedStatusCodesDescription: '응답 성공으로 간주할 상태 코드를 정해요.',
passwordNotMatchMsg: '비밀번호 재입력이 일치하지 않아요.',
From 2d408732db087d8044690b67f5de828c187b6d6c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EC=98=A4=EB=A1=9C=EB=9D=BC?=
<68490827+dhfhfk@users.noreply.github.com>
Date: Thu, 2 Sep 2021 01:01:18 +0900
Subject: [PATCH 080/162] Update main.js
Prevent conflict with #304 (Added Swedish Language)
---
src/main.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/main.js b/src/main.js
index 9aab000..435caf2 100644
--- a/src/main.js
+++ b/src/main.js
@@ -29,6 +29,7 @@ import deDE from "./languages/de-DE";
import fr from "./languages/fr";
import ja from "./languages/ja";
import daDK from "./languages/da-DK";
+import svSE from "./languages/sv-SE";
import koKR from "./languages/ko-KR";
const routes = [
@@ -99,6 +100,7 @@ const languageList = {
"fr": fr,
"ja": ja,
"da-DK": daDK,
+ "sv-SE": svSE,
"ko-KR": koKR,
};
From eeb00a55113b5d2a63feab07a57b43ccdad1ebd1 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 2 Sep 2021 01:56:02 +0800
Subject: [PATCH 081/162] fix data type
---
src/pages/Dashboard.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/pages/Dashboard.vue b/src/pages/Dashboard.vue
index b9c82e0..1cf237c 100644
--- a/src/pages/Dashboard.vue
+++ b/src/pages/Dashboard.vue
@@ -5,7 +5,7 @@
{{ $t("Add New Monitor") }}
-
+
From e1f378ee6c8ede64f6de654e9c913e6292b4f162 Mon Sep 17 00:00:00 2001
From: Louis Lam
Date: Thu, 2 Sep 2021 02:11:44 +0800
Subject: [PATCH 082/162] Update README.md
---
README.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/README.md b/README.md
index 45a1a33..925b879 100644
--- a/README.md
+++ b/README.md
@@ -66,6 +66,10 @@ I will mark requests/issues to the next milestone.
https://github.com/louislam/uptime-kuma/milestones
+Project Plan:
+
+https://github.com/louislam/uptime-kuma/projects/1
+
## 🖼 More Screenshots
Dark Mode:
From a2cf7f394e52f0fae9e9fbf11d6ae348baaf2613 Mon Sep 17 00:00:00 2001
From: DX37
Date: Thu, 2 Sep 2021 01:37:01 +0700
Subject: [PATCH 083/162] Add Russian translation
---
src/languages/ru-RU.js | 110 +++++++++++++++++++++++++++++++++++++++++
src/main.js | 2 +
2 files changed, 112 insertions(+)
create mode 100644 src/languages/ru-RU.js
diff --git a/src/languages/ru-RU.js b/src/languages/ru-RU.js
new file mode 100644
index 0000000..c9de686
--- /dev/null
+++ b/src/languages/ru-RU.js
@@ -0,0 +1,110 @@
+export default {
+ languageName: "Русский",
+ checkEverySecond: "Проверять каждые {0} секунд.",
+ "Avg.": "Средн. ",
+ retriesDescription: "Максимальное количество попыток перед пометкой сервиса как недоступного и отправкой уведомления",
+ ignoreTLSError: "Игнорировать ошибку TLS/SSL для HTTPS сайтов",
+ upsideDownModeDescription: "Реверс статуса сервиса. Если сервис доступен, то он помечается как НЕДОСТУПНЫЙ.",
+ maxRedirectDescription: "Максимальное количество перенаправлений. Поставьте 0, чтобы отключить перенаправления.",
+ acceptedStatusCodesDescription: "Выберите коды статусов, которые должны считаться за успешный ответ.",
+ passwordNotMatchMsg: "Повтор пароля не совпадает.",
+ notificationDescription: "Привяжите уведомления к мониторам.",
+ keywordDescription: "Поиск слова в чистом HTML или в JSON-ответе (чувствительно к регистру)",
+ pauseDashboardHome: "Пауза",
+ deleteMonitorMsg: "Вы действительно хотите удалить данный монитор?",
+ deleteNotificationMsg: "Вы действительно хотите удалить это уведомление для всех мониторов?",
+ resoverserverDescription: "Cloudflare является сервером по умолчанию. Вы всегда можете сменить данный сервер.",
+ rrtypeDescription: "Выберите тип ресурсной записи, который вы хотите отслеживать",
+ pauseMonitorMsg: "Вы действительно хотите поставить на паузу?",
+ Settings: "Настройки",
+ Dashboard: "Панель",
+ "New Update": "Обновление",
+ Language: "Язык",
+ Appearance: "Внешний вид",
+ Theme: "Тема",
+ General: "Общее",
+ Version: "Версия",
+ "Check Update On GitHub": "Проверить обновления на GitHub",
+ List: "Список",
+ Add: "Добавить",
+ "Add New Monitor": "Новый монитор",
+ "Quick Stats": "Статистика",
+ Up: "Доступно",
+ Down: "Недоступно",
+ Pending: "Ожидание",
+ Unknown: "Неизвестно",
+ Pause: "Пауза",
+ Name: "Имя",
+ Status: "Статус",
+ DateTime: "Дата и время",
+ Message: "Сообщение",
+ "No important events": "Важных событий нет",
+ Resume: "Возобновить",
+ Edit: "Изменить",
+ Delete: "Удалить",
+ Current: "Текущий",
+ Uptime: "Аптайм",
+ "Cert Exp.": "Сертификат просрочен",
+ days: "дней",
+ day: "день",
+ "-day": " дней",
+ hour: "час",
+ "-hour": " часа",
+ Response: "Ответ",
+ Ping: "Пинг",
+ "Monitor Type": "Тип монитора",
+ Keyword: "Слово",
+ "Friendly Name": "Имя",
+ URL: "URL",
+ Hostname: "Имя хоста",
+ Port: "Порт",
+ "Heartbeat Interval": "Частота опроса",
+ Retries: "Попыток",
+ Advanced: "Дополнительно",
+ "Upside Down Mode": "Режим реверса статуса",
+ "Max. Redirects": "Макс. перенаправлений",
+ "Accepted Status Codes": "Допустимые коды статуса",
+ Save: "Сохранить",
+ Notifications: "Уведомления",
+ "Not available, please setup.": "Доступных уведомлений нет, необходима настройка.",
+ "Setup Notification": "Настроить уведомления",
+ Light: "Светлая",
+ Dark: "Тёмная",
+ Auto: "Авто",
+ "Theme - Heartbeat Bar": "Тема - Полоса частоты опроса",
+ Normal: "Обычный",
+ Bottom: "Снизу",
+ None: "Отсутствует",
+ Timezone: "Часовой пояс",
+ "Search Engine Visibility": "Видимость поисковым движком",
+ "Allow indexing": "Разрешить индексирование",
+ "Discourage search engines from indexing site": "Не позволять индексировать сайт",
+ "Change Password": "Сменить пароль",
+ "Current Password": "Текущий пароль",
+ "New Password": "Новый пароль",
+ "Repeat New Password": "Повтор нового пароля",
+ "Update Password": "Обновить пароль",
+ "Disable Auth": "Отключить авторизацию",
+ "Enable Auth": "Включить авторизацию",
+ Logout: "Выйти",
+ Leave: "Отмена",
+ "I understand, please disable": "Я понимаю, всё равно отключить",
+ Confirm: "Подтвердить",
+ Yes: "Да",
+ No: "Нет",
+ Username: "Логин",
+ Password: "Пароль",
+ "Remember me": "Запомнить меня",
+ Login: "Вход в систему",
+ "No Monitors, please": "Мониторов нет, пожалуйста",
+ "add one": "создайте новый",
+ "Notification Type": "Тип уведомления",
+ Email: "Почта",
+ Test: "Проверка",
+ "Certificate Info": "Информация о сертификате",
+ "Resolver Server": "DNS сервер",
+ "Resource Record Type": "Тип ресурсной записи",
+ "Last Result": "Последний результат",
+ "Create your admin account": "Создайте аккаунт администратора",
+ "Repeat Password": "Повторите пароль"
+}
diff --git a/src/main.js b/src/main.js
index 435caf2..fe35d38 100644
--- a/src/main.js
+++ b/src/main.js
@@ -31,6 +31,7 @@ import ja from "./languages/ja";
import daDK from "./languages/da-DK";
import svSE from "./languages/sv-SE";
import koKR from "./languages/ko-KR";
+import ruRU from "./languages/ru-RU";
const routes = [
{
@@ -102,6 +103,7 @@ const languageList = {
"da-DK": daDK,
"sv-SE": svSE,
"ko-KR": koKR,
+ "ru-RU": ruRU,
};
const i18n = createI18n({
From e7929f461d878af218d70c86bfbe694b84ee450f Mon Sep 17 00:00:00 2001
From: Adam Stachowicz
Date: Wed, 1 Sep 2021 20:53:12 +0200
Subject: [PATCH 084/162] Update dependencies
---
package.json | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/package.json b/package.json
index f279351..23b8e6d 100644
--- a/package.json
+++ b/package.json
@@ -54,19 +54,19 @@
"express": "^4.17.1",
"express-basic-auth": "^1.2.0",
"form-data": "^4.0.0",
- "http-graceful-shutdown": "^3.1.3",
+ "http-graceful-shutdown": "^3.1.4",
"jsonwebtoken": "^8.5.1",
"nodemailer": "^6.6.3",
"password-hash": "^1.2.2",
"prom-client": "^13.2.0",
"prometheus-api-metrics": "^3.2.0",
"redbean-node": "0.1.2",
- "socket.io": "^4.1.3",
- "socket.io-client": "^4.1.3",
+ "socket.io": "^4.2.0",
+ "socket.io-client": "^4.2.0",
"sqlite3": "github:mapbox/node-sqlite3#593c9d",
"tcp-ping": "^0.1.1",
"v-pagination-3": "^0.1.6",
- "vue": "^3.2.2",
+ "vue": "^3.2.6",
"vue-chart-3": "^0.5.7",
"vue-confirm-dialog": "^1.0.2",
"vue-i18n": "^9.1.7",
@@ -76,18 +76,18 @@
},
"devDependencies": {
"@babel/eslint-parser": "^7.15.0",
- "@types/bootstrap": "^5.1.1",
- "@vitejs/plugin-legacy": "^1.5.1",
- "@vitejs/plugin-vue": "^1.4.0",
- "@vue/compiler-sfc": "^3.2.2",
- "core-js": "^3.16.1",
+ "@types/bootstrap": "^5.1.2",
+ "@vitejs/plugin-legacy": "^1.5.2",
+ "@vitejs/plugin-vue": "^1.6.0",
+ "@vue/compiler-sfc": "^3.2.6",
+ "core-js": "^3.17.0",
"dns2": "^2.0.1",
"eslint": "^7.32.0",
- "eslint-plugin-vue": "^7.16.0",
- "sass": "^1.37.5",
+ "eslint-plugin-vue": "^7.17.0",
+ "sass": "^1.38.2",
"stylelint": "^13.13.1",
"stylelint-config-standard": "^22.0.0",
- "typescript": "^4.3.5",
- "vite": "^2.4.4"
+ "typescript": "^4.4.2",
+ "vite": "^2.5.3"
}
}
From 7a109689d96a4ffdeee99776a0c44671e88be4f7 Mon Sep 17 00:00:00 2001
From: Adam Stachowicz
Date: Wed, 1 Sep 2021 21:17:50 +0200
Subject: [PATCH 085/162] Make `Resp. Time (ms)` and `N/A` i18n
---
src/components/PingChart.vue | 2 +-
src/components/Uptime.vue | 2 +-
src/languages/en.js | 4 +++-
src/pages/Details.vue | 4 ++--
4 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/components/PingChart.vue b/src/components/PingChart.vue
index 8f53ea7..0baa988 100644
--- a/src/components/PingChart.vue
+++ b/src/components/PingChart.vue
@@ -85,7 +85,7 @@ export default {
y: {
title: {
display: true,
- text: "Resp. Time (ms)",
+ text: this.$t("respTime"),
},
offset: false,
grid: {
diff --git a/src/components/Uptime.vue b/src/components/Uptime.vue
index b1f3a01..a4bf22f 100644
--- a/src/components/Uptime.vue
+++ b/src/components/Uptime.vue
@@ -22,7 +22,7 @@ export default {
return Math.round(this.$root.uptimeList[key] * 10000) / 100 + "%";
}
- return "N/A"
+ return this.$t("notAvailableShort")
},
color() {
diff --git a/src/languages/en.js b/src/languages/en.js
index 2781ba8..f0e4ae9 100644
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -106,5 +106,7 @@ export default {
"Resource Record Type": "Resource Record Type",
"Last Result": "Last Result",
"Create your admin account": "Create your admin account",
- "Repeat Password": "Repeat Password"
+ "Repeat Password": "Repeat Password",
+ respTime: "Resp. Time (ms)",
+ notAvailableShort: "N/A"
}
diff --git a/src/pages/Details.vue b/src/pages/Details.vue
index 44cac81..badcc68 100644
--- a/src/pages/Details.vue
+++ b/src/pages/Details.vue
@@ -238,7 +238,7 @@ export default {
return this.lastHeartBeat.ping;
}
- return "N/A"
+ return this.$t("notAvailableShort")
},
avgPing() {
@@ -246,7 +246,7 @@ export default {
return this.$root.avgPingList[this.monitor.id];
}
- return "N/A"
+ return this.$t("notAvailableShort")
},
importantHeartBeatList() {
From 9116654a33077da96a8de658ef0eeafbd073cf08 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 2 Sep 2021 15:21:46 +0800
Subject: [PATCH 086/162] update language files and run eslint on these
---
src/languages/da-DK.js | 4 +-
src/languages/de-DE.js | 4 +-
src/languages/fr.js | 4 +-
src/languages/ja.js | 4 +-
src/languages/ko-KR.js | 220 +++++++++++++++++++++--------------------
src/languages/ru-RU.js | 4 +-
src/languages/sv-SE.js | 4 +-
src/languages/zh-HK.js | 10 +-
8 files changed, 135 insertions(+), 119 deletions(-)
diff --git a/src/languages/da-DK.js b/src/languages/da-DK.js
index 245ba5b..713eecf 100644
--- a/src/languages/da-DK.js
+++ b/src/languages/da-DK.js
@@ -106,5 +106,7 @@ export default {
pauseMonitorMsg: "Er du sikker på, at du vil pause Overvågeren?",
"Create your admin account": "Opret din administratorkonto",
"Repeat Password": "Gentag adgangskoden",
- "Resource Record Type": "Resource Record Type"
+ "Resource Record Type": "Resource Record Type",
+ respTime: "Resp. Time (ms)",
+ notAvailableShort: "N/A"
}
diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js
index 7a8cb52..7febaad 100644
--- a/src/languages/de-DE.js
+++ b/src/languages/de-DE.js
@@ -106,5 +106,7 @@ export default {
pauseMonitorMsg: "Bist du sicher das du den Monitor pausieren möchtest?",
"Create your admin account": "Erstelle dein Admin Konto",
"Repeat Password": "Wiederhole das Passwort",
- "Resource Record Type": "Resource Record Type"
+ "Resource Record Type": "Resource Record Type",
+ respTime: "Resp. Time (ms)",
+ notAvailableShort: "N/A"
}
diff --git a/src/languages/fr.js b/src/languages/fr.js
index ac7aa8a..694f4d2 100644
--- a/src/languages/fr.js
+++ b/src/languages/fr.js
@@ -106,5 +106,7 @@ export default {
pauseMonitorMsg: "Are you sure want to pause?",
"Last Result": "Last Result",
"Create your admin account": "Create your admin account",
- "Repeat Password": "Repeat Password"
+ "Repeat Password": "Repeat Password",
+ respTime: "Resp. Time (ms)",
+ notAvailableShort: "N/A"
}
diff --git a/src/languages/ja.js b/src/languages/ja.js
index e32e53d..23de640 100644
--- a/src/languages/ja.js
+++ b/src/languages/ja.js
@@ -106,5 +106,7 @@ export default {
"Resource Record Type": "DNSレコード設定",
"Last Result": "最終結果",
"Create your admin account": "Create your admin account",
- "Repeat Password": "Repeat Password"
+ "Repeat Password": "Repeat Password",
+ respTime: "Resp. Time (ms)",
+ notAvailableShort: "N/A"
}
diff --git a/src/languages/ko-KR.js b/src/languages/ko-KR.js
index 91f8f9b..f913bbb 100644
--- a/src/languages/ko-KR.js
+++ b/src/languages/ko-KR.js
@@ -1,110 +1,112 @@
export default {
- languageName: '한국어',
- checkEverySecond: '{0} 초마다 체크해요.',
- 'Avg.': '평균 ',
- retriesDescription: '서비스가 중단된 후 알림을 보내기 전 최대 재시도 횟수',
- ignoreTLSError: 'HTTPS 웹사이트에서 TLS/SSL 에러 무시하기',
- upsideDownModeDescription: '서버 상태를 반대로 표시해요. 서버가 작동하면 오프라인으로 표시할 거에요.',
- maxRedirectDescription: '최대 리다이렉트 횟수에요. 0을 입력하면 리다이렉트를 꺼요.',
- acceptedStatusCodesDescription: '응답 성공으로 간주할 상태 코드를 정해요.',
- passwordNotMatchMsg: '비밀번호 재입력이 일치하지 않아요.',
- notificationDescription: '모니터링에 알림을 설정할 수 있어요.',
- keywordDescription: 'Html 이나 JSON에서 대소문자를 구분해 키워드를 검색해요.',
- pauseDashboardHome: '일시 정지',
- deleteMonitorMsg: '정말 이 모니터링을 삭제할까요?',
- deleteNotificationMsg: '정말 이 알림을 모든 모니터링에서 삭제할까요?',
- resoverserverDescription: 'Cloudflare가 기본 서버에요, 원한다면 언제나 다른 resolver 서버로 변경할 수 있어요.',
- rrtypeDescription: '모니터링할 RR-Type을 선택해요.',
- pauseMonitorMsg: '정말 이 모니터링을 일시 정지 할까요?',
- Settings: '설정',
- Dashboard: '대시보드',
- 'New Update': '새로운 업데이트',
- Language: '언어',
- Appearance: '외형',
- Theme: '테마',
- General: '일반',
- Version: '버전',
- 'Check Update On GitHub': '깃허브에서 업데이트 확인',
- List: '목록',
- Add: '추가',
- 'Add New Monitor': '새로운 모니터링 추가하기',
- 'Quick Stats': '간단한 정보',
- Up: '온라인',
- Down: '오프라인',
- Pending: '대기 중',
- Unknown: '알 수 없음',
- Pause: '일시 정지',
- Name: '이름',
- Status: '상태',
- DateTime: '날짜',
- Message: '메시지',
- 'No important events': '중요 이벤트 없음',
- Resume: '재개',
- Edit: '수정',
- Delete: '삭제',
- Current: '현재',
- Uptime: '업타임',
- 'Cert Exp.': '인증서 만료',
- days: '일',
- day: '일',
- '-day': '-일',
- hour: '시간',
- '-hour': '-시간',
- Response: '응답',
- Ping: '핑',
- 'Monitor Type': '모니터링 종류',
- Keyword: '키워드',
- 'Friendly Name': '이름',
- URL: 'URL',
- Hostname: '호스트네임',
- Port: '포트',
- 'Heartbeat Interval': '하트비트 주기',
- Retries: '재시도',
- Advanced: '고급',
- 'Upside Down Mode': '상태 반전 모드',
- 'Max. Redirects': '최대 리다이렉트',
- 'Accepted Status Codes': '응답 성공 상태 코드',
- Save: '저장',
- Notifications: '알림',
- 'Not available, please setup.': '존재하지 않아요, 새로운거 하나 만드는건 어때요?',
- 'Setup Notification': '알림 설정',
- Light: '라이트',
- Dark: '다크',
- Auto: '자동',
- 'Theme - Heartbeat Bar': '테마 - 하트비트 바',
- Normal: '기본값',
- Bottom: '가운데',
- None: '제거',
- Timezone: '시간대',
- 'Search Engine Visibility': '검색 엔진 활성화',
- 'Allow indexing': '인덱싱 허용',
- 'Discourage search engines from indexing site': '검색 엔진 인덱싱 거부',
- 'Change Password': '비밀번호 변경',
- 'Current Password': '기존 비밀번호',
- 'New Password': '새로운 비밀번호',
- 'Repeat New Password': '새로운 비밀번호 재입력',
- 'Update Password': '비밀번호 변경',
- 'Disable Auth': '인증 끄기',
- 'Enable Auth': '인증 켜기',
- Logout: '로그아웃',
- Leave: '나가기',
- 'I understand, please disable': '기능에 대해 이해했어요.',
- Confirm: '확인',
- Yes: '확인',
- No: '취소',
- Username: '이름',
- Password: '비밀번호',
- 'Remember me': '비밀번호 기억하기',
- Login: '로그인',
- 'No Monitors, please': '모니터링이 없어요,',
- 'add one': '하나 추가해봐요',
- 'Notification Type': '알림 종류',
- Email: '이메일',
- Test: '테스트',
- 'Certificate Info': '인증서 정보',
- 'Resolver Server': 'Resolver 서버',
- 'Resource Record Type': '자원 레코드 유형',
- 'Last Result': '최근 결과',
- 'Create your admin account': '관리자 계정 만들기',
- 'Repeat Password': '비밀번호 재입력'
-};
\ No newline at end of file
+ languageName: "한국어",
+ checkEverySecond: "{0} 초마다 체크해요.",
+ "Avg.": "평균 ",
+ retriesDescription: "서비스가 중단된 후 알림을 보내기 전 최대 재시도 횟수",
+ ignoreTLSError: "HTTPS 웹사이트에서 TLS/SSL 에러 무시하기",
+ upsideDownModeDescription: "서버 상태를 반대로 표시해요. 서버가 작동하면 오프라인으로 표시할 거에요.",
+ maxRedirectDescription: "최대 리다이렉트 횟수에요. 0을 입력하면 리다이렉트를 꺼요.",
+ acceptedStatusCodesDescription: "응답 성공으로 간주할 상태 코드를 정해요.",
+ passwordNotMatchMsg: "비밀번호 재입력이 일치하지 않아요.",
+ notificationDescription: "모니터링에 알림을 설정할 수 있어요.",
+ keywordDescription: "Html 이나 JSON에서 대소문자를 구분해 키워드를 검색해요.",
+ pauseDashboardHome: "일시 정지",
+ deleteMonitorMsg: "정말 이 모니터링을 삭제할까요?",
+ deleteNotificationMsg: "정말 이 알림을 모든 모니터링에서 삭제할까요?",
+ resoverserverDescription: "Cloudflare가 기본 서버에요, 원한다면 언제나 다른 resolver 서버로 변경할 수 있어요.",
+ rrtypeDescription: "모니터링할 RR-Type을 선택해요.",
+ pauseMonitorMsg: "정말 이 모니터링을 일시 정지 할까요?",
+ Settings: "설정",
+ Dashboard: "대시보드",
+ "New Update": "새로운 업데이트",
+ Language: "언어",
+ Appearance: "외형",
+ Theme: "테마",
+ General: "일반",
+ Version: "버전",
+ "Check Update On GitHub": "깃허브에서 업데이트 확인",
+ List: "목록",
+ Add: "추가",
+ "Add New Monitor": "새로운 모니터링 추가하기",
+ "Quick Stats": "간단한 정보",
+ Up: "온라인",
+ Down: "오프라인",
+ Pending: "대기 중",
+ Unknown: "알 수 없음",
+ Pause: "일시 정지",
+ Name: "이름",
+ Status: "상태",
+ DateTime: "날짜",
+ Message: "메시지",
+ "No important events": "중요 이벤트 없음",
+ Resume: "재개",
+ Edit: "수정",
+ Delete: "삭제",
+ Current: "현재",
+ Uptime: "업타임",
+ "Cert Exp.": "인증서 만료",
+ days: "일",
+ day: "일",
+ "-day": "-일",
+ hour: "시간",
+ "-hour": "-시간",
+ Response: "응답",
+ Ping: "핑",
+ "Monitor Type": "모니터링 종류",
+ Keyword: "키워드",
+ "Friendly Name": "이름",
+ URL: "URL",
+ Hostname: "호스트네임",
+ Port: "포트",
+ "Heartbeat Interval": "하트비트 주기",
+ Retries: "재시도",
+ Advanced: "고급",
+ "Upside Down Mode": "상태 반전 모드",
+ "Max. Redirects": "최대 리다이렉트",
+ "Accepted Status Codes": "응답 성공 상태 코드",
+ Save: "저장",
+ Notifications: "알림",
+ "Not available, please setup.": "존재하지 않아요, 새로운거 하나 만드는건 어때요?",
+ "Setup Notification": "알림 설정",
+ Light: "라이트",
+ Dark: "다크",
+ Auto: "자동",
+ "Theme - Heartbeat Bar": "테마 - 하트비트 바",
+ Normal: "기본값",
+ Bottom: "가운데",
+ None: "제거",
+ Timezone: "시간대",
+ "Search Engine Visibility": "검색 엔진 활성화",
+ "Allow indexing": "인덱싱 허용",
+ "Discourage search engines from indexing site": "검색 엔진 인덱싱 거부",
+ "Change Password": "비밀번호 변경",
+ "Current Password": "기존 비밀번호",
+ "New Password": "새로운 비밀번호",
+ "Repeat New Password": "새로운 비밀번호 재입력",
+ "Update Password": "비밀번호 변경",
+ "Disable Auth": "인증 끄기",
+ "Enable Auth": "인증 켜기",
+ Logout: "로그아웃",
+ Leave: "나가기",
+ "I understand, please disable": "기능에 대해 이해했어요.",
+ Confirm: "확인",
+ Yes: "확인",
+ No: "취소",
+ Username: "이름",
+ Password: "비밀번호",
+ "Remember me": "비밀번호 기억하기",
+ Login: "로그인",
+ "No Monitors, please": "모니터링이 없어요,",
+ "add one": "하나 추가해봐요",
+ "Notification Type": "알림 종류",
+ Email: "이메일",
+ Test: "테스트",
+ "Certificate Info": "인증서 정보",
+ "Resolver Server": "Resolver 서버",
+ "Resource Record Type": "자원 레코드 유형",
+ "Last Result": "최근 결과",
+ "Create your admin account": "관리자 계정 만들기",
+ "Repeat Password": "비밀번호 재입력",
+ respTime: "Resp. Time (ms)",
+ notAvailableShort: "N/A"
+}
diff --git a/src/languages/ru-RU.js b/src/languages/ru-RU.js
index c9de686..f42f9c2 100644
--- a/src/languages/ru-RU.js
+++ b/src/languages/ru-RU.js
@@ -106,5 +106,7 @@ export default {
"Resource Record Type": "Тип ресурсной записи",
"Last Result": "Последний результат",
"Create your admin account": "Создайте аккаунт администратора",
- "Repeat Password": "Повторите пароль"
+ "Repeat Password": "Повторите пароль",
+ respTime: "Resp. Time (ms)",
+ notAvailableShort: "N/A"
}
diff --git a/src/languages/sv-SE.js b/src/languages/sv-SE.js
index 068f5d5..5029688 100644
--- a/src/languages/sv-SE.js
+++ b/src/languages/sv-SE.js
@@ -106,5 +106,7 @@ export default {
"Resource Record Type": "RR-typ",
"Last Result": "Senaste resultat",
"Create your admin account": "Skapa ditt administratörskonto",
- "Repeat Password": "Upprepa Lösenord"
+ "Repeat Password": "Upprepa Lösenord",
+ respTime: "Resp. Time (ms)",
+ notAvailableShort: "N/A"
}
diff --git a/src/languages/zh-HK.js b/src/languages/zh-HK.js
index 12ebb79..4bcc502 100644
--- a/src/languages/zh-HK.js
+++ b/src/languages/zh-HK.js
@@ -103,8 +103,10 @@ export default {
"Resource Record Type": "DNS 記錄類型",
resoverserverDescription: "預設值為 Cloudflare DNS 伺服器,你可以轉用其他 DNS 伺服器。",
rrtypeDescription: "請選擇 DNS 記錄類型",
- pauseMonitorMsg: "Are you sure want to pause?",
- "Last Result": "Last Result",
- "Create your admin account": "Create your admin account",
- "Repeat Password": "Repeat Password"
+ pauseMonitorMsg: "是否確定暫停?",
+ "Last Result": "最後結果",
+ "Create your admin account": "製作你的管理員帳號",
+ "Repeat Password": "重複密碼",
+ respTime: "反應時間 (ms)",
+ notAvailableShort: "N/A"
}
From a0f372e946adb196d38d1246f2f5bbeceb7455ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=96=B0=E9=80=B8Cary?=
Date: Thu, 2 Sep 2021 15:34:46 +0800
Subject: [PATCH 087/162] Chinese Translation (from zh-CN.js)
---
src/languages/zh-CN.js | 112 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 112 insertions(+)
create mode 100644 src/languages/zh-CN.js
diff --git a/src/languages/zh-CN.js b/src/languages/zh-CN.js
new file mode 100644
index 0000000..b67f1d5
--- /dev/null
+++ b/src/languages/zh-CN.js
@@ -0,0 +1,112 @@
+export default {
+ languageName: "简体中文",
+ checkEverySecond: "检测频率 {0} 秒",
+ "Avg.": "平均 ",
+ retriesDescription: "最大重试次数",
+ ignoreTLSError: "忽略HTTPS站点的证书错误",
+ upsideDownModeDescription: "反向状态监控",
+ maxRedirectDescription: "最大重定向次数,设置为 0 禁止重定向",
+ acceptedStatusCodesDescription: "选择被视为成功响应的状态码",
+ passwordNotMatchMsg: "两次密码输入不一致",
+ notificationDescription: "请先设置一个消息通知",
+ keywordDescription: "检测响应内容中的关键字,区分大小写",
+ pauseDashboardHome: "Pause",
+ deleteMonitorMsg: "确定要删除此监控吗?",
+ deleteNotificationMsg: "确定要删除此消息通知吗?这将对所有监控生效。",
+ resoverserverDescription: "默认服务器 Cloudflare,可以修改为任意你想要使用的DNS服务器",
+ rrtypeDescription: "选择您要监控的资源记录类型",
+ pauseMonitorMsg: "确定要暂停吗?",
+ Settings: "设置",
+ Dashboard: "仪表盘",
+ "New Update": "有新版本更新",
+ Language: "语言",
+ Appearance: "外观设置",
+ Theme: "主题",
+ General: "基本设置",
+ Version: "Version",
+ "Check Update On GitHub": "检查更新",
+ List: "列表",
+ Add: "添加",
+ "Add New Monitor": "添加新的监控",
+ "Quick Stats": "状态速览",
+ Up: "正常",
+ Down: "故障",
+ Pending: "检测失败",
+ Unknown: "未知",
+ Pause: "暂停",
+ Name: "名称",
+ Status: "状态",
+ DateTime: "时间",
+ Message: "事件",
+ "No important events": "暂无重要事件",
+ Resume: "恢复",
+ Edit: "修改",
+ Delete: "删除",
+ Current: "当前",
+ Uptime: "可用率",
+ "Cert Exp.": "证书过期",
+ days: "天",
+ day: "天",
+ "-day": " 天",
+ hour: "小时",
+ "-hour": " 小时",
+ Response: "响应",
+ Ping: "Ping",
+ "Monitor Type": "监控类型",
+ Keyword: "关键字",
+ "Friendly Name": "名称",
+ URL: "网址",
+ Hostname: "主机名",
+ Port: "端口号",
+ "Heartbeat Interval": "心跳间隔",
+ Retries: "重试次数",
+ Advanced: "高级选项",
+ "Upside Down Mode": "反向监控",
+ "Max. Redirects": "重定向次数",
+ "Accepted Status Codes": "有效状态码",
+ Save: "保存",
+ Notifications: "消息通知",
+ "Not available, please setup.": "不可用,请设置",
+ "Setup Notification": "设置通知",
+ Light: "明亮",
+ Dark: "黑暗",
+ Auto: "自动",
+ "Theme - Heartbeat Bar": "心跳状态显示",
+ Normal: "正常显示",
+ Bottom: "靠下显示",
+ None: "不显示",
+ Timezone: "时区",
+ "Search Engine Visibility": "搜索引擎设置",
+ "Allow indexing": "允许索引",
+ "Discourage search engines from indexing site": "阻止搜索引擎索引网站",
+ "Change Password": "修改密码",
+ "Current Password": "当前密码",
+ "New Password": "新密码",
+ "Repeat New Password": "重复新密码",
+ "Update Password": "更新密码",
+ "Disable Auth": "禁用身份验证",
+ "Enable Auth": "启用身份验证",
+ Logout: "退出",
+ Leave: "离开",
+ "I understand, please disable": "我已经了解,继续禁用",
+ Confirm: "确认",
+ Yes: "是的",
+ No: "不是",
+ Username: "用户名",
+ Password: "密码",
+ "Remember me": "请记住我",
+ Login: "登录",
+ "No Monitors, please": "没有监控,",
+ "add one": "添加一个",
+ "Notification Type": "消息类型",
+ Email: "邮件",
+ Test: "测试一下",
+ "Certificate Info": "证书信息",
+ "Resolver Server": "解析服务器",
+ "Resource Record Type": "资源记录类型",
+ "Last Result": "Last Result",
+ "Create your admin account": "创建管理员账号",
+ "Repeat Password": "重复密码",
+ respTime: "响应时间 (ms)",
+ notAvailableShort: "N/A"
+}
From 99725aabe74f088d9fe57e2b6a3d703fd3c07a24 Mon Sep 17 00:00:00 2001
From: Jelle Posthuma
Date: Thu, 2 Sep 2021 11:10:54 +0200
Subject: [PATCH 088/162] Add Dutch/Nederlands language (nl_NL)
---
src/languages/nl_NL.js | 112 +++++++++++++++++++++++++++++++++++++++++
src/main.js | 2 +
2 files changed, 114 insertions(+)
create mode 100644 src/languages/nl_NL.js
diff --git a/src/languages/nl_NL.js b/src/languages/nl_NL.js
new file mode 100644
index 0000000..b26c17e
--- /dev/null
+++ b/src/languages/nl_NL.js
@@ -0,0 +1,112 @@
+export default {
+ languageName: "Nederlands",
+ checkEverySecond: "Controleer elke {0} seconden.",
+ "Avg.": "Gem. ",
+ retriesDescription: "Maximum aantal nieuwe pogingen voordat de service wordt gemarkeerd als niet beschikbaar en er een melding wordt verzonden",
+ ignoreTLSError: "Negeer TLS/SSL-fout voor HTTPS-websites",
+ upsideDownModeDescription: "Draai de status om. Als de service bereikbaar is, is deze OFFLINE.",
+ maxRedirectDescription: "Maximaal aantal te volgen omleidingen. Stel in op 0 om omleidingen uit te schakelen.",
+ acceptedStatusCodesDescription: "Selecteer statuscodes die als een succesvol antwoord worden beschouwd.",
+ passwordNotMatchMsg: "Het herhaalwachtwoord komt niet overeen.",
+ notificationDescription: "Wijs a.u.b. een melding toe aan de monitor(s) om het te laten werken.",
+ keywordDescription: "Zoek trefwoord in gewone html of JSON-response en het is hoofdlettergevoelig",
+ pauseDashboardHome: "Gepauzeerd",
+ deleteMonitorMsg: "Weet u zeker dat u deze monitor wilt verwijderen?",
+ deleteNotificationMsg: "Weet u zeker dat u deze melding voor alle monitoren wilt verwijderen?",
+ resoverserverDescription: "Cloudflare is de standaardserver, u kunt de resolver server op elk moment wijzigen.",
+ rrtypeDescription: "Selecteer het RR-type dat u wilt monitoren",
+ pauseMonitorMsg: "Weet je zeker dat je wilt pauzeren?",
+ Settings: "Instellingen",
+ Dashboard: "Dashboard",
+ "New Update": "Nieuwe update",
+ Language: "Taal",
+ Appearance: "Weergave",
+ Theme: "Thema",
+ General: "Algemeen",
+ Version: "Versie",
+ "Check Update On GitHub": "Controleer update op GitHub",
+ List: "Lijst",
+ Add: "Toevoegen",
+ "Add New Monitor": "Nieuwe monitor toevoegen",
+ "Quick Stats": "Snelle statistieken",
+ Up: "Online",
+ Down: "Offline",
+ Pending: "In afwachting",
+ Unknown: "Onbekend",
+ Pause: "Pauze",
+ Name: "Naam",
+ Status: "Status",
+ DateTime: "Datum Tijd",
+ Message: "Bericht",
+ "No important events": "Geen belangrijke gebeurtenissen",
+ Resume: "Hervat",
+ Edit: "Wijzigen",
+ Delete: "Verwijderen",
+ Current: "Huidig",
+ Uptime: "Uptime",
+ "Cert Exp.": "Cert. verl.",
+ days: "dagen",
+ day: "dag",
+ "-day": "-dag",
+ hour: "uur",
+ "-hour": "-uur",
+ Response: "Antwoord",
+ Ping: "Ping",
+ "Monitor Type": "Monitortype:",
+ Keyword: "Trefwoord",
+ "Friendly Name": "Vriendelijke naam",
+ URL: "URL",
+ Hostname: "Hostnaam",
+ Port: "Poort",
+ "Heartbeat Interval": "Hartslaginterval",
+ Retries: "Pogingen",
+ Advanced: "Geavanceerd",
+ "Upside Down Mode": "Ondersteboven modus",
+ "Max. Redirects": "Max. Omleidingen",
+ "Accepted Status Codes": "Geaccepteerde statuscodes",
+ Save: "Opslaan",
+ Notifications: "Meldingen",
+ "Not available, please setup.": "Niet beschikbaar, stel a.u.b. in.",
+ "Setup Notification": "Melding instellen",
+ Light: "Licht",
+ Dark: "Donker",
+ Auto: "Auto",
+ "Theme - Heartbeat Bar": "Thema - Hartslagbalk",
+ Normal: "Normaal",
+ Bottom: "Onderkant",
+ None: "Geen",
+ Timezone: "Tijdzone",
+ "Search Engine Visibility": "Zichtbaarheid voor zoekmachines",
+ "Allow indexing": "Indexering toestaan",
+ "Discourage search engines from indexing site": "Ontmoedig zoekmachines om de site te indexeren",
+ "Change Password": "Verander wachtwoord",
+ "Current Password": "Huidig wachtwoord",
+ "New Password": "Nieuw wachtwoord",
+ "Repeat New Password": "Herhaal nieuw wachtwoord",
+ "Update Password": "Vernieuw wachtwoord",
+ "Disable Auth": "Autorisatie uitschakelen",
+ "Enable Auth": "Autorisatie inschakelen",
+ Logout: "Uitloggen",
+ Leave: "Vertrekken",
+ "I understand, please disable": "Ik begrijp het, schakel a.u.b. uit",
+ Confirm: "Bevestigen",
+ Yes: "Ja",
+ No: "Nee",
+ Username: "Gebruikersnaam",
+ Password: "Wachtwoord",
+ "Remember me": "Wachtwoord onthouden",
+ Login: "Inloggen",
+ "No Monitors, please": "Geen monitoren, ",
+ "add one": "voeg een toe",
+ "Notification Type": "Melding type",
+ Email: "E-mail",
+ Test: "Testen",
+ "Certificate Info": "Certificaat informatie",
+ "Resolver Server": "Resolver Server",
+ "Resource Record Type": "Type bronrecord",
+ "Last Result": "Laatste resultaat",
+ "Create your admin account": "Maak uw beheerdersaccount aan",
+ "Repeat Password": "Herhaal wachtwoord",
+ respTime: "resp. tijd (ms)",
+ notAvailableShort: "N.v.t."
+}
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index fe35d38..b20db3e 100644
--- a/src/main.js
+++ b/src/main.js
@@ -26,6 +26,7 @@ import { appName } from "./util.ts";
import en from "./languages/en";
import zhHK from "./languages/zh-HK";
import deDE from "./languages/de-DE";
+import nlNL from "./languages/nl-NL";
import fr from "./languages/fr";
import ja from "./languages/ja";
import daDK from "./languages/da-DK";
@@ -98,6 +99,7 @@ const languageList = {
en,
"zh-HK": zhHK,
"de-DE": deDE,
+ "nl-NL": nlNL,
"fr": fr,
"ja": ja,
"da-DK": daDK,
From 941788db49bc1643f6b2e0cfa301da779abb483a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=96=B0=E9=80=B8Cary?=
Date: Thu, 2 Sep 2021 18:33:09 +0800
Subject: [PATCH 089/162] Chinese Translation (from zh-CN.js)
---
src/main.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/main.js b/src/main.js
index fe35d38..fba4b91 100644
--- a/src/main.js
+++ b/src/main.js
@@ -32,6 +32,7 @@ import daDK from "./languages/da-DK";
import svSE from "./languages/sv-SE";
import koKR from "./languages/ko-KR";
import ruRU from "./languages/ru-RU";
+import zhCN from "./languages/zh-CN";
const routes = [
{
@@ -104,6 +105,7 @@ const languageList = {
"sv-SE": svSE,
"ko-KR": koKR,
"ru-RU": ruRU,
+ "zh-CN": zhCN,
};
const i18n = createI18n({
From b88b357b55022cc17b202529d4227d82bc91f23a Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 2 Sep 2021 20:18:27 +0800
Subject: [PATCH 090/162] add support for https
---
server/server.js | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/server/server.js b/server/server.js
index d4fe668..ecdd650 100644
--- a/server/server.js
+++ b/server/server.js
@@ -6,6 +6,7 @@ const { sleep, debug, TimeLogger, getRandomInt } = require("../src/util");
console.log("Importing Node libraries")
const fs = require("fs");
const http = require("http");
+const https = require("https");
console.log("Importing 3rd-party libraries")
debug("Importing express");
@@ -45,9 +46,21 @@ console.info("Version: " + checkVersion.version);
const hostname = process.env.HOST || args.host;
const port = parseInt(process.env.PORT || args.port || 3001);
+// SSL
+const sslKey = process.env.SSL_KEY || args.ssl_key || undefined;
+const sslCert = process.env.SSL_CERT || args.ssl_cert || undefined;
+
console.log("Creating express and socket.io instance")
const app = express();
-const server = http.createServer(app);
+
+let server;
+
+if (sslKey && sslCert) {
+ https.createServer(app);
+} else {
+ http.createServer(app);
+}
+
const io = new Server(server);
app.use(express.json())
From c74986647ef4b262fde05c7076571efd7e5496e6 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 2 Sep 2021 20:27:18 +0800
Subject: [PATCH 091/162] allow changing data dir
---
server/database.js | 5 +++--
server/server.js | 10 ++++++++--
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/server/database.js b/server/database.js
index c0a53a9..f9414ad 100644
--- a/server/database.js
+++ b/server/database.js
@@ -5,7 +5,8 @@ const { setSetting, setting } = require("./util-server");
class Database {
static templatePath = "./db/kuma.db"
- static path = "./data/kuma.db";
+ static dataDir = "./data/";
+ static path = this.dataDir + "kuma.db";
static latestVersion = 8;
static noReject = true;
static sqliteInstance = null;
@@ -56,7 +57,7 @@ class Database {
console.info("Database patch is needed")
console.info("Backup the db")
- const backupPath = "./data/kuma.db.bak" + version;
+ const backupPath = this.dataDir + "kuma.db.bak" + version;
fs.copyFileSync(Database.path, backupPath);
const shmPath = Database.path + "-shm";
diff --git a/server/server.js b/server/server.js
index ecdd650..a87f37c 100644
--- a/server/server.js
+++ b/server/server.js
@@ -50,15 +50,21 @@ const port = parseInt(process.env.PORT || args.port || 3001);
const sslKey = process.env.SSL_KEY || args.ssl_key || undefined;
const sslCert = process.env.SSL_CERT || args.ssl_cert || undefined;
+// Data Directory (must be end with "/")
+Database.dataDir = process.env.DATA_DIR || process.env.data_dir || "./data/";
+console.log(`Data Dir: ${Database.dataDir}`);
+
console.log("Creating express and socket.io instance")
const app = express();
let server;
if (sslKey && sslCert) {
- https.createServer(app);
+ console.log("Server Type: HTTPS");
+ server = https.createServer(app);
} else {
- http.createServer(app);
+ console.log("Server Type: HTTP");
+ server = http.createServer(app);
}
const io = new Server(server);
From 3ee13bddd1e063d445fc34afb59d5665be3f417d Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 2 Sep 2021 20:36:52 +0800
Subject: [PATCH 092/162] dash style for args
---
server/server.js | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/server/server.js b/server/server.js
index a87f37c..7ca6ce0 100644
--- a/server/server.js
+++ b/server/server.js
@@ -47,11 +47,11 @@ const hostname = process.env.HOST || args.host;
const port = parseInt(process.env.PORT || args.port || 3001);
// SSL
-const sslKey = process.env.SSL_KEY || args.ssl_key || undefined;
-const sslCert = process.env.SSL_CERT || args.ssl_cert || undefined;
+const sslKey = process.env.SSL_KEY || args["ssl-key"] || undefined;
+const sslCert = process.env.SSL_CERT || args["ssl-cert"] || undefined;
// Data Directory (must be end with "/")
-Database.dataDir = process.env.DATA_DIR || process.env.data_dir || "./data/";
+Database.dataDir = process.env.DATA_DIR || args["data-dir"] || "./data/";
console.log(`Data Dir: ${Database.dataDir}`);
console.log("Creating express and socket.io instance")
From b604807cfe90c01ac8a0ca96c1e0892edc6c6997 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 2 Sep 2021 20:42:55 +0800
Subject: [PATCH 093/162] create data dir if not exists
---
server/database.js | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/server/database.js b/server/database.js
index f9414ad..6db61ea 100644
--- a/server/database.js
+++ b/server/database.js
@@ -12,6 +12,10 @@ class Database {
static sqliteInstance = null;
static async connect() {
+ if (! fs.existsSync(this.dataDir)) {
+ fs.mkdirSync(this.dataDir, { recursive: true });
+ }
+
const acquireConnectionTimeout = 120 * 1000;
R.setup("sqlite", {
From 6e3e2fc85c8a05426a95660c59276cc7a30b995c Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 2 Sep 2021 21:08:00 +0800
Subject: [PATCH 094/162] fix db path
---
server/database.js | 4 ++--
server/server.js | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/server/database.js b/server/database.js
index 6db61ea..c4e1bce 100644
--- a/server/database.js
+++ b/server/database.js
@@ -5,8 +5,8 @@ const { setSetting, setting } = require("./util-server");
class Database {
static templatePath = "./db/kuma.db"
- static dataDir = "./data/";
- static path = this.dataDir + "kuma.db";
+ static dataDir;
+ static path;
static latestVersion = 8;
static noReject = true;
static sqliteInstance = null;
diff --git a/server/server.js b/server/server.js
index 7ca6ce0..3c0d281 100644
--- a/server/server.js
+++ b/server/server.js
@@ -52,6 +52,7 @@ const sslCert = process.env.SSL_CERT || args["ssl-cert"] || undefined;
// Data Directory (must be end with "/")
Database.dataDir = process.env.DATA_DIR || args["data-dir"] || "./data/";
+Database.path = Database.dataDir + "kuma.db";
console.log(`Data Dir: ${Database.dataDir}`);
console.log("Creating express and socket.io instance")
From 582e14098d2aa74c96f309cdb22b192c14196be0 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 2 Sep 2021 21:10:18 +0800
Subject: [PATCH 095/162] create data dir before copy
---
server/database.js | 4 ----
server/server.js | 3 +++
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/server/database.js b/server/database.js
index c4e1bce..77c4da7 100644
--- a/server/database.js
+++ b/server/database.js
@@ -12,10 +12,6 @@ class Database {
static sqliteInstance = null;
static async connect() {
- if (! fs.existsSync(this.dataDir)) {
- fs.mkdirSync(this.dataDir, { recursive: true });
- }
-
const acquireConnectionTimeout = 120 * 1000;
R.setup("sqlite", {
diff --git a/server/server.js b/server/server.js
index 3c0d281..42a1767 100644
--- a/server/server.js
+++ b/server/server.js
@@ -53,6 +53,9 @@ const sslCert = process.env.SSL_CERT || args["ssl-cert"] || undefined;
// Data Directory (must be end with "/")
Database.dataDir = process.env.DATA_DIR || args["data-dir"] || "./data/";
Database.path = Database.dataDir + "kuma.db";
+if (! fs.existsSync(this.dataDir)) {
+ fs.mkdirSync(this.dataDir, { recursive: true });
+}
console.log(`Data Dir: ${Database.dataDir}`);
console.log("Creating express and socket.io instance")
From b30b1d3a5201c2a8977c30833fb3080844cbcc6e Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 2 Sep 2021 21:11:20 +0800
Subject: [PATCH 096/162] create data dir before copy
---
server/server.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/server/server.js b/server/server.js
index 42a1767..eb3e508 100644
--- a/server/server.js
+++ b/server/server.js
@@ -53,8 +53,8 @@ const sslCert = process.env.SSL_CERT || args["ssl-cert"] || undefined;
// Data Directory (must be end with "/")
Database.dataDir = process.env.DATA_DIR || args["data-dir"] || "./data/";
Database.path = Database.dataDir + "kuma.db";
-if (! fs.existsSync(this.dataDir)) {
- fs.mkdirSync(this.dataDir, { recursive: true });
+if (! fs.existsSync(Database.dataDir)) {
+ fs.mkdirSync(Database.dataDir, { recursive: true });
}
console.log(`Data Dir: ${Database.dataDir}`);
From 51cf2ff6f95aa0a87eb931675a43f6ebd55c3989 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 2 Sep 2021 21:13:59 +0800
Subject: [PATCH 097/162] add missing cert parameters
---
server/server.js | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/server/server.js b/server/server.js
index eb3e508..a195c6d 100644
--- a/server/server.js
+++ b/server/server.js
@@ -65,7 +65,10 @@ let server;
if (sslKey && sslCert) {
console.log("Server Type: HTTPS");
- server = https.createServer(app);
+ server = https.createServer({
+ key: sslKey,
+ cert: sslCert
+ }, app);
} else {
console.log("Server Type: HTTP");
server = http.createServer(app);
From f23ecef636c9f8c5c62b51d63d889e1c59b4b91e Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 2 Sep 2021 21:16:04 +0800
Subject: [PATCH 098/162] add missing cert parameters
---
server/server.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/server/server.js b/server/server.js
index a195c6d..39191de 100644
--- a/server/server.js
+++ b/server/server.js
@@ -66,8 +66,8 @@ let server;
if (sslKey && sslCert) {
console.log("Server Type: HTTPS");
server = https.createServer({
- key: sslKey,
- cert: sslCert
+ key: fs.readFileSync(sslKey),
+ cert: fs.readFileSync(sslCert)
}, app);
} else {
console.log("Server Type: HTTP");
From 532ad3044cb3e0b7e7771863c2d871f45b1e22b5 Mon Sep 17 00:00:00 2001
From: Domenic Horner
Date: Thu, 2 Sep 2021 21:55:25 +0800
Subject: [PATCH 099/162] Add space to pushbullet and lunasea notifications
Start changes regarding standardization of notification messages
---
server/notification.js | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/server/notification.js b/server/notification.js
index 472012a..9417e73 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -491,7 +491,7 @@ class Notification {
if (heartbeatJSON["status"] == 0) {
let downdata = {
- "title": "UptimeKuma Alert:" + monitorJSON["name"],
+ "title": "UptimeKuma Alert: " + monitorJSON["name"],
"body": "[🔴 Down]" + heartbeatJSON["msg"] + "\nTime (UTC):" + heartbeatJSON["time"],
}
await axios.post(lunaseadevice, downdata)
@@ -500,7 +500,7 @@ class Notification {
if (heartbeatJSON["status"] == 1) {
let updata = {
- "title": "UptimeKuma Alert:" + monitorJSON["name"],
+ "title": "UptimeKuma Alert: " + monitorJSON["name"],
"body": "[✅ Up]" + heartbeatJSON["msg"] + "\nTime (UTC):" + heartbeatJSON["time"],
}
await axios.post(lunaseadevice, updata)
@@ -530,14 +530,14 @@ class Notification {
} else if (heartbeatJSON["status"] == 0) {
let downdata = {
"type": "note",
- "title": "UptimeKuma Alert:" + monitorJSON["name"],
+ "title": "UptimeKuma Alert: " + monitorJSON["name"],
"body": "[🔴 Down]" + heartbeatJSON["msg"] + "\nTime (UTC):" + heartbeatJSON["time"],
}
await axios.post(pushbulletUrl, downdata, config)
} else if (heartbeatJSON["status"] == 1) {
let updata = {
"type": "note",
- "title": "UptimeKuma Alert:" + monitorJSON["name"],
+ "title": "UptimeKuma Alert: " + monitorJSON["name"],
"body": "[✅ Up]" + heartbeatJSON["msg"] + "\nTime (UTC):" + heartbeatJSON["time"],
}
await axios.post(pushbulletUrl, updata, config)
From d2bf2a551d00fc88f3ddcc4812e0419432d0537a Mon Sep 17 00:00:00 2001
From: "Victor M. Vicente Cuevas"
Date: Thu, 2 Sep 2021 16:23:07 +0200
Subject: [PATCH 100/162] Add spanish language and update Readme
---
src/languages/README.md | 3 +-
src/languages/es-ES.js | 112 ++++++++++++++++++++++++++++++++++++++++
src/pages/Settings.vue | 6 +++
3 files changed, 120 insertions(+), 1 deletion(-)
create mode 100644 src/languages/es-ES.js
diff --git a/src/languages/README.md b/src/languages/README.md
index 1deeacd..afc14d3 100644
--- a/src/languages/README.md
+++ b/src/languages/README.md
@@ -4,7 +4,8 @@
2. Create a language file. (e.g. `zh-TW.js`) The filename must be ISO language code: http://www.lingoes.net/en/translator/langcode.htm
3. `npm run update-language-files --base-lang=de-DE`
6. Your language file should be filled in. You can translate now.
-7. Make a [pull request](https://github.com/louislam/uptime-kuma/pulls) when you have done.
+7. Translate `src/pages/Settings.vue` (search for a `Confirm` component with `rel="confirmDisableAuth"`)
+8. Make a [pull request](https://github.com/louislam/uptime-kuma/pulls) when you have done.
If you do not have programming skills, let me know in [Issues section](https://github.com/louislam/uptime-kuma/issues). I will assist you. 😏
diff --git a/src/languages/es-ES.js b/src/languages/es-ES.js
new file mode 100644
index 0000000..7342857
--- /dev/null
+++ b/src/languages/es-ES.js
@@ -0,0 +1,112 @@
+export default {
+ languageName: "Español",
+ checkEverySecond: "Comprobar cada {0} segundos.",
+ "Avg.": "Media. ",
+ retriesDescription: "Número máximo de intentos antes de que el servicio se marque como CAÍDO y una notificación sea enviada.",
+ ignoreTLSError: "Ignorar error TLS/SSL para sitios web HTTPS",
+ upsideDownModeDescription: "Invertir el estado. Si el servicio es alcanzable, está CAÍDO.",
+ maxRedirectDescription: "Número máximo de direcciones a seguir. Establecer a 0 para deshabilitar.",
+ acceptedStatusCodesDescription: "Seleccionar los códigos de estado que se consideran como respuesta exitosa.",
+ passwordNotMatchMsg: "La contraseña repetida no coincide.",
+ notificationDescription: "Por favor asigne una notificación a el/los monitor(es) para hacerlos funcional(es).",
+ keywordDescription: "Palabra clave en HTML plano o respuesta JSON y es sensible a mayúsculas",
+ pauseDashboardHome: "Pausar",
+ deleteMonitorMsg: "¿Seguro que quieres eliminar este monitor?",
+ deleteNotificationMsg: "¿Seguro que quieres eliminar esta notificación para todos los monitores?",
+ resoverserverDescription: "Cloudflare es el servidor por defecto, puedes cambiar el servidor de resolución en cualquier momento.",
+ rrtypeDescription: "Selecciona el tipo de registro que quieres monitorizar",
+ pauseMonitorMsg: "¿Seguro que quieres pausar?",
+ Settings: "Ajustes",
+ Dashboard: "Panel",
+ "New Update": "Vueva actualización",
+ Language: "Idioma",
+ Appearance: "Apariencia",
+ Theme: "Tema",
+ General: "General",
+ Version: "Versión",
+ "Check Update On GitHub": "Comprobar actualizaciones en GitHub",
+ List: "Lista",
+ Add: "Añadir",
+ "Add New Monitor": "Añadir nuevo monitor",
+ "Quick Stats": "Estadísticas rápidas",
+ Up: "Funcional",
+ Down: "Caído",
+ Pending: "Pendiente",
+ Unknown: "Desconociso",
+ Pause: "Pausa",
+ Name: "Nombre",
+ Status: "Estado",
+ DateTime: "Fecha y Hora",
+ Message: "Mensaje",
+ "No important events": "No hay eventos importantes",
+ Resume: "Reanudar",
+ Edit: "Editar",
+ Delete: "Eliminar",
+ Current: "Actual",
+ Uptime: "Tiempo activo",
+ "Cert Exp.": "Caducidad cert.",
+ days: "días",
+ day: "día",
+ "-day": "-día",
+ hour: "hora",
+ "-hour": "-hora",
+ Response: "Respuesta",
+ Ping: "Ping",
+ "Monitor Type": "Tipo de Monitor",
+ Keyword: "Palabra clave",
+ "Friendly Name": "Nombre sencillo",
+ URL: "URL",
+ Hostname: "Nombre del host",
+ Port: "Puerto",
+ "Heartbeat Interval": "Intervalo de latido",
+ Retries: "Reintentos",
+ Advanced: "Avanzado",
+ "Upside Down Mode": "Modo invertido",
+ "Max. Redirects": "Máx. redirecciones",
+ "Accepted Status Codes": "Códigos de estado aceptados",
+ Save: "Guardar",
+ Notifications: "Notificaciones",
+ "Not available, please setup.": "No disponible, por favor configurar.",
+ "Setup Notification": "Configurar notificación",
+ Light: "Claro",
+ Dark: "Oscuro",
+ Auto: "Auto",
+ "Theme - Heartbeat Bar": "Tema - Barra de intervalo de latido",
+ Normal: "Normal",
+ Bottom: "Abajo",
+ None: "Ninguno",
+ Timezone: "Zona horaria",
+ "Search Engine Visibility": "Visibilidad motor de búsqueda",
+ "Allow indexing": "Permitir indexación",
+ "Discourage search engines from indexing site": "Disuadir a los motores de búsqueda de indexar el sitio",
+ "Change Password": "Cambiar contraseña",
+ "Current Password": "Contraseña actual",
+ "New Password": "Nueva contraseña",
+ "Repeat New Password": "Repetir nueva contraseña",
+ "Update Password": "Actualizar contraseña",
+ "Disable Auth": "deshabilitar Autenticación ",
+ "Enable Auth": "Habilitar Autenticación ",
+ Logout: "Cerrar sesión",
+ Leave: "Salir",
+ "I understand, please disable": "Lo comprendo, por favor deshabilitar",
+ Confirm: "Confirmar",
+ Yes: "Sí",
+ No: "No",
+ Username: "Usuario",
+ Password: "Contraseña",
+ "Remember me": "Recordarme",
+ Login: "Acceso",
+ "No Monitors, please": "Sin monitores, por favor",
+ "add one": "añade uno",
+ "Notification Type": "Tipo de notificación",
+ Email: "Email",
+ Test: "Test",
+ "Certificate Info": "Información del certificado ",
+ "Resolver Server": "Servidor de resolución",
+ "Resource Record Type": "Tipo de Registro",
+ "Last Result": "Último resultado",
+ "Create your admin account": "Crea tu cuenta de administrador",
+ "Repeat Password": "Repetir contraseña",
+ respTime: "Tiempo de resp. (ms)",
+ notAvailableShort: "N/A"
+}
diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue
index d71ec10..85ca006 100644
--- a/src/pages/Settings.vue
+++ b/src/pages/Settings.vue
@@ -172,6 +172,12 @@
Please use it carefully.
+
+ Seguro que deseas deshabilitar la autenticación ?
+ Es para quien implementa autenticación de terceros ante Uptime Kuma como por ejemplo Cloudflare Access.
+ Por favor usar con cuidado.
+
+
你是否確認取消登入認証 ?
這個功能是設計給已有第三方認証 的用家,例如 Cloudflare Access。
From 23f1a73fc8dd30eadf7358a8ebdc0566e45ba14b Mon Sep 17 00:00:00 2001
From: "Victor M. Vicente Cuevas"
Date: Thu, 2 Sep 2021 16:31:45 +0200
Subject: [PATCH 101/162] Add language to src/main and update README
---
src/languages/README.md | 5 +++--
src/languages/es-ES.js | 2 +-
src/main.js | 2 ++
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/languages/README.md b/src/languages/README.md
index afc14d3..9ba99ad 100644
--- a/src/languages/README.md
+++ b/src/languages/README.md
@@ -4,8 +4,9 @@
2. Create a language file. (e.g. `zh-TW.js`) The filename must be ISO language code: http://www.lingoes.net/en/translator/langcode.htm
3. `npm run update-language-files --base-lang=de-DE`
6. Your language file should be filled in. You can translate now.
-7. Translate `src/pages/Settings.vue` (search for a `Confirm` component with `rel="confirmDisableAuth"`)
-8. Make a [pull request](https://github.com/louislam/uptime-kuma/pulls) when you have done.
+7. Translate `src/pages/Settings.vue` (search for a `Confirm` component with `rel="confirmDisableAuth"`).
+8. Import your language file in `src/main.js` and add it to `languageList` constant.
+9. Make a [pull request](https://github.com/louislam/uptime-kuma/pulls) when you have done.
If you do not have programming skills, let me know in [Issues section](https://github.com/louislam/uptime-kuma/issues). I will assist you. 😏
diff --git a/src/languages/es-ES.js b/src/languages/es-ES.js
index 7342857..96ce923 100644
--- a/src/languages/es-ES.js
+++ b/src/languages/es-ES.js
@@ -84,7 +84,7 @@ export default {
"New Password": "Nueva contraseña",
"Repeat New Password": "Repetir nueva contraseña",
"Update Password": "Actualizar contraseña",
- "Disable Auth": "deshabilitar Autenticación ",
+ "Disable Auth": "Deshabilitar Autenticación ",
"Enable Auth": "Habilitar Autenticación ",
Logout: "Cerrar sesión",
Leave: "Salir",
diff --git a/src/main.js b/src/main.js
index fba4b91..3b00f24 100644
--- a/src/main.js
+++ b/src/main.js
@@ -26,6 +26,7 @@ import { appName } from "./util.ts";
import en from "./languages/en";
import zhHK from "./languages/zh-HK";
import deDE from "./languages/de-DE";
+import esEs from "./languages/es-ES";
import fr from "./languages/fr";
import ja from "./languages/ja";
import daDK from "./languages/da-DK";
@@ -99,6 +100,7 @@ const languageList = {
en,
"zh-HK": zhHK,
"de-DE": deDE,
+ "es-ES": esEs,
"fr": fr,
"ja": ja,
"da-DK": daDK,
From b1647a310eede09952bba9cb4fb7adb4558711df Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 2 Sep 2021 22:37:51 +0800
Subject: [PATCH 102/162] add demo db
---
db/demo_kuma.db | Bin 0 -> 65536 bytes
package.json | 2 --
server/server.js | 8 ++++++++
3 files changed, 8 insertions(+), 2 deletions(-)
create mode 100644 db/demo_kuma.db
diff --git a/db/demo_kuma.db b/db/demo_kuma.db
new file mode 100644
index 0000000000000000000000000000000000000000..2042fcf2fefebb30173033c355b54244dfdb373f
GIT binary patch
literal 65536
zcmeI*&u`n-0S9o>v?Wui&0?u1blw(LNoQ-dY>JL-i^G7)GM%`wWyhAgB!(c+B5gB~
zD4C?}xJ3sz={jK8fZd1w0XywB6#Waf+fKtyyKaY_)&jj0=-#79n)HulDV84#zKm>B
z?0l3YquU#oI6$$oa`2~oXNs}o-j
zd_SGdvcIgm+IG`uwJprm-cZ*?
ztL=(bx7idsw%O9`Bk_T8Bx+r^ZCVZ6Xc?9}k>V|_Wr**U*2_0b>*M)?lqJiwhHD-e
z;{59BvRbN$y0N2mo35A-Vr
zH=2fPq#Chf6yee#bF&qpr6Pt^XKO^e3;n>85Qo+>;6yG^>0x
z?qCb8(J(r+);q4|cAZ9BH=O!?hcsH+sj{Hn5w|YhxHgnpt(+gAHa?URPga?FZ9?>x#FL=cvX?T4JeOstW0*+(mUGF>RJAN@Gmd)1>j
zLGb9Zl)ty$k?h=(@!@F#f?jiNeQBk%epkGu-W7u$)Gv)-C(+<#nk3&Ho$$+31Yk>ZWM%&skch6nb8!*(ut|^F;
zxb}LxydQ^OyHAQU2$?;eO?ZdEN2-@;GD2`oYuEpijAzwf`ZT%p_fHPbkqk&uHq5=a
zSy{Thsruo_XrvoeAR+xVv~P<>k^I5yx856NkaHEs#W`{`ma>B=q@K@pY
zMdE4^Es)QlVmY}
zU6E&%yv+XYjj_Hb1)Na|GV^QU2Q1I_V^aMp@9T=HK!maW;!ZM(HoxnH^K
z%ysr;Ek*Lh3STnhg$V)>fB*y_009U<00Izz00bZafmcglkW2I4X9vCW|F0O~t5++7
z$PEM_009U<00Izz00bZa0SG_<0zCna<9T}jf4^{#5&j|kRyZUxm>>WF2tWV=5P$##
zAOHafKmY;|cnX2h{sHFd$f#~Q^bv8TuDj>jU1Qg<3|nhvxB+G=J?fCh12y(ki##aF
zSfbBL+R>U$5aw22g1K@$z}!D{Hw^NOGuOY*zj;u;wXIewg$HYu;)DIE&c1s8PIs?7
zS+qOX?~>W->ULp%_vV9Qb?UvF2c2r6G`sq3c7VwV40%MFwyilvojlUXAoPmOKIbd5LmT({#WQ&Y`$*L0d%Ytk~va|YZ_^3Sp)=W|jqC&^;|
zx+2dg)3d3qj4Vkxxme89O8H6eAHDvM@Be!NWs6-x00Izz00bZa0SG_<0uX=z1fHXS
zcm03(FARC%`u}ru$F3j%0SG_<0uX=z1Rwwb2teR}A@FF7Jno+V==KMh1FdQ58O61`
z#zgPUV%yFrTN%ePCmZClxxUlXY{PMylZ|#OGm-h>Wb|4(SrB_$^CPLYGYYwwF3UM-
zCMU~Pd0HtH$!k)Qq;GdE9#t5k}@Agv~m6)!N4p8AOHafKmY;|
QfB*y_009U<;8ha%H*LkKp8x;=
literal 0
HcmV?d00001
diff --git a/package.json b/package.json
index f279351..9d6ca25 100644
--- a/package.json
+++ b/package.json
@@ -16,8 +16,6 @@
"dev": "vite --host",
"start": "npm run start-server",
"start-server": "node server/server.js",
- "start-demo-server": "set NODE_ENV=demo && node server/server.js",
- "update": "",
"build": "vite build",
"vite-preview-dist": "vite preview --host",
"build-docker": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.5.2 --target release . --push",
diff --git a/server/server.js b/server/server.js
index 39191de..3387631 100644
--- a/server/server.js
+++ b/server/server.js
@@ -50,6 +50,14 @@ const port = parseInt(process.env.PORT || args.port || 3001);
const sslKey = process.env.SSL_KEY || args["ssl-key"] || undefined;
const sslCert = process.env.SSL_CERT || args["ssl-cert"] || undefined;
+// Demo Mode?
+const demoMode = args["demo"] || false;
+
+if (demoMode) {
+ console.log("==== Demo Mode ====");
+ Database.templatePath = "./demo_kuma.db";
+}
+
// Data Directory (must be end with "/")
Database.dataDir = process.env.DATA_DIR || args["data-dir"] || "./data/";
Database.path = Database.dataDir + "kuma.db";
From 60f2f08ceae2882ad3d0a46c97754c82ac74c236 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 2 Sep 2021 22:39:04 +0800
Subject: [PATCH 103/162] add demo db
---
server/server.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/server/server.js b/server/server.js
index 3387631..ade65df 100644
--- a/server/server.js
+++ b/server/server.js
@@ -55,7 +55,7 @@ const demoMode = args["demo"] || false;
if (demoMode) {
console.log("==== Demo Mode ====");
- Database.templatePath = "./demo_kuma.db";
+ Database.templatePath = "./db/demo_kuma.db";
}
// Data Directory (must be end with "/")
From e31be8caf57c497b6789fbbf51bf43765f947a3d Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Thu, 2 Sep 2021 22:52:20 +0800
Subject: [PATCH 104/162] demo mode
---
server/server.js | 1 -
1 file changed, 1 deletion(-)
diff --git a/server/server.js b/server/server.js
index ade65df..e4cd06e 100644
--- a/server/server.js
+++ b/server/server.js
@@ -55,7 +55,6 @@ const demoMode = args["demo"] || false;
if (demoMode) {
console.log("==== Demo Mode ====");
- Database.templatePath = "./db/demo_kuma.db";
}
// Data Directory (must be end with "/")
From 3831dfe0b91c12858929da5e003982d430a964d1 Mon Sep 17 00:00:00 2001
From: Louis Lam
Date: Fri, 3 Sep 2021 02:55:36 +0800
Subject: [PATCH 105/162] Update README.md
---
README.md | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/README.md b/README.md
index 925b879..68619fc 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,17 @@ It is a self-hosted monitoring tool like "Uptime Robot".
+## 🥔 Live Demo
+
+Try it!
+
+https://demo.uptime.kuma.pet
+
+It is a 5 minutes live demo, all data will be deleted after that. The server is located at Tokyo, if you live far away from here, it may affact your experience. I suggest that you should install to try it.
+
+VPS is sponsored by Uptime Kuma sponsors on Open Collective! Thank you so much!
+
+
## ⭐ Features
* Monitoring uptime for HTTP(s) / TCP / Ping / DNS Record.
From 2241d8817f921a1e01d410b19cf83eb74a950f70 Mon Sep 17 00:00:00 2001
From: cecile
Date: Thu, 2 Sep 2021 23:41:47 +0200
Subject: [PATCH 106/162] change translation FR
---
src/languages/fr.js | 64 ++++++++++++++++++++++-----------------------
1 file changed, 32 insertions(+), 32 deletions(-)
diff --git a/src/languages/fr.js b/src/languages/fr.js
index 694f4d2..e4f999d 100644
--- a/src/languages/fr.js
+++ b/src/languages/fr.js
@@ -1,7 +1,7 @@
export default {
languageName: "Français (France)",
Settings: "Paramètres",
- Dashboard: "Dashboard",
+ Dashboard: "Tableau de bord",
"New Update": "Mise à jour disponible",
Language: "Langue",
Appearance: "Apparence",
@@ -11,11 +11,11 @@ export default {
"Check Update On GitHub": "Consulter les mises à jour sur Github",
List: "Lister",
Add: "Ajouter",
- "Add New Monitor": "Ajouter un nouveau check",
+ "Add New Monitor": "Ajouter une nouvelle sonde",
"Quick Stats": "Résumé",
Up: "En ligne",
Down: "Hors ligne",
- Pending: "Dans la file d'attente",
+ Pending: "En attente",
Unknown: "Inconnu",
Pause: "En Pause",
pauseDashboardHome: "Éléments mis en pause",
@@ -29,60 +29,60 @@ export default {
Delete: "Supprimer",
Current: "Actuellement",
Uptime: "Uptime",
- "Cert Exp.": "Cert Exp.",
+ "Cert Exp.": "Certificat expiré",
days: "Jours",
day: "Jour",
- "-day": "Demi-Journée",
+ "-day": "Journée",
hour: "Heure",
- "-hour": "Demi-Heure",
+ "-hour": "Heures",
checkEverySecond: "Vérifier toutes les {0} secondes",
- "Avg.": "Moy.",
- Response: "Réponse",
+ "Avg.": "Moyen",
+ Response: "Temps de réponse",
Ping: "Ping",
- "Monitor Type": "Type de Monitoring",
+ "Monitor Type": "Type de Sonde",
Keyword: "Mot-clé",
"Friendly Name": "Nom d'affichage",
URL: "URL",
Hostname: "Nom d'hôte",
Port: "Port",
- "Heartbeat Interval": "Intervale de vérifications",
+ "Heartbeat Interval": "Intervale de vérification",
Retries: "Essais",
retriesDescription: "Nombre d'essais avant que le service soit déclaré hors-ligne.",
Advanced: "Avancé",
ignoreTLSError: "Ignorer les erreurs liées au certificat SSL/TLS",
"Upside Down Mode": "Mode inversé",
- upsideDownModeDescription: "Si le service est en ligne il sera alors noté hors-ligne et vice-versa.",
- "Max. Redirects": "Redirections",
+ upsideDownModeDescription: "Si le service est en ligne, il sera alors noté hors-ligne et vice-versa.",
+ "Max. Redirects": "Nombre maximum de redirections",
maxRedirectDescription: "Nombre maximal de redirections avant que le service soit noté hors-ligne.",
"Accepted Status Codes": "Codes HTTP",
- acceptedStatusCodesDescription: "Si les codes HTTP reçus sont ceux séléctionnés, alors le serveur sera noté en ligne.",
+ acceptedStatusCodesDescription: "Codes HTTP considérés comme en ligne",
Save: "Sauvegarder",
Notifications: "Notifications",
- "Not available, please setup.": "Créez des notifications depuis les paramètres.",
+ "Not available, please setup.": "Pas de système de notification disponible, merci de le configurer",
"Setup Notification": "Créer une notification",
Light: "Clair",
Dark: "Sombre",
Auto: "Automatique",
- "Theme - Heartbeat Bar": "Voir les services monitorés",
+ "Theme - Heartbeat Bar": "Voir les services surveillés",
Normal: "Général",
- Bottom: "Au dessus",
- None: "Neutre",
+ Bottom: "En dessous",
+ None: "Non",
Timezone: "Fuseau Horaire",
- "Search Engine Visibility": "SEO",
+ "Search Engine Visibility": "Visibilité par les moteurs de recherche",
"Allow indexing": "Autoriser l'indexation par des moteurs de recherche",
- "Discourage search engines from indexing site": "Empêche les moteurs de recherche d'indexer votre site",
+ "Discourage search engines from indexing site": "Refuser l'indexation par des moteurs de recherche",
"Change Password": "Changer le mot de passe",
"Current Password": "Mot de passe actuel",
"New Password": "Nouveau mot de passe",
"Repeat New Password": "Répéter votre nouveau mot de passe",
passwordNotMatchMsg: "Les mots de passe ne correspondent pas",
"Update Password": "Mettre à jour le mot de passe",
- "Disable Auth": "Désactiver l'authentification intégrée",
+ "Disable Auth": "Désactiver l'authentification",
"Enable Auth": "Activer l'authentification",
Logout: "Se déconnecter",
- notificationDescription: "Une fois ajoutée, vous devez l'activer manuellement dans les paramètres de vos hosts.",
+ notificationDescription: "Une fois ajoutée, vous devez l'activer manuellement dans les paramètres de vos hôtes.",
Leave: "Quitter",
- "I understand, please disable": "Je comprends, je l'ai désactivé",
+ "I understand, please disable": "J'ai compris, désactivez-le",
Confirm: "Confirmer",
Yes: "Oui",
No: "Non",
@@ -90,23 +90,23 @@ export default {
Password: "Mot de passe",
"Remember me": "Se souvenir de moi",
Login: "Se connecter",
- "No Monitors, please": "Pas de monitor, veuillez ",
- "add one": "en ajouter un.",
+ "No Monitors, please": "Pas de sondes, veuillez ",
+ "add one": "en ajouter une.",
"Notification Type": "Type de notification",
Email: "Email",
Test: "Tester",
- keywordDescription: "Le mot clé sera cherché dans la réponse HTML/JSON reçue du site internet.",
- "Certificate Info": "Des informations sur le certificat SSL",
- deleteMonitorMsg: "Êtes-vous sûr de vouloir supprimer ce monitor ?",
+ keywordDescription: "Le mot clé sera recherché dans la réponse HTML/JSON reçue du site internet.",
+ "Certificate Info": "Informations sur le certificat SSL",
+ deleteMonitorMsg: "Êtes-vous sûr de vouloir supprimer cette sonde ?",
deleteNotificationMsg: "Êtes-vous sûr de vouloir supprimer ce type de notifications ? Une fois désactivée, les services qui l'utilisent ne pourront plus envoyer de notifications.",
"Resolver Server": "Serveur DNS utilisé",
"Resource Record Type": "Type d'enregistrement DNS recherché",
resoverserverDescription: "Le DNS de cloudflare est utilisé par défaut, mais vous pouvez le changer si vous le souhaitez.",
rrtypeDescription: "Veuillez séléctionner un type d'enregistrement DNS",
- pauseMonitorMsg: "Are you sure want to pause?",
- "Last Result": "Last Result",
- "Create your admin account": "Create your admin account",
- "Repeat Password": "Repeat Password",
- respTime: "Resp. Time (ms)",
+ pauseMonitorMsg: "Etes vous sur de vouloir mettre en pause cette sonde ?",
+ "Last Result": "Dernier résultat",
+ "Create your admin account": "Créez votre compte administrateur",
+ "Repeat Password": "Répéter le mot de passe",
+ respTime: "Temps de réponse (ms)",
notAvailableShort: "N/A"
}
From 53a14cf4f5833cb419416d0d816c92701835921d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Du=C5=A1an=20Simi=C4=87?=
Date: Fri, 3 Sep 2021 02:06:26 +0200
Subject: [PATCH 107/162] Add Serbian Cyrilic locale
---
src/languages/sr.js | 112 +++++++++++++++++++++++++++++++++++++++++
src/main.js | 2 +
src/pages/Settings.vue | 6 +++
3 files changed, 120 insertions(+)
create mode 100644 src/languages/sr.js
diff --git a/src/languages/sr.js b/src/languages/sr.js
new file mode 100644
index 0000000..0bd0840
--- /dev/null
+++ b/src/languages/sr.js
@@ -0,0 +1,112 @@
+export default {
+ languageName: "Српски",
+ checkEverySecond: "Провери сваких {0} секунди.",
+ "Avg.": "Просечни ",
+ retriesDescription: "Максимум покушаја пре него што се сервис обележи као неактиван и пошаље се обавештење.",
+ ignoreTLSError: "Игнориши TLS/SSL грешке за HTTPS веб странице.",
+ upsideDownModeDescription: "Обрните статус. Ако је сервис доступан, онда је обележен као неактиван.",
+ maxRedirectDescription: "Максимани број преусмерења да се прате. Поставите на 0 да би се искључила преусмерења.",
+ acceptedStatusCodesDescription: "Одаберите статусне кодове који се сматрају успешним одговором.",
+ passwordNotMatchMsg: "Поновљена лозинка се не поклапа.",
+ notificationDescription: "Молим Вас поставите обавештење за масматраче да бисе активирали.",
+ keywordDescription: "Претражи кључну реч у чистом html или JSON одговору са осетљивим великим и малим словима",
+ pauseDashboardHome: "Паузирај",
+ deleteMonitorMsg: "Да ли сте сигурни да желите да обришете овог посматрача?",
+ deleteNotificationMsg: "Да ли сте сигурни д ажелите да уклоните ово обавештење за све посматраче?",
+ resoverserverDescription: "Cloudflare је подразумевани сервер. Можете променити сервер за расзрешавање у било ком тренутку.",
+ rrtypeDescription: "Одаберите RR-Type који желите да посматрате",
+ pauseMonitorMsg: "Да ли сте сигурни да желите да паузирате?",
+ Settings: "Подешавања",
+ Dashboard: "Командна табла",
+ "New Update": "Нова верзија",
+ Language: "Језик",
+ Appearance: "Изглед",
+ Theme: "Тема",
+ General: "Опште",
+ Version: "Верзија",
+ "Check Update On GitHub": "Проверите нову верзију на GitHub-у",
+ List: "Листа",
+ Add: "Додај",
+ "Add New Monitor": "Додај новог посматрача",
+ "Quick Stats": "Брзе статистике",
+ Up: "Активно",
+ Down: "Неактивно",
+ Pending: "Нерешено",
+ Unknown: "Непознато",
+ Pause: "Паузирај",
+ Name: "Име",
+ Status: "Статус",
+ DateTime: "Датум и време",
+ Message: "Порука",
+ "No important events": "Нема битних догађаја",
+ Resume: "Настави",
+ Edit: "Измени",
+ Delete: "Уклони",
+ Current: "Тренутно",
+ Uptime: "Време рада",
+ "Cert Exp.": "Истек серт.",
+ days: "дана",
+ day: "дан",
+ "-day": "-дана",
+ hour: "сат",
+ "-hour": "-сата",
+ Response: "Одговор",
+ Ping: "Пинг",
+ "Monitor Type": "Тип посматрача",
+ Keyword: "Кључна реч",
+ "Friendly Name": "Пријатељско име",
+ URL: "URL",
+ Hostname: "Hostname",
+ Port: "Порт",
+ "Heartbeat Interval": "Интервал откуцаја срца",
+ Retries: "Покушаји",
+ Advanced: "Напредно",
+ "Upside Down Mode": "Наопак мод",
+ "Max. Redirects": "Макс. преусмерења",
+ "Accepted Status Codes": "Прихваћени статусни кодови",
+ Save: "Сачувај",
+ Notifications: "Обавештења",
+ "Not available, please setup.": "Није доступно, молим Вас подесите.",
+ "Setup Notification": "Постави обавештење",
+ Light: "Светло",
+ Dark: "Тамно",
+ Auto: "Аутоматско",
+ "Theme - Heartbeat Bar": "Тема - Трака откуцаја срца",
+ Normal: "Нормално",
+ Bottom: "Доле",
+ None: "Искључено",
+ Timezone: "Временска зона",
+ "Search Engine Visibility": "Видљивост претраживачима",
+ "Allow indexing": "Дозволи индексирање",
+ "Discourage search engines from indexing site": "Одвраћајте претраживаче од индексирања сајта",
+ "Change Password": "Промени лозинку",
+ "Current Password": "Тренутна лозинка",
+ "New Password": "Нова лозинка",
+ "Repeat New Password": "Понови нову лозинку",
+ "Update Password": "Измени лозинку",
+ "Disable Auth": "Искључи аутентификацију",
+ "Enable Auth": "Укључи аутентификацију",
+ Logout: "Одлогуј се",
+ Leave: "Изађи",
+ "I understand, please disable": "Разумем, молим те искључи",
+ Confirm: "Потврди",
+ Yes: "Да",
+ No: "Не",
+ Username: "Корисничко име",
+ Password: "Лозинка",
+ "Remember me": "Запамти ме",
+ Login: "Улогуј се",
+ "No Monitors, please": "Без посматрача молим",
+ "add one": "додај једног",
+ "Notification Type": "Тип обавештења",
+ Email: "Е-пошта",
+ Test: "Тест",
+ "Certificate Info": "Информације сертификата",
+ "Resolver Server": "Разрешивачки сервер",
+ "Resource Record Type": "Тип записа ресурса",
+ "Last Result": "Последњи резултат",
+ "Create your admin account": "Наприви администраторски налог",
+ "Repeat Password": "Поновите лозинку",
+ respTime: "Време одг. (мс)",
+ notAvailableShort: "N/A"
+}
diff --git a/src/main.js b/src/main.js
index 3b00f24..9750dd4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -30,6 +30,7 @@ import esEs from "./languages/es-ES";
import fr from "./languages/fr";
import ja from "./languages/ja";
import daDK from "./languages/da-DK";
+import sr from "./languages/sr";
import svSE from "./languages/sv-SE";
import koKR from "./languages/ko-KR";
import ruRU from "./languages/ru-RU";
@@ -104,6 +105,7 @@ const languageList = {
"fr": fr,
"ja": ja,
"da-DK": daDK,
+ "sr": sr,
"sv-SE": svSE,
"ko-KR": koKR,
"ru-RU": ruRU,
diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue
index 85ca006..679a2a7 100644
--- a/src/pages/Settings.vue
+++ b/src/pages/Settings.vue
@@ -189,6 +189,12 @@
Es ist für jemanden der eine externe Authentifizierung vor Uptime Kuma geschaltet hat, wie z.B. Cloudflare Access.
Bitte mit Vorsicht nutzen.
+
+
+ Да ли сте сигурни да желите да искључите аутентификацију ?
+ То је за оне који имају додату аутентификацију испред Uptime Kuma као на пример Cloudflare Access.
+ Молим вас користите ово са пажњом.
+
From 79fda8f442b8f078c42512db2ab3860cd8d5f609 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Du=C5=A1an=20Simi=C4=87?=
Date: Fri, 3 Sep 2021 02:20:01 +0200
Subject: [PATCH 108/162] Add Serbian Latin locale
---
src/languages/sr-latn.js | 112 +++++++++++++++++++++++++++++++++++++++
src/main.js | 2 +
src/pages/Settings.vue | 6 +++
3 files changed, 120 insertions(+)
create mode 100644 src/languages/sr-latn.js
diff --git a/src/languages/sr-latn.js b/src/languages/sr-latn.js
new file mode 100644
index 0000000..aa7d95c
--- /dev/null
+++ b/src/languages/sr-latn.js
@@ -0,0 +1,112 @@
+export default {
+ languageName: "Srpski",
+ checkEverySecond: "Proveri svakih {0} sekundi.",
+ "Avg.": "Prosečni ",
+ retriesDescription: "Maksimum pokušaja pre nego što se servis obeleži kao neaktivan i pošalje se obaveštenje.",
+ ignoreTLSError: "Ignoriši TLS/SSL greške za HTTPS veb stranice.",
+ upsideDownModeDescription: "Obrnite status. Ako je servis dostupan, onda je obeležen kao neaktivan.",
+ maxRedirectDescription: "Maksimani broj preusmerenja da se prate. Postavite na 0 da bi se isključila preusmerenja.",
+ acceptedStatusCodesDescription: "Odaberite statusne kodove koji se smatraju uspešnim odgovorom.",
+ passwordNotMatchMsg: "Ponovljena lozinka se ne poklapa.",
+ notificationDescription: "Molim Vas postavite obaveštenje za masmatrače da bise aktivirali.",
+ keywordDescription: "Pretraži ključnu reč u čistom html ili JSON odgovoru sa osetljivim velikim i malim slovima",
+ pauseDashboardHome: "Pauziraj",
+ deleteMonitorMsg: "Da li ste sigurni da želite da obrišete ovog posmatrača?",
+ deleteNotificationMsg: "Da li ste sigurni d aželite da uklonite ovo obaveštenje za sve posmatrače?",
+ resoverserverDescription: "Cloudflare je podrazumevani server. Možete promeniti server za raszrešavanje u bilo kom trenutku.",
+ rrtypeDescription: "Odaberite RR-Type koji želite da posmatrate",
+ pauseMonitorMsg: "Da li ste sigurni da želite da pauzirate?",
+ Settings: "Podešavanja",
+ Dashboard: "Komandna tabla",
+ "New Update": "Nova verzija",
+ Language: "Jezik",
+ Appearance: "Izgled",
+ Theme: "Tema",
+ General: "Opšte",
+ Version: "Verzija",
+ "Check Update On GitHub": "Proverite novu verziju na GitHub-u",
+ List: "Lista",
+ Add: "Dodaj",
+ "Add New Monitor": "Dodaj novog posmatrača",
+ "Quick Stats": "Brze statistike",
+ Up: "Aktivno",
+ Down: "Neaktivno",
+ Pending: "Nerešeno",
+ Unknown: "Nepoznato",
+ Pause: "Pauziraj",
+ Name: "Ime",
+ Status: "Status",
+ DateTime: "Datum i vreme",
+ Message: "Poruka",
+ "No important events": "Nema bitnih događaja",
+ Resume: "Nastavi",
+ Edit: "Izmeni",
+ Delete: "Ukloni",
+ Current: "Trenutno",
+ Uptime: "Vreme rada",
+ "Cert Exp.": "Istek sert.",
+ days: "dana",
+ day: "dan",
+ "-day": "-dana",
+ hour: "sat",
+ "-hour": "-sata",
+ Response: "Odgovor",
+ Ping: "Ping",
+ "Monitor Type": "Tip posmatrača",
+ Keyword: "Ključna reč",
+ "Friendly Name": "Prijateljsko ime",
+ URL: "URL",
+ Hostname: "Hostname",
+ Port: "Port",
+ "Heartbeat Interval": "Interval otkucaja srca",
+ Retries: "Pokušaji",
+ Advanced: "Napredno",
+ "Upside Down Mode": "Naopak mod",
+ "Max. Redirects": "Maks. preusmerenja",
+ "Accepted Status Codes": "Prihvaćeni statusni kodovi",
+ Save: "Sačuvaj",
+ Notifications: "Obaveštenja",
+ "Not available, please setup.": "Nije dostupno, molim Vas podesite.",
+ "Setup Notification": "Postavi obaveštenje",
+ Light: "Svetlo",
+ Dark: "Tamno",
+ Auto: "Automatsko",
+ "Theme - Heartbeat Bar": "Tema - Traka otkucaja srca",
+ Normal: "Normalno",
+ Bottom: "Dole",
+ None: "Isključeno",
+ Timezone: "Vremenska zona",
+ "Search Engine Visibility": "Vidljivost pretraživačima",
+ "Allow indexing": "Dozvoli indeksiranje",
+ "Discourage search engines from indexing site": "Odvraćajte pretraživače od indeksiranja sajta",
+ "Change Password": "Promeni lozinku",
+ "Current Password": "Trenutna lozinka",
+ "New Password": "Nova lozinka",
+ "Repeat New Password": "Ponovi novu lozinku",
+ "Update Password": "Izmeni lozinku",
+ "Disable Auth": "Isključi autentifikaciju",
+ "Enable Auth": "Uključi autentifikaciju",
+ Logout: "Odloguj se",
+ Leave: "Izađi",
+ "I understand, please disable": "Razumem, molim te isključi",
+ Confirm: "Potvrdi",
+ Yes: "Da",
+ No: "Ne",
+ Username: "Korisničko ime",
+ Password: "Lozinka",
+ "Remember me": "Zapamti me",
+ Login: "Uloguj se",
+ "No Monitors, please": "Bez posmatrača molim",
+ "add one": "dodaj jednog",
+ "Notification Type": "Tip obaveštenja",
+ Email: "E-pošta",
+ Test: "Test",
+ "Certificate Info": "Informacije sertifikata",
+ "Resolver Server": "Razrešivački server",
+ "Resource Record Type": "Tip zapisa resursa",
+ "Last Result": "Poslednji rezultat",
+ "Create your admin account": "Naprivi administratorski nalog",
+ "Repeat Password": "Ponovite lozinku",
+ respTime: "Vreme odg. (ms)",
+ notAvailableShort: "N/A"
+}
diff --git a/src/main.js b/src/main.js
index 3b00f24..ecbd0d0 100644
--- a/src/main.js
+++ b/src/main.js
@@ -30,6 +30,7 @@ import esEs from "./languages/es-ES";
import fr from "./languages/fr";
import ja from "./languages/ja";
import daDK from "./languages/da-DK";
+import srLatn from "./languages/sr-latn";
import svSE from "./languages/sv-SE";
import koKR from "./languages/ko-KR";
import ruRU from "./languages/ru-RU";
@@ -104,6 +105,7 @@ const languageList = {
"fr": fr,
"ja": ja,
"da-DK": daDK,
+ "sr-latn": srLatn,
"sv-SE": svSE,
"ko-KR": koKR,
"ru-RU": ruRU,
diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue
index 85ca006..95f977d 100644
--- a/src/pages/Settings.vue
+++ b/src/pages/Settings.vue
@@ -189,6 +189,12 @@
Es ist für jemanden der eine externe Authentifizierung vor Uptime Kuma geschaltet hat, wie z.B. Cloudflare Access.
Bitte mit Vorsicht nutzen.
+
+
+ Da li ste sigurni da želite da isključite autentifikaciju ?
+ To je za one koji imaju dodatu autentifikaciju ispred Uptime Kuma kao na primer Cloudflare Access.
+ Molim Vas koristite ovo sa pažnjom.
+
From 19a4d570ecb36f4177ffd6ceaee06b63786c4b32 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Du=C5=A1an=20Simi=C4=87?=
Date: Fri, 3 Sep 2021 02:24:31 +0200
Subject: [PATCH 109/162] Fix word capitalization
---
src/pages/Settings.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue
index 679a2a7..c90dcc1 100644
--- a/src/pages/Settings.vue
+++ b/src/pages/Settings.vue
@@ -193,7 +193,7 @@
Да ли сте сигурни да желите да искључите аутентификацију ?
То је за оне који имају додату аутентификацију испред Uptime Kuma као на пример Cloudflare Access.
- Молим вас користите ово са пажњом.
+ Молим Вас користите ово са пажњом.
From 18616ee590075b6e71e187ba9960f97eee4ce4c7 Mon Sep 17 00:00:00 2001
From: Nelson Chan
Date: Fri, 3 Sep 2021 12:05:49 +0800
Subject: [PATCH 110/162] Fix: Fix Notification "Test" btn styling
---
src/assets/app.scss | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/src/assets/app.scss b/src/assets/app.scss
index 41248a5..1f75e97 100644
--- a/src/assets/app.scss
+++ b/src/assets/app.scss
@@ -71,6 +71,14 @@ h2 {
}
}
+.btn-warning {
+ color: white;
+
+ &:hover, &:active, &:focus, &.active {
+ color: white;
+ }
+}
+
.btn-info {
color: white;
@@ -186,6 +194,14 @@ h2 {
color: white;
}
+ .btn-warning {
+ color: $dark-font-color2;
+
+ &:hover, &:active, &:focus, &.active {
+ color: $dark-font-color2;
+ }
+ }
+
.btn-close {
box-shadow: none;
filter: invert(1);
From 312aedf391139e6a121876e4fd29af88c5a06389 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=96=B0=E9=80=B8Cary?=
Date: Fri, 3 Sep 2021 13:33:26 +0800
Subject: [PATCH 111/162] =?UTF-8?q?Update=20Chinese=20Translation=EF=BC=88?=
=?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=AE=80=E4=BD=93=E4=B8=AD=E6=96=87=E8=AF=AD?=
=?UTF-8?q?=E8=A8=80=E7=BF=BB=E8=AF=91=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/languages/zh-CN.js | 42 +++++++++++++++++++++---------------------
src/pages/Settings.vue | 6 ++++++
2 files changed, 27 insertions(+), 21 deletions(-)
diff --git a/src/languages/zh-CN.js b/src/languages/zh-CN.js
index b67f1d5..d179a91 100644
--- a/src/languages/zh-CN.js
+++ b/src/languages/zh-CN.js
@@ -1,20 +1,20 @@
export default {
languageName: "简体中文",
checkEverySecond: "检测频率 {0} 秒",
- "Avg.": "平均 ",
- retriesDescription: "最大重试次数",
+ "Avg.": "平均",
+ retriesDescription: "最大重试失败次数",
ignoreTLSError: "忽略HTTPS站点的证书错误",
- upsideDownModeDescription: "反向状态监控",
+ upsideDownModeDescription: "反向状态监控(状态码范围外为有效状态,反之为无效)",
maxRedirectDescription: "最大重定向次数,设置为 0 禁止重定向",
acceptedStatusCodesDescription: "选择被视为成功响应的状态码",
passwordNotMatchMsg: "两次密码输入不一致",
- notificationDescription: "请先设置一个消息通知",
+ notificationDescription: "请为监控项配置消息通知",
keywordDescription: "检测响应内容中的关键字,区分大小写",
- pauseDashboardHome: "Pause",
+ pauseDashboardHome: "暂停",
deleteMonitorMsg: "确定要删除此监控吗?",
deleteNotificationMsg: "确定要删除此消息通知吗?这将对所有监控生效。",
resoverserverDescription: "默认服务器 Cloudflare,可以修改为任意你想要使用的DNS服务器",
- rrtypeDescription: "选择您要监控的资源记录类型",
+ rrtypeDescription: "选择要监控的资源记录类型",
pauseMonitorMsg: "确定要暂停吗?",
Settings: "设置",
Dashboard: "仪表盘",
@@ -27,7 +27,7 @@ export default {
"Check Update On GitHub": "检查更新",
List: "列表",
Add: "添加",
- "Add New Monitor": "添加新的监控",
+ "Add New Monitor": "创建监控项",
"Quick Stats": "状态速览",
Up: "正常",
Down: "故障",
@@ -50,12 +50,12 @@ export default {
"-day": " 天",
hour: "小时",
"-hour": " 小时",
- Response: "响应",
+ Response: "响应时长",
Ping: "Ping",
"Monitor Type": "监控类型",
Keyword: "关键字",
- "Friendly Name": "名称",
- URL: "网址",
+ "Friendly Name": "自定义名称",
+ URL: "网址URL",
Hostname: "主机名",
Port: "端口号",
"Heartbeat Interval": "心跳间隔",
@@ -66,12 +66,12 @@ export default {
"Accepted Status Codes": "有效状态码",
Save: "保存",
Notifications: "消息通知",
- "Not available, please setup.": "不可用,请设置",
+ "Not available, please setup.": "无可用通道,请先设置",
"Setup Notification": "设置通知",
Light: "明亮",
Dark: "黑暗",
Auto: "自动",
- "Theme - Heartbeat Bar": "心跳状态显示",
+ "Theme - Heartbeat Bar": "状态显示",
Normal: "正常显示",
Bottom: "靠下显示",
None: "不显示",
@@ -81,23 +81,23 @@ export default {
"Discourage search engines from indexing site": "阻止搜索引擎索引网站",
"Change Password": "修改密码",
"Current Password": "当前密码",
- "New Password": "新密码",
- "Repeat New Password": "重复新密码",
+ "New Password": "新的密码",
+ "Repeat New Password": "重复新的密码",
"Update Password": "更新密码",
"Disable Auth": "禁用身份验证",
"Enable Auth": "启用身份验证",
Logout: "退出",
Leave: "离开",
- "I understand, please disable": "我已经了解,继续禁用",
+ "I understand, please disable": "我已了解,继续禁用",
Confirm: "确认",
- Yes: "是的",
- No: "不是",
+ Yes: "确定",
+ No: "取消",
Username: "用户名",
Password: "密码",
- "Remember me": "请记住我",
+ "Remember me": "记住登录",
Login: "登录",
- "No Monitors, please": "没有监控,",
- "add one": "添加一个",
+ "No Monitors, please": "还没有监控项,",
+ "add one": "点击新增",
"Notification Type": "消息类型",
Email: "邮件",
Test: "测试一下",
@@ -107,6 +107,6 @@ export default {
"Last Result": "Last Result",
"Create your admin account": "创建管理员账号",
"Repeat Password": "重复密码",
- respTime: "响应时间 (ms)",
+ respTime: "Resp. Time (ms)",
notAvailableShort: "N/A"
}
diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue
index d71ec10..a1cdd17 100644
--- a/src/pages/Settings.vue
+++ b/src/pages/Settings.vue
@@ -178,6 +178,12 @@
請小心使用。
+
+ 是否确定 取消登录验证 ?
+ 这是为 有第三方认证 的用户提供的功能,如 Cloudflare Access
+ 请谨慎使用!
+
+
Bist du sicher das du die Authentifizierung deaktivieren möchtest?
Es ist für jemanden der eine externe Authentifizierung vor Uptime Kuma geschaltet hat, wie z.B. Cloudflare Access.
From c15e6631ae8cf630adb71e95828892e4fe8f41b8 Mon Sep 17 00:00:00 2001
From: Adam Stachowicz
Date: Fri, 3 Sep 2021 09:16:54 +0200
Subject: [PATCH 112/162] Update README.md
Open Collective URL
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 68619fc..bb6589c 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@ https://demo.uptime.kuma.pet
It is a 5 minutes live demo, all data will be deleted after that. The server is located at Tokyo, if you live far away from here, it may affact your experience. I suggest that you should install to try it.
-VPS is sponsored by Uptime Kuma sponsors on Open Collective! Thank you so much!
+VPS is sponsored by Uptime Kuma sponsors on [Open Collective](https://opencollective.com/uptime-kuma)! Thank you so much!
## ⭐ Features
From d2151737c13d91b3189f1256a98defcb32cfbab7 Mon Sep 17 00:00:00 2001
From: Louis Lam
Date: Fri, 3 Sep 2021 17:09:11 +0800
Subject: [PATCH 113/162] Update README.md
---
src/languages/README.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/languages/README.md b/src/languages/README.md
index 9ba99ad..894cb6e 100644
--- a/src/languages/README.md
+++ b/src/languages/README.md
@@ -8,5 +8,11 @@
8. Import your language file in `src/main.js` and add it to `languageList` constant.
9. Make a [pull request](https://github.com/louislam/uptime-kuma/pulls) when you have done.
+
+
+One of good examples:
+https://github.com/louislam/uptime-kuma/pull/316/files
+
+
If you do not have programming skills, let me know in [Issues section](https://github.com/louislam/uptime-kuma/issues). I will assist you. 😏
From e6e2b0ebf8acdf5759644e9fdb775c7024918347 Mon Sep 17 00:00:00 2001
From: J Posthuma
Date: Fri, 3 Sep 2021 13:42:14 +0200
Subject: [PATCH 114/162] Update nl_NL.js
---
src/languages/nl_NL.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/languages/nl_NL.js b/src/languages/nl_NL.js
index b26c17e..60c5089 100644
--- a/src/languages/nl_NL.js
+++ b/src/languages/nl_NL.js
@@ -24,7 +24,7 @@ export default {
Theme: "Thema",
General: "Algemeen",
Version: "Versie",
- "Check Update On GitHub": "Controleer update op GitHub",
+ "Check Update On GitHub": "Controleer voor updates op GitHub",
List: "Lijst",
Add: "Toevoegen",
"Add New Monitor": "Nieuwe monitor toevoegen",
@@ -109,4 +109,4 @@ export default {
"Repeat Password": "Herhaal wachtwoord",
respTime: "resp. tijd (ms)",
notAvailableShort: "N.v.t."
-}
\ No newline at end of file
+}
From 5430da955ae150d70d7993f4ea62c9e80d818ef8 Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Fri, 3 Sep 2021 15:54:14 +0200
Subject: [PATCH 115/162] Small german language adjustments
---
src/languages/de-DE.js | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js
index 7febaad..76c355a 100644
--- a/src/languages/de-DE.js
+++ b/src/languages/de-DE.js
@@ -70,7 +70,7 @@ export default {
Timezone: "Zeitzone",
"Search Engine Visibility": "Suchmaschinensichtbarkeit",
"Allow indexing": "Indizierung zulassen",
- "Discourage search engines from indexing site": "Halte Suchmaschinen von der Indexierung der Site ab",
+ "Discourage search engines from indexing site": "Halte Suchmaschinen von der Indexierung der Seite ab",
"Change Password": "Passwort ändern",
"Current Password": "Dezeitiges Passwort",
"New Password": "Neues Passwort",
@@ -96,10 +96,10 @@ export default {
Email: "E-Mail",
Test: "Test",
"Certificate Info": "Zertifikatsinfo",
- keywordDescription: "Suche nach einen Schlüsselwort in einer schlichten HTML oder JSON Ausgabe. Bitte beachte, es wird in der Groß-/Kleinschreibung unterschieden.",
+ keywordDescription: "Suche nach einem Schlüsselwort in der HTML oder JSON Ausgabe. Bitte beachte, es wird in der Groß-/Kleinschreibung unterschieden.",
deleteMonitorMsg: "Bist du sicher das du den Monitor löschen möchtest?",
deleteNotificationMsg: "Möchtest du diese Benachrichtigung wirklich für alle Monitore löschen?",
- resoverserverDescription: "Cloudflare ist der Standardserver, dieser kann jederzeit geändern werden.",
+ resoverserverDescription: "Cloudflare ist als der Standardserver festgelegt, dieser kann jederzeit geändern werden.",
"Resolver Server": "Auflösungsserver",
rrtypeDescription: "Wähle den RR-Typ aus, welchen du überwachen möchtest.",
"Last Result": "Letztes Ergebnis",
@@ -107,6 +107,6 @@ export default {
"Create your admin account": "Erstelle dein Admin Konto",
"Repeat Password": "Wiederhole das Passwort",
"Resource Record Type": "Resource Record Type",
- respTime: "Resp. Time (ms)",
+ respTime: "Antw. Zeit (ms)",
notAvailableShort: "N/A"
}
From 6d8aa20fc64d2b7a3ec8b0a9221fb863a806563e Mon Sep 17 00:00:00 2001
From: dhfhfk
Date: Fri, 3 Sep 2021 23:18:18 +0900
Subject: [PATCH 116/162] Add missing string for Korean
confirmDisableAuth, new string
---
src/languages/ko-KR.js | 4 ++--
src/pages/Settings.vue | 6 ++++++
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/languages/ko-KR.js b/src/languages/ko-KR.js
index f913bbb..8493193 100644
--- a/src/languages/ko-KR.js
+++ b/src/languages/ko-KR.js
@@ -88,7 +88,7 @@ export default {
"Enable Auth": "인증 켜기",
Logout: "로그아웃",
Leave: "나가기",
- "I understand, please disable": "기능에 대해 이해했어요.",
+ "I understand, please disable": "기능에 대해 이해했으니 꺼주세요.",
Confirm: "확인",
Yes: "확인",
No: "취소",
@@ -107,6 +107,6 @@ export default {
"Last Result": "최근 결과",
"Create your admin account": "관리자 계정 만들기",
"Repeat Password": "비밀번호 재입력",
- respTime: "Resp. Time (ms)",
+ respTime: "응답 시간 (ms)",
notAvailableShort: "N/A"
}
diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue
index 8cf2d51..7056421 100644
--- a/src/pages/Settings.vue
+++ b/src/pages/Settings.vue
@@ -207,6 +207,12 @@
To je za one koji imaju dodatu autentifikaciju ispred Uptime Kuma kao na primer Cloudflare Access.
Molim Vas koristite ovo sa pažnjom.
+
+
+ 정말로 인증 기능을 끌까요 ?
+ 이 기능은 Cloudflare Access와 같은 서드파티 인증 을 Uptime Kuma 앞에 둔 사용자를 위한 기능이에요.
+ 신중하게 사용하세요.
+
From dca5c59982f35a2dc29b1e61f25da198f28cfb30 Mon Sep 17 00:00:00 2001
From: Domenic Horner
Date: Sat, 4 Sep 2021 18:24:43 +0800
Subject: [PATCH 117/162] Update lunasea body content
Co-authored-by: Adam Stachowicz
---
server/notification.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/server/notification.js b/server/notification.js
index 9417e73..fb132ce 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -492,7 +492,7 @@ class Notification {
if (heartbeatJSON["status"] == 0) {
let downdata = {
"title": "UptimeKuma Alert: " + monitorJSON["name"],
- "body": "[🔴 Down]" + heartbeatJSON["msg"] + "\nTime (UTC):" + heartbeatJSON["time"],
+ "body": "[🔴 Down] " + heartbeatJSON["msg"] + "\nTime (UTC): " + heartbeatJSON["time"],
}
await axios.post(lunaseadevice, downdata)
return okMsg;
From 3bf380c684a902b8c5f5d1f6a76536fa0ca5c98d Mon Sep 17 00:00:00 2001
From: Domenic Horner
Date: Sat, 4 Sep 2021 18:26:10 +0800
Subject: [PATCH 118/162] Update lunasea "up" body content
Co-authored-by: Adam Stachowicz
---
server/notification.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/server/notification.js b/server/notification.js
index fb132ce..274f99c 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -501,7 +501,7 @@ class Notification {
if (heartbeatJSON["status"] == 1) {
let updata = {
"title": "UptimeKuma Alert: " + monitorJSON["name"],
- "body": "[✅ Up]" + heartbeatJSON["msg"] + "\nTime (UTC):" + heartbeatJSON["time"],
+ "body": "[✅ Up] " + heartbeatJSON["msg"] + "\nTime (UTC): " + heartbeatJSON["time"],
}
await axios.post(lunaseadevice, updata)
return okMsg;
From d346afd33bb2e349c4f8f08fb3b6d201bab208e2 Mon Sep 17 00:00:00 2001
From: Domenic Horner
Date: Sat, 4 Sep 2021 18:26:38 +0800
Subject: [PATCH 119/162] Update pushbullet up body
Co-authored-by: Adam Stachowicz
---
server/notification.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/server/notification.js b/server/notification.js
index 274f99c..fecc639 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -538,7 +538,7 @@ class Notification {
let updata = {
"type": "note",
"title": "UptimeKuma Alert: " + monitorJSON["name"],
- "body": "[✅ Up]" + heartbeatJSON["msg"] + "\nTime (UTC):" + heartbeatJSON["time"],
+ "body": "[✅ Up] " + heartbeatJSON["msg"] + "\nTime (UTC): " + heartbeatJSON["time"],
}
await axios.post(pushbulletUrl, updata, config)
}
From 9c32adfb55bb629bf32b665afb1bece1c9e36da1 Mon Sep 17 00:00:00 2001
From: Domenic Horner
Date: Sat, 4 Sep 2021 18:26:44 +0800
Subject: [PATCH 120/162] Update pushbullet down body
Co-authored-by: Adam Stachowicz
---
server/notification.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/server/notification.js b/server/notification.js
index fecc639..b9eba5a 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -531,7 +531,7 @@ class Notification {
let downdata = {
"type": "note",
"title": "UptimeKuma Alert: " + monitorJSON["name"],
- "body": "[🔴 Down]" + heartbeatJSON["msg"] + "\nTime (UTC):" + heartbeatJSON["time"],
+ "body": "[🔴 Down] " + heartbeatJSON["msg"] + "\nTime (UTC): " + heartbeatJSON["time"],
}
await axios.post(pushbulletUrl, downdata, config)
} else if (heartbeatJSON["status"] == 1) {
From 6ae279c7f387ffe79a9341eaa9c11e9257d2989f Mon Sep 17 00:00:00 2001
From: Domenic Horner
Date: Sat, 4 Sep 2021 11:06:06 +0800
Subject: [PATCH 121/162] Move title generation to notification class
---
server/model/monitor.js | 11 +----------
server/notification.js | 14 +++++++++++++-
server/server.js | 2 +-
3 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/server/model/monitor.js b/server/model/monitor.js
index 19f21d9..126d59b 100644
--- a/server/model/monitor.js
+++ b/server/model/monitor.js
@@ -270,18 +270,9 @@ class Monitor extends BeanModel {
this.id,
])
- let text;
- if (bean.status === UP) {
- text = "✅ Up"
- } else {
- text = "🔴 Down"
- }
-
- let msg = `[${this.name}] [${text}] ${bean.msg}`;
-
for (let notification of notificationList) {
try {
- await Notification.send(JSON.parse(notification.config), msg, await this.toJSON(), bean.toJSON())
+ await Notification.send(JSON.parse(notification.config), this.name, await this.toJSON(), bean.toJSON())
} catch (e) {
console.error("Cannot send notification to " + notification.name);
console.log(e);
diff --git a/server/notification.js b/server/notification.js
index b9eba5a..42c4627 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -15,9 +15,21 @@ class Notification {
* @returns {Promise} Successful msg
* Throw Error with fail msg
*/
- static async send(notification, msg, monitorJSON = null, heartbeatJSON = null) {
+ static async send(notification, monitorName = null, monitorJSON = null, heartbeatJSON = null) {
let okMsg = "Sent Successfully. ";
+ let msg = `[${notification.name}] Testing`;
+ // heartbeatJSON is only defined if we're not testing
+ if(heartbeatJSON) {
+ let text;
+ if (heartbeatJSON["status"] === 1) {
+ text = "✅ Up"
+ } else {
+ text = "🔴 Down"
+ }
+ msg = `[${monitorName}] [${text}] ${heartbeatJSON["msg"]}`;
+ }
+
if (notification.type === "telegram") {
try {
await axios.get(`https://api.telegram.org/bot${notification.telegramBotToken}/sendMessage`, {
diff --git a/server/server.js b/server/server.js
index 39191de..8f4516d 100644
--- a/server/server.js
+++ b/server/server.js
@@ -552,7 +552,7 @@ let indexHTML = fs.readFileSync("./dist/index.html").toString();
try {
checkLogin(socket)
- let msg = await Notification.send(notification, notification.name + " Testing")
+ let msg = await Notification.send(notification)
callback({
ok: true,
From e9cd9be03abc36f0d6b03df38fcc726a7acfa057 Mon Sep 17 00:00:00 2001
From: Domenic Horner
Date: Sat, 4 Sep 2021 11:09:34 +0800
Subject: [PATCH 122/162] Use constants for UP/DOWN through notifications class
---
server/notification.js | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/server/notification.js b/server/notification.js
index 42c4627..520d78d 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -4,6 +4,8 @@ const FormData = require("form-data");
const nodemailer = require("nodemailer");
const child_process = require("child_process");
+const { UP, DOWN } = require("../src/util");
+
class Notification {
/**
@@ -22,7 +24,7 @@ class Notification {
// heartbeatJSON is only defined if we're not testing
if(heartbeatJSON) {
let text;
- if (heartbeatJSON["status"] === 1) {
+ if (heartbeatJSON["status"] === UP) {
text = "✅ Up"
} else {
text = "🔴 Down"
@@ -121,7 +123,7 @@ class Notification {
}
// If heartbeatJSON is not null, we go into the normal alerting loop.
- if (heartbeatJSON["status"] == 0) {
+ if (heartbeatJSON["status"] == DOWN) {
let discorddowndata = {
username: discordDisplayName,
embeds: [{
@@ -151,7 +153,7 @@ class Notification {
await axios.post(notification.discordWebhookUrl, discorddowndata)
return okMsg;
- } else if (heartbeatJSON["status"] == 1) {
+ } else if (heartbeatJSON["status"] == UP) {
let discordupdata = {
username: discordDisplayName,
embeds: [{
@@ -355,7 +357,7 @@ class Notification {
const mattermostIconEmoji = notification.mattermosticonemo;
const mattermostIconUrl = notification.mattermosticonurl;
- if (heartbeatJSON["status"] == 0) {
+ if (heartbeatJSON["status"] == DOWN) {
let mattermostdowndata = {
username: mattermostUserName,
text: "Uptime Kuma Alert",
@@ -399,7 +401,7 @@ class Notification {
mattermostdowndata
);
return okMsg;
- } else if (heartbeatJSON["status"] == 1) {
+ } else if (heartbeatJSON["status"] == UP) {
let mattermostupdata = {
username: mattermostUserName,
text: "Uptime Kuma Alert",
@@ -501,7 +503,7 @@ class Notification {
return okMsg;
}
- if (heartbeatJSON["status"] == 0) {
+ if (heartbeatJSON["status"] == DOWN) {
let downdata = {
"title": "UptimeKuma Alert: " + monitorJSON["name"],
"body": "[🔴 Down] " + heartbeatJSON["msg"] + "\nTime (UTC): " + heartbeatJSON["time"],
@@ -510,7 +512,7 @@ class Notification {
return okMsg;
}
- if (heartbeatJSON["status"] == 1) {
+ if (heartbeatJSON["status"] == UP) {
let updata = {
"title": "UptimeKuma Alert: " + monitorJSON["name"],
"body": "[✅ Up] " + heartbeatJSON["msg"] + "\nTime (UTC): " + heartbeatJSON["time"],
@@ -539,14 +541,14 @@ class Notification {
"body": "Testing Successful.",
}
await axios.post(pushbulletUrl, testdata, config)
- } else if (heartbeatJSON["status"] == 0) {
+ } else if (heartbeatJSON["status"] == DOWN) {
let downdata = {
"type": "note",
"title": "UptimeKuma Alert: " + monitorJSON["name"],
"body": "[🔴 Down] " + heartbeatJSON["msg"] + "\nTime (UTC): " + heartbeatJSON["time"],
}
await axios.post(pushbulletUrl, downdata, config)
- } else if (heartbeatJSON["status"] == 1) {
+ } else if (heartbeatJSON["status"] == UP) {
let updata = {
"type": "note",
"title": "UptimeKuma Alert: " + monitorJSON["name"],
@@ -578,7 +580,7 @@ class Notification {
]
}
await axios.post(lineAPIUrl, testMessage, config)
- } else if (heartbeatJSON["status"] == 0) {
+ } else if (heartbeatJSON["status"] == DOWN) {
let downMessage = {
"to": notification.lineUserID,
"messages": [
@@ -589,7 +591,7 @@ class Notification {
]
}
await axios.post(lineAPIUrl, downMessage, config)
- } else if (heartbeatJSON["status"] == 1) {
+ } else if (heartbeatJSON["status"] == UP) {
let upMessage = {
"to": notification.lineUserID,
"messages": [
From b0acda52f9b6b47aedb3ce1b05ea78d73c6b7be0 Mon Sep 17 00:00:00 2001
From: Domenic Horner
Date: Sat, 4 Sep 2021 11:27:18 +0800
Subject: [PATCH 123/162] Add time to smtp body content
---
server/notification.js | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/server/notification.js b/server/notification.js
index 520d78d..beb1ff9 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -94,7 +94,7 @@ class Notification {
}
} else if (notification.type === "smtp") {
- return await Notification.smtp(notification, msg)
+ return await Notification.smtp(notification, msg, heartbeatJSON)
} else if (notification.type === "discord") {
try {
@@ -648,7 +648,7 @@ class Notification {
await R.trash(bean)
}
- static async smtp(notification, msg) {
+ static async smtp(notification, msg, heartbeatJSON = null) {
const config = {
host: notification.smtpHost,
@@ -666,12 +666,17 @@ class Notification {
let transporter = nodemailer.createTransport(config);
+ let bodyTextContent = msg;
+ if(heartbeatJSON) {
+ bodyTextContent = `${msg}\nTime (UTC): ${heartbeatJSON["time"]}`;
+ }
+
// send mail with defined transport object
await transporter.sendMail({
from: `"Uptime Kuma" <${notification.smtpFrom}>`,
to: notification.smtpTo,
subject: msg,
- text: msg,
+ text: bodyTextContent,
});
return "Sent Successfully.";
From 0d87a6dfea184bb74a6f2253cd5126d7c52ea1d7 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Sat, 4 Sep 2021 14:41:45 +0800
Subject: [PATCH 124/162] update vue to 3.2.8
---
package-lock.json | 867 +++++++++++++++++++++++-----------------------
package.json | 2 +-
2 files changed, 435 insertions(+), 434 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 25be147..dcf5077 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "uptime-kuma",
- "version": "1.5.0",
+ "version": "1.5.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "uptime-kuma",
- "version": "1.5.0",
+ "version": "1.5.2",
"license": "MIT",
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.36",
@@ -26,19 +26,19 @@
"express": "^4.17.1",
"express-basic-auth": "^1.2.0",
"form-data": "^4.0.0",
- "http-graceful-shutdown": "^3.1.3",
+ "http-graceful-shutdown": "^3.1.4",
"jsonwebtoken": "^8.5.1",
"nodemailer": "^6.6.3",
"password-hash": "^1.2.2",
"prom-client": "^13.2.0",
"prometheus-api-metrics": "^3.2.0",
"redbean-node": "0.1.2",
- "socket.io": "^4.1.3",
- "socket.io-client": "^4.1.3",
+ "socket.io": "^4.2.0",
+ "socket.io-client": "^4.2.0",
"sqlite3": "github:mapbox/node-sqlite3#593c9d",
"tcp-ping": "^0.1.1",
"v-pagination-3": "^0.1.6",
- "vue": "^3.2.2",
+ "vue": "^3.2.8",
"vue-chart-3": "^0.5.7",
"vue-confirm-dialog": "^1.0.2",
"vue-i18n": "^9.1.7",
@@ -48,19 +48,19 @@
},
"devDependencies": {
"@babel/eslint-parser": "^7.15.0",
- "@types/bootstrap": "^5.1.1",
- "@vitejs/plugin-legacy": "^1.5.1",
- "@vitejs/plugin-vue": "^1.4.0",
- "@vue/compiler-sfc": "^3.2.2",
- "core-js": "^3.16.1",
+ "@types/bootstrap": "^5.1.2",
+ "@vitejs/plugin-legacy": "^1.5.2",
+ "@vitejs/plugin-vue": "^1.6.0",
+ "@vue/compiler-sfc": "^3.2.6",
+ "core-js": "^3.17.0",
"dns2": "^2.0.1",
"eslint": "^7.32.0",
- "eslint-plugin-vue": "^7.16.0",
- "sass": "^1.37.5",
+ "eslint-plugin-vue": "^7.17.0",
+ "sass": "^1.38.2",
"stylelint": "^13.13.1",
"stylelint-config-standard": "^22.0.0",
- "typescript": "^4.3.5",
- "vite": "^2.4.4"
+ "typescript": "^4.4.2",
+ "vite": "^2.5.3"
},
"engines": {
"node": "14.*"
@@ -85,20 +85,20 @@
}
},
"node_modules/@babel/core": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz",
- "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.4.tgz",
+ "integrity": "sha512-Lkcv9I4a8bgUI8LJOLM6IKv6hnz1KOju6KM1lceqVMKlKKqNRopYd2Pc9MgIurqvMJ6BooemrnJz8jlIiQIpsA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.0",
- "@babel/helper-compilation-targets": "^7.15.0",
- "@babel/helper-module-transforms": "^7.15.0",
- "@babel/helpers": "^7.14.8",
- "@babel/parser": "^7.15.0",
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0",
+ "@babel/generator": "^7.15.4",
+ "@babel/helper-compilation-targets": "^7.15.4",
+ "@babel/helper-module-transforms": "^7.15.4",
+ "@babel/helpers": "^7.15.4",
+ "@babel/parser": "^7.15.4",
+ "@babel/template": "^7.15.4",
+ "@babel/traverse": "^7.15.4",
+ "@babel/types": "^7.15.4",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -151,9 +151,9 @@
}
},
"node_modules/@babel/eslint-parser": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.15.0.tgz",
- "integrity": "sha512-+gSPtjSBxOZz4Uh8Ggqu7HbfpB8cT1LwW0DnVVLZEJvzXauiD0Di3zszcBkRmfGGrLdYeHUwcflG7i3tr9kQlw==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.15.4.tgz",
+ "integrity": "sha512-hPMIAmGNbmQzXJIo2P43Zj9UhRmGev5f9nqdBFOWNGDGh6XKmjby79woBvg6y0Jur6yRfQBneDbUQ8ZVc1krFw==",
"dev": true,
"dependencies": {
"eslint-scope": "^5.1.1",
@@ -169,12 +169,12 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz",
- "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz",
+ "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.15.0",
+ "@babel/types": "^7.15.4",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
@@ -192,9 +192,9 @@
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz",
- "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz",
+ "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==",
"dev": true,
"dependencies": {
"@babel/compat-data": "^7.15.0",
@@ -210,132 +210,132 @@
}
},
"node_modules/@babel/helper-function-name": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz",
- "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz",
+ "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==",
"dev": true,
"dependencies": {
- "@babel/helper-get-function-arity": "^7.14.5",
- "@babel/template": "^7.14.5",
- "@babel/types": "^7.14.5"
+ "@babel/helper-get-function-arity": "^7.15.4",
+ "@babel/template": "^7.15.4",
+ "@babel/types": "^7.15.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-get-function-arity": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz",
- "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz",
+ "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.14.5"
+ "@babel/types": "^7.15.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-hoist-variables": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz",
- "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz",
+ "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.14.5"
+ "@babel/types": "^7.15.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz",
- "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz",
+ "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.15.0"
+ "@babel/types": "^7.15.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz",
- "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz",
+ "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.14.5"
+ "@babel/types": "^7.15.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz",
- "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz",
+ "integrity": "sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==",
"dev": true,
"dependencies": {
- "@babel/helper-module-imports": "^7.14.5",
- "@babel/helper-replace-supers": "^7.15.0",
- "@babel/helper-simple-access": "^7.14.8",
- "@babel/helper-split-export-declaration": "^7.14.5",
+ "@babel/helper-module-imports": "^7.15.4",
+ "@babel/helper-replace-supers": "^7.15.4",
+ "@babel/helper-simple-access": "^7.15.4",
+ "@babel/helper-split-export-declaration": "^7.15.4",
"@babel/helper-validator-identifier": "^7.14.9",
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0"
+ "@babel/template": "^7.15.4",
+ "@babel/traverse": "^7.15.4",
+ "@babel/types": "^7.15.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz",
- "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz",
+ "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.14.5"
+ "@babel/types": "^7.15.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz",
- "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz",
+ "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==",
"dev": true,
"dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.15.0",
- "@babel/helper-optimise-call-expression": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0"
+ "@babel/helper-member-expression-to-functions": "^7.15.4",
+ "@babel/helper-optimise-call-expression": "^7.15.4",
+ "@babel/traverse": "^7.15.4",
+ "@babel/types": "^7.15.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz",
- "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz",
+ "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.14.8"
+ "@babel/types": "^7.15.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-split-export-declaration": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz",
- "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz",
+ "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.14.5"
+ "@babel/types": "^7.15.4"
},
"engines": {
"node": ">=6.9.0"
@@ -359,14 +359,14 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz",
- "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz",
+ "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==",
"dev": true,
"dependencies": {
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0"
+ "@babel/template": "^7.15.4",
+ "@babel/traverse": "^7.15.4",
+ "@babel/types": "^7.15.4"
},
"engines": {
"node": ">=6.9.0"
@@ -458,9 +458,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz",
- "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.4.tgz",
+ "integrity": "sha512-xmzz+7fRpjrvDUj+GV7zfz/R3gSK2cOxGlazaXooxspCr539cbTXJKvBJzSVI2pPhcRGquoOtaIkKCsHQUiO3w==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -469,23 +469,23 @@
}
},
"node_modules/@babel/standalone": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.15.3.tgz",
- "integrity": "sha512-Bst2YWEyQ2ROyO0+jxPVnnkSmUh44/x54+LSbe5M4N5LGfOkxpajEUKVE4ndXtIVrLlHCyuiqCPwv3eC1ItnCg==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.15.4.tgz",
+ "integrity": "sha512-UO0QCTFjX5NSuwX/i8+/pesmRPoRTtf46Cpn8VHcXvNinEr2lxqe8Ix10TfU/UK5qsaOrcKk24We8wH1G0nTZA==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/template": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz",
- "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz",
+ "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.14.5",
- "@babel/parser": "^7.14.5",
- "@babel/types": "^7.14.5"
+ "@babel/parser": "^7.15.4",
+ "@babel/types": "^7.15.4"
},
"engines": {
"node": ">=6.9.0"
@@ -504,18 +504,18 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz",
- "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz",
+ "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.0",
- "@babel/helper-function-name": "^7.14.5",
- "@babel/helper-hoist-variables": "^7.14.5",
- "@babel/helper-split-export-declaration": "^7.14.5",
- "@babel/parser": "^7.15.0",
- "@babel/types": "^7.15.0",
+ "@babel/generator": "^7.15.4",
+ "@babel/helper-function-name": "^7.15.4",
+ "@babel/helper-hoist-variables": "^7.15.4",
+ "@babel/helper-split-export-declaration": "^7.15.4",
+ "@babel/parser": "^7.15.4",
+ "@babel/types": "^7.15.4",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -545,9 +545,9 @@
}
},
"node_modules/@babel/types": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
- "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz",
+ "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==",
"dependencies": {
"@babel/helper-validator-identifier": "^7.14.9",
"to-fast-properties": "^2.0.0"
@@ -817,9 +817,9 @@
}
},
"node_modules/@popperjs/core": {
- "version": "2.9.3",
- "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.3.tgz",
- "integrity": "sha512-xDu17cEfh7Kid/d95kB6tZsLOmSWKCZKtprnhVepjsSaCij+lM3mItSJDuuHDMbCWTh8Ejmebwb+KONcCJ0eXQ==",
+ "version": "2.10.1",
+ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.1.tgz",
+ "integrity": "sha512-HnUhk1Sy9IuKrxEMdIRCxpIqPw6BFsbYSEUO9p/hNw5sMld/+3OLMWQP80F8/db9qsv3qUjs7ZR5bS/R+iinXw==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
@@ -870,9 +870,9 @@
}
},
"node_modules/@types/bootstrap": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.1.2.tgz",
- "integrity": "sha512-dSQvMi2dMyNwJU6LZjP0pimuBowsMUvGScYdfqqeiDUoj9TxXZCpfu0cTl94U0Zvw/tdH9j/9ToOhi4LKNLZhg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.1.4.tgz",
+ "integrity": "sha512-VAY+o6sCKrJ7Xix/lugdvQz0PpOn7Go+fQzCXOZvIdp7E/TDaiJddInVhNB/84bk9NX6uuKFSfl2pqslNYH9aA==",
"dev": true,
"dependencies": {
"@popperjs/core": "^2.9.2",
@@ -1013,9 +1013,9 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "16.7.8",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.8.tgz",
- "integrity": "sha512-8upnoQU0OPzbIkm+ZMM0zCeFCkw2s3mS0IWdx0+AAaWqm4fkBb0UJp8Edl7FVKRamYbpJC/aVsHpKWBIbiC7Zg=="
+ "version": "16.7.10",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.10.tgz",
+ "integrity": "sha512-S63Dlv4zIPb8x6MMTgDq5WWRJQe56iBEY0O3SOFA9JrRienkOVDXSXBjjJw6HTNQYSE2JI6GMCR6LVbIMHJVvA=="
},
"node_modules/@types/normalize-package-data": {
"version": "2.4.1",
@@ -1061,9 +1061,9 @@
"dev": true
},
"node_modules/@vitejs/plugin-legacy": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-1.5.1.tgz",
- "integrity": "sha512-g+0iy0X3NJRUSKZK+OCeSxNWnCuuE/6lsmr2WLWPOEt1vp6LdfHuNCYRooCm6s0ccTZ/SiumVk8vt9DWSYs+8A==",
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-1.5.2.tgz",
+ "integrity": "sha512-b1CaWY/wi7gQZnZaxH+ujPTPb91bEPgnnk7l0WIwxoQtW5UC5MQywRcAbFX+Ise62exXctOMBtsnXKJw2KajXw==",
"dev": true,
"dependencies": {
"@babel/standalone": "^7.14.9",
@@ -1092,40 +1092,40 @@
}
},
"node_modules/@vue/compiler-core": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.6.tgz",
- "integrity": "sha512-vbwnz7+OhtLO5p5i630fTuQCL+MlUpEMTKHuX+RfetQ+3pFCkItt2JUH+9yMaBG2Hkz6av+T9mwN/acvtIwpbw==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.8.tgz",
+ "integrity": "sha512-Sx8qJ030+QM/NakUrkQuUGCeDEb+0d0AgFOl5W4qRvR6e+YgLnW2ew0jREf4T1hak9Fdk8Edl67StECHrhEuew==",
"dependencies": {
"@babel/parser": "^7.15.0",
"@babel/types": "^7.15.0",
- "@vue/shared": "3.2.6",
+ "@vue/shared": "3.2.8",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
}
},
"node_modules/@vue/compiler-dom": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.6.tgz",
- "integrity": "sha512-+a/3oBAzFIXhHt8L5IHJOTP4a5egzvpXYyi13jR7CUYOR1S+Zzv7vBWKYBnKyJLwnrxTZnTQVjeHCgJq743XKg==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.8.tgz",
+ "integrity": "sha512-nxBW6k8FMWQ74294CRbqR+iEJRO5vIjx85I3YCOyZFD6FsDHyFL60g76TcJzucp+F2XXIDaYz+A+F4gQlDatjw==",
"dependencies": {
- "@vue/compiler-core": "3.2.6",
- "@vue/shared": "3.2.6"
+ "@vue/compiler-core": "3.2.8",
+ "@vue/shared": "3.2.8"
}
},
"node_modules/@vue/compiler-sfc": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.6.tgz",
- "integrity": "sha512-Ariz1eDsf+2fw6oWXVwnBNtfKHav72RjlWXpEgozYBLnfRPzP+7jhJRw4Nq0OjSsLx2HqjF3QX7HutTjYB0/eA==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.8.tgz",
+ "integrity": "sha512-XClueQAXoWtN2EToKgfYH9FCL70Ac4bxx6OZFZzxYSg1bei8IB9srJP1UOfnJb2IpnM1heikAz1dp1HI1wHcyQ==",
"dev": true,
"dependencies": {
"@babel/parser": "^7.15.0",
"@babel/types": "^7.15.0",
"@types/estree": "^0.0.48",
- "@vue/compiler-core": "3.2.6",
- "@vue/compiler-dom": "3.2.6",
- "@vue/compiler-ssr": "3.2.6",
- "@vue/ref-transform": "3.2.6",
- "@vue/shared": "3.2.6",
+ "@vue/compiler-core": "3.2.8",
+ "@vue/compiler-dom": "3.2.8",
+ "@vue/compiler-ssr": "3.2.8",
+ "@vue/ref-transform": "3.2.8",
+ "@vue/shared": "3.2.8",
"consolidate": "^0.16.0",
"estree-walker": "^2.0.2",
"hash-sum": "^2.0.0",
@@ -1139,13 +1139,13 @@
}
},
"node_modules/@vue/compiler-ssr": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.6.tgz",
- "integrity": "sha512-A7IKRKHSyPnTC4w1FxHkjzoyjXInsXkcs/oX22nBQ+6AWlXj2Tt1le96CWPOXy5vYlsTYkF1IgfBaKIdeN/39g==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.8.tgz",
+ "integrity": "sha512-QqyiFRiIl55W0abDNQ6cNG/7iIfBHmbXVtssUAjX3IlI87ELeT0xackmrCyTSnfIX12ixljg9AN0COIZwlvt5A==",
"dev": true,
"dependencies": {
- "@vue/compiler-dom": "3.2.6",
- "@vue/shared": "3.2.6"
+ "@vue/compiler-dom": "3.2.8",
+ "@vue/shared": "3.2.8"
}
},
"node_modules/@vue/devtools-api": {
@@ -1154,49 +1154,49 @@
"integrity": "sha512-quBx4Jjpexo6KDiNUGFr/zF/2A4srKM9S9v2uHgMXSU//hjgq1eGzqkIFql8T9gfX5ZaVOUzYBP3jIdIR3PKIA=="
},
"node_modules/@vue/reactivity": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.6.tgz",
- "integrity": "sha512-8vIDD2wpCnYisNNZjmcIj+Rixn0uhZNY3G1vzlgdVdLygeRSuFjkmnZk6WwvGzUWpKfnG0e/NUySM3mVi59hAA==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.8.tgz",
+ "integrity": "sha512-/Hj3Uz28SG+xB5SDWPOXUs0emvHkq82EmTgk44/plTVFeswCZ3i3Hd7WmsrPT4rGajlDKd5uqMmW0ith1ED0FA==",
"dependencies": {
- "@vue/shared": "3.2.6"
+ "@vue/shared": "3.2.8"
}
},
"node_modules/@vue/ref-transform": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/ref-transform/-/ref-transform-3.2.6.tgz",
- "integrity": "sha512-ie39+Y4nbirDLvH+WEq6Eo/l3n3mFATayqR+kEMSphrtMW6Uh/eEMx1Gk2Jnf82zmj3VLRq7dnmPx72JLcBYkQ==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/ref-transform/-/ref-transform-3.2.8.tgz",
+ "integrity": "sha512-9LdADd4JM3klt+b2qNT8a7b7JvBETNBy2Btv5rDzyPrAVS4Vrw+1WWay6gZBgnxfJ9TPSvG8f/9zu6gNGHmJLA==",
"dev": true,
"dependencies": {
"@babel/parser": "^7.15.0",
- "@vue/compiler-core": "3.2.6",
- "@vue/shared": "3.2.6",
+ "@vue/compiler-core": "3.2.8",
+ "@vue/shared": "3.2.8",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
}
},
"node_modules/@vue/runtime-core": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.6.tgz",
- "integrity": "sha512-3mqtgpj/YSGFxtvTufSERRApo92B16JNNxz9p+5eG6PPuqTmuRJz214MqhKBEgLEAIQ6R6YCbd83ZDtjQnyw2g==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.8.tgz",
+ "integrity": "sha512-hwzXLGw1njBEY5JSyRXIIdCtzMFFF6F38WcKMmoIE3p7da30jEbWt8EwwrBomjT8ZbqzElOGlewBcnXNOiiIUg==",
"dependencies": {
- "@vue/reactivity": "3.2.6",
- "@vue/shared": "3.2.6"
+ "@vue/reactivity": "3.2.8",
+ "@vue/shared": "3.2.8"
}
},
"node_modules/@vue/runtime-dom": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.6.tgz",
- "integrity": "sha512-fq33urnP0BNCGm2O3KCzkJlKIHI80C94HJ4qDZbjsTtxyOn5IHqwKSqXVN3RQvO6epcQH+sWS+JNwcNDPzoasg==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.8.tgz",
+ "integrity": "sha512-A/aRrlGLJ5y4Z7eNbnO/xHwx2RiPijQo7D3OIwESroG3HNP+dpuoqamajo5TXS9ZGjbMOih82COoe7xb9P4BZw==",
"dependencies": {
- "@vue/runtime-core": "3.2.6",
- "@vue/shared": "3.2.6",
+ "@vue/runtime-core": "3.2.8",
+ "@vue/shared": "3.2.8",
"csstype": "^2.6.8"
}
},
"node_modules/@vue/shared": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.6.tgz",
- "integrity": "sha512-uwX0Qs2e6kdF+WmxwuxJxOnKs/wEkMArtYpHSm7W+VY/23Tl8syMRyjnzEeXrNCAP0/8HZxEGkHJsjPEDNRuHw=="
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.8.tgz",
+ "integrity": "sha512-E2DQQnG7Qr4GwTs3GlfPPlHliGVADoufTnhpwfoViw7JlyLMmYtjfnTwM6nXAwvSJWiF7D+7AxpnWBBT3VWo6Q=="
},
"node_modules/abbrev": {
"version": "1.1.1",
@@ -1315,9 +1315,9 @@
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
},
"node_modules/are-we-there-yet": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
- "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
+ "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==",
"dependencies": {
"delegates": "^1.0.0",
"readable-stream": "^2.0.6"
@@ -2022,9 +2022,9 @@
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"node_modules/core-js": {
- "version": "3.16.4",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.4.tgz",
- "integrity": "sha512-Tq4GVE6XCjE+hcyW6hPy0ofN3hwtLudz5ZRdrlCnsnD/xkm/PWQRudzYHiKgZKUcefV6Q57fhDHjZHJP5dpfSg==",
+ "version": "3.17.2",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.17.2.tgz",
+ "integrity": "sha512-XkbXqhcXeMHPRk2ItS+zQYliAMilea2euoMsnpRRdDad6b2VY6CQQcwz1K8AnWesfw4p165RzY0bTnr3UrbYiA==",
"dev": true,
"hasInstallScript": true,
"funding": {
@@ -2033,9 +2033,9 @@
}
},
"node_modules/core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"node_modules/cors": {
"version": "2.8.5",
@@ -2313,9 +2313,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"node_modules/electron-to-chromium": {
- "version": "1.3.824",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.824.tgz",
- "integrity": "sha512-Fk+5aD0HDi9i9ZKt9n2VPOZO1dQy7PV++hz2wJ/KIn+CvVfu4fny39squHtyVDPuHNuoJGAZIbuReEklqYIqfA==",
+ "version": "1.3.830",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.830.tgz",
+ "integrity": "sha512-gBN7wNAxV5vl1430dG+XRcQhD4pIeYeak6p6rjdCtlz5wWNwDad8jwvphe5oi1chL5MV6RNRikfffBBiFuj+rQ==",
"dev": true
},
"node_modules/emoji-regex": {
@@ -2431,9 +2431,9 @@
}
},
"node_modules/esbuild": {
- "version": "0.12.24",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.24.tgz",
- "integrity": "sha512-C0ibY+HsXzYB6L/pLWEiWjMpghKsIc58Q5yumARwBQsHl9DXPakW+5NI/Y9w4YXiz0PEP6XTGTT/OV4Nnsmb4A==",
+ "version": "0.12.25",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.25.tgz",
+ "integrity": "sha512-woie0PosbRSoN8gQytrdCzUbS2ByKgO8nD1xCZkEup3D9q92miCze4PqEI9TZDYAuwn6CruEnQpJxgTRWdooAg==",
"dev": true,
"hasInstallScript": true,
"bin": {
@@ -2960,9 +2960,9 @@
"dev": true
},
"node_modules/follow-redirects": {
- "version": "1.14.2",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz",
- "integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA==",
+ "version": "1.14.3",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.3.tgz",
+ "integrity": "sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw==",
"funding": [
{
"type": "individual",
@@ -3922,9 +3922,9 @@
}
},
"node_modules/knex": {
- "version": "0.95.10",
- "resolved": "https://registry.npmjs.org/knex/-/knex-0.95.10.tgz",
- "integrity": "sha512-I60A8TXcMdeJlE6h7DSgEYyY37S7kgLObz1qlJ7QvPMD6vnKO5dtuLEht5pMia9Qf5BomqVgkWCdVTqcC/ImOA==",
+ "version": "0.95.11",
+ "resolved": "https://registry.npmjs.org/knex/-/knex-0.95.11.tgz",
+ "integrity": "sha512-grDetD91O8VoQVCFqeWTgkzdq5406W6rggF/lK1hHuwzmjDs/0m9KxyncGdZbklTi7aUgHvw3+Cfy4x7FvpdaQ==",
"dependencies": {
"colorette": "1.2.1",
"commander": "^7.1.0",
@@ -5789,9 +5789,9 @@
}
},
"node_modules/redbean-node/node_modules/@types/node": {
- "version": "14.17.12",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.12.tgz",
- "integrity": "sha512-vhUqgjJR1qxwTWV5Ps5txuy2XMdf7Fw+OrdChRboy8BmWUPkckOhphaohzFG6b8DW7CrxaBMdrdJ47SYFq1okw=="
+ "version": "14.17.14",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.14.tgz",
+ "integrity": "sha512-rsAj2u8Xkqfc332iXV12SqIsjVi07H479bOP4q94NAcjzmAvapumEhuVIt53koEf7JFrpjgNKjBga5Pnn/GL8A=="
},
"node_modules/redent": {
"version": "3.0.0",
@@ -6032,9 +6032,9 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/sass": {
- "version": "1.38.2",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.38.2.tgz",
- "integrity": "sha512-Bz1fG6qiyF0FX6m/I+VxtdVKz1Dfmg/e9kfDy2PhWOkq3T384q2KxwIfP0fXpeI+EyyETdOauH+cRHQDFASllA==",
+ "version": "1.39.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.39.0.tgz",
+ "integrity": "sha512-F4o+RhJkNOIG0b6QudYU8c78ZADKZjKDk5cyrf8XTKWfrgbtyVVXImFstJrc+1pkQDCggyidIOytq6gS4gCCZg==",
"dev": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0"
@@ -7220,6 +7220,12 @@
"extsprintf": "^1.2.0"
}
},
+ "node_modules/verror/node_modules/core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "optional": true
+ },
"node_modules/vfile": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz",
@@ -7251,9 +7257,9 @@
}
},
"node_modules/vite": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/vite/-/vite-2.5.2.tgz",
- "integrity": "sha512-JK5uhiVyMqHiAJbgBa8rCvpP8bEhAE9dKDv1gCmP+EUP2FSPmEeW3WXlCXauPB3MDa8behPW+ntyNXqnGaxslg==",
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-2.5.3.tgz",
+ "integrity": "sha512-1wMDnjflvtTTkMov8O/Xb5+w1/VW/Gw8oCf8f6dqgHn8lMOEqq0SaPtFEQeikFcOKCfSbiU0nEi0LDIx6DNsaQ==",
"dev": true,
"dependencies": {
"esbuild": "^0.12.17",
@@ -7272,19 +7278,19 @@
}
},
"node_modules/vue": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.6.tgz",
- "integrity": "sha512-Zlb3LMemQS3Xxa6xPsecu45bNjr1hxO8Bh5FUmE0Dr6Ot0znZBKiM47rK6O7FTcakxOnvVN+NTXWJF6u8ajpCQ==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.8.tgz",
+ "integrity": "sha512-x7lwdnOSkceHQUXRVVHBaZzcp6v7M2CYtSZH75zZaT1mTjB4plC4KZHKP/5jAvdqOLBHZGwDSMkWXm3YbAufrA==",
"dependencies": {
- "@vue/compiler-dom": "3.2.6",
- "@vue/runtime-dom": "3.2.6",
- "@vue/shared": "3.2.6"
+ "@vue/compiler-dom": "3.2.8",
+ "@vue/runtime-dom": "3.2.8",
+ "@vue/shared": "3.2.8"
}
},
"node_modules/vue-chart-3": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/vue-chart-3/-/vue-chart-3-0.5.7.tgz",
- "integrity": "sha512-BccfPv2rodY6IOppYHvMluVmIJE1CHfp5uW2DXrHrm1kIzaafLwpQ5SwdrxuCevn/QhKoi7azzcxwRcoWbX9hg==",
+ "version": "0.5.8",
+ "resolved": "https://registry.npmjs.org/vue-chart-3/-/vue-chart-3-0.5.8.tgz",
+ "integrity": "sha512-VJEBTdMgWOaYqekXtz4LVBIeYyIx3qDlQnFyY4Ao1GwizokYZBycCeRN3oKDcYbbZi5yxYqTy6+Tm+m+SOPUPA==",
"dependencies": {
"@vue/runtime-core": "latest",
"@vue/runtime-dom": "latest",
@@ -7560,20 +7566,20 @@
"dev": true
},
"@babel/core": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz",
- "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.4.tgz",
+ "integrity": "sha512-Lkcv9I4a8bgUI8LJOLM6IKv6hnz1KOju6KM1lceqVMKlKKqNRopYd2Pc9MgIurqvMJ6BooemrnJz8jlIiQIpsA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.0",
- "@babel/helper-compilation-targets": "^7.15.0",
- "@babel/helper-module-transforms": "^7.15.0",
- "@babel/helpers": "^7.14.8",
- "@babel/parser": "^7.15.0",
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0",
+ "@babel/generator": "^7.15.4",
+ "@babel/helper-compilation-targets": "^7.15.4",
+ "@babel/helper-module-transforms": "^7.15.4",
+ "@babel/helpers": "^7.15.4",
+ "@babel/parser": "^7.15.4",
+ "@babel/template": "^7.15.4",
+ "@babel/traverse": "^7.15.4",
+ "@babel/types": "^7.15.4",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -7609,9 +7615,9 @@
}
},
"@babel/eslint-parser": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.15.0.tgz",
- "integrity": "sha512-+gSPtjSBxOZz4Uh8Ggqu7HbfpB8cT1LwW0DnVVLZEJvzXauiD0Di3zszcBkRmfGGrLdYeHUwcflG7i3tr9kQlw==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.15.4.tgz",
+ "integrity": "sha512-hPMIAmGNbmQzXJIo2P43Zj9UhRmGev5f9nqdBFOWNGDGh6XKmjby79woBvg6y0Jur6yRfQBneDbUQ8ZVc1krFw==",
"dev": true,
"requires": {
"eslint-scope": "^5.1.1",
@@ -7620,12 +7626,12 @@
}
},
"@babel/generator": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz",
- "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz",
+ "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.0",
+ "@babel/types": "^7.15.4",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
},
@@ -7639,9 +7645,9 @@
}
},
"@babel/helper-compilation-targets": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz",
- "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz",
+ "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==",
"dev": true,
"requires": {
"@babel/compat-data": "^7.15.0",
@@ -7651,105 +7657,105 @@
}
},
"@babel/helper-function-name": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz",
- "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz",
+ "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==",
"dev": true,
"requires": {
- "@babel/helper-get-function-arity": "^7.14.5",
- "@babel/template": "^7.14.5",
- "@babel/types": "^7.14.5"
+ "@babel/helper-get-function-arity": "^7.15.4",
+ "@babel/template": "^7.15.4",
+ "@babel/types": "^7.15.4"
}
},
"@babel/helper-get-function-arity": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz",
- "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz",
+ "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==",
"dev": true,
"requires": {
- "@babel/types": "^7.14.5"
+ "@babel/types": "^7.15.4"
}
},
"@babel/helper-hoist-variables": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz",
- "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz",
+ "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==",
"dev": true,
"requires": {
- "@babel/types": "^7.14.5"
+ "@babel/types": "^7.15.4"
}
},
"@babel/helper-member-expression-to-functions": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz",
- "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz",
+ "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==",
"dev": true,
"requires": {
- "@babel/types": "^7.15.0"
+ "@babel/types": "^7.15.4"
}
},
"@babel/helper-module-imports": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz",
- "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz",
+ "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==",
"dev": true,
"requires": {
- "@babel/types": "^7.14.5"
+ "@babel/types": "^7.15.4"
}
},
"@babel/helper-module-transforms": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz",
- "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz",
+ "integrity": "sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.14.5",
- "@babel/helper-replace-supers": "^7.15.0",
- "@babel/helper-simple-access": "^7.14.8",
- "@babel/helper-split-export-declaration": "^7.14.5",
+ "@babel/helper-module-imports": "^7.15.4",
+ "@babel/helper-replace-supers": "^7.15.4",
+ "@babel/helper-simple-access": "^7.15.4",
+ "@babel/helper-split-export-declaration": "^7.15.4",
"@babel/helper-validator-identifier": "^7.14.9",
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0"
+ "@babel/template": "^7.15.4",
+ "@babel/traverse": "^7.15.4",
+ "@babel/types": "^7.15.4"
}
},
"@babel/helper-optimise-call-expression": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz",
- "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz",
+ "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==",
"dev": true,
"requires": {
- "@babel/types": "^7.14.5"
+ "@babel/types": "^7.15.4"
}
},
"@babel/helper-replace-supers": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz",
- "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz",
+ "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==",
"dev": true,
"requires": {
- "@babel/helper-member-expression-to-functions": "^7.15.0",
- "@babel/helper-optimise-call-expression": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0"
+ "@babel/helper-member-expression-to-functions": "^7.15.4",
+ "@babel/helper-optimise-call-expression": "^7.15.4",
+ "@babel/traverse": "^7.15.4",
+ "@babel/types": "^7.15.4"
}
},
"@babel/helper-simple-access": {
- "version": "7.14.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz",
- "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz",
+ "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==",
"dev": true,
"requires": {
- "@babel/types": "^7.14.8"
+ "@babel/types": "^7.15.4"
}
},
"@babel/helper-split-export-declaration": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz",
- "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz",
+ "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==",
"dev": true,
"requires": {
- "@babel/types": "^7.14.5"
+ "@babel/types": "^7.15.4"
}
},
"@babel/helper-validator-identifier": {
@@ -7764,14 +7770,14 @@
"dev": true
},
"@babel/helpers": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz",
- "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz",
+ "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==",
"dev": true,
"requires": {
- "@babel/template": "^7.14.5",
- "@babel/traverse": "^7.15.0",
- "@babel/types": "^7.15.0"
+ "@babel/template": "^7.15.4",
+ "@babel/traverse": "^7.15.4",
+ "@babel/types": "^7.15.4"
}
},
"@babel/highlight": {
@@ -7844,25 +7850,25 @@
}
},
"@babel/parser": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz",
- "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA=="
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.4.tgz",
+ "integrity": "sha512-xmzz+7fRpjrvDUj+GV7zfz/R3gSK2cOxGlazaXooxspCr539cbTXJKvBJzSVI2pPhcRGquoOtaIkKCsHQUiO3w=="
},
"@babel/standalone": {
- "version": "7.15.3",
- "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.15.3.tgz",
- "integrity": "sha512-Bst2YWEyQ2ROyO0+jxPVnnkSmUh44/x54+LSbe5M4N5LGfOkxpajEUKVE4ndXtIVrLlHCyuiqCPwv3eC1ItnCg==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.15.4.tgz",
+ "integrity": "sha512-UO0QCTFjX5NSuwX/i8+/pesmRPoRTtf46Cpn8VHcXvNinEr2lxqe8Ix10TfU/UK5qsaOrcKk24We8wH1G0nTZA==",
"dev": true
},
"@babel/template": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz",
- "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz",
+ "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.14.5",
- "@babel/parser": "^7.14.5",
- "@babel/types": "^7.14.5"
+ "@babel/parser": "^7.15.4",
+ "@babel/types": "^7.15.4"
},
"dependencies": {
"@babel/code-frame": {
@@ -7877,18 +7883,18 @@
}
},
"@babel/traverse": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz",
- "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz",
+ "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.14.5",
- "@babel/generator": "^7.15.0",
- "@babel/helper-function-name": "^7.14.5",
- "@babel/helper-hoist-variables": "^7.14.5",
- "@babel/helper-split-export-declaration": "^7.14.5",
- "@babel/parser": "^7.15.0",
- "@babel/types": "^7.15.0",
+ "@babel/generator": "^7.15.4",
+ "@babel/helper-function-name": "^7.15.4",
+ "@babel/helper-hoist-variables": "^7.15.4",
+ "@babel/helper-split-export-declaration": "^7.15.4",
+ "@babel/parser": "^7.15.4",
+ "@babel/types": "^7.15.4",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -7911,9 +7917,9 @@
}
},
"@babel/types": {
- "version": "7.15.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
- "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
+ "version": "7.15.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz",
+ "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==",
"requires": {
"@babel/helper-validator-identifier": "^7.14.9",
"to-fast-properties": "^2.0.0"
@@ -7968,8 +7974,7 @@
"@fortawesome/vue-fontawesome": {
"version": "3.0.0-4",
"resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.0-4.tgz",
- "integrity": "sha512-dQVhhMRcUPCb0aqk5ohm0KGk5OJ7wFZ9aYapLzJB3Z+xs7LhkRWLTb87reelUAG5PFDjutDAXuloT9hi6cz72A==",
- "requires": {}
+ "integrity": "sha512-dQVhhMRcUPCb0aqk5ohm0KGk5OJ7wFZ9aYapLzJB3Z+xs7LhkRWLTb87reelUAG5PFDjutDAXuloT9hi6cz72A=="
},
"@humanwhocodes/config-array": {
"version": "0.5.0",
@@ -8115,9 +8120,9 @@
}
},
"@popperjs/core": {
- "version": "2.9.3",
- "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.3.tgz",
- "integrity": "sha512-xDu17cEfh7Kid/d95kB6tZsLOmSWKCZKtprnhVepjsSaCij+lM3mItSJDuuHDMbCWTh8Ejmebwb+KONcCJ0eXQ=="
+ "version": "2.10.1",
+ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.1.tgz",
+ "integrity": "sha512-HnUhk1Sy9IuKrxEMdIRCxpIqPw6BFsbYSEUO9p/hNw5sMld/+3OLMWQP80F8/db9qsv3qUjs7ZR5bS/R+iinXw=="
},
"@stylelint/postcss-css-in-js": {
"version": "0.37.2",
@@ -8156,9 +8161,9 @@
}
},
"@types/bootstrap": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.1.2.tgz",
- "integrity": "sha512-dSQvMi2dMyNwJU6LZjP0pimuBowsMUvGScYdfqqeiDUoj9TxXZCpfu0cTl94U0Zvw/tdH9j/9ToOhi4LKNLZhg==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.1.4.tgz",
+ "integrity": "sha512-VAY+o6sCKrJ7Xix/lugdvQz0PpOn7Go+fQzCXOZvIdp7E/TDaiJddInVhNB/84bk9NX6uuKFSfl2pqslNYH9aA==",
"dev": true,
"requires": {
"@popperjs/core": "^2.9.2",
@@ -8299,9 +8304,9 @@
"dev": true
},
"@types/node": {
- "version": "16.7.8",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.8.tgz",
- "integrity": "sha512-8upnoQU0OPzbIkm+ZMM0zCeFCkw2s3mS0IWdx0+AAaWqm4fkBb0UJp8Edl7FVKRamYbpJC/aVsHpKWBIbiC7Zg=="
+ "version": "16.7.10",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.10.tgz",
+ "integrity": "sha512-S63Dlv4zIPb8x6MMTgDq5WWRJQe56iBEY0O3SOFA9JrRienkOVDXSXBjjJw6HTNQYSE2JI6GMCR6LVbIMHJVvA=="
},
"@types/normalize-package-data": {
"version": "2.4.1",
@@ -8347,9 +8352,9 @@
"dev": true
},
"@vitejs/plugin-legacy": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-1.5.1.tgz",
- "integrity": "sha512-g+0iy0X3NJRUSKZK+OCeSxNWnCuuE/6lsmr2WLWPOEt1vp6LdfHuNCYRooCm6s0ccTZ/SiumVk8vt9DWSYs+8A==",
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-1.5.2.tgz",
+ "integrity": "sha512-b1CaWY/wi7gQZnZaxH+ujPTPb91bEPgnnk7l0WIwxoQtW5UC5MQywRcAbFX+Ise62exXctOMBtsnXKJw2KajXw==",
"dev": true,
"requires": {
"@babel/standalone": "^7.14.9",
@@ -8363,44 +8368,43 @@
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.6.0.tgz",
"integrity": "sha512-n3i8htn8pTg9M+kM3cnEfsPZx/6ngInlTroth6fA1LQTJq5aTVQ8ggaE5pPoAy9vCgHPtcaXMzwpldhqRAkebQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"@vue/compiler-core": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.6.tgz",
- "integrity": "sha512-vbwnz7+OhtLO5p5i630fTuQCL+MlUpEMTKHuX+RfetQ+3pFCkItt2JUH+9yMaBG2Hkz6av+T9mwN/acvtIwpbw==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.8.tgz",
+ "integrity": "sha512-Sx8qJ030+QM/NakUrkQuUGCeDEb+0d0AgFOl5W4qRvR6e+YgLnW2ew0jREf4T1hak9Fdk8Edl67StECHrhEuew==",
"requires": {
"@babel/parser": "^7.15.0",
"@babel/types": "^7.15.0",
- "@vue/shared": "3.2.6",
+ "@vue/shared": "3.2.8",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
}
},
"@vue/compiler-dom": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.6.tgz",
- "integrity": "sha512-+a/3oBAzFIXhHt8L5IHJOTP4a5egzvpXYyi13jR7CUYOR1S+Zzv7vBWKYBnKyJLwnrxTZnTQVjeHCgJq743XKg==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.8.tgz",
+ "integrity": "sha512-nxBW6k8FMWQ74294CRbqR+iEJRO5vIjx85I3YCOyZFD6FsDHyFL60g76TcJzucp+F2XXIDaYz+A+F4gQlDatjw==",
"requires": {
- "@vue/compiler-core": "3.2.6",
- "@vue/shared": "3.2.6"
+ "@vue/compiler-core": "3.2.8",
+ "@vue/shared": "3.2.8"
}
},
"@vue/compiler-sfc": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.6.tgz",
- "integrity": "sha512-Ariz1eDsf+2fw6oWXVwnBNtfKHav72RjlWXpEgozYBLnfRPzP+7jhJRw4Nq0OjSsLx2HqjF3QX7HutTjYB0/eA==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.8.tgz",
+ "integrity": "sha512-XClueQAXoWtN2EToKgfYH9FCL70Ac4bxx6OZFZzxYSg1bei8IB9srJP1UOfnJb2IpnM1heikAz1dp1HI1wHcyQ==",
"dev": true,
"requires": {
"@babel/parser": "^7.15.0",
"@babel/types": "^7.15.0",
"@types/estree": "^0.0.48",
- "@vue/compiler-core": "3.2.6",
- "@vue/compiler-dom": "3.2.6",
- "@vue/compiler-ssr": "3.2.6",
- "@vue/ref-transform": "3.2.6",
- "@vue/shared": "3.2.6",
+ "@vue/compiler-core": "3.2.8",
+ "@vue/compiler-dom": "3.2.8",
+ "@vue/compiler-ssr": "3.2.8",
+ "@vue/ref-transform": "3.2.8",
+ "@vue/shared": "3.2.8",
"consolidate": "^0.16.0",
"estree-walker": "^2.0.2",
"hash-sum": "^2.0.0",
@@ -8414,13 +8418,13 @@
}
},
"@vue/compiler-ssr": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.6.tgz",
- "integrity": "sha512-A7IKRKHSyPnTC4w1FxHkjzoyjXInsXkcs/oX22nBQ+6AWlXj2Tt1le96CWPOXy5vYlsTYkF1IgfBaKIdeN/39g==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.8.tgz",
+ "integrity": "sha512-QqyiFRiIl55W0abDNQ6cNG/7iIfBHmbXVtssUAjX3IlI87ELeT0xackmrCyTSnfIX12ixljg9AN0COIZwlvt5A==",
"dev": true,
"requires": {
- "@vue/compiler-dom": "3.2.6",
- "@vue/shared": "3.2.6"
+ "@vue/compiler-dom": "3.2.8",
+ "@vue/shared": "3.2.8"
}
},
"@vue/devtools-api": {
@@ -8429,49 +8433,49 @@
"integrity": "sha512-quBx4Jjpexo6KDiNUGFr/zF/2A4srKM9S9v2uHgMXSU//hjgq1eGzqkIFql8T9gfX5ZaVOUzYBP3jIdIR3PKIA=="
},
"@vue/reactivity": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.6.tgz",
- "integrity": "sha512-8vIDD2wpCnYisNNZjmcIj+Rixn0uhZNY3G1vzlgdVdLygeRSuFjkmnZk6WwvGzUWpKfnG0e/NUySM3mVi59hAA==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.8.tgz",
+ "integrity": "sha512-/Hj3Uz28SG+xB5SDWPOXUs0emvHkq82EmTgk44/plTVFeswCZ3i3Hd7WmsrPT4rGajlDKd5uqMmW0ith1ED0FA==",
"requires": {
- "@vue/shared": "3.2.6"
+ "@vue/shared": "3.2.8"
}
},
"@vue/ref-transform": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/ref-transform/-/ref-transform-3.2.6.tgz",
- "integrity": "sha512-ie39+Y4nbirDLvH+WEq6Eo/l3n3mFATayqR+kEMSphrtMW6Uh/eEMx1Gk2Jnf82zmj3VLRq7dnmPx72JLcBYkQ==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/ref-transform/-/ref-transform-3.2.8.tgz",
+ "integrity": "sha512-9LdADd4JM3klt+b2qNT8a7b7JvBETNBy2Btv5rDzyPrAVS4Vrw+1WWay6gZBgnxfJ9TPSvG8f/9zu6gNGHmJLA==",
"dev": true,
"requires": {
"@babel/parser": "^7.15.0",
- "@vue/compiler-core": "3.2.6",
- "@vue/shared": "3.2.6",
+ "@vue/compiler-core": "3.2.8",
+ "@vue/shared": "3.2.8",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
}
},
"@vue/runtime-core": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.6.tgz",
- "integrity": "sha512-3mqtgpj/YSGFxtvTufSERRApo92B16JNNxz9p+5eG6PPuqTmuRJz214MqhKBEgLEAIQ6R6YCbd83ZDtjQnyw2g==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.8.tgz",
+ "integrity": "sha512-hwzXLGw1njBEY5JSyRXIIdCtzMFFF6F38WcKMmoIE3p7da30jEbWt8EwwrBomjT8ZbqzElOGlewBcnXNOiiIUg==",
"requires": {
- "@vue/reactivity": "3.2.6",
- "@vue/shared": "3.2.6"
+ "@vue/reactivity": "3.2.8",
+ "@vue/shared": "3.2.8"
}
},
"@vue/runtime-dom": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.6.tgz",
- "integrity": "sha512-fq33urnP0BNCGm2O3KCzkJlKIHI80C94HJ4qDZbjsTtxyOn5IHqwKSqXVN3RQvO6epcQH+sWS+JNwcNDPzoasg==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.8.tgz",
+ "integrity": "sha512-A/aRrlGLJ5y4Z7eNbnO/xHwx2RiPijQo7D3OIwESroG3HNP+dpuoqamajo5TXS9ZGjbMOih82COoe7xb9P4BZw==",
"requires": {
- "@vue/runtime-core": "3.2.6",
- "@vue/shared": "3.2.6",
+ "@vue/runtime-core": "3.2.8",
+ "@vue/shared": "3.2.8",
"csstype": "^2.6.8"
}
},
"@vue/shared": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.6.tgz",
- "integrity": "sha512-uwX0Qs2e6kdF+WmxwuxJxOnKs/wEkMArtYpHSm7W+VY/23Tl8syMRyjnzEeXrNCAP0/8HZxEGkHJsjPEDNRuHw=="
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.8.tgz",
+ "integrity": "sha512-E2DQQnG7Qr4GwTs3GlfPPlHliGVADoufTnhpwfoViw7JlyLMmYtjfnTwM6nXAwvSJWiF7D+7AxpnWBBT3VWo6Q=="
},
"abbrev": {
"version": "1.1.1",
@@ -8497,8 +8501,7 @@
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"agent-base": {
"version": "6.0.2",
@@ -8557,9 +8560,9 @@
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
},
"are-we-there-yet": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
- "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
+ "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==",
"requires": {
"delegates": "^1.0.0",
"readable-stream": "^2.0.6"
@@ -8853,8 +8856,7 @@
"bootstrap": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.0.tgz",
- "integrity": "sha512-bs74WNI9BgBo3cEovmdMHikSKoXnDgA6VQjJ7TyTotU6L7d41ZyCEEelPwkYEzsG/Zjv3ie9IE3EMAje0W9Xew==",
- "requires": {}
+ "integrity": "sha512-bs74WNI9BgBo3cEovmdMHikSKoXnDgA6VQjJ7TyTotU6L7d41ZyCEEelPwkYEzsG/Zjv3ie9IE3EMAje0W9Xew=="
},
"brace-expansion": {
"version": "1.1.11",
@@ -8968,8 +8970,7 @@
"chartjs-adapter-dayjs": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/chartjs-adapter-dayjs/-/chartjs-adapter-dayjs-1.0.0.tgz",
- "integrity": "sha512-EnbVqTJGFKLpg1TROLdCEufrzbmIa2oeLGx8O2Wdjw2EoMudoOo9+YFu+6CM0Z0hQ/v3yq/e/Y6efQMu22n8Jg==",
- "requires": {}
+ "integrity": "sha512-EnbVqTJGFKLpg1TROLdCEufrzbmIa2oeLGx8O2Wdjw2EoMudoOo9+YFu+6CM0Z0hQ/v3yq/e/Y6efQMu22n8Jg=="
},
"chokidar": {
"version": "3.5.2",
@@ -9107,15 +9108,15 @@
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"core-js": {
- "version": "3.16.4",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.4.tgz",
- "integrity": "sha512-Tq4GVE6XCjE+hcyW6hPy0ofN3hwtLudz5ZRdrlCnsnD/xkm/PWQRudzYHiKgZKUcefV6Q57fhDHjZHJP5dpfSg==",
+ "version": "3.17.2",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.17.2.tgz",
+ "integrity": "sha512-XkbXqhcXeMHPRk2ItS+zQYliAMilea2euoMsnpRRdDad6b2VY6CQQcwz1K8AnWesfw4p165RzY0bTnr3UrbYiA==",
"dev": true
},
"core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"cors": {
"version": "2.8.5",
@@ -9335,9 +9336,9 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"electron-to-chromium": {
- "version": "1.3.824",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.824.tgz",
- "integrity": "sha512-Fk+5aD0HDi9i9ZKt9n2VPOZO1dQy7PV++hz2wJ/KIn+CvVfu4fny39squHtyVDPuHNuoJGAZIbuReEklqYIqfA==",
+ "version": "1.3.830",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.830.tgz",
+ "integrity": "sha512-gBN7wNAxV5vl1430dG+XRcQhD4pIeYeak6p6rjdCtlz5wWNwDad8jwvphe5oi1chL5MV6RNRikfffBBiFuj+rQ==",
"dev": true
},
"emoji-regex": {
@@ -9434,9 +9435,9 @@
}
},
"esbuild": {
- "version": "0.12.24",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.24.tgz",
- "integrity": "sha512-C0ibY+HsXzYB6L/pLWEiWjMpghKsIc58Q5yumARwBQsHl9DXPakW+5NI/Y9w4YXiz0PEP6XTGTT/OV4Nnsmb4A==",
+ "version": "0.12.25",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.25.tgz",
+ "integrity": "sha512-woie0PosbRSoN8gQytrdCzUbS2ByKgO8nD1xCZkEup3D9q92miCze4PqEI9TZDYAuwn6CruEnQpJxgTRWdooAg==",
"dev": true
},
"escalade": {
@@ -9861,9 +9862,9 @@
"dev": true
},
"follow-redirects": {
- "version": "1.14.2",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.2.tgz",
- "integrity": "sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA=="
+ "version": "1.14.3",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.3.tgz",
+ "integrity": "sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw=="
},
"forever-agent": {
"version": "0.6.1",
@@ -10261,8 +10262,7 @@
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
"integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"ignore": {
"version": "4.0.6",
@@ -10584,9 +10584,9 @@
"dev": true
},
"knex": {
- "version": "0.95.10",
- "resolved": "https://registry.npmjs.org/knex/-/knex-0.95.10.tgz",
- "integrity": "sha512-I60A8TXcMdeJlE6h7DSgEYyY37S7kgLObz1qlJ7QvPMD6vnKO5dtuLEht5pMia9Qf5BomqVgkWCdVTqcC/ImOA==",
+ "version": "0.95.11",
+ "resolved": "https://registry.npmjs.org/knex/-/knex-0.95.11.tgz",
+ "integrity": "sha512-grDetD91O8VoQVCFqeWTgkzdq5406W6rggF/lK1hHuwzmjDs/0m9KxyncGdZbklTi7aUgHvw3+Cfy4x7FvpdaQ==",
"requires": {
"colorette": "1.2.1",
"commander": "^7.1.0",
@@ -11463,8 +11463,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
"integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-modules-local-by-default": {
"version": "4.0.0",
@@ -11783,8 +11782,7 @@
"version": "0.36.2",
"resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz",
"integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-value-parser": {
"version": "4.1.0",
@@ -12002,9 +12000,9 @@
},
"dependencies": {
"@types/node": {
- "version": "14.17.12",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.12.tgz",
- "integrity": "sha512-vhUqgjJR1qxwTWV5Ps5txuy2XMdf7Fw+OrdChRboy8BmWUPkckOhphaohzFG6b8DW7CrxaBMdrdJ47SYFq1okw=="
+ "version": "14.17.14",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.14.tgz",
+ "integrity": "sha512-rsAj2u8Xkqfc332iXV12SqIsjVi07H479bOP4q94NAcjzmAvapumEhuVIt53koEf7JFrpjgNKjBga5Pnn/GL8A=="
}
}
},
@@ -12176,9 +12174,9 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"sass": {
- "version": "1.38.2",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.38.2.tgz",
- "integrity": "sha512-Bz1fG6qiyF0FX6m/I+VxtdVKz1Dfmg/e9kfDy2PhWOkq3T384q2KxwIfP0fXpeI+EyyETdOauH+cRHQDFASllA==",
+ "version": "1.39.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.39.0.tgz",
+ "integrity": "sha512-F4o+RhJkNOIG0b6QudYU8c78ZADKZjKDk5cyrf8XTKWfrgbtyVVXImFstJrc+1pkQDCggyidIOytq6gS4gCCZg==",
"dev": true,
"requires": {
"chokidar": ">=3.0.0 <4.0.0"
@@ -12680,8 +12678,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-5.0.0.tgz",
"integrity": "sha512-c8aubuARSu5A3vEHLBeOSJt1udOdS+1iue7BmJDTSXoCBmfEQmmWX+59vYIj3NQdJBY6a/QRv1ozVFpaB9jaqA==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"stylelint-config-standard": {
"version": "22.0.0",
@@ -13113,6 +13110,14 @@
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
"extsprintf": "^1.2.0"
+ },
+ "dependencies": {
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "optional": true
+ }
}
},
"vfile": {
@@ -13138,9 +13143,9 @@
}
},
"vite": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/vite/-/vite-2.5.2.tgz",
- "integrity": "sha512-JK5uhiVyMqHiAJbgBa8rCvpP8bEhAE9dKDv1gCmP+EUP2FSPmEeW3WXlCXauPB3MDa8behPW+ntyNXqnGaxslg==",
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-2.5.3.tgz",
+ "integrity": "sha512-1wMDnjflvtTTkMov8O/Xb5+w1/VW/Gw8oCf8f6dqgHn8lMOEqq0SaPtFEQeikFcOKCfSbiU0nEi0LDIx6DNsaQ==",
"dev": true,
"requires": {
"esbuild": "^0.12.17",
@@ -13151,19 +13156,19 @@
}
},
"vue": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.6.tgz",
- "integrity": "sha512-Zlb3LMemQS3Xxa6xPsecu45bNjr1hxO8Bh5FUmE0Dr6Ot0znZBKiM47rK6O7FTcakxOnvVN+NTXWJF6u8ajpCQ==",
+ "version": "3.2.8",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.8.tgz",
+ "integrity": "sha512-x7lwdnOSkceHQUXRVVHBaZzcp6v7M2CYtSZH75zZaT1mTjB4plC4KZHKP/5jAvdqOLBHZGwDSMkWXm3YbAufrA==",
"requires": {
- "@vue/compiler-dom": "3.2.6",
- "@vue/runtime-dom": "3.2.6",
- "@vue/shared": "3.2.6"
+ "@vue/compiler-dom": "3.2.8",
+ "@vue/runtime-dom": "3.2.8",
+ "@vue/shared": "3.2.8"
}
},
"vue-chart-3": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/vue-chart-3/-/vue-chart-3-0.5.7.tgz",
- "integrity": "sha512-BccfPv2rodY6IOppYHvMluVmIJE1CHfp5uW2DXrHrm1kIzaafLwpQ5SwdrxuCevn/QhKoi7azzcxwRcoWbX9hg==",
+ "version": "0.5.8",
+ "resolved": "https://registry.npmjs.org/vue-chart-3/-/vue-chart-3-0.5.8.tgz",
+ "integrity": "sha512-VJEBTdMgWOaYqekXtz4LVBIeYyIx3qDlQnFyY4Ao1GwizokYZBycCeRN3oKDcYbbZi5yxYqTy6+Tm+m+SOPUPA==",
"requires": {
"@vue/runtime-core": "latest",
"@vue/runtime-dom": "latest",
@@ -13176,14 +13181,12 @@
"vue-confirm-dialog": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/vue-confirm-dialog/-/vue-confirm-dialog-1.0.2.tgz",
- "integrity": "sha512-gTo1bMDWOLd/6ihmWv8VlPxhc9QaKoE5YqlsKydUOfrrQ3Q3taljF6yI+1TMtAtJLrvZ8DYrePhgBhY1VCJzbQ==",
- "requires": {}
+ "integrity": "sha512-gTo1bMDWOLd/6ihmWv8VlPxhc9QaKoE5YqlsKydUOfrrQ3Q3taljF6yI+1TMtAtJLrvZ8DYrePhgBhY1VCJzbQ=="
},
"vue-demi": {
"version": "0.10.1",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.10.1.tgz",
- "integrity": "sha512-L6Oi+BvmMv6YXvqv5rJNCFHEKSVu7llpWWJczqmAQYOdmPPw5PNYoz1KKS//Fxhi+4QP64dsPjtmvnYGo1jemA==",
- "requires": {}
+ "integrity": "sha512-L6Oi+BvmMv6YXvqv5rJNCFHEKSVu7llpWWJczqmAQYOdmPPw5PNYoz1KKS//Fxhi+4QP64dsPjtmvnYGo1jemA=="
},
"vue-eslint-parser": {
"version": "7.10.0",
@@ -13246,8 +13249,7 @@
"vue-toastification": {
"version": "2.0.0-rc.1",
"resolved": "https://registry.npmjs.org/vue-toastification/-/vue-toastification-2.0.0-rc.1.tgz",
- "integrity": "sha512-hjauv/FyesNZdwcr5m1SCyvu1JmlB+Ts5bTptDLDmsYYlj6Oqv8NYakiElpCF+Abwkn9J/AChh6FwkTL1HOb7Q==",
- "requires": {}
+ "integrity": "sha512-hjauv/FyesNZdwcr5m1SCyvu1JmlB+Ts5bTptDLDmsYYlj6Oqv8NYakiElpCF+Abwkn9J/AChh6FwkTL1HOb7Q=="
},
"which": {
"version": "2.0.2",
@@ -13292,8 +13294,7 @@
"ws": {
"version": "7.4.6",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
- "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
- "requires": {}
+ "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A=="
},
"xmlhttprequest-ssl": {
"version": "2.0.0",
diff --git a/package.json b/package.json
index f503bbf..43d0b63 100644
--- a/package.json
+++ b/package.json
@@ -64,7 +64,7 @@
"sqlite3": "github:mapbox/node-sqlite3#593c9d",
"tcp-ping": "^0.1.1",
"v-pagination-3": "^0.1.6",
- "vue": "^3.2.6",
+ "vue": "^3.2.8",
"vue-chart-3": "^0.5.7",
"vue-confirm-dialog": "^1.0.2",
"vue-i18n": "^9.1.7",
From 7fd12f54859ce33277e57f31c5ce18592e0443a5 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Sat, 4 Sep 2021 14:42:55 +0800
Subject: [PATCH 125/162] rename nl_NL.js to nl-NL.js
---
src/languages/{nl_NL.js => nl-NL.js} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename src/languages/{nl_NL.js => nl-NL.js} (100%)
diff --git a/src/languages/nl_NL.js b/src/languages/nl-NL.js
similarity index 100%
rename from src/languages/nl_NL.js
rename to src/languages/nl-NL.js
From 4b8e7fcffcfc9080a1c59f152bad16dd25b060b7 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Sat, 4 Sep 2021 15:03:26 +0800
Subject: [PATCH 126/162] update "build-docker" to build both platforms
---
extra/update-version.js | 2 ++
package.json | 5 +++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/extra/update-version.js b/extra/update-version.js
index 697a640..ca810a4 100644
--- a/extra/update-version.js
+++ b/extra/update-version.js
@@ -23,6 +23,8 @@ if (! exists) {
pkg.version = newVersion;
pkg.scripts.setup = pkg.scripts.setup.replaceAll(oldVersion, newVersion);
pkg.scripts["build-docker"] = pkg.scripts["build-docker"].replaceAll(oldVersion, newVersion);
+ pkg.scripts["build-docker-alpine"] = pkg.scripts["build-docker-alpine"].replaceAll(oldVersion, newVersion);
+ pkg.scripts["build-docker-debian"] = pkg.scripts["build-docker-debian"].replaceAll(oldVersion, newVersion);
fs.writeFileSync("package.json", JSON.stringify(pkg, null, 4) + "\n");
commit(newVersion);
diff --git a/package.json b/package.json
index 43d0b63..1bf9a89 100644
--- a/package.json
+++ b/package.json
@@ -18,10 +18,11 @@
"start-server": "node server/server.js",
"build": "vite build",
"vite-preview-dist": "vite preview --host",
- "build-docker": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.5.2 --target release . --push",
+ "build-docker": "npm run build-docker-alpine && npm run build-docker-debian",
+ "build-docker-alpine": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.5.2 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:1.5.2-alpine --target release . --push",
+ "build-docker-debian": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.5.2-debian --target release . --push",
"build-docker-nightly": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
"build-docker-nightly-amd64": "docker buildx build --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
- "build-docker-1.5.0-debian": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:1.5.0-debian --target release . --push",
"setup": "git checkout 1.5.2 && npm install --legacy-peer-deps && node node_modules/esbuild/install.js && npm run build && npm prune",
"update-version": "node extra/update-version.js",
"mark-as-nightly": "node extra/mark-as-nightly.js",
From 6a603203ccf1ea766e1b3c9a3945b6ff0e5e60b4 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Sat, 4 Sep 2021 15:07:32 +0800
Subject: [PATCH 127/162] update to 1.5.3
---
package.json | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/package.json b/package.json
index 1bf9a89..1cfd01c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "uptime-kuma",
- "version": "1.5.2",
+ "version": "1.5.3",
"license": "MIT",
"repository": {
"type": "git",
@@ -19,11 +19,11 @@
"build": "vite build",
"vite-preview-dist": "vite preview --host",
"build-docker": "npm run build-docker-alpine && npm run build-docker-debian",
- "build-docker-alpine": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.5.2 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:1.5.2-alpine --target release . --push",
- "build-docker-debian": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.5.2-debian --target release . --push",
+ "build-docker-alpine": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.5.3 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:1.5.3-alpine --target release . --push",
+ "build-docker-debian": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.5.3-debian --target release . --push",
"build-docker-nightly": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
"build-docker-nightly-amd64": "docker buildx build --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
- "setup": "git checkout 1.5.2 && npm install --legacy-peer-deps && node node_modules/esbuild/install.js && npm run build && npm prune",
+ "setup": "git checkout 1.5.3 && npm install --legacy-peer-deps && node node_modules/esbuild/install.js && npm run build && npm prune",
"update-version": "node extra/update-version.js",
"mark-as-nightly": "node extra/mark-as-nightly.js",
"reset-password": "node extra/reset-password.js",
From ee60d7491015b4fcbdb249f7e082e475ae29f99b Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Sat, 4 Sep 2021 15:32:55 +0800
Subject: [PATCH 128/162] fix dockerfile path
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 1cfd01c..8bb9629 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,7 @@
"vite-preview-dist": "vite preview --host",
"build-docker": "npm run build-docker-alpine && npm run build-docker-debian",
"build-docker-alpine": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.5.3 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:1.5.3-alpine --target release . --push",
- "build-docker-debian": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.5.3-debian --target release . --push",
+ "build-docker-debian": "docker buildx build -f dockerfile-debian --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.5.3-debian --target release . --push",
"build-docker-nightly": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
"build-docker-nightly-amd64": "docker buildx build --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
"setup": "git checkout 1.5.3 && npm install --legacy-peer-deps && node node_modules/esbuild/install.js && npm run build && npm prune",
From 778995a4fba33b66ea73c190f002e5618405c87d Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Sat, 4 Sep 2021 15:48:25 +0800
Subject: [PATCH 129/162] add dockerfile-debian
---
dockerfile-debian | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
create mode 100644 dockerfile-debian
diff --git a/dockerfile-debian b/dockerfile-debian
new file mode 100644
index 0000000..7e0f798
--- /dev/null
+++ b/dockerfile-debian
@@ -0,0 +1,28 @@
+# DON'T UPDATE TO alpine3.13, 1.14, see #41.
+FROM node:14-bullseye AS release
+WORKDIR /app
+
+RUN apt update
+RUN apt --yes install python3 python3-pip python3-dev git g++ make
+RUN ln -s /usr/bin/python3 /usr/bin/python
+
+# split the sqlite install here, so that it can caches the arm prebuilt
+RUN npm install mapbox/node-sqlite3#593c9d
+
+# Install apprise
+RUN apt --yes install python3 python3-pip python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib
+RUN pip3 --no-cache-dir install apprise && \
+ rm -rf /root/.cache
+
+RUN apt --yes install iputils-ping
+
+COPY . .
+RUN npm install --legacy-peer-deps && npm run build && npm prune
+
+EXPOSE 3001
+VOLUME ["/app/data"]
+HEALTHCHECK --interval=60s --timeout=30s --start-period=300s CMD node extra/healthcheck.js
+CMD ["node", "server/server.js"]
+
+FROM release AS nightly
+RUN npm run mark-as-nightly
From 0b9e410ea5b6edcc888ddd488d19a36ca011abf8 Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Sat, 4 Sep 2021 13:36:08 +0200
Subject: [PATCH 130/162] Added i18n key to en.js
---
src/languages/en.js | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/languages/en.js b/src/languages/en.js
index accc6dc..bec4edf 100644
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -111,5 +111,8 @@ export default {
"Create your admin account": "Create your admin account",
"Repeat Password": "Repeat Password",
respTime: "Resp. Time (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ "Clear Data": "Clear Data",
+ "Events": "Events",
+ "Heartbeats": "Heartbeats",
}
From 41d32bb9dde554794613df002696841d6dceab1f Mon Sep 17 00:00:00 2001
From: Domenic Horner
Date: Sat, 4 Sep 2021 20:08:18 +0800
Subject: [PATCH 131/162] Undo parm changes
---
server/model/monitor.js | 11 ++++++++++-
server/notification.js | 14 +-------------
server/server.js | 2 +-
3 files changed, 12 insertions(+), 15 deletions(-)
diff --git a/server/model/monitor.js b/server/model/monitor.js
index 126d59b..19f21d9 100644
--- a/server/model/monitor.js
+++ b/server/model/monitor.js
@@ -270,9 +270,18 @@ class Monitor extends BeanModel {
this.id,
])
+ let text;
+ if (bean.status === UP) {
+ text = "✅ Up"
+ } else {
+ text = "🔴 Down"
+ }
+
+ let msg = `[${this.name}] [${text}] ${bean.msg}`;
+
for (let notification of notificationList) {
try {
- await Notification.send(JSON.parse(notification.config), this.name, await this.toJSON(), bean.toJSON())
+ await Notification.send(JSON.parse(notification.config), msg, await this.toJSON(), bean.toJSON())
} catch (e) {
console.error("Cannot send notification to " + notification.name);
console.log(e);
diff --git a/server/notification.js b/server/notification.js
index beb1ff9..f78401d 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -17,21 +17,9 @@ class Notification {
* @returns {Promise} Successful msg
* Throw Error with fail msg
*/
- static async send(notification, monitorName = null, monitorJSON = null, heartbeatJSON = null) {
+ static async send(notification, msg, monitorJSON = null, heartbeatJSON = null) {
let okMsg = "Sent Successfully. ";
- let msg = `[${notification.name}] Testing`;
- // heartbeatJSON is only defined if we're not testing
- if(heartbeatJSON) {
- let text;
- if (heartbeatJSON["status"] === UP) {
- text = "✅ Up"
- } else {
- text = "🔴 Down"
- }
- msg = `[${monitorName}] [${text}] ${heartbeatJSON["msg"]}`;
- }
-
if (notification.type === "telegram") {
try {
await axios.get(`https://api.telegram.org/bot${notification.telegramBotToken}/sendMessage`, {
diff --git a/server/server.js b/server/server.js
index 8f4516d..39191de 100644
--- a/server/server.js
+++ b/server/server.js
@@ -552,7 +552,7 @@ let indexHTML = fs.readFileSync("./dist/index.html").toString();
try {
checkLogin(socket)
- let msg = await Notification.send(notification)
+ let msg = await Notification.send(notification, notification.name + " Testing")
callback({
ok: true,
From 2a34e41d8c47ec2739cae0590ee891747a102b22 Mon Sep 17 00:00:00 2001
From: Levi
Date: Sat, 4 Sep 2021 15:59:49 +0200
Subject: [PATCH 132/162] Improved Swedish translation
---
src/languages/sv-SE.js | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/languages/sv-SE.js b/src/languages/sv-SE.js
index 5029688..751a406 100644
--- a/src/languages/sv-SE.js
+++ b/src/languages/sv-SE.js
@@ -1,14 +1,14 @@
export default {
- languageName: "Swedish",
+ languageName: "Svenska",
checkEverySecond: "Uppdatera var {0} sekund.",
- "Avg.": "Genomsnitt ",
+ "Avg.": "Genomsnittligt ",
retriesDescription: "Max antal försök innan tjänsten markeras som nere och en notis skickas",
ignoreTLSError: "Ignorera TLS/SSL-fel för webbsidor med HTTPS",
upsideDownModeDescription: "Vänd upp och ner på statusen. Om tjänsten är nåbar visas den som NERE.",
maxRedirectDescription: "Max antal omdirigeringar att följa. Välj 0 för att avaktivera omdirigeringar.",
acceptedStatusCodesDescription: "Välj statuskoder som räknas som lyckade.",
passwordNotMatchMsg: "Det bekräftade lösenordet stämmer ej överens.",
- notificationDescription: "Vänligen lägg till en notistjänst till övervakaren.",
+ notificationDescription: "Vänligen lägg till en notistjänst till dina övervakare.",
keywordDescription: "Sök efter nyckelord i ren HTML eller JSON-svar. Sökningen är skiftkänslig.",
pauseDashboardHome: "Pausa",
deleteMonitorMsg: "Är du säker på att du vill ta bort den här övervakningen?",
@@ -36,7 +36,7 @@ export default {
Pause: "Paus",
Name: "Namn",
Status: "Status",
- DateTime: "DatumTid",
+ DateTime: "Datum & Tid",
Message: "Meddelande",
"No important events": "Inga viktiga händelser",
Resume: "Återuppta",
@@ -44,17 +44,17 @@ export default {
Delete: "Ta bort",
Current: "Nuvarande",
Uptime: "Drifttid",
- "Cert Exp.": "Certifikatsutgång",
+ "Cert Exp.": "Certifikat utgår",
days: "dagar",
day: "dag",
- "-day": "-dag",
+ "-day": " dagar",
hour: "timme",
- "-hour": "-timme",
+ "-hour": " timmar",
Response: "Svar",
Ping: "Ping",
"Monitor Type": "Övervakningstyp",
Keyword: "Nyckelord",
- "Friendly Name": "Vänligt Namn",
+ "Friendly Name": "Namn",
URL: "URL",
Hostname: "Värdnamn",
Port: "Port",
@@ -67,14 +67,14 @@ export default {
Save: "Spara",
Notifications: "Notiser",
"Not available, please setup.": "Ej tillgänglig, vänligen konfigurera.",
- "Setup Notification": "Konfigurera Notis",
+ "Setup Notification": "Ny Notistjänst",
Light: "Ljust",
Dark: "Mörkt",
- Auto: "Automatisk",
+ Auto: "Automatiskt",
"Theme - Heartbeat Bar": "Tema - Heartbeat Bar",
Normal: "Normal",
Bottom: "Botten",
- None: "Ingen",
+ None: "Tomt",
Timezone: "Tidszon",
"Search Engine Visibility": "Synlighet på Sökmotorer",
"Allow indexing": "Tillåt indexering",
From d35b205fcc41be66a654085c01698656c9ce5443 Mon Sep 17 00:00:00 2001
From: Levi
Date: Sat, 4 Sep 2021 16:01:41 +0200
Subject: [PATCH 133/162] Update & Improve Swedish Translation
---
src/languages/sv-SE.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/languages/sv-SE.js b/src/languages/sv-SE.js
index 751a406..276a3a3 100644
--- a/src/languages/sv-SE.js
+++ b/src/languages/sv-SE.js
@@ -107,6 +107,6 @@ export default {
"Last Result": "Senaste resultat",
"Create your admin account": "Skapa ditt administratörskonto",
"Repeat Password": "Upprepa Lösenord",
- respTime: "Resp. Time (ms)",
- notAvailableShort: "N/A"
+ respTime: "Svarstid (ms)",
+ notAvailableShort: "Ej Tillg."
}
From f1a151b4a1e1b3aaadb7b035eda938833117bd06 Mon Sep 17 00:00:00 2001
From: Levi
Date: Sat, 4 Sep 2021 16:03:34 +0200
Subject: [PATCH 134/162] Update & Improve Swedish Translation
---
src/languages/sv-SE.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/languages/sv-SE.js b/src/languages/sv-SE.js
index 276a3a3..8aa4e15 100644
--- a/src/languages/sv-SE.js
+++ b/src/languages/sv-SE.js
@@ -33,7 +33,7 @@ export default {
Down: "Nere",
Pending: "Pågående",
Unknown: "Okänt",
- Pause: "Paus",
+ Pause: "Pausa",
Name: "Namn",
Status: "Status",
DateTime: "Datum & Tid",
From cc25787878c37655ea6ce0cfe4d4fb1e3f224252 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Sat, 4 Sep 2021 23:32:46 +0800
Subject: [PATCH 135/162] improve heartbeat bar rendering in different dpi
---
src/components/HeartbeatBar.vue | 24 +++++++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/src/components/HeartbeatBar.vue b/src/components/HeartbeatBar.vue
index 33b003d..f49b875 100644
--- a/src/components/HeartbeatBar.vue
+++ b/src/components/HeartbeatBar.vue
@@ -124,9 +124,27 @@ export default {
},
mounted() {
if (this.size === "small") {
- this.beatWidth = 5.6;
- this.beatMargin = 2.4;
- this.beatHeight = 16
+ this.beatHeight = 16;
+
+ // Handle strange render problem in different DPI.
+ if (window.devicePixelRatio === 1.25) {
+ this.beatWidth = 5.6;
+ this.beatMargin = 2.4;
+
+ } else if (window.devicePixelRatio === 1.75) {
+ this.beatWidth = 5.7;
+ this.beatMargin = 2.4;
+
+ } else if (window.devicePixelRatio === 2.25) {
+ this.beatWidth = 5.8;
+ this.beatMargin = 2.4;
+
+ } else {
+ // 100%, 150%, 200% ...
+ this.beatWidth = 6;
+ this.beatMargin = 2;
+ }
+
}
window.addEventListener("resize", this.resize);
From ffbdf97478d72496b9ae235b8de35a9ac751cf93 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Sun, 5 Sep 2021 00:08:24 +0800
Subject: [PATCH 136/162] improve heartbeat bar rendering in different dpi
---
src/components/HeartbeatBar.vue | 33 +++++++++++++++------------------
1 file changed, 15 insertions(+), 18 deletions(-)
diff --git a/src/components/HeartbeatBar.vue b/src/components/HeartbeatBar.vue
index f49b875..04d046b 100644
--- a/src/components/HeartbeatBar.vue
+++ b/src/components/HeartbeatBar.vue
@@ -31,7 +31,7 @@ export default {
beatWidth: 10,
beatHeight: 30,
hoverScale: 1.5,
- beatMargin: 3, // Odd number only, even = blurry
+ beatMargin: 4,
move: false,
maxBeat: -1,
}
@@ -122,29 +122,26 @@ export default {
this.$root.heartbeatList[this.monitorId] = [];
}
},
+
mounted() {
if (this.size === "small") {
+ this.beatWidth = 5;
this.beatHeight = 16;
+ this.beatMargin = 2;
+ }
- // Handle strange render problem in different DPI.
- if (window.devicePixelRatio === 1.25) {
- this.beatWidth = 5.6;
- this.beatMargin = 2.4;
-
- } else if (window.devicePixelRatio === 1.75) {
- this.beatWidth = 5.7;
- this.beatMargin = 2.4;
-
- } else if (window.devicePixelRatio === 2.25) {
- this.beatWidth = 5.8;
- this.beatMargin = 2.4;
+ // Suddenly, have an idea how to handle it universally.
+ // If the pixel * ratio != Integer, then it causes render issue, round it to solve it!!
+ const actualWidth = this.beatWidth * window.devicePixelRatio;
+ const actualMargin = this.beatMargin * window.devicePixelRatio;
- } else {
- // 100%, 150%, 200% ...
- this.beatWidth = 6;
- this.beatMargin = 2;
- }
+ if (! Number.isInteger(actualWidth)) {
+ this.beatWidth = Math.round(actualWidth) / window.devicePixelRatio;
+ console.log(this.beatWidth);
+ }
+ if (! Number.isInteger(actualMargin)) {
+ this.beatMargin = Math.round(actualMargin) / window.devicePixelRatio;
}
window.addEventListener("resize", this.resize);
From 299506ce45d64956b064528b30e4fa4cbea806fd Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Sun, 5 Sep 2021 02:03:40 +0800
Subject: [PATCH 137/162] reset the heartbeat list instead of reload the page
after cleared events or heartbeats
---
server/client.js | 91 +++++++++++++++++++++++++++++++++++++++++++
server/server.js | 72 +++++-----------------------------
src/mixins/socket.js | 8 ++--
src/pages/Details.vue | 11 ++----
4 files changed, 109 insertions(+), 73 deletions(-)
create mode 100644 server/client.js
diff --git a/server/client.js b/server/client.js
new file mode 100644
index 0000000..4f28a2f
--- /dev/null
+++ b/server/client.js
@@ -0,0 +1,91 @@
+/*
+ * For Client Socket
+ */
+const { TimeLogger } = require("../src/util");
+const { R } = require("redbean-node");
+const { io } = require("./server");
+
+async function sendNotificationList(socket) {
+ const timeLogger = new TimeLogger();
+
+ let result = [];
+ let list = await R.find("notification", " user_id = ? ", [
+ socket.userID,
+ ]);
+
+ for (let bean of list) {
+ result.push(bean.export())
+ }
+
+ io.to(socket.userID).emit("notificationList", result)
+
+ timeLogger.print("Send Notification List");
+
+ return list;
+}
+
+/**
+ * Send Heartbeat History list to socket
+ * @param toUser True = send to all browsers with the same user id, False = send to the current browser only
+ * @param overwrite Overwrite client-side's heartbeat list
+ */
+async function sendHeartbeatList(socket, monitorID, toUser = false, overwrite = false) {
+ const timeLogger = new TimeLogger();
+
+ let list = await R.find("heartbeat", `
+ monitor_id = ?
+ ORDER BY time DESC
+ LIMIT 100
+ `, [
+ monitorID,
+ ])
+
+ let result = [];
+
+ for (let bean of list) {
+ result.unshift(bean.toJSON());
+ }
+
+ if (toUser) {
+ io.to(socket.userID).emit("heartbeatList", monitorID, result, overwrite);
+ } else {
+ socket.emit("heartbeatList", monitorID, result, overwrite);
+ }
+
+ timeLogger.print(`[Monitor: ${monitorID}] sendHeartbeatList`);
+}
+
+/**
+ * Important Heart beat list (aka event list)
+ * @param socket
+ * @param monitorID
+ * @param toUser True = send to all browsers with the same user id, False = send to the current browser only
+ * @param overwrite Overwrite client-side's heartbeat list
+ */
+async function sendImportantHeartbeatList(socket, monitorID, toUser = false, overwrite = false) {
+ const timeLogger = new TimeLogger();
+
+ let list = await R.find("heartbeat", `
+ monitor_id = ?
+ AND important = 1
+ ORDER BY time DESC
+ LIMIT 500
+ `, [
+ monitorID,
+ ])
+
+ timeLogger.print(`[Monitor: ${monitorID}] sendImportantHeartbeatList`);
+
+ if (toUser) {
+ io.to(socket.userID).emit("importantHeartbeatList", monitorID, list, overwrite);
+ } else {
+ socket.emit("importantHeartbeatList", monitorID, list, overwrite);
+ }
+
+}
+
+module.exports = {
+ sendNotificationList,
+ sendImportantHeartbeatList,
+ sendHeartbeatList,
+}
diff --git a/server/server.js b/server/server.js
index e28b96d..7d92953 100644
--- a/server/server.js
+++ b/server/server.js
@@ -82,7 +82,12 @@ if (sslKey && sslCert) {
}
const io = new Server(server);
-app.use(express.json())
+module.exports.io = io;
+
+// Must be after io instantiation
+const { sendNotificationList, sendHeartbeatList, sendImportantHeartbeatList } = require("./client");
+
+app.use(express.json());
/**
* Total WebSocket client connected to server currently, no actual use
@@ -597,6 +602,8 @@ let indexHTML = fs.readFileSync("./dist/index.html").toString();
monitorID,
]);
+ await sendImportantHeartbeatList(socket, monitorID, true, true);
+
callback({
ok: true,
});
@@ -619,6 +626,8 @@ let indexHTML = fs.readFileSync("./dist/index.html").toString();
monitorID
]);
+ await sendHeartbeatList(socket, monitorID, true, true);
+
callback({
ok: true,
});
@@ -719,25 +728,6 @@ async function sendMonitorList(socket) {
return list;
}
-async function sendNotificationList(socket) {
- const timeLogger = new TimeLogger();
-
- let result = [];
- let list = await R.find("notification", " user_id = ? ", [
- socket.userID,
- ]);
-
- for (let bean of list) {
- result.push(bean.export())
- }
-
- io.to(socket.userID).emit("notificationList", result)
-
- timeLogger.print("Send Notification List");
-
- return list;
-}
-
async function afterLogin(socket, user) {
socket.userID = user.id;
socket.join(user.id)
@@ -872,48 +862,6 @@ async function startMonitors() {
}
}
-/**
- * Send Heartbeat History list to socket
- */
-async function sendHeartbeatList(socket, monitorID) {
- const timeLogger = new TimeLogger();
-
- let list = await R.find("heartbeat", `
- monitor_id = ?
- ORDER BY time DESC
- LIMIT 100
- `, [
- monitorID,
- ])
-
- let result = [];
-
- for (let bean of list) {
- result.unshift(bean.toJSON())
- }
-
- socket.emit("heartbeatList", monitorID, result)
-
- timeLogger.print(`[Monitor: ${monitorID}] sendHeartbeatList`)
-}
-
-async function sendImportantHeartbeatList(socket, monitorID) {
- const timeLogger = new TimeLogger();
-
- let list = await R.find("heartbeat", `
- monitor_id = ?
- AND important = 1
- ORDER BY time DESC
- LIMIT 500
- `, [
- monitorID,
- ])
-
- timeLogger.print(`[Monitor: ${monitorID}] sendImportantHeartbeatList`);
-
- socket.emit("importantHeartbeatList", monitorID, list)
-}
-
async function shutdownFunction(signal) {
console.log("Shutdown requested");
console.log("Called signal: " + signal);
diff --git a/src/mixins/socket.js b/src/mixins/socket.js
index 64560ea..672027f 100644
--- a/src/mixins/socket.js
+++ b/src/mixins/socket.js
@@ -107,8 +107,8 @@ export default {
}
});
- socket.on("heartbeatList", (monitorID, data) => {
- if (! (monitorID in this.heartbeatList)) {
+ socket.on("heartbeatList", (monitorID, data, overwrite = false) => {
+ if (! (monitorID in this.heartbeatList) || overwrite) {
this.heartbeatList[monitorID] = data;
} else {
this.heartbeatList[monitorID] = data.concat(this.heartbeatList[monitorID])
@@ -127,8 +127,8 @@ export default {
this.certInfoList[monitorID] = JSON.parse(data)
});
- socket.on("importantHeartbeatList", (monitorID, data) => {
- if (! (monitorID in this.importantHeartbeatList)) {
+ socket.on("importantHeartbeatList", (monitorID, data, overwrite) => {
+ if (! (monitorID in this.importantHeartbeatList) || overwrite) {
this.importantHeartbeatList[monitorID] = data;
} else {
this.importantHeartbeatList[monitorID] = data.concat(this.importantHeartbeatList[monitorID])
diff --git a/src/pages/Details.vue b/src/pages/Details.vue
index d30885f..776f1c1 100644
--- a/src/pages/Details.vue
+++ b/src/pages/Details.vue
@@ -276,6 +276,7 @@ export default {
importantHeartBeatList() {
if (this.$root.importantHeartbeatList[this.monitor.id]) {
+ // eslint-disable-next-line vue/no-side-effects-in-computed-properties
this.heartBeatList = this.$root.importantHeartbeatList[this.monitor.id];
return this.$root.importantHeartbeatList[this.monitor.id]
}
@@ -359,9 +360,7 @@ export default {
clearEvents() {
this.$root.clearEvents(this.monitor.id, (res) => {
- if (res.ok) {
- this.$router.go();
- } else {
+ if (! res.ok) {
toast.error(res.msg);
}
})
@@ -369,9 +368,7 @@ export default {
clearHeartbeats() {
this.$root.clearHeartbeats(this.monitor.id, (res) => {
- if (res.ok) {
- this.$router.go();
- } else {
+ if (! res.ok) {
toast.error(res.msg);
}
})
@@ -495,7 +492,7 @@ table {
border-color: $dark-bg2;
border-width: 2px;
- li button{
+ li button {
color: $dark-font-color;
}
From d5b32ffbb8cb91834a6c3a37bb3a3c9c76d6e71f Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Sun, 5 Sep 2021 02:25:40 +0800
Subject: [PATCH 138/162] add language missing keys
---
src/languages/da-DK.js | 8 +++++++-
src/languages/de-DE.js | 4 ++--
src/languages/en.js | 4 ++--
src/languages/es-ES.js | 8 +++++++-
src/languages/fr.js | 8 +++++++-
src/languages/ja.js | 8 +++++++-
src/languages/ko-KR.js | 8 +++++++-
src/languages/nl-NL.js | 8 +++++++-
src/languages/ru-RU.js | 8 +++++++-
src/languages/sr-latn.js | 8 +++++++-
src/languages/sr.js | 8 +++++++-
src/languages/sv-SE.js | 8 +++++++-
src/languages/zh-CN.js | 8 +++++++-
src/languages/zh-HK.js | 8 +++++++-
14 files changed, 88 insertions(+), 16 deletions(-)
diff --git a/src/languages/da-DK.js b/src/languages/da-DK.js
index 713eecf..1f4f74f 100644
--- a/src/languages/da-DK.js
+++ b/src/languages/da-DK.js
@@ -108,5 +108,11 @@ export default {
"Repeat Password": "Gentag adgangskoden",
"Resource Record Type": "Resource Record Type",
respTime: "Resp. Time (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ clearEventsMsg: "Are you sure want to delete all events for this monitor?",
+ clearHeartbeatsMsg: "Are you sure want to delete all heartbeats for this monitor?",
+ confirmClearStatisticsMsg: "Are you sure want to delete ALL statistics?",
+ "Clear Data": "Clear Data",
+ Events: "Events",
+ Heartbeats: "Heartbeats"
}
diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js
index 9d51d43..0db2502 100644
--- a/src/languages/de-DE.js
+++ b/src/languages/de-DE.js
@@ -107,8 +107,8 @@ export default {
clearEventsMsg: "Bist du sicher das du alle Ereignisse für diesen Monitor löschen möchtest?",
clearHeartbeatsMsg: "Bist du sicher das du alle Statistiken für diesen Monitor löschen möchtest?",
"Clear Data": "Lösche Daten",
- "Events": "Ereignisse",
- "Heartbeats": "Statistiken",
+ Events: "Ereignisse",
+ Heartbeats: "Statistiken",
confirmClearStatisticsMsg: "Bist du sicher das du ALLE Statistiken löschen möchtest?",
"Create your admin account": "Erstelle dein Admin Konto",
"Repeat Password": "Wiederhole das Passwort",
diff --git a/src/languages/en.js b/src/languages/en.js
index bec4edf..58089b9 100644
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -113,6 +113,6 @@ export default {
respTime: "Resp. Time (ms)",
notAvailableShort: "N/A",
"Clear Data": "Clear Data",
- "Events": "Events",
- "Heartbeats": "Heartbeats",
+ Events: "Events",
+ Heartbeats: "Heartbeats"
}
diff --git a/src/languages/es-ES.js b/src/languages/es-ES.js
index 96ce923..0f11832 100644
--- a/src/languages/es-ES.js
+++ b/src/languages/es-ES.js
@@ -108,5 +108,11 @@ export default {
"Create your admin account": "Crea tu cuenta de administrador",
"Repeat Password": "Repetir contraseña",
respTime: "Tiempo de resp. (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ clearEventsMsg: "Are you sure want to delete all events for this monitor?",
+ clearHeartbeatsMsg: "Are you sure want to delete all heartbeats for this monitor?",
+ confirmClearStatisticsMsg: "Are you sure want to delete ALL statistics?",
+ "Clear Data": "Clear Data",
+ Events: "Events",
+ Heartbeats: "Heartbeats"
}
diff --git a/src/languages/fr.js b/src/languages/fr.js
index e4f999d..7bfb4f9 100644
--- a/src/languages/fr.js
+++ b/src/languages/fr.js
@@ -108,5 +108,11 @@ export default {
"Create your admin account": "Créez votre compte administrateur",
"Repeat Password": "Répéter le mot de passe",
respTime: "Temps de réponse (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ clearEventsMsg: "Are you sure want to delete all events for this monitor?",
+ clearHeartbeatsMsg: "Are you sure want to delete all heartbeats for this monitor?",
+ confirmClearStatisticsMsg: "Are you sure want to delete ALL statistics?",
+ "Clear Data": "Clear Data",
+ Events: "Events",
+ Heartbeats: "Heartbeats"
}
diff --git a/src/languages/ja.js b/src/languages/ja.js
index 23de640..86c5b20 100644
--- a/src/languages/ja.js
+++ b/src/languages/ja.js
@@ -108,5 +108,11 @@ export default {
"Create your admin account": "Create your admin account",
"Repeat Password": "Repeat Password",
respTime: "Resp. Time (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ clearEventsMsg: "Are you sure want to delete all events for this monitor?",
+ clearHeartbeatsMsg: "Are you sure want to delete all heartbeats for this monitor?",
+ confirmClearStatisticsMsg: "Are you sure want to delete ALL statistics?",
+ "Clear Data": "Clear Data",
+ Events: "Events",
+ Heartbeats: "Heartbeats"
}
diff --git a/src/languages/ko-KR.js b/src/languages/ko-KR.js
index 8493193..4a3c84a 100644
--- a/src/languages/ko-KR.js
+++ b/src/languages/ko-KR.js
@@ -108,5 +108,11 @@ export default {
"Create your admin account": "관리자 계정 만들기",
"Repeat Password": "비밀번호 재입력",
respTime: "응답 시간 (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ clearEventsMsg: "Are you sure want to delete all events for this monitor?",
+ clearHeartbeatsMsg: "Are you sure want to delete all heartbeats for this monitor?",
+ confirmClearStatisticsMsg: "Are you sure want to delete ALL statistics?",
+ "Clear Data": "Clear Data",
+ Events: "Events",
+ Heartbeats: "Heartbeats"
}
diff --git a/src/languages/nl-NL.js b/src/languages/nl-NL.js
index 60c5089..24e7291 100644
--- a/src/languages/nl-NL.js
+++ b/src/languages/nl-NL.js
@@ -108,5 +108,11 @@ export default {
"Create your admin account": "Maak uw beheerdersaccount aan",
"Repeat Password": "Herhaal wachtwoord",
respTime: "resp. tijd (ms)",
- notAvailableShort: "N.v.t."
+ notAvailableShort: "N.v.t.",
+ clearEventsMsg: "Are you sure want to delete all events for this monitor?",
+ clearHeartbeatsMsg: "Are you sure want to delete all heartbeats for this monitor?",
+ confirmClearStatisticsMsg: "Are you sure want to delete ALL statistics?",
+ "Clear Data": "Clear Data",
+ Events: "Events",
+ Heartbeats: "Heartbeats"
}
diff --git a/src/languages/ru-RU.js b/src/languages/ru-RU.js
index f42f9c2..f2c7a0e 100644
--- a/src/languages/ru-RU.js
+++ b/src/languages/ru-RU.js
@@ -108,5 +108,11 @@ export default {
"Create your admin account": "Создайте аккаунт администратора",
"Repeat Password": "Повторите пароль",
respTime: "Resp. Time (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ clearEventsMsg: "Are you sure want to delete all events for this monitor?",
+ clearHeartbeatsMsg: "Are you sure want to delete all heartbeats for this monitor?",
+ confirmClearStatisticsMsg: "Are you sure want to delete ALL statistics?",
+ "Clear Data": "Clear Data",
+ Events: "Events",
+ Heartbeats: "Heartbeats"
}
diff --git a/src/languages/sr-latn.js b/src/languages/sr-latn.js
index aa7d95c..60a90d8 100644
--- a/src/languages/sr-latn.js
+++ b/src/languages/sr-latn.js
@@ -108,5 +108,11 @@ export default {
"Create your admin account": "Naprivi administratorski nalog",
"Repeat Password": "Ponovite lozinku",
respTime: "Vreme odg. (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ clearEventsMsg: "Are you sure want to delete all events for this monitor?",
+ clearHeartbeatsMsg: "Are you sure want to delete all heartbeats for this monitor?",
+ confirmClearStatisticsMsg: "Are you sure want to delete ALL statistics?",
+ "Clear Data": "Clear Data",
+ Events: "Events",
+ Heartbeats: "Heartbeats"
}
diff --git a/src/languages/sr.js b/src/languages/sr.js
index 0bd0840..dfcee7c 100644
--- a/src/languages/sr.js
+++ b/src/languages/sr.js
@@ -108,5 +108,11 @@ export default {
"Create your admin account": "Наприви администраторски налог",
"Repeat Password": "Поновите лозинку",
respTime: "Време одг. (мс)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ clearEventsMsg: "Are you sure want to delete all events for this monitor?",
+ clearHeartbeatsMsg: "Are you sure want to delete all heartbeats for this monitor?",
+ confirmClearStatisticsMsg: "Are you sure want to delete ALL statistics?",
+ "Clear Data": "Clear Data",
+ Events: "Events",
+ Heartbeats: "Heartbeats"
}
diff --git a/src/languages/sv-SE.js b/src/languages/sv-SE.js
index 8aa4e15..dc76bab 100644
--- a/src/languages/sv-SE.js
+++ b/src/languages/sv-SE.js
@@ -108,5 +108,11 @@ export default {
"Create your admin account": "Skapa ditt administratörskonto",
"Repeat Password": "Upprepa Lösenord",
respTime: "Svarstid (ms)",
- notAvailableShort: "Ej Tillg."
+ notAvailableShort: "Ej Tillg.",
+ clearEventsMsg: "Are you sure want to delete all events for this monitor?",
+ clearHeartbeatsMsg: "Are you sure want to delete all heartbeats for this monitor?",
+ confirmClearStatisticsMsg: "Are you sure want to delete ALL statistics?",
+ "Clear Data": "Clear Data",
+ Events: "Events",
+ Heartbeats: "Heartbeats"
}
diff --git a/src/languages/zh-CN.js b/src/languages/zh-CN.js
index d179a91..d04eabd 100644
--- a/src/languages/zh-CN.js
+++ b/src/languages/zh-CN.js
@@ -108,5 +108,11 @@ export default {
"Create your admin account": "创建管理员账号",
"Repeat Password": "重复密码",
respTime: "Resp. Time (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ clearEventsMsg: "Are you sure want to delete all events for this monitor?",
+ clearHeartbeatsMsg: "Are you sure want to delete all heartbeats for this monitor?",
+ confirmClearStatisticsMsg: "Are you sure want to delete ALL statistics?",
+ "Clear Data": "Clear Data",
+ Events: "Events",
+ Heartbeats: "Heartbeats"
}
diff --git a/src/languages/zh-HK.js b/src/languages/zh-HK.js
index 4bcc502..39532df 100644
--- a/src/languages/zh-HK.js
+++ b/src/languages/zh-HK.js
@@ -108,5 +108,11 @@ export default {
"Create your admin account": "製作你的管理員帳號",
"Repeat Password": "重複密碼",
respTime: "反應時間 (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ clearEventsMsg: "是否確定刪除這個監測器的所有事件?",
+ clearHeartbeatsMsg: "是否確定刪除這個監測器的所有脈搏資料?",
+ confirmClearStatisticsMsg: "是否確定刪除所有監測器的脈搏資料?(您的監測器會繼續正常運作)",
+ "Clear Data": "清除資料",
+ Events: "事件",
+ Heartbeats: "脈搏"
}
From 5837c353b7689c573f03fe843ccc007f872e1335 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Sun, 5 Sep 2021 02:47:31 +0800
Subject: [PATCH 139/162] change the default theme to auto from light
---
src/mixins/theme.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mixins/theme.js b/src/mixins/theme.js
index 44e3753..b149e11 100644
--- a/src/mixins/theme.js
+++ b/src/mixins/theme.js
@@ -11,7 +11,7 @@ export default {
mounted() {
// Default Light
if (! this.userTheme) {
- this.userTheme = "light";
+ this.userTheme = "auto";
}
// Default Heartbeat Bar
From 9952463350907aaf03ab9d944876145b4c96bc47 Mon Sep 17 00:00:00 2001
From: Misly <60405462+Misly16@users.noreply.github.com>
Date: Sat, 4 Sep 2021 20:38:53 +0000
Subject: [PATCH 140/162] Add Polish Locale
---
src/languages/pl.js | 112 +++++++++++++++++++++++++++++++++++++++++
src/main.js | 2 +
src/pages/Settings.vue | 5 ++
3 files changed, 119 insertions(+)
create mode 100644 src/languages/pl.js
diff --git a/src/languages/pl.js b/src/languages/pl.js
new file mode 100644
index 0000000..9e16011
--- /dev/null
+++ b/src/languages/pl.js
@@ -0,0 +1,112 @@
+export default {
+ languageName: "Polski",
+ checkEverySecond: "sprawdzaj co {0} sekund.",
+ "Avg.": "Średnia. ",
+ retriesDescription: "Maksymalna liczba ponownych prób, zanim usługa zostanie oznaczona jako offline i zostanie wysłane powiadomienie.",
+ ignoreTLSError: "Ignoruj błąd TLS/SSL dla stron HTTPS.",
+ upsideDownModeDescription: "Odwróć status do góry nogami. Jeśli usługa jest osiągalna, to jest niedostępna.",
+ maxRedirectDescription: "Maksymalna liczba przekierowań do naśladowania. Ustaw na 0, aby wyłączyć przekierowania.",
+ acceptedStatusCodesDescription: "Wybierz kody stanu, które są uważane za udaną odpowiedź.",
+ passwordNotMatchMsg: "Powtórzone hasło nie jest takie samo.",
+ notificationDescription: "Dodaj powiadomienie do monitorów, aby one działały.",
+ keywordDescription: "Wyszukaj słowo kluczowe w html lub JSON i wielkość liter ma znaczenie.",
+ pauseDashboardHome: "pauza",
+ deleteMonitorMsg: "Czy na pewno chcesz usunąć ten monitor?",
+ deleteNotificationMsg: "Czy na pewno chcesz usunąć to powiadomienie ze wszystkich monitorów?",
+ resoverserverDescription: "Cloudflare jest domyślnym serwerem, możesz zmienić serwer resolver w dowolnym momencie.",
+ rrtypeDescription: "Wybierz typ RR-Type który chcesz monitorować.",
+ pauseMonitorMsg: "Czy na pewno chcesz wstrzymać?",
+ Settings: "Ustawienia",
+ Dashboard: "Panel",
+ "New Update": "Nowa aktualizacja",
+ Language: "Język",
+ Appearance: "Wygląd",
+ Theme: "Motyw",
+ General: "Ogólne",
+ Version: "Versja",
+ "Check Update On GitHub": "Sprawdź aktualizację na GitHub.",
+ List: "Lista",
+ Add: "Dodaj",
+ "Add New Monitor": "Dodaj Nowy Monitor",
+ "Quick Stats": "Szybkie statystyki",
+ Up: "Online",
+ Down: "Offline",
+ Pending: "Oczekujący",
+ Unknown: "Nieznane",
+ Pause: "Pauza",
+ Name: "Nazwa",
+ Status: "Status",
+ DateTime: "Data i godzina",
+ Message: "Wiadomość",
+ "No important events": "Brak ważnych wydarzeń.",
+ Resume: "Wznów",
+ Edit: "Edytuj",
+ Delete: "Usuń",
+ Current: "aktualny",
+ Uptime: "czas pracy",
+ "Cert Exp.": "Wygaśnięcie certyfikatu.",
+ days: "dni",
+ day: "dzień",
+ "-day": "-dzień",
+ hour: "godzina",
+ "-hour": "-godzina",
+ Response: "odpowiedź",
+ Ping: "Ping",
+ "Monitor Type": "Typ monitora",
+ Keyword: "słowo kluczowe",
+ "Friendly Name": "Przyjazne imię",
+ URL: "URL",
+ Hostname: "Hostname",
+ Port: "Port",
+ "Heartbeat Interval": "Interwał bicia serca",
+ Retries: "Prób",
+ Advanced: "Zaawansowane",
+ "Upside Down Mode": "Tryb do góry nogami",
+ "Max. Redirects": "Maks. Przekierowania",
+ "Accepted Status Codes": "Akceptowane kody statusu",
+ Save: "Zapisz",
+ Notifications: "Powiadomienia",
+ "Not available, please setup.": "Niedostępne, proszę skonfigurować.",
+ "Setup Notification": "Powiadomienie konfiguracji",
+ Light: "Jasny",
+ Dark: "Ciemny",
+ Auto: "Automatyczny",
+ "Theme - Heartbeat Bar": "Motyw - pasek bicia serca",
+ Normal: "Normalne",
+ Bottom: "Na dole",
+ None: "Nic",
+ Timezone: "Strefa czasowa",
+ "Search Engine Visibility": "Widoczność w wyszukiwarce",
+ "Allow indexing": "Zezwól na indeksowanie",
+ "Discourage search engines from indexing site": "Zniechęcaj wyszukiwarki do indeksowania strony",
+ "Change Password": "Zmień hasło",
+ "Current Password": "Aktualne hasło",
+ "New Password": "Nowe hasło",
+ "Repeat New Password": "Powtórz nowe hasło",
+ "Update Password": "Zaktualizuj hasło",
+ "Disable Auth": "Wyłącz autoryzację",
+ "Enable Auth": "Włącz autoryzację ",
+ Logout: "Wyloguj się",
+ Leave: "Opuść",
+ "I understand, please disable": "Rozumiem, proszę wyłączyć",
+ Confirm: "Potwierdź",
+ Yes: "Tak",
+ No: "Nie",
+ Username: "Nazwa użytkownika",
+ Password: "Hasło",
+ "Remember me": "Zapamiętaj mnie",
+ Login: "Zaloguj sie",
+ "No Monitors, please": "Proszę bez monitorów",
+ "add one": "dodaj jeden",
+ "Notification Type": "Typ powiadomienia",
+ Email: "Email",
+ Test: "Test",
+ "Certificate Info": "Informacje o certyfikacie",
+ "Resolver Server": "Server resolver",
+ "Resource Record Type": "Typ rekordu zasobów",
+ "Last Result": "Ostatni rekord",
+ "Create your admin account": "Utwórz swoje konto administratora",
+ "Repeat Password": "Powtórz hasło",
+ respTime: "Odp. Czas (ms)",
+ notAvailableShort: "N/A"
+}
diff --git a/src/main.js b/src/main.js
index 8f5e0a9..7ad9db0 100644
--- a/src/main.js
+++ b/src/main.js
@@ -37,6 +37,7 @@ import svSE from "./languages/sv-SE";
import koKR from "./languages/ko-KR";
import ruRU from "./languages/ru-RU";
import zhCN from "./languages/zh-CN";
+import pl from "./languages/pl"
const routes = [
{
@@ -114,6 +115,7 @@ const languageList = {
"ko-KR": koKR,
"ru-RU": ruRU,
"zh-CN": zhCN,
+ "pl": pl,
};
const i18n = createI18n({
diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue
index 7056421..83384ca 100644
--- a/src/pages/Settings.vue
+++ b/src/pages/Settings.vue
@@ -213,6 +213,11 @@
이 기능은 Cloudflare Access와 같은 서드파티 인증 을 Uptime Kuma 앞에 둔 사용자를 위한 기능이에요.
신중하게 사용하세요.
+
+ Czy na pewno chcesz wyłączyć autoryzację ?
+ Jest przeznaczony dla kogoś, kto ma autoryzację zewnętrzną przed Uptime Kuma, taką jak Cloudflare Access.
+ Proszę używać ostrożnie.
+
From 1b8b33c4c3e585b002570bf903d883f6ca42cb1e Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Sun, 5 Sep 2021 15:40:35 +0200
Subject: [PATCH 141/162] Added set language to the Setup.vue
---
src/languages/de-DE.js | 3 ++-
src/languages/en.js | 3 ++-
src/pages/Setup.vue | 16 +++++++++++++++-
3 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js
index 76c355a..1f8eb05 100644
--- a/src/languages/de-DE.js
+++ b/src/languages/de-DE.js
@@ -108,5 +108,6 @@ export default {
"Repeat Password": "Wiederhole das Passwort",
"Resource Record Type": "Resource Record Type",
respTime: "Antw. Zeit (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ Create: "Erstellen",
}
diff --git a/src/languages/en.js b/src/languages/en.js
index f0e4ae9..6a4f5e2 100644
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -108,5 +108,6 @@ export default {
"Create your admin account": "Create your admin account",
"Repeat Password": "Repeat Password",
respTime: "Resp. Time (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ Create: "Create",
}
diff --git a/src/pages/Setup.vue b/src/pages/Setup.vue
index 756aff3..dbff868 100644
--- a/src/pages/Setup.vue
+++ b/src/pages/Setup.vue
@@ -14,6 +14,15 @@
+
+
+ {{ $i18n.messages[lang].languageName }}
+
+
+ {{ $t("Language") }}
+
+
+
{{ $t("Username") }}
@@ -29,7 +38,7 @@
- Create
+ {{ $t("Create") }}
@@ -49,6 +58,11 @@ export default {
repeatPassword: "",
}
},
+ watch: {
+ "$i18n.locale"() {
+ localStorage.locale = this.$i18n.locale;
+ },
+ },
mounted() {
this.$root.getSocket().emit("needSetup", (needSetup) => {
if (! needSetup) {
From 899b33b3a966017a17cd5e3c45c5044fa4554015 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Mon, 6 Sep 2021 01:31:05 +0800
Subject: [PATCH 142/162] add language missing keys
---
src/languages/da-DK.js | 3 ++-
src/languages/es-ES.js | 3 ++-
src/languages/fr.js | 3 ++-
src/languages/ja.js | 3 ++-
src/languages/ko-KR.js | 3 ++-
src/languages/nl-NL.js | 3 ++-
src/languages/pl.js | 3 ++-
src/languages/ru-RU.js | 3 ++-
src/languages/sr-latn.js | 3 ++-
src/languages/sr.js | 3 ++-
src/languages/sv-SE.js | 3 ++-
src/languages/zh-CN.js | 3 ++-
src/languages/zh-HK.js | 3 ++-
13 files changed, 26 insertions(+), 13 deletions(-)
diff --git a/src/languages/da-DK.js b/src/languages/da-DK.js
index 713eecf..050f31e 100644
--- a/src/languages/da-DK.js
+++ b/src/languages/da-DK.js
@@ -108,5 +108,6 @@ export default {
"Repeat Password": "Gentag adgangskoden",
"Resource Record Type": "Resource Record Type",
respTime: "Resp. Time (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ Create: "Create"
}
diff --git a/src/languages/es-ES.js b/src/languages/es-ES.js
index 96ce923..4079991 100644
--- a/src/languages/es-ES.js
+++ b/src/languages/es-ES.js
@@ -108,5 +108,6 @@ export default {
"Create your admin account": "Crea tu cuenta de administrador",
"Repeat Password": "Repetir contraseña",
respTime: "Tiempo de resp. (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ Create: "Create"
}
diff --git a/src/languages/fr.js b/src/languages/fr.js
index e4f999d..4019b74 100644
--- a/src/languages/fr.js
+++ b/src/languages/fr.js
@@ -108,5 +108,6 @@ export default {
"Create your admin account": "Créez votre compte administrateur",
"Repeat Password": "Répéter le mot de passe",
respTime: "Temps de réponse (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ Create: "Create"
}
diff --git a/src/languages/ja.js b/src/languages/ja.js
index 23de640..51181cd 100644
--- a/src/languages/ja.js
+++ b/src/languages/ja.js
@@ -108,5 +108,6 @@ export default {
"Create your admin account": "Create your admin account",
"Repeat Password": "Repeat Password",
respTime: "Resp. Time (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ Create: "Create"
}
diff --git a/src/languages/ko-KR.js b/src/languages/ko-KR.js
index 8493193..49a510f 100644
--- a/src/languages/ko-KR.js
+++ b/src/languages/ko-KR.js
@@ -108,5 +108,6 @@ export default {
"Create your admin account": "관리자 계정 만들기",
"Repeat Password": "비밀번호 재입력",
respTime: "응답 시간 (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ Create: "Create"
}
diff --git a/src/languages/nl-NL.js b/src/languages/nl-NL.js
index 60c5089..0ab73bb 100644
--- a/src/languages/nl-NL.js
+++ b/src/languages/nl-NL.js
@@ -108,5 +108,6 @@ export default {
"Create your admin account": "Maak uw beheerdersaccount aan",
"Repeat Password": "Herhaal wachtwoord",
respTime: "resp. tijd (ms)",
- notAvailableShort: "N.v.t."
+ notAvailableShort: "N.v.t.",
+ Create: "Create"
}
diff --git a/src/languages/pl.js b/src/languages/pl.js
index 9e16011..25f7643 100644
--- a/src/languages/pl.js
+++ b/src/languages/pl.js
@@ -108,5 +108,6 @@ export default {
"Create your admin account": "Utwórz swoje konto administratora",
"Repeat Password": "Powtórz hasło",
respTime: "Odp. Czas (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ Create: "Create"
}
diff --git a/src/languages/ru-RU.js b/src/languages/ru-RU.js
index f42f9c2..96f6efa 100644
--- a/src/languages/ru-RU.js
+++ b/src/languages/ru-RU.js
@@ -108,5 +108,6 @@ export default {
"Create your admin account": "Создайте аккаунт администратора",
"Repeat Password": "Повторите пароль",
respTime: "Resp. Time (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ Create: "Create"
}
diff --git a/src/languages/sr-latn.js b/src/languages/sr-latn.js
index aa7d95c..defc782 100644
--- a/src/languages/sr-latn.js
+++ b/src/languages/sr-latn.js
@@ -108,5 +108,6 @@ export default {
"Create your admin account": "Naprivi administratorski nalog",
"Repeat Password": "Ponovite lozinku",
respTime: "Vreme odg. (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ Create: "Create"
}
diff --git a/src/languages/sr.js b/src/languages/sr.js
index 0bd0840..d333210 100644
--- a/src/languages/sr.js
+++ b/src/languages/sr.js
@@ -108,5 +108,6 @@ export default {
"Create your admin account": "Наприви администраторски налог",
"Repeat Password": "Поновите лозинку",
respTime: "Време одг. (мс)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ Create: "Create"
}
diff --git a/src/languages/sv-SE.js b/src/languages/sv-SE.js
index 8aa4e15..d001543 100644
--- a/src/languages/sv-SE.js
+++ b/src/languages/sv-SE.js
@@ -108,5 +108,6 @@ export default {
"Create your admin account": "Skapa ditt administratörskonto",
"Repeat Password": "Upprepa Lösenord",
respTime: "Svarstid (ms)",
- notAvailableShort: "Ej Tillg."
+ notAvailableShort: "Ej Tillg.",
+ Create: "Create"
}
diff --git a/src/languages/zh-CN.js b/src/languages/zh-CN.js
index d179a91..e47bd70 100644
--- a/src/languages/zh-CN.js
+++ b/src/languages/zh-CN.js
@@ -108,5 +108,6 @@ export default {
"Create your admin account": "创建管理员账号",
"Repeat Password": "重复密码",
respTime: "Resp. Time (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ Create: "Create"
}
diff --git a/src/languages/zh-HK.js b/src/languages/zh-HK.js
index 4bcc502..6dfc726 100644
--- a/src/languages/zh-HK.js
+++ b/src/languages/zh-HK.js
@@ -108,5 +108,6 @@ export default {
"Create your admin account": "製作你的管理員帳號",
"Repeat Password": "重複密碼",
respTime: "反應時間 (ms)",
- notAvailableShort: "N/A"
+ notAvailableShort: "N/A",
+ Create: "建立"
}
From d4ff5d8b325571ebf4fe518bc09b9ac30cd51a95 Mon Sep 17 00:00:00 2001
From: Adam Stachowicz
Date: Sun, 5 Sep 2021 20:55:25 +0200
Subject: [PATCH 143/162] [LANG] `pl` fixes
---
src/languages/pl.js | 66 ++++++++++++++++++++++-----------------------
1 file changed, 33 insertions(+), 33 deletions(-)
diff --git a/src/languages/pl.js b/src/languages/pl.js
index 25f7643..c95a1d6 100644
--- a/src/languages/pl.js
+++ b/src/languages/pl.js
@@ -1,20 +1,20 @@
export default {
languageName: "Polski",
- checkEverySecond: "sprawdzaj co {0} sekund.",
- "Avg.": "Średnia. ",
- retriesDescription: "Maksymalna liczba ponownych prób, zanim usługa zostanie oznaczona jako offline i zostanie wysłane powiadomienie.",
- ignoreTLSError: "Ignoruj błąd TLS/SSL dla stron HTTPS.",
+ checkEverySecond: "Sprawdzaj co {0} sekund.",
+ "Avg.": "Średnia ",
+ retriesDescription: "Maksymalna liczba powtórzeń, zanim usługa zostanie oznaczona jako wyłączona i zostanie wysłane powiadomienie",
+ ignoreTLSError: "Ignoruj błąd TLS/SSL dla stron HTTPS",
upsideDownModeDescription: "Odwróć status do góry nogami. Jeśli usługa jest osiągalna, to jest niedostępna.",
- maxRedirectDescription: "Maksymalna liczba przekierowań do naśladowania. Ustaw na 0, aby wyłączyć przekierowania.",
+ maxRedirectDescription: "Maksymalna liczba przekierowań do wykonania. Ustaw na 0, aby wyłączyć przekierowania.",
acceptedStatusCodesDescription: "Wybierz kody stanu, które są uważane za udaną odpowiedź.",
- passwordNotMatchMsg: "Powtórzone hasło nie jest takie samo.",
- notificationDescription: "Dodaj powiadomienie do monitorów, aby one działały.",
- keywordDescription: "Wyszukaj słowo kluczowe w html lub JSON i wielkość liter ma znaczenie.",
- pauseDashboardHome: "pauza",
+ passwordNotMatchMsg: "Powtórzone hasło nie pasuje.",
+ notificationDescription: "Proszę przypisać powiadomienie do monitora(ów), aby zadziałał.",
+ keywordDescription: "Wyszukiwanie słów kluczowych w zwykłym html lub odpowiedzi JSON. Wielkość liter ma znaczenie.",
+ pauseDashboardHome: "Pauza",
deleteMonitorMsg: "Czy na pewno chcesz usunąć ten monitor?",
- deleteNotificationMsg: "Czy na pewno chcesz usunąć to powiadomienie ze wszystkich monitorów?",
- resoverserverDescription: "Cloudflare jest domyślnym serwerem, możesz zmienić serwer resolver w dowolnym momencie.",
- rrtypeDescription: "Wybierz typ RR-Type który chcesz monitorować.",
+ deleteNotificationMsg: "Czy na pewno chcesz usunąć to powiadomienie dla wszystkich monitorów?",
+ resoverserverDescription: "Cloudflare jest domyślnym serwerem, możesz zmienić serwer resolver w każdej chwili.",
+ rrtypeDescription: "Wybierz RR-Type który chcesz monitorować",
pauseMonitorMsg: "Czy na pewno chcesz wstrzymać?",
Settings: "Ustawienia",
Dashboard: "Panel",
@@ -23,11 +23,11 @@ export default {
Appearance: "Wygląd",
Theme: "Motyw",
General: "Ogólne",
- Version: "Versja",
+ Version: "Wersja",
"Check Update On GitHub": "Sprawdź aktualizację na GitHub.",
List: "Lista",
Add: "Dodaj",
- "Add New Monitor": "Dodaj Nowy Monitor",
+ "Add New Monitor": "Dodaj nowy monitor",
"Quick Stats": "Szybkie statystyki",
Up: "Online",
Down: "Offline",
@@ -38,46 +38,46 @@ export default {
Status: "Status",
DateTime: "Data i godzina",
Message: "Wiadomość",
- "No important events": "Brak ważnych wydarzeń.",
+ "No important events": "Brak ważnych wydarzeń",
Resume: "Wznów",
Edit: "Edytuj",
Delete: "Usuń",
Current: "aktualny",
- Uptime: "czas pracy",
- "Cert Exp.": "Wygaśnięcie certyfikatu.",
+ Uptime: "Czas pracy",
+ "Cert Exp.": "Wygaśnięcie certyfikatu",
days: "dni",
day: "dzień",
- "-day": "-dzień",
+ "-day": " dni",
hour: "godzina",
- "-hour": "-godzina",
- Response: "odpowiedź",
+ "-hour": " godziny",
+ Response: "Odpowiedź",
Ping: "Ping",
"Monitor Type": "Typ monitora",
- Keyword: "słowo kluczowe",
- "Friendly Name": "Przyjazne imię",
+ Keyword: "Słowo kluczowe",
+ "Friendly Name": "Przyjazna nazwa",
URL: "URL",
- Hostname: "Hostname",
+ Hostname: "Nazwa hosta",
Port: "Port",
"Heartbeat Interval": "Interwał bicia serca",
Retries: "Prób",
Advanced: "Zaawansowane",
"Upside Down Mode": "Tryb do góry nogami",
- "Max. Redirects": "Maks. Przekierowania",
+ "Max. Redirects": "Maks. przekierowania",
"Accepted Status Codes": "Akceptowane kody statusu",
Save: "Zapisz",
Notifications: "Powiadomienia",
"Not available, please setup.": "Niedostępne, proszę skonfigurować.",
- "Setup Notification": "Powiadomienie konfiguracji",
+ "Setup Notification": "Konfiguracja powiadomień",
Light: "Jasny",
Dark: "Ciemny",
Auto: "Automatyczny",
"Theme - Heartbeat Bar": "Motyw - pasek bicia serca",
Normal: "Normalne",
Bottom: "Na dole",
- None: "Nic",
+ None: "Brak",
Timezone: "Strefa czasowa",
"Search Engine Visibility": "Widoczność w wyszukiwarce",
- "Allow indexing": "Zezwól na indeksowanie",
+ "Allow indexing": "Pozwól na indeksowanie",
"Discourage search engines from indexing site": "Zniechęcaj wyszukiwarki do indeksowania strony",
"Change Password": "Zmień hasło",
"Current Password": "Aktualne hasło",
@@ -87,7 +87,7 @@ export default {
"Disable Auth": "Wyłącz autoryzację",
"Enable Auth": "Włącz autoryzację ",
Logout: "Wyloguj się",
- Leave: "Opuść",
+ Leave: "Zostaw",
"I understand, please disable": "Rozumiem, proszę wyłączyć",
Confirm: "Potwierdź",
Yes: "Tak",
@@ -95,8 +95,8 @@ export default {
Username: "Nazwa użytkownika",
Password: "Hasło",
"Remember me": "Zapamiętaj mnie",
- Login: "Zaloguj sie",
- "No Monitors, please": "Proszę bez monitorów",
+ Login: "Zaloguj się",
+ "No Monitors, please": "Brak monitorów, proszę",
"add one": "dodaj jeden",
"Notification Type": "Typ powiadomienia",
Email: "Email",
@@ -104,10 +104,10 @@ export default {
"Certificate Info": "Informacje o certyfikacie",
"Resolver Server": "Server resolver",
"Resource Record Type": "Typ rekordu zasobów",
- "Last Result": "Ostatni rekord",
+ "Last Result": "Ostatni wynik",
"Create your admin account": "Utwórz swoje konto administratora",
"Repeat Password": "Powtórz hasło",
- respTime: "Odp. Czas (ms)",
+ respTime: "Czas odp. (ms)",
notAvailableShort: "N/A",
- Create: "Create"
+ Create: "Stwórz"
}
From 424f20f8e125dd3cdfdfba2da5eff6fb5e523958 Mon Sep 17 00:00:00 2001
From: Adam Stachowicz
Date: Sun, 5 Sep 2021 20:59:04 +0200
Subject: [PATCH 144/162] Better `upsideDownModeDescription`
---
src/languages/pl.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/languages/pl.js b/src/languages/pl.js
index c95a1d6..f416d50 100644
--- a/src/languages/pl.js
+++ b/src/languages/pl.js
@@ -4,7 +4,7 @@ export default {
"Avg.": "Średnia ",
retriesDescription: "Maksymalna liczba powtórzeń, zanim usługa zostanie oznaczona jako wyłączona i zostanie wysłane powiadomienie",
ignoreTLSError: "Ignoruj błąd TLS/SSL dla stron HTTPS",
- upsideDownModeDescription: "Odwróć status do góry nogami. Jeśli usługa jest osiągalna, to jest niedostępna.",
+ upsideDownModeDescription: "Odwróć status do góry nogami. Jeśli usługa jest osiągalna, to jest oznaczona jako niedostępna.",
maxRedirectDescription: "Maksymalna liczba przekierowań do wykonania. Ustaw na 0, aby wyłączyć przekierowania.",
acceptedStatusCodesDescription: "Wybierz kody stanu, które są uważane za udaną odpowiedź.",
passwordNotMatchMsg: "Powtórzone hasło nie pasuje.",
From dcc77991083da699be4e5f8e7ea8d1a2f7c5f0ac Mon Sep 17 00:00:00 2001
From: Minvinea
Date: Sun, 5 Sep 2021 21:34:32 +0200
Subject: [PATCH 145/162] Update few words and name of file
https://prnt.sc/1rbosiy
---
src/languages/{fr.js => fr-FR.js} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
rename src/languages/{fr.js => fr-FR.js} (99%)
diff --git a/src/languages/fr.js b/src/languages/fr-FR.js
similarity index 99%
rename from src/languages/fr.js
rename to src/languages/fr-FR.js
index 4019b74..d49d019 100644
--- a/src/languages/fr.js
+++ b/src/languages/fr-FR.js
@@ -66,7 +66,7 @@ export default {
"Theme - Heartbeat Bar": "Voir les services surveillés",
Normal: "Général",
Bottom: "En dessous",
- None: "Non",
+ None: "Rien",
Timezone: "Fuseau Horaire",
"Search Engine Visibility": "Visibilité par les moteurs de recherche",
"Allow indexing": "Autoriser l'indexation par des moteurs de recherche",
@@ -109,5 +109,5 @@ export default {
"Repeat Password": "Répéter le mot de passe",
respTime: "Temps de réponse (ms)",
notAvailableShort: "N/A",
- Create: "Create"
+ Create: "Créer"
}
From e8b814733d4ec8a9e7dea1bf688d487d9ab16643 Mon Sep 17 00:00:00 2001
From: Adam Stachowicz
Date: Sun, 5 Sep 2021 23:14:56 +0200
Subject: [PATCH 146/162] Fix typo
---
src/languages/pl.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/languages/pl.js b/src/languages/pl.js
index f416d50..cc625d6 100644
--- a/src/languages/pl.js
+++ b/src/languages/pl.js
@@ -8,7 +8,7 @@ export default {
maxRedirectDescription: "Maksymalna liczba przekierowań do wykonania. Ustaw na 0, aby wyłączyć przekierowania.",
acceptedStatusCodesDescription: "Wybierz kody stanu, które są uważane za udaną odpowiedź.",
passwordNotMatchMsg: "Powtórzone hasło nie pasuje.",
- notificationDescription: "Proszę przypisać powiadomienie do monitora(ów), aby zadziałał.",
+ notificationDescription: "Proszę przypisać powiadomienie do monitora(ów), aby zadziałało.",
keywordDescription: "Wyszukiwanie słów kluczowych w zwykłym html lub odpowiedzi JSON. Wielkość liter ma znaczenie.",
pauseDashboardHome: "Pauza",
deleteMonitorMsg: "Czy na pewno chcesz usunąć ten monitor?",
From 1197cfa11e923c658902ddd0281fce2725bb3456 Mon Sep 17 00:00:00 2001
From: Minvinea
Date: Sun, 5 Sep 2021 23:37:26 +0200
Subject: [PATCH 147/162] Update file name
---
src/main.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main.js b/src/main.js
index 7ad9db0..e8bc92b 100644
--- a/src/main.js
+++ b/src/main.js
@@ -28,7 +28,7 @@ import zhHK from "./languages/zh-HK";
import deDE from "./languages/de-DE";
import nlNL from "./languages/nl-NL";
import esEs from "./languages/es-ES";
-import fr from "./languages/fr";
+import frFR from "./languages/fr-FR";
import ja from "./languages/ja";
import daDK from "./languages/da-DK";
import sr from "./languages/sr";
From 31648dc5e8cf322f76b18841652f0042787e0b73 Mon Sep 17 00:00:00 2001
From: Minvinea
Date: Sun, 5 Sep 2021 23:41:57 +0200
Subject: [PATCH 148/162] Update #2
---
src/main.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main.js b/src/main.js
index e8bc92b..f34e9c4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -106,7 +106,7 @@ const languageList = {
"de-DE": deDE,
"nl-NL": nlNL,
"es-ES": esEs,
- "fr": fr,
+ "fr-FR": frFR,
"ja": ja,
"da-DK": daDK,
"sr": sr,
From edfaacbb5f07232eca182136e13d08838d12feba Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Tue, 7 Sep 2021 02:24:02 +0200
Subject: [PATCH 149/162] Added component HiddenInput.vue
---
src/components/HiddenInput.vue | 59 ++++++++++++++++++++++++++++++++++
src/icon.js | 4 +--
2 files changed, 61 insertions(+), 2 deletions(-)
create mode 100644 src/components/HiddenInput.vue
diff --git a/src/components/HiddenInput.vue b/src/components/HiddenInput.vue
new file mode 100644
index 0000000..5b2b77a
--- /dev/null
+++ b/src/components/HiddenInput.vue
@@ -0,0 +1,59 @@
+
+
+
+
+
diff --git a/src/icon.js b/src/icon.js
index 960fa8c..58583f0 100644
--- a/src/icon.js
+++ b/src/icon.js
@@ -1,10 +1,10 @@
import { library } from "@fortawesome/fontawesome-svg-core"
-import { faCog, faEdit, faPlus, faPause, faPlay, faTachometerAlt, faTrash, faList, faArrowAltCircleUp } from "@fortawesome/free-solid-svg-icons"
+import { faCog, faEdit, faPlus, faPause, faPlay, faTachometerAlt, faTrash, faList, faArrowAltCircleUp, faEye, faEyeSlash } from "@fortawesome/free-solid-svg-icons"
//import { fa } from '@fortawesome/free-regular-svg-icons'
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"
// Add Free Font Awesome Icons here
// https://fontawesome.com/v5.15/icons?d=gallery&p=2&s=solid&m=free
-library.add(faCog, faEdit, faPlus, faPause, faPlay, faTachometerAlt, faTrash, faList, faArrowAltCircleUp);
+library.add(faCog, faEdit, faPlus, faPause, faPlay, faTachometerAlt, faTrash, faList, faArrowAltCircleUp, faEye, faEyeSlash);
export { FontAwesomeIcon }
From 848296b77a0877dd71c2b06f1e5fa07dd5f1f6d1 Mon Sep 17 00:00:00 2001
From: Ponkhy
Date: Tue, 7 Sep 2021 02:30:53 +0200
Subject: [PATCH 150/162] Changed input for sensitive data to HiddenInput
---
src/components/NotificationDialog.vue | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue
index 2fdb8fe..8a79dba 100644
--- a/src/components/NotificationDialog.vue
+++ b/src/components/NotificationDialog.vue
@@ -40,7 +40,7 @@
Bot Token
-
+
@@ -130,7 +130,7 @@
Password
-
+
@@ -195,7 +195,7 @@
Application Token
-
+
Server URL
@@ -306,13 +306,13 @@
API_KEY
-
+
@@ -323,7 +323,7 @@
API KEY
-
+
API LOGIN
@@ -354,9 +354,9 @@
User Key*
-
+
Application Token*
-
+
Device
Message Title
@@ -442,7 +442,7 @@
Access Token
-
+
@@ -453,7 +453,7 @@
Channel access token
-
+
Line Developers Console -
Basic Settings
@@ -497,11 +497,13 @@ import { ucfirst } from "../util.ts"
import axios from "axios";
import { useToast } from "vue-toastification"
import Confirm from "./Confirm.vue";
+import HiddenInput from "./HiddenInput.vue";
const toast = useToast()
export default {
components: {
Confirm,
+ HiddenInput,
},
props: {},
data() {
From 5fe8a0917ac11ba7e68f9e35c581793568f51c72 Mon Sep 17 00:00:00 2001
From: Juan Calderon-Perez <835733+gaby@users.noreply.github.com>
Date: Mon, 6 Sep 2021 22:20:12 -0400
Subject: [PATCH 151/162] Refactor Debian Dockerfile
---
dockerfile-debian | 29 ++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/dockerfile-debian b/dockerfile-debian
index 7e0f798..ea195d1 100644
--- a/dockerfile-debian
+++ b/dockerfile-debian
@@ -1,22 +1,20 @@
-# DON'T UPDATE TO alpine3.13, 1.14, see #41.
-FROM node:14-bullseye AS release
-WORKDIR /app
+FROM node:14-bullseye-slim AS release
-RUN apt update
-RUN apt --yes install python3 python3-pip python3-dev git g++ make
-RUN ln -s /usr/bin/python3 /usr/bin/python
+WORKDIR /app
+COPY . .
-# split the sqlite install here, so that it can caches the arm prebuilt
+# install dependencies and apprise
+RUN apt update && \
+ apt --yes --no-install-recommends install python3 python3-pip iputils-ping git && \
+ ln -s /usr/bin/python3 /usr/bin/python && \
+ pip3 --no-cache-dir install apprise && \
+ rm -rf /root/.cache && \
+ apt clean
+
+# sqlite install here, so that it can caches the arm prebuilt
RUN npm install mapbox/node-sqlite3#593c9d
-# Install apprise
-RUN apt --yes install python3 python3-pip python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib
-RUN pip3 --no-cache-dir install apprise && \
- rm -rf /root/.cache
-
-RUN apt --yes install iputils-ping
-
-COPY . .
+# Install app
RUN npm install --legacy-peer-deps && npm run build && npm prune
EXPOSE 3001
@@ -24,5 +22,6 @@ VOLUME ["/app/data"]
HEALTHCHECK --interval=60s --timeout=30s --start-period=300s CMD node extra/healthcheck.js
CMD ["node", "server/server.js"]
+# Release
FROM release AS nightly
RUN npm run mark-as-nightly
From 66b5f157eb6562727714765bfdcda5c50eafb8ac Mon Sep 17 00:00:00 2001
From: Juan Calderon-Perez <835733+gaby@users.noreply.github.com>
Date: Tue, 7 Sep 2021 00:13:07 -0400
Subject: [PATCH 152/162] Update Dockerfile order to improve layer caching.
---
dockerfile-debian | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/dockerfile-debian b/dockerfile-debian
index ea195d1..1e340d7 100644
--- a/dockerfile-debian
+++ b/dockerfile-debian
@@ -1,9 +1,5 @@
FROM node:14-bullseye-slim AS release
-WORKDIR /app
-COPY . .
-
-# install dependencies and apprise
RUN apt update && \
apt --yes --no-install-recommends install python3 python3-pip iputils-ping git && \
ln -s /usr/bin/python3 /usr/bin/python && \
@@ -11,10 +7,12 @@ RUN apt update && \
rm -rf /root/.cache && \
apt clean
-# sqlite install here, so that it can caches the arm prebuilt
+# split the sqlite install here, so that it can caches the arm prebuilt
RUN npm install mapbox/node-sqlite3#593c9d
-# Install app
+# Install uptime-kuma
+WORKDIR /app
+COPY . .
RUN npm install --legacy-peer-deps && npm run build && npm prune
EXPOSE 3001
@@ -22,6 +20,5 @@ VOLUME ["/app/data"]
HEALTHCHECK --interval=60s --timeout=30s --start-period=300s CMD node extra/healthcheck.js
CMD ["node", "server/server.js"]
-# Release
FROM release AS nightly
RUN npm run mark-as-nightly
From ce30ee74e9d97a9a8fa5cc85c36a5ab62d8ff0af Mon Sep 17 00:00:00 2001
From: Juan Calderon-Perez <835733+gaby@users.noreply.github.com>
Date: Tue, 7 Sep 2021 01:26:42 -0400
Subject: [PATCH 153/162] Revert changes breaking ARM releases
---
dockerfile-debian | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/dockerfile-debian b/dockerfile-debian
index 1e340d7..ba6cdde 100644
--- a/dockerfile-debian
+++ b/dockerfile-debian
@@ -1,17 +1,18 @@
FROM node:14-bullseye-slim AS release
+WORKDIR /app
+
+# install dependencies
+RUN apt update && apt --yes install python3 python3-pip python3-dev git g++ make iputils-ping
+RUN ln -s /usr/bin/python3 /usr/bin/python
-RUN apt update && \
- apt --yes --no-install-recommends install python3 python3-pip iputils-ping git && \
- ln -s /usr/bin/python3 /usr/bin/python && \
- pip3 --no-cache-dir install apprise && \
- rm -rf /root/.cache && \
- apt clean
-
# split the sqlite install here, so that it can caches the arm prebuilt
RUN npm install mapbox/node-sqlite3#593c9d
-# Install uptime-kuma
-WORKDIR /app
+# Install apprise
+RUN apt --yes install python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib
+RUN pip3 --no-cache-dir install apprise && \
+ rm -rf /root/.cache
+
COPY . .
RUN npm install --legacy-peer-deps && npm run build && npm prune
From f5c6d422d5291cc9f0fdad4355d1a54a66ea4876 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Tue, 7 Sep 2021 15:31:32 +0800
Subject: [PATCH 154/162] switch debian to be the main docker base
---
dockerfile | 17 ++++++++---------
dockerfile-alpine | 26 ++++++++++++++++++++++++++
dockerfile-debian | 25 -------------------------
package.json | 4 ++--
4 files changed, 36 insertions(+), 36 deletions(-)
create mode 100644 dockerfile-alpine
delete mode 100644 dockerfile-debian
diff --git a/dockerfile b/dockerfile
index 8674b99..ba6cdde 100644
--- a/dockerfile
+++ b/dockerfile
@@ -1,18 +1,17 @@
-# DON'T UPDATE TO alpine3.13, 1.14, see #41.
-FROM node:14-alpine3.12 AS release
+FROM node:14-bullseye-slim AS release
WORKDIR /app
+# install dependencies
+RUN apt update && apt --yes install python3 python3-pip python3-dev git g++ make iputils-ping
+RUN ln -s /usr/bin/python3 /usr/bin/python
+
# split the sqlite install here, so that it can caches the arm prebuilt
-RUN apk add --no-cache --virtual .build-deps make g++ python3 python3-dev git && \
- ln -s /usr/bin/python3 /usr/bin/python && \
- npm install mapbox/node-sqlite3#593c9d && \
- apk del .build-deps && \
- rm -f /usr/bin/python
+RUN npm install mapbox/node-sqlite3#593c9d
# Install apprise
-RUN apk add --no-cache python3 py3-cryptography py3-pip py3-six py3-yaml py3-click py3-markdown py3-requests py3-requests-oauthlib
+RUN apt --yes install python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib
RUN pip3 --no-cache-dir install apprise && \
- rm -rf /root/.cache
+ rm -rf /root/.cache
COPY . .
RUN npm install --legacy-peer-deps && npm run build && npm prune
diff --git a/dockerfile-alpine b/dockerfile-alpine
new file mode 100644
index 0000000..8674b99
--- /dev/null
+++ b/dockerfile-alpine
@@ -0,0 +1,26 @@
+# DON'T UPDATE TO alpine3.13, 1.14, see #41.
+FROM node:14-alpine3.12 AS release
+WORKDIR /app
+
+# split the sqlite install here, so that it can caches the arm prebuilt
+RUN apk add --no-cache --virtual .build-deps make g++ python3 python3-dev git && \
+ ln -s /usr/bin/python3 /usr/bin/python && \
+ npm install mapbox/node-sqlite3#593c9d && \
+ apk del .build-deps && \
+ rm -f /usr/bin/python
+
+# Install apprise
+RUN apk add --no-cache python3 py3-cryptography py3-pip py3-six py3-yaml py3-click py3-markdown py3-requests py3-requests-oauthlib
+RUN pip3 --no-cache-dir install apprise && \
+ rm -rf /root/.cache
+
+COPY . .
+RUN npm install --legacy-peer-deps && npm run build && npm prune
+
+EXPOSE 3001
+VOLUME ["/app/data"]
+HEALTHCHECK --interval=60s --timeout=30s --start-period=300s CMD node extra/healthcheck.js
+CMD ["node", "server/server.js"]
+
+FROM release AS nightly
+RUN npm run mark-as-nightly
diff --git a/dockerfile-debian b/dockerfile-debian
deleted file mode 100644
index ba6cdde..0000000
--- a/dockerfile-debian
+++ /dev/null
@@ -1,25 +0,0 @@
-FROM node:14-bullseye-slim AS release
-WORKDIR /app
-
-# install dependencies
-RUN apt update && apt --yes install python3 python3-pip python3-dev git g++ make iputils-ping
-RUN ln -s /usr/bin/python3 /usr/bin/python
-
-# split the sqlite install here, so that it can caches the arm prebuilt
-RUN npm install mapbox/node-sqlite3#593c9d
-
-# Install apprise
-RUN apt --yes install python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib
-RUN pip3 --no-cache-dir install apprise && \
- rm -rf /root/.cache
-
-COPY . .
-RUN npm install --legacy-peer-deps && npm run build && npm prune
-
-EXPOSE 3001
-VOLUME ["/app/data"]
-HEALTHCHECK --interval=60s --timeout=30s --start-period=300s CMD node extra/healthcheck.js
-CMD ["node", "server/server.js"]
-
-FROM release AS nightly
-RUN npm run mark-as-nightly
diff --git a/package.json b/package.json
index 8bb9629..c04be03 100644
--- a/package.json
+++ b/package.json
@@ -19,8 +19,8 @@
"build": "vite build",
"vite-preview-dist": "vite preview --host",
"build-docker": "npm run build-docker-alpine && npm run build-docker-debian",
- "build-docker-alpine": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.5.3 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:1.5.3-alpine --target release . --push",
- "build-docker-debian": "docker buildx build -f dockerfile-debian --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.5.3-debian --target release . --push",
+ "build-docker-alpine": "docker buildx build -f dockerfile-alpine --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:alpine -t louislam/uptime-kuma:1-alpine -t louislam/uptime-kuma:1.5.3-alpine --target release . --push",
+ "build-docker-debian": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma -t louislam/uptime-kuma:1 -t louislam/uptime-kuma:1.5.3 -t louislam/uptime-kuma:debian -t louislam/uptime-kuma:1-debian -t louislam/uptime-kuma:1.5.3-debian --target release . --push",
"build-docker-nightly": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/uptime-kuma:nightly --target nightly . --push",
"build-docker-nightly-amd64": "docker buildx build --platform linux/amd64 -t louislam/uptime-kuma:nightly-amd64 --target nightly . --push --progress plain",
"setup": "git checkout 1.5.3 && npm install --legacy-peer-deps && node node_modules/esbuild/install.js && npm run build && npm prune",
From fb0fa2a84387dac58b2273a739ee7965ce932dff Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Tue, 7 Sep 2021 15:36:29 +0800
Subject: [PATCH 155/162] add sqlite cli to docker
---
dockerfile | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/dockerfile b/dockerfile
index ba6cdde..678f03d 100644
--- a/dockerfile
+++ b/dockerfile
@@ -13,6 +13,12 @@ RUN apt --yes install python3-cryptography python3-six python3-yaml python3-clic
RUN pip3 --no-cache-dir install apprise && \
rm -rf /root/.cache
+# additional package should be added here, since we don't want to re-compile the arm prebuilt again
+
+# add sqlite3 cli for debugging in the future
+RUN apt --yes install sqlite3
+
+
COPY . .
RUN npm install --legacy-peer-deps && npm run build && npm prune
From ec8c1cad31483ba26c51d90e99e9981c1bbef7f9 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Tue, 7 Sep 2021 16:06:28 +0800
Subject: [PATCH 156/162] update healthcheck.js for changing ssl cert /
hostname / port
---
dockerfile | 2 +-
dockerfile-alpine | 2 +-
extra/healthcheck.js | 28 ++++++++++++++++++++--------
3 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/dockerfile b/dockerfile
index 678f03d..3dabf51 100644
--- a/dockerfile
+++ b/dockerfile
@@ -24,7 +24,7 @@ RUN npm install --legacy-peer-deps && npm run build && npm prune
EXPOSE 3001
VOLUME ["/app/data"]
-HEALTHCHECK --interval=60s --timeout=30s --start-period=300s CMD node extra/healthcheck.js
+HEALTHCHECK --interval=600s --timeout=130s --start-period=300s CMD node extra/healthcheck.js
CMD ["node", "server/server.js"]
FROM release AS nightly
diff --git a/dockerfile-alpine b/dockerfile-alpine
index 8674b99..1dd6b6b 100644
--- a/dockerfile-alpine
+++ b/dockerfile-alpine
@@ -19,7 +19,7 @@ RUN npm install --legacy-peer-deps && npm run build && npm prune
EXPOSE 3001
VOLUME ["/app/data"]
-HEALTHCHECK --interval=60s --timeout=30s --start-period=300s CMD node extra/healthcheck.js
+HEALTHCHECK --interval=600s --timeout=130s --start-period=300s CMD node extra/healthcheck.js
CMD ["node", "server/server.js"]
FROM release AS nightly
diff --git a/extra/healthcheck.js b/extra/healthcheck.js
index c0b33b6..6dfdb23 100644
--- a/extra/healthcheck.js
+++ b/extra/healthcheck.js
@@ -1,19 +1,31 @@
-let http = require("http");
+process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
+
+let client;
+
+if (process.env.SSL_KEY && process.env.SSL_CERT) {
+ client = require("https");
+} else {
+ client = require("http");
+}
+
let options = {
- host: "localhost",
- port: "3001",
- timeout: 2000,
+ host: process.env.HOST || "127.0.0.1",
+ port: parseInt(process.env.PORT) || 3001,
+ timeout: 120 * 100,
};
-let request = http.request(options, (res) => {
- console.log(`STATUS: ${res.statusCode}`);
- if (res.statusCode == 200) {
+
+let request = client.request(options, (res) => {
+ console.log(`Health Check OK [Res Code: ${res.statusCode}]`);
+ if (res.statusCode === 200) {
process.exit(0);
} else {
process.exit(1);
}
});
+
request.on("error", function (err) {
- console.log("ERROR");
+ console.error("Health Check ERROR");
process.exit(1);
});
+
request.end();
From 8a4a87716f9ff422f00feafb98f1b35f7e290f08 Mon Sep 17 00:00:00 2001
From: LouisLam
Date: Tue, 7 Sep 2021 16:46:42 +0800
Subject: [PATCH 157/162] disable chrome save password dialog
---
src/components/HiddenInput.vue | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/components/HiddenInput.vue b/src/components/HiddenInput.vue
index 5b2b77a..0dfb4b5 100644
--- a/src/components/HiddenInput.vue
+++ b/src/components/HiddenInput.vue
@@ -1,6 +1,22 @@